diff --git a/README.md b/README.md index 4571bc9..21eae23 100644 --- a/README.md +++ b/README.md @@ -703,6 +703,7 @@ This project is a collection of TypeScript math helpers and utilities for the br + ``` diff --git a/docs/css/styles.1710585004234.css b/docs/css/styles.1710592991880.css similarity index 100% rename from docs/css/styles.1710585004234.css rename to docs/css/styles.1710592991880.css diff --git a/docs/index.html b/docs/index.html index 96a231c..6470ab8 100644 --- a/docs/index.html +++ b/docs/index.html @@ -16,8 +16,8 @@ - - + + @@ -74,6 +74,6 @@

+ \ No newline at end of file diff --git a/docs/js/index.1710585004234.js b/docs/js/index.1710592991880.js similarity index 99% rename from docs/js/index.1710585004234.js rename to docs/js/index.1710592991880.js index 42a2883..a47d529 100644 --- a/docs/js/index.1710585004234.js +++ b/docs/js/index.1710592991880.js @@ -1,3 +1,3 @@ (()=>{var et="side-menu",rt=()=>{let t=document.querySelector(".side-menu");if(!t)return;let a=window.location.pathname,e=t.querySelector(`a[href='${a}']`);!e||e.scrollIntoView({block:"center"})},It=()=>{let t=window.localStorage.getItem(et);if(!t)return[];let a=[];try{a=JSON.parse(t)||[]}catch(e){}return a},$t=()=>{let t=document.querySelectorAll(".side-menu [data-collapsible-title]"),a=[];for(let e of t){let r=e.getAttribute("data-id")||"";if(!r)continue;let n=e.getAttribute("data-opened")==="true";a.push({id:r,opened:n})}window.localStorage.setItem(et,JSON.stringify(a))},Ht=()=>{let t=It();if(!!Array.isArray(t))for(let a of t){let e=document.querySelector(`.side-menu [data-id="${a.id}"]`);!e||nt(e,a.opened,!1)}},nt=(t,a,e)=>{var n;t.setAttribute("data-opened",a.toString());let r=t.querySelector("[data-arrow]");!r||(r.classList.toggle("rotate-90",a),(n=t.nextElementSibling)==null||n.classList.toggle("hidden",!a),e&&$t())},it=()=>{let t=document.querySelectorAll(".side-menu [data-collapsible-title]");for(let a of t)a.addEventListener("click",()=>{let e=a.getAttribute("data-opened")==="true";nt(a,!e,!0)});Ht()};var ot=()=>{let t=document.getElementById("mobile-menu-btn");if(!t)return;t.addEventListener("click",r=>{r.stopPropagation(),document.body.classList.toggle("mobile-menu-opened")}),document.body.addEventListener("click",()=>{document.body.classList.remove("mobile-menu-opened")});let a=document.getElementById("side-menu");if(!a)return;a.addEventListener("click",r=>{r.stopPropagation()});let e=document.getElementById("mobile-menu-close-btn");!e||e.addEventListener("click",()=>{document.body.classList.remove("mobile-menu-opened")})};var W="mode",st=()=>{let t=window.localStorage.getItem(W)||"light";document.documentElement.classList.toggle("dark",t==="dark");let a=document.getElementById("move-to-dark-mode-btn"),e=document.getElementById("move-to-light-mode-btn"),r=()=>{document.documentElement.classList.add("dark"),a.classList.add("hidden"),e.classList.remove("hidden"),window.localStorage.setItem(W,"dark")},n=()=>{document.documentElement.classList.remove("dark"),e.classList.add("hidden"),a.classList.remove("hidden"),window.localStorage.setItem(W,"light")};t==="dark"?r():n(),a==null||a.addEventListener("click",r),e==null||e.addEventListener("click",n)};var Nt=Object.defineProperty,lt=Object.getOwnPropertySymbols,Dt=Object.prototype.hasOwnProperty,Ft=Object.prototype.propertyIsEnumerable,ct=(t,a,e)=>a in t?Nt(t,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[a]=e,q=(t,a)=>{for(var e in a||(a={}))Dt.call(a,e)&&ct(t,e,a[e]);if(lt)for(var e of lt(a))Ft.call(a,e)&&ct(t,e,a[e]);return t},qt=(t,a)=>{for(let e of a){let r=e[1];if(r===void 0)continue;let n=e[0];t.setAttribute(n,r.toString())}},wt=(t,a)=>{for(let e of t){let r=e[1];if(r===void 0)continue;let n=e[0];a[n]=r}},jt=t=>{let a=document.createElement("canvas");qt(a,[["id",t.id],["class",t.classes],["style",t.style],["title",t.title],["tabindex",t.tabindex],["role",t.role],["aria-label",t.ariaLabel]]),t.fallback&&(a.textContent=t.fallback);let e=typeof a.getContext=="function"?a.getContext("2d",t.contextAttributes):null;return a.width=t.width,a.height=t.height,{ctx:e,$canvas:a}},D=(t,a)=>{wt([["lineWidth",t.lineWidth],["strokeStyle",t.strokeStyle],["lineCap",t.lineCap],["lineJoin",t.lineJoin],["miterLimit",t.miterLimit],["lineDashOffset",t.lineDashOffset]],a),t.lineDashSegments&&a.setLineDash(t.lineDashSegments)},J=(t,a)=>{t.fillStyle!==void 0&&(a.fillStyle=t.fillStyle),wt([["shadowOffsetX",t.shadowOffsetX],["shadowOffsetY",t.shadowOffsetY],["shadowBlur",t.shadowBlur],["shadowColor",t.shadowColor]],a)},Bt=(t,a)=>{let{x1:e,y1:r,x2:n,y2:i}=t;a.save(),a.beginPath(),a.moveTo(e,r),a.lineTo(n,i),t.strokeStyle&&(D(t,a),a.stroke()),a.restore()},Ut=(t,a)=>{let{x:e,y:r,w:n,h:i}=t;if(t.clear){a.clearRect(e,r,n,i);return}if(t.radii){a.save(),J(t,a),D(t,a),a.beginPath(),a.roundRect(e,r,n,i,t.radii),t.fillStyle&&a.fill(),t.strokeStyle&&a.stroke(),a.restore();return}a.save(),t.fillStyle&&(J(t,a),a.fillRect(e,r,n,i)),t.strokeStyle&&(D(t,a),a.strokeRect(e,r,n,i)),a.restore()},Vt=(t,a)=>{let{cx:e,cy:r,r:n}=t,i=t.startAngleRad===void 0?0:t.startAngleRad,o=t.endAngleRad===void 0?2*Math.PI:t.endAngleRad;a.save(),a.beginPath(),J(t,a),D(t,a),a.arc(e,r,n,i,o,t.counterclockwise),t.fillStyle&&a.fill(),t.strokeStyle&&(D(t,a),a.stroke()),a.restore()},Wt=Math.pow,at=(t,a=1/0)=>{if(a===1/0)return t;a<0&&(a=0);let e=Wt(10,a);return Math.round(t*e)/e},Qt=(t,a,e=1/0)=>{let r=[];for(let n=0;n{let e=0;for(let r=0;r{let r=Qt(t,a);return Zt(r,e)},$=(t,a,e=1/0)=>at(Math.random()*(a-t)+t,e),Yt=(t,a)=>Math.floor(Math.random()*(a-t+1)+t),Gt=()=>Math.random()<.5,F=t=>{let a=Yt(0,t.length-1);return t[a]},Xt=()=>{let t=Kt();return ta(t)},Kt=()=>{let t=$(1,360),a=$(0,100),e=$(0,100);return[t,a,e]},ta=t=>{if(t[0]>360||t[1]>100||t[2]>100)return"#ffffff";if(t[0]<0||t[1]<0||t[2]<0)return"#000000";let a=t[0]/360,e=t[1]/100,r=t[2]/100,n,i,o;if(e===0)n=i=o=r;else{let l=(u,d,f)=>(f<0&&(f+=1),f>1&&(f-=1),f<.16666666666666666?u+(d-u)*6*f:f<.5?d:f<.6666666666666666?u+(d-u)*(.6666666666666666-f)*6:u),c=r<.5?r*(1+e):r+e-r*e,h=2*r-c;n=l(h,c,a+1/3),i=l(h,c,a),o=l(h,c,a-1/3)}let s=l=>{let c=Math.round(l*255).toString(16);return c.length===1?"0"+c:c};return`#${s(n)}${s(i)}${s(o)}`},aa=t=>{let a=t.duration!==void 0?t.duration:1/0,e,r,n,i,o=!1,s,l=()=>{e=void 0,n=void 0,i=void 0,o=!1,r!==void 0&&window.cancelAnimationFrame(r)},c=()=>{l(),g()},h=()=>{o=!1},u=()=>{o=!0},d=M=>{e===void 0&&(e=M),n=M-e,o&&i!==M&&typeof t.callback=="function"&&t.callback(y()),n<=a?(i=M,r=window.requestAnimationFrame(d)):l()},f=(M,b)=>{c(),typeof t.resizeCallback=="function"&&t.resizeCallback(M,b)},g=()=>{e=void 0,n=void 0,i=void 0,o=!0,t.restartOnResize&&window.ResizeObserver&&s===void 0?(s=new ResizeObserver(f),s.observe(document.body,{box:"border-box"})):r=window.requestAnimationFrame(d)},k=()=>n,A=()=>o,p=()=>e,v=()=>{if(!(a===1/0||n===void 0))return n*100/a},x=()=>s,y=()=>({start:g,stop:l,pause:h,resume:u,restart:c,isAnimating:A,getElapsedTime:k,getStartTime:p,getPercent:v,getResizeObserver:x});return y()},Y=(t,a,e,r)=>`rgba(${t}, ${a}, ${e}, ${r} )`,_t=640,At=768,Ct=1024,Lt=()=>{let t=Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),a=Math.max(document.documentElement.clientHeight||0,window.innerHeight||0);return[t,a]},ea=(t,a)=>{let e=Lt()[0];return t.smConnectionSize!==void 0&&e<=_t?t.smConnectionSize*a:t.mdConnectionSize!==void 0&&e<=At?t.mdConnectionSize*a:t.lgConnectionSize!==void 0&&e<=Ct?t.lgConnectionSize*a:t.connectionSize*a},ut=t=>{let a=Lt()[0];return t.smParticlesNumber!==void 0&&a<=_t?t.smParticlesNumber:t.mdParticlesNumber!==void 0&&a<=At?t.mdParticlesNumber:t.lgParticlesNumber!==void 0&&a<=Ct?t.lgParticlesNumber:t.particlesNumber},ra=(t,a)=>{var e;let{particles:r,ctx:n,connectionRgbColor:i}=a,o=(e=t.$placeholder)==null?void 0:e.getBoundingClientRect(),s=(o==null?void 0:o.width)||0,l=ea(t,s);for(let c=0;c{if(a===1/0)return t;a<0&&(a=0);let e=na(10,a);return Math.round(t*e)/e},ia=(t,a=1/0)=>{let e=t*(Math.PI/180);return C(e,a)},G=t=>!isNaN(parseFloat(t))&&isFinite(t),X=(t,a=1/0)=>{let e=t[0],r=t[1],n=t[2]-r;return e===0&&n===0?1/0:e===0?NaN:C(n/e,a)},ht=(t,a=1/0)=>{let e=t[0],r=t[1],n=t[2],i=t[3];if(e===0){let h=X([r,n,i],a);return G(h)?[h]:[]}let o=n-i,s=r*r-4*e*o;if(s<0)return[];if(s===0)return[C(-r/(2*e),a)];let l=2*e,c=Math.sqrt(s);return[C((-r+c)/l,a),C((-r-c)/l,a)]},oa=(t,a,e,r,n=1/0)=>{let i=Math.pow(1-t,2),o=(1-t)*2*t,s=t*t;return[C(i*a[0]+o*e[0]+s*r[0],n),C(i*a[1]+o*e[1]+s*r[1],n)]},sa=(t,a,e,r,n,i=1/0)=>{let o=Math.pow(1-t,3),s=Math.pow(1-t,2)*3*t,l=(1-t)*3*t*t,c=t*t*t;return[C(o*a[0]+s*e[0]+l*r[0]+c*n[0],i),C(o*a[1]+s*e[1]+l*r[1]+c*n[1],i)]},la=(t,a,e,r=1/0)=>{let n=2*t[0]-4*a[0]+2*e[0],i=-2*t[0]+2*a[0],o=X([n,i,0],r),s=2*t[1]-4*a[1]+2*e[1],l=-2*t[1]+2*a[1],c=X([s,l,0],r),h=[];return G(o)&&h.push(o),G(c)&&h.push(c),h},ca=(t,a,e,r,n=1/0)=>{let i=-3*t[0]+9*a[0]-9*e[0]+3*r[0],o=6*t[0]-12*a[0]+6*e[0],s=-3*t[0]+3*a[0],l=[i,o,s,0],c=-3*t[1]+9*a[1]-9*e[1]+3*r[1],h=6*t[1]-12*a[1]+6*e[1],u=-3*t[1]+3*a[1],d=[c,h,u,0],f=ht(l,n).filter(k=>k>=0&&k<=1),g=ht(d,n).filter(k=>k>=0&&k<=1);return[...f,...g].length===2?[...f,...g]:null},ua=(t,a,e,r=1/0)=>{let n=la(t,a,e),i=1/0,o=1/0,s=-1/0,l=-1/0;for(let c of n){let h=oa(c,t,a,e),u=h[0],d=h[1];i=Math.min(i,u),s=Math.max(s,u),o=Math.min(o,d),l=Math.max(l,d)}return i=C(Math.min(i,t[0],e[0]),r),s=C(Math.max(s,t[0],e[0]),r),o=C(Math.min(o,t[1],e[1]),r),l=C(Math.max(l,t[1],e[1]),r),{x:i,y:o,w:Math.abs(s-i),h:Math.abs(l-o),x2:s,y2:l}},ha=(t,a,e,r,n=1/0)=>{let i=ca(t,a,e,r)||[],o=1/0,s=1/0,l=-1/0,c=-1/0;for(let h of i){let u=sa(h,t,a,e,r),d=u[0],f=u[1];o=Math.min(o,d!=null?d:1/0),l=Math.max(l,d!=null?d:-1/0),s=Math.min(s,f!=null?f:1/0),c=Math.max(c,f!=null?f:-1/0)}return o=C(Math.min(o,t[0],r[0]),n),l=C(Math.max(l,t[0],r[0]),n),s=C(Math.min(s,t[1],r[1]),n),c=C(Math.max(c,t[1],r[1]),n),{x:o,y:s,w:Math.abs(l-o),h:Math.abs(c-s),x2:l,y2:c}},ft=new RegExp("^[+-]?(?=\\.\\d|\\d)(?:0|[1-9]\\d*)?(?:\\.\\d+)?(?:(?<=\\d)(?:[eE][+-]?\\d+))?"),fa=t=>{let a={tokens:[],errors:[]};if(!t||t.trim()==="")return a;let e=0,r=0,n=0,i=()=>e>=t.length,o=u=>{a.tokens.push({tokenType:u,line:r,col:n})},s=u=>{a.tokens.push({tokenType:"num",value:u,line:r,col:n})},l=u=>{a.errors.push({line:r,col:n,msg:u})},c=()=>i()?!1:ft.test(t.substring(e)),h=()=>{let u=t[e];if(u.charAt(0)===` `||u.charAt(0)==="\r"){e++,n=0,r++;return}if(/\s/.test(u)||u===","){e++,n++;return}if(c()){let d=t.substring(e).match(ft);if(d&&d.length>0){let f=d[0];s(f),e+=f.length,n+=f.length;return}}switch(u){case"M":o("M");break;case"m":o("m");break;case"Z":o("Z");break;case"z":o("z");break;case"L":o("L");break;case"l":o("l");break;case"H":o("H");break;case"h":o("h");break;case"V":o("V");break;case"v":o("v");break;case"C":o("C");break;case"c":o("c");break;case"S":o("S");break;case"s":o("s");break;case"Q":o("Q");break;case"q":o("q");break;case"T":o("T");break;case"t":o("t");break;case"A":o("A");break;case"a":o("a");break;default:{l(`Unexpected character ${u}`);break}}e++,n++};for(;!i();)h();return a},ma=t=>{let a={commands:[],errors:t.errors||[]};if(t.errors.length>0||t.tokens.length===0)return a;let{tokens:e,errors:r}=t,n=(h,u)=>{r.push({line:h==null?void 0:h.line,col:h==null?void 0:h.col,msg:u})};if(e[0].tokenType!=="M"&&e[0].tokenType!=="m")return n(e[0],"A path data segment must begin with a 'moveto' command 'M' or 'm'."),a;let i=0,o=()=>i>=e.length,s=h=>{var u,d;if(!h||h.toLowerCase()!=="a")return!0;let f=(((u=e[i+4])==null?void 0:u.value)||"").toString(),g=(((d=e[i+5])==null?void 0:d.value)||"").toString();return(f==="0"||f==="1")&&(g==="0"||g==="1")},l=(h,u,d)=>{var f;let g=e[i].tokenType,k=[];if(h>0)for(let v=1;v<=h;v++){if(!e[i+v]||e[i+v].tokenType!=="num"){n(e[i],`Expected number(s) after command ${g}.`),i+=h;return}k.push(Number(e[i+v].value))}if(!s(g)){n(e[i],"Arc flags must be 0 or 1."),i+=h+1;return}if(!s(g)){n(e[i],"Arc flags must be 0 or 1."),i+=h+1;return}if(a.commands.push({command:e[i].tokenType,params:k}),i+=h+1,h<=0)return;let A=[];for(;((f=e[i])==null?void 0:f.tokenType)==="num";)A.push(e[i]),i++;if(A.length%h!==0){n(A[A.length-1],"Expected a number.");return}let p=d?u.toLowerCase():u.toUpperCase();for(let v=0;v{let h=e[i],u=h.tokenType.toLowerCase()===h.tokenType;switch(h.tokenType){case"M":case"m":case"L":case"l":{l(2,"L",u);break}case"Z":case"z":{l(0,"L",u);break}case"H":case"h":case"V":case"v":{l(1,h.tokenType,u);break}case"C":case"c":{l(6,h.tokenType,u);break}case"S":case"s":case"Q":case"q":{l(4,h.tokenType,u);break}case"T":case"t":{l(2,h.tokenType,u);break}case"A":case"a":{l(7,h.tokenType,u);break}default:{n(e[i],"Wrong path command."),i++;break}}};for(l(2,"L",e[0].tokenType==="m");!o();)c();return a},da=t=>{let{commands:a}=t;if(a.length<=0)return t;let e=a[0].params[0],r=a[0].params[1],n=e,i=r;a[0].command="M";for(let o=1;o{let{commands:a}=t;if(a.length<=0)return t;a[0].command="M";for(let e=1;e{let a=fa(t);return ma(a)},R=(t,a)=>{let e=2*Math.PI,r=a>0?1:-1;return(e+r*Math.acos(t/Math.sqrt(t*t+a*a)))%e},Q=(t,a,e,r)=>({x:t,y:e,w:Math.abs(r-e),h:Math.abs(a-t),x2:a,y2:r}),ga=(t,a,e,r,n,i,o,s,l)=>{let c,h,u,d;if(e<0&&(e*=-1),r<0&&(r*=-1),e===0||r===0)return c=ts?t:s,u=al?a:l,Q(c,h,u,d);let f=Math.cos(n)*(t-s)/2+Math.sin(n)*(a-l)/2,g=-Math.sin(n)*(t-s)/2+Math.cos(n)*(a-l)/2,k=e*e*r*r-e*e*g*g-r*r*f*f;k/=e*e*g*g+r*r*f*f;let A=0,p=0;if(k<0){let O=e/r;if(k=g*g+f*f/(O*O),k<0)return c=ts?t:s,u=al?a:l,Q(c,h,u,d);r=Math.sqrt(k),e=O*r}else{let O=(i==o?-1:1)*Math.sqrt(k);A=O*e*g/r,p=-O*r*f/e}let v=A*Math.cos(n)-p*Math.sin(n)+(t+s)/2,x=A*Math.sin(n)+p*Math.cos(n)+(a+l)/2,y,M,b,S;if(n===0||n===Math.PI)c=v-e,y=R(-e,0),h=v+e,M=R(e,0),u=x-r,b=R(0,-r),d=x+r,S=R(0,r);else if(n===Math.PI/2||n===3*Math.PI/2)c=v-r,y=R(-r,0),h=v+r,M=R(r,0),u=x-e,b=R(0,-e),d=x+e,S=R(0,e);else{y=-Math.atan(r*Math.tan(n)/e),M=Math.PI-Math.atan(r*Math.tan(n)/e),c=v+e*Math.cos(M)*Math.cos(n)-r*Math.sin(y)*Math.sin(n),h=v+e*Math.cos(M)*Math.cos(n)-r*Math.sin(M)*Math.sin(n),c>h&&([c,h]=[h,c],[y,M]=[M,y]);let O=x+e*Math.cos(y)*Math.sin(n)+r*Math.sin(y)*Math.cos(n);y=R(c-v,O-x),O=x+e*Math.cos(M)*Math.sin(n)+r*Math.sin(M)*Math.cos(n),M=R(h-v,O-x),b=Math.atan(r/(Math.tan(n)*e)),S=Math.atan(r/(Math.tan(n)*e))+Math.PI,u=x+e*Math.cos(b)*Math.sin(n)+r*Math.sin(b)*Math.cos(n),d=x+e*Math.cos(S)*Math.sin(n)+r*Math.sin(S)*Math.cos(n),u>d&&([u,d]=[d,u],[b,S]=[S,b]);let V=v+e*Math.cos(b)*Math.cos(n)-r*Math.sin(b)*Math.sin(n);b=R(V-v,u-x),V=v+e*Math.cos(S)*Math.cos(n)-r*Math.sin(S)*Math.sin(n),S=R(V-v,d-x)}let L=R(t-v,a-x),w=R(s-v,l-x);o||([L,w]=[w,L]);let z=!1;return L>w&&([L,w]=[w,L],z=!0),(!z&&(L>y||wy||wM||wM||wb||wb||wS||wS||w{var e,r,n,i;if(!t||t.trim()==="")return null;let o=ba(t);if(o.errors.length>0)return null;let s=da(o);if(!s||s.commands.length<=0)return null;let l=1/0,c=1/0,h=-1/0,u=-1/0,d=pa(s),f=d.commands[0].params[0],g=d.commands[0].params[1],k=f,A=g;for(let p of d.commands)switch(p.command){case"M":{l=Math.min(l,p.params[0]),c=Math.min(c,p.params[1]),h=Math.max(h,p.params[0]),u=Math.max(u,p.params[1]),k=p.params[0],A=p.params[1];break}case"Z":{f=k,g=A;break}case"L":{l=Math.min(l,p.params[0]),c=Math.min(c,p.params[1]),h=Math.max(h,p.params[0]),u=Math.max(u,p.params[1]),f=p.params[0],g=p.params[1];break}case"C":{let v=[f,g],x=[p.params[0],p.params[1]],y=[p.params[2],p.params[3]],M=[p.params[4],p.params[5]],b=ha(v,x,y,M);l=Math.min(l,b.x),c=Math.min(c,b.y),h=Math.max(h,b.x2),u=Math.max(u,b.y2),f=p.params[4],g=p.params[5];break}case"Q":{let v=[f,g],x=[p.params[0],p.params[1]],y=[p.params[2],p.params[3]],M=ua(v,x,y);l=Math.min(l,M.x),c=Math.min(c,M.y),h=Math.max(h,M.x2),u=Math.max(u,M.y2),f=p.params[2],g=p.params[3];break}case"A":{let v=p.params[0],x=p.params[1],y=p.params[2],M=p.params[3],b=p.params[4],S=p.params[5],L=p.params[6],w=ga(f,g,v,x,ia(y),M===1,b===1,S,L);l=Math.min(l,(e=w==null?void 0:w.x)!=null?e:0),c=Math.min(c,(r=w==null?void 0:w.y)!=null?r:0),h=Math.max(h,(n=w==null?void 0:w.x2)!=null?n:0),u=Math.max(u,(i=w==null?void 0:w.y2)!=null?i:0),f=p.params[5],g=p.params[6];break}}return{x:C(l,a),y:C(c,a),w:C(Math.abs(h-l),a),h:C(Math.abs(u-c),a),x2:C(h,a),y2:C(u,a)}};function j(t){return j=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(a){return typeof a}:function(a){return a&&typeof Symbol=="function"&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},j(t)}var Ma=/^\s+/,ya=/\s+$/;function m(t,a){if(t=t||"",a=a||{},t instanceof m)return t;if(!(this instanceof m))return new m(t,a);var e=ka(t);this._originalInput=t,this._r=e.r,this._g=e.g,this._b=e.b,this._a=e.a,this._roundA=Math.round(100*this._a)/100,this._format=a.format||e.format,this._gradientType=a.gradientType,this._r<1&&(this._r=Math.round(this._r)),this._g<1&&(this._g=Math.round(this._g)),this._b<1&&(this._b=Math.round(this._b)),this._ok=e.ok}m.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(t.r*299+t.g*587+t.b*114)/1e3},getLuminance:function(){var t=this.toRgb(),a,e,r,n,i,o;return a=t.r/255,e=t.g/255,r=t.b/255,a<=.03928?n=a/12.92:n=Math.pow((a+.055)/1.055,2.4),e<=.03928?i=e/12.92:i=Math.pow((e+.055)/1.055,2.4),r<=.03928?o=r/12.92:o=Math.pow((r+.055)/1.055,2.4),.2126*n+.7152*i+.0722*o},setAlpha:function(t){return this._a=Rt(t),this._roundA=Math.round(100*this._a)/100,this},toHsv:function(){var t=dt(this._r,this._g,this._b);return{h:t.h*360,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=dt(this._r,this._g,this._b),a=Math.round(t.h*360),e=Math.round(t.s*100),r=Math.round(t.v*100);return this._a==1?"hsv("+a+", "+e+"%, "+r+"%)":"hsva("+a+", "+e+"%, "+r+"%, "+this._roundA+")"},toHsl:function(){var t=mt(this._r,this._g,this._b);return{h:t.h*360,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=mt(this._r,this._g,this._b),a=Math.round(t.h*360),e=Math.round(t.s*100),r=Math.round(t.l*100);return this._a==1?"hsl("+a+", "+e+"%, "+r+"%)":"hsla("+a+", "+e+"%, "+r+"%, "+this._roundA+")"},toHex:function(t){return pt(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return _a(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:Math.round(this._r),g:Math.round(this._g),b:Math.round(this._b),a:this._a}},toRgbString:function(){return this._a==1?"rgb("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+")":"rgba("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:Math.round(_(this._r,255)*100)+"%",g:Math.round(_(this._g,255)*100)+"%",b:Math.round(_(this._b,255)*100)+"%",a:this._a}},toPercentageRgbString:function(){return this._a==1?"rgb("+Math.round(_(this._r,255)*100)+"%, "+Math.round(_(this._g,255)*100)+"%, "+Math.round(_(this._b,255)*100)+"%)":"rgba("+Math.round(_(this._r,255)*100)+"%, "+Math.round(_(this._g,255)*100)+"%, "+Math.round(_(this._b,255)*100)+"%, "+this._roundA+")"},toName:function(){return this._a===0?"transparent":this._a<1?!1:Ha[pt(this._r,this._g,this._b,!0)]||!1},toFilter:function(t){var a="#"+bt(this._r,this._g,this._b,this._a),e=a,r=this._gradientType?"GradientType = 1, ":"";if(t){var n=m(t);e="#"+bt(n._r,n._g,n._b,n._a)}return"progid:DXImageTransform.Microsoft.gradient("+r+"startColorstr="+a+",endColorstr="+e+")"},toString:function(t){var a=!!t;t=t||this._format;var e=!1,r=this._a<1&&this._a>=0,n=!a&&r&&(t==="hex"||t==="hex6"||t==="hex3"||t==="hex4"||t==="hex8"||t==="name");return n?t==="name"&&this._a===0?this.toName():this.toRgbString():(t==="rgb"&&(e=this.toRgbString()),t==="prgb"&&(e=this.toPercentageRgbString()),(t==="hex"||t==="hex6")&&(e=this.toHexString()),t==="hex3"&&(e=this.toHexString(!0)),t==="hex4"&&(e=this.toHex8String(!0)),t==="hex8"&&(e=this.toHex8String()),t==="name"&&(e=this.toName()),t==="hsl"&&(e=this.toHslString()),t==="hsv"&&(e=this.toHsvString()),e||this.toHexString())},clone:function(){return m(this.toString())},_applyModification:function(t,a){var e=t.apply(null,[this].concat([].slice.call(a)));return this._r=e._r,this._g=e._g,this._b=e._b,this.setAlpha(e._a),this},lighten:function(){return this._applyModification(Ra,arguments)},brighten:function(){return this._applyModification(Pa,arguments)},darken:function(){return this._applyModification(Ea,arguments)},desaturate:function(){return this._applyModification(Aa,arguments)},saturate:function(){return this._applyModification(Ca,arguments)},greyscale:function(){return this._applyModification(La,arguments)},spin:function(){return this._applyModification(Ta,arguments)},_applyCombination:function(t,a){return t.apply(null,[this].concat([].slice.call(a)))},analogous:function(){return this._applyCombination(Ia,arguments)},complement:function(){return this._applyCombination(Oa,arguments)},monochromatic:function(){return this._applyCombination($a,arguments)},splitcomplement:function(){return this._applyCombination(za,arguments)},triad:function(){return this._applyCombination(gt,[3])},tetrad:function(){return this._applyCombination(gt,[4])}};m.fromRatio=function(t,a){if(j(t)=="object"){var e={};for(var r in t)t.hasOwnProperty(r)&&(r==="a"?e[r]=t[r]:e[r]=N(t[r]));t=e}return m(t,a)};function ka(t){var a={r:0,g:0,b:0},e=1,r=null,n=null,i=null,o=!1,s=!1;return typeof t=="string"&&(t=qa(t)),j(t)=="object"&&(I(t.r)&&I(t.g)&&I(t.b)?(a=xa(t.r,t.g,t.b),o=!0,s=String(t.r).substr(-1)==="%"?"prgb":"rgb"):I(t.h)&&I(t.s)&&I(t.v)?(r=N(t.s),n=N(t.v),a=wa(t.h,r,n),o=!0,s="hsv"):I(t.h)&&I(t.s)&&I(t.l)&&(r=N(t.s),i=N(t.l),a=Sa(t.h,r,i),o=!0,s="hsl"),t.hasOwnProperty("a")&&(e=t.a)),e=Rt(e),{ok:o,format:t.format||s,r:Math.min(255,Math.max(a.r,0)),g:Math.min(255,Math.max(a.g,0)),b:Math.min(255,Math.max(a.b,0)),a:e}}function xa(t,a,e){return{r:_(t,255)*255,g:_(a,255)*255,b:_(e,255)*255}}function mt(t,a,e){t=_(t,255),a=_(a,255),e=_(e,255);var r=Math.max(t,a,e),n=Math.min(t,a,e),i,o,s=(r+n)/2;if(r==n)i=o=0;else{var l=r-n;switch(o=s>.5?l/(2-r-n):l/(r+n),r){case t:i=(a-e)/l+(a1&&(u-=1),u<1/6?c+(h-c)*6*u:u<1/2?h:u<2/3?c+(h-c)*(2/3-u)*6:c}if(a===0)r=n=i=e;else{var s=e<.5?e*(1+a):e+a-e*a,l=2*e-s;r=o(l,s,t+1/3),n=o(l,s,t),i=o(l,s,t-1/3)}return{r:r*255,g:n*255,b:i*255}}function dt(t,a,e){t=_(t,255),a=_(a,255),e=_(e,255);var r=Math.max(t,a,e),n=Math.min(t,a,e),i,o,s=r,l=r-n;if(o=r===0?0:l/r,r==n)i=0;else{switch(r){case t:i=(a-e)/l+(a>1)+720)%360;--a;)r.h=(r.h+n)%360,i.push(m(r));return i}function $a(t,a){a=a||6;for(var e=m(t).toHsv(),r=e.h,n=e.s,i=e.v,o=[],s=1/a;a--;)o.push(m({h:r,s:n,v:i})),i=(i+s)%1;return o}m.mix=function(t,a,e){e=e===0?0:e||50;var r=m(t).toRgb(),n=m(a).toRgb(),i=e/100,o={r:(n.r-r.r)*i+r.r,g:(n.g-r.g)*i+r.g,b:(n.b-r.b)*i+r.b,a:(n.a-r.a)*i+r.a};return m(o)};m.readability=function(t,a){var e=m(t),r=m(a);return(Math.max(e.getLuminance(),r.getLuminance())+.05)/(Math.min(e.getLuminance(),r.getLuminance())+.05)};m.isReadable=function(t,a,e){var r=m.readability(t,a),n,i;switch(i=!1,n=ja(e),n.level+n.size){case"AAsmall":case"AAAlarge":i=r>=4.5;break;case"AAlarge":i=r>=3;break;case"AAAsmall":i=r>=7;break}return i};m.mostReadable=function(t,a,e){var r=null,n=0,i,o,s,l;e=e||{},o=e.includeFallbackColors,s=e.level,l=e.size;for(var c=0;cn&&(n=i,r=m(a[c]));return m.isReadable(t,r,{level:s,size:l})||!o?r:(e.includeFallbackColors=!1,m.mostReadable(t,["#fff","#000"],e))};var K=m.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},Ha=m.hexNames=Na(K);function Na(t){var a={};for(var e in t)t.hasOwnProperty(e)&&(a[t[e]]=e);return a}function Rt(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function _(t,a){Da(t)&&(t="100%");var e=Fa(t);return t=Math.min(a,Math.max(0,parseFloat(t))),e&&(t=parseInt(t*a,10)/100),Math.abs(t-a)<1e-6?1:t%a/parseFloat(a)}function U(t){return Math.min(1,Math.max(0,t))}function P(t){return parseInt(t,16)}function Da(t){return typeof t=="string"&&t.indexOf(".")!=-1&&parseFloat(t)===1}function Fa(t){return typeof t=="string"&&t.indexOf("%")!=-1}function T(t){return t.length==1?"0"+t:""+t}function N(t){return t<=1&&(t=t*100+"%"),t}function Pt(t){return Math.round(parseFloat(t)*255).toString(16)}function vt(t){return P(t)/255}var E=function(){var t="[-\\+]?\\d+%?",a="[-\\+]?\\d*\\.\\d+%?",e="(?:"+a+")|(?:"+t+")",r="[\\s|\\(]+("+e+")[,|\\s]+("+e+")[,|\\s]+("+e+")\\s*\\)?",n="[\\s|\\(]+("+e+")[,|\\s]+("+e+")[,|\\s]+("+e+")[,|\\s]+("+e+")\\s*\\)?";return{CSS_UNIT:new RegExp(e),rgb:new RegExp("rgb"+r),rgba:new RegExp("rgba"+n),hsl:new RegExp("hsl"+r),hsla:new RegExp("hsla"+n),hsv:new RegExp("hsv"+r),hsva:new RegExp("hsva"+n),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function I(t){return!!E.CSS_UNIT.exec(t)}function qa(t){t=t.replace(Ma,"").replace(ya,"").toLowerCase();var a=!1;if(K[t])t=K[t],a=!0;else if(t=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var e;return(e=E.rgb.exec(t))?{r:e[1],g:e[2],b:e[3]}:(e=E.rgba.exec(t))?{r:e[1],g:e[2],b:e[3],a:e[4]}:(e=E.hsl.exec(t))?{h:e[1],s:e[2],l:e[3]}:(e=E.hsla.exec(t))?{h:e[1],s:e[2],l:e[3],a:e[4]}:(e=E.hsv.exec(t))?{h:e[1],s:e[2],v:e[3]}:(e=E.hsva.exec(t))?{h:e[1],s:e[2],v:e[3],a:e[4]}:(e=E.hex8.exec(t))?{r:P(e[1]),g:P(e[2]),b:P(e[3]),a:vt(e[4]),format:a?"name":"hex8"}:(e=E.hex6.exec(t))?{r:P(e[1]),g:P(e[2]),b:P(e[3]),format:a?"name":"hex"}:(e=E.hex4.exec(t))?{r:P(e[1]+""+e[1]),g:P(e[2]+""+e[2]),b:P(e[3]+""+e[3]),a:vt(e[4]+""+e[4]),format:a?"name":"hex8"}:(e=E.hex3.exec(t))?{r:P(e[1]+""+e[1]),g:P(e[2]+""+e[2]),b:P(e[3]+""+e[3]),format:a?"name":"hex"}:!1}function ja(t){var a,e;return t=t||{level:"AA",size:"small"},a=(t.level||"AA").toUpperCase(),e=(t.size||"small").toLowerCase(),a!=="AA"&&a!=="AAA"&&(a="AA"),e!=="small"&&e!=="large"&&(e="small"),{level:a,size:e}}var Mt=(t,a)=>{let{$canvas:e}=a,r=[],n,i,o=t.minSize,s=t.maxSize,l=t.minSpeed,c=t.maxSpeed,h=t.maxScale,u=t.minScale;for(let d=0;d0){n=F(t.svgPathData);let p=va(n);p&&(i=[g[0]/p.w,g[1]/p.h])}let k;t.particlesColors&&t.particlesColors.length>0?k=F(t.particlesColors):k=Xt();let A=m(k).toRgb();r.push({center:[$(0,e.width),$(0,e.height)],speed:[$(l,c),$(l,c)],size:g,color:k,rgbaColor:[A.r,A.g,A.b,A.a],svgPathData:n,svgSize:i,angleRad:0,rotateCounterClockwise:Gt(),scale:(u+h)/2,scaleDirection:F([-1,1]),opacity:$(0,1),opacityDirection:F([-1,1])})}return r},Ba=(t,a,e)=>{let{$canvas:r}=e,n=q({},t),[i,o]=t.center,s=[...t.speed];if((i>r.width||i<0)&&(s[0]=-s[0]),(o>r.height||o<0)&&(s[1]=-s[1]),n.speed=s,n.center=[i+n.speed[0],o+n.speed[1]],a.rotate&&(t.rotateCounterClockwise?n.angleRad+=Math.PI/180:n.angleRad-=Math.PI/180),a.scaleInOut){let l=a.scaleStep,c=a.maxScale,h=a.minScale;n.scaleDirection>0?n.scale+=l:n.scale-=l,n.scale>c&&(n.scale=c,n.scaleDirection=-1),n.scale0?n.opacity+=l:n.opacity-=l,n.opacity>1&&(n.scale=1,n.opacityDirection=-1),n.opacity<0&&(n.opacity=0,n.opacityDirection=1)}return n},Ua=(t,a,e)=>{let{ctx:r}=e;if(!a.svgPathData){r.save();let{size:u}=t,d=u[0];a.scaleInOut&&(d*=t.scale);let f=a.fadeInOut?Y(t.rgbaColor[0],t.rgbaColor[1],t.rgbaColor[2],t.opacity):t.color;Vt({cx:t.center[0],cy:t.center[1],r:d,fillStyle:f},r),r.restore();return}let[n,i]=t.size,o=new Path2D(t.svgPathData);r.save();let s=n/2,l=i/2,[c,h]=[t.center[0]-s,t.center[1]-l];r.translate(c,h),t.svgSize&&(r.translate(s,l),r.scale(...t.svgSize),r.translate(-s,-l)),a.rotate&&(r.translate(s,l),r.rotate(t.angleRad),r.translate(-s,-l)),a.scaleInOut&&(r.translate(s,l),r.scale(t.scale,t.scale),r.translate(-s,-l)),a.fadeInOut?r.fillStyle=Y(t.rgbaColor[0],t.rgbaColor[1],t.rgbaColor[2],t.opacity):r.fillStyle=t.color,r.fill(o),r.restore()},Va={particlesNumber:70,lgParticlesNumber:60,mdParticlesNumber:50,smParticlesNumber:30,resizeDebounceTime:1e3,particlesColors:[],minSpeed:-2,maxSpeed:2,minSize:5,maxSize:10,connected:!0,connectionColor:"rgb(70,126,150)",connectionSize:.09,lgConnectionSize:.15,mdConnectionSize:.2,smConnectionSize:.2,maxScale:2,minScale:.5,scaleStep:.01,opacityStep:.001},Wa=(t,a)=>a?q(q({},t),a):q({},t);function Qa(t){var a=typeof t;return t!=null&&(a=="object"||a=="function")}var tt=Qa,Za=typeof global=="object"&&global&&global.Object===Object&&global,Ja=Za,Ya=typeof self=="object"&&self&&self.Object===Object&&self,Ga=Ja||Ya||Function("return this")(),Et=Ga,Xa=function(){return Et.Date.now()},Z=Xa,Ka=/\s/;function te(t){for(var a=t.length;a--&&Ka.test(t.charAt(a)););return a}var ae=te,ee=/^\s+/;function re(t){return t&&t.slice(0,ae(t)+1).replace(ee,"")}var ne=re,ie=Et.Symbol,B=ie,Tt=Object.prototype,oe=Tt.hasOwnProperty,se=Tt.toString,H=B?B.toStringTag:void 0;function le(t){var a=oe.call(t,H),e=t[H];try{t[H]=void 0;var r=!0}catch(i){}var n=se.call(t);return r&&(a?t[H]=e:delete t[H]),n}var ce=le,ue=Object.prototype,he=ue.toString;function fe(t){return he.call(t)}var me=fe,de="[object Null]",pe="[object Undefined]",yt=B?B.toStringTag:void 0;function be(t){return t==null?t===void 0?pe:de:yt&&yt in Object(t)?ce(t):me(t)}var ge=be;function ve(t){return t!=null&&typeof t=="object"}var Me=ve,ye="[object Symbol]";function ke(t){return typeof t=="symbol"||Me(t)&&ge(t)==ye}var xe=ke,kt=0/0,Se=/^[-+]0x[0-9a-f]+$/i,we=/^0b[01]+$/i,_e=/^0o[0-7]+$/i,Ae=parseInt;function Ce(t){if(typeof t=="number")return t;if(xe(t))return kt;if(tt(t)){var a=typeof t.valueOf=="function"?t.valueOf():t;t=tt(a)?a+"":a}if(typeof t!="string")return t===0?t:+t;t=ne(t);var e=we.test(t);return e||_e.test(t)?Ae(t.slice(2),e?2:8):Se.test(t)?kt:+t}var xt=Ce,Le="Expected a function",Re=Math.max,Pe=Math.min;function Ee(t,a,e){var r,n,i,o,s,l,c=0,h=!1,u=!1,d=!0;if(typeof t!="function")throw new TypeError(Le);a=xt(a)||0,tt(e)&&(h=!!e.leading,u="maxWait"in e,i=u?Re(xt(e.maxWait)||0,a):i,d="trailing"in e?!!e.trailing:d);function f(b){var S=r,L=n;return r=n=void 0,c=b,o=t.apply(L,S),o}function g(b){return c=b,s=setTimeout(p,a),h?f(b):o}function k(b){var S=b-l,L=b-c,w=a-S;return u?Pe(w,i-L):w}function A(b){var S=b-l,L=b-c;return l===void 0||S>=a||S<0||u&&L>=i}function p(){var b=Z();if(A(b))return v(b);s=setTimeout(p,k(b))}function v(b){return s=void 0,d&&r?f(b):(r=n=void 0,o)}function x(){s!==void 0&&clearTimeout(s),c=0,r=l=n=s=void 0}function y(){return s===void 0?o:v(Z())}function M(){var b=Z(),S=A(b);if(r=arguments,n=this,l=b,S){if(s===void 0)return g(l);if(u)return clearTimeout(s),s=setTimeout(p,a),f(l)}return s===void 0&&(s=setTimeout(p,a)),o}return M.cancel=x,M.flush=y,M}var Te=Ee,St=(t,a)=>{let{$canvas:e,ctx:r}=a,n={x:0,y:0,w:e.width,h:e.height};t.canvasColor?n.fillStyle=t.canvasColor:n.clear=!0,Ut(n,r),t.connected&&ra(t,a);for(let i=0;i{let a=Wa(Va,t);if(!a.$placeholder)return;let e=a.$placeholder.getBoundingClientRect(),r={width:e.width,height:e.height},{ctx:n,$canvas:i}=jt(r);if(!n)return;a.$placeholder.append(i);let o=m(a.connectionColor).toRgb(),s={connectionRgbColor:[o.r,o.g,o.b,o.a],particles:[],ctx:n,$canvas:i,vpParticlesNumber:ut(a)};s.particles=Mt(a,s);let l=Te(()=>{let c=ut(a);s.vpParticlesNumber!==c&&(s.vpParticlesNumber=c,s.particles=Mt(a,s))},a.resizeDebounceTime);return aa({callback:()=>{n&&St(a,s)},restartOnResize:!0,resizeCallback:()=>{if(!a.$placeholder)return;let c=a.$placeholder.getBoundingClientRect();i.width=c.width,i.height=c.height,St(a,s),l()}}).start(),i};window.particles=Ot;var zt=Ot;var Oe=()=>{let t=document.getElementById("hp-animation");!t||zt({$placeholder:t,particlesNumber:100,minSize:10,maxSize:30,particlesColors:["#366d8c","#368c8c","#fffc00","#92fae7","#5daed2","#366d8c"],connectionColor:"#7fb2b7",svgPathData:["m14.5 21.75-8.52289 4.48075 1.62773-9.49038-6.89516-6.72112 9.52888-1.38462L14.5 0l4.26144 8.63463 9.52888 1.38462-6.89516 6.72112 1.62773 9.49038z","M14.5 21.75 4.24695 24.75305 7.25 14.5 4.24695 4.24695 14.5 7.25l10.25305-3.00305L21.75 14.5l3.00305 10.25305z","m14.5 21.75-5.54891 6.14625.42239-8.26973-8.26973.42239L7.25 14.5 1.10375 8.95109l8.26973.42239-.42239-8.26973L14.5 7.25l5.54891-6.14625-.42239 8.26973 8.26973-.42239L21.75 14.5l6.14625 5.54891-8.26973-.42239.42239 8.26973z"],rotate:!0,scaleInOut:!0,maxScale:1.2,minScale:.7,scaleStep:.005})},ze=()=>{if(document.getElementById("special-page")){Oe();return}ot(),rt(),it(),st()};document.addEventListener("DOMContentLoaded",()=>{ze()});})(); -//# sourceMappingURL=index.1710585004234.js.map +//# sourceMappingURL=index.1710592991880.js.map diff --git a/docs/js/index.1710585004234.js.map b/docs/js/index.1710592991880.js.map similarity index 100% rename from docs/js/index.1710585004234.js.map rename to docs/js/index.1710592991880.js.map diff --git a/docs/pages/Check-if-value-is-number.html b/docs/pages/Check-if-value-is-number.html index b032ce3..0794ce5 100644 --- a/docs/pages/Check-if-value-is-number.html +++ b/docs/pages/Check-if-value-is-number.html @@ -16,8 +16,8 @@ - - + + @@ -288,6 +288,6 @@ - + \ No newline at end of file diff --git a/docs/pages/adjugate-matrix.html b/docs/pages/adjugate-matrix.html index 6db3357..c285a40 100644 --- a/docs/pages/adjugate-matrix.html +++ b/docs/pages/adjugate-matrix.html @@ -16,8 +16,8 @@ - - + + @@ -332,6 +332,6 @@ - + \ No newline at end of file diff --git a/docs/pages/angle-between-vectors.html b/docs/pages/angle-between-vectors.html index 50b6d91..b00449d 100644 --- a/docs/pages/angle-between-vectors.html +++ b/docs/pages/angle-between-vectors.html @@ -16,8 +16,8 @@ - - + + @@ -299,6 +299,6 @@ - + \ No newline at end of file diff --git a/docs/pages/angles-distance.html b/docs/pages/angles-distance.html index d1b8b4f..8fd6ca9 100644 --- a/docs/pages/angles-distance.html +++ b/docs/pages/angles-distance.html @@ -16,8 +16,8 @@ - - + + @@ -306,6 +306,6 @@

