-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcomponent---src-pages-404-tsx-e972c1ace1792685fa44.js.map
1 lines (1 loc) · 43.9 KB
/
component---src-pages-404-tsx-e972c1ace1792685fa44.js.map
1
{"version":3,"sources":["webpack:///./src/components/header/SiteNavLogo.tsx","webpack:///./src/pages/404.tsx","webpack:///./src/styles/colors.ts","webpack:///./.cache/gatsby-browser-entry.js","webpack:///./src/website-config.ts","webpack:///./src/styles/shared.ts","webpack:///./src/components/PostCard.tsx","webpack:///./src/components/Wrapper.tsx","webpack:///./src/layouts/index.tsx","webpack:///./.cache/public-page-renderer.js","webpack:///./.cache/public-page-renderer-prod.js","webpack:///./src/sphtech.png"],"names":["SiteNavLogoStyles","name","styles","SiteNavLogo","Object","core_browser_esm","gatsby_browser_entry","query","render","data","className","css","to","logo","src","childImageSharp","fixed","alt","config","title","_296977140","SiteNavCenter","styled_base_browser_esm","target","ErrorTemplate","ErrorCode","ErrorDescription","colors","midgrey","ErrorLink","pageQuery","NotFoundPage","props","edges","allMarkdownRemark","layouts","Wrapper","css_browser_esm","SiteHeader","outer","header_SiteNavLogo","id","inner","style","textAlign","PostFeed","map","_ref","node","PostCard","key","fields","slug","post","__webpack_require__","d","__webpack_exports__","blue","green","purple","yellow","red","darkgrey","lightgrey","whitegrey","pink","brown","StaticQueryContext","React","createContext","StaticQueryDataRenderer","staticQueryData","finalData","_emotion_core__WEBPACK_IMPORTED_MODULE_0__","react__WEBPACK_IMPORTED_MODULE_1___default","a","Fragment","StaticQuery","children","Consumer","propTypes","PropTypes","object","string","isRequired","func","description","coverImage","lang","siteUrl","facebook","twitter","showSubscribe","mailchimpAction","mailchimpName","mailchimpEmailFieldName","googleSiteVerification","footer","SiteMain","SiteTitle","_emotion_styled_base__WEBPACK_IMPORTED_MODULE_0__","SiteDescription","PostFeedRaise","SocialLink","darken","SiteHeaderContent","AuthorProfileImage","lighten","PostCardStyles","PostCardImageLink","PostCardImage","_emotion_styled_base__WEBPACK_IMPORTED_MODULE_1__","PostCardContent","PostCardContentLink","PostCardTags","PostCardTitle","PostCardExcerpt","PostCardMeta","AuthorList","AuthorListItem","AuthorNameTooltip","StaticAvatar","ReadingTime","_emotion_core__WEBPACK_IMPORTED_MODULE_2__","frontmatter","image","gatsby__WEBPACK_IMPORTED_MODULE_3__","fluid","gatsby_image__WEBPACK_IMPORTED_MODULE_4___default","height","tags","excerpt","author","_","avatar","timeToRead","StyledWrapper","_emotion_core__WEBPACK_IMPORTED_MODULE_1__","GlobalStyles","IndexLayout","react_helmet__WEBPACK_IMPORTED_MODULE_3___default","rel","href","favicon","type","m","module","exports","require","default","ProdPageRenderer","location","pageResources","createElement","InternalPageRenderer","assign","json","shape","pathname"],"mappings":"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","file":"component---src-pages-404-tsx-e972c1ace1792685fa44.js","sourcesContent":["import { graphql, Link, StaticQuery } from 'gatsby';\nimport * as React from 'react';\nimport { css } from '@emotion/core';\n\nimport config from '../../website-config';\n\nconst SiteNavLogoStyles = css`\n flex-shrink: 0;\n display: block;\n margin-right: 24px;\n padding: 11px 0;\n color: #fff;\n font-size: 1.7rem;\n line-height: 1em;\n font-weight: bold;\n letter-spacing: -0.5px;\n\n :hover {\n text-decoration: none;\n }\n\n img {\n display: block;\n width: auto;\n height: 21px;\n }\n`;\n\ninterface SiteNavLogoProps {\n logo?: {\n childImageSharp: {\n fixed: any;\n };\n };\n}\n\nconst SiteNavLogo = () => (\n <StaticQuery\n query={graphql`\n query HeadingQuery {\n logo: file(relativePath: { eq: \"img/ghost-logo.png\" }) {\n childImageSharp {\n fixed {\n ...GatsbyImageSharpFixed\n }\n }\n }\n }\n `}\n // tslint:disable-next-line:react-this-binding-issue\n render={(data: SiteNavLogoProps) => (\n <Link className=\"site-nav-logo\" css={SiteNavLogoStyles} to=\"/\">\n {data.logo ? (\n <img src={data.logo.childImageSharp.fixed.src} alt={config.title} />\n ) : (\n config.title\n )}\n </Link>\n )}\n />\n);\n\nexport default SiteNavLogo;\n","import { graphql, Link } from 'gatsby';\nimport * as React from 'react';\nimport styled from '@emotion/styled';\nimport { css } from '@emotion/core';\n\nimport SiteNavLogo from '../components/header/SiteNavLogo';\nimport PostCard from '../components/PostCard';\nimport Wrapper from '../components/Wrapper';\nimport IndexLayout from '../layouts';\nimport { colors } from '../styles/colors';\nimport { inner, outer, PostFeed, SiteHeader } from '../styles/shared';\nimport { PageContext } from '../templates/post';\n\nconst SiteNavCenter = styled.nav`\n display: flex;\n justify-content: center;\n align-items: center;\n text-align: center;\n\n .site-nav-logo {\n margin-right: 0;\n }\n`;\n\nconst ErrorTemplate = css`\n padding: 7vw 4vw;\n`;\n\nconst ErrorCode = styled.h1`\n margin: 0;\n font-size: 12vw;\n line-height: 1em;\n letter-spacing: -5px;\n opacity: 0.3;\n`;\n\nconst ErrorDescription = styled.p`\n margin: 0;\n color: ${colors.midgrey};\n font-size: 3rem;\n line-height: 1.3em;\n font-weight: 400;\n`;\n\nconst ErrorLink = css`\n display: inline-block;\n margin-top: 5px;\n`;\n\ninterface NotFoundTemplateProps {\n data: {\n allMarkdownRemark: {\n totalCount: number;\n edges: Array<{\n node: PageContext;\n }>;\n };\n };\n}\n\nconst NotFoundPage: React.FC<NotFoundTemplateProps> = props => {\n const { edges } = props.data.allMarkdownRemark;\n\n return (\n <IndexLayout>\n <Wrapper>\n <header css={[SiteHeader, outer]}>\n <div className=\"inner\">\n <SiteNavCenter>\n <SiteNavLogo />\n </SiteNavCenter>\n </div>\n </header>\n <main id=\"site-main\" css={[ErrorTemplate, outer]}>\n <div css={inner}>\n <section style={{ textAlign: 'center' }}>\n <ErrorCode>404</ErrorCode>\n <ErrorDescription>Page not found</ErrorDescription>\n <Link css={ErrorLink} to=\"\">\n Go to the front page →\n </Link>\n </section>\n </div>\n </main>\n <aside css={outer}>\n <div css={inner}>\n <div css={PostFeed}>\n {edges.map(({ node }) => (\n <PostCard key={node.fields.slug} post={node} />\n ))}\n </div>\n </div>\n </aside>\n </Wrapper>\n </IndexLayout>\n );\n};\n\nexport default NotFoundPage;\n\nexport const pageQuery = graphql`\n query {\n allMarkdownRemark(limit: 3, sort: { fields: [frontmatter___date], order: DESC }) {\n edges {\n node {\n timeToRead\n frontmatter {\n title\n date\n tags\n image {\n childImageSharp {\n fluid(maxWidth: 3720) {\n ...GatsbyImageSharpFluid\n }\n }\n }\n author {\n id\n bio\n avatar {\n children {\n ... on ImageSharp {\n fixed(quality: 90) {\n src\n }\n }\n }\n }\n }\n }\n excerpt\n fields {\n layout\n slug\n }\n }\n }\n }\n }\n`;\n","export const colors = {\n blue: '#3eb0ef',\n green: '#a4d037',\n purple: '#ad26b4',\n yellow: '#fecd35',\n red: '#f05230',\n darkgrey: '#15171A',\n midgrey: '#738a94',\n lightgrey: '#c5d2d9',\n whitegrey: '#e5eff5',\n pink: '#fa3a57',\n brown: '#a3821a',\n};\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport Link, {\n withPrefix,\n withAssetPrefix,\n navigate,\n push,\n replace,\n navigateTo,\n parsePath,\n} from \"gatsby-link\"\nimport PageRenderer from \"./public-page-renderer\"\n\nconst StaticQueryContext = React.createContext({})\n\nfunction StaticQueryDataRenderer({ staticQueryData, data, query, render }) {\n const finalData = data\n ? data.data\n : staticQueryData[query] && staticQueryData[query].data\n\n return (\n <React.Fragment>\n {finalData && render(finalData)}\n {!finalData && <div>Loading (StaticQuery)</div>}\n </React.Fragment>\n )\n}\n\nconst StaticQuery = props => {\n const { data, query, render, children } = props\n\n return (\n <StaticQueryContext.Consumer>\n {staticQueryData => (\n <StaticQueryDataRenderer\n data={data}\n query={query}\n render={render || children}\n staticQueryData={staticQueryData}\n />\n )}\n </StaticQueryContext.Consumer>\n )\n}\n\nconst useStaticQuery = query => {\n if (\n typeof React.useContext !== `function` &&\n process.env.NODE_ENV === `development`\n ) {\n throw new Error(\n `You're likely using a version of React that doesn't support Hooks\\n` +\n `Please update React and ReactDOM to 16.8.0 or later to use the useStaticQuery hook.`\n )\n }\n const context = React.useContext(StaticQueryContext)\n if (context[query] && context[query].data) {\n return context[query].data\n } else {\n throw new Error(\n `The result of this StaticQuery could not be fetched.\\n\\n` +\n `This is likely a bug in Gatsby and if refreshing the page does not fix it, ` +\n `please open an issue in https://github.com/gatsbyjs/gatsby/issues`\n )\n }\n}\n\nStaticQuery.propTypes = {\n data: PropTypes.object,\n query: PropTypes.string.isRequired,\n render: PropTypes.func,\n children: PropTypes.func,\n}\n\nfunction graphql() {\n throw new Error(\n `It appears like Gatsby is misconfigured. Gatsby related \\`graphql\\` calls ` +\n `are supposed to only be evaluated at compile time, and then compiled away. ` +\n `Unfortunately, something went wrong and the query was left in the compiled code.\\n\\n` +\n `Unless your site has a complex or custom babel/Gatsby configuration this is likely a bug in Gatsby.`\n )\n}\n\nexport {\n Link,\n withAssetPrefix,\n withPrefix,\n graphql,\n parsePath,\n navigate,\n push, // TODO replace for v3\n replace, // TODO remove replace for v3\n navigateTo, // TODO: remove navigateTo for v3\n StaticQueryContext,\n StaticQuery,\n PageRenderer,\n useStaticQuery,\n}\n","export interface WebsiteConfig {\n title: string;\n description: string;\n coverImage: string;\n logo: string;\n /**\n * Specifying a valid BCP 47 language helps screen readers announce text properly.\n * See: https://dequeuniversity.com/rules/axe/2.2/valid-lang\n */\n lang: string;\n /**\n * blog full path, no ending slash!\n */\n siteUrl: string;\n /**\n * full url, no username\n */\n facebook?: string;\n /**\n * full url, no username\n */\n twitter?: string;\n /**\n * hide or show all email subscribe boxes\n */\n showSubscribe: boolean;\n /**\n * create a list on mailchimp and then create an embeddable signup form. this is the form action\n */\n mailchimpAction?: string;\n /**\n * this is the hidden input field name\n */\n mailchimpName?: string;\n /**\n * name and id of the mailchimp email field\n */\n mailchimpEmailFieldName?: string;\n /**\n /**\n * Meta tag for Google Webmaster Tools\n */\n googleSiteVerification?: string;\n /**\n /**\n * Appears alongside the footer, after the credits\n */\n footer?: string;\n}\n\nconst config: WebsiteConfig = {\n title: 'SPHTech Blog',\n description: 'Our collection of adventures, learnings and thoughts!',\n coverImage: 'img/blog-cover.jpg',\n logo: '',\n lang: 'en',\n siteUrl: 'https://sphtech.github.io',\n facebook: '',\n twitter: '',\n showSubscribe: false,\n mailchimpAction: 'https://twitter.us19.list-manage.com/subscribe/post?u=a89b6987ac248c81b0b7f3a0f&id=7d777b7d75',\n mailchimpName: 'b_a89b6987ac248c81b0b7f3a0f_7d777b7d75',\n mailchimpEmailFieldName: 'MERGE0',\n googleSiteVerification: 'GoogleCode',\n footer: 'is based on Gatsby Casper',\n};\n\nexport default config;\n","import { css } from '@emotion/core';\nimport styled from '@emotion/styled';\nimport { colors } from './colors';\nimport { darken, lighten } from 'polished';\n\nexport const outer = css`\n position: relative;\n padding: 0 4vw;\n`;\n\n// Centered content container blocks\nexport const inner = css`\n margin: 0 auto;\n max-width: 1040px;\n width: 100%;\n`;\n\nexport const SiteMain = css`\n z-index: 100;\n flex-grow: 1;\n`;\n\nexport const SiteTitle = styled.h1`\n z-index: 10;\n margin: 0;\n padding: 0;\n font-size: 3.8rem;\n font-weight: 700;\n`;\n\nexport const SiteDescription = styled.h2`\n z-index: 10;\n margin: 0;\n padding: 5px 0;\n font-size: 2.2rem;\n font-weight: 300;\n letter-spacing: 0.5px;\n opacity: 0.8;\n`;\n\nexport const PostFeed = css`\n position: relative;\n display: flex;\n flex-wrap: wrap;\n margin: 0 -20px;\n padding: 40px 0 0 0;\n`;\n\nexport const PostFeedRaise = css`\n @media (min-width: 900px) {\n margin-top: -70px;\n padding-top: 0;\n }\n`;\n\nexport const SocialLink = css`\n display: flex;\n justify-content: center;\n align-items: center;\n margin: 0;\n padding: 10px;\n color: #fff;\n opacity: 0.8;\n\n :hover {\n opacity: 1;\n }\n\n svg {\n height: 1.8rem;\n fill: #fff;\n }\n`;\n\nexport const SiteHeader = css`\n position: relative;\n padding-top: 12px;\n padding-bottom: 12px;\n color: #fff;\n /* background: color(var(--darkgrey) l(-5%)) no-repeat center center; */\n background: ${darken('0.05', colors.darkgrey)} no-repeat center center;\n background-size: cover;\n\n :before {\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n bottom: 0;\n z-index: 10;\n display: block;\n background: rgba(0,0,0,0.5);\n }\n`;\n\nexport const SiteHeaderContent = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n padding: 10vw 4vw;\n min-height: 200px;\n max-height: 450px;\n text-align: center;\n`;\n\nexport const SiteHeaderStyles = css`\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n bottom: auto;\n left: 0;\n z-index: 10;\n display: block;\n height: 80px;\n background: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0));\n\n :before {\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 10;\n display: block;\n background: rgba(0, 0, 0, 0.18);\n }\n\n :after {\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n bottom: auto;\n left: 0;\n z-index: 10;\n display: block;\n height: 80px;\n background: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0));\n }\n @media (max-width: 700px) {\n padding-right: 0;\n padding-left: 0;\n }\n`;\n\nexport const AuthorProfileImage = css`\n display: block;\n /* background: color(var(--lightgrey) l(+10%)); */\n background: ${lighten('0.1', colors.lightgrey)};\n border-radius: 100%;\n object-fit: cover;\n margin-right: 15px;\n width: 60px;\n height: 60px;\n`;\n","import { Link } from 'gatsby';\nimport Img from 'gatsby-image';\nimport * as _ from 'lodash';\nimport { lighten } from 'polished';\nimport * as React from 'react';\nimport styled from '@emotion/styled';\nimport { css } from '@emotion/core';\n\nimport { colors } from '../styles/colors';\nimport { PageContext } from '../templates/post';\n\nconst PostCardStyles = css`\n flex: 1 1 300px;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n margin: 0 20px 40px;\n min-height: 300px;\n background: #fff center center;\n background-size: cover;\n border-radius: 5px;\n box-shadow: rgba(39, 44, 49, 0.06) 8px 14px 38px, rgba(39, 44, 49, 0.03) 1px 3px 8px;\n transition: all 0.5s ease;\n\n :hover {\n box-shadow: rgba(39, 44, 49, 0.07) 8px 28px 50px, rgba(39, 44, 49, 0.04) 1px 6px 12px;\n transition: all 0.4s ease;\n transform: translate3D(0, -1px, 0) scale(1.02);\n }\n`;\n\nconst PostCardImageLink = css`\n position: relative;\n display: block;\n overflow: hidden;\n border-radius: 5px 5px 0 0;\n`;\n\nconst PostCardImage = styled.div`\n width: auto;\n height: 200px;\n background: ${colors.lightgrey} no-repeat center center;\n background-size: cover;\n`;\n\nconst PostCardContent = styled.div`\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n`;\n\nconst PostCardContentLink = css`\n position: relative;\n flex-grow: 1;\n display: block;\n padding: 25px 25px 0;\n color: ${colors.darkgrey};\n\n :hover {\n text-decoration: none;\n }\n`;\n\nconst PostCardTags = styled.span`\n display: block;\n margin-bottom: 4px;\n color: ${colors.midgrey};\n font-size: 1.2rem;\n line-height: 1.15em;\n font-weight: 500;\n letter-spacing: 0.5px;\n text-transform: uppercase;\n`;\n\nconst PostCardTitle = styled.h2`\n margin-top: 0;\n`;\n\nconst PostCardExcerpt = styled.section`\n font-family: Georgia, serif;\n`;\n\nconst PostCardMeta = styled.footer`\n display: flex;\n justify-content: space-between;\n align-items: flex-end;\n padding: 0 25px 25px;\n`;\n\nconst AuthorList = styled.ul`\n display: flex;\n flex-wrap: wrap-reverse;\n margin: 0;\n padding: 0;\n list-style: none;\n`;\n\nconst AuthorListItem = styled.li`\n position: relative;\n flex-shrink: 0;\n margin: 0;\n padding: 0;\n\n :nth-of-type(1) {\n z-index: 10;\n }\n :nth-of-type(2) {\n z-index: 9;\n }\n :nth-of-type(3) {\n z-index: 8;\n }\n :nth-of-type(4) {\n z-index: 7;\n }\n :nth-of-type(5) {\n z-index: 6;\n }\n :nth-of-type(6) {\n z-index: 5;\n }\n :nth-of-type(7) {\n z-index: 4;\n }\n :nth-of-type(8) {\n z-index: 3;\n }\n :nth-of-type(9) {\n z-index: 2;\n }\n :nth-of-type(10) {\n z-index: 1;\n }\n :hover .author-name-tooltip {\n opacity: 1;\n transform: translateY(0px);\n }\n`;\n\nconst AuthorNameTooltip = styled.div`\n position: absolute;\n bottom: 105%;\n z-index: 999;\n display: block;\n padding: 2px 8px;\n color: white;\n font-size: 1.2rem;\n letter-spacing: 0.2px;\n white-space: nowrap;\n background: ${colors.darkgrey};\n border-radius: 3px;\n box-shadow: rgba(39, 44, 49, 0.08) 0 12px 26px, rgba(39, 44, 49, 0.03) 1px 3px 8px;\n opacity: 0;\n transition: all 0.3s cubic-bezier(0.4, 0.01, 0.165, 0.99);\n transform: translateY(6px);\n pointer-events: none;\n\n @media (max-width: 650px) {\n display: none;\n }\n`;\n\nconst StaticAvatar = css`\n display: block;\n overflow: hidden;\n margin: 0 -5px;\n width: 34px;\n height: 34px;\n border: #fff 2px solid;\n border-radius: 100%;\n`;\n\nconst AuthorProfileImage = styled.img`\n display: block;\n width: 100%;\n height: 100%;\n /* background: color(var(--lightgrey) l(+10%)); */\n background: ${lighten('0.1', colors.lightgrey)};\n border-radius: 100%;\n object-fit: cover;\n`;\n\nconst ReadingTime = styled.span`\n flex-shrink: 0;\n margin-left: 20px;\n color: ${colors.midgrey};\n font-size: 1.2rem;\n line-height: 33px;\n font-weight: 500;\n letter-spacing: 0.5px;\n text-transform: uppercase;\n`;\n\nexport interface PostCardProps {\n post: PageContext;\n}\n\nconst PostCard: React.FC<PostCardProps> = ({ post }) => {\n return (\n <article\n className={`post-card ${post.frontmatter.image ? '' : 'no-image'}`}\n css={PostCardStyles}\n >\n {post.frontmatter.image && (\n <Link className=\"post-card-image-link\" css={PostCardImageLink} to={post.fields.slug}>\n <PostCardImage className=\"post-card-image\">\n {post.frontmatter.image &&\n post.frontmatter.image.childImageSharp &&\n post.frontmatter.image.childImageSharp.fluid && (\n <Img\n alt={`${post.frontmatter.title} cover image`}\n style={{ height: '100%' }}\n fluid={post.frontmatter.image.childImageSharp.fluid}\n />\n )}\n </PostCardImage>\n </Link>\n )}\n <PostCardContent className=\"post-card-content\">\n <Link className=\"post-card-content-link\" css={PostCardContentLink} to={post.fields.slug}>\n <header className=\"post-card-header\">\n {post.frontmatter.tags && <PostCardTags>{post.frontmatter.tags[0]}</PostCardTags>}\n <PostCardTitle>{post.frontmatter.title}</PostCardTitle>\n </header>\n <PostCardExcerpt>\n <p>{post.excerpt}</p>\n </PostCardExcerpt>\n </Link>\n <PostCardMeta className=\"post-card-meta\">\n <AuthorList>\n <AuthorListItem>\n <AuthorNameTooltip className=\"author-name-tooltip\">\n {post.frontmatter.author.id}\n </AuthorNameTooltip>\n <Link css={StaticAvatar} to={`/author/${_.kebabCase(post.frontmatter.author.id)}/`}>\n <AuthorProfileImage\n src={post.frontmatter.author.avatar.children[0].fixed.src}\n alt={post.frontmatter.author.id}\n />\n </Link>\n </AuthorListItem>\n </AuthorList>\n <ReadingTime>{post.timeToRead} min read</ReadingTime>\n </PostCardMeta>\n </PostCardContent>\n </article>\n );\n};\n\nexport default PostCard;\n","import * as React from 'react';\nimport styled from '@emotion/styled';\n\nconst StyledWrapper = styled.div`\n display: flex;\n flex-direction: column;\n min-height: 100vh;\n`;\n\ninterface WrapperProps {\n className?: string;\n}\n\nconst Wrapper: React.FC<WrapperProps> = ({ children, className }) => (\n <StyledWrapper className={className}>{children}</StyledWrapper>\n);\n\nexport default Wrapper;\n","import { Global, css } from '@emotion/core';\nimport { darken, lighten } from 'polished';\nimport * as React from 'react';\nimport Helmet from 'react-helmet';\n\nimport { colors } from '../styles/colors';\n// @ts-ignore\nimport favicon from '../../src/sphtech.png';\n\ninterface IndexProps {\n className?: string;\n}\n\nconst GlobalStyles = css`\n html,\n body,\n div,\n span,\n applet,\n object,\n iframe,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n p,\n blockquote,\n pre,\n a,\n abbr,\n acronym,\n address,\n big,\n cite,\n code,\n del,\n dfn,\n em,\n img,\n ins,\n kbd,\n q,\n s,\n samp,\n small,\n strike,\n strong,\n sub,\n sup,\n tt,\n var,\n dl,\n dt,\n dd,\n ol,\n ul,\n li,\n fieldset,\n form,\n label,\n legend,\n table,\n caption,\n tbody,\n tfoot,\n thead,\n tr,\n th,\n td,\n article,\n aside,\n canvas,\n details,\n embed,\n figure,\n figcaption,\n footer,\n header,\n hgroup,\n menu,\n nav,\n output,\n ruby,\n section,\n summary,\n time,\n mark,\n audio,\n video {\n margin: 0;\n padding: 0;\n border: 0;\n font: inherit;\n font-size: 100%;\n vertical-align: baseline;\n }\n body {\n line-height: 1;\n }\n ol,\n ul {\n list-style: none;\n }\n blockquote,\n q {\n quotes: none;\n }\n blockquote:before,\n blockquote:after,\n q:before,\n q:after {\n content: '';\n content: none;\n }\n table {\n border-spacing: 0;\n border-collapse: collapse;\n }\n img {\n max-width: 100%;\n }\n html {\n box-sizing: border-box;\n font-family: sans-serif;\n\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n }\n *,\n *:before,\n *:after {\n box-sizing: inherit;\n }\n a {\n background-color: transparent;\n }\n a:active,\n a:hover {\n outline: 0;\n }\n b,\n strong {\n font-weight: bold;\n }\n i,\n em,\n dfn {\n font-style: italic;\n }\n h1 {\n margin: 0.67em 0;\n font-size: 2em;\n }\n small {\n font-size: 80%;\n }\n sub,\n sup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n }\n sup {\n top: -0.5em;\n }\n sub {\n bottom: -0.25em;\n }\n img {\n border: 0;\n }\n svg:not(:root) {\n overflow: hidden;\n }\n mark {\n background-color: #fdffb6;\n }\n code,\n kbd,\n pre,\n samp {\n font-family: monospace, monospace;\n font-size: 1em;\n }\n button,\n input,\n optgroup,\n select,\n textarea {\n margin: 0;\n color: inherit;\n font: inherit;\n }\n button {\n overflow: visible;\n border: none;\n }\n button,\n select {\n text-transform: none;\n }\n button,\n html input[type='button'],\n input[type='reset'],\n input[type='submit'] {\n cursor: pointer;\n\n -webkit-appearance: button;\n }\n button[disabled],\n html input[disabled] {\n cursor: default;\n }\n button::-moz-focus-inner,\n input::-moz-focus-inner {\n padding: 0;\n border: 0;\n }\n input {\n line-height: normal;\n }\n input:focus {\n outline: none;\n }\n input[type='checkbox'],\n input[type='radio'] {\n box-sizing: border-box;\n padding: 0;\n }\n input[type='number']::-webkit-inner-spin-button,\n input[type='number']::-webkit-outer-spin-button {\n height: auto;\n }\n input[type='search'] {\n box-sizing: content-box;\n\n -webkit-appearance: textfield;\n }\n input[type='search']::-webkit-search-cancel-button,\n input[type='search']::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n legend {\n padding: 0;\n border: 0;\n }\n textarea {\n overflow: auto;\n }\n table {\n border-spacing: 0;\n border-collapse: collapse;\n }\n td,\n th {\n padding: 0;\n }\n\n html {\n overflow-x: hidden;\n overflow-y: scroll;\n font-size: 62.5%;\n\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n }\n body {\n overflow-x: hidden;\n color: ${darken('0.25', colors.midgrey)};\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell,\n 'Open Sans', 'Helvetica Neue', sans-serif;\n font-size: 1.5rem;\n line-height: 1.6em;\n font-weight: 400;\n font-style: normal;\n letter-spacing: 0;\n text-rendering: optimizeLegibility;\n background: #fff;\n\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n -moz-font-feature-settings: 'liga' on;\n }\n\n ::selection {\n text-shadow: none;\n background: ${lighten('0.3', colors.blue)};\n }\n\n hr {\n position: relative;\n display: block;\n width: 100%;\n margin: 2.5em 0 3.5em;\n padding: 0;\n height: 1px;\n border: 0;\n border-top: 1px solid ${lighten('0.1', colors.lightgrey)};\n }\n\n audio,\n canvas,\n iframe,\n img,\n svg,\n video {\n vertical-align: middle;\n }\n\n fieldset {\n margin: 0;\n padding: 0;\n border: 0;\n }\n\n textarea {\n resize: vertical;\n }\n\n p,\n ul,\n ol,\n dl,\n blockquote {\n margin: 0 0 1.5em 0;\n }\n\n ol,\n ul {\n padding-left: 1.3em;\n padding-right: 1.5em;\n }\n\n ol ol,\n ul ul,\n ul ol,\n ol ul {\n margin: 0.5em 0 1em;\n }\n\n ul {\n list-style: disc;\n }\n\n ol {\n list-style: decimal;\n }\n\n ul,\n ol {\n max-width: 100%;\n }\n\n li {\n margin: 0.5em 0;\n padding-left: 0.3em;\n line-height: 1.6em;\n }\n\n dt {\n float: left;\n margin: 0 20px 0 0;\n width: 120px;\n color: ${colors.darkgrey};\n font-weight: 500;\n text-align: right;\n }\n\n dd {\n margin: 0 0 5px 0;\n text-align: left;\n }\n\n blockquote {\n margin: 1.5em 0;\n padding: 0 1.6em 0 1.6em;\n border-left: ${colors.whitegrey} 0.5em solid;\n }\n\n blockquote p {\n margin: 0.8em 0;\n font-size: 1.2em;\n font-weight: 300;\n }\n\n blockquote small {\n display: inline-block;\n margin: 0.8em 0 0.8em 1.5em;\n font-size: 0.9em;\n opacity: 0.8;\n }\n\n blockquote small:before {\n content: '\\\\2014 \\\\00A0';\n }\n\n blockquote cite {\n font-weight: bold;\n }\n blockquote cite a {\n font-weight: normal;\n }\n\n a {\n color: ${darken('0.05', colors.blue)};\n text-decoration: none;\n }\n\n a:hover {\n text-decoration: underline;\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin-top: 0;\n line-height: 1.15;\n font-weight: 700;\n text-rendering: optimizeLegibility;\n }\n\n h1 {\n margin: 0 0 0.5em 0;\n font-size: 5rem;\n font-weight: 700;\n }\n @media (max-width: 500px) {\n h1 {\n font-size: 2.2rem;\n }\n }\n\n h2 {\n margin: 1.5em 0 0.5em 0;\n font-size: 2rem;\n }\n @media (max-width: 500px) {\n h2 {\n font-size: 1.8rem;\n }\n }\n\n h3 {\n margin: 1.5em 0 0.5em 0;\n font-size: 1.8rem;\n font-weight: 500;\n }\n @media (max-width: 500px) {\n h3 {\n font-size: 1.7rem;\n }\n }\n\n h4 {\n margin: 1.5em 0 0.5em 0;\n font-size: 1.6rem;\n font-weight: 500;\n }\n\n h5 {\n margin: 1.5em 0 0.5em 0;\n font-size: 1.4rem;\n font-weight: 500;\n }\n\n h6 {\n margin: 1.5em 0 0.5em 0;\n font-size: 1.4rem;\n font-weight: 500;\n }\n\n body {\n background: #f4f8fb;\n }\n`;\n\nconst IndexLayout: React.FC<IndexProps> = props => {\n return (\n <div className={props.className}>\n <Helmet>\n <link rel=\"icon\" href={favicon} type=\"image/x-icon\" />\n </Helmet>\n <Global styles={GlobalStyles} />\n {props.children}\n </div>\n );\n};\n\nexport default IndexLayout;\n","const preferDefault = m => (m && m.default) || m\n\nif (process.env.BUILD_STAGE === `develop`) {\n module.exports = preferDefault(require(`./public-page-renderer-dev`))\n} else if (process.env.BUILD_STAGE === `build-javascript`) {\n module.exports = preferDefault(require(`./public-page-renderer-prod`))\n} else {\n module.exports = () => null\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport InternalPageRenderer from \"./page-renderer\"\n\nconst ProdPageRenderer = ({ location, pageResources }) => {\n if (!pageResources) {\n return null\n }\n return React.createElement(InternalPageRenderer, {\n location,\n pageResources,\n ...pageResources.json,\n })\n}\n\nProdPageRenderer.propTypes = {\n location: PropTypes.shape({\n pathname: PropTypes.string.isRequired,\n }).isRequired,\n}\n\nexport default ProdPageRenderer\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAsTAAALEwEAmpwYAAACC2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDx0aWZmOkNvbXByZXNzaW9uPjE8L3RpZmY6Q29tcHJlc3Npb24+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlBob3RvbWV0cmljSW50ZXJwcmV0YXRpb24+MjwvdGlmZjpQaG90b21ldHJpY0ludGVycHJldGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KD0UqkwAAE7JJREFUeAHVmwmMXeV1x//3LfPmjT1exh7vxmCPbcCOWWzMWgJZiiK1iVAQbRNIAwLaUpoqIqpaEoTUJlVaaFSq0qQhEUlp0iUFEdqCDYTNBkxsMLYH7xs2GG+M19necm9/57v3ztyZefPmzbMrJce+23e/5Zz/Od855/vuGy+A9CtBsGGseKmh3DgW7Z3HOzvOHnm/EgA4wROC+UXJDi8tpRuQNvEu8HmsAFKdmGTqbHf2miUFOrVX6nhD6toMACcRtFHKTpWaFkjjPyaNnRMK7wAzFhLA1MnR2QfAmOO/482ZbBXOYuHLBen9p6TD90ql9wfKZX0ZZeZLE74izbwJQKZRYC/igaxCfXR2p8BgUx78nOQxFt5MfccjCP9VqaEN4VupZZrF1GMNByVk/QhwdlPnN6R5/yhNWkIZADgjqN8Szh4AkbBB2Zd//JRSzWPkNWBgFUFIaG7Pz6R9N0s5BFMv9bu5ZhEM8+8DAV9gIHj4g9KrXPPSog1YBFYRA0nteqh+AEwwZ4LRJZVS0FtQz8q3VFq3R6kFU5X/7BVKjRtDNdNUQksx08d3SJuY397iUKigiyv1/Q8RdP9AeWwKeM1Sajw4vYRP+Jp00Tdxkrmh/Q9sWfVp9O7UhIkFMm9sB8IblfYeVOHn78BUSqXnt6u4+b2hg7u21DcQ3vtPiRkQBM0Kyp0U5RUUfgmss6UZj0kLV0kLXpWmfpf3voLi2xjCSQXp5Qo6HlJwdFPUPzzVSdjoKCjWnDWx+55jUuGUAi8jb9x0paa0Os0H+47Km9HM84QKndvcTis4AvOHv4FzWwRyaF5NCLlOXtPt0uIHpHHn9LedyfSYcq2Cd3GShZW0uZY2YH94DeAsC5UQK6W/VU13tQMQC++XFRx6S8GHv5BOrUaDaNybpGDsDUqd97vKf+njKu05ovTUscrOnRExEZm/64P5XC4q2PvvTgicBWACQHCcg/rn/zlgIrwJ5Igr08ebfKHU9oCCjSso7QnfnHxXXhGfkcUn1Em1ARAJH3QeVbD1UengfeFwGUzZm8s9MfsjM8mHlD7v+8pc8QWmBXPZyEfjNv/7BOL2/dfQ/rfx6EsBw+L9WOb1RrT8l/ImtoXtzL+4hMfaRn204vmbvqyg80d0iXX1HmFK9MpzABhgEdBRD7VcRgYgFv70IQXr7lVw4idSI4yblzaPbWEM81X6Kp5PK9h2l4R1pBbfL28q5h35h5i54Nhe+Vv+gkcAKsN0UAjr0I2Xn8MpEiK+OinCMi/TIL+BOmYsGJKCHBjZjdHohbdWqLAKxcKTqPgbHyEUI3zuOkyXcFU4zLXTmbNKCFE8EgqUu5Kp8R/y31wif/MTaAuroX1Q6JJ/4G35a5nHPWsY9IKoPToACBsqwJ84SlhLWBCdrbwAyFa3CAq5eWgf8M+ARrYAOg8+WM/xV1L+MuYcAgWm9ay9cbjDFmRdWTmOES8tH4t5l6xtz6eIXjiqAu1O/CBUVAYLKpmwhj+tzQpQYHDoBYzqi1gC5l3Gy8XWY9MonaH9Abz/E5RfJnWvlVroxyzAgKnPABzXMFGBXKcwyDU48DoMUcdvQJsgHwlvrULh7c4o4iKweY0Qlsd3v6rg1AuhrBnmsAdwZjlEgrC1SY5FeUsR8Cn57Z9RetkdTmDr0RFhNejtVHnDo2h+L3UBJ7tU6VlXRBWMi+rGHFUccqliAdap50w3OL4l9GElNOxHWhvc1QAkDAi0apmdJTlZS1ZAkFgflpvQyQZo2Dx7erH87X9AUDiq1PzPYTmtDqPg+D6VNz/OQukfqLOAabVd6av/hWgBwK6fCHh6GS0NnwnG87/7JEnN3cxr5n8WUzbtxmgnZRh2ZCpZX846AM94rdjOCs0qyBEKm1w9L38ddUtMi9VuZey6sRqXrVT6gt/kDnKWWj8AVSwg6hTPa6Zs097DFJ3D8kyocPxh5Qlfh+cgNs+KkvfXdPk+dTKXYmldWMJq3hFtMssAgSSp9S6lL79XqWkLon6pOyBa9HdV610VAMIuvGwjpjhf/j6es2jIQleCBj7xYkhBovLg2yF1DU6zFpsqsOZdyEF6fPpNpdr+Vpmr/4joS84QT58zFN7YGR4Ap1o4ZBBvCvOYxZecD7AmCc4Tt9ahUbJogIVYd4PeuwaVTi4/GIdreJPx/7BfeDJRlyCdBeFt2Ng2K7DQz2pqFt675QtoYh3CtTAtSWVxxO6AH/NvycPy9PiwOvG9RRKr5yKKXZPvBt+XAbpE2o1vdA7RNG/CW9g7S8LDQTUAeGupKJ7HaxpHevs1F66D7l2AgE+A4aBEiHRXu08cJmjyebj7YevRLwAEJD1GXvM0d/3/OFWxgHg4swQ873mXKPPpF7ECEpwT7NuxhJVPFgYIKjFvETK8t2fuTcPx4epYeYXDfEpcz+5dP1FfZYsIDGWah9wGts1/Cwd9B89nQCMDYOYWOZ3M4uvVcPMG5uQdZGRMh+53GHo8vJAgAUJQJm8o2UGT5GHlwx0D6ls92rp+mGYBZg8A/i6yPsgjG3TmH+9DuKvxZ4DUB8TweYAbMnGyAaK5F/R2qbTpFZVef5D1wUskJOT1tl3lJzO8ZNvEfbXbATLYeNYn4dA/osyV31N6HnlImkwyw/6DXRublGJ6xny5lWecPlcbJ/GudgCskUPZGAsNxz92SMU3nlD5zT9mYTJJXmYmzNrmxsiGNSBUOIbCqeZu7eTAQLOWOvs9ZH+7XTKkLKCkZwBCKwvKuWy8XMaeyseVnn9JuDI0a4j46+urys3oAIg7skGMooGKG1ep+PSXnbaUmeIY5qWrUvE0QNMVa0QA2DsDHNNP4W/K3egAgH1zDCym2B6zbNuGSi/7lhpuuFOpiZY+1w5CfQDEPMdhiefC6qdUfPJGdmovgkHjCiZGEnSk9/E48fy2L0XOugxcrMwBQ6Zo0+TwBpKl31PjbX+vVIspgfFrmA412GrMRYWrxWRbtkLpNtLX/FzS1z2UYaZFGKjk9WsqS7blPo4SRcYqov0iABexhMIJVpvsIFPmTblG/pZ/U+//fh8DoIEJHwNXgfW46MwAsF765htaCSws4gidJ7dYPuhA+DB3iK6D38fPLoLEdek2buf65dldLWIQJv0s65ReEib2IVouVGn1/SrtYDEF1fLd1/Las0Llg/vkH2lnG+ACGGLlFJiZ2gHVYuoj1an6Hku0PYUsexDgX9q8VtmFF6ObyAqqZI5nBkA0z4JCr0qv/RxTNGHHAADaiCKBQTCE9yEFVKpEI9aLKjiwmSpmhPTj79sKHj3ycvgHVxIposIY9QOQyAsKb7+m0ssPypu+BFPEMzuGQuaGyDCkoAJXyaKR6rv3duKwZbpNj9N8PCmVACAsjg0x2W18f2YAYGLljqMq/Ne3cYB0WWbryszfeet4CK6OycRz8ta9G1xhkMYGv062j+8NdEzdfVrMTyR9IH+ogeoDIKH94rpV8t96Xt75lxMBDsOEdTkMxxWLKXThLFKXxXi31R4KNFxXQ2QzAFL0RXqQmjGfJNL6g6rMf3tdHwBRx0FPt0prVvIZiwL8gFmAM8OKglqjQWQJS9riOOWnN8I5Tiw/mzIWWhZNSnx3sG2yWIjh+jWFpNA4897MPbNoaThQDblAfQBEFlA+cojNSpxfntS0FwB8RoeG49PeWQ1r7mql0FLPEb4qcUxn06XQoWALIYzp5E2bT3rNpmeRJbF9/nIghP1ba0euH0MPGjNZwfrVytx6v7IXsH9hFAMXPlU81wdA1JXP/A8OHCQft9AHI9Ukj96FF84pVpC9J3AX45X7+o+VXXQRDhSL2r1DxdUrVH7+YfcFSHNb2A+YB7h4tzIgm9XEqbhTNxbEx5Hgl2ycXvPbyt9yNzOKvQS078JgRbH7C+sCwIRwmuxGM7ZnYVvlZXO/8Zv+AfruQsmjR1rbHN16QNlv/lSNn/xMX7XMufOUu+o6FT9/u4qvvajSM4/If26tvJlUIc33Grgxy0nBui2SPiTkvYbZ33e38vfcp/QUNk9qFN4GrQuAPkO0lZllwrH2nREMkDRh8jZcRPajho6NfDK4TLlrPuEKbZvNtrs8zNZrbFTDoiXuKP3WTSq2b1Dp7TXy3+Ejy8FX3QIo6AAMUv7U5bcre/+N/MDketZLY0LrqGENELNSFwCxntOT4aA1R+jBDDKkwdF0jDu360A4KDBTxmT9Vb5y/3wHGmOeQ14mEbbMeRkhSGbGLHcEn7iBJfEplQ/jdw4d5oNyk9Itk5SaPBXBGduoBqcXVuw/Y7ujJ9OSUXr6TKWuvlvBzv08sHtjixV2c/oWL2Ydg48AQbs75c1hFlx5revH5usAMg3aYVOKd24+M6/xiirv7eYjK+/8icqcc14ovE898wuj0Hw8Xl0AOO8Kc15Dg3Kf/R0Fu+jO9gUdCJiyCY2ihxwWKptaFazYosyXvq7M3DbHRwyoe0ieDGibEgjmd/eq6ycvqvfx1wm9O9Tz0LPqedm25CCnj/pEqa9VOKw755YuV+4H/yT/mfUwwtzOTUY7dFsEAba1+65W1jybr8xv8/sfdrNuusV5a2e2kUUluu2/DWMmC63j8vcfU2ohO0HTx8s7d4JK2w6Q8jKGaz9ksvX3UeWuLh/g+rNBoznX9MXbCGG9KtzzVWfaXhtxON9CtX6mggIRY9Ub7Cjz6oWVrNbOD9mqJnw4UHhubmILjNB5lOnTQtg70qnUsjmASKJ0BnRmO0I2cARCQBjsXfWKen78Pfk/+llFltJ33arGO+9Rbtny8L1pd0QAqBrVK2zcpd7/5vdJpwtKndui/OevUnoy2WOt/VTg6swBMP4AIU46/BPHVdyymU2JbZgta4N0mo+ZM5SZN99pPdVMmms0GqYTdcvH+FXa6W6lWycQLgnDiXdhx6M7nxUA3JDGiBEa7TN8A8Y0nNSyWczgsrBl9XMlQSuVVe9lyNuzB0DctYWjvm2yuJCrCW5UR6gKG3I2ZPuA5j4JbF+l0d3UBUCsYYs+ffzw4Mo5+ZGwKafpkKFhQ11Ffq0n6z1JlcqS7+u7H1UYtE3G/u9z4X1szWWSEWO540SXHnhsrX74dLsKhKhY8LBtrUwmhUdwh3JUFiNea1cj1KsZABPAhBl8xP2nUyGDJRKibz32nv6n/SNloxDV3yauXeM1Fjxp6sn7GrupVq2mPCAWvswPltdvO6T1O47yY5GUZk5u0u6Dp5TnZ/FLWLa27+lQhvJv3DZHHZ1F7T1wXO27PtLBji5d/bFpWtQ2hV/Pva/y/p18cid1NgFJi1Oz2cFpaVV5ZzuJE9ligQ3NSdP4Is03R8j/8D3S373csM83nfR32myVd7UrRZ3U5Olsj5fk73pX3njWBlNnhf3WCNSIABiPsRk/+dIO3fzDrbr10oma0JjWbb9gDXAQhnMpzZi0Xwc+6NGtSyfq0T+9Sj99bqvmPcA6NU+iso8k6NwPdOCBazW9kXy+kZ3jD/fAKFFi2nksjghnpMn+zvVKzWxja511bwPrfKi8d5vKm1bz1ecSV98As6W3v3sTqTh1AMBWkWV2gq2tA8C1rO1UAwCh6Xd1F/Xgi/v4+JDV3TfM08ULp+rPjnXp97+7Vls6S3r2ros1hxR1w/bDymER1186S8+3jtUlC6boO09s0l8/DQCHTmj6heQE49G2/dqUlWFmcZgU+adJEXN87Z0x12nY2Lclsr8DUNouVuYCvjxFZNvwHnXFzq/7CtTdRUbY4I64Tq3XEQGILSnfmNEdy6dp7eO7dOXfvaXblkzU8rnjtfZ0SVc0ZzRv1kSNaWrQtUvPUZkoYGCcO4MsDZo7hXX6Sf6SBGvqI/ukFodGCs2DmKWV331DJT62phcu4+f2fG2mXnoiy27IAHHLZjNLfitQxgr8g3udZQSn2CCoI8TWAACJDQMac3d+brE+uXSmNjGvH8YaHnv6PVY1ZHrNWdY9YZw/0tGpcWMbsQK2zClL4xMciI0mYoKs0L1IlDGOadsEd9PCvgNS5jZLqNa3Z2BdMQ1SsxcoPWchW2vdKrNZkgQ00WvV2xGjgIHtNIMwL6/bp46TPVrSNlnXnGO/3gj4qX5aK48V9PiKrXrq5R361+e2M2Cg9h2HdaoLAaBe2zH6AHO1ziKy9Dn+6YsV2auAvyNwWrTfJiKgl+fvjibgOHducJsh7oPHKaaK1eUH2t4YVoVj+MMM+xqM9gOc5GhpRADcaPSaIsyt3XZUy/9mneY9uEZP7zypr1w5WQvQ9MwGTy9sO6YbH27XoZO92rz7qJ55cz9hMOx+LNNHlzQpZ78zjMi0afM2JgPZy491wpZeeVLl7eFaP7P4CmfupTUr2Ad4VuX3dzlhvRxbx5Z1Qs5CzAfYr0ZGSaPKBAus8Tu7+cOo3pIacxksLtAtD6/ht5OBHv+TyxEww6YQmgMsywInjss7Kz+NJfQWShqLjzAHaWRma5r0GhHECIdo3/OcGZtgBpAJST/mB0z71sAbMw5B2fW1aED08CyCMH7Q0+WA6vsg4jod+TSiD0h20YAGGxJ/ntKJYCs+Mm+OK0Cw8c1h6Eq2sXsT3I4kOeGSBbYhiskPIYQzgb3xtr/QTy6PiB+d9VRoG7+vch0VADaHbRbbNW1zjn/3X8QPJ60wIosApn0rcmsBrq6dadsYjX1h3KivwFWMeoku9s6OuG78NlkWt4/rxM9x3RGuo5oCg/sywYq2FwjZfDcBf93ojAD4dRO2Er//B1XOw2dtb3VIAAAAAElFTkSuQmCC\""],"sourceRoot":""}