-
Notifications
You must be signed in to change notification settings - Fork 0
/
component---src-pages-index-js-3cfaf798ead1e14c8bf1.js.map
1 lines (1 loc) · 192 KB
/
component---src-pages-index-js-3cfaf798ead1e14c8bf1.js.map
1
{"version":3,"sources":["webpack:///./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/core-js/internals/engine-is-ie-or-edge.js","webpack:///./node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/core-js/internals/classof.js","webpack:///./node_modules/gatsby-image/index.js","webpack:///./node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/core-js/internals/to-string-tag-support.js","webpack:///./node_modules/core-js/internals/engine-ff-version.js","webpack:///./node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/axios/lib/helpers/spread.js","webpack:///./node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/axios/lib/defaults.js","webpack:///./node_modules/gatsby-plugin-google-analytics/index.js","webpack:///./node_modules/axios/lib/core/createError.js","webpack:///./node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/unquote/index.js","webpack:///./node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./src/components/api.js","webpack:///./src/components/Nav.jsx","webpack:///./src/components/Header.jsx","webpack:///./node_modules/markdown-to-jsx/dist/esm.js","webpack:///./src/components/Changelog.jsx","webpack:///./src/components/Features.jsx","webpack:///./src/components/PayPalDonateBtn.jsx","webpack:///./src/components/Footer.jsx","webpack:///./src/components/CTA.jsx","webpack:///./src/pages/index.js","webpack:///./node_modules/axios/lib/core/settle.js","webpack:///./node_modules/core-js/internals/array-slice-simple.js","webpack:///./node_modules/core-js/modules/es.array.sort.js","webpack:///./node_modules/core-js/internals/engine-webkit-version.js","webpack:///./node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/core-js/internals/to-string.js","webpack:///./node_modules/axios/lib/cancel/Cancel.js","webpack:///./node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/core-js/internals/create-property.js","webpack:///./node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/core-js/internals/array-sort.js","webpack:///./node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/axios/index.js","webpack:///./node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/axios/node_modules/is-buffer/index.js","webpack:///./node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/axios/lib/utils.js","webpack:///./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///./node_modules/axios/lib/axios.js"],"names":["module","exports","url","test","UA","baseURL","relativeURL","replace","global","TO_STRING_TAG_SUPPORT","isCallable","classofRaw","TO_STRING_TAG","wellKnownSymbol","Object","CORRECT_ARGUMENTS","arguments","it","O","tag","result","undefined","key","error","tryGet","callee","_interopRequireDefault","require","__esModule","default","io","_assertThisInitialized2","_inheritsLoose2","_objectWithoutPropertiesLoose2","_extends2","_react","_propTypes","convertProps","props","convertedProps","resolutions","sizes","critical","fixed","fluid","loading","groupByMedia","concat","matchesMedia","_ref","media","isBrowser","window","matchMedia","matches","getImageCacheKey","_ref2","srcData","getCurrentSrcData","src","currentData","Array","isArray","some","image","hasArtDirectionSupport","foundMedia","findIndex","noMedia","imageCache","create","inImageCache","cacheKey","hasNativeLazyLoadSupport","HTMLImageElement","prototype","hasIOSupport","IntersectionObserver","listeners","WeakMap","generateImageSources","imageVariants","map","_ref3","srcSet","srcSetWebp","createElement","Fragment","type","withMedia","without","forEach","variant","push","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","width","height","crossOrigin","draggable","join","Placeholder","forwardRef","ref","generateSources","spreadProps","ariaHidden","baseImage","Img","length","style","onLoad","onError","otherProps","position","top","left","objectFit","objectPosition","propTypes","object","func","Image","_React$Component","_this","call","this","seenBefore","isCritical","addNoScript","fadeIn","useIOSupport","isVisible","state","imgLoaded","imgCached","isHydrated","imageRef","createRef","placeholderRef","handleImageLoaded","bind","handleRef","_proto","componentDidMount","setState","onStartLoad","wasCached","img","current","complete","componentWillUnmount","cleanUpListeners","_this2","imageInCache","currentSrc","render","_convertProps","className","_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","divStyle","display","Component","defaultProps","fixedObject","shape","number","isRequired","string","srcWebp","fluidObject","requireFixedOrFluid","originalPropTypes","propName","componentName","_PropTypes$checkPropT","Error","checkPropTypes","oneOfType","arrayOf","bool","oneOf","_default","utils","InterceptorManager","handlers","use","fulfilled","rejected","eject","id","fn","h","String","firefox","match","defaults","dispatchRequest","Axios","instanceConfig","interceptors","request","response","config","merge","method","toLowerCase","chain","promise","Promise","resolve","interceptor","unshift","then","shift","data","callback","arr","apply","thisArg","args","i","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","headers","value","isUndefined","adapter","XMLHttpRequest","process","transformRequest","isFormData","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","toString","isObject","transformResponse","parse","e","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","status","common","OutboundLink","trackCustomEvent","category","action","label","_ref$nonInteraction","nonInteraction","transport","hitCallback","_ref$callbackTimeout","callbackTimeout","ga","trackingEventOptions","eventCategory","eventAction","eventLabel","eventValue","opt_timeout","called","raceCallback","setTimeout","createFunctionWithTimeout","rest","onClick","redirect","button","altKey","ctrlKey","metaKey","shiftKey","defaultPrevented","href","document","location","enhanceError","message","code","__CANCEL__","reg","str","charAt","substr","encode","val","encodeURIComponent","params","paramsSerializer","serializedParams","parts","v","isDate","toISOString","indexOf","isStandardBrowserEnv","originURL","msie","navigator","userAgent","urlParsingNode","resolveURL","setAttribute","protocol","host","search","hash","hostname","port","pathname","requestURL","parsed","isString","axios","configs","github_api_url","Nav","d","transform","headerIcon","childImageSharp","color","main_color","app_name","app_github_url","community_website","React","PureComponent","Header","version","background","appIconLarge","toUpperCase","app_description","app_lead","altMonitorWithPrintsPreview","app_sub_lead","_extends","assign","a","b","c","hasOwnProperty","_typeof","Symbol","iterator","constructor","ATTRIBUTE_TO_JSX_PROP_MAP","accesskey","allowfullscreen","allowtransparency","autocomplete","autofocus","autoplay","cellpadding","cellspacing","charset","class","classid","colspan","contenteditable","contextmenu","crossorigin","enctype","for","formaction","formenctype","formmethod","formnovalidate","formtarget","frameborder","hreflang","inputmode","keyparams","keytype","marginheight","marginwidth","maxlength","mediagroup","minlength","novalidate","radiogroup","readonly","rowspan","spellcheck","srcdoc","srclang","srcset","tabindex","usemap","namedCodesToUnicode","amp","apos","gt","lt","nbsp","quot","DO_NOT_PROCESS_HTML_ELEMENTS","ATTR_EXTRACTOR_R","AUTOLINK_MAILTO_CHECK_R","BLOCK_END_R","BLOCKQUOTE_R","BLOCKQUOTE_TRIM_LEFT_MULTILINE_R","BREAK_LINE_R","BREAK_THEMATIC_R","CODE_BLOCK_FENCED_R","CODE_BLOCK_R","CODE_INLINE_R","CONSECUTIVE_NEWLINE_R","CR_NEWLINE_R","FOOTNOTE_R","FOOTNOTE_REFERENCE_R","FORMFEED_R","GFM_TASK_R","HEADING_R","HEADING_SETEXT_R","HTML_BLOCK_ELEMENT_R","HTML_CHAR_CODE_R","HTML_COMMENT_R","HTML_CUSTOM_ATTR_R","HTML_SELF_CLOSING_ELEMENT_R","INTERPOLATION_R","LINK_AUTOLINK_BARE_URL_R","LINK_AUTOLINK_MAILTO_R","LINK_AUTOLINK_R","LIST_ITEM_END_R","LIST_LOOKBEHIND_R","CAPTURE_LETTER_AFTER_HYPHEN","NP_TABLE_R","PARAGRAPH_R","REFERENCE_IMAGE_OR_LINK","REFERENCE_IMAGE_R","REFERENCE_LINK_R","SQUARE_BRACKETS_R","SHOULD_RENDER_AS_BLOCK_R","TAB_R","TABLE_SEPARATOR_R","TABLE_TRIM_PIPES","TABLE_CELL_END_TRIM","TABLE_CENTER_ALIGN","TABLE_LEFT_ALIGN","TABLE_RIGHT_ALIGN","TEXT_BOLD_R","TEXT_EMPHASIZED_R","TEXT_STRIKETHROUGHED_R","TEXT_ESCAPED_R","TEXT_PLAIN_R","TRIM_NEWLINES_AND_TRAILING_WHITESPACE_R","HTML_LEFT_TRIM_AMOUNT_R","UNESCAPE_URL_R","LIST_ITEM_PREFIX_R","LIST_ITEM_R","LIST_R","LINK_R","IMAGE_R","BLOCK_SYNTAXES","slugify","parseTableAlignCapture","parseTableRow","inTable","trim","f","content","parseTable","inline","split","parseTableAlign","parseTableCells","align","cells","header","getTableStyle","textAlign","parserFor","g","l","j","k","substring","m","keys","sort","order","normalizeWhitespace","inlineRegex","exec","simpleInlineRegex","simple","blockRegex","anyScopeRegex","sanitizeUrl","decodeURIComponent","unescapeUrl","parseInline","parseSimpleInline","parseBlock","parseCaptureInline","captureNothing","renderNothing","cx","filter","Boolean","getTag","compiler","overrides","forceInline","forceBlock","reduce","normalizeAttributeKey","slice","attributeValueToJSXPropValue","cloneElement","blockQuote","react","breakLine","breakThematic","codeBlock","lang","codeFenced","codeInline","footnote","identifier","footnoteReference","gfmTask","completed","checked","readOnly","heading","level","headingSetext","htmlComment","link","linkAngleBraceStyleDetector","linkBareUrlDetector","linkMailtoDetector","list","_list","items","RegExp","o","n","p","ordered","start","newlineCoalescer","paragraph","refImage","refLink","fallbackContent","table","tableSeparator","text","textBolded","textEmphasized","textEscaped","textStrikethroughed","disableParsingRawHTML","htmlBlock","containsBlockSyntax","attrs","noInnerParse","htmlSelfClosing","reactFor","ruleOutput","children","Markdown","options","_objectWithoutProperties","Changelog","releaseNotes","rel","Features","featuresOpen","titleRef","scrollToRef","scrollTo","offsetTop","toggleFeatures","features","feature","index","fab","fontawesome_icon_name","titleImage","soon","beta","description","PaypalDonate","name","border","Footer","gravatar_url","your_link","your_name","facebook_username","aria-label","twitter_username","github_username","linkedin_username","email_address","app_creation_date","Date","getFullYear","CTA","getExtension","downloadLink","splitLink","downloadLinks","monitorWithPrintsPreview","extension","isExtensionValid","supported_extensions","IndexPage","releases","getReleases","Api","releaseData","newVersion","tag_name","newNotes","body","newReleases","assets","localStorage","setItem","getItem","getDownloadLinks","release","browser_download_url","keywords","app_keywords","createError","reject","toAbsoluteIndex","lengthOfArrayLike","createProperty","max","Math","end","fin","$","uncurryThis","aCallable","toObject","fails","internalSort","arrayMethodIsStrict","FF","IE_OR_EDGE","V8","WEBKIT","un$Sort","FAILS_ON_UNDEFINED","FAILS_ON_NULL","STRICT_METHOD","STABLE_SORT","chr","fromCharCode","proto","forced","comparefn","array","itemsLength","arrayLength","x","y","getSortCompare","webkit","transformData","isCancel","isAbsoluteURL","combineURLs","throwIfCancellationRequested","cancelToken","throwIfRequested","reason","classof","argument","TypeError","Cancel","write","expires","path","domain","secure","cookie","isNumber","toGMTString","read","remove","now","toPropertyKey","definePropertyModule","createPropertyDescriptor","propertyKey","CancelToken","executor","resolvePromise","token","source","cancel","arraySlice","floor","mergeSort","middle","insertionSort","element","llength","rlength","lindex","rindex","settle","buildURL","parseHeaders","isURLSameOrigin","requestData","requestHeaders","auth","username","password","Authorization","btoa","open","onreadystatechange","readyState","responseURL","responseHeaders","getAllResponseHeaders","responseType","responseText","statusText","onerror","ontimeout","cookies","xsrfValue","withCredentials","setRequestHeader","onDownloadProgress","addEventListener","onUploadProgress","upload","abort","send","ignoreDuplicateOf","line","obj","fns","isFunction","FormData","ArrayBuffer","isView","pipe","URLSearchParams","product","assignValue","extend","normalizedName","createInstance","defaultConfig","context","instance","all","promises","spread"],"mappings":"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","file":"component---src-pages-index-js-3cfaf798ead1e14c8bf1.js","sourcesContent":["'use strict';\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\n\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};","var UA = require('../internals/engine-user-agent');\n\nmodule.exports = /MSIE|Trident/.test(UA);\n","'use strict';\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\n\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '') : baseURL;\n};","var global = require('../internals/global');\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar Object = global.Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","\"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 logDeprecationNotice(\"resolutions\", \"the gatsby-image v2 prop \\\"fixed\\\"\");\n delete convertedProps.resolutions;\n }\n\n if (sizes) {\n convertedProps.fluid = sizes;\n logDeprecationNotice(\"sizes\", \"the gatsby-image v2 prop \\\"fluid\\\"\");\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?} Returns image src or undefined it not given.\n */\n\n\nvar getImageCacheKey = function getImageCacheKey(_ref2) {\n var fluid = _ref2.fluid,\n fixed = _ref2.fixed;\n var srcData = getCurrentSrcData(fluid || fixed || []);\n return srcData && srcData.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);\n var cacheKey = getImageCacheKey(convertedProps);\n return imageCache[cacheKey] || false;\n};\n\nvar activateCacheForImage = function activateCacheForImage(props) {\n var convertedProps = convertProps(props);\n var cacheKey = getImageCacheKey(convertedProps);\n\n if (cacheKey) {\n imageCache[cacheKey] = true;\n }\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 }), srcSet && /*#__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 \"<source \" + typeAttr + mediaAttr + \"srcset=\\\"\" + src + \"\\\" \" + sizesAttr + \"/>\";\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 \"<picture>\" + sources + \"<img \" + loading + width + height + sizes + srcSet + src + alt + title + crossOrigin + draggable + \"style=\\\"position:absolute;top:0;left:0;opacity:1;width:100%;height:100%;object-fit:cover;object-position:center\\\"/></picture>\";\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 isHydrated: false\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 this.setState({\n isHydrated: isBrowser\n });\n\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 imageVariants = fluid || fixed; // Abort early if missing image data (#25371)\n\n if (!imageVariants) {\n return null;\n }\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 }; // Initial client render state needs to match SSR until hydration finishes.\n // Once hydration completes, render again to update to the correct image.\n // `imageVariants` is always an Array type at this point due to `convertProps()`\n\n var image = !this.state.isHydrated ? imageVariants[0] : getCurrentSrcData(imageVariants);\n\n if (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 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});\n\nfunction requireFixedOrFluid(originalPropTypes) {\n return function (props, propName, componentName) {\n var _PropTypes$checkPropT;\n\n if (!props.fixed && !props.fluid) {\n throw new Error(\"The prop `fluid` or `fixed` is marked as required in `\" + componentName + \"`, but their values are both `undefined`.\");\n }\n\n _propTypes.default.checkPropTypes((_PropTypes$checkPropT = {}, _PropTypes$checkPropT[propName] = originalPropTypes, _PropTypes$checkPropT), props, \"prop\", componentName);\n };\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: requireFixedOrFluid(_propTypes.default.oneOfType([fixedObject, _propTypes.default.arrayOf(fixedObject)])),\n fluid: requireFixedOrFluid(_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;","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n\n\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\n\n\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\n\n\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var userAgent = require('../internals/engine-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","'use strict';\n\nvar defaults = require('./../defaults');\n\nvar utils = require('./../utils');\n\nvar InterceptorManager = require('./InterceptorManager');\n\nvar dispatchRequest = require('./dispatchRequest');\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\n\n\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\n\n\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, {\n method: 'get'\n }, this.defaults, config);\n config.method = config.method.toLowerCase(); // Hook up interceptors middleware\n\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n}; // Provide aliases for supported request methods\n\n\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\nmodule.exports = Axios;","'use strict';\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\n\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n return fn.apply(thisArg, args);\n };\n};","'use strict';\n\nvar utils = require('./utils');\n\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) || utils.isArrayBuffer(data) || utils.isBuffer(data) || utils.isStream(data) || utils.isFile(data) || utils.isBlob(data)) {\n return data;\n }\n\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n\n return data;\n }],\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) {\n /* Ignore */\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n maxContentLength: -1,\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\nmodule.exports = defaults;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.OutboundLink = OutboundLink;\nexports.trackCustomEvent = trackCustomEvent;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar createFunctionWithTimeout = function createFunctionWithTimeout(callback, opt_timeout) {\n if (opt_timeout === void 0) {\n opt_timeout = 1000;\n }\n\n var called = false;\n\n var raceCallback = function raceCallback() {\n if (!called) {\n called = true;\n callback();\n }\n };\n\n setTimeout(raceCallback, opt_timeout);\n return raceCallback;\n};\n\nfunction OutboundLink(props) {\n var eventCategory = props.eventCategory,\n eventAction = props.eventAction,\n eventLabel = props.eventLabel,\n eventValue = props.eventValue,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"eventCategory\", \"eventAction\", \"eventLabel\", \"eventValue\"]);\n return /*#__PURE__*/_react.default.createElement(\"a\", (0, _extends2.default)({}, rest, {\n onClick: function onClick(e) {\n if (typeof props.onClick === \"function\") {\n props.onClick(e);\n }\n\n var redirect = true;\n\n if (e.button !== 0 || e.altKey || e.ctrlKey || e.metaKey || e.shiftKey || e.defaultPrevented) {\n redirect = false;\n }\n\n if (props.target && props.target.toLowerCase() !== \"_self\") {\n redirect = false;\n }\n\n if (window.ga) {\n window.ga(\"send\", \"event\", {\n eventCategory: eventCategory || \"Outbound Link\",\n eventAction: eventAction || \"click\",\n eventLabel: eventLabel || props.href,\n eventValue: eventValue,\n transport: redirect ? \"beacon\" : \"\",\n hitCallback: function hitCallback() {\n if (redirect) {\n document.location = props.href;\n }\n }\n });\n } else {\n if (redirect) {\n document.location = props.href;\n }\n }\n\n return false;\n }\n }));\n}\n\nOutboundLink.propTypes = {\n href: _propTypes.default.string,\n target: _propTypes.default.string,\n eventCategory: _propTypes.default.string,\n eventAction: _propTypes.default.string,\n eventLabel: _propTypes.default.string,\n eventValue: _propTypes.default.number,\n onClick: _propTypes.default.func\n};\n/**\n * This allows the user to create custom events within their Gatsby projects.\n *\n * @param {import('gatsby-plugin-google-analytics').CustomEventArgs} args\n * @see https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#events\n */\n\nfunction trackCustomEvent(_ref) {\n var category = _ref.category,\n action = _ref.action,\n label = _ref.label,\n value = _ref.value,\n _ref$nonInteraction = _ref.nonInteraction,\n nonInteraction = _ref$nonInteraction === void 0 ? false : _ref$nonInteraction,\n transport = _ref.transport,\n hitCallback = _ref.hitCallback,\n _ref$callbackTimeout = _ref.callbackTimeout,\n callbackTimeout = _ref$callbackTimeout === void 0 ? 1000 : _ref$callbackTimeout;\n\n if (typeof window !== \"undefined\" && window.ga) {\n var trackingEventOptions = {\n eventCategory: category,\n eventAction: action,\n eventLabel: label,\n eventValue: value,\n nonInteraction: nonInteraction,\n transport: transport\n };\n\n if (hitCallback && typeof hitCallback === \"function\") {\n trackingEventOptions.hitCallback = createFunctionWithTimeout(hitCallback, callbackTimeout);\n }\n\n window.ga(\"send\", \"event\", trackingEventOptions);\n }\n}","'use strict';\n\nvar enhanceError = require('./enhanceError');\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\n\n\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};","var reg = /[\\'\\\"]/;\n\nmodule.exports = function unquote(str) {\n if (!str) {\n return '';\n }\n\n if (reg.test(str.charAt(0))) {\n str = str.substr(1);\n }\n\n if (reg.test(str.charAt(str.length - 1))) {\n str = str.substr(0, str.length - 1);\n }\n\n return str;\n};","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).replace(/%40/gi, '@').replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',').replace(/%20/g, '+').replace(/%5B/gi, '[').replace(/%5D/gi, ']');\n}\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\n\n\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};","'use strict';\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\n\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n return error;\n};","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = utils.isStandardBrowserEnv() ? // Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\nfunction standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href); // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: urlParsingNode.pathname.charAt(0) === '/' ? urlParsingNode.pathname : '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n\n return function isURLSameOrigin(requestURL) {\n var parsed = utils.isString(requestURL) ? resolveURL(requestURL) : requestURL;\n return parsed.protocol === originURL.protocol && parsed.host === originURL.host;\n };\n}() : // Non standard browser envs (web workers, react-native) lack needed support.\nfunction nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n}();","import axios from \"axios\"\nimport configs from \"../../site-config\"\n\nexport default axios.create({\n baseURL: configs.github_api_url,\n timeout: 3000,\n})\n","import React from \"react\"\nimport { trackCustomEvent } from \"gatsby-plugin-google-analytics\"\nimport Img from \"gatsby-image\"\nimport configs from \"../../site-config\"\n\nclass Nav extends React.PureComponent {\n render() {\n const { data } = this.props\n return (\n <header>\n <div className=\"logo\">\n <div className=\"appIconShadow\">\n <svg width=\"0\" height=\"0\">\n <defs>\n <clipPath id=\"shape\">\n <path\n id=\"shape\"\n d=\"M6181.23,233.709v-1.792c0-.5-0.02-1-0.02-1.523a24.257,24.257,0,0,0-.28-3.3,11.207,11.207,0,0,0-1.04-3.132,10.683,10.683,0,0,0-1.95-2.679,10.384,10.384,0,0,0-2.68-1.943,10.806,10.806,0,0,0-3.13-1.038,19.588,19.588,0,0,0-3.3-.285c-0.5-.017-1-0.017-1.52-0.017h-22.39c-0.51,0-1.01.017-1.53,0.017a24.041,24.041,0,0,0-3.3.285,11.009,11.009,0,0,0-3.13,1.038,10.491,10.491,0,0,0-4.62,4.622,10.893,10.893,0,0,0-1.04,3.132,19.2,19.2,0,0,0-.28,3.3c-0.02.5-.02,1-0.02,1.523v22.392c0,0.5.02,1,.02,1.524a24.257,24.257,0,0,0,.28,3.3,10.9,10.9,0,0,0,1.04,3.132,10.491,10.491,0,0,0,4.62,4.622,11.04,11.04,0,0,0,3.13,1.038,19.891,19.891,0,0,0,3.3.285c0.51,0.017,1.01.017,1.53,0.017h22.39c0.5,0,1-.017,1.52-0.017a24.221,24.221,0,0,0,3.3-.285,10.836,10.836,0,0,0,3.13-1.038,10.408,10.408,0,0,0,2.68-1.943,10.683,10.683,0,0,0,1.95-2.679,11.217,11.217,0,0,0,1.04-3.132,20.257,20.257,0,0,0,.28-3.3c0.02-.5.02-1,0.02-1.524v-20.6h0Z\"\n transform=\"translate(-6131 -218)\"\n />\n </clipPath>\n </defs>\n </svg>\n <Img\n fluid={data.headerIcon.childImageSharp.fluid}\n className=\"headerIcon\"\n />\n </div>\n <h1 className=\"headerName\" style={{ color: configs.main_color }}>\n {configs.app_name}\n </h1>\n </div>\n <nav>\n <ul>\n <li>\n <a\n onClick={() => {\n if (trackCustomEvent) {\n trackCustomEvent({\n category: \"Page Interactions\",\n action: \"Navbar Click\",\n label: `FEATURES`,\n value: 0,\n })\n }\n }}\n href=\"#features\"\n >\n FEATURES\n </a>\n </li>\n <li>\n <a\n onClick={() => {\n if (trackCustomEvent) {\n trackCustomEvent({\n category: \"Page Interactions\",\n action: \"Navbar Click\",\n label: `DOWNLOAD`,\n value: 1,\n })\n }\n }}\n href=\"#cta\"\n >\n DOWNLOAD<i className=\"fas fa-download\"></i>\n </a>\n </li>\n {configs.app_github_url && (\n <li>\n <a\n onClick={() => {\n if (trackCustomEvent) {\n trackCustomEvent({\n category: \"Page Interactions\",\n action: \"Navbar Click\",\n label: `GITHUB`,\n value: 2,\n })\n }\n }}\n href={configs.app_github_url}\n >\n GITHUB <i className=\"fab fa-github\" />\n </a>\n </li>\n )}\n {configs.community_website && (\n <li>\n <a\n onClick={() => {\n if (trackCustomEvent) {\n trackCustomEvent({\n category: \"Page Interactions\",\n action: \"Navbar Click\",\n label: `COMMUNITY`,\n value: 3,\n })\n }\n }}\n href={configs.community_website}\n >\n COMMUNITY <i className=\"fas fa-comments\" />\n </a>\n </li>\n )}\n </ul>\n </nav>\n </header>\n )\n }\n}\n\nexport default Nav\n","import React from \"react\"\nimport Img from \"gatsby-image\"\nimport configs from \"../../site-config\"\nimport { trackCustomEvent } from \"gatsby-plugin-google-analytics\"\n\nclass Header extends React.PureComponent {\n render() {\n const { data, version } = this.props\n return (\n <>\n <div\n className=\"imageWrapper\"\n style={{\n background: configs.main_color,\n }}\n >\n <div className=\"container\">\n <div className=\"appInfo\">\n <div className=\"appIconShadow\">\n <Img\n fluid={data.appIconLarge.childImageSharp.fluid}\n className=\"appIconLarge\"\n />\n </div>\n <h1 className=\"appName\">{configs.app_name.toUpperCase()}</h1>\n <div className=\"appNamePriceContainer\">\n <p className=\"appDescription\">{configs.app_description}</p>\n </div>\n <div className=\"appDescriptionContainer\">\n <p className=\"appLead\">{configs.app_lead}</p>\n <div className=\"versionAndDownloadContainer\">\n <a\n href=\"#cta\"\n onClick={() => {\n if (trackCustomEvent) {\n trackCustomEvent({\n category: \"Page Interactions\",\n action: \"Click\",\n label: `CTA clicked`,\n value: 4,\n })\n }\n }}\n >\n Download<i className=\"fab fa-windows\"></i>\n <i className=\"fab fa-ubuntu\"></i>\n <i className=\"fab fa-apple\"></i>\n </a>\n <p className=\"appVersion\">{version}</p>\n </div>\n </div>\n <div className=\"downloadButtonsContainer\"> </div>\n </div>\n </div>\n </div>\n <div className=\"appSubLeadContainer\">\n <Img\n fluid={data.altMonitorWithPrintsPreview.childImageSharp.fluid}\n className=\"altMonitorWithPrintsPreview\"\n />\n <p className=\"appSublead\">{configs.app_sub_lead}</p>\n </div>\n </>\n )\n }\n}\n\nexport default Header\n","import \"core-js/modules/es.array.reduce.js\";\nimport \"core-js/modules/es.array.sort.js\";\n\nvar _extends = Object.assign || function (a) {\n for (var b, c = 1; c < arguments.length; c++) {\n for (var d in b = arguments[c], b) {\n Object.prototype.hasOwnProperty.call(b, d) && (a[d] = b[d]);\n }\n }\n\n return a;\n},\n _typeof = typeof Symbol == 'function' && typeof Symbol.iterator == 'symbol' ? function (a) {\n return typeof a;\n} : function (a) {\n return a && typeof Symbol == 'function' && a.constructor === Symbol && a !== Symbol.prototype ? 'symbol' : typeof a;\n};\n\nfunction _objectWithoutProperties(a, b) {\n var c = {};\n\n for (var d in a) {\n b.indexOf(d) >= 0 || Object.prototype.hasOwnProperty.call(a, d) && (c[d] = a[d]);\n }\n\n return c;\n}\n\nimport React from 'react';\nimport unquote from 'unquote';\nvar ATTRIBUTE_TO_JSX_PROP_MAP = {\n accesskey: 'accessKey',\n allowfullscreen: 'allowFullScreen',\n allowtransparency: 'allowTransparency',\n autocomplete: 'autoComplete',\n autofocus: 'autoFocus',\n autoplay: 'autoPlay',\n cellpadding: 'cellPadding',\n cellspacing: 'cellSpacing',\n charset: 'charSet',\n class: 'className',\n classid: 'classId',\n colspan: 'colSpan',\n contenteditable: 'contentEditable',\n contextmenu: 'contextMenu',\n crossorigin: 'crossOrigin',\n enctype: 'encType',\n for: 'htmlFor',\n formaction: 'formAction',\n formenctype: 'formEncType',\n formmethod: 'formMethod',\n formnovalidate: 'formNoValidate',\n formtarget: 'formTarget',\n frameborder: 'frameBorder',\n hreflang: 'hrefLang',\n inputmode: 'inputMode',\n keyparams: 'keyParams',\n keytype: 'keyType',\n marginheight: 'marginHeight',\n marginwidth: 'marginWidth',\n maxlength: 'maxLength',\n mediagroup: 'mediaGroup',\n minlength: 'minLength',\n novalidate: 'noValidate',\n radiogroup: 'radioGroup',\n readonly: 'readOnly',\n rowspan: 'rowSpan',\n spellcheck: 'spellCheck',\n srcdoc: 'srcDoc',\n srclang: 'srcLang',\n srcset: 'srcSet',\n tabindex: 'tabIndex',\n usemap: 'useMap'\n},\n namedCodesToUnicode = {\n amp: '&',\n apos: '\\'',\n gt: '>',\n lt: '<',\n nbsp: '\\xA0',\n quot: \"\\u201C\"\n},\n DO_NOT_PROCESS_HTML_ELEMENTS = ['style', 'script'],\n ATTR_EXTRACTOR_R = /([-A-Z0-9_:]+)(?:\\s*=\\s*(?:(?:\"((?:\\\\.|[^\"])*)\")|(?:'((?:\\\\.|[^'])*)')|(?:\\{((?:\\\\.|{[^}]*?}|[^}])*)\\})))?/gi,\n AUTOLINK_MAILTO_CHECK_R = /mailto:/i,\n BLOCK_END_R = /\\n{2,}$/,\n BLOCKQUOTE_R = /^( *>[^\\n]+(\\n[^\\n]+)*\\n*)+\\n{2,}/,\n BLOCKQUOTE_TRIM_LEFT_MULTILINE_R = /^ *> ?/gm,\n BREAK_LINE_R = /^ {2,}\\n/,\n BREAK_THEMATIC_R = /^(?:( *[-*_]) *){3,}(?:\\n *)+\\n/,\n CODE_BLOCK_FENCED_R = /^\\s*(`{3,}|~{3,}) *(\\S+)? *\\n([\\s\\S]+?)\\s*\\1 *(?:\\n *)+\\n?/,\n CODE_BLOCK_R = /^(?: {4}[^\\n]+\\n*)+(?:\\n *)+\\n?/,\n CODE_INLINE_R = /^(`+)\\s*([\\s\\S]*?[^`])\\s*\\1(?!`)/,\n CONSECUTIVE_NEWLINE_R = /^(?:\\n *)*\\n/,\n CR_NEWLINE_R = /\\r\\n?/g,\n FOOTNOTE_R = /^\\[\\^([^\\]]+)](:.*)\\n/,\n FOOTNOTE_REFERENCE_R = /^\\[\\^([^\\]]+)]/,\n FORMFEED_R = /\\f/g,\n GFM_TASK_R = /^\\s*?\\[(x|\\s)\\]/,\n HEADING_R = /^ *(#{1,6}) *([^\\n]+)\\n{0,2}/,\n HEADING_SETEXT_R = /^([^\\n]+)\\n *(=|-){3,} *(?:\\n *)+\\n/,\n HTML_BLOCK_ELEMENT_R = /^ *(?!<[a-z][^ >/]* ?\\/>)<([a-z][^ >/]*) ?([^>]*)\\/{0}>\\n?(\\s*(?:<\\1[^>]*?>[\\s\\S]*?<\\/\\1>|(?!<\\1)[\\s\\S])*?)<\\/\\1>\\n*/i,\n HTML_CHAR_CODE_R = /&([a-z]+);/g,\n HTML_COMMENT_R = /^<!--.*?-->/,\n HTML_CUSTOM_ATTR_R = /^(data|aria|x)-[a-z_][a-z\\d_.-]*$/,\n HTML_SELF_CLOSING_ELEMENT_R = /^ *<([a-z][a-z0-9:]*)(?:\\s+((?:<.*?>|[^>])*))?\\/?>(?!<\\/\\1>)(\\s*\\n)?/i,\n INTERPOLATION_R = /^\\{.*\\}$/,\n LINK_AUTOLINK_BARE_URL_R = /^(https?:\\/\\/[^\\s<]+[^<.,:;\"')\\]\\s])/,\n LINK_AUTOLINK_MAILTO_R = /^<([^ >]+@[^ >]+)>/,\n LINK_AUTOLINK_R = /^<([^ >]+:\\/[^ >]+)>/,\n LIST_ITEM_END_R = / *\\n+$/,\n LIST_LOOKBEHIND_R = /(?:^|\\n)( *)$/,\n CAPTURE_LETTER_AFTER_HYPHEN = /-([a-z])?/gi,\n NP_TABLE_R = /^(.*\\|?.*)\\n *(\\|? *[-:]+ *\\|[-| :]*)\\n((?:.*\\|.*\\n)*)\\n?/,\n PARAGRAPH_R = /^((?:[^\\n]|\\n(?! *\\n))+)(?:\\n *)+\\n/,\n REFERENCE_IMAGE_OR_LINK = /^\\[([^\\]]*)\\]:\\s*(\\S+)\\s*(\"([^\"]*)\")?/,\n REFERENCE_IMAGE_R = /^!\\[([^\\]]*)\\] ?\\[([^\\]]*)\\]/,\n REFERENCE_LINK_R = /^\\[([^\\]]*)\\] ?\\[([^\\]]*)\\]/,\n SQUARE_BRACKETS_R = /(\\[|\\])/g,\n SHOULD_RENDER_AS_BLOCK_R = /(\\n|^[-*]\\s|^#|^ {2,}|^-{2,}|^>\\s)/,\n TAB_R = /\\t/g,\n TABLE_SEPARATOR_R = /^ *\\| */,\n TABLE_TRIM_PIPES = /(^ *\\||\\| *$)/g,\n TABLE_CELL_END_TRIM = / *$/,\n TABLE_CENTER_ALIGN = /^ *:-+: *$/,\n TABLE_LEFT_ALIGN = /^ *:-+ *$/,\n TABLE_RIGHT_ALIGN = /^ *-+: *$/,\n TEXT_BOLD_R = /^([*_])\\1((?:\\[.*?\\][([].*?[)\\]]|<.*?>(?:.*?<.*?>)?|`.*?`|~+.*?~+|.)*?)\\1\\1(?!\\1)/,\n TEXT_EMPHASIZED_R = /^([*_])((?:\\[.*?\\][([].*?[)\\]]|<.*?>(?:.*?<.*?>)?|`.*?`|~+.*?~+|.)*?)\\1(?!\\1)/,\n TEXT_STRIKETHROUGHED_R = /^~~((?:\\[.*?\\]|<.*?>(?:.*?<.*?>)?|`.*?`|.)*?)~~/,\n TEXT_ESCAPED_R = /^\\\\([^0-9A-Za-z\\s])/,\n TEXT_PLAIN_R = /^[\\s\\S]+?(?=[^0-9A-Z\\s\\u00c0-\\uffff&;.()'\"]|\\d+\\.|\\n\\n| {2,}\\n|\\w+:\\S|$)/i,\n TRIM_NEWLINES_AND_TRAILING_WHITESPACE_R = /(^\\n+|\\n+$|\\s+$)/g,\n HTML_LEFT_TRIM_AMOUNT_R = /^([ \\t]*)/,\n UNESCAPE_URL_R = /\\\\([^0-9A-Z\\s])/gi,\n LIST_BULLET = '(?:[*+-]|\\\\d+\\\\.)',\n LIST_ITEM_PREFIX = '( *)((?:[*+-]|\\\\d+\\\\.)) +',\n LIST_ITEM_PREFIX_R = /^( *)((?:[*+-]|\\d+\\.)) +/,\n LIST_ITEM_R = /( *)((?:[*+-]|\\d+\\.)) +[^\\n]*(?:\\n(?!\\1(?:[*+-]|\\d+\\.) )[^\\n]*)*(\\n|$)/gm,\n LIST_R = /^( *)((?:[*+-]|\\d+\\.)) [\\s\\S]+?(?:\\n{2,}(?! )(?!\\1(?:[*+-]|\\d+\\.) (?!(?:[*+-]|\\d+\\.) ))\\n*|\\s*\\n*$)/,\n LINK_INSIDE = '(?:\\\\[[^\\\\]]*\\\\]|[^\\\\[\\\\]]|\\\\](?=[^\\\\[]*\\\\]))*',\n LINK_HREF_AND_TITLE = '\\\\s*<?((?:[^\\\\s\\\\\\\\]|\\\\\\\\.)*?)>?(?:\\\\s+[\\'\"]([\\\\s\\\\S]*?)[\\'\"])?\\\\s*',\n LINK_R = /^\\[((?:\\[[^\\]]*\\]|[^\\[\\]]|\\](?=[^\\[]*\\]))*)\\]\\(\\s*<?((?:[^\\s\\\\]|\\\\.)*?)>?(?:\\s+['\"]([\\s\\S]*?)['\"])?\\s*\\)/,\n IMAGE_R = /^!\\[((?:\\[[^\\]]*\\]|[^\\[\\]]|\\](?=[^\\[]*\\]))*)\\]\\(\\s*<?((?:[^\\s\\\\]|\\\\.)*?)>?(?:\\s+['\"]([\\s\\S]*?)['\"])?\\s*\\)/,\n BLOCK_SYNTAXES = [BLOCKQUOTE_R, CODE_BLOCK_R, CODE_BLOCK_FENCED_R, HEADING_R, HEADING_SETEXT_R, HTML_BLOCK_ELEMENT_R, HTML_COMMENT_R, HTML_SELF_CLOSING_ELEMENT_R, LIST_ITEM_R, LIST_R, NP_TABLE_R, PARAGRAPH_R];\n\nfunction containsBlockSyntax(a) {\n return BLOCK_SYNTAXES.some(function (b) {\n return b.test(a);\n });\n}\n\nfunction slugify(a) {\n return a.replace(/[ÀÁÂÃÄÅàáâãäåæÆ]/g, 'a').replace(/[çÇ]/g, 'c').replace(/[ðÐ]/g, 'd').replace(/[ÈÉÊËéèêë]/g, 'e').replace(/[ÏïÎîÍíÌì]/g, 'i').replace(/[Ññ]/g, 'n').replace(/[øØœŒÕõÔôÓóÒò]/g, 'o').replace(/[ÜüÛûÚúÙù]/g, 'u').replace(/[ŸÿÝý]/g, 'y').replace(/[^a-z0-9- ]/gi, '').replace(/ /gi, '-').toLowerCase();\n}\n\nfunction parseTableAlignCapture(a) {\n if (TABLE_RIGHT_ALIGN.test(a)) return 'right';\n return TABLE_CENTER_ALIGN.test(a) ? 'center' : TABLE_LEFT_ALIGN.test(a) ? 'left' : null;\n}\n\nfunction parseTableRow(a, b, c) {\n var d = c.inTable;\n c.inTable = !0;\n var e = b(a.trim(), c);\n c.inTable = d;\n var f = [[]];\n return e.forEach(function (a, b) {\n a.type === 'tableSeparator' ? b !== 0 && b !== e.length - 1 && f.push([]) : (a.type === 'text' && (e[b + 1] == null || e[b + 1].type === 'tableSeparator') && (a.content = a.content.replace(TABLE_CELL_END_TRIM, '')), f[f.length - 1].push(a));\n }), f;\n}\n\nfunction parseTableAlign(a) {\n var b = a.replace(TABLE_TRIM_PIPES, '').split('|');\n return b.map(parseTableAlignCapture);\n}\n\nfunction parseTableCells(a, b, c) {\n var d = a.trim().split('\\n');\n return d.map(function (a) {\n return parseTableRow(a, b, c);\n });\n}\n\nfunction parseTable(a, b, c) {\n c.inline = !0;\n var d = parseTableRow(a[1], b, c),\n e = parseTableAlign(a[2], b, c),\n f = parseTableCells(a[3], b, c);\n return c.inline = !1, {\n align: e,\n cells: f,\n header: d,\n type: 'table'\n };\n}\n\nfunction getTableStyle(a, b) {\n return a.align[b] == null ? {} : {\n textAlign: a.align[b]\n };\n}\n\nfunction normalizeAttributeKey(a) {\n var b = a.indexOf('-');\n return b !== -1 && a.match(HTML_CUSTOM_ATTR_R) === null && (a = a.replace(CAPTURE_LETTER_AFTER_HYPHEN, function (a, b) {\n return b.toUpperCase();\n })), a;\n}\n\nfunction attributeValueToJSXPropValue(a, b) {\n return a === 'style' ? b.split(/;\\s?/).reduce(function (a, b) {\n var c = b.slice(0, b.indexOf(':')),\n d = c.replace(/(-[a-z])/g, function (a) {\n return a[1].toUpperCase();\n });\n return a[d] = b.slice(c.length + 1).trim(), a;\n }, {}) : a === 'href' ? sanitizeUrl(b) : (b.match(INTERPOLATION_R) && (b = b.slice(1, b.length - 1)), b === 'true' || b !== 'false' && b);\n}\n\nfunction normalizeWhitespace(a) {\n return a.replace(CR_NEWLINE_R, '\\n').replace(FORMFEED_R, '').replace(TAB_R, ' ');\n}\n\nfunction parserFor(a) {\n function b(d, e) {\n for (var f = [], g = ''; d;) {\n for (var l = 0; l < c.length;) {\n var h = c[l],\n j = a[h],\n k = j.match(d, e, g);\n\n if (k) {\n var i = k[0];\n d = d.substring(i.length);\n var m = j.parse(k, b, e);\n m.type == null && (m.type = h), f.push(m), g = i;\n break;\n }\n\n l++;\n }\n }\n\n return f;\n }\n\n var c = Object.keys(a);\n return process.env.NODE_ENV !== 'production' && c.forEach(function (b) {\n var c = a[b].order;\n process.env.NODE_ENV === 'production' || typeof c == 'number' && isFinite(c) || console.warn('markdown-to-jsx: Invalid order for rule `' + b + '`: ' + c);\n }), c.sort(function (b, c) {\n var d = a[b].order,\n e = a[c].order;\n return d === e ? b < c ? -1 : 1 : d - e;\n }), function (a, c) {\n return b(normalizeWhitespace(a), c);\n };\n}\n\nfunction inlineRegex(a) {\n return function (b, c) {\n return c.inline ? a.exec(b) : null;\n };\n}\n\nfunction simpleInlineRegex(a) {\n return function (b, c) {\n return c.inline || c.simple ? a.exec(b) : null;\n };\n}\n\nfunction blockRegex(a) {\n return function (b, c) {\n return c.inline || c.simple ? null : a.exec(b);\n };\n}\n\nfunction anyScopeRegex(a) {\n return function (b) {\n return a.exec(b);\n };\n}\n\nfunction reactFor(a) {\n return function b(c, d) {\n if (d = d || {}, Array.isArray(c)) {\n for (var e = d.key, f = [], g = !1, h = 0; h < c.length; h++) {\n d.key = h;\n var j = b(c[h], d),\n k = typeof j == 'string';\n k && g ? f[f.length - 1] += j : f.push(j), g = k;\n }\n\n return d.key = e, f;\n }\n\n return a(c, b, d);\n };\n}\n\nfunction sanitizeUrl(a) {\n try {\n var b = decodeURIComponent(a).replace(/[^A-Za-z0-9/:]/g, '');\n if (b.match(/^\\s*(javascript|vbscript|data):/i)) return process.env.NODE_ENV !== 'production' && console.warn('Anchor URL contains an unsafe JavaScript/VBScript/data expression, it will not be rendered.', b), null;\n } catch (b) {\n return process.env.NODE_ENV !== 'production' && console.warn('Anchor URL could not be decoded due to malformed syntax or characters, it will not be rendered.', a), null;\n }\n\n return a;\n}\n\nfunction unescapeUrl(a) {\n return a.replace(UNESCAPE_URL_R, '$1');\n}\n\nfunction parseInline(a, b, c) {\n var d = c.inline || !1,\n e = c.simple || !1;\n c.inline = !0, c.simple = !0;\n var f = a(b, c);\n return c.inline = d, c.simple = e, f;\n}\n\nfunction parseSimpleInline(a, b, c) {\n var d = c.inline || !1,\n e = c.simple || !1;\n c.inline = !1, c.simple = !0;\n var f = a(b, c);\n return c.inline = d, c.simple = e, f;\n}\n\nfunction parseBlock(a, b, c) {\n return c.inline = !1, a(b + '\\n\\n', c);\n}\n\nfunction parseCaptureInline(a, b, c) {\n return {\n content: parseInline(b, a[1], c)\n };\n}\n\nfunction captureNothing() {\n return {};\n}\n\nfunction renderNothing() {\n return null;\n}\n\nfunction ruleOutput(a) {\n return function (b, c, d) {\n return a[b.type].react(b, c, d);\n };\n}\n\nfunction cx() {\n for (var a = arguments.length, b = Array(a), c = 0; c < a; c++) {\n b[c] = arguments[c];\n }\n\n return b.filter(Boolean).join(' ');\n}\n\nfunction get(a, b, c) {\n for (var d = a, e = b.split('.'); e.length && (d = d[e[0]], d !== void 0);) {\n e.shift();\n }\n\n return d || c;\n}\n\nfunction getTag(a, b) {\n var c = get(b, a);\n return c ? typeof c == 'function' || (typeof c == 'undefined' ? 'undefined' : _typeof(c)) === 'object' && 'render' in c ? c : get(b, a + '.component', a) : a;\n}\n\nvar PARSE_PRIORITY_MAX = 1,\n PARSE_PRIORITY_HIGH = 2,\n PARSE_PRIORITY_MED = 3,\n PARSE_PRIORITY_LOW = 4,\n PARSE_PRIORITY_MIN = 5;\nexport function compiler(a, b) {\n function d(a, c) {\n for (var d = get(b.overrides, a + '.props', {}), e = arguments.length, g = Array(e > 2 ? e - 2 : 0), h = 2; h < e; h++) {\n g[h - 2] = arguments[h];\n }\n\n return f.apply(void 0, [getTag(a, b.overrides), _extends({}, c, d, {\n className: cx(c && c.className, d.className) || void 0\n })].concat(g));\n }\n\n function c(a) {\n var c = !1;\n b.forceInline ? c = !0 : !b.forceBlock && (c = SHOULD_RENDER_AS_BLOCK_R.test(a) === !1);\n var e = k(j(c ? a : a.replace(TRIM_NEWLINES_AND_TRAILING_WHITESPACE_R, '') + '\\n\\n', {\n inline: c\n })),\n f = void 0;\n return e.length > 1 ? f = c ? d('span', {\n key: 'outer'\n }, e) : d('div', {\n key: 'outer'\n }, e) : e.length === 1 ? (f = e[0], typeof f == 'string' && (f = d('span', {\n key: 'outer'\n }, f))) : f = d('span', {\n key: 'outer'\n }), f;\n }\n\n function e(a) {\n var b = a.match(ATTR_EXTRACTOR_R);\n return b ? b.reduce(function (a, b, d) {\n var e = b.indexOf('=');\n\n if (e !== -1) {\n var f = normalizeAttributeKey(b.slice(0, e)).trim(),\n g = unquote(b.slice(e + 1).trim()),\n h = ATTRIBUTE_TO_JSX_PROP_MAP[f] || f,\n i = a[h] = attributeValueToJSXPropValue(f, g);\n (HTML_BLOCK_ELEMENT_R.test(i) || HTML_SELF_CLOSING_ELEMENT_R.test(i)) && (a[h] = React.cloneElement(c(i.trim()), {\n key: d\n }));\n } else b !== 'style' && (a[ATTRIBUTE_TO_JSX_PROP_MAP[b] || b] = !0);\n\n return a;\n }, {}) : void 0;\n }\n\n b = b || {}, b.overrides = b.overrides || {}, b.slugify = b.slugify || slugify, b.namedCodesToUnicode = b.namedCodesToUnicode ? _extends({}, namedCodesToUnicode, b.namedCodesToUnicode) : namedCodesToUnicode;\n var f = b.createElement || React.createElement;\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof a != 'string') throw new Error('markdown-to-jsx: the first argument must be\\n a string');\n if (Object.prototype.toString.call(b.overrides) !== '[object Object]') throw new Error('markdown-to-jsx: options.overrides (second argument property) must be\\n undefined or an object literal with shape:\\n {\\n htmltagname: {\\n component: string|ReactComponent(optional),\\n props: object(optional)\\n }\\n }');\n }\n\n var g = [],\n h = {},\n i = {\n blockQuote: {\n match: blockRegex(BLOCKQUOTE_R),\n order: PARSE_PRIORITY_HIGH,\n parse: function d(a, b, c) {\n return {\n content: b(a[0].replace(BLOCKQUOTE_TRIM_LEFT_MULTILINE_R, ''), c)\n };\n },\n react: function e(a, b, c) {\n return d('blockquote', {\n key: c.key\n }, b(a.content, c));\n }\n },\n breakLine: {\n match: anyScopeRegex(BREAK_LINE_R),\n order: PARSE_PRIORITY_HIGH,\n parse: captureNothing,\n react: function e(a, b, c) {\n return d('br', {\n key: c.key\n });\n }\n },\n breakThematic: {\n match: blockRegex(BREAK_THEMATIC_R),\n order: PARSE_PRIORITY_HIGH,\n parse: captureNothing,\n react: function e(a, b, c) {\n return d('hr', {\n key: c.key\n });\n }\n },\n codeBlock: {\n match: blockRegex(CODE_BLOCK_R),\n order: PARSE_PRIORITY_MAX,\n parse: function c(a) {\n var b = a[0].replace(/^ {4}/gm, '').replace(/\\n+$/, '');\n return {\n content: b,\n lang: void 0\n };\n },\n react: function e(a, b, c) {\n return d('pre', {\n key: c.key\n }, d('code', {\n className: a.lang ? 'lang-' + a.lang : ''\n }, a.content));\n }\n },\n codeFenced: {\n match: blockRegex(CODE_BLOCK_FENCED_R),\n order: PARSE_PRIORITY_MAX,\n parse: function b(a) {\n return {\n content: a[3],\n lang: a[2] || void 0,\n type: 'codeBlock'\n };\n }\n },\n codeInline: {\n match: simpleInlineRegex(CODE_INLINE_R),\n order: PARSE_PRIORITY_LOW,\n parse: function b(a) {\n return {\n content: a[2]\n };\n },\n react: function e(a, b, c) {\n return d('code', {\n key: c.key\n }, a.content);\n }\n },\n footnote: {\n match: blockRegex(FOOTNOTE_R),\n order: PARSE_PRIORITY_MAX,\n parse: function b(a) {\n return g.push({\n footnote: a[2],\n identifier: a[1]\n }), {};\n },\n react: renderNothing\n },\n footnoteReference: {\n match: inlineRegex(FOOTNOTE_REFERENCE_R),\n order: PARSE_PRIORITY_HIGH,\n parse: function c(a) {\n return {\n content: a[1],\n target: '#' + b.slugify(a[1])\n };\n },\n react: function e(a, b, c) {\n return d('a', {\n key: c.key,\n href: sanitizeUrl(a.target)\n }, d('sup', {\n key: c.key\n }, a.content));\n }\n },\n gfmTask: {\n match: inlineRegex(GFM_TASK_R),\n order: PARSE_PRIORITY_HIGH,\n parse: function b(a) {\n return {\n completed: a[1].toLowerCase() === 'x'\n };\n },\n react: function e(a, b, c) {\n return d('input', {\n checked: a.completed,\n key: c.key,\n readOnly: !0,\n type: 'checkbox'\n });\n }\n },\n heading: {\n match: blockRegex(HEADING_R),\n order: PARSE_PRIORITY_HIGH,\n parse: function e(a, c, d) {\n return {\n content: parseInline(c, a[2], d),\n id: b.slugify(a[2]),\n level: a[1].length\n };\n },\n react: function f(a, b, c) {\n var e = 'h' + a.level;\n return d(e, {\n id: a.id,\n key: c.key\n }, b(a.content, c));\n }\n },\n headingSetext: {\n match: blockRegex(HEADING_SETEXT_R),\n order: PARSE_PRIORITY_MAX,\n parse: function d(a, b, c) {\n return {\n content: parseInline(b, a[1], c),\n level: a[2] === '=' ? 1 : 2,\n type: 'heading'\n };\n }\n },\n htmlComment: {\n match: anyScopeRegex(HTML_COMMENT_R),\n order: PARSE_PRIORITY_HIGH,\n parse: function a() {\n return {};\n },\n react: renderNothing\n },\n image: {\n match: simpleInlineRegex(IMAGE_R),\n order: PARSE_PRIORITY_HIGH,\n parse: function b(a) {\n return {\n alt: a[1],\n target: unescapeUrl(a[2]),\n title: a[3]\n };\n },\n react: function e(a, b, c) {\n return d('img', {\n key: c.key,\n alt: a.alt || void 0,\n title: a.title || void 0,\n src: sanitizeUrl(a.target)\n });\n }\n },\n link: {\n match: inlineRegex(LINK_R, !1),\n order: PARSE_PRIORITY_LOW,\n parse: function d(a, b, c) {\n return {\n content: parseSimpleInline(b, a[1], c),\n target: unescapeUrl(a[2]),\n title: a[3]\n };\n },\n react: function e(a, b, c) {\n return d('a', {\n key: c.key,\n href: sanitizeUrl(a.target),\n title: a.title\n }, b(a.content, c));\n }\n },\n linkAngleBraceStyleDetector: {\n match: inlineRegex(LINK_AUTOLINK_R),\n order: PARSE_PRIORITY_MAX,\n parse: function b(a) {\n return {\n content: [{\n content: a[1],\n type: 'text'\n }],\n target: a[1],\n type: 'link'\n };\n }\n },\n linkBareUrlDetector: {\n match: inlineRegex(LINK_AUTOLINK_BARE_URL_R),\n order: PARSE_PRIORITY_MAX,\n parse: function b(a) {\n return {\n content: [{\n content: a[1],\n type: 'text'\n }],\n target: a[1],\n title: void 0,\n type: 'link'\n };\n }\n },\n linkMailtoDetector: {\n match: inlineRegex(LINK_AUTOLINK_MAILTO_R),\n order: PARSE_PRIORITY_MAX,\n parse: function d(a) {\n var b = a[1],\n c = a[1];\n return AUTOLINK_MAILTO_CHECK_R.test(c) || (c = 'mailto:' + c), {\n content: [{\n content: b.replace('mailto:', ''),\n type: 'text'\n }],\n target: c,\n type: 'link'\n };\n }\n },\n list: {\n match: function f(a, b, c) {\n var d = LIST_LOOKBEHIND_R.exec(c),\n e = b._list || !b.inline;\n return d && e ? (a = d[1] + a, LIST_R.exec(a)) : null;\n },\n order: PARSE_PRIORITY_HIGH,\n parse: function j(a, b, c) {\n var d = a[2],\n e = d.length > 1,\n f = e ? +d : void 0,\n g = a[0].replace(BLOCK_END_R, '\\n').match(LIST_ITEM_R),\n h = !1,\n i = g.map(function (a, d) {\n var e = LIST_ITEM_PREFIX_R.exec(a)[0].length,\n f = new RegExp('^ {1,' + e + '}', 'gm'),\n i = a.replace(f, '').replace(LIST_ITEM_PREFIX_R, ''),\n j = d === g.length - 1,\n k = i.indexOf('\\n\\n') !== -1,\n l = k || j && h;\n h = l;\n var m = c.inline,\n n = c._list;\n c._list = !0;\n var o;\n l ? (c.inline = !1, o = i.replace(LIST_ITEM_END_R, '\\n\\n')) : (c.inline = !0, o = i.replace(LIST_ITEM_END_R, ''));\n var p = b(o, c);\n return c.inline = m, c._list = n, p;\n });\n return {\n items: i,\n ordered: e,\n start: f\n };\n },\n react: function f(a, b, c) {\n var e = a.ordered ? 'ol' : 'ul';\n return d(e, {\n key: c.key,\n start: a.start\n }, a.items.map(function (a, e) {\n return d('li', {\n key: e\n }, b(a, c));\n }));\n }\n },\n newlineCoalescer: {\n match: blockRegex(CONSECUTIVE_NEWLINE_R),\n order: PARSE_PRIORITY_LOW,\n parse: captureNothing,\n react: function a() {\n return '\\n';\n }\n },\n paragraph: {\n match: blockRegex(PARAGRAPH_R),\n order: PARSE_PRIORITY_LOW,\n parse: parseCaptureInline,\n react: function e(a, b, c) {\n return d('p', {\n key: c.key\n }, b(a.content, c));\n }\n },\n ref: {\n match: inlineRegex(REFERENCE_IMAGE_OR_LINK),\n order: PARSE_PRIORITY_MAX,\n parse: function b(a) {\n return h[a[1]] = {\n target: a[2],\n title: a[4]\n }, {};\n },\n react: renderNothing\n },\n refImage: {\n match: simpleInlineRegex(REFERENCE_IMAGE_R),\n order: PARSE_PRIORITY_MAX,\n parse: function b(a) {\n return {\n alt: a[1] || void 0,\n ref: a[2]\n };\n },\n react: function e(a, b, c) {\n return d('img', {\n key: c.key,\n alt: a.alt,\n src: sanitizeUrl(h[a.ref].target),\n title: h[a.ref].title\n });\n }\n },\n refLink: {\n match: inlineRegex(REFERENCE_LINK_R),\n order: PARSE_PRIORITY_MAX,\n parse: function d(a, b, c) {\n return {\n content: b(a[1], c),\n fallbackContent: b(a[0].replace(SQUARE_BRACKETS_R, '\\\\$1'), c),\n ref: a[2]\n };\n },\n react: function e(a, b, c) {\n return h[a.ref] ? d('a', {\n key: c.key,\n href: sanitizeUrl(h[a.ref].target),\n title: h[a.ref].title\n }, b(a.content, c)) : d('span', {\n key: c.key\n }, b(a.fallbackContent, c));\n }\n },\n table: {\n match: blockRegex(NP_TABLE_R),\n order: PARSE_PRIORITY_HIGH,\n parse: parseTable,\n react: function f(a, b, e) {\n return d('table', {\n key: e.key\n }, d('thead', null, d('tr', null, a.header.map(function (c, f) {\n return d('th', {\n key: f,\n style: getTableStyle(a, f)\n }, b(c, e));\n }))), d('tbody', null, a.cells.map(function (c, f) {\n return d('tr', {\n key: f\n }, c.map(function (f, g) {\n return d('td', {\n key: g,\n style: getTableStyle(a, g)\n }, b(f, e));\n }));\n })));\n }\n },\n tableSeparator: {\n match: function c(a, b) {\n return b.inTable ? TABLE_SEPARATOR_R.exec(a) : null;\n },\n order: PARSE_PRIORITY_HIGH,\n parse: function a() {\n return {\n type: 'tableSeparator'\n };\n },\n react: function a() {\n return ' | ';\n }\n },\n text: {\n match: anyScopeRegex(TEXT_PLAIN_R),\n order: PARSE_PRIORITY_MIN,\n parse: function c(a) {\n return {\n content: a[0].replace(HTML_CHAR_CODE_R, function (a, c) {\n return b.namedCodesToUnicode[c] ? b.namedCodesToUnicode[c] : a;\n })\n };\n },\n react: function b(a) {\n return a.content;\n }\n },\n textBolded: {\n match: simpleInlineRegex(TEXT_BOLD_R),\n order: PARSE_PRIORITY_MED,\n parse: function d(a, b, c) {\n return {\n content: b(a[2], c)\n };\n },\n react: function e(a, b, c) {\n return d('strong', {\n key: c.key\n }, b(a.content, c));\n }\n },\n textEmphasized: {\n match: simpleInlineRegex(TEXT_EMPHASIZED_R),\n order: PARSE_PRIORITY_LOW,\n parse: function d(a, b, c) {\n return {\n content: b(a[2], c)\n };\n },\n react: function e(a, b, c) {\n return d('em', {\n key: c.key\n }, b(a.content, c));\n }\n },\n textEscaped: {\n match: simpleInlineRegex(TEXT_ESCAPED_R),\n order: PARSE_PRIORITY_HIGH,\n parse: function b(a) {\n return {\n content: a[1],\n type: 'text'\n };\n }\n },\n textStrikethroughed: {\n match: simpleInlineRegex(TEXT_STRIKETHROUGHED_R),\n order: PARSE_PRIORITY_LOW,\n parse: parseCaptureInline,\n react: function e(a, b, c) {\n return d('del', {\n key: c.key\n }, b(a.content, c));\n }\n }\n };\n b.disableParsingRawHTML !== !0 && (i.htmlBlock = {\n match: anyScopeRegex(HTML_BLOCK_ELEMENT_R),\n order: PARSE_PRIORITY_HIGH,\n parse: function l(a, b, c) {\n var d = a[3].match(HTML_LEFT_TRIM_AMOUNT_R),\n f = d[1],\n g = new RegExp('^' + f, 'gm'),\n h = a[3].replace(g, ''),\n i = containsBlockSyntax(h) ? parseBlock : parseInline,\n j = a[1].toLowerCase(),\n k = DO_NOT_PROCESS_HTML_ELEMENTS.indexOf(j) !== -1;\n return {\n attrs: e(a[2]),\n content: k ? a[3] : i(b, h, c),\n noInnerParse: k,\n tag: k ? j : a[1]\n };\n },\n react: function e(a, b, c) {\n return d(a.tag, _extends({\n key: c.key\n }, a.attrs), a.noInnerParse ? a.content : b(a.content, c));\n }\n }, i.htmlSelfClosing = {\n match: anyScopeRegex(HTML_SELF_CLOSING_ELEMENT_R),\n order: PARSE_PRIORITY_HIGH,\n parse: function b(a) {\n return {\n attrs: e(a[2] || ''),\n tag: a[1]\n };\n },\n react: function e(a, b, c) {\n return d(a.tag, _extends({}, a.attrs, {\n key: c.key\n }));\n }\n });\n var j = parserFor(i),\n k = reactFor(ruleOutput(i)),\n l = c(function (a) {\n return a.replace(/<!--[\\s\\S]*?(?:-->)/g, '');\n }(a));\n return g.length && l.props.children.push(d('footer', {\n key: 'footer'\n }, g.map(function (a) {\n return d('div', {\n id: b.slugify(a.identifier),\n key: a.identifier\n }, a.identifier, k(j(a.footnote, {\n inline: !0\n })));\n }))), l;\n}\nexport default function Markdown(a) {\n var b = a.children,\n c = a.options,\n d = _objectWithoutProperties(a, ['children', 'options']);\n\n return React.cloneElement(compiler(b, c), d);\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var PropTypes = require('prop-types');\n}","import React from \"react\"\nimport configs from \"../../site-config\"\nimport Markdown from \"markdown-to-jsx\"\n\nclass Changelog extends React.PureComponent {\n render() {\n const { releaseNotes, version } = this.props\n return (\n <div className=\"changelog\" id=\"download\">\n <h1 className=\"changelogTitle\">Latest Changes</h1>\n <h3>\n <a\n href={`${configs.app_github_url}/releases`}\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n Full release notes\n </a>\n </h3>\n <h2 className=\"appVersion\">{version}</h2>\n <Markdown className=\"releaseNotes\">{releaseNotes || \"\"}</Markdown>\n </div>\n )\n }\n}\n\nexport default Changelog\n","import React from \"react\"\nimport { trackCustomEvent } from \"gatsby-plugin-google-analytics\"\nimport configs from \"../../site-config\"\n\nclass Features extends React.PureComponent {\n state = {\n featuresOpen: false,\n }\n\n titleRef = React.createRef()\n\n scrollToRef = ref => window.scrollTo(0, ref.current.offsetTop - 250)\n\n toggleFeatures() {\n if (trackCustomEvent) {\n trackCustomEvent({\n category: \"Page Interactions\",\n action: \"Click\",\n label: `Features toggled`,\n value: 5,\n })\n }\n if (this.state.featuresOpen) {\n this.scrollToRef(this.titleRef)\n }\n this.setState({\n featuresOpen: !this.state.featuresOpen,\n })\n }\n\n render() {\n return (\n <div className=\"container\">\n <div className=\"features\" id=\"features\">\n <h1 className=\"featuresTitle\">Features</h1>\n <div\n ref={this.titleRef}\n className={`featuresContainer ${this.state.featuresOpen && \"open\"}`}\n >\n {configs.features.map((feature, index) => {\n if (this.state.featuresOpen || index < 3) {\n if (feature.title) {\n return (\n <div className=\"feature\" key={`feature-${feature.title}`}>\n <div className=\"featureTitle\">\n <i\n className={`iconTop ${\n feature.fab ? \"fab\" : \"fas\"\n } fa-${feature.fontawesome_icon_name}`}\n >\n {feature.titleImage}\n </i>\n <h1>{feature.title}</h1>\n </div>\n <div className=\"featureText\">\n <h3>\n {feature.soon ? (\n <span className=\"soonBadge\">Soon</span>\n ) : (\n \"\"\n )}\n {feature.beta ? (\n <span className=\"soonBadge\">BETA</span>\n ) : (\n \"\"\n )}\n </h3>\n <p>{feature.description}</p>\n </div>\n </div>\n )\n }\n }\n return null\n })}\n </div>\n <button\n className=\"featuresToggleButton\"\n onClick={() => this.toggleFeatures()}\n >\n {this.state.featuresOpen ? \"Show less\" : \"Learn More\"}\n </button>\n </div>\n </div>\n )\n }\n}\n\nexport default Features\n","import React from \"react\"\n\nclass PaypalDonate extends React.PureComponent {\n render() {\n const { releaseNotes, version } = this.props\n return (\n <form\n action=\"https://www.paypal.com/cgi-bin/webscr\"\n method=\"post\"\n target=\"_top\"\n >\n <input type=\"hidden\" name=\"cmd\" value=\"_s-xclick\" />\n <input type=\"hidden\" name=\"hosted_button_id\" value=\"DLSZLNPHWBUP6\" />\n <input\n type=\"image\"\n src=\"https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif\"\n border=\"0\"\n name=\"submit\"\n title=\"PayPal - The safer, easier way to pay online!\"\n alt=\"Donate with PayPal button\"\n />\n <img\n alt=\"\"\n border=\"0\"\n src=\"https://www.paypal.com/en_PT/i/scr/pixel.gif\"\n width=\"1\"\n height=\"1\"\n />\n </form>\n )\n }\n}\n\nexport default PaypalDonate\n","import React from \"react\"\nimport configs from \"../../site-config\"\nimport PaypalDonateBtn from \"./PayPalDonateBtn\"\n\nclass Footer extends React.PureComponent {\n render() {\n return (\n <footer>\n <div className=\"personalContainer\">\n <img src={configs.gravatar_url} alt=\"gravatar\" />\n <p className=\"footerText\">\n by{\" \"}\n {configs.your_link ? (\n <a href={configs.your_link}>{configs.your_name}</a>\n ) : (\n `${configs.your_name}`\n )}\n </p>\n </div>\n <div className=\"footerIcons\">\n {configs.facebook_username && (\n <a\n href={`https://facebook.com/${configs.facebook_username}`}\n aria-label=\"Facebook\"\n >\n <span className=\"fa-stack fa-1x\">\n <i className=\"socialIconBack fas fa-circle fa-stack-2x\" />\n <i className=\"socialIconTop fab fa-facebook fa-stack-1x\" />\n </span>\n </a>\n )}\n\n {configs.twitter_username && (\n <a\n href={`https://twitter.com/${configs.twitter_username}`}\n aria-label=\"Twitter\"\n >\n <span className=\"fa-stack fa-1x\">\n <i className=\"socialIconBack fas fa-circle fa-stack-2x\" />\n <i className=\"socialIconTop fab fa-twitter fa-stack-1x\" />\n </span>\n </a>\n )}\n\n {configs.github_username && (\n <a\n href={`https://github.com/${configs.github_username}`}\n aria-label=\"GitHub\"\n >\n <span className=\"fa-stack fa-1x\">\n <i className=\"socialIconBack fas fa-circle fa-stack-2x\" />\n <i className=\"socialIconTop fab fa-github fa-stack-1x\" />\n </span>\n </a>\n )}\n\n {configs.linkedin_username && (\n <a\n href={`https://www.linkedin.com/in/${configs.linkedin_username}`}\n aria-label=\"LinkedIn\"\n >\n <span className=\"fa-stack fa-1x\">\n <i className=\"socialIconBack fas fa-circle fa-stack-2x\" />\n <i className=\"socialIconTop fab fa-linkedin fa-stack-1x\" />\n </span>\n </a>\n )}\n\n {configs.email_address && (\n <a href={`mailto:${configs.email_address}`} aria-label=\"Email\">\n <span className=\"fa-stack fa-1x\">\n <i className=\"socialIconBack fas fa-circle fa-stack-2x\" />\n <i className=\"socialIconTop fas fa-envelope fa-stack-1x\" />\n </span>\n </a>\n )}\n </div>\n <div className=\"donations\">\n <h3>Buy me a coffee</h3>\n <PaypalDonateBtn />\n <div className=\"crypto\">\n <div className=\"crypto-value-pair\">\n <h4>ETH</h4>\n <p>0x644e0c3eaec6918807aeCC0995282F45d9279917</p>\n </div>\n <div className=\"crypto-value-pair\">\n <h4>BTC</h4>\n <p>bc1qy56068kl0c4k5fruakrenrqp9f5w355tkdy8g6</p>\n </div>\n <div className=\"crypto-value-pair\">\n <h4>LTC</h4>\n <p>ltc1qdn0wqhv5vfjcq0a9n45m6s38hwxv22zqqn6cy0</p>\n </div>\n </div>\n </div>\n <p className=\"copyrightText\">\n <i className=\"fas fa-copyright\" />\n {configs.app_creation_date === String(new Date().getFullYear())\n ? ` ${configs.app_creation_date} `\n : ` ${configs.app_creation_date} - ${new Date().getFullYear()} `}\n {configs.app_name}\n </p>\n </footer>\n )\n }\n}\n\nexport default Footer\n","import React from \"react\"\nimport Img from \"gatsby-image\"\nimport { trackCustomEvent } from \"gatsby-plugin-google-analytics\"\n\nclass CTA extends React.PureComponent {\n getExtension = downloadLink => {\n const splitLink =\n downloadLink && downloadLink.split && downloadLink.split(\".\")\n return splitLink[splitLink.length - 1]\n }\n render() {\n const { downloadLinks, data } = this.props\n return (\n <div className=\"cta\" id=\"cta\">\n <div className=\"container\">\n <div className=\"cta-text\">\n <h1>\n <i className=\"fas fa-download\" />\n </h1>\n <h1>Ready to give it a try ?</h1>\n <h3>Download the MDyna client for free</h3>\n </div>\n <Img\n fluid={data.monitorWithPrintsPreview.childImageSharp.fluid}\n className=\"monitorWithPrintsPreview\"\n />\n <div className=\"download-buttons\" id=\"download\">\n {downloadLinks.map((link, i) => {\n const extension = this.getExtension(link)\n return (\n <a\n onClick={() => {\n if (trackCustomEvent) {\n trackCustomEvent({\n category: \"Download\",\n action: \"Click\",\n label: `${extension} Downloaded`,\n value: i,\n })\n }\n }}\n href={link}\n key={`extension-${link}`}\n aria-label={`${extension} download link`}\n >\n Download{\" \"}\n {(extension === \"exe\" && <i className=\"fab fa-windows\" />) ||\n (extension === \"deb\" && <i className=\"fab fa-ubuntu\" />) ||\n (extension === \"dmg\" && <i className=\"fab fa-apple\" />)}\n <span>{extension}</span>\n </a>\n )\n })}\n </div>\n </div>\n </div>\n )\n }\n}\n\nexport default CTA\n","import React from \"react\"\nimport { graphql } from \"gatsby\"\n\nimport Layout from \"../components/layout\"\nimport Api from \"../components/api\"\nimport SEO from \"../components/seo\"\nimport Nav from \"../components/Nav\"\nimport Header from \"../components/Header\"\nimport Changelog from \"../components/Changelog\"\nimport Features from \"../components/Features\"\nimport Footer from \"../components/Footer\"\n\nimport \"@fortawesome/fontawesome-free/css/all.min.css\"\n\nimport configs from \"../../site-config\"\nimport CTA from \"../components/CTA\"\n\nfunction getExtensionName(name) {\n const split = (name && name.split(\".\")) || \"\"\n return split[split.length - 1]\n}\n\nfunction isExtensionValid(extension) {\n return configs.supported_extensions.indexOf(extension) !== -1\n}\n\nclass IndexPage extends React.PureComponent {\n state = {\n version: \"\",\n releases: [],\n releaseNotes: \"\",\n downloadLinks: [],\n }\n\n getReleases() {\n Api.get(\"/releases\")\n .then(data => {\n if (data && data.data) {\n for (\n let i = 0;\n i < data.data.length && !this.state.releaseNotes;\n i += 1\n ) {\n const releaseData = data.data[i]\n const newVersion = releaseData.tag_name\n const newNotes = releaseData.body\n const newReleases = releaseData.assets\n if (newVersion && newReleases.length && newNotes) {\n this.setState({\n releaseNotes: newNotes,\n version: newVersion,\n releases: newReleases,\n })\n localStorage.setItem(\"version\", newVersion)\n localStorage.setItem(\"releases\", JSON.stringify(newReleases))\n localStorage.setItem(\"releaseNotes\", newNotes)\n }\n }\n }\n return this.setState({\n version: localStorage.getItem(\"version\"),\n releaseNotes: localStorage.getItem(\"releaseNotes\"),\n releases: JSON.parse(localStorage.getItem(\"releases\")),\n })\n })\n .then(() => this.getDownloadLinks())\n }\n\n getDownloadLinks() {\n const { releases } = this.state\n const downloadLinks = []\n if (releases) {\n for (let i = 0; i < releases.length; i++) {\n const release = releases[i]\n const extension = getExtensionName(release.name)\n if (isExtensionValid(extension)) {\n downloadLinks.push(release.browser_download_url)\n }\n }\n }\n this.setState({ downloadLinks })\n }\n\n componentDidMount() {\n this.getReleases()\n }\n\n render() {\n const { data } = this.props\n const { releaseNotes, version, downloadLinks } = this.state\n return (\n <Layout>\n <SEO title=\"Home\" keywords={configs.app_keywords} />\n\n <Nav data={data} />\n <Header data={data} version={version} />\n <Features />\n <CTA data={data} downloadLinks={downloadLinks} />\n <Changelog releaseNotes={releaseNotes} version={version} />\n <Footer />\n </Layout>\n )\n }\n}\n\nexport default IndexPage\n\nexport const query = graphql`\n query {\n headerIcon: file(relativePath: { eq: \"icon.png\" }) {\n childImageSharp {\n fluid(maxWidth: 50) {\n ...GatsbyImageSharpFluid\n }\n }\n }\n ubuntuStore: file(relativePath: { eq: \"ubuntuStore.png\" }) {\n childImageSharp {\n fixed(width: 220) {\n ...GatsbyImageSharpFixed\n }\n }\n }\n webStore: file(relativePath: { eq: \"webStore.png\" }) {\n childImageSharp {\n fixed(width: 220) {\n ...GatsbyImageSharpFixed\n }\n }\n }\n windowsStore: file(relativePath: { eq: \"windowsStore.png\" }) {\n childImageSharp {\n fixed(height: 75) {\n ...GatsbyImageSharpFixed\n }\n }\n }\n appIconLarge: file(relativePath: { eq: \"icon.png\" }) {\n childImageSharp {\n fluid(maxWidth: 220) {\n ...GatsbyImageSharpFluid\n }\n }\n }\n headerImage: file(relativePath: { eq: \"headerimage.png\" }) {\n childImageSharp {\n fluid(maxHeight: 714) {\n ...GatsbyImageSharpFluid\n }\n }\n }\n monitorWithPrintsPreview: file(relativePath: { eq: \"mockup2.png\" }) {\n childImageSharp {\n fluid(maxWidth: 900) {\n ...GatsbyImageSharpFluid\n }\n }\n }\n altMonitorWithPrintsPreview: file(relativePath: { eq: \"mockup.png\" }) {\n childImageSharp {\n fluid(maxWidth: 900) {\n ...GatsbyImageSharpFluid\n }\n }\n }\n }\n`\n","'use strict';\n\nvar createError = require('./createError');\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\n\n\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus; // Note: status is not exposed by XDomainRequest\n\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError('Request failed with status code ' + response.status, response.config, null, response.request, response));\n }\n};","var global = require('../internals/global');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar Array = global.Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = Array(max(fin - k, 0));\n for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar test = [];\nvar un$Sort = uncurryThis(test.sort);\nvar push = uncurryThis(test.push);\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return toString(x) > toString(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? un$Sort(array) : un$Sort(array, comparefn);\n\n var items = [];\n var arrayLength = lengthOfArrayLike(array);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) push(items, array[index]);\n }\n\n internalSort(items, getSortCompare(comparefn));\n\n itemsLength = items.length;\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) delete array[index++];\n\n return array;\n }\n});\n","var userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","'use strict';\n\nvar utils = require('./../utils');\n\nvar transformData = require('./transformData');\n\nvar isCancel = require('../cancel/isCancel');\n\nvar defaults = require('../defaults');\n\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\n\nvar combineURLs = require('./../helpers/combineURLs');\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\n\n\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\n\n\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config); // Support baseURL config\n\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n } // Ensure headers exist\n\n\n config.headers = config.headers || {}; // Transform request data\n\n config.data = transformData(config.data, config.headers, config.transformRequest); // Flatten headers\n\n config.headers = utils.merge(config.headers.common || {}, config.headers[config.method] || {}, config.headers || {});\n utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], function cleanHeaderConfig(method) {\n delete config.headers[method];\n });\n var adapter = config.adapter || defaults.adapter;\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config); // Transform response data\n\n response.data = transformData(response.data, response.headers, config.transformResponse);\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config); // Transform response data\n\n if (reason && reason.response) {\n reason.response.data = transformData(reason.response.data, reason.response.headers, config.transformResponse);\n }\n }\n\n return Promise.reject(reason);\n });\n};","var global = require('../internals/global');\nvar classof = require('../internals/classof');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return String(argument);\n};\n","'use strict';\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\n\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\nmodule.exports = Cancel;","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = utils.isStandardBrowserEnv() ? // Standard browser envs support document.cookie\nfunction standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return match ? decodeURIComponent(match[3]) : null;\n },\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n}() : // Non standard browser env (web workers, react-native) lack needed support.\nfunction nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() {\n return null;\n },\n remove: function remove() {}\n };\n}();","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\n\nvar Cancel = require('./Cancel');\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\n\n\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\n\n\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n\n\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;","var arraySlice = require('../internals/array-slice-simple');\n\nvar floor = Math.floor;\n\nvar mergeSort = function (array, comparefn) {\n var length = array.length;\n var middle = floor(length / 2);\n return length < 8 ? insertionSort(array, comparefn) : merge(\n array,\n mergeSort(arraySlice(array, 0, middle), comparefn),\n mergeSort(arraySlice(array, middle), comparefn),\n comparefn\n );\n};\n\nvar insertionSort = function (array, comparefn) {\n var length = array.length;\n var i = 1;\n var element, j;\n\n while (i < length) {\n j = i;\n element = array[i];\n while (j && comparefn(array[j - 1], element) > 0) {\n array[j] = array[--j];\n }\n if (j !== i++) array[j] = element;\n } return array;\n};\n\nvar merge = function (array, left, right, comparefn) {\n var llength = left.length;\n var rlength = right.length;\n var lindex = 0;\n var rindex = 0;\n\n while (lindex < llength || rindex < rlength) {\n array[lindex + rindex] = (lindex < llength && rindex < rlength)\n ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]\n : lindex < llength ? left[lindex++] : right[rindex++];\n } return array;\n};\n\nmodule.exports = mergeSort;\n","'use strict';\n\nvar utils = require('./../utils');\n\nvar settle = require('./../core/settle');\n\nvar buildURL = require('./../helpers/buildURL');\n\nvar parseHeaders = require('./../helpers/parseHeaders');\n\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\n\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest(); // HTTP basic authentication\n\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true); // Set the request timeout in MS\n\n request.timeout = config.timeout; // Listen for ready state\n\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n } // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n\n\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n } // Prepare the response\n\n\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n settle(resolve, reject, response); // Clean up request\n\n request = null;\n }; // Handle low level network errors\n\n\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request)); // Clean up request\n\n request = null;\n }; // Handle timeout\n\n\n request.ontimeout = function handleTimeout() {\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED', request)); // Clean up request\n\n request = null;\n }; // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies'); // Add xsrf header\n\n\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ? cookies.read(config.xsrfCookieName) : undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n } // Add headers to the request\n\n\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n } // Add withCredentials to request if needed\n\n\n if (config.withCredentials) {\n request.withCredentials = true;\n } // Add responseType to request if needed\n\n\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n } // Handle progress if needed\n\n\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n } // Not all browsers support upload events\n\n\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel); // Clean up request\n\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n } // Send the request\n\n\n request.send(requestData);\n });\n};","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils'); // Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\n\n\nvar ignoreDuplicateOf = ['age', 'authorization', 'content-length', 'content-type', 'etag', 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', 'last-modified', 'location', 'max-forwards', 'proxy-authorization', 'referer', 'retry-after', 'user-agent'];\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\n\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) {\n return parsed;\n }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n return parsed;\n};","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\nmodule.exports = function isBuffer(obj) {\n return obj != null && obj.constructor != null && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj);\n};","'use strict';\n\nvar utils = require('./../utils');\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\n\n\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n return data;\n};","'use strict';\n\nvar bind = require('./helpers/bind');\n\nvar isBuffer = require('is-buffer');\n/*global toString:true*/\n// utils is a library of generic helper functions non-specific to axios\n\n\nvar toString = Object.prototype.toString;\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\n\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\n\n\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\n\n\nfunction isFormData(val) {\n return typeof FormData !== 'undefined' && val instanceof FormData;\n}\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\n\n\nfunction isArrayBufferView(val) {\n var result;\n\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n result = ArrayBuffer.isView(val);\n } else {\n result = val && val.buffer && val.buffer instanceof ArrayBuffer;\n }\n\n return result;\n}\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\n\n\nfunction isString(val) {\n return typeof val === 'string';\n}\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\n\n\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\n\n\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\n\n\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\n\n\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\n\n\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\n\n\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\n\n\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\n\n\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\n\n\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\n\n\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n */\n\n\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\n\n\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n } // Force an array if not already something iterable\n\n\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\n\n\nfunction\n /* obj1, obj2, obj3, ... */\nmerge() {\n var result = {};\n\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n\n return result;\n}\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\n\n\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim\n};","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};","'use strict';\n\nvar utils = require('./utils');\n\nvar bind = require('./helpers/bind');\n\nvar Axios = require('./core/Axios');\n\nvar defaults = require('./defaults');\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\n\n\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context); // Copy axios.prototype to instance\n\n utils.extend(instance, Axios.prototype, context); // Copy context to instance\n\n utils.extend(instance, context);\n return instance;\n} // Create the default instance to be exported\n\n\nvar axios = createInstance(defaults); // Expose Axios class to allow class inheritance\n\naxios.Axios = Axios; // Factory for creating new instances\n\naxios.create = function create(instanceConfig) {\n return createInstance(utils.merge(defaults, instanceConfig));\n}; // Expose Cancel & CancelToken\n\n\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel'); // Expose all/spread\n\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = require('./helpers/spread');\nmodule.exports = axios; // Allow use of default import syntax in TypeScript\n\nmodule.exports.default = axios;"],"sourceRoot":""}