Angles Subtraction (Angular Distance)

- + \ No newline at end of file diff --git a/docs/pages/animation.html b/docs/pages/animation.html index 294cb82..7423bda 100644 --- a/docs/pages/animation.html +++ b/docs/pages/animation.html @@ -16,8 +16,8 @@ - - + + @@ -333,6 +333,6 @@ - + \ No newline at end of file diff --git a/docs/pages/append-or-prepend-column.html b/docs/pages/append-or-prepend-column.html index 0308437..7fdb011 100644 --- a/docs/pages/append-or-prepend-column.html +++ b/docs/pages/append-or-prepend-column.html @@ -16,8 +16,8 @@ - - + + @@ -298,6 +298,6 @@ - + \ No newline at end of file diff --git a/docs/pages/append-or-prepend-row.html b/docs/pages/append-or-prepend-row.html index fdd963a..9baa763 100644 --- a/docs/pages/append-or-prepend-row.html +++ b/docs/pages/append-or-prepend-row.html @@ -16,8 +16,8 @@ - - + + @@ -347,6 +347,6 @@ - + \ No newline at end of file diff --git a/docs/pages/arithmetic-sequence-sum.html b/docs/pages/arithmetic-sequence-sum.html index d35072b..1a86443 100644 --- a/docs/pages/arithmetic-sequence-sum.html +++ b/docs/pages/arithmetic-sequence-sum.html @@ -16,8 +16,8 @@ - - + + @@ -290,6 +290,6 @@ - + \ No newline at end of file diff --git a/docs/pages/bezier-curves.html b/docs/pages/bezier-curves.html index 0d3ed63..674839c 100644 --- a/docs/pages/bezier-curves.html +++ b/docs/pages/bezier-curves.html @@ -16,8 +16,8 @@ - - + + @@ -343,6 +343,6 @@ - + \ No newline at end of file diff --git a/docs/pages/bounding-box.html b/docs/pages/bounding-box.html index d0c4126..fa1afaf 100644 --- a/docs/pages/bounding-box.html +++ b/docs/pages/bounding-box.html @@ -16,8 +16,8 @@ - - + + @@ -316,6 +316,6 @@ - + \ No newline at end of file diff --git a/docs/pages/browser-usage.html b/docs/pages/browser-usage.html index ec3d1fd..74a4069 100644 --- a/docs/pages/browser-usage.html +++ b/docs/pages/browser-usage.html @@ -16,8 +16,8 @@ - - + + @@ -289,6 +289,6 @@ - + \ No newline at end of file diff --git a/docs/pages/check-if-ranges-overlap.html b/docs/pages/check-if-ranges-overlap.html index 36909b0..87c6401 100644 --- a/docs/pages/check-if-ranges-overlap.html +++ b/docs/pages/check-if-ranges-overlap.html @@ -16,8 +16,8 @@ - - + + @@ -284,6 +284,6 @@ - + \ No newline at end of file diff --git a/docs/pages/circle-movement.html b/docs/pages/circle-movement.html index 361bf7d..3a4fe2b 100644 --- a/docs/pages/circle-movement.html +++ b/docs/pages/circle-movement.html @@ -16,8 +16,8 @@ - - + + @@ -293,6 +293,6 @@

