1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8877],{50530:function(t,e,i){Promise.resolve().then(i.bind(i,18188)),Promise.resolve().then(i.bind(i,14184)),Promise.resolve().then(i.bind(i,58785))},18188:function(t,e,i){"use strict";i.d(e,{Backimator:function(){return a}});var s=i(57437),n=i(2265);class r{setDestination(){this.dX=this.pickRandom(this.minX,this.maxX),this.dY=this.pickRandom(this.minY,this.maxY)}pickRandom(t,e){return(e-t)*Math.random()+t}tick(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:75e-6,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1.25,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:150;this.historyX.push(this.x),this.historyY.push(this.y),this.historyX.length>=s&&(this.historyX.shift(),this.historyY.shift()),this.x+=this.vX,this.y+=this.vY,this.vX*=.99,this.vY*=.99,this.vX+=(this.dX-this.x)*e,this.vY+=(this.dY-this.y)*e,this.vX=Math.max(Math.min(i,this.vX),-i),this.vY=Math.max(Math.min(i,this.vY),-i)}getX(t){return t>=this.historyX.length?null:0==t?this.x:this.historyX[this.historyX.length-t]}getY(t){return t>=this.historyY.length?null:0==t?this.y:this.historyY[this.historyY.length-t]}clearHistory(){this.historyX=[],this.historyY=[]}constructor(t,e,i,s){this.dX=0,this.dY=0,this.vX=0,this.vY=0,this.historyX=[],this.historyY=[],this.minX=t,this.minY=e,this.maxX=i,this.maxY=s,this.x=this.pickRandom(this.minX,this.maxX),this.y=this.pickRandom(this.minY,this.maxY),this.setDestination()}}function a(t){let{className:e="",speedMultiplier:i=1,blur:a=!0,blurAmount:o=8,contained:l=!1,historyLength:h=150,parallax:m=!1,parallaxSpeed:d=.15,parallaxStartPosition:p="30vh",heightOverride:c,color:g="blue"}=t,u=75e-6*i,v=1.25*i,y=(0,n.useRef)(null),[b,x]=(0,n.useState)(0),f="green"===g?"#7df379":"#79bdf3",w="green"===g?"#3eb657":"#3e72b6",H="green"===g?"#55ff55":"#5555ff";(0,n.useEffect)(()=>{if(!m)return;let t=()=>{x(window.scrollY)};return window.addEventListener("scroll",t),()=>window.removeEventListener("scroll",t)},[m]);let X=(0,n.useRef)(null);return(0,n.useEffect)(()=>{let t=!0;return(async()=>{if(!y.current||!t)return;let e=document.createElement("canvas"),i=e.getContext("2d");if(!i)return;let s={canvas:e,ctx:i,p1:null,p2:null,p3:null,p4:null,pb1:null,pb2:null,pb3:null,pb4:null,animationId:0,resizeHandler:null,resizeObserver:null,resizeTimeout:null,isDestroyed:!1,lastWidth:0,lastHeight:0,lastFrameTime:0};X.current=s,e.style.position="absolute",e.style.top="0",e.style.left="0",e.style.width="100%",e.style.height="100%",e.style.mixBlendMode="screen",e.style.filter="blur(".concat(4,"px)"),y.current.appendChild(e);let n=()=>{let t=l&&y.current?y.current.clientWidth:window.innerWidth,s=l&&y.current?y.current.clientHeight:window.innerHeight;return e.width=.2*t,e.height=.2*s,e.style.width="".concat(t,"px"),e.style.height="".concat(s,"px"),i.scale(.2,.2),{width:t,height:s}},a=()=>{let t,e;let{width:i,height:a}=n();if(c){let i=(c-a)/2;t=-i,e=a+i}else t=0,e=a;i===s.lastWidth&&100>Math.abs(a-s.lastHeight)||(s.lastWidth=i,s.lastHeight=a,s.p1&&(s.p1.clearHistory(),s.p2.clearHistory(),s.p3.clearHistory(),s.p4.clearHistory(),s.pb1.clearHistory(),s.pb2.clearHistory(),s.pb3.clearHistory(),s.pb4.clearHistory()),s.p1=new r(0,t+(e-t)*.33,0,t+(e-t)*.66),s.p2=new r(.33*i,t,.33*i,e),s.p3=new r(.66*i,t,.66*i,e),s.p4=new r(i,t+(e-t)*.33,i,t+(e-t)*.66),s.pb1=new r(0,t+(e-t)*.33,0,t+(e-t)*.66),s.pb2=new r(.33*i,t,.33*i,e),s.pb3=new r(.66*i,t,.66*i,e),s.pb4=new r(i,t+(e-t)*.33,i,t+(e-t)*.66))},o=()=>{let t=0;for(let e=0;e<h;e++)s.p1.tick(1,u,v,h),s.p2.tick(1,u,v,h),s.p3.tick(1,u,v,h),s.p4.tick(1,u,v,h),s.pb1.tick(1,u,v,h),s.pb2.tick(1,u,v,h),s.pb3.tick(1,u,v,h),s.pb4.tick(1,u,v,h),(t+=1)>100&&(t=0,s.p1.setDestination(),s.p2.setDestination(),s.p3.setDestination(),s.p4.setDestination(),s.pb1.setDestination(),s.pb2.setDestination(),s.pb3.setDestination(),s.pb4.setDestination())};a(),o(),s.resizeHandler=()=>{s.isDestroyed||(s.resizeTimeout&&clearTimeout(s.resizeTimeout),s.resizeTimeout=setTimeout(()=>{s.isDestroyed||(a(),o())},250))},l&&y.current?(s.resizeObserver=new ResizeObserver(s.resizeHandler),s.resizeObserver.observe(y.current)):window.addEventListener("resize",s.resizeHandler);let m=0,d=t=>{if(s.isDestroyed)return;s.animationId=requestAnimationFrame(d);let n=t-s.lastFrameTime;if(n<66.66666666666667)return;s.lastFrameTime=t-n%66.66666666666667;let r=n/(1e3/60),a=e.width/.2,o=e.height/.2;i.clearRect(0,0,a,o),i.globalCompositeOperation="lighter";for(let t=0;t<h;t+=3){let e=(1-t/h)*.1;if(null==s.p1.getX(t))break;i.beginPath(),i.strokeStyle=f,i.globalAlpha=e,i.lineWidth=10,i.moveTo(s.p1.getX(t),s.p1.getY(t)+-.25*t),i.bezierCurveTo(s.p2.getX(t)+2*t,s.p2.getY(t)+-.25*t,s.p3.getX(t)+2*t,s.p3.getY(t)+-.25*t,s.p4.getX(t),s.p4.getY(t)+-.25*t),i.stroke()}for(let t=0;t<h;t+=3){let e=(1-t/h)*.1;if(null==s.pb1.getX(t))break;i.beginPath(),i.strokeStyle=w,i.globalAlpha=e,i.lineWidth=10,i.moveTo(s.pb1.getX(t),s.pb1.getY(t)+-.25*t),i.bezierCurveTo(s.pb2.getX(t)+2*t,s.pb2.getY(t)+-.25*t,s.pb3.getX(t)+2*t,s.pb3.getY(t)+-.25*t,s.pb4.getX(t),s.pb4.getY(t)+-.25*t),i.stroke()}i.globalAlpha=.2,i.strokeStyle=H,i.lineWidth=3,i.beginPath(),i.moveTo(s.p1.x,s.p1.y),i.bezierCurveTo(s.p2.x,s.p2.y,s.p3.x,s.p3.y,s.p4.x,s.p4.y
1),i.stroke(),i.beginPath(),i.moveTo(s.pb1.x,s.pb1.y),i.bezierCurveTo(s.pb2.x,s.pb2.y,s.pb3.x,s.pb3.y,s.pb4.x,s.pb4.y),i.stroke(),i.globalAlpha=1;for(let t=0;t<2;t++)s.p1.tick(r,u,v,h),s.p2.tick(r,u,v,h),s.p3.tick(r,u,v,h),s.p4.tick(r,u,v,h),s.pb1.tick(r,u,v,h),s.pb2.tick(r,u,v,h),s.pb3.tick(r,u,v,h),s.pb4.tick(r,u,v,h),(m+=r)>100&&(m=0,s.p1.setDestination(),s.p2.setDestination(),s.p3.setDestination(),s.p4.setDestination(),s.pb1.setDestination(),s.pb2.setDestination(),s.pb3.setDestination(),s.pb4.setDestination())};s.animationId=requestAnimationFrame(d);let p=()=>{document.hidden?s.animationId&&(cancelAnimationFrame(s.animationId),s.animationId=0):s.isDestroyed||s.animationId||(s.lastFrameTime=performance.now(),s.animationId=requestAnimationFrame(d))};document.addEventListener("visibilitychange",p),s.visibilityHandler=p})(),()=>{if(t=!1,X.current){let t=X.current;if(t.isDestroyed=!0,t.resizeTimeout&&clearTimeout(t.resizeTimeout),t.animationId&&cancelAnimationFrame(t.animationId),t.resizeObserver&&t.resizeObserver.disconnect(),t.resizeHandler&&window.removeEventListener("resize",t.resizeHandler),t.visibilityHandler&&document.removeEventListener("visibilitychange",t.visibilityHandler),t.p1&&(t.p1.clearHistory(),t.p2.clearHistory(),t.p3.clearHistory(),t.p4.clearHistory(),t.pb1.clearHistory(),t.pb2.clearHistory(),t.pb3.clearHistory(),t.pb4.clearHistory()),t.canvas&&y.current)try{y.current.removeChild(t.canvas)}catch(t){}X.current=null}}},[l,c,h,u,v,f,w,H]),(0,s.jsx)("div",{ref:y,className:"".concat(l?"absolute inset-0":"fixed"," pointer-events-none ").concat(e),style:{zIndex:l?0:-1,filter:a?"blur(".concat(o,"px)"):void 0,transform:m?"translateY(".concat(-(b*d),"px)"):void 0,transition:"none",top:!l&&m?p:l?void 0:0,left:l?void 0:0,right:l?void 0:0,bottom:l||m?void 0:0,height:!l&&m?"100vh":void 0}})}},58785:function(t,e,i){"use strict";i.d(e,{VortexAnimation:function(){return o}});var s=i(57437),n=i(2265);class r{update(t){this.elapsed+=t;let e=Math.min(this.elapsed/this.duration,1);if(e>=1)return!1;let i=e<.5?2*e*e:1-Math.pow(-2*e+2,2)/2,s=this.startX+(this.targetX-this.startX)*i,n=this.startY+(this.targetY-this.startY)*i,r=this.targetX-this.startX,a=this.targetY-this.startY,o=Math.sqrt(r*r+a*a),l=Math.sin(e*Math.PI*this.waveFrequency+this.wavePhase)*this.waveAmplitude*(1-i);if(this.x=s+-a/o*l,this.y=n+r/o*l,this.trailEnabled&&(this.positionHistory.push({x:this.x,y:this.y}),this.positionHistory.length>this.trailLength&&this.positionHistory.shift()),e<.05)this.alpha=e/.05;else if(e>.7){let t=(e-.7)/.3;this.alpha=1-t,this.scale=this.startScale*(1-t)}else this.alpha=1;return!0}render(t){if(this.alpha<=0)return;let e=this.baseSize*this.scale;t.globalAlpha=this.alpha,t.drawImage(this.image,this.x-e/2,this.y-e/2,e,e),t.globalAlpha=1}renderTrail(t){if(!this.trailEnabled||this.positionHistory.length<2)return;let e=121,i=189,s=243,n=this.trailColor;"number"==typeof n?(e=n>>16&255,i=n>>8&255,s=255&n):"string"==typeof n&&n.startsWith("#")&&(e=parseInt(n.slice(1,3),16),i=parseInt(n.slice(3,5),16),s=parseInt(n.slice(5,7),16));for(let n=0;n<this.positionHistory.length-1;n++){let r=this.positionHistory[n],a=this.positionHistory[n+1],o=n/this.positionHistory.length*this.trailAlpha;t.beginPath(),t.strokeStyle="rgba(".concat(e,",").concat(i,",").concat(s,",").concat(o,")"),t.lineWidth=this.trailWidth,t.moveTo(r.x,r.y),t.lineTo(a.x,a.y),t.stroke()}}constructor(t,e,i,s,n,r,a,o,l,h,m=null){this.elapsed=0,this.alpha=0,this.positionHistory=[],this.trailEnabled=!1,this.trailLength=0,this.trailColor=7978483,this.trailAlpha=.3,this.trailWidth=15,this.trailBlur=4,this.image=t,this.startX=e,this.startY=i,this.targetX=s,this.targetY=n,this.duration=r,this.waveAmplitude=a,this.waveFrequency=o,this.wavePhase=Math.random()*Math.PI*2,this.startScale=l,this.scale=l,this.baseSize=h,this.x=e,this.y=i,(null==m?void 0:m.enabled)&&(this.trailEnabled=!0,this.trailLength=m.length,this.trailColor=m.color,this.trailAlpha=m.alpha,this.trailWidth=m.width,this.trailBlur=m.blur)}}let a=["/images/animations/vortex/1.svg","/images/animations/vortex/2.svg","/images/animations/vortex/3.svg","/images/animations/vortex/4.svg","/images/animations/vortex/5.svg","/images/animations/vortex/6.svg","/images/animations/vortex/7.svg","/images/animations/vortex/8.svg","/images/animations/vortex/9.svg","/images/animations/vortex/10.svg","/images/animations/vortex/11.svg","/images/animations/vortex/12.svg","/images/animations/vortex/13.svg","/images/animations/vortex/14.svg","/images/animations/vortex/Chaos14.svg","/images/animations/vortex/Chaos15.svg","/images/animations/vortex/Chaos16.svg","/images/animations/vortex/Chaos20.svg","/images/animations/vortex/Chaos21.svg","/images/animations/vortex/Chaos22.svg","/images/animations/vortex/Chaos23.svg","/images/animations/vortex/Chaos30.svg","/images/animations/vortex/Chaos31.svg","/images/animations/vortex/Chaos32.svg","/images/animations/vortex/Chaos33.svg","/images/animations/vortex/Chaos34.svg","/images/animations/vortex/Chaos35.svg","/images/animations/vortex/Chaos36.svg","/images/animations/vortex/Chaos37.svg","/images/animations/vortex/Chaos38.svg","/images/animations/vortex/Chaos39.svg"];function o(t){let{targetSelector:e,targetX:i=null,targetY:o=null,minDuration:l=2e3,maxDuration:h=4e3,spawnRate:m=3,waveAmplitude:d=50,waveFrequency:p=2,svgScale:c=.15,randomScale:g=!1,largeScaleImages:u=[],spawnEdge:v="random",spawnArea:y=0,startDistance:b=1e3,layer:x="background",trailEnabled:f=!1,trailLength:w=30,trailColor:H="#79bdf3",trailAlpha:X=.8,trailWidth:Y=3,trailBlur:k=4}=t,C=(0,n.useRef)(null);return(0,n.useEffect)(()=>{let t,s;let n=C.current;if(!n)return;let E=!1,z=0,M=[],T=[],D=[],A=null,I=null,W=0,F=0,P=()=>Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight,document.documentElement.clientHeight),L=()=>
1{if(e){let t=document.querySelector(e);if(t){let e=t.getBoundingClientRect();return{x:e.left+window.scrollX+e.width/2,y:e.top+window.scrollY+e.height/2}}}return{x:null!==i?i:window.innerWidth/2,y:null!==o?o:window.innerHeight/2}},R=()=>{let t=window.innerWidth,e=window.innerHeight,i="left"===v?3:"right"===v?1:"top"===v?0:"bottom"===v?2:Math.floor(4*Math.random()),s=y>0?L():null,n=(t,e,i)=>Math.max(e,Math.min(i,t)),r=(t,e)=>t+Math.random()*(e-t);return 0===i?{x:s?r(n(s.x-y/2,0,t),n(s.x+y/2,0,t)):r(0,t),y:0}:1===i?{x:t,y:s?r(n(s.y-y/2,0,e),n(s.y+y/2,0,e)):r(0,e)}:2===i?{x:s?r(n(s.x-y/2,0,t),n(s.x+y/2,0,t)):r(0,t),y:e}:{x:0,y:s?r(n(s.y-y/2,0,e),n(s.y+y/2,0,e)):r(0,e)}},q=()=>{if(0===T.length)return;let t=M.map(t=>t.image),e=T.reduce((e,i,s)=>(t.includes(i)||e.push(s),e),[]);if(0===e.length)return;let i=e[Math.floor(Math.random()*e.length)],s=T[i],n=D[i],a=u.some(t=>n.includes(t)),o=a?2*c:c;g&&!a&&(o*=.8+.4*Math.random());let m=R(),v=L(),y=m.x-v.x,x=m.y-v.y,C=Math.sqrt(y*y+x*x),E={x:v.x+y/C*b,y:v.y+x/C*b};M.push(new r(s,E.x,E.y,v.x,v.y,l+Math.random()*(h-l),d,p,o,160,f?{enabled:!0,length:w,color:H,alpha:X,width:Y,blur:k}:null))},O=e=>{if(E)return;z=requestAnimationFrame(O);let i=e-F;F=e,W+=i;let n=1e3/m;for(;W>=n;)W-=n,q();s.clearRect(0,0,t.width,t.height),I&&I.clearRect(0,0,A.width,A.height),M=M.filter(t=>{let e=t.update(i);return e&&(I&&t.trailEnabled&&t.renderTrail(I),t.render(s)),e})},S=[];return(async()=>{let e=P();n.style.width="100%",n.style.height=e+"px",n.style.pointerEvents="none",n.style.zIndex="foreground"===x?"10":"1",f&&((A=document.createElement("canvas")).width=window.innerWidth,A.height=e,Object.assign(A.style,{position:"absolute",top:"0",left:"0",width:"100%",height:e+"px",pointerEvents:"none",mixBlendMode:"lighter",filter:k>0?"blur(".concat(k,"px)"):""}),I=A.getContext("2d"),n.appendChild(A)),(t=document.createElement("canvas")).width=window.innerWidth,t.height=e,Object.assign(t.style,{position:"absolute",top:"0",left:"0",width:"100%",height:e+"px",pointerEvents:"none"}),s=t.getContext("2d"),n.appendChild(t);let i=()=>{if(E)return;let e=P();t.width=window.innerWidth,t.height=e,t.style.height=e+"px",A&&(A.width=window.innerWidth,A.height=e,A.style.height=e+"px"),n.style.height=e+"px"};if(window.addEventListener("resize",i),S.push(()=>window.removeEventListener("resize",i)),(await Promise.all(a.map(t=>new Promise(e=>{let i=new Image;i.onload=()=>e({img:i,p:t}),i.onerror=()=>e(null),i.src=t})))).forEach(t=>{t&&(T.push(t.img),D.push(t.p))}),E)return;let r=()=>{document.hidden?z&&(cancelAnimationFrame(z),z=0):E||z||(F=performance.now(),z=requestAnimationFrame(O))};document.addEventListener("visibilitychange",r),S.push(()=>document.removeEventListener("visibilitychange",r)),F=performance.now(),z=requestAnimationFrame(O)})(),()=>{for(E=!0,z&&cancelAnimationFrame(z),S.forEach(t=>t()),M=[];n.firstChild;)n.removeChild(n.firstChild)}},[]),(0,s.jsx)("div",{ref:C,className:"absolute pointer-events-none",style:{top:0,left:0}})}}},function(t){t.O(0,[9851,6507,2604,5088,7967,4184,2971,2117,1744],function(){return t(t.s=50530)}),_N_E=t.O()}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.