{"version":3,"sources":["webpack:///./node_modules/emergence.js/src/emergence.js","webpack:///./node_modules/gatsby/node_modules/core-js/modules/es6.string.fixed.js","webpack:///./node_modules/react-side-effect/lib/index.js","webpack:///./node_modules/gatsby-image/index.js","webpack:///./src/components/navibar/navibar.tsx","webpack:///./src/components/navibar/index.tsx","webpack:///./src/components/navibar/navibarWrapper.tsx","webpack:///./src/components/footer/footer.tsx","webpack:///./src/components/layout/layout.tsx","webpack:///./node_modules/gatsby/node_modules/core-js/modules/_collection-weak.js","webpack:///./node_modules/react-fast-compare/index.js","webpack:///./node_modules/gatsby/node_modules/core-js/modules/es6.weak-map.js","webpack:///./gatsby-config.js","webpack:///./node_modules/react-helmet/es/Helmet.js","webpack:///./node_modules/gatsby/node_modules/core-js/modules/_string-html.js","webpack:///./src/components/meta/meta.tsx","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/gatsby/node_modules/core-js/modules/es6.array.find-index.js"],"names":["root","poll","container","throttle","reset","handheld","elemCushion","offsetTop","offsetRight","offsetBottom","offsetLeft","emergence","callback","isHandheld","test","navigator","userAgent","getElemOffset","elem","w","offsetWidth","h","offsetHeight","topPos","leftPos","isNaN","offsetParent","width","height","top","left","isVisible","isHidden","eTop","eRight","eBottom","eLeft","cTop","cRight","cBottom","cLeft","elemOffset","containerSize","window","clientWidth","clientHeight","innerWidth","document","documentElement","innerHeight","getContainerSize","containerScroll","x","scrollLeft","y","scrollTop","pageXOffset","pageYOffset","getContainerScroll","elemWidth","elemHeight","elemTop","elemLeft","emergenceThrottle","clearTimeout","setTimeout","engage","init","options","option","fallback","optionInt","parseInt","parseFloat","className","addEventListener","attachEvent","readyState","console","log","nodes","querySelectorAll","length","i","setAttribute","disengage","removeEventListener","detachEvent","factory","createHTML","this","ex","React","React__default","_defineProperty","obj","key","value","Object","defineProperty","enumerable","configurable","writable","canUseDOM","createElement","module","exports","reducePropsToState","handleStateChangeOnClient","mapStateOnServer","Error","WrappedComponent","state","mountedInstances","emitChange","map","instance","props","SideEffect","_PureComponent","subClass","superClass","apply","arguments","prototype","create","constructor","__proto__","peek","rewind","recordedState","undefined","_proto","UNSAFE_componentWillMount","push","componentDidUpdate","componentWillUnmount","index","indexOf","splice","render","PureComponent","displayName","name","getDisplayName","_interopRequireDefault","require","__esModule","default","io","_assertThisInitialized2","_inheritsLoose2","_objectWithoutPropertiesLoose2","_extends2","_react","_propTypes","convertProps","convertedProps","resolutions","sizes","critical","fixed","fluid","loading","groupByMedia","concat","matchesMedia","_ref","media","isBrowser","matchMedia","matches","getImageSrcKey","_ref2","getCurrentSrcData","src","currentData","Array","isArray","some","image","hasArtDirectionSupport","foundMedia","findIndex","noMedia","imageCache","inImageCache","hasNativeLazyLoadSupport","HTMLImageElement","hasIOSupport","IntersectionObserver","listeners","WeakMap","generateImageSources","imageVariants","_ref3","srcSet","srcSetWebp","Fragment","type","withMedia","without","forEach","variant","generateTracedSVGSources","_ref4","tracedSVG","generateBase64Sources","_ref5","base64","generateNoscriptSource","_ref6","isWebp","listenToIntersections","el","cb","observer","entries","entry","has","target","get","isIntersecting","intersectionRatio","unobserve","delete","rootMargin","observe","set","noscriptImg","title","alt","crossOrigin","draggable","join","Placeholder","forwardRef","ref","generateSources","spreadProps","ariaHidden","baseImage","Img","style","onLoad","onError","otherProps","position","objectFit","objectPosition","propTypes","object","func","Image","_React$Component","_this","call","seenBefore","isCritical","addNoScript","fadeIn","useIOSupport","imgLoaded","imgCached","imageRef","createRef","placeholderRef","handleImageLoaded","bind","handleRef","componentDidMount","onStartLoad","wasCached","img","current","complete","cleanUpListeners","_this2","imageInCache","setState","currentSrc","_convertProps","_convertProps$style","_convertProps$imgStyl","imgStyle","_convertProps$placeho","placeholderStyle","placeholderClassName","backgroundColor","durationFadeIn","Tag","itemProp","shouldReveal","shouldFadeIn","imageStyle","opacity","transition","bgColor","delayHideStyle","transitionDelay","imagePlaceholderStyle","placeholderImageProps","overflow","maxWidth","maxHeight","JSON","stringify","paddingBottom","aspectRatio","bottom","right","dangerouslySetInnerHTML","__html","_imageVariants","_image","divStyle","display","Component","defaultProps","fixedObject","shape","number","isRequired","string","srcWebp","fluidObject","oneOfType","arrayOf","bool","oneOf","_default","Navibar","data","location","baby","childImageSharp","to","data-toggle","data-target","aria-controls","aria-expanded","aria-label","id","pathname","NavibarWrapper","query","Footer","author","executed","Layout","children","useEffect","siteMetadata","redefineAll","getWeak","anObject","isObject","anInstance","forOf","createArrayMethod","$has","validate","arrayFind","arrayFindIndex","uncaughtFrozenStore","that","_l","UncaughtFrozenStore","a","findUncaughtFrozen","store","it","getConstructor","wrapper","NAME","IS_MAP","ADDER","C","iterable","_t","_i","def","ufstore","hasElementType","Element","hasMap","Map","hasSet","Set","hasArrayBuffer","ArrayBuffer","isView","b","equal","keys","size","next","done","RegExp","source","flags","valueOf","toString","hasOwnProperty","$$typeof","error","message","match","warn","InternalMap","global","each","redefine","meta","assign","weak","NATIVE_WEAK_MAP","IS_IE11","ActiveXObject","isExtensible","methods","$WeakMap","NEED","proto","method","_f","result","description","siteUrl","twitter","adsense","pathPrefix","plugins","resolve","path","__dirname","linkImagesToOriginal","wrapperStyle","short_name","homepage_url","start_url","background_color","theme_color","icons","trackingId","mergeSecurityHeaders","mergeLinkHeaders","mergeCachingHeaders","fileName","clock","_class","_temp","ATTRIBUTE_NAMES","TAG_NAMES","BASE","BODY","HEAD","HTML","LINK","META","NOSCRIPT","SCRIPT","STYLE","TITLE","TAG_PROPERTIES","REACT_TAG_MAP","accesskey","charset","contenteditable","contextmenu","itemprop","tabindex","HELMET_PROPS","HTML_TAG_MAP","reduce","SELF_CLOSING_TAGS","_typeof","Symbol","iterator","classCallCheck","Constructor","TypeError","createClass","defineProperties","descriptor","protoProps","staticProps","_extends","objectWithoutProperties","possibleConstructorReturn","self","ReferenceError","encodeSpecialCharacters","str","encode","String","replace","getTitleFromPropsList","propsList","innermostTitle","getInnermostProperty","innermostTemplate","innermostDefaultTitle","getOnChangeClientState","getAttributesFromPropsList","tagType","filter","tagAttrs","getBaseTagFromPropsList","primaryAttributes","reverse","innermostBaseTag","tag","lowerCaseAttributeKey","toLowerCase","getTagsFromPropsList","tagName","approvedSeenTags","approvedTags","instanceTags","instanceSeenTags","primaryAttributeKey","attributeKey","tagUnion","property","rafPolyfill","Date","now","currentTime","cafPolyfill","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","msg","_helmetCallback","commitTagChanges","newState","baseTag","bodyAttributes","htmlAttributes","linkTags","metaTags","noscriptTags","onChangeClientState","scriptTags","styleTags","titleAttributes","updateAttributes","updateTitle","tagUpdates","updateTags","addedTags","removedTags","_tagUpdates$tagType","newTags","oldTags","flattenArray","possibleArray","attributes","elementTag","getElementsByTagName","helmetAttributeString","getAttribute","helmetAttributes","split","attributesToRemove","attributeKeys","attribute","indexToSave","removeAttribute","tags","headElement","head","querySelector","tagNodes","slice","indexToDelete","newElement","innerHTML","styleSheet","cssText","appendChild","createTextNode","existingTag","isEqualNode","parentNode","removeChild","generateElementAttributesAsString","attr","convertElementAttributestoReactProps","initProps","getMethodsForTag","toComponent","_initProps","attributeString","flattenedTitle","generateTitleAsString","_mappedTag","mappedTag","mappedAttribute","content","generateTagsAsReactComponent","attributeHtml","tagContent","isSelfClosing","generateTagsAsString","_ref$title","base","link","noscript","script","HelmetSideEffects","defer","HelmetExport","HelmetWrapper","setPrototypeOf","inherits","shouldComponentUpdate","nextProps","mapNestedChildrenToProps","child","nestedChildren","flattenArrayTypeChildren","_babelHelpers$extends","arrayTypeChildren","newChildProps","mapObjectTypeChildren","_babelHelpers$extends2","_babelHelpers$extends3","newProps","mapArrayTypeChildrenToProps","newFlattenedProps","arrayChildName","_babelHelpers$extends4","warnOnInvalidChildren","mapChildrenToProps","Children","_child$props","initAttributes","convertReactPropstoHtmlAttributes","_props","node","defaultTitle","titleTemplate","mappedState","renderStatic","$export","fails","defined","quot","S","p1","exec","O","P","F","Meta","site","siteTitle","siteDescription","pageTitle","g","Function","e","$find","KEY","forced","callbackfn"],"mappings":"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","file":"8fa5934878bf0f606c4b94ac530216a355acc03c-62542d00dfcde1cd5863.js","sourcesContent":["(function (root, factory) {\n // AMD\n if (typeof define === 'function' && define.amd) {\n define(function () {\n return factory(root);\n });\n } else if (typeof exports === 'object') {\n // Node.js or CommonJS\n module.exports = factory;\n } else {\n // Browser globals\n root.emergence = factory(root);\n }\n})(this, function (root) {\n 'use strict';\n\n var emergence = {};\n var poll, container, throttle, reset, handheld, elemCushion, offsetTop, offsetRight, offsetBottom, offsetLeft;\n\n var callback = function callback() {}; // Browser feature test to include any browser APIs required for >= IE8\n // @return {bool} true if supported, otherwise false\n\n\n var cutsTheMustard = function cutsTheMustard() {\n return 'querySelectorAll' in document ? true : false;\n }; // Checks if user is on a handheld\n // @return {bool} true if it's a handheld, otherwise false\n\n\n var isHandheld = function isHandheld() {\n return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini|playbook|silk/i.test(navigator.userAgent);\n }; // Get the offset of a DOM Element\n // @param {DOMElement} elem the container or element\n // @return {int} the top, left, width and height values in pixels\n\n\n var getElemOffset = function getElemOffset(elem) {\n // Width and height of container or element\n var w = elem.offsetWidth;\n var h = elem.offsetHeight; // Default top and left position of container or element\n\n var topPos = 0;\n var leftPos = 0; // Get total distance of container or element to document's top and left origin\n\n do {\n if (!isNaN(elem.offsetTop)) {\n topPos += elem.offsetTop;\n }\n\n if (!isNaN(elem.offsetLeft)) {\n leftPos += elem.offsetLeft;\n }\n } while ((elem = elem.offsetParent) !== null); // Return dimensions and position\n\n\n return {\n width: w,\n height: h,\n top: topPos,\n left: leftPos\n };\n }; // Get the custom container size if provided, otherwise the documents\n // @return {int} the width and height in pixels\n\n\n var getContainerSize = function getContainerSize(container) {\n var w, h; // If custom container is provided in options\n // Else use window or document\n\n if (container !== window) {\n w = container.clientWidth;\n h = container.clientHeight;\n } else {\n w = window.innerWidth || document.documentElement.clientWidth;\n h = window.innerHeight || document.documentElement.clientHeight;\n }\n\n return {\n width: w,\n height: h\n };\n }; // Get the X and Y scroll positions\n // @return {int} the X and Y values in pixels\n\n\n var getContainerScroll = function getContainerScroll(container) {\n // If custom container is provided in options\n // Else use window or document\n if (container !== window) {\n return {\n x: container.scrollLeft + getElemOffset(container).left,\n y: container.scrollTop + getElemOffset(container).top\n };\n } else {\n return {\n x: window.pageXOffset || document.documentElement.scrollLeft,\n y: window.pageYOffset || document.documentElement.scrollTop\n };\n }\n }; // Check if element's closest parent is hidden (display: none)\n // @param {DOMElement} elem the element\n // @return {bool} true if hidden, false otherwise\n\n\n var isHidden = function isHidden(elem) {\n return elem.offsetParent === null;\n }; // Check if element is visible\n // @param {DOMElement} elem the element\n\n\n var isVisible = function isVisible(elem) {\n // Discontinue if element's closest parent is hidden\n if (isHidden(elem)) {\n return false;\n } // Get information from element and container\n\n\n var elemOffset = getElemOffset(elem);\n var containerSize = getContainerSize(container);\n var containerScroll = getContainerScroll(container); // Determine element size\n\n var elemWidth = elemOffset.width;\n var elemHeight = elemOffset.height; // Determine element position from rect points\n\n var elemTop = elemOffset.top;\n var elemLeft = elemOffset.left;\n var elemBottom = elemTop + elemHeight;\n var elemRight = elemLeft + elemWidth; // Determine boundaries of container and element\n // @return {bool} true if element is found within boundaries, otherwise false\n\n var checkBoundaries = function checkBoundaries() {\n // Determine element boundaries including custom cushion\n var eTop = elemTop + elemHeight * elemCushion;\n var eRight = elemRight - elemWidth * elemCushion;\n var eBottom = elemBottom - elemHeight * elemCushion;\n var eLeft = elemLeft + elemWidth * elemCushion; // Determine container boundaries including custom offset\n\n var cTop = containerScroll.y + offsetTop;\n var cRight = containerScroll.x - offsetRight + containerSize.width;\n var cBottom = containerScroll.y - offsetBottom + containerSize.height;\n var cLeft = containerScroll.x + offsetLeft;\n return eTop < cBottom && eBottom > cTop && eLeft < cRight && eRight > cLeft;\n };\n\n return checkBoundaries();\n }; // Engage emergence through a throttling method for performance\n\n\n var emergenceThrottle = function emergenceThrottle() {\n if (!!poll) {\n return;\n }\n\n clearTimeout(poll);\n poll = setTimeout(function () {\n emergence.engage();\n poll = null;\n }, throttle);\n }; // Initialize emergence with options, do feature test and create event listeners\n // @param {Object} options Custom settings\n\n\n emergence.init = function (options) {\n options = options || {}; // Function to return an integer\n\n var optionInt = function optionInt(option, fallback) {\n return parseInt(option || fallback, 10);\n }; // Function to return a floating point number\n\n\n var optionFloat = function optionFloat(option, fallback) {\n return parseFloat(option || fallback);\n }; // Default options\n\n\n container = options.container || window; // window or document by default\n\n reset = typeof options.reset !== 'undefined' ? options.reset : true; // true by default\n\n handheld = typeof options.handheld !== 'undefined' ? options.handheld : true; // true by default\n\n throttle = optionInt(options.throttle, 250); // 250 by default\n\n elemCushion = optionFloat(options.elemCushion, 0.15); // 0.15 by default\n\n offsetTop = optionInt(options.offsetTop, 0); // 0 by default\n\n offsetRight = optionInt(options.offsetRight, 0); // 0 by default\n\n offsetBottom = optionInt(options.offsetBottom, 0); // 0 by default\n\n offsetLeft = optionInt(options.offsetLeft, 0); // 0 by default\n\n callback = options.callback || callback; // If browser doesn't pass feature test\n\n if (!cutsTheMustard()) {\n // Provide message in console.log\n console.log('Emergence.js is not supported in this browser.');\n } // If this is handheld device AND handheld option is true\n // OR not a handheld device\n else if (isHandheld() && handheld || !isHandheld()) {\n // Add '.emergence' class to document for conditional CSS\n document.documentElement.className += ' emergence'; // If browser supports addEventListener\n // Else use attachEvent\n\n if (window.addEventListener) {\n // Add event listeners for load, scroll and resize events\n window.addEventListener('load', emergenceThrottle, false);\n container.addEventListener('scroll', emergenceThrottle, false);\n container.addEventListener('resize', emergenceThrottle, false);\n } else {\n // Attach events for legacy load method, scroll and resize events\n document.attachEvent('onreadystatechange', function () {\n if (document.readyState === 'complete') {\n emergenceThrottle();\n }\n });\n container.attachEvent('onscroll', emergenceThrottle);\n container.attachEvent('onresize', emergenceThrottle);\n }\n }\n }; // Engage emergence\n\n\n emergence.engage = function () {\n var nodes = document.querySelectorAll('[data-emergence]');\n var length = nodes.length;\n var elem; // Loop through objects with data-emergence attribute\n\n for (var i = 0; i < length; i++) {\n elem = nodes[i]; // If element is visible\n\n if (isVisible(elem)) {\n // Change the state of the attribute to 'visible'\n elem.setAttribute('data-emergence', 'visible'); // Hack to repaint attribute in IE8\n\n elem.className = elem.className; // Callback for when element is visible\n\n callback(elem, 'visible');\n } else if (reset === true) {\n // Else if element is hidden and reset\n // Change the state of the attribute to 'hidden'\n elem.setAttribute('data-emergence', 'hidden'); // Hack to repaint attribute in IE8\n\n elem.className = elem.className; // Create callback\n\n callback(elem, 'reset');\n } else if (reset === false) {\n // Else if element is hidden and NOT reset\n // Create callback\n callback(elem, 'noreset');\n }\n } // If no data-emergence attributes are found\n // Disengage emergence\n\n\n if (!length) {\n emergence.disengage();\n }\n }; // Disengage emergence\n\n\n emergence.disengage = function () {\n // If browser supports removeEventListener\n // Else use detachEvent\n if (window.removeEventListener) {\n // Remove event listeners scroll and resize events\n container.removeEventListener('scroll', emergenceThrottle, false);\n container.removeEventListener('resize', emergenceThrottle, false);\n } else {\n // Detach scroll and resize events\n container.detachEvent('onscroll', emergenceThrottle);\n container.detachEvent('onresize', emergenceThrottle);\n } // Clear timeout from throttle\n\n\n clearTimeout(poll);\n };\n\n return emergence;\n});","'use strict';\n// B.2.3.6 String.prototype.fixed()\nrequire('./_string-html')('fixed', function (createHTML) {\n return function fixed() {\n return createHTML(this, 'tt', '', '');\n };\n});\n","'use strict';\n\nrequire(\"core-js/modules/es6.array.index-of\");\n\nrequire(\"core-js/modules/es6.array.map\");\n\nrequire(\"core-js/modules/es6.function.name\");\n\nrequire(\"core-js/modules/es6.object.create\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nfunction _interopDefault(ex) {\n return ex && typeof ex === 'object' && 'default' in ex ? ex['default'] : ex;\n}\n\nvar React = require('react');\n\nvar React__default = _interopDefault(React);\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient, mapStateOnServer) {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n\n if (typeof mapStateOnServer !== 'undefined' && typeof mapStateOnServer !== 'function') {\n throw new Error('Expected mapStateOnServer to either be undefined or a function.');\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n\n if (SideEffect.canUseDOM) {\n handleStateChangeOnClient(state);\n } else if (mapStateOnServer) {\n state = mapStateOnServer(state);\n }\n }\n\n var SideEffect = /*#__PURE__*/function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n } // Try to use displayName of wrapped component\n // Expose canUseDOM so tests can monkeypatch it\n\n\n SideEffect.peek = function peek() {\n return state;\n };\n\n SideEffect.rewind = function rewind() {\n if (SideEffect.canUseDOM) {\n throw new Error('You may only call rewind() on the server. Call peek() to read the current state.');\n }\n\n var recordedState = state;\n state = undefined;\n mountedInstances = [];\n return recordedState;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.UNSAFE_componentWillMount = function UNSAFE_componentWillMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return React__default.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(React.PureComponent);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n _defineProperty(SideEffect, \"canUseDOM\", canUseDOM);\n\n return SideEffect;\n };\n}\n\nmodule.exports = withSideEffect;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar logDeprecationNotice = function logDeprecationNotice(prop, replacement) {\n if (process.env.NODE_ENV === \"production\") {\n return;\n }\n\n console.log(\"\\n The \\\"\" + prop + \"\\\" prop is now deprecated and will be removed in the next major version\\n of \\\"gatsby-image\\\".\\n \");\n\n if (replacement) {\n console.log(\"Please use \" + replacement + \" instead of \\\"\" + prop + \"\\\".\");\n }\n}; // Handle legacy props during their deprecation phase\n\n\nvar convertProps = function convertProps(props) {\n var convertedProps = (0, _extends2.default)({}, props);\n var resolutions = convertedProps.resolutions,\n sizes = convertedProps.sizes,\n critical = convertedProps.critical;\n\n if (resolutions) {\n convertedProps.fixed = resolutions;\n delete convertedProps.resolutions;\n }\n\n if (sizes) {\n convertedProps.fluid = sizes;\n delete convertedProps.sizes;\n }\n\n if (critical) {\n logDeprecationNotice(\"critical\", \"the native \\\"loading\\\" attribute\");\n convertedProps.loading = \"eager\";\n } // convert fluid & fixed to arrays so we only have to work with arrays\n\n\n if (convertedProps.fluid) {\n convertedProps.fluid = groupByMedia([].concat(convertedProps.fluid));\n }\n\n if (convertedProps.fixed) {\n convertedProps.fixed = groupByMedia([].concat(convertedProps.fixed));\n }\n\n return convertedProps;\n};\n/**\n * Checks if fluid or fixed are art-direction arrays.\n *\n * @param currentData {{media?: string}[]} The props to check for images.\n * @return {boolean}\n */\n\n\nvar hasArtDirectionSupport = function hasArtDirectionSupport(currentData) {\n return !!currentData && Array.isArray(currentData) && currentData.some(function (image) {\n return typeof image.media !== \"undefined\";\n });\n};\n/**\n * Tries to detect if a media query matches the current viewport.\n * @property media {{media?: string}} A media query string.\n * @return {boolean}\n */\n\n\nvar matchesMedia = function matchesMedia(_ref) {\n var media = _ref.media;\n return media ? isBrowser && !!window.matchMedia(media).matches : false;\n};\n/**\n * Find the source of an image to use as a key in the image cache.\n * Use `the first image in either `fixed` or `fluid`\n * @param {{fluid: {src: string, media?: string}[], fixed: {src: string, media?: string}[]}} args\n * @return {string}\n */\n\n\nvar getImageSrcKey = function getImageSrcKey(_ref2) {\n var fluid = _ref2.fluid,\n fixed = _ref2.fixed;\n var data = fluid ? getCurrentSrcData(fluid) : getCurrentSrcData(fixed);\n return data.src;\n};\n/**\n * Returns the current src - Preferably with art-direction support.\n * @param currentData {{media?: string}[], maxWidth?: Number, maxHeight?: Number} The fluid or fixed image array.\n * @return {{src: string, media?: string, maxWidth?: Number, maxHeight?: Number}}\n */\n\n\nvar getCurrentSrcData = function getCurrentSrcData(currentData) {\n if (isBrowser && hasArtDirectionSupport(currentData)) {\n // Do we have an image for the current Viewport?\n var foundMedia = currentData.findIndex(matchesMedia);\n\n if (foundMedia !== -1) {\n return currentData[foundMedia];\n } // No media matches, select first element without a media condition\n\n\n var noMedia = currentData.findIndex(function (image) {\n return typeof image.media === \"undefined\";\n });\n\n if (noMedia !== -1) {\n return currentData[noMedia];\n }\n } // Else return the first image.\n\n\n return currentData[0];\n}; // Cache if we've seen an image before so we don't bother with\n// lazy-loading & fading in on subsequent mounts.\n\n\nvar imageCache = Object.create({});\n\nvar inImageCache = function inImageCache(props) {\n var convertedProps = convertProps(props); // Find src\n\n var src = getImageSrcKey(convertedProps);\n return imageCache[src] || false;\n};\n\nvar activateCacheForImage = function activateCacheForImage(props) {\n var convertedProps = convertProps(props); // Find src\n\n var src = getImageSrcKey(convertedProps);\n imageCache[src] = true;\n}; // Native lazy-loading support: https://addyosmani.com/blog/lazy-loading/\n\n\nvar hasNativeLazyLoadSupport = typeof HTMLImageElement !== \"undefined\" && \"loading\" in HTMLImageElement.prototype;\nvar isBrowser = typeof window !== \"undefined\";\nvar hasIOSupport = isBrowser && window.IntersectionObserver;\nvar io;\nvar listeners = new WeakMap();\n\nfunction getIO() {\n if (typeof io === \"undefined\" && typeof window !== \"undefined\" && window.IntersectionObserver) {\n io = new window.IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n if (listeners.has(entry.target)) {\n var cb = listeners.get(entry.target); // Edge doesn't currently support isIntersecting, so also test for an intersectionRatio > 0\n\n if (entry.isIntersecting || entry.intersectionRatio > 0) {\n io.unobserve(entry.target);\n listeners.delete(entry.target);\n cb();\n }\n }\n });\n }, {\n rootMargin: \"200px\"\n });\n }\n\n return io;\n}\n\nfunction generateImageSources(imageVariants) {\n return imageVariants.map(function (_ref3) {\n var src = _ref3.src,\n srcSet = _ref3.srcSet,\n srcSetWebp = _ref3.srcSetWebp,\n media = _ref3.media,\n sizes = _ref3.sizes;\n return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {\n key: src\n }, srcSetWebp && /*#__PURE__*/_react.default.createElement(\"source\", {\n type: \"image/webp\",\n media: media,\n srcSet: srcSetWebp,\n sizes: sizes\n }), /*#__PURE__*/_react.default.createElement(\"source\", {\n media: media,\n srcSet: srcSet,\n sizes: sizes\n }));\n });\n} // Return an array ordered by elements having a media prop, does not use\n// native sort, as a stable sort is not guaranteed by all browsers/versions\n\n\nfunction groupByMedia(imageVariants) {\n var withMedia = [];\n var without = [];\n imageVariants.forEach(function (variant) {\n return (variant.media ? withMedia : without).push(variant);\n });\n\n if (without.length > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"We've found \" + without.length + \" sources without a media property. They might be ignored by the browser, see: https://www.gatsbyjs.org/packages/gatsby-image/#art-directing-multiple-images\");\n }\n\n return [].concat(withMedia, without);\n}\n\nfunction generateTracedSVGSources(imageVariants) {\n return imageVariants.map(function (_ref4) {\n var src = _ref4.src,\n media = _ref4.media,\n tracedSVG = _ref4.tracedSVG;\n return /*#__PURE__*/_react.default.createElement(\"source\", {\n key: src,\n media: media,\n srcSet: tracedSVG\n });\n });\n}\n\nfunction generateBase64Sources(imageVariants) {\n return imageVariants.map(function (_ref5) {\n var src = _ref5.src,\n media = _ref5.media,\n base64 = _ref5.base64;\n return /*#__PURE__*/_react.default.createElement(\"source\", {\n key: src,\n media: media,\n srcSet: base64\n });\n });\n}\n\nfunction generateNoscriptSource(_ref6, isWebp) {\n var srcSet = _ref6.srcSet,\n srcSetWebp = _ref6.srcSetWebp,\n media = _ref6.media,\n sizes = _ref6.sizes;\n var src = isWebp ? srcSetWebp : srcSet;\n var mediaAttr = media ? \"media=\\\"\" + media + \"\\\" \" : \"\";\n var typeAttr = isWebp ? \"type='image/webp' \" : \"\";\n var sizesAttr = sizes ? \"sizes=\\\"\" + sizes + \"\\\" \" : \"\";\n return \"\";\n}\n\nfunction generateNoscriptSources(imageVariants) {\n return imageVariants.map(function (variant) {\n return (variant.srcSetWebp ? generateNoscriptSource(variant, true) : \"\") + generateNoscriptSource(variant);\n }).join(\"\");\n}\n\nvar listenToIntersections = function listenToIntersections(el, cb) {\n var observer = getIO();\n\n if (observer) {\n observer.observe(el);\n listeners.set(el, cb);\n }\n\n return function () {\n observer.unobserve(el);\n listeners.delete(el);\n };\n};\n\nvar noscriptImg = function noscriptImg(props) {\n // Check if prop exists before adding each attribute to the string output below to prevent\n // HTML validation issues caused by empty values like width=\"\" and height=\"\"\n var src = props.src ? \"src=\\\"\" + props.src + \"\\\" \" : \"src=\\\"\\\" \"; // required attribute\n\n var sizes = props.sizes ? \"sizes=\\\"\" + props.sizes + \"\\\" \" : \"\";\n var srcSet = props.srcSet ? \"srcset=\\\"\" + props.srcSet + \"\\\" \" : \"\";\n var title = props.title ? \"title=\\\"\" + props.title + \"\\\" \" : \"\";\n var alt = props.alt ? \"alt=\\\"\" + props.alt + \"\\\" \" : \"alt=\\\"\\\" \"; // required attribute\n\n var width = props.width ? \"width=\\\"\" + props.width + \"\\\" \" : \"\";\n var height = props.height ? \"height=\\\"\" + props.height + \"\\\" \" : \"\";\n var crossOrigin = props.crossOrigin ? \"crossorigin=\\\"\" + props.crossOrigin + \"\\\" \" : \"\";\n var loading = props.loading ? \"loading=\\\"\" + props.loading + \"\\\" \" : \"\";\n var draggable = props.draggable ? \"draggable=\\\"\" + props.draggable + \"\\\" \" : \"\";\n var sources = generateNoscriptSources(props.imageVariants);\n return \"\" + sources + \"\";\n}; // Earlier versions of gatsby-image during the 2.x cycle did not wrap\n// the `Img` component in a `picture` element. This maintains compatibility\n// until a breaking change can be introduced in the next major release\n\n\nvar Placeholder = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var src = props.src,\n imageVariants = props.imageVariants,\n generateSources = props.generateSources,\n spreadProps = props.spreadProps,\n ariaHidden = props.ariaHidden;\n\n var baseImage = /*#__PURE__*/_react.default.createElement(Img, (0, _extends2.default)({\n ref: ref,\n src: src\n }, spreadProps, {\n ariaHidden: ariaHidden\n }));\n\n return imageVariants.length > 1 ? /*#__PURE__*/_react.default.createElement(\"picture\", null, generateSources(imageVariants), baseImage) : baseImage;\n});\n\nvar Img = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var sizes = props.sizes,\n srcSet = props.srcSet,\n src = props.src,\n style = props.style,\n onLoad = props.onLoad,\n onError = props.onError,\n loading = props.loading,\n draggable = props.draggable,\n ariaHidden = props.ariaHidden,\n otherProps = (0, _objectWithoutPropertiesLoose2.default)(props, [\"sizes\", \"srcSet\", \"src\", \"style\", \"onLoad\", \"onError\", \"loading\", \"draggable\", \"ariaHidden\"]);\n return /*#__PURE__*/_react.default.createElement(\"img\", (0, _extends2.default)({\n \"aria-hidden\": ariaHidden,\n sizes: sizes,\n srcSet: srcSet,\n src: src\n }, otherProps, {\n onLoad: onLoad,\n onError: onError,\n ref: ref,\n loading: loading,\n draggable: draggable,\n style: (0, _extends2.default)({\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n objectFit: \"cover\",\n objectPosition: \"center\"\n }, style)\n }));\n});\n\nImg.propTypes = {\n style: _propTypes.default.object,\n onError: _propTypes.default.func,\n onLoad: _propTypes.default.func\n};\n\nvar Image = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(Image, _React$Component);\n\n function Image(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this; // If this image has already been loaded before then we can assume it's\n // already in the browser cache so it's cheap to just show directly.\n\n _this.seenBefore = isBrowser && inImageCache(props);\n _this.isCritical = props.loading === \"eager\" || props.critical;\n _this.addNoScript = !(_this.isCritical && !props.fadeIn);\n _this.useIOSupport = !hasNativeLazyLoadSupport && hasIOSupport && !_this.isCritical && !_this.seenBefore;\n var isVisible = _this.isCritical || isBrowser && (hasNativeLazyLoadSupport || !_this.useIOSupport);\n _this.state = {\n isVisible: isVisible,\n imgLoaded: false,\n imgCached: false,\n fadeIn: !_this.seenBefore && props.fadeIn\n };\n _this.imageRef = /*#__PURE__*/_react.default.createRef();\n _this.placeholderRef = props.placeholderRef || /*#__PURE__*/_react.default.createRef();\n _this.handleImageLoaded = _this.handleImageLoaded.bind((0, _assertThisInitialized2.default)(_this));\n _this.handleRef = _this.handleRef.bind((0, _assertThisInitialized2.default)(_this));\n return _this;\n }\n\n var _proto = Image.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n if (this.state.isVisible && typeof this.props.onStartLoad === \"function\") {\n this.props.onStartLoad({\n wasCached: inImageCache(this.props)\n });\n }\n\n if (this.isCritical) {\n var img = this.imageRef.current;\n\n if (img && img.complete) {\n this.handleImageLoaded();\n }\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.cleanUpListeners) {\n this.cleanUpListeners();\n }\n } // Specific to IntersectionObserver based lazy-load support\n ;\n\n _proto.handleRef = function handleRef(ref) {\n var _this2 = this;\n\n if (this.useIOSupport && ref) {\n this.cleanUpListeners = listenToIntersections(ref, function () {\n var imageInCache = inImageCache(_this2.props);\n\n if (!_this2.state.isVisible && typeof _this2.props.onStartLoad === \"function\") {\n _this2.props.onStartLoad({\n wasCached: imageInCache\n });\n } // imgCached and imgLoaded must update after isVisible,\n // Once isVisible is true, imageRef becomes accessible, which imgCached needs access to.\n // imgLoaded and imgCached are in a 2nd setState call to be changed together,\n // avoiding initiating unnecessary animation frames from style changes.\n\n\n _this2.setState({\n isVisible: true\n }, function () {\n _this2.setState({\n imgLoaded: imageInCache,\n // `currentSrc` should be a string, but can be `undefined` in IE,\n // !! operator validates the value is not undefined/null/\"\"\n // for lazyloaded components this might be null\n // TODO fix imgCached behaviour as it's now false when it's lazyloaded\n imgCached: !!(_this2.imageRef.current && _this2.imageRef.current.currentSrc)\n });\n });\n });\n }\n };\n\n _proto.handleImageLoaded = function handleImageLoaded() {\n activateCacheForImage(this.props);\n this.setState({\n imgLoaded: true\n });\n\n if (this.props.onLoad) {\n this.props.onLoad();\n }\n };\n\n _proto.render = function render() {\n var _convertProps = convertProps(this.props),\n title = _convertProps.title,\n alt = _convertProps.alt,\n className = _convertProps.className,\n _convertProps$style = _convertProps.style,\n style = _convertProps$style === void 0 ? {} : _convertProps$style,\n _convertProps$imgStyl = _convertProps.imgStyle,\n imgStyle = _convertProps$imgStyl === void 0 ? {} : _convertProps$imgStyl,\n _convertProps$placeho = _convertProps.placeholderStyle,\n placeholderStyle = _convertProps$placeho === void 0 ? {} : _convertProps$placeho,\n placeholderClassName = _convertProps.placeholderClassName,\n fluid = _convertProps.fluid,\n fixed = _convertProps.fixed,\n backgroundColor = _convertProps.backgroundColor,\n durationFadeIn = _convertProps.durationFadeIn,\n Tag = _convertProps.Tag,\n itemProp = _convertProps.itemProp,\n loading = _convertProps.loading,\n draggable = _convertProps.draggable;\n\n var shouldReveal = this.state.fadeIn === false || this.state.imgLoaded;\n var shouldFadeIn = this.state.fadeIn === true && !this.state.imgCached;\n var imageStyle = (0, _extends2.default)({\n opacity: shouldReveal ? 1 : 0,\n transition: shouldFadeIn ? \"opacity \" + durationFadeIn + \"ms\" : \"none\"\n }, imgStyle);\n var bgColor = typeof backgroundColor === \"boolean\" ? \"lightgray\" : backgroundColor;\n var delayHideStyle = {\n transitionDelay: durationFadeIn + \"ms\"\n };\n var imagePlaceholderStyle = (0, _extends2.default)({\n opacity: this.state.imgLoaded ? 0 : 1\n }, shouldFadeIn && delayHideStyle, imgStyle, placeholderStyle);\n var placeholderImageProps = {\n title: title,\n alt: !this.state.isVisible ? alt : \"\",\n style: imagePlaceholderStyle,\n className: placeholderClassName,\n itemProp: itemProp\n };\n\n if (fluid) {\n var imageVariants = fluid;\n var image = getCurrentSrcData(fluid);\n return /*#__PURE__*/_react.default.createElement(Tag, {\n className: (className ? className : \"\") + \" gatsby-image-wrapper\",\n style: (0, _extends2.default)({\n position: \"relative\",\n overflow: \"hidden\",\n maxWidth: image.maxWidth ? image.maxWidth + \"px\" : null,\n maxHeight: image.maxHeight ? image.maxHeight + \"px\" : null\n }, style),\n ref: this.handleRef,\n key: \"fluid-\" + JSON.stringify(image.srcSet)\n }, /*#__PURE__*/_react.default.createElement(Tag, {\n \"aria-hidden\": true,\n style: {\n width: \"100%\",\n paddingBottom: 100 / image.aspectRatio + \"%\"\n }\n }), bgColor && /*#__PURE__*/_react.default.createElement(Tag, {\n \"aria-hidden\": true,\n title: title,\n style: (0, _extends2.default)({\n backgroundColor: bgColor,\n position: \"absolute\",\n top: 0,\n bottom: 0,\n opacity: !this.state.imgLoaded ? 1 : 0,\n right: 0,\n left: 0\n }, shouldFadeIn && delayHideStyle)\n }), image.base64 && /*#__PURE__*/_react.default.createElement(Placeholder, {\n ariaHidden: true,\n ref: this.placeholderRef,\n src: image.base64,\n spreadProps: placeholderImageProps,\n imageVariants: imageVariants,\n generateSources: generateBase64Sources\n }), image.tracedSVG && /*#__PURE__*/_react.default.createElement(Placeholder, {\n ariaHidden: true,\n ref: this.placeholderRef,\n src: image.tracedSVG,\n spreadProps: placeholderImageProps,\n imageVariants: imageVariants,\n generateSources: generateTracedSVGSources\n }), this.state.isVisible && /*#__PURE__*/_react.default.createElement(\"picture\", null, generateImageSources(imageVariants), /*#__PURE__*/_react.default.createElement(Img, {\n alt: alt,\n title: title,\n sizes: image.sizes,\n src: image.src,\n crossOrigin: this.props.crossOrigin,\n srcSet: image.srcSet,\n style: imageStyle,\n ref: this.imageRef,\n onLoad: this.handleImageLoaded,\n onError: this.props.onError,\n itemProp: itemProp,\n loading: loading,\n draggable: draggable\n })), this.addNoScript && /*#__PURE__*/_react.default.createElement(\"noscript\", {\n dangerouslySetInnerHTML: {\n __html: noscriptImg((0, _extends2.default)({\n alt: alt,\n title: title,\n loading: loading\n }, image, {\n imageVariants: imageVariants\n }))\n }\n }));\n }\n\n if (fixed) {\n var _imageVariants = fixed;\n\n var _image = getCurrentSrcData(fixed);\n\n var divStyle = (0, _extends2.default)({\n position: \"relative\",\n overflow: \"hidden\",\n display: \"inline-block\",\n width: _image.width,\n height: _image.height\n }, style);\n\n if (style.display === \"inherit\") {\n delete divStyle.display;\n }\n\n return /*#__PURE__*/_react.default.createElement(Tag, {\n className: (className ? className : \"\") + \" gatsby-image-wrapper\",\n style: divStyle,\n ref: this.handleRef,\n key: \"fixed-\" + JSON.stringify(_image.srcSet)\n }, bgColor && /*#__PURE__*/_react.default.createElement(Tag, {\n \"aria-hidden\": true,\n title: title,\n style: (0, _extends2.default)({\n backgroundColor: bgColor,\n width: _image.width,\n opacity: !this.state.imgLoaded ? 1 : 0,\n height: _image.height\n }, shouldFadeIn && delayHideStyle)\n }), _image.base64 && /*#__PURE__*/_react.default.createElement(Placeholder, {\n ariaHidden: true,\n ref: this.placeholderRef,\n src: _image.base64,\n spreadProps: placeholderImageProps,\n imageVariants: _imageVariants,\n generateSources: generateBase64Sources\n }), _image.tracedSVG && /*#__PURE__*/_react.default.createElement(Placeholder, {\n ariaHidden: true,\n ref: this.placeholderRef,\n src: _image.tracedSVG,\n spreadProps: placeholderImageProps,\n imageVariants: _imageVariants,\n generateSources: generateTracedSVGSources\n }), this.state.isVisible && /*#__PURE__*/_react.default.createElement(\"picture\", null, generateImageSources(_imageVariants), /*#__PURE__*/_react.default.createElement(Img, {\n alt: alt,\n title: title,\n width: _image.width,\n height: _image.height,\n sizes: _image.sizes,\n src: _image.src,\n crossOrigin: this.props.crossOrigin,\n srcSet: _image.srcSet,\n style: imageStyle,\n ref: this.imageRef,\n onLoad: this.handleImageLoaded,\n onError: this.props.onError,\n itemProp: itemProp,\n loading: loading,\n draggable: draggable\n })), this.addNoScript && /*#__PURE__*/_react.default.createElement(\"noscript\", {\n dangerouslySetInnerHTML: {\n __html: noscriptImg((0, _extends2.default)({\n alt: alt,\n title: title,\n loading: loading\n }, _image, {\n imageVariants: _imageVariants\n }))\n }\n }));\n }\n\n return null;\n };\n\n return Image;\n}(_react.default.Component);\n\nImage.defaultProps = {\n fadeIn: true,\n durationFadeIn: 500,\n alt: \"\",\n Tag: \"div\",\n // We set it to `lazy` by default because it's best to default to a performant\n // setting and let the user \"opt out\" to `eager`\n loading: \"lazy\"\n};\n\nvar fixedObject = _propTypes.default.shape({\n width: _propTypes.default.number.isRequired,\n height: _propTypes.default.number.isRequired,\n src: _propTypes.default.string.isRequired,\n srcSet: _propTypes.default.string.isRequired,\n base64: _propTypes.default.string,\n tracedSVG: _propTypes.default.string,\n srcWebp: _propTypes.default.string,\n srcSetWebp: _propTypes.default.string,\n media: _propTypes.default.string\n});\n\nvar fluidObject = _propTypes.default.shape({\n aspectRatio: _propTypes.default.number.isRequired,\n src: _propTypes.default.string.isRequired,\n srcSet: _propTypes.default.string.isRequired,\n sizes: _propTypes.default.string.isRequired,\n base64: _propTypes.default.string,\n tracedSVG: _propTypes.default.string,\n srcWebp: _propTypes.default.string,\n srcSetWebp: _propTypes.default.string,\n media: _propTypes.default.string,\n maxWidth: _propTypes.default.number,\n maxHeight: _propTypes.default.number\n}); // If you modify these propTypes, please don't forget to update following files as well:\n// https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-image/index.d.ts\n// https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-image/README.md#gatsby-image-props\n// https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/gatsby-image.md#gatsby-image-props\n\n\nImage.propTypes = {\n resolutions: fixedObject,\n sizes: fluidObject,\n fixed: _propTypes.default.oneOfType([fixedObject, _propTypes.default.arrayOf(fixedObject)]),\n fluid: _propTypes.default.oneOfType([fluidObject, _propTypes.default.arrayOf(fluidObject)]),\n fadeIn: _propTypes.default.bool,\n durationFadeIn: _propTypes.default.number,\n title: _propTypes.default.string,\n alt: _propTypes.default.string,\n className: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object]),\n // Support Glamor's css prop.\n critical: _propTypes.default.bool,\n crossOrigin: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),\n style: _propTypes.default.object,\n imgStyle: _propTypes.default.object,\n placeholderStyle: _propTypes.default.object,\n placeholderClassName: _propTypes.default.string,\n backgroundColor: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),\n onLoad: _propTypes.default.func,\n onError: _propTypes.default.func,\n onStartLoad: _propTypes.default.func,\n Tag: _propTypes.default.string,\n itemProp: _propTypes.default.string,\n loading: _propTypes.default.oneOf([\"auto\", \"lazy\", \"eager\"]),\n draggable: _propTypes.default.bool\n};\nvar _default = Image;\nexports.default = _default;","import React from 'react'\nimport { Link } from 'gatsby'\nimport Img, { FixedObject } from 'gatsby-image'\nimport { StaticQuery } from 'gatsby'\nimport './style.scss'\n\ninterface Props {\n data: StaticQuery\n title: string\n location: Location\n}\n\nexport const Navibar: React.FC = ({ data, location, title }: Props) => {\n const baby = data.baby?.childImageSharp?.fixed\n return (\n \n )\n}\nexport default Navibar\n","import Navibar from './navibar'\nimport NavibarWrapper from './navibarWrapper'\n\nexport { Navibar, NavibarWrapper }\nexport default NavibarWrapper\n","import React from 'react'\nimport { StaticQuery, graphql } from 'gatsby'\nimport Navibar from './navibar'\nimport './style.scss'\n\ninterface Props {\n title: string\n location: Location\n}\n\nconst NavibarWrapper: React.FC = ({ location, title }: Props) => {\n return (\n (\n <>\n \n \n )}\n />\n )\n}\n\nexport default NavibarWrapper\n","import { Link } from 'gatsby'\nimport React from 'react'\nimport './style.scss'\n\ninterface Props {\n author: string\n title: string\n}\n\nconst Footer: React.FC = ({ author, title }: Props) => (\n
\n
\n
\n

\n {title}\n
\n \n ©{author}\n \n

\n
\n
\n)\n\nexport default Footer\n","import React, { useEffect } from 'react'\nimport emergence from 'emergence.js'\n\nimport Navibar from '../navibar'\nimport Footer from '../footer/footer'\nimport { siteMetadata } from '../../../gatsby-config'\n\nimport 'modern-normalize/modern-normalize.css'\nimport 'prismjs/themes/prism.css'\nimport 'scss/gatstrap.scss'\nimport 'animate.css/animate.css'\nimport 'font-awesome/css/font-awesome.css'\n\ninterface Props {\n children?: React.ReactNode\n location: Location\n}\n\nlet executed = false\n\nconst Layout: React.FC = ({ children, location }: Props) => {\n useEffect(() => {\n if (!executed) {\n emergence.init()\n executed = true\n }\n })\n\n return (\n
\n \n {children}\n
\n
\n )\n}\n\nexport default Layout\n","'use strict';\nvar redefineAll = require('./_redefine-all');\nvar getWeak = require('./_meta').getWeak;\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar createArrayMethod = require('./_array-methods');\nvar $has = require('./_has');\nvar validate = require('./_validate-collection');\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.a = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function (key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n","require(\"core-js/modules/es6.regexp.match\");\n\nrequire(\"core-js/modules/es6.object.keys\");\n\nrequire(\"core-js/modules/es6.regexp.to-string\");\n\nrequire(\"core-js/modules/es6.date.to-string\");\n\nrequire(\"core-js/modules/es6.regexp.flags\");\n\nrequire(\"core-js/modules/es6.regexp.constructor\");\n\nrequire(\"core-js/modules/es6.array.is-array\");\n\nrequire(\"core-js/modules/es6.set\");\n\nrequire(\"core-js/modules/web.dom.iterable\");\n\nrequire(\"core-js/modules/es6.array.iterator\");\n\nrequire(\"core-js/modules/es6.object.to-string\");\n\nrequire(\"core-js/modules/es6.string.iterator\");\n\nrequire(\"core-js/modules/es6.map\");\n\n/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView; // Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.1\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n var length, i, keys;\n\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!equal(a[i], b[i])) return false;\n }\n\n return true;\n } // START: Modifications:\n // 1. Extra `has &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n\n\n var it;\n\n if (hasMap && a instanceof Map && b instanceof Map) {\n if (a.size !== b.size) return false;\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!b.has(i.value[0])) return false;\n }\n\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n }\n\n return true;\n }\n\n if (hasSet && a instanceof Set && b instanceof Set) {\n if (a.size !== b.size) return false;\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!b.has(i.value[0])) return false;\n }\n\n return true;\n } // END: Modifications\n\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) {\n if (a[i] !== b[i]) return false;\n }\n\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n } // END: fast-deep-equal\n // START: react-fast-compare\n // custom handling for DOM elements\n\n\n if (hasElementType && a instanceof Element) return false; // custom handling for React/Preact\n\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n continue;\n } // all other properties should be traversed as usual\n\n\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n } // END: react-fast-compare\n // START: fast-deep-equal\n\n\n return true;\n }\n\n return a !== a && b !== b;\n} // end fast-deep-equal\n\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if ((error.message || '').match(/stack|recursion/i)) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n } // some other error. we should definitely know about these\n\n\n throw error;\n }\n};","'use strict';\nvar global = require('./_global');\nvar each = require('./_array-methods')(0);\nvar redefine = require('./_redefine');\nvar meta = require('./_meta');\nvar assign = require('./_object-assign');\nvar weak = require('./_collection-weak');\nvar isObject = require('./_is-object');\nvar validate = require('./_validate-collection');\nvar NATIVE_WEAK_MAP = require('./_validate-collection');\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar InternalMap;\n\nvar wrapper = function (get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n // store frozen objects on internal weakmap shim\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n","/* eslint-disable @typescript-eslint/camelcase */\nmodule.exports = {\n siteMetadata: {\n title: 'BabyMacias.com',\n description: 'Help me celebrate the introduction of my new family member',\n siteUrl: 'https://babymacias.com',\n author: 'Richard Macias',\n twitter: 'rjny86',\n adsense: '',\n },\n pathPrefix: '/',\n plugins: [\n {\n resolve: 'gatsby-source-filesystem',\n options: {\n path: `${__dirname}/content/posts/`,\n name: 'posts',\n },\n },\n {\n resolve: 'gatsby-source-filesystem',\n options: {\n path: `${__dirname}/content/images/`,\n name: 'images',\n },\n },\n {\n resolve: 'gatsby-transformer-remark',\n options: {\n plugins: [\n {\n resolve: 'gatsby-remark-images',\n options: {\n maxWidth: 750,\n linkImagesToOriginal: false,\n wrapperStyle: 'margin-bottom: 1.0725rem;',\n },\n },\n {\n resolve: 'gatsby-remark-responsive-iframe',\n options: {\n wrapperStyle: 'margin-bottom: 1.0725rem',\n },\n },\n 'gatsby-remark-prismjs',\n 'gatsby-remark-copy-linked-files',\n 'gatsby-remark-smartypants',\n ],\n },\n },\n {\n resolve: `gatsby-plugin-manifest`,\n options: {\n name: 'BabyMacias.com',\n short_name: 'babymacias',\n description: 'Website to celebrate the birth of my first born child',\n homepage_url: 'https://babymacias.com',\n start_url: '/',\n background_color: '#fff',\n theme_color: '#20b2aa',\n display: 'standalone',\n icons: [\n {\n src: 'img/baby-icon.png',\n sizes: '192x192',\n type: 'image/png',\n },\n {\n src: 'img/baby-icon.png',\n sizes: '512x512',\n type: 'image/png',\n },\n ],\n },\n },\n {\n resolve: 'gatsby-plugin-google-analytics',\n options: {\n trackingId: '',\n },\n },\n {\n resolve: 'gatsby-plugin-netlify',\n options: {\n mergeSecurityHeaders: true,\n mergeLinkHeaders: true,\n mergeCachingHeaders: true,\n },\n },\n {\n resolve: 'gatsby-plugin-graphql-codegen',\n options: {\n fileName: `types/graphql-types.d.ts`,\n },\n },\n 'gatsby-plugin-catch-links',\n 'gatsby-plugin-offline',\n 'gatsby-plugin-react-helmet',\n 'gatsby-plugin-sass',\n 'gatsby-plugin-sharp',\n 'gatsby-plugin-sitemap',\n 'gatsby-plugin-twitter',\n 'gatsby-plugin-typescript',\n 'gatsby-transformer-sharp',\n ],\n}\n","import \"core-js/modules/es6.array.some\";\nimport \"core-js/modules/es6.regexp.split\";\nimport \"core-js/modules/es6.function.bind\";\nimport \"core-js/modules/es6.date.now\";\nimport \"core-js/modules/es6.array.for-each\";\nimport \"core-js/modules/es6.array.filter\";\nimport \"core-js/modules/es6.array.is-array\";\nimport \"core-js/modules/es6.regexp.replace\";\nimport \"core-js/modules/es6.array.index-of\";\nimport \"core-js/modules/es6.object.set-prototype-of\";\nimport \"core-js/modules/es6.object.create\";\nimport \"core-js/modules/es6.object.assign\";\nimport \"core-js/modules/es6.object.define-property\";\nimport \"core-js/modules/es7.symbol.async-iterator\";\nimport \"core-js/modules/es6.symbol\";\nimport \"core-js/modules/es6.array.reduce\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.iterator\";\nimport \"core-js/modules/es6.object.to-string\";\nimport \"core-js/modules/es6.object.keys\";\nimport \"core-js/modules/es6.array.map\";\nimport PropTypes from 'prop-types';\nimport withSideEffect from 'react-side-effect';\nimport isEqual from 'react-fast-compare';\nimport React from 'react';\nimport objectAssign from 'object-assign';\nvar ATTRIBUTE_NAMES = {\n BODY: \"bodyAttributes\",\n HTML: \"htmlAttributes\",\n TITLE: \"titleAttributes\"\n};\nvar TAG_NAMES = {\n BASE: \"base\",\n BODY: \"body\",\n HEAD: \"head\",\n HTML: \"html\",\n LINK: \"link\",\n META: \"meta\",\n NOSCRIPT: \"noscript\",\n SCRIPT: \"script\",\n STYLE: \"style\",\n TITLE: \"title\"\n};\nvar VALID_TAG_NAMES = Object.keys(TAG_NAMES).map(function (name) {\n return TAG_NAMES[name];\n});\nvar TAG_PROPERTIES = {\n CHARSET: \"charset\",\n CSS_TEXT: \"cssText\",\n HREF: \"href\",\n HTTPEQUIV: \"http-equiv\",\n INNER_HTML: \"innerHTML\",\n ITEM_PROP: \"itemprop\",\n NAME: \"name\",\n PROPERTY: \"property\",\n REL: \"rel\",\n SRC: \"src\",\n TARGET: \"target\"\n};\nvar REACT_TAG_MAP = {\n accesskey: \"accessKey\",\n charset: \"charSet\",\n \"class\": \"className\",\n contenteditable: \"contentEditable\",\n contextmenu: \"contextMenu\",\n \"http-equiv\": \"httpEquiv\",\n itemprop: \"itemProp\",\n tabindex: \"tabIndex\"\n};\nvar HELMET_PROPS = {\n DEFAULT_TITLE: \"defaultTitle\",\n DEFER: \"defer\",\n ENCODE_SPECIAL_CHARACTERS: \"encodeSpecialCharacters\",\n ON_CHANGE_CLIENT_STATE: \"onChangeClientState\",\n TITLE_TEMPLATE: \"titleTemplate\"\n};\nvar HTML_TAG_MAP = Object.keys(REACT_TAG_MAP).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key]] = key;\n return obj;\n}, {});\nvar SELF_CLOSING_TAGS = [TAG_NAMES.NOSCRIPT, TAG_NAMES.SCRIPT, TAG_NAMES.STYLE];\nvar HELMET_ATTRIBUTE = \"data-react-helmet\";\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar classCallCheck = function classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar objectWithoutProperties = function objectWithoutProperties(obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar encodeSpecialCharacters = function encodeSpecialCharacters(str) {\n var encode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (encode === false) {\n return String(str);\n }\n\n return String(str).replace(/&/g, \"&\").replace(//g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\");\n};\n\nvar getTitleFromPropsList = function getTitleFromPropsList(propsList) {\n var innermostTitle = getInnermostProperty(propsList, TAG_NAMES.TITLE);\n var innermostTemplate = getInnermostProperty(propsList, HELMET_PROPS.TITLE_TEMPLATE);\n\n if (innermostTemplate && innermostTitle) {\n // use function arg to avoid need to escape $ characters\n return innermostTemplate.replace(/%s/g, function () {\n return Array.isArray(innermostTitle) ? innermostTitle.join(\"\") : innermostTitle;\n });\n }\n\n var innermostDefaultTitle = getInnermostProperty(propsList, HELMET_PROPS.DEFAULT_TITLE);\n return innermostTitle || innermostDefaultTitle || undefined;\n};\n\nvar getOnChangeClientState = function getOnChangeClientState(propsList) {\n return getInnermostProperty(propsList, HELMET_PROPS.ON_CHANGE_CLIENT_STATE) || function () {};\n};\n\nvar getAttributesFromPropsList = function getAttributesFromPropsList(tagType, propsList) {\n return propsList.filter(function (props) {\n return typeof props[tagType] !== \"undefined\";\n }).map(function (props) {\n return props[tagType];\n }).reduce(function (tagAttrs, current) {\n return _extends({}, tagAttrs, current);\n }, {});\n};\n\nvar getBaseTagFromPropsList = function getBaseTagFromPropsList(primaryAttributes, propsList) {\n return propsList.filter(function (props) {\n return typeof props[TAG_NAMES.BASE] !== \"undefined\";\n }).map(function (props) {\n return props[TAG_NAMES.BASE];\n }).reverse().reduce(function (innermostBaseTag, tag) {\n if (!innermostBaseTag.length) {\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && tag[lowerCaseAttributeKey]) {\n return innermostBaseTag.concat(tag);\n }\n }\n }\n\n return innermostBaseTag;\n }, []);\n};\n\nvar getTagsFromPropsList = function getTagsFromPropsList(tagName, primaryAttributes, propsList) {\n // Calculate list of tags, giving priority innermost component (end of the propslist)\n var approvedSeenTags = {};\n return propsList.filter(function (props) {\n if (Array.isArray(props[tagName])) {\n return true;\n }\n\n if (typeof props[tagName] !== \"undefined\") {\n warn(\"Helmet: \" + tagName + \" should be of type \\\"Array\\\". Instead found type \\\"\" + _typeof(props[tagName]) + \"\\\"\");\n }\n\n return false;\n }).map(function (props) {\n return props[tagName];\n }).reverse().reduce(function (approvedTags, instanceTags) {\n var instanceSeenTags = {};\n instanceTags.filter(function (tag) {\n var primaryAttributeKey = void 0;\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase(); // Special rule with link tags, since rel and href are both primary tags, rel takes priority\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && !(primaryAttributeKey === TAG_PROPERTIES.REL && tag[primaryAttributeKey].toLowerCase() === \"canonical\") && !(lowerCaseAttributeKey === TAG_PROPERTIES.REL && tag[lowerCaseAttributeKey].toLowerCase() === \"stylesheet\")) {\n primaryAttributeKey = lowerCaseAttributeKey;\n } // Special case for innerHTML which doesn't work lowercased\n\n\n if (primaryAttributes.indexOf(attributeKey) !== -1 && (attributeKey === TAG_PROPERTIES.INNER_HTML || attributeKey === TAG_PROPERTIES.CSS_TEXT || attributeKey === TAG_PROPERTIES.ITEM_PROP)) {\n primaryAttributeKey = attributeKey;\n }\n }\n\n if (!primaryAttributeKey || !tag[primaryAttributeKey]) {\n return false;\n }\n\n var value = tag[primaryAttributeKey].toLowerCase();\n\n if (!approvedSeenTags[primaryAttributeKey]) {\n approvedSeenTags[primaryAttributeKey] = {};\n }\n\n if (!instanceSeenTags[primaryAttributeKey]) {\n instanceSeenTags[primaryAttributeKey] = {};\n }\n\n if (!approvedSeenTags[primaryAttributeKey][value]) {\n instanceSeenTags[primaryAttributeKey][value] = true;\n return true;\n }\n\n return false;\n }).reverse().forEach(function (tag) {\n return approvedTags.push(tag);\n }); // Update seen tags with tags from this instance\n\n var keys = Object.keys(instanceSeenTags);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var tagUnion = objectAssign({}, approvedSeenTags[attributeKey], instanceSeenTags[attributeKey]);\n approvedSeenTags[attributeKey] = tagUnion;\n }\n\n return approvedTags;\n }, []).reverse();\n};\n\nvar getInnermostProperty = function getInnermostProperty(propsList, property) {\n for (var i = propsList.length - 1; i >= 0; i--) {\n var props = propsList[i];\n\n if (props.hasOwnProperty(property)) {\n return props[property];\n }\n }\n\n return null;\n};\n\nvar reducePropsToState = function reducePropsToState(propsList) {\n return {\n baseTag: getBaseTagFromPropsList([TAG_PROPERTIES.HREF, TAG_PROPERTIES.TARGET], propsList),\n bodyAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.BODY, propsList),\n defer: getInnermostProperty(propsList, HELMET_PROPS.DEFER),\n encode: getInnermostProperty(propsList, HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),\n htmlAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.HTML, propsList),\n linkTags: getTagsFromPropsList(TAG_NAMES.LINK, [TAG_PROPERTIES.REL, TAG_PROPERTIES.HREF], propsList),\n metaTags: getTagsFromPropsList(TAG_NAMES.META, [TAG_PROPERTIES.NAME, TAG_PROPERTIES.CHARSET, TAG_PROPERTIES.HTTPEQUIV, TAG_PROPERTIES.PROPERTY, TAG_PROPERTIES.ITEM_PROP], propsList),\n noscriptTags: getTagsFromPropsList(TAG_NAMES.NOSCRIPT, [TAG_PROPERTIES.INNER_HTML], propsList),\n onChangeClientState: getOnChangeClientState(propsList),\n scriptTags: getTagsFromPropsList(TAG_NAMES.SCRIPT, [TAG_PROPERTIES.SRC, TAG_PROPERTIES.INNER_HTML], propsList),\n styleTags: getTagsFromPropsList(TAG_NAMES.STYLE, [TAG_PROPERTIES.CSS_TEXT], propsList),\n title: getTitleFromPropsList(propsList),\n titleAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.TITLE, propsList)\n };\n};\n\nvar rafPolyfill = function () {\n var clock = Date.now();\n return function (callback) {\n var currentTime = Date.now();\n\n if (currentTime - clock > 16) {\n clock = currentTime;\n callback(currentTime);\n } else {\n setTimeout(function () {\n rafPolyfill(callback);\n }, 0);\n }\n };\n}();\n\nvar cafPolyfill = function cafPolyfill(id) {\n return clearTimeout(id);\n};\n\nvar requestAnimationFrame = typeof window !== \"undefined\" ? window.requestAnimationFrame && window.requestAnimationFrame.bind(window) || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || rafPolyfill : global.requestAnimationFrame || rafPolyfill;\nvar cancelAnimationFrame = typeof window !== \"undefined\" ? window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || cafPolyfill : global.cancelAnimationFrame || cafPolyfill;\n\nvar warn = function warn(msg) {\n return console && typeof console.warn === \"function\" && console.warn(msg);\n};\n\nvar _helmetCallback = null;\n\nvar handleClientStateChange = function handleClientStateChange(newState) {\n if (_helmetCallback) {\n cancelAnimationFrame(_helmetCallback);\n }\n\n if (newState.defer) {\n _helmetCallback = requestAnimationFrame(function () {\n commitTagChanges(newState, function () {\n _helmetCallback = null;\n });\n });\n } else {\n commitTagChanges(newState);\n _helmetCallback = null;\n }\n};\n\nvar commitTagChanges = function commitTagChanges(newState, cb) {\n var baseTag = newState.baseTag,\n bodyAttributes = newState.bodyAttributes,\n htmlAttributes = newState.htmlAttributes,\n linkTags = newState.linkTags,\n metaTags = newState.metaTags,\n noscriptTags = newState.noscriptTags,\n onChangeClientState = newState.onChangeClientState,\n scriptTags = newState.scriptTags,\n styleTags = newState.styleTags,\n title = newState.title,\n titleAttributes = newState.titleAttributes;\n updateAttributes(TAG_NAMES.BODY, bodyAttributes);\n updateAttributes(TAG_NAMES.HTML, htmlAttributes);\n updateTitle(title, titleAttributes);\n var tagUpdates = {\n baseTag: updateTags(TAG_NAMES.BASE, baseTag),\n linkTags: updateTags(TAG_NAMES.LINK, linkTags),\n metaTags: updateTags(TAG_NAMES.META, metaTags),\n noscriptTags: updateTags(TAG_NAMES.NOSCRIPT, noscriptTags),\n scriptTags: updateTags(TAG_NAMES.SCRIPT, scriptTags),\n styleTags: updateTags(TAG_NAMES.STYLE, styleTags)\n };\n var addedTags = {};\n var removedTags = {};\n Object.keys(tagUpdates).forEach(function (tagType) {\n var _tagUpdates$tagType = tagUpdates[tagType],\n newTags = _tagUpdates$tagType.newTags,\n oldTags = _tagUpdates$tagType.oldTags;\n\n if (newTags.length) {\n addedTags[tagType] = newTags;\n }\n\n if (oldTags.length) {\n removedTags[tagType] = tagUpdates[tagType].oldTags;\n }\n });\n cb && cb();\n onChangeClientState(newState, addedTags, removedTags);\n};\n\nvar flattenArray = function flattenArray(possibleArray) {\n return Array.isArray(possibleArray) ? possibleArray.join(\"\") : possibleArray;\n};\n\nvar updateTitle = function updateTitle(title, attributes) {\n if (typeof title !== \"undefined\" && document.title !== title) {\n document.title = flattenArray(title);\n }\n\n updateAttributes(TAG_NAMES.TITLE, attributes);\n};\n\nvar updateAttributes = function updateAttributes(tagName, attributes) {\n var elementTag = document.getElementsByTagName(tagName)[0];\n\n if (!elementTag) {\n return;\n }\n\n var helmetAttributeString = elementTag.getAttribute(HELMET_ATTRIBUTE);\n var helmetAttributes = helmetAttributeString ? helmetAttributeString.split(\",\") : [];\n var attributesToRemove = [].concat(helmetAttributes);\n var attributeKeys = Object.keys(attributes);\n\n for (var i = 0; i < attributeKeys.length; i++) {\n var attribute = attributeKeys[i];\n var value = attributes[attribute] || \"\";\n\n if (elementTag.getAttribute(attribute) !== value) {\n elementTag.setAttribute(attribute, value);\n }\n\n if (helmetAttributes.indexOf(attribute) === -1) {\n helmetAttributes.push(attribute);\n }\n\n var indexToSave = attributesToRemove.indexOf(attribute);\n\n if (indexToSave !== -1) {\n attributesToRemove.splice(indexToSave, 1);\n }\n }\n\n for (var _i = attributesToRemove.length - 1; _i >= 0; _i--) {\n elementTag.removeAttribute(attributesToRemove[_i]);\n }\n\n if (helmetAttributes.length === attributesToRemove.length) {\n elementTag.removeAttribute(HELMET_ATTRIBUTE);\n } else if (elementTag.getAttribute(HELMET_ATTRIBUTE) !== attributeKeys.join(\",\")) {\n elementTag.setAttribute(HELMET_ATTRIBUTE, attributeKeys.join(\",\"));\n }\n};\n\nvar updateTags = function updateTags(type, tags) {\n var headElement = document.head || document.querySelector(TAG_NAMES.HEAD);\n var tagNodes = headElement.querySelectorAll(type + \"[\" + HELMET_ATTRIBUTE + \"]\");\n var oldTags = Array.prototype.slice.call(tagNodes);\n var newTags = [];\n var indexToDelete = void 0;\n\n if (tags && tags.length) {\n tags.forEach(function (tag) {\n var newElement = document.createElement(type);\n\n for (var attribute in tag) {\n if (tag.hasOwnProperty(attribute)) {\n if (attribute === TAG_PROPERTIES.INNER_HTML) {\n newElement.innerHTML = tag.innerHTML;\n } else if (attribute === TAG_PROPERTIES.CSS_TEXT) {\n if (newElement.styleSheet) {\n newElement.styleSheet.cssText = tag.cssText;\n } else {\n newElement.appendChild(document.createTextNode(tag.cssText));\n }\n } else {\n var value = typeof tag[attribute] === \"undefined\" ? \"\" : tag[attribute];\n newElement.setAttribute(attribute, value);\n }\n }\n }\n\n newElement.setAttribute(HELMET_ATTRIBUTE, \"true\"); // Remove a duplicate tag from domTagstoRemove, so it isn't cleared.\n\n if (oldTags.some(function (existingTag, index) {\n indexToDelete = index;\n return newElement.isEqualNode(existingTag);\n })) {\n oldTags.splice(indexToDelete, 1);\n } else {\n newTags.push(newElement);\n }\n });\n }\n\n oldTags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n newTags.forEach(function (tag) {\n return headElement.appendChild(tag);\n });\n return {\n oldTags: oldTags,\n newTags: newTags\n };\n};\n\nvar generateElementAttributesAsString = function generateElementAttributesAsString(attributes) {\n return Object.keys(attributes).reduce(function (str, key) {\n var attr = typeof attributes[key] !== \"undefined\" ? key + \"=\\\"\" + attributes[key] + \"\\\"\" : \"\" + key;\n return str ? str + \" \" + attr : attr;\n }, \"\");\n};\n\nvar generateTitleAsString = function generateTitleAsString(type, title, attributes, encode) {\n var attributeString = generateElementAttributesAsString(attributes);\n var flattenedTitle = flattenArray(title);\n return attributeString ? \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeString + \">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"\" : \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"\";\n};\n\nvar generateTagsAsString = function generateTagsAsString(type, tags, encode) {\n return tags.reduce(function (str, tag) {\n var attributeHtml = Object.keys(tag).filter(function (attribute) {\n return !(attribute === TAG_PROPERTIES.INNER_HTML || attribute === TAG_PROPERTIES.CSS_TEXT);\n }).reduce(function (string, attribute) {\n var attr = typeof tag[attribute] === \"undefined\" ? attribute : attribute + \"=\\\"\" + encodeSpecialCharacters(tag[attribute], encode) + \"\\\"\";\n return string ? string + \" \" + attr : attr;\n }, \"\");\n var tagContent = tag.innerHTML || tag.cssText || \"\";\n var isSelfClosing = SELF_CLOSING_TAGS.indexOf(type) === -1;\n return str + \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeHtml + (isSelfClosing ? \"/>\" : \">\" + tagContent + \"\");\n }, \"\");\n};\n\nvar convertElementAttributestoReactProps = function convertElementAttributestoReactProps(attributes) {\n var initProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Object.keys(attributes).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key] || key] = attributes[key];\n return obj;\n }, initProps);\n};\n\nvar convertReactPropstoHtmlAttributes = function convertReactPropstoHtmlAttributes(props) {\n var initAttributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Object.keys(props).reduce(function (obj, key) {\n obj[HTML_TAG_MAP[key] || key] = props[key];\n return obj;\n }, initAttributes);\n};\n\nvar generateTitleAsReactComponent = function generateTitleAsReactComponent(type, title, attributes) {\n var _initProps; // assigning into an array to define toString function on it\n\n\n var initProps = (_initProps = {\n key: title\n }, _initProps[HELMET_ATTRIBUTE] = true, _initProps);\n var props = convertElementAttributestoReactProps(attributes, initProps);\n return [React.createElement(TAG_NAMES.TITLE, props, title)];\n};\n\nvar generateTagsAsReactComponent = function generateTagsAsReactComponent(type, tags) {\n return tags.map(function (tag, i) {\n var _mappedTag;\n\n var mappedTag = (_mappedTag = {\n key: i\n }, _mappedTag[HELMET_ATTRIBUTE] = true, _mappedTag);\n Object.keys(tag).forEach(function (attribute) {\n var mappedAttribute = REACT_TAG_MAP[attribute] || attribute;\n\n if (mappedAttribute === TAG_PROPERTIES.INNER_HTML || mappedAttribute === TAG_PROPERTIES.CSS_TEXT) {\n var content = tag.innerHTML || tag.cssText;\n mappedTag.dangerouslySetInnerHTML = {\n __html: content\n };\n } else {\n mappedTag[mappedAttribute] = tag[attribute];\n }\n });\n return React.createElement(type, mappedTag);\n });\n};\n\nvar getMethodsForTag = function getMethodsForTag(type, tags, encode) {\n switch (type) {\n case TAG_NAMES.TITLE:\n return {\n toComponent: function toComponent() {\n return generateTitleAsReactComponent(type, tags.title, tags.titleAttributes, encode);\n },\n toString: function toString() {\n return generateTitleAsString(type, tags.title, tags.titleAttributes, encode);\n }\n };\n\n case ATTRIBUTE_NAMES.BODY:\n case ATTRIBUTE_NAMES.HTML:\n return {\n toComponent: function toComponent() {\n return convertElementAttributestoReactProps(tags);\n },\n toString: function toString() {\n return generateElementAttributesAsString(tags);\n }\n };\n\n default:\n return {\n toComponent: function toComponent() {\n return generateTagsAsReactComponent(type, tags);\n },\n toString: function toString() {\n return generateTagsAsString(type, tags, encode);\n }\n };\n }\n};\n\nvar mapStateOnServer = function mapStateOnServer(_ref) {\n var baseTag = _ref.baseTag,\n bodyAttributes = _ref.bodyAttributes,\n encode = _ref.encode,\n htmlAttributes = _ref.htmlAttributes,\n linkTags = _ref.linkTags,\n metaTags = _ref.metaTags,\n noscriptTags = _ref.noscriptTags,\n scriptTags = _ref.scriptTags,\n styleTags = _ref.styleTags,\n _ref$title = _ref.title,\n title = _ref$title === undefined ? \"\" : _ref$title,\n titleAttributes = _ref.titleAttributes;\n return {\n base: getMethodsForTag(TAG_NAMES.BASE, baseTag, encode),\n bodyAttributes: getMethodsForTag(ATTRIBUTE_NAMES.BODY, bodyAttributes, encode),\n htmlAttributes: getMethodsForTag(ATTRIBUTE_NAMES.HTML, htmlAttributes, encode),\n link: getMethodsForTag(TAG_NAMES.LINK, linkTags, encode),\n meta: getMethodsForTag(TAG_NAMES.META, metaTags, encode),\n noscript: getMethodsForTag(TAG_NAMES.NOSCRIPT, noscriptTags, encode),\n script: getMethodsForTag(TAG_NAMES.SCRIPT, scriptTags, encode),\n style: getMethodsForTag(TAG_NAMES.STYLE, styleTags, encode),\n title: getMethodsForTag(TAG_NAMES.TITLE, {\n title: title,\n titleAttributes: titleAttributes\n }, encode)\n };\n};\n\nvar Helmet = function Helmet(Component) {\n var _class, _temp;\n\n return _temp = _class = function (_React$Component) {\n inherits(HelmetWrapper, _React$Component);\n\n function HelmetWrapper() {\n classCallCheck(this, HelmetWrapper);\n return possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n HelmetWrapper.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return !isEqual(this.props, nextProps);\n };\n\n HelmetWrapper.prototype.mapNestedChildrenToProps = function mapNestedChildrenToProps(child, nestedChildren) {\n if (!nestedChildren) {\n return null;\n }\n\n switch (child.type) {\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.NOSCRIPT:\n return {\n innerHTML: nestedChildren\n };\n\n case TAG_NAMES.STYLE:\n return {\n cssText: nestedChildren\n };\n }\n\n throw new Error(\"<\" + child.type + \" /> elements are self-closing and can not contain children. Refer to our API for more information.\");\n };\n\n HelmetWrapper.prototype.flattenArrayTypeChildren = function flattenArrayTypeChildren(_ref) {\n var _babelHelpers$extends;\n\n var child = _ref.child,\n arrayTypeChildren = _ref.arrayTypeChildren,\n newChildProps = _ref.newChildProps,\n nestedChildren = _ref.nestedChildren;\n return _extends({}, arrayTypeChildren, (_babelHelpers$extends = {}, _babelHelpers$extends[child.type] = [].concat(arrayTypeChildren[child.type] || [], [_extends({}, newChildProps, this.mapNestedChildrenToProps(child, nestedChildren))]), _babelHelpers$extends));\n };\n\n HelmetWrapper.prototype.mapObjectTypeChildren = function mapObjectTypeChildren(_ref2) {\n var _babelHelpers$extends2, _babelHelpers$extends3;\n\n var child = _ref2.child,\n newProps = _ref2.newProps,\n newChildProps = _ref2.newChildProps,\n nestedChildren = _ref2.nestedChildren;\n\n switch (child.type) {\n case TAG_NAMES.TITLE:\n return _extends({}, newProps, (_babelHelpers$extends2 = {}, _babelHelpers$extends2[child.type] = nestedChildren, _babelHelpers$extends2.titleAttributes = _extends({}, newChildProps), _babelHelpers$extends2));\n\n case TAG_NAMES.BODY:\n return _extends({}, newProps, {\n bodyAttributes: _extends({}, newChildProps)\n });\n\n case TAG_NAMES.HTML:\n return _extends({}, newProps, {\n htmlAttributes: _extends({}, newChildProps)\n });\n }\n\n return _extends({}, newProps, (_babelHelpers$extends3 = {}, _babelHelpers$extends3[child.type] = _extends({}, newChildProps), _babelHelpers$extends3));\n };\n\n HelmetWrapper.prototype.mapArrayTypeChildrenToProps = function mapArrayTypeChildrenToProps(arrayTypeChildren, newProps) {\n var newFlattenedProps = _extends({}, newProps);\n\n Object.keys(arrayTypeChildren).forEach(function (arrayChildName) {\n var _babelHelpers$extends4;\n\n newFlattenedProps = _extends({}, newFlattenedProps, (_babelHelpers$extends4 = {}, _babelHelpers$extends4[arrayChildName] = arrayTypeChildren[arrayChildName], _babelHelpers$extends4));\n });\n return newFlattenedProps;\n };\n\n HelmetWrapper.prototype.warnOnInvalidChildren = function warnOnInvalidChildren(child, nestedChildren) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!VALID_TAG_NAMES.some(function (name) {\n return child.type === name;\n })) {\n if (typeof child.type === \"function\") {\n return warn(\"You may be attempting to nest components within each other, which is not allowed. Refer to our API for more information.\");\n }\n\n return warn(\"Only elements types \" + VALID_TAG_NAMES.join(\", \") + \" are allowed. Helmet does not support rendering <\" + child.type + \"> elements. Refer to our API for more information.\");\n }\n\n if (nestedChildren && typeof nestedChildren !== \"string\" && (!Array.isArray(nestedChildren) || nestedChildren.some(function (nestedChild) {\n return typeof nestedChild !== \"string\";\n }))) {\n throw new Error(\"Helmet expects a string as a child of <\" + child.type + \">. Did you forget to wrap your children in braces? ( <\" + child.type + \">{``} ) Refer to our API for more information.\");\n }\n }\n\n return true;\n };\n\n HelmetWrapper.prototype.mapChildrenToProps = function mapChildrenToProps(children, newProps) {\n var _this2 = this;\n\n var arrayTypeChildren = {};\n React.Children.forEach(children, function (child) {\n if (!child || !child.props) {\n return;\n }\n\n var _child$props = child.props,\n nestedChildren = _child$props.children,\n childProps = objectWithoutProperties(_child$props, [\"children\"]);\n var newChildProps = convertReactPropstoHtmlAttributes(childProps);\n\n _this2.warnOnInvalidChildren(child, nestedChildren);\n\n switch (child.type) {\n case TAG_NAMES.LINK:\n case TAG_NAMES.META:\n case TAG_NAMES.NOSCRIPT:\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.STYLE:\n arrayTypeChildren = _this2.flattenArrayTypeChildren({\n child: child,\n arrayTypeChildren: arrayTypeChildren,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n\n default:\n newProps = _this2.mapObjectTypeChildren({\n child: child,\n newProps: newProps,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n }\n });\n newProps = this.mapArrayTypeChildrenToProps(arrayTypeChildren, newProps);\n return newProps;\n };\n\n HelmetWrapper.prototype.render = function render() {\n var _props = this.props,\n children = _props.children,\n props = objectWithoutProperties(_props, [\"children\"]);\n\n var newProps = _extends({}, props);\n\n if (children) {\n newProps = this.mapChildrenToProps(children, newProps);\n }\n\n return React.createElement(Component, newProps);\n };\n\n createClass(HelmetWrapper, null, [{\n key: \"canUseDOM\",\n // Component.peek comes from react-side-effect:\n // For testing, you may use a static peek() method available on the returned component.\n // It lets you get the current state without resetting the mounted instance stack.\n // Don’t use it for anything other than testing.\n\n /**\n * @param {Object} base: {\"target\": \"_blank\", \"href\": \"http://mysite.com/\"}\n * @param {Object} bodyAttributes: {\"className\": \"root\"}\n * @param {String} defaultTitle: \"Default Title\"\n * @param {Boolean} defer: true\n * @param {Boolean} encodeSpecialCharacters: true\n * @param {Object} htmlAttributes: {\"lang\": \"en\", \"amp\": undefined}\n * @param {Array} link: [{\"rel\": \"canonical\", \"href\": \"http://mysite.com/example\"}]\n * @param {Array} meta: [{\"name\": \"description\", \"content\": \"Test description\"}]\n * @param {Array} noscript: [{\"innerHTML\": \" console.log(newState)\"\n * @param {Array} script: [{\"type\": \"text/javascript\", \"src\": \"http://mysite.com/js/test.js\"}]\n * @param {Array} style: [{\"type\": \"text/css\", \"cssText\": \"div { display: block; color: blue; }\"}]\n * @param {String} title: \"Title\"\n * @param {Object} titleAttributes: {\"itemprop\": \"name\"}\n * @param {String} titleTemplate: \"MySite.com - %s\"\n */\n set: function set$$1(canUseDOM) {\n Component.canUseDOM = canUseDOM;\n }\n }]);\n return HelmetWrapper;\n }(React.Component), _class.propTypes = {\n base: PropTypes.object,\n bodyAttributes: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n defaultTitle: PropTypes.string,\n defer: PropTypes.bool,\n encodeSpecialCharacters: PropTypes.bool,\n htmlAttributes: PropTypes.object,\n link: PropTypes.arrayOf(PropTypes.object),\n meta: PropTypes.arrayOf(PropTypes.object),\n noscript: PropTypes.arrayOf(PropTypes.object),\n onChangeClientState: PropTypes.func,\n script: PropTypes.arrayOf(PropTypes.object),\n style: PropTypes.arrayOf(PropTypes.object),\n title: PropTypes.string,\n titleAttributes: PropTypes.object,\n titleTemplate: PropTypes.string\n }, _class.defaultProps = {\n defer: true,\n encodeSpecialCharacters: true\n }, _class.peek = Component.peek, _class.rewind = function () {\n var mappedState = Component.rewind();\n\n if (!mappedState) {\n // provide fallback if mappedState is undefined\n mappedState = mapStateOnServer({\n baseTag: [],\n bodyAttributes: {},\n encodeSpecialCharacters: true,\n htmlAttributes: {},\n linkTags: [],\n metaTags: [],\n noscriptTags: [],\n scriptTags: [],\n styleTags: [],\n title: \"\",\n titleAttributes: {}\n });\n }\n\n return mappedState;\n }, _temp;\n};\n\nvar NullComponent = function NullComponent() {\n return null;\n};\n\nvar HelmetSideEffects = withSideEffect(reducePropsToState, handleClientStateChange, mapStateOnServer)(NullComponent);\nvar HelmetExport = Helmet(HelmetSideEffects);\nHelmetExport.renderStatic = HelmetExport.rewind;\nexport default HelmetExport;\nexport { HelmetExport as Helmet };","var $export = require('./_export');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function (string, tag, attribute, value) {\n var S = String(defined(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\nmodule.exports = function (NAME, exec) {\n var O = {};\n O[NAME] = exec(createHTML);\n $export($export.P + $export.F * fails(function () {\n var test = ''[NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n }), 'String', O);\n};\n","import React from 'react'\nimport { Helmet } from 'react-helmet'\n\nimport { SiteSiteMetadata } from '../../../types/graphql-types'\n\ninterface Props {\n site:\n | Pick\n | null\n | undefined\n title?: string\n}\n\nconst Meta: React.FC = ({ site, title }: Props) => {\n const siteTitle = site?.title || ''\n const siteUrl = site?.siteUrl || ''\n const siteDescription = site?.description || ''\n const pageTitle = title ? `${title} | ${siteTitle}` : siteTitle\n return (\n \n )\n}\nexport default Meta\n","var g; // This works in non-strict mode\n\ng = function () {\n return this;\n}();\n\ntry {\n // This works if eval is allowed (see CSP)\n g = g || new Function(\"return this\")();\n} catch (e) {\n // This works if the window reference is available\n if (typeof window === \"object\") g = window;\n} // g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\n\nmodule.exports = g;","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(6);\nvar KEY = 'findIndex';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n"],"sourceRoot":""}