Circle movement after mouse

- + \ No newline at end of file diff --git a/docs/pages/circles-collision.html b/docs/pages/circles-collision.html index 73838a9..f84b29f 100644 --- a/docs/pages/circles-collision.html +++ b/docs/pages/circles-collision.html @@ -16,8 +16,8 @@ - - + + @@ -290,6 +290,6 @@ - + \ No newline at end of file diff --git a/docs/pages/circumference.html b/docs/pages/circumference.html index 49f3cd7..05c185e 100644 --- a/docs/pages/circumference.html +++ b/docs/pages/circumference.html @@ -16,8 +16,8 @@ - - + + @@ -292,6 +292,6 @@ - + \ No newline at end of file diff --git a/docs/pages/color.html b/docs/pages/color.html index 55a4566..de8f4a3 100644 --- a/docs/pages/color.html +++ b/docs/pages/color.html @@ -16,8 +16,8 @@ - - + + @@ -288,6 +288,6 @@ - + \ No newline at end of file diff --git a/docs/pages/convert-colors.html b/docs/pages/convert-colors.html index 3536286..6bbf7a8 100644 --- a/docs/pages/convert-colors.html +++ b/docs/pages/convert-colors.html @@ -16,8 +16,8 @@ - - + + @@ -306,6 +306,6 @@ - + \ No newline at end of file diff --git a/docs/pages/convert-range.html b/docs/pages/convert-range.html index 738cb5d..90b1ccc 100644 --- a/docs/pages/convert-range.html +++ b/docs/pages/convert-range.html @@ -16,8 +16,8 @@ - - + + @@ -282,6 +282,6 @@ - + \ No newline at end of file diff --git a/docs/pages/convert-string-to-number.html b/docs/pages/convert-string-to-number.html index 6cd04ed..b933e1e 100644 --- a/docs/pages/convert-string-to-number.html +++ b/docs/pages/convert-string-to-number.html @@ -16,8 +16,8 @@ - - + + @@ -284,6 +284,6 @@ - + \ No newline at end of file diff --git a/docs/pages/convex-polygons-collision.html b/docs/pages/convex-polygons-collision.html index 84de5a7..906e5e3 100644 --- a/docs/pages/convex-polygons-collision.html +++ b/docs/pages/convex-polygons-collision.html @@ -16,8 +16,8 @@ - - + + @@ -286,6 +286,6 @@ - + \ No newline at end of file diff --git a/docs/pages/cross-product.html b/docs/pages/cross-product.html index 5769ac5..a3aaca9 100644 --- a/docs/pages/cross-product.html +++ b/docs/pages/cross-product.html @@ -16,8 +16,8 @@ - - + + @@ -287,6 +287,6 @@ - + \ No newline at end of file diff --git a/docs/pages/degrees-and-radians.html b/docs/pages/degrees-and-radians.html index dee3094..cb1abd6 100644 --- a/docs/pages/degrees-and-radians.html +++ b/docs/pages/degrees-and-radians.html @@ -16,8 +16,8 @@ - - + + @@ -288,6 +288,6 @@

