aboutsummaryrefslogtreecommitdiffhomepage
path: root/public
diff options
context:
space:
mode:
authorgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>2022-11-21 20:52:06 +0000
committergithub-actions[bot] <github-actions[bot]@users.noreply.github.com>2022-11-21 20:52:06 +0000
commitfa4812a1bd2d74ae87bfe2eab79ed95cf1fb232d (patch)
treef53c5c1900d86cb43875ad9c8da5e12268d37739 /public
parente80eb88442ad75a5fa3d558d35f1db5e557ba1e6 (diff)
downloadsubmelon.dev-fa4812a1bd2d74ae87bfe2eab79ed95cf1fb232d.tar.gz
submelon.dev-fa4812a1bd2d74ae87bfe2eab79ed95cf1fb232d.tar.bz2
submelon.dev-fa4812a1bd2d74ae87bfe2eab79ed95cf1fb232d.zip
chore: autopublish 2022-11-21T20:52:06Z
Diffstat (limited to 'public')
-rw-r--r--public/404.html4
-rw-r--r--public/404/index.html4
-rw-r--r--public/_gatsby/slices/_gatsby-scripts-1.html4
-rw-r--r--public/chunk-map.json2
-rw-r--r--public/component---src-pages-index-tsx-e59db967ec99f8e86048.js2
-rw-r--r--public/component---src-pages-index-tsx-e59db967ec99f8e86048.js.map1
-rw-r--r--public/index.html6
-rw-r--r--public/page-data/app-data.json2
-rw-r--r--public/webpack-runtime-e52898bfba80906f74b6.js2
-rw-r--r--public/webpack-runtime-e52898bfba80906f74b6.js.map1
-rw-r--r--public/webpack.stats.json2
11 files changed, 18 insertions, 12 deletions
diff --git a/public/404.html b/public/404.html
index fe68f8e..720fb41 100644
--- a/public/404.html
+++ b/public/404.html
@@ -18,6 +18,6 @@ data-styled.g4[id="Content-sc-1487q2e-0"]{content:"ckEhu,"}/*!sc*/
<script
id="gatsby-chunk-mapping"
>
- window.___chunkMapping="{\"app\":[\"/app-b863c76cb1053852e93f.js\"],\"component---src-pages-404-tsx\":[\"/component---src-pages-404-tsx-2c0679d9093097de4278.js\"],\"component---src-pages-index-tsx\":[\"/component---src-pages-index-tsx-ed567871985ee70bf7f2.js\"]}";
+ window.___chunkMapping="{\"app\":[\"/app-b863c76cb1053852e93f.js\"],\"component---src-pages-404-tsx\":[\"/component---src-pages-404-tsx-2c0679d9093097de4278.js\"],\"component---src-pages-index-tsx\":[\"/component---src-pages-index-tsx-e59db967ec99f8e86048.js\"]}";
</script>
- <script>window.___webpackCompilationHash="c1cb1476fee780906026";</script><script src="/webpack-runtime-2b5c409c70bd47e0a349.js" async></script><script src="/framework-201727cf59a0fd0a27c0.js" async></script><script src="/app-b863c76cb1053852e93f.js" async></script><!-- slice-end id="_gatsby-scripts-1" --></body></html> \ No newline at end of file
+ <script>window.___webpackCompilationHash="54cd20806a9bec0818b9";</script><script src="/webpack-runtime-e52898bfba80906f74b6.js" async></script><script src="/framework-201727cf59a0fd0a27c0.js" async></script><script src="/app-b863c76cb1053852e93f.js" async></script><!-- slice-end id="_gatsby-scripts-1" --></body></html> \ No newline at end of file
diff --git a/public/404/index.html b/public/404/index.html
index 8d78a2d..922e868 100644
--- a/public/404/index.html
+++ b/public/404/index.html
@@ -18,6 +18,6 @@ data-styled.g4[id="Content-sc-1487q2e-0"]{content:"ckEhu,"}/*!sc*/
<script
id="gatsby-chunk-mapping"
>
- window.___chunkMapping="{\"app\":[\"/app-b863c76cb1053852e93f.js\"],\"component---src-pages-404-tsx\":[\"/component---src-pages-404-tsx-2c0679d9093097de4278.js\"],\"component---src-pages-index-tsx\":[\"/component---src-pages-index-tsx-ed567871985ee70bf7f2.js\"]}";
+ window.___chunkMapping="{\"app\":[\"/app-b863c76cb1053852e93f.js\"],\"component---src-pages-404-tsx\":[\"/component---src-pages-404-tsx-2c0679d9093097de4278.js\"],\"component---src-pages-index-tsx\":[\"/component---src-pages-index-tsx-e59db967ec99f8e86048.js\"]}";
</script>
- <script>window.___webpackCompilationHash="c1cb1476fee780906026";</script><script src="/webpack-runtime-2b5c409c70bd47e0a349.js" async></script><script src="/framework-201727cf59a0fd0a27c0.js" async></script><script src="/app-b863c76cb1053852e93f.js" async></script><!-- slice-end id="_gatsby-scripts-1" --></body></html> \ No newline at end of file
+ <script>window.___webpackCompilationHash="54cd20806a9bec0818b9";</script><script src="/webpack-runtime-e52898bfba80906f74b6.js" async></script><script src="/framework-201727cf59a0fd0a27c0.js" async></script><script src="/app-b863c76cb1053852e93f.js" async></script><!-- slice-end id="_gatsby-scripts-1" --></body></html> \ No newline at end of file
diff --git a/public/_gatsby/slices/_gatsby-scripts-1.html b/public/_gatsby/slices/_gatsby-scripts-1.html
index 120196c..3cd4f55 100644
--- a/public/_gatsby/slices/_gatsby-scripts-1.html
+++ b/public/_gatsby/slices/_gatsby-scripts-1.html
@@ -2,6 +2,6 @@
<script
id="gatsby-chunk-mapping"
>
- window.___chunkMapping="{\"app\":[\"/app-b863c76cb1053852e93f.js\"],\"component---src-pages-404-tsx\":[\"/component---src-pages-404-tsx-2c0679d9093097de4278.js\"],\"component---src-pages-index-tsx\":[\"/component---src-pages-index-tsx-ed567871985ee70bf7f2.js\"]}";
+ window.___chunkMapping="{\"app\":[\"/app-b863c76cb1053852e93f.js\"],\"component---src-pages-404-tsx\":[\"/component---src-pages-404-tsx-2c0679d9093097de4278.js\"],\"component---src-pages-index-tsx\":[\"/component---src-pages-index-tsx-e59db967ec99f8e86048.js\"]}";
</script>
- <script>window.___webpackCompilationHash="c1cb1476fee780906026";</script><script src="/webpack-runtime-2b5c409c70bd47e0a349.js" async></script><script src="/framework-201727cf59a0fd0a27c0.js" async></script><script src="/app-b863c76cb1053852e93f.js" async></script> \ No newline at end of file
+ <script>window.___webpackCompilationHash="54cd20806a9bec0818b9";</script><script src="/webpack-runtime-e52898bfba80906f74b6.js" async></script><script src="/framework-201727cf59a0fd0a27c0.js" async></script><script src="/app-b863c76cb1053852e93f.js" async></script> \ No newline at end of file
diff --git a/public/chunk-map.json b/public/chunk-map.json
index 535641d..0f02b7a 100644
--- a/public/chunk-map.json
+++ b/public/chunk-map.json
@@ -1 +1 @@
-{"app":["/app-b863c76cb1053852e93f.js"],"component---src-pages-404-tsx":["/component---src-pages-404-tsx-2c0679d9093097de4278.js"],"component---src-pages-index-tsx":["/component---src-pages-index-tsx-ed567871985ee70bf7f2.js"]} \ No newline at end of file
+{"app":["/app-b863c76cb1053852e93f.js"],"component---src-pages-404-tsx":["/component---src-pages-404-tsx-2c0679d9093097de4278.js"],"component---src-pages-index-tsx":["/component---src-pages-index-tsx-e59db967ec99f8e86048.js"]} \ No newline at end of file
diff --git a/public/component---src-pages-index-tsx-e59db967ec99f8e86048.js b/public/component---src-pages-index-tsx-e59db967ec99f8e86048.js
new file mode 100644
index 0000000..0359ef3
--- /dev/null
+++ b/public/component---src-pages-index-tsx-e59db967ec99f8e86048.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunksubmelon_tech=self.webpackChunksubmelon_tech||[]).push([[691],{3723:function(e,t,r){r.d(t,{L:function(){return h},M:function(){return E},P:function(){return w},S:function(){return _},_:function(){return i},a:function(){return o},b:function(){return s},g:function(){return d},h:function(){return c}});var n=r(7294),a=(r(2369),r(5697)),l=r.n(a);function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o.apply(this,arguments)}function i(e,t){if(null==e)return{};var r,n,a={},l=Object.keys(e);for(n=0;n<l.length;n++)t.indexOf(r=l[n])>=0||(a[r]=e[r]);return a}const c=()=>"undefined"!=typeof HTMLImageElement&&"loading"in HTMLImageElement.prototype;function s(e,t,r,n,a){return void 0===a&&(a={}),o({},r,{loading:n,shouldLoad:e,"data-main-image":"",style:o({},a,{opacity:t?1:0})})}function d(e,t,r,n,a,l,i,c){const s={};l&&(s.backgroundColor=l,"fixed"===r?(s.width=n,s.height=a,s.backgroundColor=l,s.position="relative"):("constrained"===r||"fullWidth"===r)&&(s.position="absolute",s.top=0,s.left=0,s.bottom=0,s.right=0)),i&&(s.objectFit=i),c&&(s.objectPosition=c);const d=o({},e,{"aria-hidden":!0,"data-placeholder-image":"",style:o({opacity:t?0:1,transition:"opacity 500ms linear"},s)});return d}const u=["children"],p=function(e){let{layout:t,width:r,height:a}=e;return"fullWidth"===t?n.createElement("div",{"aria-hidden":!0,style:{paddingTop:a/r*100+"%"}}):"constrained"===t?n.createElement("div",{style:{maxWidth:r,display:"block"}},n.createElement("img",{alt:"",role:"presentation","aria-hidden":"true",src:"data:image/svg+xml;charset=utf-8,%3Csvg height='"+a+"' width='"+r+"' xmlns='http://www.w3.org/2000/svg' version='1.1'%3E%3C/svg%3E",style:{maxWidth:"100%",display:"block",position:"static"}})):null},h=function(e){let{children:t}=e,r=i(e,u);return n.createElement(n.Fragment,null,n.createElement(p,o({},r)),t,null)},m=["src","srcSet","loading","alt","shouldLoad"],g=["fallback","sources","shouldLoad"],f=function(e){let{src:t,srcSet:r,loading:a,alt:l="",shouldLoad:c}=e,s=i(e,m);return n.createElement("img",o({},s,{decoding:"async",loading:a,src:c?t:void 0,"data-src":c?void 0:t,srcSet:c?r:void 0,"data-srcset":c?void 0:r,alt:l}))},v=function(e){let{fallback:t,sources:r=[],shouldLoad:a=!0}=e,l=i(e,g);const c=l.sizes||(null==t?void 0:t.sizes),s=n.createElement(f,o({},l,t,{sizes:c,shouldLoad:a}));return r.length?n.createElement("picture",null,r.map((e=>{let{media:t,srcSet:r,type:l}=e;return n.createElement("source",{key:t+"-"+l+"-"+r,type:l,media:t,srcSet:a?r:void 0,"data-srcset":a?void 0:r,sizes:c})})),s):s};var y;f.propTypes={src:a.string.isRequired,alt:a.string.isRequired,sizes:a.string,srcSet:a.string,shouldLoad:a.bool},v.displayName="Picture",v.propTypes={alt:a.string.isRequired,shouldLoad:a.bool,fallback:a.exact({src:a.string.isRequired,srcSet:a.string,sizes:a.string}),sources:a.arrayOf(a.oneOfType([a.exact({media:a.string.isRequired,type:a.string,sizes:a.string,srcSet:a.string.isRequired}),a.exact({media:a.string,type:a.string.isRequired,sizes:a.string,srcSet:a.string.isRequired})]))};const b=["fallback"],w=function(e){let{fallback:t}=e,r=i(e,b);return t?n.createElement(v,o({},r,{fallback:{src:t},"aria-hidden":!0,alt:""})):n.createElement("div",o({},r))};w.displayName="Placeholder",w.propTypes={fallback:a.string,sources:null==(y=v.propTypes)?void 0:y.sources,alt:function(e,t,r){return e[t]?new Error("Invalid prop `"+t+"` supplied to `"+r+"`. Validation failed."):null}};const E=function(e){return n.createElement(n.Fragment,null,n.createElement(v,o({},e)),n.createElement("noscript",null,n.createElement(v,o({},e,{shouldLoad:!0}))))};E.displayName="MainImage",E.propTypes=v.propTypes;const x=function(e,t,r){for(var n=arguments.length,a=new Array(n>3?n-3:0),o=3;o<n;o++)a[o-3]=arguments[o];return e.alt||""===e.alt?l().string.apply(l(),[e,t,r].concat(a)):new Error('The "alt" prop is required in '+r+'. If the image is purely presentational then pass an empty string: e.g. alt="". Learn more: https://a11y-style-guide.com/style-guide/section-media.html')},k={image:l().object.isRequired,alt:x},C=["as","image","style","backgroundColor","className","class","onStartLoad","onLoad","onError"],L=["style","className"],S=new Set;let I,O;const j=function(e){let{as:t="div",image:a,style:l,backgroundColor:s,className:d,class:u,onStartLoad:p,onLoad:h,onError:m}=e,g=i(e,C);const{width:f,height:v,layout:y}=a,b=function(e,t,r){const n={};let a="gatsby-image-wrapper";return"fixed"===r?(n.width=e,n.height=t):"constrained"===r&&(a="gatsby-image-wrapper gatsby-image-wrapper-constrained"),{className:a,"data-gatsby-image-wrapper":"",style:n}}(f,v,y),{style:w,className:E}=b,x=i(b,L),k=(0,n.useRef)(),j=(0,n.useMemo)((()=>JSON.stringify(a.images)),[a.images]);u&&(d=u);const T=function(e,t,r){let n="";return"fullWidth"===e&&(n='<div aria-hidden="true" style="padding-top: '+r/t*100+'%;"></div>'),"constrained"===e&&(n='<div style="max-width: '+t+'px; display: block;"><img alt="" role="presentation" aria-hidden="true" src="data:image/svg+xml;charset=utf-8,%3Csvg height=\''+r+"' width='"+t+"' xmlns='http://www.w3.org/2000/svg' version='1.1'%3E%3C/svg%3E\" style=\"max-width: 100%; display: block; position: static;\"></div>"),n}(y,f,v);return(0,n.useEffect)((()=>{I||(I=Promise.all([r.e(774),r.e(223)]).then(r.bind(r,8223)).then((e=>{let{renderImageToString:t,swapPlaceholderImage:r}=e;return O=t,{renderImageToString:t,swapPlaceholderImage:r}})));const e=k.current.querySelector("[data-gatsby-image-ssr]");if(e&&c())return e.complete?(null==p||p({wasCached:!0}),null==h||h({wasCached:!0}),setTimeout((()=>{e.removeAttribute("data-gatsby-image-ssr")}),0)):(null==p||p({wasCached:!0}),e.addEventListener("load",(function t(){e.removeEventListener("load",t),null==h||h({wasCached:!0}),setTimeout((()=>{e.removeAttribute("data-gatsby-image-ssr")}),0)}))),void S.add(j);if(O&&S.has(j))return;let t,n;return I.then((e=>{let{renderImageToString:r,swapPlaceholderImage:i}=e;k.current&&(k.current.innerHTML=r(o({isLoading:!0,isLoaded:S.has(j),image:a},g)),S.has(j)||(t=requestAnimationFrame((()=>{k.current&&(n=i(k.current,j,S,l,p,h,m))}))))})),()=>{t&&cancelAnimationFrame(t),n&&n()}}),[a]),(0,n.useLayoutEffect)((()=>{S.has(j)&&O&&(k.current.innerHTML=O(o({isLoading:S.has(j),isLoaded:S.has(j),image:a},g)),null==p||p({wasCached:!0}),null==h||h({wasCached:!0}))}),[a]),(0,n.createElement)(t,o({},x,{style:o({},w,l,{backgroundColor:s}),className:E+(d?" "+d:""),ref:k,dangerouslySetInnerHTML:{__html:T},suppressHydrationWarning:!0}))},T=(0,n.memo)((function(e){return e.image?(0,n.createElement)(j,e):null}));T.propTypes=k,T.displayName="GatsbyImage";const N=["src","__imageData","__error","width","height","aspectRatio","tracedSVGOptions","placeholder","formats","quality","transformOptions","jpgOptions","pngOptions","webpOptions","avifOptions","blurredOptions","breakpoints","outputPixelDensities"],z=function(e,t){for(var r=arguments.length,n=new Array(r>2?r-2:0),a=2;a<r;a++)n[a-2]=arguments[a];return"fullWidth"!==e.layout||"width"!==t&&"height"!==t||!e[t]?l().number.apply(l(),[e,t].concat(n)):new Error('"'+t+'" '+e[t]+" may not be passed when layout is fullWidth.")},H=new Set(["fixed","fullWidth","constrained"]),P={src:l().string.isRequired,alt:x,width:z,height:z,sizes:l().string,layout:e=>{if(void 0!==e.layout&&!H.has(e.layout))return new Error("Invalid value "+e.layout+'" provided for prop "layout". Defaulting to "constrained". Valid values are "fixed", "fullWidth" or "constrained".')}},_=(M=T,function(e){let{src:t,__imageData:r,__error:a}=e,l=i(e,N);return a&&console.warn(a),r?n.createElement(M,o({image:r},l)):(console.warn("Image not loaded",t),null)});var M;_.displayName="StaticImage",_.propTypes=P},2369:function(e){const t=(e,t)=>{if("string"!=typeof e&&!Array.isArray(e))throw new TypeError("Expected the input to be `string | string[]`");t=Object.assign({pascalCase:!1},t);if(e=Array.isArray(e)?e.map((e=>e.trim())).filter((e=>e.length)).join("-"):e.trim(),0===e.length)return"";if(1===e.length)return t.pascalCase?e.toUpperCase():e.toLowerCase();return e!==e.toLowerCase()&&(e=(e=>{let t=!1,r=!1,n=!1;for(let a=0;a<e.length;a++){const l=e[a];t&&/[a-zA-Z]/.test(l)&&l.toUpperCase()===l?(e=e.slice(0,a)+"-"+e.slice(a),t=!1,n=r,r=!0,a++):r&&n&&/[a-zA-Z]/.test(l)&&l.toLowerCase()===l?(e=e.slice(0,a-1)+"-"+e.slice(a-1),n=r,r=!1,t=!0):(t=l.toLowerCase()===l&&l.toUpperCase()!==l,n=r,r=l.toUpperCase()===l&&l.toLowerCase()!==l)}return e})(e)),e=e.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,((e,t)=>t.toUpperCase())).replace(/\d+(\w|$)/g,(e=>e.toUpperCase())),r=e,t.pascalCase?r.charAt(0).toUpperCase()+r.slice(1):r;var r};e.exports=t,e.exports.default=t},1895:function(e,t,r){var n=r(7294),a=r(1693);t.Z=e=>{let{children:t,...r}=e;return n.createElement(a.gp,{theme:{link:!0}},n.createElement(a.Jo,r,t))}},4690:function(e,t,r){r.d(t,{F:function(){return a}});var n=r(7294);function a(){const e="The official website of Kevin Hoerr, developer of websites.";return n.createElement(n.Fragment,null,n.createElement("meta",{name:"twitter:description",content:e}),n.createElement("meta",{name:"twitter:title",content:"Kevin J Hoerr <kjhoerr@submelon.tech>"}),n.createElement("meta",{name:"twitter:creator",content:"Kevin J Hoerr"}),n.createElement("meta",{name:"twitter:card",content:"summary"}),n.createElement("meta",{property:"og:type",content:"website"}),n.createElement("meta",{property:"og:description",content:e}),n.createElement("meta",{property:"og:title",content:"Kevin J Hoerr <kjhoerr@submelon.tech>"}),n.createElement("meta",{name:"description",content:e}),n.createElement("title",null,"Kevin J Hoerr <kjhoerr@submelon.tech>"))}},6432:function(e,t,r){r.r(t),r.d(t,{Head:function(){return p.F},default:function(){return h}});var n=r(7294),a=r(3723),l=r(9583),o=r(1895),i=r(1693);const c=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"];function s(e){var t,r;return null!==(t=null===(r=e.toString().match(/.{1,2}/g))||void 0===r?void 0:r.map((e=>c[parseInt(e)])).join(""))&&void 0!==t?t:""}var d=e=>{let{timestamp:t}=e;return n.createElement(i.$_,null,n.createElement("span",null,"©2022 kjhoerr@https://submelon.dev/:",function(e){const t=new Date(1e3*e);return[t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes()].map(s).join(".")+"-0"}(parseInt(t))))},u=r(4405),p=r(4690);var h=()=>n.createElement("main",null,n.createElement(u.Pd.Provider,{value:{size:"20",style:{marginBottom:"-4px"}}},n.createElement(i.VY,null,n.createElement("div",null,n.createElement(a.S,{src:"../images/main.png",alt:"Picture of Kevin Hoerr",placeholder:"tracedSVG",layout:"fixed",width:350,height:350,__imageData:r(3741)})),n.createElement(i.ti,null,"Hello!"),n.createElement(i.gp,null,n.createElement("p",null,"I'm a computer science and math graduate from Millersville University. I work as an IT consultant and specialize in development operations and systems validation for web applications."),n.createElement("p",null,"My most recent projects have been focused on full-stack development. I use Kubernetes for orchestration and NextJS for the front-end. For back-end development, I have built services enabled by Java with Spring Boot, Quarkus, and rust+actix-web with a GraphQL serving public API."),n.createElement("p",null,"I run a personal Kubernetes cluster at home using MicroOS and k3d. I have also run multiple clusters via DigitalOcean with deployments dedicated for hosting git projects, CI/CD, and code coverage. Since then all projects have been moved to GitHub."),n.createElement("em",null,"- Kevin H.")),n.createElement(o.Z,{href:"https://cybr.es/@kjhoerr",rel:"me","aria-label":"My Mastodon account"},n.createElement(l.WJp,null)," @kjhoerr@cybr.es"),n.createElement(o.Z,{href:"https://github.com/kjhoerr",rel:"me","aria-label":"My GitHub account with my most active personal projects"},n.createElement(l.hJX,null)," kjhoerr on GitHub")),n.createElement(d,{timestamp:"1669057338"})))},1693:function(e,t,r){r.d(t,{Jo:function(){return a},gp:function(){return l},ti:function(){return o},VY:function(){return i},$_:function(){return c}});var n=r(2788),a=n.default.a.withConfig({displayName:"BlockAnchor",componentId:"sc-1teltef-0"})(["padding:8px;width:328px;display:block;text-align:center;-webkit-text-decoration:none;text-decoration:none;color:#666;&:visited,&:active{padding:8px;width:328px;display:block;text-align:center;-webkit-text-decoration:none;text-decoration:none;color:#666;}"]),l=n.default.div.withConfig({displayName:"BlockBody",componentId:"sc-40egxv-0"})(["& + &{margin-top:3px;}background-color:#fff;border:1px #000 solid;border-left:3px #000 solid;border-right:3px #000 solid;padding:",";& > ","{&:hover{background-color:#ddd;color:#222;}}&:last-child,&:last-child > ","{border-bottom-left-radius:18px;border-bottom-right-radius:18px;}"],(e=>e.theme.link?"0":"4px 8px"),a,a),o=n.default.div.withConfig({displayName:"BlockHeader",componentId:"sc-ntmdvi-0"})(["background-color:#000;width:100%;text-align:center;color:#fff;font-size:36px;font-weight:bold;margin-top:3px;padding-top:4px;"]),i=n.default.div.withConfig({displayName:"Content",componentId:"sc-1487q2e-0"})(["width:350px;margin:0px auto;margin-bottom:120px;padding-top:136px;"]),c=n.default.div.withConfig({displayName:"Footer",componentId:"sc-zowffk-0"})(["width:100%;position:fixed;left:0px;bottom:0px;text-align:center;font-size:12px;span{background-color:#e1e1e1;}"])},4405:function(e,t,r){r.d(t,{w_:function(){return s},Pd:function(){return l}});var n=r(7294),a={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},l=n.createContext&&n.createContext(a),o=function(){return o=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var a in t=arguments[r])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e},o.apply(this,arguments)},i=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(n=Object.getOwnPropertySymbols(e);a<n.length;a++)t.indexOf(n[a])<0&&Object.prototype.propertyIsEnumerable.call(e,n[a])&&(r[n[a]]=e[n[a]])}return r};function c(e){return e&&e.map((function(e,t){return n.createElement(e.tag,o({key:t},e.attr),c(e.child))}))}function s(e){return function(t){return n.createElement(d,o({attr:o({},e.attr)},t),c(e.child))}}function d(e){var t=function(t){var r,a=e.attr,l=e.size,c=e.title,s=i(e,["attr","size","title"]),d=l||t.size||"1em";return t.className&&(r=t.className),e.className&&(r=(r?r+" ":"")+e.className),n.createElement("svg",o({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,a,s,{className:r,style:o(o({color:e.color||t.color},t.style),e.style),height:d,width:d,xmlns:"http://www.w3.org/2000/svg"}),c&&n.createElement("title",null,c),e.children)};return void 0!==l?n.createElement(l.Consumer,null,(function(e){return t(e)})):t(a)}},3741:function(e){e.exports=JSON.parse('{"layout":"fixed","placeholder":{"fallback":"data:image/svg+xml,%3csvg%20xmlns=\'http://www.w3.org/2000/svg\'%20width=\'350\'%20height=\'350\'%20viewBox=\'0%200%20350%20350\'%20preserveAspectRatio=\'none\'%3e%3cpath%20d=\'M155%201a175%20175%200%201%200%20134%20307%20178%20178%200%200%200%2061-120l1-14-1-14-1-6A177%20177%200%200%200%20155%201m4%202C87%2010%2026%2062%209%20132c-4%2012-4%2011-1%2011%202%200%202%200%200%201-3%202-4%205-5%2025%200%2011%202%2036%204%2040l4%202%209%201-9%202c-4-1-4%200%201%2014%206%2019%2023%2050%2026%2050l1%201c0%202%201%203%203%201l6-1-1%201-1%202c1%202%203%201%202%200%200-2%202-2%209-1h9c1%201%200%201-2%202-5%203-10%203-11%201h-1c-2%202-5%203-5%201h-2c-1%201-1%202%202%205%202%202%205%203%205%202l2%201h5v1l1-1c1-1%202-1%206%201s5%202%207%200l4-1c2%200%203%200%202-1l2-2c2-1%202-1%201-2l-4%201c-2%202-2%202-6%200-2-1-2-1%200-3%201-2%201-2-2-2h-2l6-2c7%200%209%200%208-1l1-1%201%202c1%201%201%201%203-1%203-2%204-3%201-3l1-1%203-2h-3c-2%200-2%200-1-1%202-2%202-2%201-3s-2-2-3-1l-1%201c0-2%206-7%207-7l2-1-2-1c-3%200-3-1-1-2l1-1c-1%202%200%202%203%202%204%200%204%202%201%203-2%201-2%201-1%202h3l-1%203-2%201h2l1%201c0%202-2%202-4%201h-2l1%201c2%201%202%205%200%205s-2%200-1%201c3%200%203%202%200%202v1c1%201%201%201-1%201l-1%202%202%201%202-1-1-1%201-1c1%201%204-1%203-2l-1-3%202-2%205-8c1-2%201-2%202-1h1v-1c-1%200-1-1%201-4%201-1%201-1%201%201v2l1%201v1l1%201-5%201v1c1%201%201%201-1%201-2%201-2%202%200%202l2-1h1l1-1c-1-1-1-1%200%200%202%201%200%204-4%204l-2%201-1%201c-3%200-2%202%200%202%201%201%202%200%203-1l2-2%203-2h2c0%201%203%200%207-3l6-3c4-2%2010-6%2013-10%203-3%203-25%200-29l-4-11v-2l-1-5c0-3%200-3%201-2%202%202%202%202%204-2l2-3%203-3%203-2%203-2%202-4c-1-2%203-8%204-8%202%200%202%203%201%206-2%203-2%203%200%202v2c-2%203-1%207%203%207%203%201%207-1%207-2%200-2%203-1%204%201%201%201%204%201%208-1%205-2%205-1%203%202-3%203-4%206-2%204l1%202%205%201%207-1c2-1-2-4-4-4h-3l1-1v-1l-2-8-1-6%203%201%203-1-3-1-12-12c-3-3-4-4-5-3h-5l-2%201v2l-1%201-5%204c-6%205-9%206-15%205l-4-1%203-1c4-2%205-4%203-5s-7-1-8%201-3-1-3-4l5-4%205-2h-5c-6%201-8-1-4-3l3-3%203-1c3%201%204%200%205-1s1-1-1-1l-1-1%202-1%201-1-2-2c-3%200-5-2-5-3%201-2%200-2-2-2l-7-2h-4l-1%2020c1%2017%200%2020-1%2018s-1-2-1%201c0%207-2%208-3%202s-1-8%201-7l-1-4-1-8-2-19v-14c-3-6-4-24-2-32%209-35%2044-48%2073-26%208%207%2024%2026%2029%2038%202%204%203%205%204%204h1l1%204%201%203%203%207%201%204%201%201%201%201c-1%201%200%204%201%207l1%2012%201%207%203-1c3%200%203%200%204%204l2%206-2%208-1-2c-2-5-4-10-6-10s-3%203-1%204c6%204%205%2018%200%2015-2%200-2-1-1-2v-2l-2-6-3-4-1-1v-7l-3-12-2-3c-8-14-8-14-11-9-2%203-4%204-6%204l-4%202c-1%201-1%201-2-1-2-3-3-3-3%201%200%203%201%203%203%203%202-1%203%200%206%203%204%204%204%205%201%205-4%200-4%201%200%203s4%206-1%207c-2%200-2%200-1%201s1%201-1%202l-2%201h2l3%201-3%201-2%201-2%201c-2-1-3%200-3%205l-1%202-1%201%201%202%201-1%201-1v3l1-1h2c0%201%202%203%204%203%202%202%207%206%207%208l2%202%201%205-1%203-1-4-2-3v5l-3%2017h-4c-2-1-3-2-3-5s-1-4-2-2c-1%201-2%202-3%201-3%200-3-1-3-4s-2-5-3-2c0%202-1%202-2%201h-2l-3%201h-4c-1%202-2%202-3%201h-8c-4%200-5%201-4%203%201%203%2013%204%2013%201l1-1%201%201%202%201%205-1%203-1h2c2%200%202%200%201%201s-1%201%201%201h3l-3%202c-2%202-2%203-1%204l3%202c3%200%203%202%201%203s-1%206%202%2010c3%203%203%203%204%201l3-1%205-3c5-4%205-3%202%203l-3%206c0%202-1%204-4%207l-4%206c0%202-6%2011-7%2011l-1%202-2%205c0%201%200%202%203%204l3%202-1%202c1%201-4%207-6%206l-4%201h-1l-1-1c-3%200-7-2-7-4s-5-6-7-5c-5%201-7%205-4%208l4%208-2-2c0-1-6-3-7-2h-2c-1-2-6-2-5%200%204%207%2021%2020%2037%2028%2013%206%2015%206%2018%201%203-4%205-15%205-36l1-4%201%201%2015%2011%2022%2010%2021%2010%203-1c6-4%2024-19%2032-28a140%20140%200%200%200%2029-48l1-1-2-2c-3%200-7-4-5-4l3%201c1%202%205%203%205%201-1%200-1-1%200%200l1-1%202-6v-8c1-1%201%200%201%201%200%202%200%202%201%201v-5l-1-1h-1v2l-1%201-3%202c-1%201-1%201-1-1s8-9%209-8l1-1%201-5c0-3%200-3-3-4h-5l-1-1v-1l1-1-4-1c-1%201-2%200-2-1h-1v5l-1-2c-1-2-6-4-7-3h-6l-2-1-5-1c-3-1-4-1-4-3s0-2-2-1h-3c-3-1-3-2%200-2h6l4%201h4l4%202h6v-2l2-1h-1c-2%201-1-2%201-4v-2l-3-2-1-1c1-1-3-3-6-3l-1-1%202-1h3l1%201%202%202h1l1%202%201-2%201-3v-1l1-2%201-2h5l-3-2-4-2v1l-1%202c-2%202-2%202-3%201l-4-1-3-1c0-2%202-3%203-1h1c2-1%201-2-2-3l-2-1c2-3%201-3-3-1-3%203-5%203-2%200l1-3%204-1%205-2h2l2-1c1-2%201-2%202-1v1c-3%200-1%201%202%202l3-1%208%202h1l-2-2c-1-1-1-1%201-1l3%201%201%201v1l2%201c1%201%201%200%201-2l-1-3-3-2c-2-2-5-3-5-1h-10l-2-1c-1-2-1-2-3-1-2%203-4%202-2%200%203-2%202-3%200-2s-2%201-3-1h-3l-1-1c1-1-5-2-7%200h-2l1-1-1-1c-2-1-6%200-6%201l-2%201c-2%200-2%200-1-1%202-2%202-2%200-2l-2-2-1-1h-2l-3-1-2-1c-1-1%200-1%205-1l7%201%201%202%202-1%202-1v1c-1%201-1%201%201%202l4-1v-1l1-1c1-1%202-1%201-3l1-1h2c-1-1%200-2%201-2l1-2v-2l1-1c2%200%202%200%201-1l-1-2%203%201%202%201-2-2-2-3h4l2-1%201-1h1l3%201c0%201%201%202%202%201v-3c2%201%203%205%201%205l-1%202h2v2l-3%202h-1l1%201c1%201%200%201-1%202-3%201-4%203-2%203v1h-2v1l-1%203-1%202-1%201h-1c-1%201%201%202%202%201%202-2%205-1%203%201l-1%201%207-4h2l1-1v-2l3-1h2l1-1h-2c-2%200-3-2-1-4l-1-2-1%201c0%203-6%208-8%209-3%200-3-2%200-3%202-1%203-1%202-2l3-3%202-2c-2%200%201-4%204-5%202-1%203-3%201-3v-1l-4-10v-2l-5-3-6-2-3-1c-1%200-2%200-1-1l-2-1c-3%200-5-1-4-2l-1-1v-2c2-1%202-1%200-1l-2%201-3-1-4-3%203-2%203%201h2c2%200%203%200%205%203%202%202%209%205%2013%205l-11-21C284%2027%20220-3%20159%203M47%20215l-4%202c0%201%208%202%2011%201s10%200%209%201l5%201h5c1%201%208-1%208-2l-7-1c-10%200-16-1-15-2h-7l-1-1-4%201\'%20fill=\'%23d3d3d3\'%20fill-rule=\'evenodd\'/%3e%3c/svg%3e"},"images":{"fallback":{"src":"/static/81e0da73927123f3f6b0c9a2d0750e76/88e48/main.png","srcSet":"/static/81e0da73927123f3f6b0c9a2d0750e76/88e48/main.png 350w","sizes":"350px"},"sources":[{"srcSet":"/static/81e0da73927123f3f6b0c9a2d0750e76/6cac9/main.webp 350w","type":"image/webp","sizes":"350px"}]},"width":350,"height":350}')}}]);
+//# sourceMappingURL=component---src-pages-index-tsx-e59db967ec99f8e86048.js.map \ No newline at end of file
diff --git a/public/component---src-pages-index-tsx-e59db967ec99f8e86048.js.map b/public/component---src-pages-index-tsx-e59db967ec99f8e86048.js.map
new file mode 100644
index 0000000..3a6c617
--- /dev/null
+++ b/public/component---src-pages-index-tsx-e59db967ec99f8e86048.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"component---src-pages-index-tsx-e59db967ec99f8e86048.js","mappings":"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","sources":["webpack://submelon.tech/../src/image-utils.ts","webpack://submelon.tech/../src/components/hooks.ts","webpack://submelon.tech/../src/components/layout-wrapper.tsx","webpack://submelon.tech/../src/components/picture.tsx","webpack://submelon.tech/../src/components/placeholder.tsx","webpack://submelon.tech/../src/components/main-image.tsx","webpack://submelon.tech/../src/components/gatsby-image.server.tsx","webpack://submelon.tech/../src/components/gatsby-image.browser.tsx","webpack://submelon.tech/../src/components/static-image.server.tsx","webpack://submelon.tech/../src/components/static-image.tsx","webpack://submelon.tech/./node_modules/gatsby-plugin-image/node_modules/camelcase/index.js","webpack://submelon.tech/./src/components/BlockLink.tsx","webpack://submelon.tech/./src/components/SEO.tsx","webpack://submelon.tech/./src/components/Footer.tsx","webpack://submelon.tech/./src/pages/index.tsx","webpack://submelon.tech/./src/styles/BlockAnchor.ts","webpack://submelon.tech/./src/styles/BlockBody.ts","webpack://submelon.tech/./src/styles/BlockHeader.ts","webpack://submelon.tech/./src/styles/Content.ts","webpack://submelon.tech/./src/styles/Footer.ts","webpack://submelon.tech/./node_modules/react-icons/lib/esm/iconsManifest.js","webpack://submelon.tech/./node_modules/react-icons/lib/esm/iconContext.js","webpack://submelon.tech/./node_modules/react-icons/lib/esm/iconBase.js"],"sourcesContent":["import camelCase from \"camelcase\"\nimport type { IGatsbyImageData } from \"./index\"\n\nconst DEFAULT_PIXEL_DENSITIES = [0.25, 0.5, 1, 2]\nexport const DEFAULT_BREAKPOINTS = [750, 1080, 1366, 1920]\nexport const EVERY_BREAKPOINT = [\n 320, 654, 768, 1024, 1366, 1600, 1920, 2048, 2560, 3440, 3840, 4096,\n]\nconst DEFAULT_FLUID_WIDTH = 800\nconst DEFAULT_FIXED_WIDTH = 800\nconst DEFAULT_ASPECT_RATIO = 4 / 3\n\nexport type Fit = \"cover\" | \"fill\" | \"inside\" | \"outside\" | \"contain\"\n\nexport type Layout = \"fixed\" | \"fullWidth\" | \"constrained\"\nexport type ImageFormat = \"jpg\" | \"png\" | \"webp\" | \"avif\" | \"auto\" | \"\"\n\n/**\n * The minimal required reporter, as we don't want to import it from gatsby-cli\n */\nexport interface IReporter {\n warn(message: string): void\n}\n\nexport interface ISharpGatsbyImageArgs {\n layout?: Layout\n formats?: Array<ImageFormat>\n placeholder?: \"tracedSVG\" | \"dominantColor\" | \"blurred\" | \"none\"\n tracedSVGOptions?: Record<string, unknown>\n width?: number\n height?: number\n aspectRatio?: number\n sizes?: string\n quality?: number\n transformOptions?: {\n fit?: Fit\n cropFocus?: number | string\n duotone?: {\n highlight: string\n shadow: string\n opacity?: number\n }\n grayscale?: boolean\n rotate?: number\n trim?: number\n }\n jpgOptions?: Record<string, unknown>\n pngOptions?: Record<string, unknown>\n webpOptions?: Record<string, unknown>\n avifOptions?: Record<string, unknown>\n blurredOptions?: { width?: number; toFormat?: ImageFormat }\n breakpoints?: Array<number>\n outputPixelDensities?: Array<number>\n backgroundColor?: string\n}\n\nexport interface IImageSizeArgs {\n width?: number\n height?: number\n layout?: Layout\n filename: string\n outputPixelDensities?: Array<number>\n breakpoints?: Array<number>\n fit?: Fit\n reporter?: IReporter\n sourceMetadata: { width: number; height: number }\n}\n\nexport interface IImageSizes {\n sizes: Array<number>\n presentationWidth: number\n presentationHeight: number\n aspectRatio: number\n unscaledWidth: number\n}\n\nexport interface IImage {\n src: string\n width: number\n height: number\n format: ImageFormat\n}\n\nexport interface IGatsbyImageHelperArgs {\n pluginName: string\n generateImageSource: (\n filename: string,\n width: number,\n height: number,\n format: ImageFormat,\n fit?: Fit,\n options?: Record<string, unknown>\n ) => IImage\n layout?: Layout\n formats?: Array<ImageFormat>\n filename: string\n placeholderURL?: string\n width?: number\n height?: number\n sizes?: string\n reporter?: IReporter\n sourceMetadata?: { width: number; height: number; format: ImageFormat }\n fit?: Fit\n options?: Record<string, unknown>\n breakpoints?: Array<number>\n backgroundColor?: string\n aspectRatio?: number\n}\n\nconst warn = (message: string): void => console.warn(message)\n\nconst sortNumeric = (a: number, b: number): number => a - b\n\nexport const getSizes = (width: number, layout: Layout): string | undefined => {\n switch (layout) {\n // If screen is wider than the max size, image width is the max size,\n // otherwise it's the width of the screen\n case `constrained`:\n return `(min-width: ${width}px) ${width}px, 100vw`\n\n // Image is always the same width, whatever the size of the screen\n case `fixed`:\n return `${width}px`\n\n // Image is always the width of the screen\n case `fullWidth`:\n return `100vw`\n\n default:\n return undefined\n }\n}\n\nexport const getSrcSet = (images: Array<IImage>): string =>\n images.map(image => `${image.src} ${image.width}w`).join(`,\\n`)\n\nexport function formatFromFilename(filename: string): ImageFormat | undefined {\n const dot = filename.lastIndexOf(`.`)\n if (dot !== -1) {\n const ext = filename.slice(dot + 1)\n if (ext === `jpeg`) {\n return `jpg`\n }\n if (ext.length === 3 || ext.length === 4) {\n return ext as ImageFormat\n }\n }\n return undefined\n}\n\nexport function setDefaultDimensions(\n args: IGatsbyImageHelperArgs\n): IGatsbyImageHelperArgs {\n let {\n layout = `constrained`,\n width,\n height,\n sourceMetadata,\n breakpoints,\n aspectRatio,\n formats = [`auto`, `webp`],\n } = args\n formats = formats.map(format => format.toLowerCase() as ImageFormat)\n layout = camelCase(layout) as Layout\n\n if (width && height) {\n return { ...args, formats, layout, aspectRatio: width / height }\n }\n if (sourceMetadata.width && sourceMetadata.height && !aspectRatio) {\n aspectRatio = sourceMetadata.width / sourceMetadata.height\n }\n\n if (layout === `fullWidth`) {\n width = width || sourceMetadata.width || breakpoints[breakpoints.length - 1]\n height = height || Math.round(width / (aspectRatio || DEFAULT_ASPECT_RATIO))\n } else {\n if (!width) {\n if (height && aspectRatio) {\n width = height * aspectRatio\n } else if (sourceMetadata.width) {\n width = sourceMetadata.width\n } else if (height) {\n width = Math.round(height / DEFAULT_ASPECT_RATIO)\n } else {\n width = DEFAULT_FIXED_WIDTH\n }\n }\n\n if (aspectRatio && !height) {\n height = Math.round(width / aspectRatio)\n } else if (!aspectRatio) {\n aspectRatio = width / height\n }\n }\n return { ...args, width, height, aspectRatio, layout, formats }\n}\n\n/**\n * Use this for getting an image for the blurred placeholder. This ensures the\n * aspect ratio and crop match the main image\n */\nexport function getLowResolutionImageURL(\n args: IGatsbyImageHelperArgs,\n width = 20\n): string {\n args = setDefaultDimensions(args)\n const { generateImageSource, filename, aspectRatio } = args\n return generateImageSource(\n filename,\n width,\n Math.round(width / aspectRatio),\n args.sourceMetadata.format || `jpg`,\n args.fit,\n args.options\n )?.src\n}\n\nexport function generateImageData(\n args: IGatsbyImageHelperArgs\n): IGatsbyImageData {\n args = setDefaultDimensions(args)\n\n let {\n pluginName,\n sourceMetadata,\n generateImageSource,\n layout,\n fit,\n options,\n width,\n height,\n filename,\n reporter = { warn },\n backgroundColor,\n placeholderURL,\n } = args\n\n if (!pluginName) {\n reporter.warn(\n `[gatsby-plugin-image] \"generateImageData\" was not passed a plugin name`\n )\n }\n\n if (typeof generateImageSource !== `function`) {\n throw new Error(`generateImageSource must be a function`)\n }\n\n if (!sourceMetadata || (!sourceMetadata.width && !sourceMetadata.height)) {\n // No metadata means we let the CDN handle max size etc, aspect ratio etc\n sourceMetadata = {\n width,\n height,\n format: sourceMetadata?.format || formatFromFilename(filename) || `auto`,\n }\n } else if (!sourceMetadata.format) {\n sourceMetadata.format = formatFromFilename(filename)\n }\n\n const formats = new Set<ImageFormat>(args.formats)\n\n if (formats.size === 0 || formats.has(`auto`) || formats.has(``)) {\n formats.delete(`auto`)\n formats.delete(``)\n formats.add(sourceMetadata.format)\n }\n\n if (formats.has(`jpg`) && formats.has(`png`)) {\n reporter.warn(\n `[${pluginName}] Specifying both 'jpg' and 'png' formats is not supported. Using 'auto' instead`\n )\n if (sourceMetadata.format === `jpg`) {\n formats.delete(`png`)\n } else {\n formats.delete(`jpg`)\n }\n }\n\n const imageSizes = calculateImageSizes({ ...args, sourceMetadata })\n\n const result: IGatsbyImageData[\"images\"] = {\n sources: [],\n }\n\n let sizes = args.sizes\n if (!sizes) {\n sizes = getSizes(imageSizes.presentationWidth, layout)\n }\n\n formats.forEach(format => {\n const images = imageSizes.sizes\n .map(size => {\n const imageSrc = generateImageSource(\n filename,\n size,\n Math.round(size / imageSizes.aspectRatio),\n format,\n fit,\n options\n )\n if (\n !imageSrc?.width ||\n !imageSrc.height ||\n !imageSrc.src ||\n !imageSrc.format\n ) {\n reporter.warn(\n `[${pluginName}] The resolver for image ${filename} returned an invalid value.`\n )\n return undefined\n }\n return imageSrc\n })\n .filter(Boolean)\n\n if (format === `jpg` || format === `png` || format === `auto`) {\n const unscaled =\n images.find(img => img.width === imageSizes.unscaledWidth) || images[0]\n\n if (unscaled) {\n result.fallback = {\n src: unscaled.src,\n srcSet: getSrcSet(images),\n sizes,\n }\n }\n } else {\n result.sources?.push({\n srcSet: getSrcSet(images),\n sizes,\n type: `image/${format}`,\n })\n }\n })\n\n const imageProps: Partial<IGatsbyImageData> = {\n images: result,\n layout,\n backgroundColor,\n }\n\n if (placeholderURL) {\n imageProps.placeholder = { fallback: placeholderURL }\n }\n\n switch (layout) {\n case `fixed`:\n imageProps.width = imageSizes.presentationWidth\n imageProps.height = imageSizes.presentationHeight\n break\n\n case `fullWidth`:\n imageProps.width = 1\n imageProps.height = 1 / imageSizes.aspectRatio\n break\n\n case `constrained`:\n imageProps.width = args.wid