From 0b9194895fb318dd6f456c7ef9560777a08157dd Mon Sep 17 00:00:00 2001 From: Victor Feitosa Date: Fri, 27 Mar 2020 13:22:37 -0400 Subject: [PATCH] Updates --- 404.html | 2 +- 404/index.html | 2 +- about/index.html | 2 +- chunk-map.json | 2 +- component---src-pages-about-js-00458b6a1a8c168474c8.js | 2 ++ component---src-pages-about-js-00458b6a1a8c168474c8.js.map | 1 + cv/index.html | 2 +- index.html | 2 +- offline-plugin-app-shell-fallback/index.html | 2 +- page-data/app-data.json | 2 +- portfolio/index.html | 2 +- sw.js | 4 ++-- webpack-runtime-d9564b0427c70906a6ca.js | 2 ++ webpack-runtime-d9564b0427c70906a6ca.js.map | 1 + webpack.stats.json | 2 +- 15 files changed, 18 insertions(+), 12 deletions(-) create mode 100644 component---src-pages-about-js-00458b6a1a8c168474c8.js create mode 100644 component---src-pages-about-js-00458b6a1a8c168474c8.js.map create mode 100644 webpack-runtime-d9564b0427c70906a6ca.js create mode 100644 webpack-runtime-d9564b0427c70906a6ca.js.map diff --git a/404.html b/404.html index 5899aae..e40244f 100644 --- a/404.html +++ b/404.html @@ -1 +1 @@ -

NOT FOUND

You just hit a route that doesn't exist... the sadness.

\ No newline at end of file +

NOT FOUND

You just hit a route that doesn't exist... the sadness.

\ No newline at end of file diff --git a/404/index.html b/404/index.html index ab997d4..c093584 100644 --- a/404/index.html +++ b/404/index.html @@ -1 +1 @@ -

NOT FOUND

You just hit a route that doesn't exist... the sadness.

\ No newline at end of file +

NOT FOUND

You just hit a route that doesn't exist... the sadness.

\ No newline at end of file diff --git a/about/index.html b/about/index.html index fcfc142..59d433e 100644 --- a/about/index.html +++ b/about/index.html @@ -1 +1 @@ -
 

About Me

And what I do

    Hello! My name is Victor Feitosa and I'm a Web Developer currently focusing in Front End Development, UI and UX. I love learning new technologies, creating things, gaming, drawing and painting and many, many other things.

My Skills

    Since 2012 I work as a Web Developer, I'm a Bachelor in Digital Systems and Media, graduated since 2015, and post graduated in Information Security in 2018. I've always worked with different technologies and areas such as game development, mobile, web and embedded systems. Here's a few of the tech I adopt:

React0

Vue0

ES6+0

SASS0

    Currently, I work as a full time web developer, with focus in Front End and UI/UX design, still doing some backend work here and there, but mostly desining pages, apps and systems from the ground up with a great team of developers at Intrapoint. We power one of Norways bigest Oil companies and manage a huge system with a great range of modules for crisis management and subsystems such as ERPs and CRMs. We also do some contract work for companies looking for great solutions with a full featured backend.

My Projects

    Besides my work for companies, I have several finished and ongoing projects, check myPortfolio page!

Contact me!

    I'm available! Please take a look at my networks and other links, there's always new things on Behance and Github! Contact me (Skype & Email) at victor.rm.feitosa@outlook.com. Also take a look at my CV!

\ No newline at end of file +
 

About Me

And what I do

    Hello! My name is Victor Feitosa and I'm a Web Developer currently focusing in Front End Development, UI and UX. I love learning new technologies, creating things, gaming, drawing and painting and many, many other things.

My Skills

    Since 2012 I work as a Web Developer, I'm a Bachelor in Digital Systems and Media, graduated since 2015, and post graduated in Information Security in 2018. I've always worked with different technologies and areas such as game development, mobile, web and embedded systems. Here's a few of the tech I adopt:

React0

Vue0

ES6+0

SASS0

    Currently, I work as a full time web developer, with focus in Front End and UI/UX design, still doing some backend work here and there, but mostly desining pages, apps and systems from the ground up with a great team of developers at Intrapoint. We power one of Norways bigest Oil companies and manage a huge system with a great range of modules for crisis management and subsystems such as ERPs and CRMs. We also do some contract work for companies looking for great solutions with a full featured backend.

My Projects

    Besides my work for companies, I have several finished and ongoing projects, check myPortfolio page!

Contact me!

    I'm available! Please take a look at my networks and other links, there's always new things on Behance and Github! Contact me (Skype & Email) at victor.rm.feitosa@outlook.com. Also take a look at my CV!