Radians to degrees

- + \ No newline at end of file diff --git a/docs/pages/distance-between-vectors.html b/docs/pages/distance-between-vectors.html index 3913d9a..5a0f376 100644 --- a/docs/pages/distance-between-vectors.html +++ b/docs/pages/distance-between-vectors.html @@ -16,8 +16,8 @@ - - + + @@ -295,6 +295,6 @@ - + \ No newline at end of file diff --git a/docs/pages/divide-by-scalar.html b/docs/pages/divide-by-scalar.html index 400a632..b6fa1ac 100644 --- a/docs/pages/divide-by-scalar.html +++ b/docs/pages/divide-by-scalar.html @@ -16,8 +16,8 @@ - - + + @@ -351,6 +351,6 @@ - + \ No newline at end of file diff --git a/docs/pages/divide-vector-by-scalar.html b/docs/pages/divide-vector-by-scalar.html index f82a3e9..22f554b 100644 --- a/docs/pages/divide-vector-by-scalar.html +++ b/docs/pages/divide-vector-by-scalar.html @@ -16,8 +16,8 @@ - - + + @@ -296,6 +296,6 @@ - + \ No newline at end of file diff --git a/docs/pages/dot-product.html b/docs/pages/dot-product.html index 3ebcd47..49736a8 100644 --- a/docs/pages/dot-product.html +++ b/docs/pages/dot-product.html @@ -16,8 +16,8 @@ - - + + @@ -291,6 +291,6 @@ - + \ No newline at end of file diff --git a/docs/pages/ellipse-movement.html b/docs/pages/ellipse-movement.html index b7cde41..b36303b 100644 --- a/docs/pages/ellipse-movement.html +++ b/docs/pages/ellipse-movement.html @@ -16,8 +16,8 @@ - - + + @@ -293,6 +293,6 @@

Ellipse movement after mouse

- + \ No newline at end of file diff --git a/docs/pages/extrema.html b/docs/pages/extrema.html index 5b8116a..4a43d9a 100644 --- a/docs/pages/extrema.html +++ b/docs/pages/extrema.html @@ -16,8 +16,8 @@ - - + + @@ -307,6 +307,6 @@ - + \ No newline at end of file diff --git a/docs/pages/general-case.html b/docs/pages/general-case.html index 5357624..63c0c92 100644 --- a/docs/pages/general-case.html +++ b/docs/pages/general-case.html @@ -16,8 +16,8 @@ - - + + @@ -286,6 +286,6 @@ - + \ No newline at end of file diff --git a/docs/pages/get-animation-data.html b/docs/pages/get-animation-data.html index 31f63d7..6b1ef07 100644 --- a/docs/pages/get-animation-data.html +++ b/docs/pages/get-animation-data.html @@ -16,8 +16,8 @@ - - + + @@ -290,6 +290,6 @@ - + \ No newline at end of file diff --git a/docs/pages/get-column.html b/docs/pages/get-column.html index 6254eb6..abadd18 100644 --- a/docs/pages/get-column.html +++ b/docs/pages/get-column.html @@ -16,8 +16,8 @@ - - + + @@ -289,6 +289,6 @@ - + \ No newline at end of file diff --git a/docs/pages/get-linear-equation-by-2-points.html b/docs/pages/get-linear-equation-by-2-points.html index d9e3c9f..87e28dd 100644 --- a/docs/pages/get-linear-equation-by-2-points.html +++ b/docs/pages/get-linear-equation-by-2-points.html @@ -16,8 +16,8 @@ - - + + @@ -326,6 +326,6 @@ - + \ No newline at end of file diff --git a/docs/pages/get-matrix-minor.html b/docs/pages/get-matrix-minor.html index 8bfee0e..e5a0779 100644 --- a/docs/pages/get-matrix-minor.html +++ b/docs/pages/get-matrix-minor.html @@ -16,8 +16,8 @@ - - + + @@ -288,6 +288,6 @@ - + \ No newline at end of file diff --git a/docs/pages/get-normal.html b/docs/pages/get-normal.html index 7b045a7..4b759d7 100644 --- a/docs/pages/get-normal.html +++ b/docs/pages/get-normal.html @@ -16,8 +16,8 @@ - - + + @@ -284,6 +284,6 @@ - + \ No newline at end of file diff --git a/docs/pages/get-point-on-cubic-bezier-curve.html b/docs/pages/get-point-on-cubic-bezier-curve.html index be1b00f..31e2e53 100644 --- a/docs/pages/get-point-on-cubic-bezier-curve.html +++ b/docs/pages/get-point-on-cubic-bezier-curve.html @@ -16,8 +16,8 @@ - - + + @@ -340,6 +340,6 @@ - + \ No newline at end of file diff --git a/docs/pages/get-point-on-quadratic-bezier-curve.html b/docs/pages/get-point-on-quadratic-bezier-curve.html index 4ec0f2a..b377ab1 100644 --- a/docs/pages/get-point-on-quadratic-bezier-curve.html +++ b/docs/pages/get-point-on-quadratic-bezier-curve.html @@ -16,8 +16,8 @@ - - + + @@ -334,6 +334,6 @@ - + \ No newline at end of file diff --git a/docs/pages/get-random-boolean.html b/docs/pages/get-random-boolean.html index 50e8437..ad5c9a2 100644 --- a/docs/pages/get-random-boolean.html +++ b/docs/pages/get-random-boolean.html @@ -16,8 +16,8 @@ - - + + @@ -280,6 +280,6 @@ - + \ No newline at end of file diff --git a/docs/pages/get-random-integer.html b/docs/pages/get-random-integer.html index 7322c90..bbd4fd3 100644 --- a/docs/pages/get-random-integer.html +++ b/docs/pages/get-random-integer.html @@ -16,8 +16,8 @@ - - + + @@ -281,6 +281,6 @@ - + \ No newline at end of file diff --git a/docs/pages/get-random-item-from-array.html b/docs/pages/get-random-item-from-array.html index a1d3f31..cfe712d 100644 --- a/docs/pages/get-random-item-from-array.html +++ b/docs/pages/get-random-item-from-array.html @@ -16,8 +16,8 @@ - - + + @@ -282,6 +282,6 @@ - + \ No newline at end of file diff --git a/docs/pages/get-random-number-in-range.html b/docs/pages/get-random-number-in-range.html index f97c4e6..6cd23f7 100644 --- a/docs/pages/get-random-number-in-range.html +++ b/docs/pages/get-random-number-in-range.html @@ -16,8 +16,8 @@ - - + + @@ -282,6 +282,6 @@ - + \ No newline at end of file diff --git a/docs/pages/inverse-matrix.html b/docs/pages/inverse-matrix.html index 0dbe8f9..6cc48f4 100644 --- a/docs/pages/inverse-matrix.html +++ b/docs/pages/inverse-matrix.html @@ -16,8 +16,8 @@ - - + + @@ -329,6 +329,6 @@ - + \ No newline at end of file diff --git a/docs/pages/is-angle-between.html b/docs/pages/is-angle-between.html index d6f5b73..00b2d0e 100644 --- a/docs/pages/is-angle-between.html +++ b/docs/pages/is-angle-between.html @@ -16,8 +16,8 @@ - - + + @@ -282,6 +282,6 @@ - + \ No newline at end of file diff --git a/docs/pages/is-angle-in-circle-arc.html b/docs/pages/is-angle-in-circle-arc.html index 3ee6f8a..d83af5c 100644 --- a/docs/pages/is-angle-in-circle-arc.html +++ b/docs/pages/is-angle-in-circle-arc.html @@ -16,8 +16,8 @@ - - + + @@ -292,6 +292,6 @@ - + \ No newline at end of file diff --git a/docs/pages/is-clockwise.html b/docs/pages/is-clockwise.html index 8c66273..91a019d 100644 --- a/docs/pages/is-clockwise.html +++ b/docs/pages/is-clockwise.html @@ -16,8 +16,8 @@ - - + + @@ -290,6 +290,6 @@ - + \ No newline at end of file diff --git a/docs/pages/lerp.html b/docs/pages/lerp.html index 6f95d33..4d46db7 100644 --- a/docs/pages/lerp.html +++ b/docs/pages/lerp.html @@ -16,8 +16,8 @@ - - + + @@ -361,6 +361,6 @@ - + \ No newline at end of file diff --git a/docs/pages/linear-equation.html b/docs/pages/linear-equation.html index 6ca402d..8989f73 100644 --- a/docs/pages/linear-equation.html +++ b/docs/pages/linear-equation.html @@ -16,8 +16,8 @@ - - + + @@ -284,6 +284,6 @@ - + \ No newline at end of file diff --git a/docs/pages/lissajous-curve.html b/docs/pages/lissajous-curve.html index 2583ca2..0caa8c7 100644 --- a/docs/pages/lissajous-curve.html +++ b/docs/pages/lissajous-curve.html @@ -16,8 +16,8 @@ - - + + @@ -305,6 +305,6 @@ - + \ No newline at end of file diff --git a/docs/pages/matrix-deep-copy.html b/docs/pages/matrix-deep-copy.html index 297cee1..ac355b2 100644 --- a/docs/pages/matrix-deep-copy.html +++ b/docs/pages/matrix-deep-copy.html @@ -16,8 +16,8 @@ - - + + @@ -299,6 +299,6 @@ - + \ No newline at end of file diff --git a/docs/pages/matrix-determinant.html b/docs/pages/matrix-determinant.html index d67eb8e..5863d13 100644 --- a/docs/pages/matrix-determinant.html +++ b/docs/pages/matrix-determinant.html @@ -16,8 +16,8 @@ - - + + @@ -308,6 +308,6 @@ - + \ No newline at end of file diff --git a/docs/pages/matrix-equality.html b/docs/pages/matrix-equality.html index 0468a9d..b30c662 100644 --- a/docs/pages/matrix-equality.html +++ b/docs/pages/matrix-equality.html @@ -16,8 +16,8 @@ - - + + @@ -299,6 +299,6 @@ - + \ No newline at end of file diff --git a/docs/pages/matrix-initialization.html b/docs/pages/matrix-initialization.html index 5d9b0ed..67139c4 100644 --- a/docs/pages/matrix-initialization.html +++ b/docs/pages/matrix-initialization.html @@ -16,8 +16,8 @@ - - + + @@ -380,6 +380,6 @@