\ No newline at end of file diff --git a/chunk-map.json b/chunk-map.json index b31364d..bd79660 100644 --- a/chunk-map.json +++ b/chunk-map.json @@ -1 +1 @@ -{"app":["/app-07e0f1f626dedee8a56e.js"],"component---node-modules-gatsby-plugin-offline-app-shell-js":["/component---node-modules-gatsby-plugin-offline-app-shell-js-49ac284587dff2030b81.js"],"component---src-pages-404-js":["/component---src-pages-404-js-e877efb9c6fee8e44cdf.js"],"component---src-pages-about-js":["/component---src-pages-about-js-e23e17fd1280c3732e38.js"],"component---src-pages-cv-js":["/component---src-pages-cv-js-389e83f64b1a123ff2c8.js"],"component---src-pages-index-js":["/component---src-pages-index-js-09af461d3fa30beb2040.js"],"component---src-pages-portfolio-js":["/component---src-pages-portfolio-js-1d67e66311d450e79b90.js"]} \ No newline at end of file +{"app":["/app-07e0f1f626dedee8a56e.js"],"component---node-modules-gatsby-plugin-offline-app-shell-js":["/component---node-modules-gatsby-plugin-offline-app-shell-js-49ac284587dff2030b81.js"],"component---src-pages-404-js":["/component---src-pages-404-js-e877efb9c6fee8e44cdf.js"],"component---src-pages-about-js":["/component---src-pages-about-js-00458b6a1a8c168474c8.js"],"component---src-pages-cv-js":["/component---src-pages-cv-js-389e83f64b1a123ff2c8.js"],"component---src-pages-index-js":["/component---src-pages-index-js-09af461d3fa30beb2040.js"],"component---src-pages-portfolio-js":["/component---src-pages-portfolio-js-1d67e66311d450e79b90.js"]} \ No newline at end of file diff --git a/component---src-pages-about-js-00458b6a1a8c168474c8.js b/component---src-pages-about-js-00458b6a1a8c168474c8.js new file mode 100644 index 0000000..43b67e4 --- /dev/null +++ b/component---src-pages-about-js-00458b6a1a8c168474c8.js @@ -0,0 +1,2 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{"3XHS":function(t,e,n){"use strict";n.r(e);var r=n("q1tI"),a=n.n(r),i=n("Pe/n"),o=n("ma3e"),u=(n("VRzm"),n("f3/d"),n("xfY5"),n("SRfc"),n("XfO3"),n("9AAn"),n("pIFo"),n("dZ+Y"),n("DNiP"),n("rGqo"),n("yt8O"),n("RW0V"),n("8+KV"),n("Y9lz"),n("KKXr"),n("bWfx"),n("a1Th"),n("h7Nl"),n("Btvt"),n("LK8F"),n("V+eJ"),{update:null,begin:null,loopBegin:null,changeBegin:null,change:null,changeComplete:null,loopComplete:null,complete:null,loop:1,direction:"normal",autoplay:!0,timelineOffset:0}),c={duration:1e3,delay:0,endDelay:0,easing:"easeOutElastic(1, .5)",round:0},s=["translateX","translateY","translateZ","rotate","rotateX","rotateY","rotateZ","scale","scaleX","scaleY","scaleZ","skew","skewX","skewY","perspective"],l={CSS:{},springs:{}};function f(t,e,n){return Math.min(Math.max(t,e),n)}function d(t,e){return t.indexOf(e)>-1}function h(t,e){return t.apply(null,e)}var p={arr:function(t){return Array.isArray(t)},obj:function(t){return d(Object.prototype.toString.call(t),"Object")},pth:function(t){return p.obj(t)&&t.hasOwnProperty("totalLength")},svg:function(t){return t instanceof SVGElement},inp:function(t){return t instanceof HTMLInputElement},dom:function(t){return t.nodeType||p.svg(t)},str:function(t){return"string"==typeof t},fnc:function(t){return"function"==typeof t},und:function(t){return void 0===t},hex:function(t){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t)},rgb:function(t){return/^rgb/.test(t)},hsl:function(t){return/^hsl/.test(t)},col:function(t){return p.hex(t)||p.rgb(t)||p.hsl(t)},key:function(t){return!u.hasOwnProperty(t)&&!c.hasOwnProperty(t)&&"targets"!==t&&"keyframes"!==t}};function g(t){var e=/\(([^)]+)\)/.exec(t);return e?e[1].split(",").map((function(t){return parseFloat(t)})):[]}function v(t,e){var n=g(t),r=f(p.und(n[0])?1:n[0],.1,100),a=f(p.und(n[1])?100:n[1],.1,100),i=f(p.und(n[2])?10:n[2],.1,100),o=f(p.und(n[3])?0:n[3],.1,100),u=Math.sqrt(a/r),c=i/(2*Math.sqrt(a*r)),s=c<1?u*Math.sqrt(1-c*c):0,d=c<1?(c*u-o)/s:-o+u;function h(t){var n=e?e*t/1e3:t;return n=c<1?Math.exp(-n*c*u)*(1*Math.cos(s*n)+d*Math.sin(s*n)):(1+d*n)*Math.exp(-n*u),0===t||1===t?t:1-n}return e?h:function(){var e=l.springs[t];if(e)return e;for(var n=0,r=0;;)if(1===h(n+=1/6)){if(++r>=16)break}else r=0;var a=n*(1/6)*1e3;return l.springs[t]=a,a}}function m(t){return void 0===t&&(t=10),function(e){return Math.round(e*t)*(1/t)}}var y,w,b=function(){function t(t,e){return 1-3*e+3*t}function e(t,e){return 3*e-6*t}function n(t){return 3*t}function r(r,a,i){return((t(a,i)*r+e(a,i))*r+n(a))*r}function a(r,a,i){return 3*t(a,i)*r*r+2*e(a,i)*r+n(a)}return function(t,e,n,i){if(0<=t&&t<=1&&0<=n&&n<=1){var o=new Float32Array(11);if(t!==e||n!==i)for(var u=0;u<11;++u)o[u]=r(.1*u,t,n);return function(a){return t===e&&n===i||0===a||1===a?a:r(c(a),e,i)}}function c(e){for(var i=0,u=1;10!==u&&o[u]<=e;++u)i+=.1;--u;var c=i+.1*((e-o[u])/(o[u+1]-o[u])),s=a(c,t,n);return s>=.001?function(t,e,n,i){for(var o=0;o<4;++o){var u=a(e,n,i);if(0===u)return e;e-=(r(e,n,i)-t)/u}return e}(e,c,t,n):0===s?c:function(t,e,n,a,i){var o,u,c=0;do{(o=r(u=e+(n-e)/2,a,i)-t)>0?n=u:e=u}while(Math.abs(o)>1e-7&&++c<10);return u}(e,i,i+.1,t,n)}}}(),E=(y={linear:function(){return function(t){return t}}},w={Sine:function(){return function(t){return 1-Math.cos(t*Math.PI/2)}},Circ:function(){return function(t){return 1-Math.sqrt(1-t*t)}},Back:function(){return function(t){return t*t*(3*t-2)}},Bounce:function(){return function(t){for(var e,n=4;t<((e=Math.pow(2,--n))-1)/11;);return 1/Math.pow(4,3-n)-7.5625*Math.pow((3*e-2)/22-t,2)}},Elastic:function(t,e){void 0===t&&(t=1),void 0===e&&(e=.5);var n=f(t,1,10),r=f(e,.1,2);return function(t){return 0===t||1===t?t:-n*Math.pow(2,10*(t-1))*Math.sin((t-1-r/(2*Math.PI)*Math.asin(1/n))*(2*Math.PI)/r)}}},["Quad","Cubic","Quart","Quint","Expo"].forEach((function(t,e){w[t]=function(){return function(t){return Math.pow(t,e+2)}}})),Object.keys(w).forEach((function(t){var e=w[t];y["easeIn"+t]=e,y["easeOut"+t]=function(t,n){return function(r){return 1-e(t,n)(1-r)}},y["easeInOut"+t]=function(t,n){return function(r){return r<.5?e(t,n)(2*r)/2:1-e(t,n)(-2*r+2)/2}}})),y);function I(t,e){if(p.fnc(t))return t;var n=t.split("(")[0],r=E[n],a=g(t);switch(n){case"spring":return v(t,e);case"cubicBezier":return h(b,a);case"steps":return h(m,a);default:return h(r,a)}}function k(t){try{return document.querySelectorAll(t)}catch(e){return}}function M(t,e){for(var n=t.length,r=arguments.length>=2?arguments[1]:void 0,a=[],i=0;i1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t}if(0==o)e=n=r=u;else{var l=u<.5?u*(1+o):u+o-u*o,f=2*u-l;e=s(f,l,i+1/3),n=s(f,l,i),r=s(f,l,i-1/3)}return"rgba("+255*e+","+255*n+","+255*r+","+c+")"}(t):void 0;var e,n}function D(t){var e=/[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(t);if(e)return e[1]}function B(t,e){return p.fnc(t)?t(e.target,e.id,e.total):t}function O(t,e){return t.getAttribute(e)}function F(t,e,n){if(A([n,"deg","rad","turn"],D(e)))return e;var r=l.CSS[e+n];if(!p.und(r))return r;var a=document.createElement(t.tagName),i=t.parentNode&&t.parentNode!==document?t.parentNode:document.body;i.appendChild(a),a.style.position="absolute",a.style.width=100+n;var o=100/a.offsetWidth;i.removeChild(a);var u=o*parseFloat(e);return l.CSS[e+n]=u,u}function T(t,e,n){if(e in t.style){var r=e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),a=t.style[e]||getComputedStyle(t).getPropertyValue(r)||"0";return n?F(t,a,n):a}}function L(t,e){return p.dom(t)&&!p.inp(t)&&(O(t,e)||p.svg(t)&&t[e])?"attribute":p.dom(t)&&A(s,e)?"transform":p.dom(t)&&"transform"!==e&&T(t,e)?"css":null!=t[e]?"object":void 0}function V(t){if(p.dom(t)){for(var e,n=t.style.transform||"",r=/(\w+)\(([^)]*)\)/g,a=new Map;e=r.exec(n);)a.set(e[1],e[2]);return a}}function W(t,e,n,r){var a=d(e,"scale")?1:0+function(t){return d(t,"translate")||"perspective"===t?"px":d(t,"rotate")||d(t,"skew")?"deg":void 0}(e),i=V(t).get(e)||a;return n&&(n.transforms.list.set(e,i),n.transforms.last=e),r?F(t,i,r):i}function j(t,e,n,r){switch(L(t,e)){case"transform":return W(t,e,r,n);case"css":return T(t,e,n);case"attribute":return O(t,e);default:return t[e]||0}}function R(t,e){var n=/^(\*=|\+=|-=)/.exec(t);if(!n)return t;var r=D(t)||0,a=parseFloat(e),i=parseFloat(t.replace(n[0],""));switch(n[0][0]){case"+":return a+i+r;case"-":return a-i+r;case"*":return a*i+r}}function U(t,e){if(p.col(t))return C(t);if(/\s/g.test(t))return t;var n=D(t),r=n?t.substr(0,t.length-n.length):t;return e?r+e:r}function Y(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function X(t){for(var e,n=t.points,r=0,a=0;a0&&(r+=Y(e,i)),e=i}return r}function q(t){if(t.getTotalLength)return t.getTotalLength();switch(t.tagName.toLowerCase()){case"circle":return function(t){return 2*Math.PI*O(t,"r")}(t);case"rect":return function(t){return 2*O(t,"width")+2*O(t,"height")}(t);case"line":return function(t){return Y({x:O(t,"x1"),y:O(t,"y1")},{x:O(t,"x2"),y:O(t,"y2")})}(t);case"polyline":return X(t);case"polygon":return function(t){var e=t.points;return X(t)+Y(e.getItem(e.numberOfItems-1),e.getItem(0))}(t)}}function K(t,e){var n=e||{},r=n.el||function(t){for(var e=t.parentNode;p.svg(e)&&p.svg(e.parentNode);)e=e.parentNode;return e}(t),a=r.getBoundingClientRect(),i=O(r,"viewBox"),o=a.width,u=a.height,c=n.viewBox||(i?i.split(" "):[0,0,o,u]);return{el:r,viewBox:c,x:c[0]/1,y:c[1]/1,w:o/c[2],h:u/c[3]}}function Z(t,e){function n(n){void 0===n&&(n=0);var r=e+n>=1?e+n:0;return t.el.getPointAtLength(r)}var r=K(t.el,t.svg),a=n(),i=n(-1),o=n(1);switch(t.property){case"x":return(a.x-r.x)*r.w;case"y":return(a.y-r.y)*r.h;case"angle":return 180*Math.atan2(o.y-i.y,o.x-i.x)/Math.PI}}function G(t,e){var n=/[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/g,r=U(p.pth(t)?t.totalLength:t,e)+"";return{original:r,numbers:r.match(n)?r.match(n).map(Number):[0],strings:p.str(t)||e?r.split(n):[]}}function Q(t){return M(t?x(p.arr(t)?t.map(N):N(t)):[],(function(t,e,n){return n.indexOf(t)===e}))}function z(t){var e=Q(t);return e.map((function(t,n){return{target:t,id:n,total:e.length,transforms:{list:V(t)}}}))}function J(t,e){var n=S(e);if(/^spring/.test(n.easing)&&(n.duration=v(n.easing)),p.arr(t)){var r=t.length;2===r&&!p.obj(t[0])?t={value:t}:p.fnc(e.duration)||(n.duration=e.duration/r)}var a=p.arr(t)?t:[t];return a.map((function(t,n){var r=p.obj(t)&&!p.pth(t)?t:{value:t};return p.und(r.delay)&&(r.delay=n?0:e.delay),p.und(r.endDelay)&&(r.endDelay=n===a.length-1?e.endDelay:0),r})).map((function(t){return _(t,n)}))}function H(t,e){var n=[],r=e.keyframes;for(var a in r&&(e=_(function(t){for(var e=M(x(t.map((function(t){return Object.keys(t)}))),(function(t){return p.key(t)})).reduce((function(t,e){return t.indexOf(e)<0&&t.push(e),t}),[]),n={},r=function(r){var a=e[r];n[a]=t.map((function(t){var e={};for(var n in t)p.key(n)?n==a&&(e.value=t[n]):e[n]=t[n];return e}))},a=0;a-1&&(ot.splice(i,1),n=ot.length)}else a.tick(e);r++}t()}else it=cancelAnimationFrame(it)}return t}();function st(t){void 0===t&&(t={});var e,n=0,r=0,a=0,i=0,o=null;function s(t){var e=window.Promise&&new Promise((function(t){return o=t}));return t.finished=e,e}var l=function(t){var e=P(u,t),n=P(c,t),r=H(n,t),a=z(t.targets),i=nt(a,r),o=rt(i,n),s=at;return at++,_(e,{id:s,children:[],animatables:a,animations:i,duration:o.duration,delay:o.delay,endDelay:o.endDelay})}(t);s(l);function d(){var t=l.direction;"alternate"!==t&&(l.direction="normal"!==t?"normal":"reverse"),l.reversed=!l.reversed,e.forEach((function(t){return t.reversed=l.reversed}))}function h(t){return l.reversed?l.duration-t:t}function p(){n=0,r=h(l.currentTime)*(1/st.speed)}function g(t,e){e&&e.seek(t-e.timelineOffset)}function v(t){for(var e=0,n=l.animations,r=n.length;e2||(w=Math.round(w*p)/p)),g.push(w)}var I=h.length;if(I){m=h[0];for(var k=0;k0&&(l.began=!0,m("begin")),!l.loopBegan&&l.currentTime>0&&(l.loopBegan=!0,m("loopBegin")),y<=c&&0!==l.currentTime&&v(0),(y>=p&&l.currentTime!==u||!u)&&v(u),y>c&&y=u&&(r=0,l.remaining&&!0!==l.remaining&&l.remaining--,l.remaining?(n=a,m("loopComplete"),l.loopBegan=!1,"alternate"===l.direction&&d()):(l.paused=!0,l.completed||(l.completed=!0,m("loopComplete"),m("complete"),!l.passThrough&&"Promise"in window&&(o(),s(l)))))}return l.reset=function(){var t=l.direction;l.passThrough=!1,l.currentTime=0,l.progress=0,l.paused=!0,l.began=!1,l.loopBegan=!1,l.changeBegan=!1,l.completed=!1,l.changeCompleted=!1,l.reversePlayback=!1,l.reversed="reverse"===t,l.remaining=l.loop,e=l.children;for(var n=i=e.length;n--;)l.children[n].reset();(l.reversed&&!0!==l.loop||"alternate"===t&&1===l.loop)&&l.remaining++,v(l.reversed?l.duration:0)},l.set=function(t,e){return et(t,e),l},l.tick=function(t){a=t,n||(n=a),y((a+(r-n))*st.speed)},l.seek=function(t){y(h(t))},l.pause=function(){l.paused=!0,p()},l.play=function(){l.paused&&(l.completed&&l.reset(),l.paused=!1,ot.push(l),p(),it||ct())},l.reverse=function(){d(),p()},l.restart=function(){l.reset(),l.play()},l.reset(),l.autoplay&&l.play(),l}function lt(t,e){for(var n=e.length;n--;)A(t,e[n].animatable.target)&&e.splice(n,1)}"undefined"!=typeof document&&document.addEventListener("visibilitychange",(function(){document.hidden?(ot.forEach((function(t){return t.pause()})),ut=ot.slice(0),st.running=ot=[]):ut.forEach((function(t){return t.play()}))})),st.version="3.1.0",st.speed=1,st.running=ot,st.remove=function(t){for(var e=Q(t),n=ot.length;n--;){var r=ot[n],a=r.animations,i=r.children;lt(e,a);for(var o=i.length;o--;){var u=i[o],c=u.animations;lt(e,c),c.length||u.children.length||i.splice(o,1)}a.length||i.length||r.pause()}},st.get=j,st.set=et,st.convertPx=F,st.path=function(t,e){var n=p.str(t)?k(t)[0]:t,r=e||100;return function(t){return{property:t,el:n,svg:K(n),totalLength:q(n)*(r/100)}}},st.setDashoffset=function(t){var e=q(t);return t.setAttribute("stroke-dasharray",e),e},st.stagger=function(t,e){void 0===e&&(e={});var n=e.direction||"normal",r=e.easing?I(e.easing):null,a=e.grid,i=e.axis,o=e.from||0,u="first"===o,c="center"===o,s="last"===o,l=p.arr(t),f=l?parseFloat(t[0]):parseFloat(t),d=l?parseFloat(t[1]):0,h=D(l?t[1]:t)||0,g=e.start||0+(l?f:0),v=[],m=0;return function(t,e,p){if(u&&(o=0),c&&(o=(p-1)/2),s&&(o=p-1),!v.length){for(var y=0;y-1&&ot.splice(a,1);for(var u=0;un;)a[n]=e[n++];return a},Pt=function(t,e,n){R(t,e,{get:function(){return this._d[n]}})},_t=function(t){var e,n,r,a,i,o,u=I(t),c=arguments.length,l=c>1?arguments[1]:void 0,f=void 0!==l,d=A(u);if(null!=d&&!k(d)){for(o=d.call(u),r=[],e=0;!(i=o.next()).done;e++)r.push(i.value);u=r}for(f&&c>2&&(l=s(l,arguments[2],2)),e=0,n=g(u.length),a=Nt(this,n);n>e;e++)a[e]=f?l(u[e],e):u[e];return a},Ct=function(){for(var t=0,e=arguments.length,n=Nt(this,e);e>t;)n[t]=arguments[t++];return n},Dt=!!q&&i((function(){ht.call(new q(1))})),Bt=function(){return ht.apply(Dt?ft.call(xt(this)):xt(this),arguments)},Ot={copyWithin:function(t,e){return V.call(xt(this),t,e,arguments.length>2?arguments[2]:void 0)},every:function(t){return H(xt(this),t,arguments.length>1?arguments[1]:void 0)},fill:function(t){return L.apply(xt(this),arguments)},filter:function(t){return At(this,z(xt(this),t,arguments.length>1?arguments[1]:void 0))},find:function(t){return $(xt(this),t,arguments.length>1?arguments[1]:void 0)},findIndex:function(t){return tt(xt(this),t,arguments.length>1?arguments[1]:void 0)},forEach:function(t){Q(xt(this),t,arguments.length>1?arguments[1]:void 0)},indexOf:function(t){return nt(xt(this),t,arguments.length>1?arguments[1]:void 0)},includes:function(t){return et(xt(this),t,arguments.length>1?arguments[1]:void 0)},join:function(t){return st.apply(xt(this),arguments)},lastIndexOf:function(t){return ot.apply(xt(this),arguments)},map:function(t){return Et(xt(this),t,arguments.length>1?arguments[1]:void 0)},reduce:function(t){return ut.apply(xt(this),arguments)},reduceRight:function(t){return ct.apply(xt(this),arguments)},reverse:function(){for(var t,e=xt(this).length,n=Math.floor(e/2),r=0;r1?arguments[1]:void 0)},sort:function(t){return lt.call(xt(this),t)},subarray:function(t,e){var n=xt(this),r=n.length,a=m(t,r);return new(D(n,n[mt]))(n.buffer,n.byteOffset+a*n.BYTES_PER_ELEMENT,g((void 0===e?r:m(e,r))-a))}},Ft=function(t,e){return At(this,ft.call(xt(this),t,e))},Tt=function(t){xt(this);var e=Mt(arguments[1],1),n=this.length,r=I(t),a=g(r.length),i=0;if(a+e>n)throw Y("Wrong length!");for(;i255?255:255&r),a.v[h](n*e+a.o,r,It)}(this,n,t)},enumerable:!0})};w?(p=n((function(t,n,r,a){l(t,p,s,"_d");var i,o,u,c,f=0,h=0;if(E(n)){if(!(n instanceof Z||"ArrayBuffer"==(c=b(n))||"SharedArrayBuffer"==c))return wt in n?St(p,n):_t.call(p,n);i=n,h=Mt(r,e);var m=n.byteLength;if(void 0===a){if(m%e)throw Y("Wrong length!");if((o=m-h)<0)throw Y("Wrong length!")}else if((o=g(a)*e)+h>m)throw Y("Wrong length!");u=o/e}else u=v(n),i=new Z(o=u*e);for(d(t,"_d",{b:i,o:h,l:o,e:u,v:new G(i)});f>1,l=23===e?x(2,-24)-x(2,-77):0,f=0,d=t<0||0===t&&1/t<0?1:0;for((t=M(t))!=t||t===I?(a=t!=t?1:0,r=c):(r=N(A(t)/S),t*(i=x(2,-r))<1&&(r--,i*=2),(t+=r+s>=1?l/i:l*x(2,1-s))*i>=2&&(r++,i/=2),r+s>=c?(a=0,r=c):r+s>=1?(a=(t*i-1)*x(2,e),r+=s):(a=t*x(2,s-1)*x(2,e),r=0));e>=8;o[f++]=255&a,a/=256,e-=8);for(r=r<0;o[f++]=255&r,r/=256,u-=8);return o[--f]|=128*d,o}function B(t,e,n){var r,a=8*n-e-1,i=(1<>1,u=a-7,c=n-1,s=t[c--],l=127&s;for(s>>=7;u>0;l=256*l+t[c],c--,u-=8);for(r=l&(1<<-u)-1,l>>=-u,u+=e;u>0;r=256*r+t[c],c--,u-=8);if(0===l)l=1-o;else{if(l===i)return r?NaN:s?-I:I;r+=x(2,e),l-=o}return(s?-1:1)*r*x(2,l-e)}function O(t){return t[3]<<24|t[2]<<16|t[1]<<8|t[0]}function F(t){return[255&t]}function T(t){return[255&t,t>>8&255]}function L(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]}function V(t){return D(t,52,8)}function W(t){return D(t,23,4)}function j(t,e,n){g(t.prototype,e,{get:function(){return this[n]}})}function R(t,e,n,r){var a=h(+n);if(a+e>t[_])throw E("Wrong index!");var i=t[P]._b,o=a+t[C],u=i.slice(o,o+e);return r?u:u.reverse()}function U(t,e,n,r,a,i){var o=h(+n);if(o+e>t[_])throw E("Wrong index!");for(var u=t[P]._b,c=o+t[C],s=r(+a),l=0;lK;)(Y=q[K++])in y||u(y,Y,k[Y]);i||(X.constructor=y)}var Z=new w(new y(2)),G=w.prototype.setInt8;Z.setInt8(0,2147483648),Z.setInt8(1,2147483649),!Z.getInt8(0)&&Z.getInt8(1)||c(w.prototype,{setInt8:function(t,e){G.call(this,t,e<<24>>24)},setUint8:function(t,e){G.call(this,t,e<<24>>24)}},!0)}else y=function(t){l(this,y,"ArrayBuffer");var e=h(t);this._b=v.call(new Array(e),0),this[_]=e},w=function(t,e,n){l(this,w,"DataView"),l(t,y,"DataView");var r=t[_],a=f(e);if(a<0||a>r)throw E("Wrong offset!");if(a+(n=void 0===n?r-a:d(n))>r)throw E("Wrong length!");this[P]=t,this[C]=a,this[_]=n},a&&(j(y,"byteLength","_l"),j(w,"buffer","_b"),j(w,"byteLength","_l"),j(w,"byteOffset","_o")),c(w.prototype,{getInt8:function(t){return R(this,1,t)[0]<<24>>24},getUint8:function(t){return R(this,1,t)[0]},getInt16:function(t){var e=R(this,2,t,arguments[1]);return(e[1]<<8|e[0])<<16>>16},getUint16:function(t){var e=R(this,2,t,arguments[1]);return e[1]<<8|e[0]},getInt32:function(t){return O(R(this,4,t,arguments[1]))},getUint32:function(t){return O(R(this,4,t,arguments[1]))>>>0},getFloat32:function(t){return B(R(this,4,t,arguments[1]),23,4)},getFloat64:function(t){return B(R(this,8,t,arguments[1]),52,8)},setInt8:function(t,e){U(this,1,t,F,e)},setUint8:function(t,e){U(this,1,t,F,e)},setInt16:function(t,e){U(this,2,t,T,e,arguments[2])},setUint16:function(t,e){U(this,2,t,T,e,arguments[2])},setInt32:function(t,e){U(this,4,t,L,e,arguments[2])},setUint32:function(t,e){U(this,4,t,L,e,arguments[2])},setFloat32:function(t,e){U(this,4,t,W,e,arguments[2])},setFloat64:function(t,e){U(this,8,t,V,e,arguments[2])}});m(y,"ArrayBuffer"),m(w,"DataView"),u(w.prototype,o.VIEW,!0),e.ArrayBuffer=y,e.DataView=w},Cfrj:function(t,e,n){var r=n("RYi7"),a=n("ne8i");t.exports=function(t){if(void 0===t)return 0;var e=r(t),n=a(e);if(e!==n)throw RangeError("Wrong length!");return n}},D4iV:function(t,e,n){for(var r,a=n("dyZX"),i=n("Mukb"),o=n("ylqs"),u=o("typed_array"),c=o("view"),s=!(!a.ArrayBuffer||!a.DataView),l=s,f=0,d="Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(",");f<9;)(r=a[d[f++]])?(i(r.prototype,u,!0),i(r.prototype,c,!0)):l=!1;t.exports={ABV:s,CONSTR:l,TYPED:u,VIEW:c}},Nr18:function(t,e,n){"use strict";var r=n("S/j/"),a=n("d/Gc"),i=n("ne8i");t.exports=function(t){for(var e=r(this),n=i(e.length),o=arguments.length,u=a(o>1?arguments[1]:void 0,n),c=o>2?arguments[2]:void 0,s=void 0===c?n:a(c,n);s>u;)e[u++]=t;return e}},"Pe/n":function(t,e,n){"use strict";n.d(e,"b",(function(){return i})),n.d(e,"f",(function(){return o})),n.d(e,"d",(function(){return u})),n.d(e,"a",(function(){return c})),n.d(e,"c",(function(){return l})),n.d(e,"e",(function(){return f}));var r=n("q1tI"),a=n.n(r),i=function(t){var e=t.children;return a.a.createElement("main",{className:"page-main"},e)},o=function(t){var e=t.children,n=t.icon,r=void 0===n?null:n;return a.a.createElement("div",{className:"title"},r," ",a.a.createElement("h2",{className:"title__text"},e))},u=function(t){var e=t.children;return a.a.createElement("h3",{className:"subtitle"},e)},c=function(t){var e=t.to,n=t.icon,r=t.iconPosition,i=void 0===r?"before":r,o=t.children,u=n&&"before"===i,c=n&&"after"===i;return a.a.createElement("span",{className:"page-link"},u&&a.a.createElement(n,{className:"page-link__icon"}),a.a.createElement("a",{href:e,className:"page-link__anchor"},o),c&&a.a.createElement(n,{className:"page-link__icon"}))},s=function(){return a.a.createElement(a.a.Fragment,null,"    ")},l=function(t){var e=t.children;return a.a.createElement("p",{className:"paragraph"},a.a.createElement(s,null),e)},f=function(t){var e=t.src,n=t.srcSet,r=t.responsive,i=void 0===r||r,o=t.alt;return a.a.createElement("img",{alt:o,src:e,srcSet:n,className:"text-image"+(i?" text-image--responsive":"")})}},Y9lz:function(t,e,n){n("7DDg")("Float32",4,(function(t){return function(e,n,r){return t(this,e,n,r)}}))},upKx:function(t,e,n){"use strict";var r=n("S/j/"),a=n("d/Gc"),i=n("ne8i");t.exports=[].copyWithin||function(t,e){var n=r(this),o=i(n.length),u=a(t,o),c=a(e,o),s=arguments.length>2?arguments[2]:void 0,l=Math.min((void 0===s?o:a(s,o))-c,o-u),f=1;for(c0;)c in n?n[u]=n[c]:delete n[u],u+=f,c+=f;return n}},xfY5:function(t,e,n){"use strict";var r=n("dyZX"),a=n("aagx"),i=n("LZWt"),o=n("Xbzi"),u=n("apmT"),c=n("eeVq"),s=n("kJMx").f,l=n("EemH").f,f=n("hswa").f,d=n("qncB").trim,h=r.Number,p=h,g=h.prototype,v="Number"==i(n("Kuth")(g)),m="trim"in String.prototype,y=function(t){var e=u(t,!1);if("string"==typeof e&&e.length>2){var n,r,a,i=(e=m?e.trim():d(e,3)).charCodeAt(0);if(43===i||45===i){if(88===(n=e.charCodeAt(2))||120===n)return NaN}else if(48===i){switch(e.charCodeAt(1)){case 66:case 98:r=2,a=49;break;case 79:case 111:r=8,a=55;break;default:return+e}for(var o,c=e.slice(2),s=0,l=c.length;sa)return NaN;return parseInt(c,r)}}return+e};if(!h(" 0o1")||!h("0b1")||h("+0x1")){h=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof h&&(v?c((function(){g.valueOf.call(n)})):"Number"!=i(n))?o(new p(y(e)),n,h):y(e)};for(var w,b=n("nh4g")?s(p):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),E=0;b.length>E;E++)a(p,w=b[E])&&!a(h,w)&&f(h,w,l(p,w));h.prototype=g,g.constructor=h,n("KroJ")(r,"Number",h)}}}]); +//# sourceMappingURL=component---src-pages-about-js-00458b6a1a8c168474c8.js.map \ No newline at end of file diff --git a/component---src-pages-about-js-00458b6a1a8c168474c8.js.map b/component---src-pages-about-js-00458b6a1a8c168474c8.js.map new file mode 100644 index 0000000..a3c13ec --- /dev/null +++ b/component---src-pages-about-js-00458b6a1a8c168474c8.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///./node_modules/animejs/lib/anime.es.js","webpack:///./src/components/SkillDonut.js","webpack:///./src/pages/about.js","webpack:///./node_modules/core-js/modules/_typed-array.js","webpack:///./node_modules/core-js/modules/_typed-buffer.js","webpack:///./node_modules/core-js/modules/_to-index.js","webpack:///./node_modules/core-js/modules/_typed.js","webpack:///./node_modules/core-js/modules/_array-fill.js","webpack:///./src/components/PageElements.js","webpack:///./node_modules/core-js/modules/es6.typed.float32-array.js","webpack:///./node_modules/core-js/modules/_array-copy-within.js","webpack:///./node_modules/core-js/modules/es6.number.constructor.js"],"names":["defaultInstanceSettings","update","begin","loopBegin","changeBegin","change","changeComplete","loopComplete","complete","loop","direction","autoplay","timelineOffset","defaultTweenSettings","duration","delay","endDelay","easing","round","validTransforms","cache","CSS","springs","minMax","val","min","max","Math","stringContains","str","text","indexOf","applyArguments","func","args","apply","is","arr","a","Array","isArray","obj","Object","prototype","toString","call","pth","hasOwnProperty","svg","SVGElement","inp","HTMLInputElement","dom","nodeType","fnc","und","hex","test","rgb","hsl","col","key","parseEasingParameters","string","match","exec","split","map","p","parseFloat","spring","params","mass","stiffness","damping","velocity","w0","sqrt","zeta","wd","b","solver","t","progress","exp","cos","sin","cached","elapsed","rest","steps","eases","functionEasings","bezier","A","aA1","aA2","B","C","calcBezier","aT","getSlope","mX1","mY1","mX2","mY2","sampleValues","Float32Array","i","x","getTForX","aX","intervalStart","currentSample","kSplineTableSize","guessForT","initialSlope","aGuessT","currentSlope","newtonRaphsonIterate","aA","aB","currentX","currentT","abs","binarySubdivide","penner","linear","Sine","PI","Circ","Back","Bounce","pow2","pow","Elastic","amplitude","period","asin","forEach","name","keys","easeIn","parseEasings","ease","selectString","document","querySelectorAll","e","filterArray","callback","len","length","thisArg","arguments","result","push","flattenArray","reduce","concat","toArray","o","NodeList","HTMLCollection","slice","arrayContains","some","cloneObject","clone","replaceObjectProps","o1","o2","mergeObjects","colorToRgb","rgbValue","hexValue","replace","m","r","g","parseInt","hexToRgba","hslValue","h","s","l","hue2rgb","q","hslToRgba","getUnit","getFunctionValue","animatable","target","id","total","getAttribute","el","prop","convertPxToUnit","value","unit","tempEl","createElement","tagName","parentEl","parentNode","body","appendChild","style","position","width","factor","offsetWidth","removeChild","convertedUnit","getCSSValue","uppercasePropName","toLowerCase","getComputedStyle","getPropertyValue","getAnimationType","getElementTransforms","transform","reg","transforms","Map","set","getTransformValue","propName","defaultVal","getTransformUnit","get","list","getOriginalTargetValue","getRelativeValue","to","from","operator","u","y","validateValue","originalUnit","unitLess","substr","getDistance","p1","p2","getPolylineLength","previousPos","points","totalLength","numberOfItems","currentPos","getItem","getTotalLength","getCircleLength","getRectLength","getLineLength","getPolygonLength","getParentSvg","pathEl","svgData","parentSvgEl","getParentSvgEl","rect","getBoundingClientRect","viewBoxAttr","height","viewBox","w","getPathProgress","path","point","offset","getPointAtLength","p0","property","atan2","decomposeValue","rgx","original","numbers","Number","strings","parseTargets","targets","item","pos","self","getAnimatables","parsed","normalizePropertyTweens","tweenSettings","settings","propArray","v","k","getProperties","properties","keyframes","propertyNames","newKey","flattenKeyframes","tweens","normalizeTweens","previousTween","tween","normalizeTweenValues","tweenValue","toUnit","originalValue","previousValue","fromUnit","start","end","isPath","isColor","setProgressValue","css","attribute","setAttribute","object","manual","last","setTargetsValue","valueUnit","animType","getAnimations","animatables","lastTween","type","createAnimation","getInstanceTimings","animations","animLength","getTlOffset","anim","timings","instanceID","raf","activeInstances","pausedInstances","engine","play","requestAnimationFrame","step","activeInstancesLength","activeInstance","paused","instanceIndex","splice","tick","cancelAnimationFrame","anime","children","startTime","lastTime","now","childrenLength","resolve","makePromise","instance","promise","window","Promise","_resolve","finished","instanceSettings","createNewInstance","toggleInstanceDirection","reversed","child","adjustTime","time","resetTime","currentTime","speed","seekChild","seek","setAnimationsProgress","insTime","animationsLength","tweenLength","eased","isNaN","toNumbersLength","n","toNumber","fromNumber","stringsLength","n$1","currentValue","setCallback","cb","passThrough","setInstanceProgress","engineTime","insDuration","insDelay","insEndDelay","reversePlayback","i$1","syncInstanceChildren","began","loopBegan","changeBegan","changeCompleted","remaining","completed","reset","pause","reverse","restart","removeTargetsFromAnimations","targetsArray","addEventListener","hidden","ins","running","version","remove","c","childAnimations","convertPx","percent","setDashoffset","pathLength","stagger","grid","axis","fromIndex","fromFirst","fromCenter","fromLast","isRange","val1","val2","values","maxValue","index","fromX","fromY","floor","distanceX","distanceY","timeline","tl","add","instanceParams","tlIndex","insParams","tlDuration","random","SkillSection","className","SkillDonut","props","state","animated","dash","radius","componentDidMount","this","percentage","initialDash","refs","skillCircle","strokeDashoffset","skillPercentage","textContent","render","color","strokeWidth","size","dashArray","ref","stroke","strokeDasharray","Component","defaultProps","About","icon","FaPalette","iconPosition","FaEnvelope","FaFileAlt","LIBRARY","global","fails","$export","$typed","$buffer","ctx","anInstance","propertyDesc","hide","redefineAll","toInteger","toLength","toIndex","toAbsoluteIndex","toPrimitive","has","classof","isObject","toObject","isArrayIter","create","getPrototypeOf","gOPN","f","getIterFn","uid","wks","createArrayMethod","createArrayIncludes","speciesConstructor","ArrayIterators","Iterators","$iterDetect","setSpecies","arrayFill","arrayCopyWithin","$DP","$GOPD","dP","gOPD","RangeError","TypeError","Uint8Array","ArrayProto","$ArrayBuffer","ArrayBuffer","$DataView","DataView","arrayForEach","arrayFilter","arraySome","arrayEvery","arrayFind","arrayFindIndex","arrayIncludes","arrayIndexOf","arrayValues","arrayKeys","arrayEntries","entries","arrayLastIndexOf","lastIndexOf","arrayReduce","arrayReduceRight","reduceRight","arrayJoin","join","arraySort","sort","arraySlice","arrayToString","arrayToLocaleString","toLocaleString","ITERATOR","TAG","TYPED_CONSTRUCTOR","DEF_CONSTRUCTOR","ALL_CONSTRUCTORS","CONSTR","TYPED_ARRAY","TYPED","VIEW","$map","O","allocate","LITTLE_ENDIAN","Uint16Array","buffer","FORCED_SET","toOffset","it","BYTES","validate","speciesFromList","fromList","addGetter","internal","_d","$from","source","iterator","aLen","mapfn","undefined","mapping","iterFn","next","done","$of","TO_LOCALE_BUG","$toLocaleString","proto","copyWithin","every","callbackfn","fill","filter","find","predicate","findIndex","searchElement","includes","separator","middle","comparefn","subarray","$begin","byteOffset","BYTES_PER_ELEMENT","$slice","$set","arrayLike","src","$iterators","isTAIndex","String","$getDesc","$setDesc","desc","configurable","writable","enumerable","S","F","getOwnPropertyDescriptor","defineProperty","$TypedArrayPrototype$","constructor","module","exports","KEY","wrapper","CLAMPED","NAME","GETTER","SETTER","TypedArray","Base","TAC","FORCED","ABV","TypedArrayPrototype","addElement","that","data","getter","setter","$offset","$length","byteLength","klass","$len","iter","Function","$nativeIterator","CORRECT_ITER_NAME","$iterator","G","W","of","P","DESCRIPTORS","setToStringTag","Infinity","BaseBuffer","log","LN2","$BUFFER","$LENGTH","$OFFSET","packIEEE754","mLen","nBytes","eLen","eMax","eBias","rt","unpackIEEE754","nBits","NaN","unpackI32","bytes","packI8","packI16","packI32","packF64","packF32","view","isLittleEndian","intIndex","store","_b","pack","conversion","ArrayBufferProto","j","$setInt8","setInt8","getInt8","setUint8","bufferLength","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","number","Typed","TypedArrayConstructors","endPos","PageMain","Title","Icon","SubTitle","PageLink","iconBefore","iconAfter","href","Pre","Paragraph","TextImage","srcSet","responsive","alt","init","count","inc","cof","inheritIfRequired","$trim","trim","$Number","BROKEN_COF","TRIM","argument","third","radix","maxCode","first","charCodeAt","code","digits","valueOf"],"mappings":"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","file":"component---src-pages-about-js-00458b6a1a8c168474c8.js","sourcesContent":["import \"core-js/modules/es6.promise\";\nimport \"core-js/modules/es6.function.name\";\nimport \"core-js/modules/es6.number.constructor\";\nimport \"core-js/modules/es6.regexp.match\";\nimport \"core-js/modules/es6.string.iterator\";\nimport \"core-js/modules/es6.map\";\nimport \"core-js/modules/es6.regexp.replace\";\nimport \"core-js/modules/es6.array.some\";\nimport \"core-js/modules/es6.array.reduce\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.iterator\";\nimport \"core-js/modules/es6.object.keys\";\nimport \"core-js/modules/es6.array.for-each\";\nimport \"core-js/modules/es6.typed.float32-array\";\nimport \"core-js/modules/es6.regexp.split\";\nimport \"core-js/modules/es6.array.map\";\nimport \"core-js/modules/es6.regexp.to-string\";\nimport \"core-js/modules/es6.date.to-string\";\nimport \"core-js/modules/es6.object.to-string\";\nimport \"core-js/modules/es6.array.is-array\";\nimport \"core-js/modules/es6.array.index-of\";\n\n/*\n * anime.js v3.1.0\n * (c) 2019 Julian Garnier\n * Released under the MIT license\n * animejs.com\n */\n// Defaults\nvar defaultInstanceSettings = {\n update: null,\n begin: null,\n loopBegin: null,\n changeBegin: null,\n change: null,\n changeComplete: null,\n loopComplete: null,\n complete: null,\n loop: 1,\n direction: 'normal',\n autoplay: true,\n timelineOffset: 0\n};\nvar defaultTweenSettings = {\n duration: 1000,\n delay: 0,\n endDelay: 0,\n easing: 'easeOutElastic(1, .5)',\n round: 0\n};\nvar validTransforms = ['translateX', 'translateY', 'translateZ', 'rotate', 'rotateX', 'rotateY', 'rotateZ', 'scale', 'scaleX', 'scaleY', 'scaleZ', 'skew', 'skewX', 'skewY', 'perspective']; // Caching\n\nvar cache = {\n CSS: {},\n springs: {}\n}; // Utils\n\nfunction minMax(val, min, max) {\n return Math.min(Math.max(val, min), max);\n}\n\nfunction stringContains(str, text) {\n return str.indexOf(text) > -1;\n}\n\nfunction applyArguments(func, args) {\n return func.apply(null, args);\n}\n\nvar is = {\n arr: function arr(a) {\n return Array.isArray(a);\n },\n obj: function obj(a) {\n return stringContains(Object.prototype.toString.call(a), 'Object');\n },\n pth: function pth(a) {\n return is.obj(a) && a.hasOwnProperty('totalLength');\n },\n svg: function svg(a) {\n return a instanceof SVGElement;\n },\n inp: function inp(a) {\n return a instanceof HTMLInputElement;\n },\n dom: function dom(a) {\n return a.nodeType || is.svg(a);\n },\n str: function str(a) {\n return typeof a === 'string';\n },\n fnc: function fnc(a) {\n return typeof a === 'function';\n },\n und: function und(a) {\n return typeof a === 'undefined';\n },\n hex: function hex(a) {\n return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(a);\n },\n rgb: function rgb(a) {\n return /^rgb/.test(a);\n },\n hsl: function hsl(a) {\n return /^hsl/.test(a);\n },\n col: function col(a) {\n return is.hex(a) || is.rgb(a) || is.hsl(a);\n },\n key: function key(a) {\n return !defaultInstanceSettings.hasOwnProperty(a) && !defaultTweenSettings.hasOwnProperty(a) && a !== 'targets' && a !== 'keyframes';\n }\n}; // Easings\n\nfunction parseEasingParameters(string) {\n var match = /\\(([^)]+)\\)/.exec(string);\n return match ? match[1].split(',').map(function (p) {\n return parseFloat(p);\n }) : [];\n} // Spring solver inspired by Webkit Copyright © 2016 Apple Inc. All rights reserved. https://webkit.org/demos/spring/spring.js\n\n\nfunction spring(string, duration) {\n var params = parseEasingParameters(string);\n var mass = minMax(is.und(params[0]) ? 1 : params[0], .1, 100);\n var stiffness = minMax(is.und(params[1]) ? 100 : params[1], .1, 100);\n var damping = minMax(is.und(params[2]) ? 10 : params[2], .1, 100);\n var velocity = minMax(is.und(params[3]) ? 0 : params[3], .1, 100);\n var w0 = Math.sqrt(stiffness / mass);\n var zeta = damping / (2 * Math.sqrt(stiffness * mass));\n var wd = zeta < 1 ? w0 * Math.sqrt(1 - zeta * zeta) : 0;\n var a = 1;\n var b = zeta < 1 ? (zeta * w0 + -velocity) / wd : -velocity + w0;\n\n function solver(t) {\n var progress = duration ? duration * t / 1000 : t;\n\n if (zeta < 1) {\n progress = Math.exp(-progress * zeta * w0) * (a * Math.cos(wd * progress) + b * Math.sin(wd * progress));\n } else {\n progress = (a + b * progress) * Math.exp(-progress * w0);\n }\n\n if (t === 0 || t === 1) {\n return t;\n }\n\n return 1 - progress;\n }\n\n function getDuration() {\n var cached = cache.springs[string];\n\n if (cached) {\n return cached;\n }\n\n var frame = 1 / 6;\n var elapsed = 0;\n var rest = 0;\n\n while (true) {\n elapsed += frame;\n\n if (solver(elapsed) === 1) {\n rest++;\n\n if (rest >= 16) {\n break;\n }\n } else {\n rest = 0;\n }\n }\n\n var duration = elapsed * frame * 1000;\n cache.springs[string] = duration;\n return duration;\n }\n\n return duration ? solver : getDuration;\n} // Basic steps easing implementation https://developer.mozilla.org/fr/docs/Web/CSS/transition-timing-function\n\n\nfunction steps(steps) {\n if (steps === void 0) steps = 10;\n return function (t) {\n return Math.round(t * steps) * (1 / steps);\n };\n} // BezierEasing https://github.com/gre/bezier-easing\n\n\nvar bezier = function () {\n var kSplineTableSize = 11;\n var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\n\n function A(aA1, aA2) {\n return 1.0 - 3.0 * aA2 + 3.0 * aA1;\n }\n\n function B(aA1, aA2) {\n return 3.0 * aA2 - 6.0 * aA1;\n }\n\n function C(aA1) {\n return 3.0 * aA1;\n }\n\n function calcBezier(aT, aA1, aA2) {\n return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\n }\n\n function getSlope(aT, aA1, aA2) {\n return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1);\n }\n\n function binarySubdivide(aX, aA, aB, mX1, mX2) {\n var currentX,\n currentT,\n i = 0;\n\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n\n if (currentX > 0.0) {\n aB = currentT;\n } else {\n aA = currentT;\n }\n } while (Math.abs(currentX) > 0.0000001 && ++i < 10);\n\n return currentT;\n }\n\n function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n for (var i = 0; i < 4; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n\n if (currentSlope === 0.0) {\n return aGuessT;\n }\n\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n\n return aGuessT;\n }\n\n function bezier(mX1, mY1, mX2, mY2) {\n if (!(0 <= mX1 && mX1 <= 1 && 0 <= mX2 && mX2 <= 1)) {\n return;\n }\n\n var sampleValues = new Float32Array(kSplineTableSize);\n\n if (mX1 !== mY1 || mX2 !== mY2) {\n for (var i = 0; i < kSplineTableSize; ++i) {\n sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n }\n\n function getTForX(aX) {\n var intervalStart = 0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n\n for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n\n --currentSample;\n var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n\n if (initialSlope >= 0.001) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n } else if (initialSlope === 0.0) {\n return guessForT;\n } else {\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n }\n\n return function (x) {\n if (mX1 === mY1 && mX2 === mY2) {\n return x;\n }\n\n if (x === 0 || x === 1) {\n return x;\n }\n\n return calcBezier(getTForX(x), mY1, mY2);\n };\n }\n\n return bezier;\n}();\n\nvar penner = function () {\n // Based on jQuery UI's implemenation of easing equations from Robert Penner (http://www.robertpenner.com/easing)\n var eases = {\n linear: function linear() {\n return function (t) {\n return t;\n };\n }\n };\n var functionEasings = {\n Sine: function Sine() {\n return function (t) {\n return 1 - Math.cos(t * Math.PI / 2);\n };\n },\n Circ: function Circ() {\n return function (t) {\n return 1 - Math.sqrt(1 - t * t);\n };\n },\n Back: function Back() {\n return function (t) {\n return t * t * (3 * t - 2);\n };\n },\n Bounce: function Bounce() {\n return function (t) {\n var pow2,\n b = 4;\n\n while (t < ((pow2 = Math.pow(2, --b)) - 1) / 11) {}\n\n return 1 / Math.pow(4, 3 - b) - 7.5625 * Math.pow((pow2 * 3 - 2) / 22 - t, 2);\n };\n },\n Elastic: function Elastic(amplitude, period) {\n if (amplitude === void 0) amplitude = 1;\n if (period === void 0) period = .5;\n var a = minMax(amplitude, 1, 10);\n var p = minMax(period, .1, 2);\n return function (t) {\n return t === 0 || t === 1 ? t : -a * Math.pow(2, 10 * (t - 1)) * Math.sin((t - 1 - p / (Math.PI * 2) * Math.asin(1 / a)) * (Math.PI * 2) / p);\n };\n }\n };\n var baseEasings = ['Quad', 'Cubic', 'Quart', 'Quint', 'Expo'];\n baseEasings.forEach(function (name, i) {\n functionEasings[name] = function () {\n return function (t) {\n return Math.pow(t, i + 2);\n };\n };\n });\n Object.keys(functionEasings).forEach(function (name) {\n var easeIn = functionEasings[name];\n eases['easeIn' + name] = easeIn;\n\n eases['easeOut' + name] = function (a, b) {\n return function (t) {\n return 1 - easeIn(a, b)(1 - t);\n };\n };\n\n eases['easeInOut' + name] = function (a, b) {\n return function (t) {\n return t < 0.5 ? easeIn(a, b)(t * 2) / 2 : 1 - easeIn(a, b)(t * -2 + 2) / 2;\n };\n };\n });\n return eases;\n}();\n\nfunction parseEasings(easing, duration) {\n if (is.fnc(easing)) {\n return easing;\n }\n\n var name = easing.split('(')[0];\n var ease = penner[name];\n var args = parseEasingParameters(easing);\n\n switch (name) {\n case 'spring':\n return spring(easing, duration);\n\n case 'cubicBezier':\n return applyArguments(bezier, args);\n\n case 'steps':\n return applyArguments(steps, args);\n\n default:\n return applyArguments(ease, args);\n }\n} // Strings\n\n\nfunction selectString(str) {\n try {\n var nodes = document.querySelectorAll(str);\n return nodes;\n } catch (e) {\n return;\n }\n} // Arrays\n\n\nfunction filterArray(arr, callback) {\n var len = arr.length;\n var thisArg = arguments.length >= 2 ? arguments[1] : void 0;\n var result = [];\n\n for (var i = 0; i < len; i++) {\n if (i in arr) {\n var val = arr[i];\n\n if (callback.call(thisArg, val, i, arr)) {\n result.push(val);\n }\n }\n }\n\n return result;\n}\n\nfunction flattenArray(arr) {\n return arr.reduce(function (a, b) {\n return a.concat(is.arr(b) ? flattenArray(b) : b);\n }, []);\n}\n\nfunction toArray(o) {\n if (is.arr(o)) {\n return o;\n }\n\n if (is.str(o)) {\n o = selectString(o) || o;\n }\n\n if (o instanceof NodeList || o instanceof HTMLCollection) {\n return [].slice.call(o);\n }\n\n return [o];\n}\n\nfunction arrayContains(arr, val) {\n return arr.some(function (a) {\n return a === val;\n });\n} // Objects\n\n\nfunction cloneObject(o) {\n var clone = {};\n\n for (var p in o) {\n clone[p] = o[p];\n }\n\n return clone;\n}\n\nfunction replaceObjectProps(o1, o2) {\n var o = cloneObject(o1);\n\n for (var p in o1) {\n o[p] = o2.hasOwnProperty(p) ? o2[p] : o1[p];\n }\n\n return o;\n}\n\nfunction mergeObjects(o1, o2) {\n var o = cloneObject(o1);\n\n for (var p in o2) {\n o[p] = is.und(o1[p]) ? o2[p] : o1[p];\n }\n\n return o;\n} // Colors\n\n\nfunction rgbToRgba(rgbValue) {\n var rgb = /rgb\\((\\d+,\\s*[\\d]+,\\s*[\\d]+)\\)/g.exec(rgbValue);\n return rgb ? \"rgba(\" + rgb[1] + \",1)\" : rgbValue;\n}\n\nfunction hexToRgba(hexValue) {\n var rgx = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n var hex = hexValue.replace(rgx, function (m, r, g, b) {\n return r + r + g + g + b + b;\n });\n var rgb = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n var r = parseInt(rgb[1], 16);\n var g = parseInt(rgb[2], 16);\n var b = parseInt(rgb[3], 16);\n return \"rgba(\" + r + \",\" + g + \",\" + b + \",1)\";\n}\n\nfunction hslToRgba(hslValue) {\n var hsl = /hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.exec(hslValue) || /hsla\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%,\\s*([\\d.]+)\\)/g.exec(hslValue);\n var h = parseInt(hsl[1], 10) / 360;\n var s = parseInt(hsl[2], 10) / 100;\n var l = parseInt(hsl[3], 10) / 100;\n var a = hsl[4] || 1;\n\n function hue2rgb(p, q, t) {\n if (t < 0) {\n t += 1;\n }\n\n if (t > 1) {\n t -= 1;\n }\n\n if (t < 1 / 6) {\n return p + (q - p) * 6 * t;\n }\n\n if (t < 1 / 2) {\n return q;\n }\n\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n\n return p;\n }\n\n var r, g, b;\n\n if (s == 0) {\n r = g = b = l;\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n\n return \"rgba(\" + r * 255 + \",\" + g * 255 + \",\" + b * 255 + \",\" + a + \")\";\n}\n\nfunction colorToRgb(val) {\n if (is.rgb(val)) {\n return rgbToRgba(val);\n }\n\n if (is.hex(val)) {\n return hexToRgba(val);\n }\n\n if (is.hsl(val)) {\n return hslToRgba(val);\n }\n} // Units\n\n\nfunction getUnit(val) {\n var split = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(val);\n\n if (split) {\n return split[1];\n }\n}\n\nfunction getTransformUnit(propName) {\n if (stringContains(propName, 'translate') || propName === 'perspective') {\n return 'px';\n }\n\n if (stringContains(propName, 'rotate') || stringContains(propName, 'skew')) {\n return 'deg';\n }\n} // Values\n\n\nfunction getFunctionValue(val, animatable) {\n if (!is.fnc(val)) {\n return val;\n }\n\n return val(animatable.target, animatable.id, animatable.total);\n}\n\nfunction getAttribute(el, prop) {\n return el.getAttribute(prop);\n}\n\nfunction convertPxToUnit(el, value, unit) {\n var valueUnit = getUnit(value);\n\n if (arrayContains([unit, 'deg', 'rad', 'turn'], valueUnit)) {\n return value;\n }\n\n var cached = cache.CSS[value + unit];\n\n if (!is.und(cached)) {\n return cached;\n }\n\n var baseline = 100;\n var tempEl = document.createElement(el.tagName);\n var parentEl = el.parentNode && el.parentNode !== document ? el.parentNode : document.body;\n parentEl.appendChild(tempEl);\n tempEl.style.position = 'absolute';\n tempEl.style.width = baseline + unit;\n var factor = baseline / tempEl.offsetWidth;\n parentEl.removeChild(tempEl);\n var convertedUnit = factor * parseFloat(value);\n cache.CSS[value + unit] = convertedUnit;\n return convertedUnit;\n}\n\nfunction getCSSValue(el, prop, unit) {\n if (prop in el.style) {\n var uppercasePropName = prop.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n var value = el.style[prop] || getComputedStyle(el).getPropertyValue(uppercasePropName) || '0';\n return unit ? convertPxToUnit(el, value, unit) : value;\n }\n}\n\nfunction getAnimationType(el, prop) {\n if (is.dom(el) && !is.inp(el) && (getAttribute(el, prop) || is.svg(el) && el[prop])) {\n return 'attribute';\n }\n\n if (is.dom(el) && arrayContains(validTransforms, prop)) {\n return 'transform';\n }\n\n if (is.dom(el) && prop !== 'transform' && getCSSValue(el, prop)) {\n return 'css';\n }\n\n if (el[prop] != null) {\n return 'object';\n }\n}\n\nfunction getElementTransforms(el) {\n if (!is.dom(el)) {\n return;\n }\n\n var str = el.style.transform || '';\n var reg = /(\\w+)\\(([^)]*)\\)/g;\n var transforms = new Map();\n var m;\n\n while (m = reg.exec(str)) {\n transforms.set(m[1], m[2]);\n }\n\n return transforms;\n}\n\nfunction getTransformValue(el, propName, animatable, unit) {\n var defaultVal = stringContains(propName, 'scale') ? 1 : 0 + getTransformUnit(propName);\n var value = getElementTransforms(el).get(propName) || defaultVal;\n\n if (animatable) {\n animatable.transforms.list.set(propName, value);\n animatable.transforms['last'] = propName;\n }\n\n return unit ? convertPxToUnit(el, value, unit) : value;\n}\n\nfunction getOriginalTargetValue(target, propName, unit, animatable) {\n switch (getAnimationType(target, propName)) {\n case 'transform':\n return getTransformValue(target, propName, animatable, unit);\n\n case 'css':\n return getCSSValue(target, propName, unit);\n\n case 'attribute':\n return getAttribute(target, propName);\n\n default:\n return target[propName] || 0;\n }\n}\n\nfunction getRelativeValue(to, from) {\n var operator = /^(\\*=|\\+=|-=)/.exec(to);\n\n if (!operator) {\n return to;\n }\n\n var u = getUnit(to) || 0;\n var x = parseFloat(from);\n var y = parseFloat(to.replace(operator[0], ''));\n\n switch (operator[0][0]) {\n case '+':\n return x + y + u;\n\n case '-':\n return x - y + u;\n\n case '*':\n return x * y + u;\n }\n}\n\nfunction validateValue(val, unit) {\n if (is.col(val)) {\n return colorToRgb(val);\n }\n\n if (/\\s/g.test(val)) {\n return val;\n }\n\n var originalUnit = getUnit(val);\n var unitLess = originalUnit ? val.substr(0, val.length - originalUnit.length) : val;\n\n if (unit) {\n return unitLess + unit;\n }\n\n return unitLess;\n} // getTotalLength() equivalent for circle, rect, polyline, polygon and line shapes\n// adapted from https://gist.github.com/SebLambla/3e0550c496c236709744\n\n\nfunction getDistance(p1, p2) {\n return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));\n}\n\nfunction getCircleLength(el) {\n return Math.PI * 2 * getAttribute(el, 'r');\n}\n\nfunction getRectLength(el) {\n return getAttribute(el, 'width') * 2 + getAttribute(el, 'height') * 2;\n}\n\nfunction getLineLength(el) {\n return getDistance({\n x: getAttribute(el, 'x1'),\n y: getAttribute(el, 'y1')\n }, {\n x: getAttribute(el, 'x2'),\n y: getAttribute(el, 'y2')\n });\n}\n\nfunction getPolylineLength(el) {\n var points = el.points;\n var totalLength = 0;\n var previousPos;\n\n for (var i = 0; i < points.numberOfItems; i++) {\n var currentPos = points.getItem(i);\n\n if (i > 0) {\n totalLength += getDistance(previousPos, currentPos);\n }\n\n previousPos = currentPos;\n }\n\n return totalLength;\n}\n\nfunction getPolygonLength(el) {\n var points = el.points;\n return getPolylineLength(el) + getDistance(points.getItem(points.numberOfItems - 1), points.getItem(0));\n} // Path animation\n\n\nfunction getTotalLength(el) {\n if (el.getTotalLength) {\n return el.getTotalLength();\n }\n\n switch (el.tagName.toLowerCase()) {\n case 'circle':\n return getCircleLength(el);\n\n case 'rect':\n return getRectLength(el);\n\n case 'line':\n return getLineLength(el);\n\n case 'polyline':\n return getPolylineLength(el);\n\n case 'polygon':\n return getPolygonLength(el);\n }\n}\n\nfunction setDashoffset(el) {\n var pathLength = getTotalLength(el);\n el.setAttribute('stroke-dasharray', pathLength);\n return pathLength;\n} // Motion path\n\n\nfunction getParentSvgEl(el) {\n var parentEl = el.parentNode;\n\n while (is.svg(parentEl)) {\n if (!is.svg(parentEl.parentNode)) {\n break;\n }\n\n parentEl = parentEl.parentNode;\n }\n\n return parentEl;\n}\n\nfunction getParentSvg(pathEl, svgData) {\n var svg = svgData || {};\n var parentSvgEl = svg.el || getParentSvgEl(pathEl);\n var rect = parentSvgEl.getBoundingClientRect();\n var viewBoxAttr = getAttribute(parentSvgEl, 'viewBox');\n var width = rect.width;\n var height = rect.height;\n var viewBox = svg.viewBox || (viewBoxAttr ? viewBoxAttr.split(' ') : [0, 0, width, height]);\n return {\n el: parentSvgEl,\n viewBox: viewBox,\n x: viewBox[0] / 1,\n y: viewBox[1] / 1,\n w: width / viewBox[2],\n h: height / viewBox[3]\n };\n}\n\nfunction getPath(path, percent) {\n var pathEl = is.str(path) ? selectString(path)[0] : path;\n var p = percent || 100;\n return function (property) {\n return {\n property: property,\n el: pathEl,\n svg: getParentSvg(pathEl),\n totalLength: getTotalLength(pathEl) * (p / 100)\n };\n };\n}\n\nfunction getPathProgress(path, progress) {\n function point(offset) {\n if (offset === void 0) offset = 0;\n var l = progress + offset >= 1 ? progress + offset : 0;\n return path.el.getPointAtLength(l);\n }\n\n var svg = getParentSvg(path.el, path.svg);\n var p = point();\n var p0 = point(-1);\n var p1 = point(+1);\n\n switch (path.property) {\n case 'x':\n return (p.x - svg.x) * svg.w;\n\n case 'y':\n return (p.y - svg.y) * svg.h;\n\n case 'angle':\n return Math.atan2(p1.y - p0.y, p1.x - p0.x) * 180 / Math.PI;\n }\n} // Decompose value\n\n\nfunction decomposeValue(val, unit) {\n // const rgx = /-?\\d*\\.?\\d+/g; // handles basic numbers\n // const rgx = /[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var rgx = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n\n var value = validateValue(is.pth(val) ? val.totalLength : val, unit) + '';\n return {\n original: value,\n numbers: value.match(rgx) ? value.match(rgx).map(Number) : [0],\n strings: is.str(val) || unit ? value.split(rgx) : []\n };\n} // Animatables\n\n\nfunction parseTargets(targets) {\n var targetsArray = targets ? flattenArray(is.arr(targets) ? targets.map(toArray) : toArray(targets)) : [];\n return filterArray(targetsArray, function (item, pos, self) {\n return self.indexOf(item) === pos;\n });\n}\n\nfunction getAnimatables(targets) {\n var parsed = parseTargets(targets);\n return parsed.map(function (t, i) {\n return {\n target: t,\n id: i,\n total: parsed.length,\n transforms: {\n list: getElementTransforms(t)\n }\n };\n });\n} // Properties\n\n\nfunction normalizePropertyTweens(prop, tweenSettings) {\n var settings = cloneObject(tweenSettings); // Override duration if easing is a spring\n\n if (/^spring/.test(settings.easing)) {\n settings.duration = spring(settings.easing);\n }\n\n if (is.arr(prop)) {\n var l = prop.length;\n var isFromTo = l === 2 && !is.obj(prop[0]);\n\n if (!isFromTo) {\n // Duration divided by the number of tweens\n if (!is.fnc(tweenSettings.duration)) {\n settings.duration = tweenSettings.duration / l;\n }\n } else {\n // Transform [from, to] values shorthand to a valid tween value\n prop = {\n value: prop\n };\n }\n }\n\n var propArray = is.arr(prop) ? prop : [prop];\n return propArray.map(function (v, i) {\n var obj = is.obj(v) && !is.pth(v) ? v : {\n value: v\n }; // Default delay value should only be applied to the first tween\n\n if (is.und(obj.delay)) {\n obj.delay = !i ? tweenSettings.delay : 0;\n } // Default endDelay value should only be applied to the last tween\n\n\n if (is.und(obj.endDelay)) {\n obj.endDelay = i === propArray.length - 1 ? tweenSettings.endDelay : 0;\n }\n\n return obj;\n }).map(function (k) {\n return mergeObjects(k, settings);\n });\n}\n\nfunction flattenKeyframes(keyframes) {\n var propertyNames = filterArray(flattenArray(keyframes.map(function (key) {\n return Object.keys(key);\n })), function (p) {\n return is.key(p);\n }).reduce(function (a, b) {\n if (a.indexOf(b) < 0) {\n a.push(b);\n }\n\n return a;\n }, []);\n var properties = {};\n\n var loop = function loop(i) {\n var propName = propertyNames[i];\n properties[propName] = keyframes.map(function (key) {\n var newKey = {};\n\n for (var p in key) {\n if (is.key(p)) {\n if (p == propName) {\n newKey.value = key[p];\n }\n } else {\n newKey[p] = key[p];\n }\n }\n\n return newKey;\n });\n };\n\n for (var i = 0; i < propertyNames.length; i++) {\n loop(i);\n }\n\n return properties;\n}\n\nfunction getProperties(tweenSettings, params) {\n var properties = [];\n var keyframes = params.keyframes;\n\n if (keyframes) {\n params = mergeObjects(flattenKeyframes(keyframes), params);\n }\n\n for (var p in params) {\n if (is.key(p)) {\n properties.push({\n name: p,\n tweens: normalizePropertyTweens(params[p], tweenSettings)\n });\n }\n }\n\n return properties;\n} // Tweens\n\n\nfunction normalizeTweenValues(tween, animatable) {\n var t = {};\n\n for (var p in tween) {\n var value = getFunctionValue(tween[p], animatable);\n\n if (is.arr(value)) {\n value = value.map(function (v) {\n return getFunctionValue(v, animatable);\n });\n\n if (value.length === 1) {\n value = value[0];\n }\n }\n\n t[p] = value;\n }\n\n t.duration = parseFloat(t.duration);\n t.delay = parseFloat(t.delay);\n return t;\n}\n\nfunction normalizeTweens(prop, animatable) {\n var previousTween;\n return prop.tweens.map(function (t) {\n var tween = normalizeTweenValues(t, animatable);\n var tweenValue = tween.value;\n var to = is.arr(tweenValue) ? tweenValue[1] : tweenValue;\n var toUnit = getUnit(to);\n var originalValue = getOriginalTargetValue(animatable.target, prop.name, toUnit, animatable);\n var previousValue = previousTween ? previousTween.to.original : originalValue;\n var from = is.arr(tweenValue) ? tweenValue[0] : previousValue;\n var fromUnit = getUnit(from) || getUnit(originalValue);\n var unit = toUnit || fromUnit;\n\n if (is.und(to)) {\n to = previousValue;\n }\n\n tween.from = decomposeValue(from, unit);\n tween.to = decomposeValue(getRelativeValue(to, from), unit);\n tween.start = previousTween ? previousTween.end : 0;\n tween.end = tween.start + tween.delay + tween.duration + tween.endDelay;\n tween.easing = parseEasings(tween.easing, tween.duration);\n tween.isPath = is.pth(tweenValue);\n tween.isColor = is.col(tween.from.original);\n\n if (tween.isColor) {\n tween.round = 1;\n }\n\n previousTween = tween;\n return tween;\n });\n} // Tween progress\n\n\nvar setProgressValue = {\n css: function css(t, p, v) {\n return t.style[p] = v;\n },\n attribute: function attribute(t, p, v) {\n return t.setAttribute(p, v);\n },\n object: function object(t, p, v) {\n return t[p] = v;\n },\n transform: function transform(t, p, v, transforms, manual) {\n transforms.list.set(p, v);\n\n if (p === transforms.last || manual) {\n var str = '';\n transforms.list.forEach(function (value, prop) {\n str += prop + \"(\" + value + \") \";\n });\n t.style.transform = str;\n }\n }\n}; // Set Value helper\n\nfunction setTargetsValue(targets, properties) {\n var animatables = getAnimatables(targets);\n animatables.forEach(function (animatable) {\n for (var property in properties) {\n var value = getFunctionValue(properties[property], animatable);\n var target = animatable.target;\n var valueUnit = getUnit(value);\n var originalValue = getOriginalTargetValue(target, property, valueUnit, animatable);\n var unit = valueUnit || getUnit(originalValue);\n var to = getRelativeValue(validateValue(value, unit), originalValue);\n var animType = getAnimationType(target, property);\n setProgressValue[animType](target, property, to, animatable.transforms, true);\n }\n });\n} // Animations\n\n\nfunction createAnimation(animatable, prop) {\n var animType = getAnimationType(animatable.target, prop.name);\n\n if (animType) {\n var tweens = normalizeTweens(prop, animatable);\n var lastTween = tweens[tweens.length - 1];\n return {\n type: animType,\n property: prop.name,\n animatable: animatable,\n tweens: tweens,\n duration: lastTween.end,\n delay: tweens[0].delay,\n endDelay: lastTween.endDelay\n };\n }\n}\n\nfunction getAnimations(animatables, properties) {\n return filterArray(flattenArray(animatables.map(function (animatable) {\n return properties.map(function (prop) {\n return createAnimation(animatable, prop);\n });\n })), function (a) {\n return !is.und(a);\n });\n} // Create Instance\n\n\nfunction getInstanceTimings(animations, tweenSettings) {\n var animLength = animations.length;\n\n var getTlOffset = function getTlOffset(anim) {\n return anim.timelineOffset ? anim.timelineOffset : 0;\n };\n\n var timings = {};\n timings.duration = animLength ? Math.max.apply(Math, animations.map(function (anim) {\n return getTlOffset(anim) + anim.duration;\n })) : tweenSettings.duration;\n timings.delay = animLength ? Math.min.apply(Math, animations.map(function (anim) {\n return getTlOffset(anim) + anim.delay;\n })) : tweenSettings.delay;\n timings.endDelay = animLength ? timings.duration - Math.max.apply(Math, animations.map(function (anim) {\n return getTlOffset(anim) + anim.duration - anim.endDelay;\n })) : tweenSettings.endDelay;\n return timings;\n}\n\nvar instanceID = 0;\n\nfunction createNewInstance(params) {\n var instanceSettings = replaceObjectProps(defaultInstanceSettings, params);\n var tweenSettings = replaceObjectProps(defaultTweenSettings, params);\n var properties = getProperties(tweenSettings, params);\n var animatables = getAnimatables(params.targets);\n var animations = getAnimations(animatables, properties);\n var timings = getInstanceTimings(animations, tweenSettings);\n var id = instanceID;\n instanceID++;\n return mergeObjects(instanceSettings, {\n id: id,\n children: [],\n animatables: animatables,\n animations: animations,\n duration: timings.duration,\n delay: timings.delay,\n endDelay: timings.endDelay\n });\n} // Core\n\n\nvar activeInstances = [];\nvar pausedInstances = [];\nvar raf;\n\nvar engine = function () {\n function play() {\n raf = requestAnimationFrame(step);\n }\n\n function step(t) {\n var activeInstancesLength = activeInstances.length;\n\n if (activeInstancesLength) {\n var i = 0;\n\n while (i < activeInstancesLength) {\n var activeInstance = activeInstances[i];\n\n if (!activeInstance.paused) {\n activeInstance.tick(t);\n } else {\n var instanceIndex = activeInstances.indexOf(activeInstance);\n\n if (instanceIndex > -1) {\n activeInstances.splice(instanceIndex, 1);\n activeInstancesLength = activeInstances.length;\n }\n }\n\n i++;\n }\n\n play();\n } else {\n raf = cancelAnimationFrame(raf);\n }\n }\n\n return play;\n}();\n\nfunction handleVisibilityChange() {\n if (document.hidden) {\n activeInstances.forEach(function (ins) {\n return ins.pause();\n });\n pausedInstances = activeInstances.slice(0);\n anime.running = activeInstances = [];\n } else {\n pausedInstances.forEach(function (ins) {\n return ins.play();\n });\n }\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('visibilitychange', handleVisibilityChange);\n} // Public Instance\n\n\nfunction anime(params) {\n if (params === void 0) params = {};\n var startTime = 0,\n lastTime = 0,\n now = 0;\n var children,\n childrenLength = 0;\n var resolve = null;\n\n function makePromise(instance) {\n var promise = window.Promise && new Promise(function (_resolve) {\n return resolve = _resolve;\n });\n instance.finished = promise;\n return promise;\n }\n\n var instance = createNewInstance(params);\n var promise = makePromise(instance);\n\n function toggleInstanceDirection() {\n var direction = instance.direction;\n\n if (direction !== 'alternate') {\n instance.direction = direction !== 'normal' ? 'normal' : 'reverse';\n }\n\n instance.reversed = !instance.reversed;\n children.forEach(function (child) {\n return child.reversed = instance.reversed;\n });\n }\n\n function adjustTime(time) {\n return instance.reversed ? instance.duration - time : time;\n }\n\n function resetTime() {\n startTime = 0;\n lastTime = adjustTime(instance.currentTime) * (1 / anime.speed);\n }\n\n function seekChild(time, child) {\n if (child) {\n child.seek(time - child.timelineOffset);\n }\n }\n\n function syncInstanceChildren(time) {\n if (!instance.reversePlayback) {\n for (var i = 0; i < childrenLength; i++) {\n seekChild(time, children[i]);\n }\n } else {\n for (var i$1 = childrenLength; i$1--;) {\n seekChild(time, children[i$1]);\n }\n }\n }\n\n function setAnimationsProgress(insTime) {\n var i = 0;\n var animations = instance.animations;\n var animationsLength = animations.length;\n\n while (i < animationsLength) {\n var anim = animations[i];\n var animatable = anim.animatable;\n var tweens = anim.tweens;\n var tweenLength = tweens.length - 1;\n var tween = tweens[tweenLength]; // Only check for keyframes if there is more than one tween\n\n if (tweenLength) {\n tween = filterArray(tweens, function (t) {\n return insTime < t.end;\n })[0] || tween;\n }\n\n var elapsed = minMax(insTime - tween.start - tween.delay, 0, tween.duration) / tween.duration;\n var eased = isNaN(elapsed) ? 1 : tween.easing(elapsed);\n var strings = tween.to.strings;\n var round = tween.round;\n var numbers = [];\n var toNumbersLength = tween.to.numbers.length;\n var progress = void 0;\n\n for (var n = 0; n < toNumbersLength; n++) {\n var value = void 0;\n var toNumber = tween.to.numbers[n];\n var fromNumber = tween.from.numbers[n] || 0;\n\n if (!tween.isPath) {\n value = fromNumber + eased * (toNumber - fromNumber);\n } else {\n value = getPathProgress(tween.value, eased * toNumber);\n }\n\n if (round) {\n if (!(tween.isColor && n > 2)) {\n value = Math.round(value * round) / round;\n }\n }\n\n numbers.push(value);\n } // Manual Array.reduce for better performances\n\n\n var stringsLength = strings.length;\n\n if (!stringsLength) {\n progress = numbers[0];\n } else {\n progress = strings[0];\n\n for (var s = 0; s < stringsLength; s++) {\n var a = strings[s];\n var b = strings[s + 1];\n var n$1 = numbers[s];\n\n if (!isNaN(n$1)) {\n if (!b) {\n progress += n$1 + ' ';\n } else {\n progress += n$1 + b;\n }\n }\n }\n }\n\n setProgressValue[anim.type](animatable.target, anim.property, progress, animatable.transforms);\n anim.currentValue = progress;\n i++;\n }\n }\n\n function setCallback(cb) {\n if (instance[cb] && !instance.passThrough) {\n instance[cb](instance);\n }\n }\n\n function countIteration() {\n if (instance.remaining && instance.remaining !== true) {\n instance.remaining--;\n }\n }\n\n function setInstanceProgress(engineTime) {\n var insDuration = instance.duration;\n var insDelay = instance.delay;\n var insEndDelay = insDuration - instance.endDelay;\n var insTime = adjustTime(engineTime);\n instance.progress = minMax(insTime / insDuration * 100, 0, 100);\n instance.reversePlayback = insTime < instance.currentTime;\n\n if (children) {\n syncInstanceChildren(insTime);\n }\n\n if (!instance.began && instance.currentTime > 0) {\n instance.began = true;\n setCallback('begin');\n }\n\n if (!instance.loopBegan && instance.currentTime > 0) {\n instance.loopBegan = true;\n setCallback('loopBegin');\n }\n\n if (insTime <= insDelay && instance.currentTime !== 0) {\n setAnimationsProgress(0);\n }\n\n if (insTime >= insEndDelay && instance.currentTime !== insDuration || !insDuration) {\n setAnimationsProgress(insDuration);\n }\n\n if (insTime > insDelay && insTime < insEndDelay) {\n if (!instance.changeBegan) {\n instance.changeBegan = true;\n instance.changeCompleted = false;\n setCallback('changeBegin');\n }\n\n setCallback('change');\n setAnimationsProgress(insTime);\n } else {\n if (instance.changeBegan) {\n instance.changeCompleted = true;\n instance.changeBegan = false;\n setCallback('changeComplete');\n }\n }\n\n instance.currentTime = minMax(insTime, 0, insDuration);\n\n if (instance.began) {\n setCallback('update');\n }\n\n if (engineTime >= insDuration) {\n lastTime = 0;\n countIteration();\n\n if (!instance.remaining) {\n instance.paused = true;\n\n if (!instance.completed) {\n instance.completed = true;\n setCallback('loopComplete');\n setCallback('complete');\n\n if (!instance.passThrough && 'Promise' in window) {\n resolve();\n promise = makePromise(instance);\n }\n }\n } else {\n startTime = now;\n setCallback('loopComplete');\n instance.loopBegan = false;\n\n if (instance.direction === 'alternate') {\n toggleInstanceDirection();\n }\n }\n }\n }\n\n instance.reset = function () {\n var direction = instance.direction;\n instance.passThrough = false;\n instance.currentTime = 0;\n instance.progress = 0;\n instance.paused = true;\n instance.began = false;\n instance.loopBegan = false;\n instance.changeBegan = false;\n instance.completed = false;\n instance.changeCompleted = false;\n instance.reversePlayback = false;\n instance.reversed = direction === 'reverse';\n instance.remaining = instance.loop;\n children = instance.children;\n childrenLength = children.length;\n\n for (var i = childrenLength; i--;) {\n instance.children[i].reset();\n }\n\n if (instance.reversed && instance.loop !== true || direction === 'alternate' && instance.loop === 1) {\n instance.remaining++;\n }\n\n setAnimationsProgress(instance.reversed ? instance.duration : 0);\n }; // Set Value helper\n\n\n instance.set = function (targets, properties) {\n setTargetsValue(targets, properties);\n return instance;\n };\n\n instance.tick = function (t) {\n now = t;\n\n if (!startTime) {\n startTime = now;\n }\n\n setInstanceProgress((now + (lastTime - startTime)) * anime.speed);\n };\n\n instance.seek = function (time) {\n setInstanceProgress(adjustTime(time));\n };\n\n instance.pause = function () {\n instance.paused = true;\n resetTime();\n };\n\n instance.play = function () {\n if (!instance.paused) {\n return;\n }\n\n if (instance.completed) {\n instance.reset();\n }\n\n instance.paused = false;\n activeInstances.push(instance);\n resetTime();\n\n if (!raf) {\n engine();\n }\n };\n\n instance.reverse = function () {\n toggleInstanceDirection();\n resetTime();\n };\n\n instance.restart = function () {\n instance.reset();\n instance.play();\n };\n\n instance.reset();\n\n if (instance.autoplay) {\n instance.play();\n }\n\n return instance;\n} // Remove targets from animation\n\n\nfunction removeTargetsFromAnimations(targetsArray, animations) {\n for (var a = animations.length; a--;) {\n if (arrayContains(targetsArray, animations[a].animatable.target)) {\n animations.splice(a, 1);\n }\n }\n}\n\nfunction removeTargets(targets) {\n var targetsArray = parseTargets(targets);\n\n for (var i = activeInstances.length; i--;) {\n var instance = activeInstances[i];\n var animations = instance.animations;\n var children = instance.children;\n removeTargetsFromAnimations(targetsArray, animations);\n\n for (var c = children.length; c--;) {\n var child = children[c];\n var childAnimations = child.animations;\n removeTargetsFromAnimations(targetsArray, childAnimations);\n\n if (!childAnimations.length && !child.children.length) {\n children.splice(c, 1);\n }\n }\n\n if (!animations.length && !children.length) {\n instance.pause();\n }\n }\n} // Stagger helpers\n\n\nfunction stagger(val, params) {\n if (params === void 0) params = {};\n var direction = params.direction || 'normal';\n var easing = params.easing ? parseEasings(params.easing) : null;\n var grid = params.grid;\n var axis = params.axis;\n var fromIndex = params.from || 0;\n var fromFirst = fromIndex === 'first';\n var fromCenter = fromIndex === 'center';\n var fromLast = fromIndex === 'last';\n var isRange = is.arr(val);\n var val1 = isRange ? parseFloat(val[0]) : parseFloat(val);\n var val2 = isRange ? parseFloat(val[1]) : 0;\n var unit = getUnit(isRange ? val[1] : val) || 0;\n var start = params.start || 0 + (isRange ? val1 : 0);\n var values = [];\n var maxValue = 0;\n return function (el, i, t) {\n if (fromFirst) {\n fromIndex = 0;\n }\n\n if (fromCenter) {\n fromIndex = (t - 1) / 2;\n }\n\n if (fromLast) {\n fromIndex = t - 1;\n }\n\n if (!values.length) {\n for (var index = 0; index < t; index++) {\n if (!grid) {\n values.push(Math.abs(fromIndex - index));\n } else {\n var fromX = !fromCenter ? fromIndex % grid[0] : (grid[0] - 1) / 2;\n var fromY = !fromCenter ? Math.floor(fromIndex / grid[0]) : (grid[1] - 1) / 2;\n var toX = index % grid[0];\n var toY = Math.floor(index / grid[0]);\n var distanceX = fromX - toX;\n var distanceY = fromY - toY;\n var value = Math.sqrt(distanceX * distanceX + distanceY * distanceY);\n\n if (axis === 'x') {\n value = -distanceX;\n }\n\n if (axis === 'y') {\n value = -distanceY;\n }\n\n values.push(value);\n }\n\n maxValue = Math.max.apply(Math, values);\n }\n\n if (easing) {\n values = values.map(function (val) {\n return easing(val / maxValue) * maxValue;\n });\n }\n\n if (direction === 'reverse') {\n values = values.map(function (val) {\n return axis ? val < 0 ? val * -1 : -val : Math.abs(maxValue - val);\n });\n }\n }\n\n var spacing = isRange ? (val2 - val1) / maxValue : val1;\n return start + spacing * (Math.round(values[i] * 100) / 100) + unit;\n };\n} // Timeline\n\n\nfunction timeline(params) {\n if (params === void 0) params = {};\n var tl = anime(params);\n tl.duration = 0;\n\n tl.add = function (instanceParams, timelineOffset) {\n var tlIndex = activeInstances.indexOf(tl);\n var children = tl.children;\n\n if (tlIndex > -1) {\n activeInstances.splice(tlIndex, 1);\n }\n\n function passThrough(ins) {\n ins.passThrough = true;\n }\n\n for (var i = 0; i < children.length; i++) {\n passThrough(children[i]);\n }\n\n var insParams = mergeObjects(instanceParams, replaceObjectProps(defaultTweenSettings, params));\n insParams.targets = insParams.targets || params.targets;\n var tlDuration = tl.duration;\n insParams.autoplay = false;\n insParams.direction = tl.direction;\n insParams.timelineOffset = is.und(timelineOffset) ? tlDuration : getRelativeValue(timelineOffset, tlDuration);\n passThrough(tl);\n tl.seek(insParams.timelineOffset);\n var ins = anime(insParams);\n passThrough(ins);\n children.push(ins);\n var timings = getInstanceTimings(children, params);\n tl.delay = timings.delay;\n tl.endDelay = timings.endDelay;\n tl.duration = timings.duration;\n tl.seek(0);\n tl.reset();\n\n if (tl.autoplay) {\n tl.play();\n }\n\n return tl;\n };\n\n return tl;\n}\n\nanime.version = '3.1.0';\nanime.speed = 1;\nanime.running = activeInstances;\nanime.remove = removeTargets;\nanime.get = getOriginalTargetValue;\nanime.set = setTargetsValue;\nanime.convertPx = convertPxToUnit;\nanime.path = getPath;\nanime.setDashoffset = setDashoffset;\nanime.stagger = stagger;\nanime.timeline = timeline;\nanime.easing = parseEasings;\nanime.penner = penner;\n\nanime.random = function (min, max) {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n};\n\nexport default anime;","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport anime from 'animejs/lib/anime.es'\n\nexport const SkillSection = ({ children }) => (\n
\n {children}\n
\n)\n\n\nexport default class SkillDonut extends Component {\n static propTypes = {\n percentage: PropTypes.number.isRequired,\n color: PropTypes.string.isRequired,\n radius: PropTypes.number,\n strokeWidth: PropTypes.number\n }\n\n static defaultProps = {\n radius: 70,\n strokeWidth: 30\n }\n\n constructor(props) {\n super(props)\n this.state = {\n animated: false,\n dash: 2 * Math.PI * props.radius\n }\n }\n\n componentDidMount() {\n const [percent, initialDash] = [this.props.percentage, this.state.dash]\n const rate = 100 - percent\n const dash = rate / 100 * initialDash\n\n anime.timeline({\n easing: 'easeOutCubic',\n delay: 500,\n duration: 1000\n })\n .add({\n targets: this.refs.skillCircle,\n strokeDashoffset: [initialDash, dash],\n round: 1\n }, 0)\n .add({\n targets: this.refs.skillPercentage,\n textContent: ['0%', `${percent}%`],\n round: 1\n }, 0)\n }\n\n render() {\n const { radius, children, color, strokeWidth } = this.props\n const size = radius * 3\n const dashArray = 2 * Math.PI * radius\n\n return (\n
\n \n \n \n \n \n \n

\n {children}\n 0\n

\n
\n )\n }\n}\n","import React from 'react'\nimport { Title, SubTitle, Paragraph, TextImage, PageMain, PageLink } from '../components/PageElements'\nimport { FaEnvelope, FaPalette, FaFileAlt } from 'react-icons/fa'\nimport SkillDonut, { SkillSection } from '../components/SkillDonut';\n\n\nconst About = () => (\n \n About Me\n And what I do\n \n Hello! My name is Victor Feitosa and I'm a Web Developer currently focusing in Front End Development, UI and UX. I love learning new technologies,\n creating things, gaming, drawing and painting and many, many other things.\n \n\n My Skills\n \n Since 2012 I work as a Web Developer, I'm a Bachelor in Digital Systems and Media, graduated since 2015, and post graduated in Information Security\n in 2018. I've always worked with different technologies and areas such as game development, mobile, web and embedded systems. Here's a few of the\n tech I adopt:\n \n \n React\n Vue\n ES6+\n SASS\n \n \n Currently, I work as a full time web developer, with focus in Front End and UI/UX design, still doing some backend work here and there, but mostly\n desining pages, apps and systems from the ground up with a great team of developers at Intrapoint. We power one of Norways bigest Oil companies and\n manage a huge system with a great range of modules for crisis management and subsystems such as ERPs and CRMs. We also do some contract work for\n companies looking for great solutions with a full featured backend.\n \n\n My Projects\n \n Besides my work for companies, I have several finished and ongoing projects, check my\n Portfolio page!\n \n\n Contact me!\n \n I'm available! Please take a look at my networks and other links, there's always new things on Behance and Github! Contact me (Skype & Email)\n at victor.rm.feitosa@outlook.com. Also\n take a look at my CV!\n \n \n \n)\n\nexport default About\n","'use strict';\nif (require('./_descriptors')) {\n var LIBRARY = require('./_library');\n var global = require('./_global');\n var fails = require('./_fails');\n var $export = require('./_export');\n var $typed = require('./_typed');\n var $buffer = require('./_typed-buffer');\n var ctx = require('./_ctx');\n var anInstance = require('./_an-instance');\n var propertyDesc = require('./_property-desc');\n var hide = require('./_hide');\n var redefineAll = require('./_redefine-all');\n var toInteger = require('./_to-integer');\n var toLength = require('./_to-length');\n var toIndex = require('./_to-index');\n var toAbsoluteIndex = require('./_to-absolute-index');\n var toPrimitive = require('./_to-primitive');\n var has = require('./_has');\n var classof = require('./_classof');\n var isObject = require('./_is-object');\n var toObject = require('./_to-object');\n var isArrayIter = require('./_is-array-iter');\n var create = require('./_object-create');\n var getPrototypeOf = require('./_object-gpo');\n var gOPN = require('./_object-gopn').f;\n var getIterFn = require('./core.get-iterator-method');\n var uid = require('./_uid');\n var wks = require('./_wks');\n var createArrayMethod = require('./_array-methods');\n var createArrayIncludes = require('./_array-includes');\n var speciesConstructor = require('./_species-constructor');\n var ArrayIterators = require('./es6.array.iterator');\n var Iterators = require('./_iterators');\n var $iterDetect = require('./_iter-detect');\n var setSpecies = require('./_set-species');\n var arrayFill = require('./_array-fill');\n var arrayCopyWithin = require('./_array-copy-within');\n var $DP = require('./_object-dp');\n var $GOPD = require('./_object-gopd');\n var dP = $DP.f;\n var gOPD = $GOPD.f;\n var RangeError = global.RangeError;\n var TypeError = global.TypeError;\n var Uint8Array = global.Uint8Array;\n var ARRAY_BUFFER = 'ArrayBuffer';\n var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER;\n var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\n var PROTOTYPE = 'prototype';\n var ArrayProto = Array[PROTOTYPE];\n var $ArrayBuffer = $buffer.ArrayBuffer;\n var $DataView = $buffer.DataView;\n var arrayForEach = createArrayMethod(0);\n var arrayFilter = createArrayMethod(2);\n var arraySome = createArrayMethod(3);\n var arrayEvery = createArrayMethod(4);\n var arrayFind = createArrayMethod(5);\n var arrayFindIndex = createArrayMethod(6);\n var arrayIncludes = createArrayIncludes(true);\n var arrayIndexOf = createArrayIncludes(false);\n var arrayValues = ArrayIterators.values;\n var arrayKeys = ArrayIterators.keys;\n var arrayEntries = ArrayIterators.entries;\n var arrayLastIndexOf = ArrayProto.lastIndexOf;\n var arrayReduce = ArrayProto.reduce;\n var arrayReduceRight = ArrayProto.reduceRight;\n var arrayJoin = ArrayProto.join;\n var arraySort = ArrayProto.sort;\n var arraySlice = ArrayProto.slice;\n var arrayToString = ArrayProto.toString;\n var arrayToLocaleString = ArrayProto.toLocaleString;\n var ITERATOR = wks('iterator');\n var TAG = wks('toStringTag');\n var TYPED_CONSTRUCTOR = uid('typed_constructor');\n var DEF_CONSTRUCTOR = uid('def_constructor');\n var ALL_CONSTRUCTORS = $typed.CONSTR;\n var TYPED_ARRAY = $typed.TYPED;\n var VIEW = $typed.VIEW;\n var WRONG_LENGTH = 'Wrong length!';\n\n var $map = createArrayMethod(1, function (O, length) {\n return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n });\n\n var LITTLE_ENDIAN = fails(function () {\n // eslint-disable-next-line no-undef\n return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n });\n\n var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {\n new Uint8Array(1).set({});\n });\n\n var toOffset = function (it, BYTES) {\n var offset = toInteger(it);\n if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');\n return offset;\n };\n\n var validate = function (it) {\n if (isObject(it) && TYPED_ARRAY in it) return it;\n throw TypeError(it + ' is not a typed array!');\n };\n\n var allocate = function (C, length) {\n if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {\n throw TypeError('It is not a typed array constructor!');\n } return new C(length);\n };\n\n var speciesFromList = function (O, list) {\n return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n };\n\n var fromList = function (C, list) {\n var index = 0;\n var length = list.length;\n var result = allocate(C, length);\n while (length > index) result[index] = list[index++];\n return result;\n };\n\n var addGetter = function (it, key, internal) {\n dP(it, key, { get: function () { return this._d[internal]; } });\n };\n\n var $from = function from(source /* , mapfn, thisArg */) {\n var O = toObject(source);\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iterFn = getIterFn(O);\n var i, length, values, result, step, iterator;\n if (iterFn != undefined && !isArrayIter(iterFn)) {\n for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) {\n values.push(step.value);\n } O = values;\n }\n if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);\n for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n };\n\n var $of = function of(/* ...items */) {\n var index = 0;\n var length = arguments.length;\n var result = allocate(this, length);\n while (length > index) result[index] = arguments[index++];\n return result;\n };\n\n // iOS Safari 6.x fails here\n var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); });\n\n var $toLocaleString = function toLocaleString() {\n return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n };\n\n var proto = {\n copyWithin: function copyWithin(target, start /* , end */) {\n return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n },\n every: function every(callbackfn /* , thisArg */) {\n return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars\n return arrayFill.apply(validate(this), arguments);\n },\n filter: function filter(callbackfn /* , thisArg */) {\n return speciesFromList(this, arrayFilter(validate(this), callbackfn,\n arguments.length > 1 ? arguments[1] : undefined));\n },\n find: function find(predicate /* , thisArg */) {\n return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n findIndex: function findIndex(predicate /* , thisArg */) {\n return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n forEach: function forEach(callbackfn /* , thisArg */) {\n arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n indexOf: function indexOf(searchElement /* , fromIndex */) {\n return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n includes: function includes(searchElement /* , fromIndex */) {\n return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n join: function join(separator) { // eslint-disable-line no-unused-vars\n return arrayJoin.apply(validate(this), arguments);\n },\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars\n return arrayLastIndexOf.apply(validate(this), arguments);\n },\n map: function map(mapfn /* , thisArg */) {\n return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduce.apply(validate(this), arguments);\n },\n reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduceRight.apply(validate(this), arguments);\n },\n reverse: function reverse() {\n var that = this;\n var length = validate(that).length;\n var middle = Math.floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n },\n some: function some(callbackfn /* , thisArg */) {\n return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n sort: function sort(comparefn) {\n return arraySort.call(validate(this), comparefn);\n },\n subarray: function subarray(begin, end) {\n var O = validate(this);\n var length = O.length;\n var $begin = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(\n O.buffer,\n O.byteOffset + $begin * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin)\n );\n }\n };\n\n var $slice = function slice(start, end) {\n return speciesFromList(this, arraySlice.call(validate(this), start, end));\n };\n\n var $set = function set(arrayLike /* , offset */) {\n validate(this);\n var offset = toOffset(arguments[1], 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError(WRONG_LENGTH);\n while (index < len) this[offset + index] = src[index++];\n };\n\n var $iterators = {\n entries: function entries() {\n return arrayEntries.call(validate(this));\n },\n keys: function keys() {\n return arrayKeys.call(validate(this));\n },\n values: function values() {\n return arrayValues.call(validate(this));\n }\n };\n\n var isTAIndex = function (target, key) {\n return isObject(target)\n && target[TYPED_ARRAY]\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n };\n var $getDesc = function getOwnPropertyDescriptor(target, key) {\n return isTAIndex(target, key = toPrimitive(key, true))\n ? propertyDesc(2, target[key])\n : gOPD(target, key);\n };\n var $setDesc = function defineProperty(target, key, desc) {\n if (isTAIndex(target, key = toPrimitive(key, true))\n && isObject(desc)\n && has(desc, 'value')\n && !has(desc, 'get')\n && !has(desc, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !desc.configurable\n && (!has(desc, 'writable') || desc.writable)\n && (!has(desc, 'enumerable') || desc.enumerable)\n ) {\n target[key] = desc.value;\n return target;\n } return dP(target, key, desc);\n };\n\n if (!ALL_CONSTRUCTORS) {\n $GOPD.f = $getDesc;\n $DP.f = $setDesc;\n }\n\n $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n getOwnPropertyDescriptor: $getDesc,\n defineProperty: $setDesc\n });\n\n if (fails(function () { arrayToString.call({}); })) {\n arrayToString = arrayToLocaleString = function toString() {\n return arrayJoin.call(this);\n };\n }\n\n var $TypedArrayPrototype$ = redefineAll({}, proto);\n redefineAll($TypedArrayPrototype$, $iterators);\n hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n redefineAll($TypedArrayPrototype$, {\n slice: $slice,\n set: $set,\n constructor: function () { /* noop */ },\n toString: arrayToString,\n toLocaleString: $toLocaleString\n });\n addGetter($TypedArrayPrototype$, 'buffer', 'b');\n addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n addGetter($TypedArrayPrototype$, 'length', 'e');\n dP($TypedArrayPrototype$, TAG, {\n get: function () { return this[TYPED_ARRAY]; }\n });\n\n // eslint-disable-next-line max-statements\n module.exports = function (KEY, BYTES, wrapper, CLAMPED) {\n CLAMPED = !!CLAMPED;\n var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + KEY;\n var SETTER = 'set' + KEY;\n var TypedArray = global[NAME];\n var Base = TypedArray || {};\n var TAC = TypedArray && getPrototypeOf(TypedArray);\n var FORCED = !TypedArray || !$typed.ABV;\n var O = {};\n var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n var getter = function (that, index) {\n var data = that._d;\n return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n };\n var setter = function (that, index, value) {\n var data = that._d;\n if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n };\n var addElement = function (that, index) {\n dP(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n if (FORCED) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME, '_d');\n var index = 0;\n var offset = 0;\n var buffer, byteLength, length, klass;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new $ArrayBuffer(byteLength);\n } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n buffer = data;\n offset = toOffset($offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - offset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (TYPED_ARRAY in data) {\n return fromList(TypedArray, data);\n } else {\n return $from.call(TypedArray, data);\n }\n hide(that, '_d', {\n b: buffer,\n o: offset,\n l: byteLength,\n e: length,\n v: new $DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n hide(TypedArrayPrototype, 'constructor', TypedArray);\n } else if (!fails(function () {\n TypedArray(1);\n }) || !fails(function () {\n new TypedArray(-1); // eslint-disable-line no-new\n }) || !$iterDetect(function (iter) {\n new TypedArray(); // eslint-disable-line no-new\n new TypedArray(null); // eslint-disable-line no-new\n new TypedArray(1.5); // eslint-disable-line no-new\n new TypedArray(iter); // eslint-disable-line no-new\n }, true)) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME);\n var klass;\n // `ws` module bug, temporarily remove validation length for Uint8Array\n // https://github.com/websockets/ws/pull/645\n if (!isObject(data)) return new Base(toIndex(data));\n if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n return $length !== undefined\n ? new Base(data, toOffset($offset, BYTES), $length)\n : $offset !== undefined\n ? new Base(data, toOffset($offset, BYTES))\n : new Base(data);\n }\n if (TYPED_ARRAY in data) return fromList(TypedArray, data);\n return $from.call(TypedArray, data);\n });\n arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) {\n if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);\n });\n TypedArray[PROTOTYPE] = TypedArrayPrototype;\n if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;\n }\n var $nativeIterator = TypedArrayPrototype[ITERATOR];\n var CORRECT_ITER_NAME = !!$nativeIterator\n && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined);\n var $iterator = $iterators.values;\n hide(TypedArray, TYPED_CONSTRUCTOR, true);\n hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n hide(TypedArrayPrototype, VIEW, true);\n hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n\n if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {\n dP(TypedArrayPrototype, TAG, {\n get: function () { return NAME; }\n });\n }\n\n O[NAME] = TypedArray;\n\n $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n\n $export($export.S, NAME, {\n BYTES_PER_ELEMENT: BYTES\n });\n\n $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, {\n from: $from,\n of: $of\n });\n\n if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n\n $export($export.P, NAME, proto);\n\n setSpecies(NAME);\n\n $export($export.P + $export.F * FORCED_SET, NAME, { set: $set });\n\n $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n\n if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString;\n\n $export($export.P + $export.F * fails(function () {\n new TypedArray(1).slice();\n }), NAME, { slice: $slice });\n\n $export($export.P + $export.F * (fails(function () {\n return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();\n }) || !fails(function () {\n TypedArrayPrototype.toLocaleString.call([1, 2]);\n })), NAME, { toLocaleString: $toLocaleString });\n\n Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator);\n };\n} else module.exports = function () { /* empty */ };\n","'use strict';\nvar global = require('./_global');\nvar DESCRIPTORS = require('./_descriptors');\nvar LIBRARY = require('./_library');\nvar $typed = require('./_typed');\nvar hide = require('./_hide');\nvar redefineAll = require('./_redefine-all');\nvar fails = require('./_fails');\nvar anInstance = require('./_an-instance');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar toIndex = require('./_to-index');\nvar gOPN = require('./_object-gopn').f;\nvar dP = require('./_object-dp').f;\nvar arrayFill = require('./_array-fill');\nvar setToStringTag = require('./_set-to-string-tag');\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length!';\nvar WRONG_INDEX = 'Wrong index!';\nvar $ArrayBuffer = global[ARRAY_BUFFER];\nvar $DataView = global[DATA_VIEW];\nvar Math = global.Math;\nvar RangeError = global.RangeError;\n// eslint-disable-next-line no-shadow-restricted-names\nvar Infinity = global.Infinity;\nvar BaseBuffer = $ArrayBuffer;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\nvar BUFFER = 'buffer';\nvar BYTE_LENGTH = 'byteLength';\nvar BYTE_OFFSET = 'byteOffset';\nvar $BUFFER = DESCRIPTORS ? '_b' : BUFFER;\nvar $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH;\nvar $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\nfunction packIEEE754(value, mLen, nBytes) {\n var buffer = new Array(nBytes);\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var i = 0;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n var e, m, c;\n value = abs(value);\n // eslint-disable-next-line no-self-compare\n if (value != value || value === Infinity) {\n // eslint-disable-next-line no-self-compare\n m = value != value ? 1 : 0;\n e = eMax;\n } else {\n e = floor(log(value) / LN2);\n if (value * (c = pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * pow(2, eBias - 1) * pow(2, mLen);\n e = 0;\n }\n }\n for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);\n e = e << mLen | m;\n eLen += mLen;\n for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);\n buffer[--i] |= s * 128;\n return buffer;\n}\nfunction unpackIEEE754(buffer, mLen, nBytes) {\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = eLen - 7;\n var i = nBytes - 1;\n var s = buffer[i--];\n var e = s & 127;\n var m;\n s >>= 7;\n for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : s ? -Infinity : Infinity;\n } else {\n m = m + pow(2, mLen);\n e = e - eBias;\n } return (s ? -1 : 1) * m * pow(2, e - mLen);\n}\n\nfunction unpackI32(bytes) {\n return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n}\nfunction packI8(it) {\n return [it & 0xff];\n}\nfunction packI16(it) {\n return [it & 0xff, it >> 8 & 0xff];\n}\nfunction packI32(it) {\n return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n}\nfunction packF64(it) {\n return packIEEE754(it, 52, 8);\n}\nfunction packF32(it) {\n return packIEEE754(it, 23, 4);\n}\n\nfunction addGetter(C, key, internal) {\n dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } });\n}\n\nfunction get(view, bytes, index, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = store.slice(start, start + bytes);\n return isLittleEndian ? pack : pack.reverse();\n}\nfunction set(view, bytes, index, conversion, value, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = conversion(+value);\n for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n}\n\nif (!$typed.ABV) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n this._b = arrayFill.call(new Array(byteLength), 0);\n this[$LENGTH] = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = buffer[$LENGTH];\n var offset = toInteger(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n this[$BUFFER] = buffer;\n this[$OFFSET] = offset;\n this[$LENGTH] = byteLength;\n };\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n addGetter($DataView, BUFFER, '_b');\n addGetter($DataView, BYTE_LENGTH, '_l');\n addGetter($DataView, BYTE_OFFSET, '_o');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1]));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packF32, value, arguments[2]);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packF64, value, arguments[2]);\n }\n });\n} else {\n if (!fails(function () {\n $ArrayBuffer(1);\n }) || !fails(function () {\n new $ArrayBuffer(-1); // eslint-disable-line no-new\n }) || fails(function () {\n new $ArrayBuffer(); // eslint-disable-line no-new\n new $ArrayBuffer(1.5); // eslint-disable-line no-new\n new $ArrayBuffer(NaN); // eslint-disable-line no-new\n return $ArrayBuffer.name != ARRAY_BUFFER;\n })) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new BaseBuffer(toIndex(length));\n };\n var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]);\n }\n if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer;\n }\n // iOS Safari 7.x bug\n var view = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = $DataView[PROTOTYPE].setInt8;\n view.setInt8(0, 2147483648);\n view.setInt8(1, 2147483649);\n if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, true);\n}\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\nhide($DataView[PROTOTYPE], $typed.VIEW, true);\nexports[ARRAY_BUFFER] = $ArrayBuffer;\nexports[DATA_VIEW] = $DataView;\n","// https://tc39.github.io/ecma262/#sec-toindex\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toInteger(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length!');\n return length;\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar uid = require('./_uid');\nvar TYPED = uid('typed_array');\nvar VIEW = uid('view');\nvar ABV = !!(global.ArrayBuffer && global.DataView);\nvar CONSTR = ABV;\nvar i = 0;\nvar l = 9;\nvar Typed;\n\nvar TypedArrayConstructors = (\n 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'\n).split(',');\n\nwhile (i < l) {\n if (Typed = global[TypedArrayConstructors[i++]]) {\n hide(Typed.prototype, TYPED, true);\n hide(Typed.prototype, VIEW, true);\n } else CONSTR = false;\n}\n\nmodule.exports = {\n ABV: ABV,\n CONSTR: CONSTR,\n TYPED: TYPED,\n VIEW: VIEW\n};\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var aLen = arguments.length;\n var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);\n var end = aLen > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\n\nexport const PageMain = ({children}) => (\n
\n {children}\n
\n)\n\nexport const PageSection = ({children}) => (\n
\n {children}\n
\n)\n\nexport const PageSectionContainer = ({width='full', children}) => {\n const className = `page-section__container page-section__container--${width}`\n return
{children}
\n}\n\nPageSection.propTypes = {\n width: PropTypes.oneOf(['full', 'half', 'third'])\n}\n\nexport const Title = ({children, icon: Icon=null}) => (\n
\n {Icon} 

{children}

\n
\n)\n\nexport const SubTitle = ({children}) => (\n

{children}

\n)\n\nexport const PageLink = ({to, icon: Icon, iconPosition='before', children}) => {\n const iconBefore = Icon && iconPosition==='before'\n const iconAfter = Icon && iconPosition==='after'\n const iconClass = 'page-link__icon'\n return (\n \n {iconBefore && }\n {children}\n {iconAfter && }\n \n )\n}\n\nexport const Pre = () => (\n <>\n     \n \n)\n\nexport const Paragraph = ({children}) => (\n

{children}

\n)\n\nexport const TextBlock = ({children}) => (\n
\n {children}\n
\n)\n\nexport const TextImage = ({src, srcSet, responsive=true, alt}) => (\n {alt}\n)\n\nexport const FeatureImage = ({src, srcSet, responsive=true, alt}) => (\n {alt}\n)\n","require('./_typed-array')('Float32', 4, function (init) {\n return function Float32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\n\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/cv/index.html b/cv/index.html index 1df132e..32faf3b 100644 --- a/cv/index.html +++ b/cv/index.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/index.html b/index.html index a1188b7..3abddfd 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/offline-plugin-app-shell-fallback/index.html b/offline-plugin-app-shell-fallback/index.html index 3b5b940..4a8a239 100644 --- a/offline-plugin-app-shell-fallback/index.html +++ b/offline-plugin-app-shell-fallback/index.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/page-data/app-data.json b/page-data/app-data.json index be9ebe1..bffd346 100644 --- a/page-data/app-data.json +++ b/page-data/app-data.json @@ -1 +1 @@ -{"webpackCompilationHash":"32347eb6249a4c10cdfc"} +{"webpackCompilationHash":"a772dd7bb92d21588df6"} diff --git a/portfolio/index.html b/portfolio/index.html index 4da63fb..9d3f997 100644 --- a/portfolio/index.html +++ b/portfolio/index.html @@ -1 +1 @@ -
 

Portfolio

Phone Case Builder App

Phone Case Builder App

15 day challenge
Vue
Web App
Vuetify
W.I.P.

Made in my free time over 15 days, this app is a phone case builder and customizer that allows the user to build a customized phone case with a backgorund, text and stickers.

This project was made to make myself re-acquainted to VueJS. There are only a few dependencies and I tried to keep most things my own, including the transform widgets and DOM manipulation

My Website

My Website

GatsbyJS
Portfolio
React
SCSS
Website

My portfolio website!

This website you're visiting was made entirely in React with GatsbyJS. It is intended to be updated constantly and soon will have a mobile version and a PWA. All styles colors and design are entirely by me. Visit it's GitHub page to check out the source code.

Expense Manager App

Expense Manager App

Firebase
Mobile-First
React
SCSS
SPA
WebApp

An Expense Manager WebApp. Done in React with Firebase for Database and Authentication.

This app records expenses the user had and filters them in a date span. It is mobile-first and soon will be a PWA. This was done so I could learn React and Firebase, so it's pretty simple!

Old FrontEnd Projects

Old FrontEnd Projects

ES6
Front End
Mobile-first
SCSS
SPA
WebApp

These are several Front End projects I've done in the past, usually small things to learn a framework, or tests for job interviews

Some of them are pretty rough around the edges and were done only to learn some concepts.

\ No newline at end of file +
 

Portfolio

Phone Case Builder App

Phone Case Builder App

15 day challenge
Vue
Web App
Vuetify
W.I.P.

Made in my free time over 15 days, this app is a phone case builder and customizer that allows the user to build a customized phone case with a backgorund, text and stickers.

This project was made to make myself re-acquainted to VueJS. There are only a few dependencies and I tried to keep most things my own, including the transform widgets and DOM manipulation

My Website

My Website

GatsbyJS
Portfolio
React
SCSS
Website

My portfolio website!

This website you're visiting was made entirely in React with GatsbyJS. It is intended to be updated constantly and soon will have a mobile version and a PWA. All styles colors and design are entirely by me. Visit it's GitHub page to check out the source code.

Expense Manager App

Expense Manager App

Firebase
Mobile-First
React
SCSS
SPA
WebApp

An Expense Manager WebApp. Done in React with Firebase for Database and Authentication.

This app records expenses the user had and filters them in a date span. It is mobile-first and soon will be a PWA. This was done so I could learn React and Firebase, so it's pretty simple!

Old FrontEnd Projects

Old FrontEnd Projects

ES6
Front End
Mobile-first
SCSS
SPA
WebApp

These are several Front End projects I've done in the past, usually small things to learn a framework, or tests for job interviews

Some of them are pretty rough around the edges and were done only to learn some concepts.

\ No newline at end of file diff --git a/sw.js b/sw.js index 7460f09..0bbcb3a 100644 --- a/sw.js +++ b/sw.js @@ -26,7 +26,7 @@ workbox.clientsClaim(); */ self.__precacheManifest = [ { - "url": "webpack-runtime-0448722c6a69011d2b40.js" + "url": "webpack-runtime-d9564b0427c70906a6ca.js" }, { "url": "styles.47cfcec4ef875e4f6612.css" @@ -45,7 +45,7 @@ self.__precacheManifest = [ }, { "url": "offline-plugin-app-shell-fallback/index.html", - "revision": "1f2c70df84c35a862ca0b8965b7ad9cb" + "revision": "231bd7f2992ad7d841dfb2b9988e199a" }, { "url": "manifest.webmanifest", diff --git a/webpack-runtime-d9564b0427c70906a6ca.js b/webpack-runtime-d9564b0427c70906a6ca.js new file mode 100644 index 0000000..1d3aa80 --- /dev/null +++ b/webpack-runtime-d9564b0427c70906a6ca.js @@ -0,0 +1,2 @@ +!function(e){function r(r){for(var t,c,u=r[0],i=r[1],f=r[2],p=0,l=[];p