Identity Matrix

- + \ No newline at end of file diff --git a/docs/pages/matrix-multiplication.html b/docs/pages/matrix-multiplication.html index f4754cd..3d4782a 100644 --- a/docs/pages/matrix-multiplication.html +++ b/docs/pages/matrix-multiplication.html @@ -16,8 +16,8 @@ - - + + @@ -319,6 +319,6 @@ - + \ No newline at end of file diff --git a/docs/pages/matrix-singularity.html b/docs/pages/matrix-singularity.html index 75ab523..5523a29 100644 --- a/docs/pages/matrix-singularity.html +++ b/docs/pages/matrix-singularity.html @@ -16,8 +16,8 @@ - - + + @@ -294,6 +294,6 @@ - + \ No newline at end of file diff --git a/docs/pages/matrix-subtraction.html b/docs/pages/matrix-subtraction.html index 45a0c3f..7239b05 100644 --- a/docs/pages/matrix-subtraction.html +++ b/docs/pages/matrix-subtraction.html @@ -16,8 +16,8 @@ - - + + @@ -338,6 +338,6 @@ - + \ No newline at end of file diff --git a/docs/pages/matrix-sum.html b/docs/pages/matrix-sum.html index 2c03876..80b96b0 100644 --- a/docs/pages/matrix-sum.html +++ b/docs/pages/matrix-sum.html @@ -16,8 +16,8 @@ - - + + @@ -338,6 +338,6 @@ - + \ No newline at end of file diff --git a/docs/pages/matrix-to-CSS-transform.html b/docs/pages/matrix-to-CSS-transform.html index f159259..fc55678 100644 --- a/docs/pages/matrix-to-CSS-transform.html +++ b/docs/pages/matrix-to-CSS-transform.html @@ -16,8 +16,8 @@ - - + + @@ -330,6 +330,6 @@ - + \ No newline at end of file diff --git a/docs/pages/matrix-transposition.html b/docs/pages/matrix-transposition.html index 3a1d949..c92ee23 100644 --- a/docs/pages/matrix-transposition.html +++ b/docs/pages/matrix-transposition.html @@ -16,8 +16,8 @@ - - + + @@ -326,6 +326,6 @@ - + \ No newline at end of file diff --git a/docs/pages/matrix.html b/docs/pages/matrix.html index 33c0a6d..3e5ccd8 100644 --- a/docs/pages/matrix.html +++ b/docs/pages/matrix.html @@ -16,8 +16,8 @@ - - + + @@ -357,6 +357,6 @@ - + \ No newline at end of file diff --git a/docs/pages/modulo.html b/docs/pages/modulo.html index 31f9651..5d3d078 100644 --- a/docs/pages/modulo.html +++ b/docs/pages/modulo.html @@ -16,8 +16,8 @@ - - + + @@ -282,6 +282,6 @@ - + \ No newline at end of file diff --git a/docs/pages/multiply-by-scalar.html b/docs/pages/multiply-by-scalar.html index 0d6ac29..ddcbdfa 100644 --- a/docs/pages/multiply-by-scalar.html +++ b/docs/pages/multiply-by-scalar.html @@ -16,8 +16,8 @@ - - + + @@ -336,6 +336,6 @@ - + \ No newline at end of file diff --git a/docs/pages/multiply-matrix-by-vector.html b/docs/pages/multiply-matrix-by-vector.html index 099184a..9f81a18 100644 --- a/docs/pages/multiply-matrix-by-vector.html +++ b/docs/pages/multiply-matrix-by-vector.html @@ -16,8 +16,8 @@ - - + + @@ -288,6 +288,6 @@ - + \ No newline at end of file diff --git a/docs/pages/multiply-vector-by-scalar.html b/docs/pages/multiply-vector-by-scalar.html index d699652..08457f8 100644 --- a/docs/pages/multiply-vector-by-scalar.html +++ b/docs/pages/multiply-vector-by-scalar.html @@ -16,8 +16,8 @@ - - + + @@ -296,6 +296,6 @@ - + \ No newline at end of file diff --git a/docs/pages/natural-numbers-sequence-sum.html b/docs/pages/natural-numbers-sequence-sum.html index 9f936ff..8b0e432 100644 --- a/docs/pages/natural-numbers-sequence-sum.html +++ b/docs/pages/natural-numbers-sequence-sum.html @@ -16,8 +16,8 @@ - - + + @@ -280,6 +280,6 @@ - + \ No newline at end of file diff --git a/docs/pages/nodejs-usage.html b/docs/pages/nodejs-usage.html index 8ff5ef4..9ffb6ca 100644 --- a/docs/pages/nodejs-usage.html +++ b/docs/pages/nodejs-usage.html @@ -16,8 +16,8 @@ - - + + @@ -286,6 +286,6 @@ - + \ No newline at end of file diff --git a/docs/pages/normal.html b/docs/pages/normal.html index de4ff66..d7393b8 100644 --- a/docs/pages/normal.html +++ b/docs/pages/normal.html @@ -16,8 +16,8 @@ - - + + @@ -311,6 +311,6 @@ - + \ No newline at end of file diff --git a/docs/pages/normalize-vector.html b/docs/pages/normalize-vector.html index 44fc06e..f425eea 100644 --- a/docs/pages/normalize-vector.html +++ b/docs/pages/normalize-vector.html @@ -16,8 +16,8 @@ - - + + @@ -291,6 +291,6 @@ - + \ No newline at end of file diff --git a/docs/pages/percent-to-angle.html b/docs/pages/percent-to-angle.html index a38cf0f..517416c 100644 --- a/docs/pages/percent-to-angle.html +++ b/docs/pages/percent-to-angle.html @@ -16,8 +16,8 @@ - - + + @@ -291,6 +291,6 @@ - + \ No newline at end of file diff --git a/docs/pages/polar-to-cartesian.html b/docs/pages/polar-to-cartesian.html index 92d5af2..ed93ebe 100644 --- a/docs/pages/polar-to-cartesian.html +++ b/docs/pages/polar-to-cartesian.html @@ -16,8 +16,8 @@ - - + + @@ -285,6 +285,6 @@ - + \ No newline at end of file diff --git a/docs/pages/polynomial.html b/docs/pages/polynomial.html index 4feebbd..9bd6063 100644 --- a/docs/pages/polynomial.html +++ b/docs/pages/polynomial.html @@ -16,8 +16,8 @@ - - + + @@ -289,6 +289,6 @@ - + \ No newline at end of file diff --git a/docs/pages/quadratic-equation.html b/docs/pages/quadratic-equation.html index 07b7552..cf1d3cc 100644 --- a/docs/pages/quadratic-equation.html +++ b/docs/pages/quadratic-equation.html @@ -16,8 +16,8 @@ - - + + @@ -306,6 +306,6 @@ - + \ No newline at end of file diff --git a/docs/pages/random-color.html b/docs/pages/random-color.html index 9f5d5ab..4bfdffb 100644 --- a/docs/pages/random-color.html +++ b/docs/pages/random-color.html @@ -16,8 +16,8 @@ - - + + @@ -312,6 +312,6 @@ - + \ No newline at end of file diff --git a/docs/pages/random-id-or-GUID.html b/docs/pages/random-id-or-GUID.html index 272134f..3fc58a6 100644 --- a/docs/pages/random-id-or-GUID.html +++ b/docs/pages/random-id-or-GUID.html @@ -16,8 +16,8 @@ - - + + @@ -281,6 +281,6 @@ - + \ No newline at end of file diff --git a/docs/pages/rectangles-collision.html b/docs/pages/rectangles-collision.html index 5ecddde..398d58d 100644 --- a/docs/pages/rectangles-collision.html +++ b/docs/pages/rectangles-collision.html @@ -16,8 +16,8 @@ - - + + @@ -291,6 +291,6 @@ - + \ No newline at end of file diff --git a/docs/pages/reflection-matrix.html b/docs/pages/reflection-matrix.html index 5280ecf..56761b8 100644 --- a/docs/pages/reflection-matrix.html +++ b/docs/pages/reflection-matrix.html @@ -16,8 +16,8 @@ - - + + @@ -454,6 +454,6 @@ - + \ No newline at end of file diff --git a/docs/pages/remove-row-or-column.html b/docs/pages/remove-row-or-column.html index acdf670..8aea385 100644 --- a/docs/pages/remove-row-or-column.html +++ b/docs/pages/remove-row-or-column.html @@ -16,8 +16,8 @@ - - + + @@ -335,6 +335,6 @@ - + \ No newline at end of file diff --git a/docs/pages/reset-matrix.html b/docs/pages/reset-matrix.html index ac6607b..13ce2b8 100644 --- a/docs/pages/reset-matrix.html +++ b/docs/pages/reset-matrix.html @@ -16,8 +16,8 @@ - - + + @@ -365,6 +365,6 @@ - + \ No newline at end of file diff --git a/docs/pages/rotate-around-point.html b/docs/pages/rotate-around-point.html index 680cd37..1c52b7b 100644 --- a/docs/pages/rotate-around-point.html +++ b/docs/pages/rotate-around-point.html @@ -16,8 +16,8 @@ - - + + @@ -303,6 +303,6 @@ - + \ No newline at end of file diff --git a/docs/pages/rotation-matrix.html b/docs/pages/rotation-matrix.html index 86f520d..ac48e4f 100644 --- a/docs/pages/rotation-matrix.html +++ b/docs/pages/rotation-matrix.html @@ -16,8 +16,8 @@ - - + + @@ -387,6 +387,6 @@ - + \ No newline at end of file diff --git a/docs/pages/scale-and-stretch-matrix.html b/docs/pages/scale-and-stretch-matrix.html index 6be6a69..27ce872 100644 --- a/docs/pages/scale-and-stretch-matrix.html +++ b/docs/pages/scale-and-stretch-matrix.html @@ -16,8 +16,8 @@ - - + + @@ -436,6 +436,6 @@ - + \ No newline at end of file diff --git a/docs/pages/scale-around-point.html b/docs/pages/scale-around-point.html index 126a772..11e78d7 100644 --- a/docs/pages/scale-around-point.html +++ b/docs/pages/scale-around-point.html @@ -16,8 +16,8 @@ - - + + @@ -299,6 +299,6 @@ - + \ No newline at end of file diff --git a/docs/pages/series.html b/docs/pages/series.html index b6067e9..3226934 100644 --- a/docs/pages/series.html +++ b/docs/pages/series.html @@ -16,8 +16,8 @@ - - + + @@ -270,6 +270,6 @@ - + \ No newline at end of file diff --git a/docs/pages/set-decimal-places.html b/docs/pages/set-decimal-places.html index 2d4b481..9008b32 100644 --- a/docs/pages/set-decimal-places.html +++ b/docs/pages/set-decimal-places.html @@ -16,8 +16,8 @@ - - + + @@ -285,6 +285,6 @@ - + \ No newline at end of file diff --git a/docs/pages/shearing-matrix.html b/docs/pages/shearing-matrix.html index 2e93599..e239091 100644 --- a/docs/pages/shearing-matrix.html +++ b/docs/pages/shearing-matrix.html @@ -16,8 +16,8 @@ - - + + @@ -299,6 +299,6 @@ - + \ No newline at end of file diff --git a/docs/pages/shift-colors.html b/docs/pages/shift-colors.html index 48d437b..dc6706c 100644 --- a/docs/pages/shift-colors.html +++ b/docs/pages/shift-colors.html @@ -16,8 +16,8 @@ - - + + @@ -287,6 +287,6 @@ - + \ No newline at end of file diff --git a/docs/pages/similar-colors.html b/docs/pages/similar-colors.html index 2a9051c..acf9267 100644 --- a/docs/pages/similar-colors.html +++ b/docs/pages/similar-colors.html @@ -16,8 +16,8 @@ - - + + @@ -318,6 +318,6 @@ - + \ No newline at end of file diff --git a/docs/pages/sine-wave-movement.html b/docs/pages/sine-wave-movement.html index 5e985de..f881095 100644 --- a/docs/pages/sine-wave-movement.html +++ b/docs/pages/sine-wave-movement.html @@ -16,8 +16,8 @@ - - + + @@ -285,6 +285,6 @@ - + \ No newline at end of file diff --git a/docs/pages/square-in-circle.html b/docs/pages/square-in-circle.html index 4bf63a6..c9af46e 100644 --- a/docs/pages/square-in-circle.html +++ b/docs/pages/square-in-circle.html @@ -16,8 +16,8 @@ - - + + @@ -284,6 +284,6 @@ - + \ No newline at end of file diff --git a/docs/pages/system-of-linear-equations.html b/docs/pages/system-of-linear-equations.html index a394e16..a2ca601 100644 --- a/docs/pages/system-of-linear-equations.html +++ b/docs/pages/system-of-linear-equations.html @@ -16,8 +16,8 @@ - - + + @@ -326,6 +326,6 @@ - + \ No newline at end of file diff --git a/docs/pages/tangent.html b/docs/pages/tangent.html index 2048acf..c3ab468 100644 --- a/docs/pages/tangent.html +++ b/docs/pages/tangent.html @@ -16,8 +16,8 @@ - - + + @@ -345,6 +345,6 @@ - + \ No newline at end of file diff --git a/docs/pages/temperature-conversion.html b/docs/pages/temperature-conversion.html index 135ea7e..27a89e4 100644 --- a/docs/pages/temperature-conversion.html +++ b/docs/pages/temperature-conversion.html @@ -16,8 +16,8 @@ - - + + @@ -298,6 +298,6 @@ - + \ No newline at end of file diff --git a/docs/pages/translation-matrix.html b/docs/pages/translation-matrix.html index cbabe98..93fcd27 100644 --- a/docs/pages/translation-matrix.html +++ b/docs/pages/translation-matrix.html @@ -16,8 +16,8 @@ - - + + @@ -328,6 +328,6 @@ - + \ No newline at end of file diff --git a/docs/pages/trigonometric-functions.html b/docs/pages/trigonometric-functions.html index 13f7111..f3b930c 100644 --- a/docs/pages/trigonometric-functions.html +++ b/docs/pages/trigonometric-functions.html @@ -16,8 +16,8 @@ - - + + @@ -317,6 +317,6 @@ - + \ No newline at end of file diff --git a/docs/pages/typescript-usage.html b/docs/pages/typescript-usage.html index f9106fd..4fe37bc 100644 --- a/docs/pages/typescript-usage.html +++ b/docs/pages/typescript-usage.html @@ -16,8 +16,8 @@ - - + + @@ -274,6 +274,6 @@ - + \ No newline at end of file diff --git a/docs/pages/vector-angle.html b/docs/pages/vector-angle.html index 775d0dd..06e0684 100644 --- a/docs/pages/vector-angle.html +++ b/docs/pages/vector-angle.html @@ -16,8 +16,8 @@ - - + + @@ -296,6 +296,6 @@

getV2AngleInEllipse()

- + \ No newline at end of file diff --git a/docs/pages/vector-initialization.html b/docs/pages/vector-initialization.html index f35d9d2..aba8545 100644 --- a/docs/pages/vector-initialization.html +++ b/docs/pages/vector-initialization.html @@ -16,8 +16,8 @@ - - + + @@ -297,6 +297,6 @@ - + \ No newline at end of file diff --git a/docs/pages/vector-length.html b/docs/pages/vector-length.html index ede1091..50bc483 100644 --- a/docs/pages/vector-length.html +++ b/docs/pages/vector-length.html @@ -16,8 +16,8 @@ - - + + @@ -297,6 +297,6 @@

Set Vector Length

- + \ No newline at end of file diff --git a/docs/pages/vectors-equality.html b/docs/pages/vectors-equality.html index 46b9804..4f6d466 100644 --- a/docs/pages/vectors-equality.html +++ b/docs/pages/vectors-equality.html @@ -16,8 +16,8 @@ - - + + @@ -283,6 +283,6 @@ - + \ No newline at end of file diff --git a/docs/pages/vectors-subtraction.html b/docs/pages/vectors-subtraction.html index 2bb2569..2b92ce6 100644 --- a/docs/pages/vectors-subtraction.html +++ b/docs/pages/vectors-subtraction.html @@ -16,8 +16,8 @@ - - + + @@ -300,6 +300,6 @@ - + \ No newline at end of file diff --git a/docs/pages/vectors-sum.html b/docs/pages/vectors-sum.html index 5e7a750..94d9013 100644 --- a/docs/pages/vectors-sum.html +++ b/docs/pages/vectors-sum.html @@ -16,8 +16,8 @@ - - + + @@ -300,6 +300,6 @@ - + \ No newline at end of file diff --git a/docs/pages/vectors.html b/docs/pages/vectors.html index 02ef61c..6edcf82 100644 --- a/docs/pages/vectors.html +++ b/docs/pages/vectors.html @@ -16,8 +16,8 @@ - - + + @@ -287,6 +287,6 @@ - + \ No newline at end of file