>>0)+2891336453,s=277803737*(r>>>(r>>>28)+4^r),n=(s>>>22^s)>>>0;return n/=f};t.exports=function(t,e){switch("number"==typeof t&&(t=[t]),e){case 2:return p(t,!0);case 1:return p(t);default:return c(t)}}},84854(t,e,i){var r=i(72958),s=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16],n=Array(4),a=Array(4),o=Array(4),h=Array(4),l=Array(4),u=Array(4),d=function(t,e,i){var r,s,h,l,u=e.noiseMode||0,d=void 0===e.noiseSmoothing?1:e.noiseSmoothing,p=Math.max(1,Math.min(t.length,4)),g=e.noiseCells||[32,32,32,32].slice(0,p);for(r=0;r1&&(o[1]=Math.floor(l/3)%3-1,p>2&&(o[2]=Math.floor(l/9)%3-1,p>3&&(o[3]=Math.floor(l/27)%3-1))),s=c(p,n,o,e,i),h=f(p,o,a,s),u){case 0:h0||e[1]>0)for(j[0]=U.x,j[1]=z.x,j[2]=Y.x,q[0]=U.y,q[1]=z.y,q[2]=Y.y,e[0]>0&&(j[0]=(U.x%e[0]+e[0])%e[0],j[1]=(z.x%e[0]+e[0])%e[0],j[2]=(Y.x%e[0]+e[0])%e[0]),e[1]>0&&(q[0]=(U.y%e[1]+e[1])%e[1],q[1]=(z.y%e[1]+e[1])%e[1],q[2]=(Y.y%e[1]+e[1])%e[1]),r=0;r<3;r++)G[r]=Math.floor(j[r]+.5*q[r]+.5),H[r]=Math.floor(q[r]+.5);else G[0]=n.x,G[1]=B.x,G[2]=k.x,H[0]=n.y,H[1]=B.y,H[2]=k.y;for(G[0]+=a[0],G[1]+=a[0],G[2]+=a[0],H[0]+=a[1],H[1]+=a[1],H[2]+=a[1],r=0;r<3;r++)K[r]=G[r]%289,K[r]<0&&(K[r]+=289);for(r=0;r<3;r++)K[r]=((51*K[r]+2)*K[r]+H[r])%289;for(r=0;r<3;r++)K[r]=(34*K[r]+10)*K[r]%289;for(r=0;r<3;r++)Z[r]=.07482*K[r]+i,Q[r]=Math.cos(Z[r]),J[r]=Math.sin(Z[r]);for($.x=Q[0],$.y=J[0],tt.x=Q[1],tt.y=J[1],et.x=Q[2],et.y=J[2],it[0]=.8-I(X,X),it[1]=.8-I(W,W),it[2]=.8-I(V,V),r=0;r<3;r++)it[r]=Math.max(it[r],0),rt[r]=it[r]*it[r],st[r]=rt[r]*rt[r];return nt[0]=I($,X),nt[1]=I(tt,W),nt[2]=I(et,V),10.9*(st[0]*nt[0]+st[1]*nt[1]+st[2]*nt[2])},B=[0,0,0],k=[0,0,0],U=[0,0,0],z=[0,0,0],Y=[0,0,0],X=[0,0,0],W=[0,0,0],V=[0,0,0],G=[0,0,0],H=[0,0,0],j=[0,0,0],q=[0,0,0],K=[0,0,0],Z=[0,0,0],Q=[0,0,0],J=[0,0,0],$=[0,0,0],tt=[0,0,0],et=[0,0,0],it=[0,0,0],rt=[0,0,0,0],st=[0,0,0,0],nt=[0,0,0,0],at=[0,0,0,0],ot=[0,0,0,0],ht=[0,0,0,0],lt=[0,0,0,0],ut=[0,0,0,0],dt=[0,0,0,0],ct=[0,0,0,0],ft=[0,0,0,0],pt=[0,0,0,0],gt=[0,0,0,0],mt=[0,0,0,0],vt=[0,0,0,0],yt=[0,0,0,0],xt=[0,0,0,0],Tt=[0,0,0,0],wt=[0,0,0,0],St=[0,0,0,0],bt=[0,0,0,0],Ct=[0,0,0,0],Et=[0,0,0,0],At=[0,0,0,0],_t=[0,0,0,0],Mt=[0,0,0,0],Rt=[0,0,0,0],Pt=[0,0,0,0],Ot=function(t,e){for(var i=0;i<4;i++){var r=t[i]%289;r<0&&(r+=289),e[i]=(34*r+10)*r%289}},Lt=function(t,e,i){var r=B,s=k,n=U,o=z,h=Y,l=X,u=W,d=V,c=G,f=H,p=j,g=q,m=K,v=Z,y=Q,x=J,T=$,w=tt,S=et,b=it,C=rt,E=st,A=nt,_=at,M=ot,R=ht,P=lt,O=ut,L=dt,D=ct,F=ft,I=pt,N=gt,Lt=mt,Dt=vt,Ft=yt,It=xt,Nt=Tt,Bt=wt,kt=St,Ut=bt,zt=Ct,Yt=Et,Xt=At,Wt=_t,Vt=Mt,Gt=Rt,Ht=Pt;r[0]=0*t[0]+1*t[1]+1*t[2],r[1]=1*t[0]+0*t[1]+1*t[2],r[2]=1*t[0]+1*t[1]+0*t[2];for(var jt=0;jt<3;jt++)s[jt]=Math.floor(r[jt]),n[jt]=r[jt]-s[jt];for(o[0]=n[0]>n[1]?0:1,o[1]=n[1]>n[2]?0:1,o[2]=n[0]>n[2]?0:1,h[0]=1-o[0],h[1]=1-o[1],h[2]=1-o[2],l[0]=h[2],l[1]=o[0],l[2]=o[1],u[0]=h[0],u[1]=h[1],u[2]=o[2],jt=0;jt<3;jt++)d[jt]=Math.min(l[jt],u[jt]),c[jt]=Math.max(l[jt],u[jt]);for(jt=0;jt<3;jt++)f[jt]=s[jt]+d[jt],p[jt]=s[jt]+c[jt],g[jt]=s[jt]+1;var qt=s[0],Kt=s[1],Zt=s[2],Qt=f[0],Jt=f[1],$t=f[2],te=p[0],ee=p[1],ie=p[2],re=g[0],se=g[1],ne=g[2];for(m[0]=-.5*qt+.5*Kt+.5*Zt,m[1]=.5*qt-.5*Kt+.5*Zt,m[2]=.5*qt+.5*Kt-.5*Zt,v[0]=-.5*Qt+.5*Jt+.5*$t,v[1]=.5*Qt-.5*Jt+.5*$t,v[2]=.5*Qt+.5*Jt-.5*$t,y[0]=-.5*te+.5*ee+.5*ie,y[1]=.5*te-.5*ee+.5*ie,y[2]=.5*te+.5*ee-.5*ie,x[0]=-.5*re+.5*se+.5*ne,x[1]=.5*re-.5*se+.5*ne,x[2]=.5*re+.5*se-.5*ne,jt=0;jt<3;jt++)T[jt]=t[jt]-m[jt],w[jt]=t[jt]-v[jt],S[jt]=t[jt]-y[jt],b[jt]=t[jt]-x[jt];if(e[0]>0||e[1]>0||e[2]>0){if(C[0]=m[0],C[1]=v[0],C[2]=y[0],C[3]=x[0],E[0]=m[1],E[1]=v[1],E[2]=y[1],E[3]=x[1],A[0]=m[2],A[1]=v[2],A[2]=y[2],A[3]=x[2],e[0]>0)for(jt=0;jt<4;jt++)C[jt]=(C[jt]%e[0]+e[0])%e[0];if(e[1]>0)for(jt=0;jt<4;jt++)E[jt]=(E[jt]%e[1]+e[1])%e[1];if(e[2]>0)for(jt=0;jt<4;jt++)A[jt]=(A[jt]%e[2]+e[2])%e[2];var ae=C[0],oe=E[0],he=A[0],le=C[1],ue=E[1],de=A[1],ce=C[2],fe=E[2],pe=A[2],ge=C[3],me=E[3],ve=A[3];s[0]=Math.floor(0*ae+1*oe+1*he+.5),s[1]=Math.floor(1*ae+0*oe+1*he+.5),s[2]=Math.floor(1*ae+1*oe+0*he+.5),f[0]=Math.floor(0*le+1*ue+1*de+.5),f[1]=Math.floor(1*le+0*ue+1*de+.5),f[2]=Math.floor(1*le+1*ue+0*de+.5),p[0]=Math.floor(0*ce+1*fe+1*pe+.5),p[1]=Math.floor(1*ce+0*fe+1*pe+.5),p[2]=Math.floor(1*ce+1*fe+0*pe+.5),g[0]=Math.floor(0*ge+1*me+1*ve+.5),g[1]=Math.floor(1*ge+0*me+1*ve+.5),g[2]=Math.floor(1*ge+1*me+0*ve+.5)}s[0]+=a[0],s[1]+=a[1],s[2]+=a[2],f[0]+=a[0],f[1]+=a[1],f[2]+=a[2],p[0]+=a[0],p[1]+=a[1],p[2]+=a[2],g[0]+=a[0],g[1]+=a[1],g[2]+=a[2];var ye=rt,xe=st;for(ye[0]=s[2],ye[1]=f[2],ye[2]=p[2],ye[3]=g[2],Ot(ye,xe),xe[0]+=s[1],xe[1]+=f[1],xe[2]+=p[1],xe[3]+=g[1],Ot(xe,ye),ye[0]+=s[0],ye[1]+=f[0],ye[2]+=p[0],ye[3]+=g[0],Ot(ye,_),jt=0;jt<4;jt++)M[jt]=3.883222077*_[jt],R[jt]=.996539792-.006920415*_[jt],P[jt]=.108705628*_[jt],O[jt]=Math.cos(M[jt]),L[jt]=Math.sin(M[jt]),D[jt]=Math.sqrt(Math.max(0,1-R[jt]*R[jt]));if(0!==i)for(jt=0;jt<4;jt++)Lt[jt]=O[jt]*D[jt],Dt[jt]=L[jt]*D[jt],Ft[jt]=R[jt],It[jt]=Math.sin(P[jt]),Nt[jt]=Math.cos(P[jt]),Bt[jt]=L[jt]*It[jt]-O[jt]*Nt[jt],kt[jt]=(1-R[jt])*(Bt[jt]*L[jt])+R[jt]*It[jt],Ut[jt]=(1-R[jt])*(-Bt[jt]*O[jt])+R[jt]*Nt[jt],zt[jt]=-(Dt[jt]*Nt[jt]+Lt[jt]*It[jt]),Yt[jt]=Math.sin(i),Xt[jt]=Math.cos(i),F[jt]=Xt[jt]*Lt[jt]+Yt[jt]*kt[jt],I[jt]=Xt[jt]*Dt[jt]+Yt[jt]*Ut[jt],N[jt]=Xt[jt]*Ft[jt]+Yt[jt]*zt[jt];else for(jt=0;jt<4;jt++)F[jt]=O[jt]*D[jt],I[jt]=L[jt]*D[jt],N[jt]=R[jt];for(jt=0;jt<4;jt++){var Te=0===jt?T[0]:1===jt?w[0]:2===jt?S[0]:b[0],we=0===jt?T[1]:1===jt?w[1]:2===jt?S[1]:b[1],Se=0===jt?T[2]:1===jt?w[2]:2===jt?S[2]:b[2],be=Te*Te+we*we+Se*Se;Wt[jt]=.5-be,Wt[jt]<0&&(Wt[jt]=0),Vt[jt]=Wt[jt]*Wt[jt],Gt[jt]=Vt[jt]*Wt[jt]}for(jt=0;jt<4;jt++){var Ce=F[jt],Ee=I[jt],Ae=N[jt],_e=0===jt?T[0]:1===jt?w[0]:2===jt?S[0]:b[0],Me=0===jt?T[1]:1===jt?w[1]:2===jt?S[1]:b[1],Re=0===jt?T[2]:1===jt?w[2]:2===jt?S[2]:b[2];Ht[jt]=Ce*_e+Ee*Me+Ae*Re}var Pe=0;for(jt=0;jt<4;jt++)Pe+=Gt[jt]*Ht[jt];return 39.5*Pe};t.exports=function(t,r){"number"==typeof t&&(t=[t]),r||(r={});for(var h=Math.min(3,t.length);h<2;)t.push(0),h++;var l=r.noiseIterations||1,u=r.noiseWarpIterations||1,d=r.noiseDetailPower||2,c=r.noiseFlowPower||2,f=r.noiseContributionPower||2,p=r.noiseWarpDetailPower||2,g=r.noiseWarpFlowPower||2,m=r.noiseWarpContributionPower||2,v=r.noiseCells||[32,32,32],y=r.noiseOffset||[0,0,0],x=r.noiseWarpAmount||0;if(r.noiseSeed)for(var T=[1,2,3],w=0;w0&&u>0&&h>=2)if(2===h){var S=o(u,2,e,r,p,g,m);i[0]=e[0]+s[0],i[1]=e[1]+s[1];var b=o(u,2,i,r,p,g,m);e[0]+=S*x,e[1]+=b*x}else if(3===h){var C=o(u,3,e,r,p,g,m);i[0]=e[0]+s[0],i[1]=e[1]+s[1],i[2]=e[2]+s[2];var E=o(u,3,i,r,p,g,m);i[0]=e[0]+n[0],i[1]=e[1]+n[1],i[2]=e[2]+n[2];var A=o(u,3,i,r,p,g,m);e[0]+=C*x,e[1]+=E*x,e[2]+=A*x}return o(l,h,e,r,d,c,f)}},78702(t){t.exports=function(t){return t==parseFloat(t)?!(t%2):void 0}},94883(t){t.exports=function(t){return t===parseFloat(t)?!(t%2):void 0}},28915(t){t.exports=function(t,e,i){return(e-t)*i+t}},94908(t){t.exports=function(t,e,i){return void 0===i&&(i=0),t.clone().lerp(e,i)}},94434(t,e,i){var r=new(i(83419))({initialize:function(t){this.val=new Float32Array(9),t?this.copy(t):this.identity()},clone:function(){return new r(this)},set:function(t){return this.copy(t)},copy:function(t){var e=this.val,i=t.val;return e[0]=i[0],e[1]=i[1],e[2]=i[2],e[3]=i[3],e[4]=i[4],e[5]=i[5],e[6]=i[6],e[7]=i[7],e[8]=i[8],this},fromMat4:function(t){var e=t.val,i=this.val;return i[0]=e[0],i[1]=e[1],i[2]=e[2],i[3]=e[4],i[4]=e[5],i[5]=e[6],i[6]=e[8],i[7]=e[9],i[8]=e[10],this},fromArray:function(t){var e=this.val;return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],this},identity:function(){var t=this.val;return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,this},transpose:function(){var t=this.val,e=t[1],i=t[2],r=t[5];return t[1]=t[3],t[2]=t[6],t[3]=e,t[5]=t[7],t[6]=i,t[7]=r,this},invert:function(){var t=this.val,e=t[0],i=t[1],r=t[2],s=t[3],n=t[4],a=t[5],o=t[6],h=t[7],l=t[8],u=l*n-a*h,d=-l*s+a*o,c=h*s-n*o,f=e*u+i*d+r*c;return f?(f=1/f,t[0]=u*f,t[1]=(-l*i+r*h)*f,t[2]=(a*i-r*n)*f,t[3]=d*f,t[4]=(l*e-r*o)*f,t[5]=(-a*e+r*s)*f,t[6]=c*f,t[7]=(-h*e+i*o)*f,t[8]=(n*e-i*s)*f,this):null},adjoint:function(){var t=this.val,e=t[0],i=t[1],r=t[2],s=t[3],n=t[4],a=t[5],o=t[6],h=t[7],l=t[8];return t[0]=n*l-a*h,t[1]=r*h-i*l,t[2]=i*a-r*n,t[3]=a*o-s*l,t[4]=e*l-r*o,t[5]=r*s-e*a,t[6]=s*h-n*o,t[7]=i*o-e*h,t[8]=e*n-i*s,this},determinant:function(){var t=this.val,e=t[0],i=t[1],r=t[2],s=t[3],n=t[4],a=t[5],o=t[6],h=t[7],l=t[8];return e*(l*n-a*h)+i*(-l*s+a*o)+r*(h*s-n*o)},multiply:function(t){var e=this.val,i=e[0],r=e[1],s=e[2],n=e[3],a=e[4],o=e[5],h=e[6],l=e[7],u=e[8],d=t.val,c=d[0],f=d[1],p=d[2],g=d[3],m=d[4],v=d[5],y=d[6],x=d[7],T=d[8];return e[0]=c*i+f*n+p*h,e[1]=c*r+f*a+p*l,e[2]=c*s+f*o+p*u,e[3]=g*i+m*n+v*h,e[4]=g*r+m*a+v*l,e[5]=g*s+m*o+v*u,e[6]=y*i+x*n+T*h,e[7]=y*r+x*a+T*l,e[8]=y*s+x*o+T*u,this},translate:function(t){var e=this.val,i=t.x,r=t.y;return e[6]=i*e[0]+r*e[3]+e[6],e[7]=i*e[1]+r*e[4]+e[7],e[8]=i*e[2]+r*e[5]+e[8],this},rotate:function(t){var e=this.val,i=e[0],r=e[1],s=e[2],n=e[3],a=e[4],o=e[5],h=Math.sin(t),l=Math.cos(t);return e[0]=l*i+h*n,e[1]=l*r+h*a,e[2]=l*s+h*o,e[3]=l*n-h*i,e[4]=l*a-h*r,e[5]=l*o-h*s,this},scale:function(t){var e=this.val,i=t.x,r=t.y;return e[0]=i*e[0],e[1]=i*e[1],e[2]=i*e[2],e[3]=r*e[3],e[4]=r*e[4],e[5]=r*e[5],this},fromQuat:function(t){var e=t.x,i=t.y,r=t.z,s=t.w,n=e+e,a=i+i,o=r+r,h=e*n,l=e*a,u=e*o,d=i*a,c=i*o,f=r*o,p=s*n,g=s*a,m=s*o,v=this.val;return v[0]=1-(d+f),v[3]=l+m,v[6]=u-g,v[1]=l-m,v[4]=1-(h+f),v[7]=c+p,v[2]=u+g,v[5]=c-p,v[8]=1-(h+d),this},normalFromMat4:function(t){var e=t.val,i=this.val,r=e[0],s=e[1],n=e[2],a=e[3],o=e[4],h=e[5],l=e[6],u=e[7],d=e[8],c=e[9],f=e[10],p=e[11],g=e[12],m=e[13],v=e[14],y=e[15],x=r*h-s*o,T=r*l-n*o,w=r*u-a*o,S=s*l-n*h,b=s*u-a*h,C=n*u-a*l,E=d*m-c*g,A=d*v-f*g,_=d*y-p*g,M=c*v-f*m,R=c*y-p*m,P=f*y-p*v,O=x*P-T*R+w*M+S*_-b*A+C*E;return O?(O=1/O,i[0]=(h*P-l*R+u*M)*O,i[1]=(l*_-o*P-u*A)*O,i[2]=(o*R-h*_+u*E)*O,i[3]=(n*R-s*P-a*M)*O,i[4]=(r*P-n*_+a*A)*O,i[5]=(s*_-r*R-a*E)*O,i[6]=(m*C-v*b+y*S)*O,i[7]=(v*w-g*C-y*T)*O,i[8]=(g*b-m*w+y*x)*O,this):null}});t.exports=r},37867(t,e,i){var r=i(83419),s=i(25836),n=1e-6,a=new r({initialize:function(t){this.val=new Float32Array(16),t?this.copy(t):this.identity()},clone:function(){return new a(this)},set:function(t){return this.copy(t)},setValues:function(t,e,i,r,s,n,a,o,h,l,u,d,c,f,p,g){var m=this.val;return m[0]=t,m[1]=e,m[2]=i,m[3]=r,m[4]=s,m[5]=n,m[6]=a,m[7]=o,m[8]=h,m[9]=l,m[10]=u,m[11]=d,m[12]=c,m[13]=f,m[14]=p,m[15]=g,this},copy:function(t){var e=t.val;return this.setValues(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},fromArray:function(t){return this.setValues(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])},zero:function(){return this.setValues(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)},transform:function(t,e,i){var r=o.fromQuat(i).val,s=e.x,n=e.y,a=e.z;return this.setValues(r[0]*s,r[1]*s,r[2]*s,0,r[4]*n,r[5]*n,r[6]*n,0,r[8]*a,r[9]*a,r[10]*a,0,t.x,t.y,t.z,1)},xyz:function(t,e,i){this.identity();var r=this.val;return r[12]=t,r[13]=e,r[14]=i,this},scaling:function(t,e,i){this.zero();var r=this.val;return r[0]=t,r[5]=e,r[10]=i,r[15]=1,this},identity:function(){return this.setValues(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)},transpose:function(){var t=this.val,e=t[1],i=t[2],r=t[3],s=t[6],n=t[7],a=t[11];return t[1]=t[4],t[2]=t[8],t[3]=t[12],t[4]=e,t[6]=t[9],t[7]=t[13],t[8]=i,t[9]=s,t[11]=t[14],t[12]=r,t[13]=n,t[14]=a,this},getInverse:function(t){return this.copy(t),this.invert()},invert:function(){var t=this.val,e=t[0],i=t[1],r=t[2],s=t[3],n=t[4],a=t[5],o=t[6],h=t[7],l=t[8],u=t[9],d=t[10],c=t[11],f=t[12],p=t[13],g=t[14],m=t[15],v=e*a-i*n,y=e*o-r*n,x=e*h-s*n,T=i*o-r*a,w=i*h-s*a,S=r*h-s*o,b=l*p-u*f,C=l*g-d*f,E=l*m-c*f,A=u*g-d*p,_=u*m-c*p,M=d*m-c*g,R=v*M-y*_+x*A+T*E-w*C+S*b;return R?(R=1/R,this.setValues((a*M-o*_+h*A)*R,(r*_-i*M-s*A)*R,(p*S-g*w+m*T)*R,(d*w-u*S-c*T)*R,(o*E-n*M-h*C)*R,(e*M-r*E+s*C)*R,(g*x-f*S-m*y)*R,(l*S-d*x+c*y)*R,(n*_-a*E+h*b)*R,(i*E-e*_-s*b)*R,(f*w-p*x+m*v)*R,(u*x-l*w-c*v)*R,(a*C-n*A-o*b)*R,(e*A-i*C+r*b)*R,(p*y-f*T-g*v)*R,(l*T-u*y+d*v)*R)):this},adjoint:function(){var t=this.val,e=t[0],i=t[1],r=t[2],s=t[3],n=t[4],a=t[5],o=t[6],h=t[7],l=t[8],u=t[9],d=t[10],c=t[11],f=t[12],p=t[13],g=t[14],m=t[15];return this.setValues(a*(d*m-c*g)-u*(o*m-h*g)+p*(o*c-h*d),-(i*(d*m-c*g)-u*(r*m-s*g)+p*(r*c-s*d)),i*(o*m-h*g)-a*(r*m-s*g)+p*(r*h-s*o),-(i*(o*c-h*d)-a*(r*c-s*d)+u*(r*h-s*o)),-(n*(d*m-c*g)-l*(o*m-h*g)+f*(o*c-h*d)),e*(d*m-c*g)-l*(r*m-s*g)+f*(r*c-s*d),-(e*(o*m-h*g)-n*(r*m-s*g)+f*(r*h-s*o)),e*(o*c-h*d)-n*(r*c-s*d)+l*(r*h-s*o),n*(u*m-c*p)-l*(a*m-h*p)+f*(a*c-h*u),-(e*(u*m-c*p)-l*(i*m-s*p)+f*(i*c-s*u)),e*(a*m-h*p)-n*(i*m-s*p)+f*(i*h-s*a),-(e*(a*c-h*u)-n*(i*c-s*u)+l*(i*h-s*a)),-(n*(u*g-d*p)-l*(a*g-o*p)+f*(a*d-o*u)),e*(u*g-d*p)-l*(i*g-r*p)+f*(i*d-r*u),-(e*(a*g-o*p)-n*(i*g-r*p)+f*(i*o-r*a)),e*(a*d-o*u)-n*(i*d-r*u)+l*(i*o-r*a))},determinant:function(){var t=this.val,e=t[0],i=t[1],r=t[2],s=t[3],n=t[4],a=t[5],o=t[6],h=t[7],l=t[8],u=t[9],d=t[10],c=t[11],f=t[12],p=t[13],g=t[14],m=t[15];return(e*a-i*n)*(d*m-c*g)-(e*o-r*n)*(u*m-c*p)+(e*h-s*n)*(u*g-d*p)+(i*o-r*a)*(l*m-c*f)-(i*h-s*a)*(l*g-d*f)+(r*h-s*o)*(l*p-u*f)},multiply:function(t){var e=this.val,i=e[0],r=e[1],s=e[2],n=e[3],a=e[4],o=e[5],h=e[6],l=e[7],u=e[8],d=e[9],c=e[10],f=e[11],p=e[12],g=e[13],m=e[14],v=e[15],y=t.val,x=y[0],T=y[1],w=y[2],S=y[3];return e[0]=x*i+T*a+w*u+S*p,e[1]=x*r+T*o+w*d+S*g,e[2]=x*s+T*h+w*c+S*m,e[3]=x*n+T*l+w*f+S*v,x=y[4],T=y[5],w=y[6],S=y[7],e[4]=x*i+T*a+w*u+S*p,e[5]=x*r+T*o+w*d+S*g,e[6]=x*s+T*h+w*c+S*m,e[7]=x*n+T*l+w*f+S*v,x=y[8],T=y[9],w=y[10],S=y[11],e[8]=x*i+T*a+w*u+S*p,e[9]=x*r+T*o+w*d+S*g,e[10]=x*s+T*h+w*c+S*m,e[11]=x*n+T*l+w*f+S*v,x=y[12],T=y[13],w=y[14],S=y[15],e[12]=x*i+T*a+w*u+S*p,e[13]=x*r+T*o+w*d+S*g,e[14]=x*s+T*h+w*c+S*m,e[15]=x*n+T*l+w*f+S*v,this},multiplyLocal:function(t){var e=this.val,i=t.val;return this.setValues(e[0]*i[0]+e[1]*i[4]+e[2]*i[8]+e[3]*i[12],e[0]*i[1]+e[1]*i[5]+e[2]*i[9]+e[3]*i[13],e[0]*i[2]+e[1]*i[6]+e[2]*i[10]+e[3]*i[14],e[0]*i[3]+e[1]*i[7]+e[2]*i[11]+e[3]*i[15],e[4]*i[0]+e[5]*i[4]+e[6]*i[8]+e[7]*i[12],e[4]*i[1]+e[5]*i[5]+e[6]*i[9]+e[7]*i[13],e[4]*i[2]+e[5]*i[6]+e[6]*i[10]+e[7]*i[14],e[4]*i[3]+e[5]*i[7]+e[6]*i[11]+e[7]*i[15],e[8]*i[0]+e[9]*i[4]+e[10]*i[8]+e[11]*i[12],e[8]*i[1]+e[9]*i[5]+e[10]*i[9]+e[11]*i[13],e[8]*i[2]+e[9]*i[6]+e[10]*i[10]+e[11]*i[14],e[8]*i[3]+e[9]*i[7]+e[10]*i[11]+e[11]*i[15],e[12]*i[0]+e[13]*i[4]+e[14]*i[8]+e[15]*i[12],e[12]*i[1]+e[13]*i[5]+e[14]*i[9]+e[15]*i[13],e[12]*i[2]+e[13]*i[6]+e[14]*i[10]+e[15]*i[14],e[12]*i[3]+e[13]*i[7]+e[14]*i[11]+e[15]*i[15])},premultiply:function(t){return this.multiplyMatrices(t,this)},multiplyMatrices:function(t,e){var i=t.val,r=e.val,s=i[0],n=i[4],a=i[8],o=i[12],h=i[1],l=i[5],u=i[9],d=i[13],c=i[2],f=i[6],p=i[10],g=i[14],m=i[3],v=i[7],y=i[11],x=i[15],T=r[0],w=r[4],S=r[8],b=r[12],C=r[1],E=r[5],A=r[9],_=r[13],M=r[2],R=r[6],P=r[10],O=r[14],L=r[3],D=r[7],F=r[11],I=r[15];return this.setValues(s*T+n*C+a*M+o*L,h*T+l*C+u*M+d*L,c*T+f*C+p*M+g*L,m*T+v*C+y*M+x*L,s*w+n*E+a*R+o*D,h*w+l*E+u*R+d*D,c*w+f*E+p*R+g*D,m*w+v*E+y*R+x*D,s*S+n*A+a*P+o*F,h*S+l*A+u*P+d*F,c*S+f*A+p*P+g*F,m*S+v*A+y*P+x*F,s*b+n*_+a*O+o*I,h*b+l*_+u*O+d*I,c*b+f*_+p*O+g*I,m*b+v*_+y*O+x*I)},translate:function(t){return this.translateXYZ(t.x,t.y,t.z)},translateXYZ:function(t,e,i){var r=this.val;return r[12]=r[0]*t+r[4]*e+r[8]*i+r[12],r[13]=r[1]*t+r[5]*e+r[9]*i+r[13],r[14]=r[2]*t+r[6]*e+r[10]*i+r[14],r[15]=r[3]*t+r[7]*e+r[11]*i+r[15],this},scale:function(t){return this.scaleXYZ(t.x,t.y,t.z)},scaleXYZ:function(t,e,i){var r=this.val;return r[0]=r[0]*t,r[1]=r[1]*t,r[2]=r[2]*t,r[3]=r[3]*t,r[4]=r[4]*e,r[5]=r[5]*e,r[6]=r[6]*e,r[7]=r[7]*e,r[8]=r[8]*i,r[9]=r[9]*i,r[10]=r[10]*i,r[11]=r[11]*i,this},makeRotationAxis:function(t,e){var i=Math.cos(e),r=Math.sin(e),s=1-i,n=t.x,a=t.y,o=t.z,h=s*n,l=s*a;return this.setValues(h*n+i,h*a-r*o,h*o+r*a,0,h*a+r*o,l*a+i,l*o-r*n,0,h*o-r*a,l*o+r*n,s*o*o+i,0,0,0,0,1)},rotate:function(t,e){var i=this.val,r=e.x,s=e.y,a=e.z,o=Math.sqrt(r*r+s*s+a*a);if(Math.abs(o)1?void 0!==r?(s=(r-t)/(r-i))<0&&(s=0):s=1:s<0&&(s=0),s}},15746(t,e,i){var r=i(83419),s=i(94434),n=i(29747),a=i(25836),o=1e-6,h=new Int8Array([1,2,0]),l=new Float32Array([0,0,0]),u=new a(1,0,0),d=new a(0,1,0),c=new a,f=new s,p=new r({initialize:function(t,e,i,r){this.onChangeCallback=n,this.set(t,e,i,r)},x:{get:function(){return this._x},set:function(t){this._x=t,this.onChangeCallback(this)}},y:{get:function(){return this._y},set:function(t){this._y=t,this.onChangeCallback(this)}},z:{get:function(){return this._z},set:function(t){this._z=t,this.onChangeCallback(this)}},w:{get:function(){return this._w},set:function(t){this._w=t,this.onChangeCallback(this)}},copy:function(t){return this.set(t)},set:function(t,e,i,r,s){return void 0===s&&(s=!0),"object"==typeof t?(this._x=t.x||0,this._y=t.y||0,this._z=t.z||0,this._w=t.w||0):(this._x=t||0,this._y=e||0,this._z=i||0,this._w=r||0),s&&this.onChangeCallback(this),this},add:function(t){return this._x+=t.x,this._y+=t.y,this._z+=t.z,this._w+=t.w,this.onChangeCallback(this),this},subtract:function(t){return this._x-=t.x,this._y-=t.y,this._z-=t.z,this._w-=t.w,this.onChangeCallback(this),this},scale:function(t){return this._x*=t,this._y*=t,this._z*=t,this._w*=t,this.onChangeCallback(this),this},length:function(){var t=this.x,e=this.y,i=this.z,r=this.w;return Math.sqrt(t*t+e*e+i*i+r*r)},lengthSq:function(){var t=this.x,e=this.y,i=this.z,r=this.w;return t*t+e*e+i*i+r*r},normalize:function(){var t=this.x,e=this.y,i=this.z,r=this.w,s=t*t+e*e+i*i+r*r;return s>0&&(s=1/Math.sqrt(s),this._x=t*s,this._y=e*s,this._z=i*s,this._w=r*s),this.onChangeCallback(this),this},dot:function(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w},lerp:function(t,e){void 0===e&&(e=0);var i=this.x,r=this.y,s=this.z,n=this.w;return this.set(i+e*(t.x-i),r+e*(t.y-r),s+e*(t.z-s),n+e*(t.w-n))},rotationTo:function(t,e){var i=t.x*e.x+t.y*e.y+t.z*e.z;return i<-.999999?(c.copy(u).cross(t).length().999999?this.set(0,0,0,1):(c.copy(t).cross(e),this._x=c.x,this._y=c.y,this._z=c.z,this._w=1+i,this.normalize())},setAxes:function(t,e,i){var r=f.val;return r[0]=e.x,r[3]=e.y,r[6]=e.z,r[1]=i.x,r[4]=i.y,r[7]=i.z,r[2]=-t.x,r[5]=-t.y,r[8]=-t.z,this.fromMat3(f).normalize()},identity:function(){return this.set(0,0,0,1)},setAxisAngle:function(t,e){e*=.5;var i=Math.sin(e);return this.set(i*t.x,i*t.y,i*t.z,Math.cos(e))},multiply:function(t){var e=this.x,i=this.y,r=this.z,s=this.w,n=t.x,a=t.y,o=t.z,h=t.w;return this.set(e*h+s*n+i*o-r*a,i*h+s*a+r*n-e*o,r*h+s*o+e*a-i*n,s*h-e*n-i*a-r*o)},slerp:function(t,e){var i=this.x,r=this.y,s=this.z,n=this.w,a=t.x,h=t.y,l=t.z,u=t.w,d=i*a+r*h+s*l+n*u;d<0&&(d=-d,a=-a,h=-h,l=-l,u=-u);var c=1-e,f=e;if(1-d>o){var p=Math.acos(d),g=Math.sin(p);c=Math.sin((1-e)*p)/g,f=Math.sin(e*p)/g}return this.set(c*i+f*a,c*r+f*h,c*s+f*l,c*n+f*u)},invert:function(){var t=this.x,e=this.y,i=this.z,r=this.w,s=t*t+e*e+i*i+r*r,n=s?1/s:0;return this.set(-t*n,-e*n,-i*n,r*n)},conjugate:function(){return this._x=-this.x,this._y=-this.y,this._z=-this.z,this.onChangeCallback(this),this},rotateX:function(t){t*=.5;var e=this.x,i=this.y,r=this.z,s=this.w,n=Math.sin(t),a=Math.cos(t);return this.set(e*a+s*n,i*a+r*n,r*a-i*n,s*a-e*n)},rotateY:function(t){t*=.5;var e=this.x,i=this.y,r=this.z,s=this.w,n=Math.sin(t),a=Math.cos(t);return this.set(e*a-r*n,i*a+s*n,r*a+e*n,s*a-i*n)},rotateZ:function(t){t*=.5;var e=this.x,i=this.y,r=this.z,s=this.w,n=Math.sin(t),a=Math.cos(t);return this.set(e*a+i*n,i*a-e*n,r*a+s*n,s*a-r*n)},calculateW:function(){var t=this.x,e=this.y,i=this.z;return this.w=-Math.sqrt(1-t*t-e*e-i*i),this},setFromEuler:function(t,e){var i=t.x/2,r=t.y/2,s=t.z/2,n=Math.cos(i),a=Math.cos(r),o=Math.cos(s),h=Math.sin(i),l=Math.sin(r),u=Math.sin(s);switch(t.order){case"XYZ":this.set(h*a*o+n*l*u,n*l*o-h*a*u,n*a*u+h*l*o,n*a*o-h*l*u,e);break;case"YXZ":this.set(h*a*o+n*l*u,n*l*o-h*a*u,n*a*u-h*l*o,n*a*o+h*l*u,e);break;case"ZXY":this.set(h*a*o-n*l*u,n*l*o+h*a*u,n*a*u+h*l*o,n*a*o-h*l*u,e);break;case"ZYX":this.set(h*a*o-n*l*u,n*l*o+h*a*u,n*a*u-h*l*o,n*a*o+h*l*u,e);break;case"YZX":this.set(h*a*o+n*l*u,n*l*o+h*a*u,n*a*u-h*l*o,n*a*o-h*l*u,e);break;case"XZY":this.set(h*a*o-n*l*u,n*l*o-h*a*u,n*a*u+h*l*o,n*a*o+h*l*u,e)}return this},setFromRotationMatrix:function(t){var e,i=t.val,r=i[0],s=i[4],n=i[8],a=i[1],o=i[5],h=i[9],l=i[2],u=i[6],d=i[10],c=r+o+d;return c>0?(e=.5/Math.sqrt(c+1),this.set((u-h)*e,(n-l)*e,(a-s)*e,.25/e)):r>o&&r>d?(e=2*Math.sqrt(1+r-o-d),this.set(.25*e,(s+a)/e,(n+l)/e,(u-h)/e)):o>d?(e=2*Math.sqrt(1+o-r-d),this.set((s+a)/e,.25*e,(h+u)/e,(n-l)/e)):(e=2*Math.sqrt(1+d-r-o),this.set((n+l)/e,(h+u)/e,.25*e,(a-s)/e)),this},fromMat3:function(t){var e,i=t.val,r=i[0]+i[4]+i[8];if(r>0)e=Math.sqrt(r+1),this.w=.5*e,e=.5/e,this._x=(i[7]-i[5])*e,this._y=(i[2]-i[6])*e,this._z=(i[3]-i[1])*e;else{var s=0;i[4]>i[0]&&(s=1),i[8]>i[3*s+s]&&(s=2);var n=h[s],a=h[n];e=Math.sqrt(i[3*s+s]-i[3*n+n]-i[3*a+a]+1),l[s]=.5*e,e=.5/e,l[n]=(i[3*n+s]+i[3*s+n])*e,l[a]=(i[3*a+s]+i[3*s+a])*e,this._x=l[0],this._y=l[1],this._z=l[2],this._w=(i[3*a+n]-i[3*n+a])*e}return this.onChangeCallback(this),this}});t.exports=p},43396(t,e,i){var r=i(36383);t.exports=function(t){return t*r.RAD_TO_DEG}},74362(t){t.exports=function(t,e){void 0===e&&(e=1);var i=2*Math.random()*Math.PI;return t.x=Math.cos(i)*e,t.y=Math.sin(i)*e,t}},60706(t){t.exports=function(t,e){void 0===e&&(e=1);var i=2*Math.random()*Math.PI,r=2*Math.random()-1,s=Math.sqrt(1-r*r)*e;return t.x=Math.cos(i)*s,t.y=Math.sin(i)*s,t.z=r*e,t}},67421(t){t.exports=function(t,e){return void 0===e&&(e=1),t.x=(2*Math.random()-1)*e,t.y=(2*Math.random()-1)*e,t.z=(2*Math.random()-1)*e,t.w=(2*Math.random()-1)*e,t}},36305(t){t.exports=function(t,e){var i=t.x,r=t.y;return t.x=i*Math.cos(e)-r*Math.sin(e),t.y=i*Math.sin(e)+r*Math.cos(e),t}},11520(t){t.exports=function(t,e,i,r){var s=Math.cos(r),n=Math.sin(r),a=t.x-e,o=t.y-i;return t.x=a*s-o*n+e,t.y=a*n+o*s+i,t}},1163(t){t.exports=function(t,e,i,r,s){var n=r+Math.atan2(t.y-i,t.x-e);return t.x=e+s*Math.cos(n),t.y=i+s*Math.sin(n),t}},70336(t){t.exports=function(t,e,i,r,s){return t.x=e+s*Math.cos(r),t.y=i+s*Math.sin(r),t}},72678(t,e,i){var r=i(25836),s=i(37867),n=i(15746),a=new s,o=new n,h=new r;t.exports=function(t,e,i){return o.setAxisAngle(e,i),a.fromRotationTranslation(o,h.set(0,0,0)),t.transformMat4(a)}},2284(t){t.exports=function(t){return t>0?Math.ceil(t):Math.floor(t)}},41013(t){t.exports=function(t,e,i){void 0===e&&(e=0),void 0===i&&(i=10);var r=Math.pow(i,-e);return Math.round(t*r)/r}},7602(t){t.exports=function(t,e,i){return t<=e?0:t>=i?1:(t=(t-e)/(i-e))*t*(3-2*t)}},54261(t){t.exports=function(t,e,i){return(t=Math.max(0,Math.min(1,(t-e)/(i-e))))*t*t*(t*(6*t-15)+10)}},44408(t,e,i){var r=i(26099);t.exports=function(t,e,i,s){void 0===s&&(s=new r);var n=0,a=0;return t>0&&t<=e*i&&(n=t>e-1?t-(a=Math.floor(t/e))*e:t),s.set(n,a)}},85955(t,e,i){var r=i(26099);t.exports=function(t,e,i,s,n,a,o,h){void 0===h&&(h=new r);var l=Math.sin(n),u=Math.cos(n),d=u*a,c=l*a,f=-l*o,p=u*o,g=1/(d*p+f*-c);return h.x=p*g*t+-f*g*e+(s*f-i*p)*g,h.y=d*g*e+-c*g*t+(-s*d+i*c)*g,h}},26099(t,e,i){var r=i(83419),s=i(43855),n=new r({initialize:function(t,e){this.x=0,this.y=0,"object"==typeof t?(this.x=t.x||0,this.y=t.y||0):(void 0===e&&(e=t),this.x=t||0,this.y=e||0)},clone:function(){return new n(this.x,this.y)},copy:function(t){return this.x=t.x||0,this.y=t.y||0,this},setFromObject:function(t){return this.x=t.x||0,this.y=t.y||0,this},set:function(t,e){return void 0===e&&(e=t),this.x=t,this.y=e,this},setTo:function(t,e){return this.set(t,e)},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},invert:function(){return this.set(this.y,this.x)},setToPolar:function(t,e){return null==e&&(e=1),this.x=Math.cos(t)*e,this.y=Math.sin(t)*e,this},equals:function(t){return this.x===t.x&&this.y===t.y},fuzzyEquals:function(t,e){return s(this.x,t.x,e)&&s(this.y,t.y,e)},angle:function(){var t=Math.atan2(this.y,this.x);return t<0&&(t+=2*Math.PI),t},setAngle:function(t){return this.setToPolar(t,this.length())},add:function(t){return this.x+=t.x,this.y+=t.y,this},subtract:function(t){return this.x-=t.x,this.y-=t.y,this},multiply:function(t){return this.x*=t.x,this.y*=t.y,this},scale:function(t){return isFinite(t)?(this.x*=t,this.y*=t):(this.x=0,this.y=0),this},divide:function(t){return this.x/=t.x,this.y/=t.y,this},negate:function(){return this.x=-this.x,this.y=-this.y,this},distance:function(t){var e=t.x-this.x,i=t.y-this.y;return Math.sqrt(e*e+i*i)},distanceSq:function(t){var e=t.x-this.x,i=t.y-this.y;return e*e+i*i},length:function(){var t=this.x,e=this.y;return Math.sqrt(t*t+e*e)},setLength:function(t){return this.normalize().scale(t)},lengthSq:function(){var t=this.x,e=this.y;return t*t+e*e},normalize:function(){var t=this.x,e=this.y,i=t*t+e*e;return i>0&&(i=1/Math.sqrt(i),this.x=t*i,this.y=e*i),this},normalizeRightHand:function(){var t=this.x;return this.x=-1*this.y,this.y=t,this},normalizeLeftHand:function(){var t=this.x;return this.x=this.y,this.y=-1*t,this},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.x},lerp:function(t,e){void 0===e&&(e=0);var i=this.x,r=this.y;return this.x=i+e*(t.x-i),this.y=r+e*(t.y-r),this},transformMat3:function(t){var e=this.x,i=this.y,r=t.val;return this.x=r[0]*e+r[3]*i+r[6],this.y=r[1]*e+r[4]*i+r[7],this},transformMat4:function(t){var e=this.x,i=this.y,r=t.val;return this.x=r[0]*e+r[4]*i+r[12],this.y=r[1]*e+r[5]*i+r[13],this},reset:function(){return this.x=0,this.y=0,this},limit:function(t){var e=this.length();return e&&e>t&&this.scale(t/e),this},reflect:function(t){return t=t.clone().normalize(),this.subtract(t.scale(2*this.dot(t)))},mirror:function(t){return this.reflect(t).negate()},rotate:function(t){var e=Math.cos(t),i=Math.sin(t);return this.set(e*this.x-i*this.y,i*this.x+e*this.y)},project:function(t){var e=this.dot(t)/t.dot(t);return this.copy(t).scale(e)},projectUnit:function(t,e){void 0===e&&(e=new n);var i=this.x*t.x+this.y*t.y;return 0!==i&&(e.x=i*t.x,e.y=i*t.y),e}});n.ZERO=new n,n.RIGHT=new n(1,0),n.LEFT=new n(-1,0),n.UP=new n(0,-1),n.DOWN=new n(0,1),n.ONE=new n(1,1),t.exports=n},25836(t,e,i){var r=new(i(83419))({initialize:function(t,e,i){this.x=0,this.y=0,this.z=0,"object"==typeof t?(this.x=t.x||0,this.y=t.y||0,this.z=t.z||0):(this.x=t||0,this.y=e||0,this.z=i||0)},up:function(){return this.x=0,this.y=1,this.z=0,this},min:function(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this},max:function(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this},clone:function(){return new r(this.x,this.y,this.z)},addVectors:function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this},subVectors:function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this},crossVectors:function(t,e){var i=t.x,r=t.y,s=t.z,n=e.x,a=e.y,o=e.z;return this.x=r*o-s*a,this.y=s*n-i*o,this.z=i*a-r*n,this},equals:function(t){return this.x===t.x&&this.y===t.y&&this.z===t.z},copy:function(t){return this.x=t.x,this.y=t.y,this.z=t.z||0,this},set:function(t,e,i){return"object"==typeof t?(this.x=t.x||0,this.y=t.y||0,this.z=t.z||0):(this.x=t||0,this.y=e||0,this.z=i||0),this},setFromMatrixPosition:function(t){return this.fromArray(t.val,12)},setFromMatrixColumn:function(t,e){return this.fromArray(t.val,4*e)},fromArray:function(t,e){return void 0===e&&(e=0),this.x=t[e],this.y=t[e+1],this.z=t[e+2],this},add:function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z||0,this},addScalar:function(t){return this.x+=t,this.y+=t,this.z+=t,this},addScale:function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e||0,this},subtract:function(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z||0,this},multiply:function(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z||1,this},scale:function(t){return isFinite(t)?(this.x*=t,this.y*=t,this.z*=t):(this.x=0,this.y=0,this.z=0),this},divide:function(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z||1,this},negate:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},distance:function(t){var e=t.x-this.x,i=t.y-this.y,r=t.z-this.z||0;return Math.sqrt(e*e+i*i+r*r)},distanceSq:function(t){var e=t.x-this.x,i=t.y-this.y,r=t.z-this.z||0;return e*e+i*i+r*r},length:function(){var t=this.x,e=this.y,i=this.z;return Math.sqrt(t*t+e*e+i*i)},lengthSq:function(){var t=this.x,e=this.y,i=this.z;return t*t+e*e+i*i},normalize:function(){var t=this.x,e=this.y,i=this.z,r=t*t+e*e+i*i;return r>0&&(r=1/Math.sqrt(r),this.x=t*r,this.y=e*r,this.z=i*r),this},dot:function(t){return this.x*t.x+this.y*t.y+this.z*t.z},cross:function(t){var e=this.x,i=this.y,r=this.z,s=t.x,n=t.y,a=t.z;return this.x=i*a-r*n,this.y=r*s-e*a,this.z=e*n-i*s,this},lerp:function(t,e){void 0===e&&(e=0);var i=this.x,r=this.y,s=this.z;return this.x=i+e*(t.x-i),this.y=r+e*(t.y-r),this.z=s+e*(t.z-s),this},applyMatrix3:function(t){var e=this.x,i=this.y,r=this.z,s=t.val;return this.x=s[0]*e+s[3]*i+s[6]*r,this.y=s[1]*e+s[4]*i+s[7]*r,this.z=s[2]*e+s[5]*i+s[8]*r,this},applyMatrix4:function(t){var e=this.x,i=this.y,r=this.z,s=t.val,n=1/(s[3]*e+s[7]*i+s[11]*r+s[15]);return this.x=(s[0]*e+s[4]*i+s[8]*r+s[12])*n,this.y=(s[1]*e+s[5]*i+s[9]*r+s[13])*n,this.z=(s[2]*e+s[6]*i+s[10]*r+s[14])*n,this},transformMat3:function(t){var e=this.x,i=this.y,r=this.z,s=t.val;return this.x=e*s[0]+i*s[3]+r*s[6],this.y=e*s[1]+i*s[4]+r*s[7],this.z=e*s[2]+i*s[5]+r*s[8],this},transformMat4:function(t){var e=this.x,i=this.y,r=this.z,s=t.val;return this.x=s[0]*e+s[4]*i+s[8]*r+s[12],this.y=s[1]*e+s[5]*i+s[9]*r+s[13],this.z=s[2]*e+s[6]*i+s[10]*r+s[14],this},transformCoordinates:function(t){var e=this.x,i=this.y,r=this.z,s=t.val,n=e*s[0]+i*s[4]+r*s[8]+s[12],a=e*s[1]+i*s[5]+r*s[9]+s[13],o=e*s[2]+i*s[6]+r*s[10]+s[14],h=e*s[3]+i*s[7]+r*s[11]+s[15];return this.x=n/h,this.y=a/h,this.z=o/h,this},transformQuat:function(t){var e=this.x,i=this.y,r=this.z,s=t.x,n=t.y,a=t.z,o=t.w,h=o*e+n*r-a*i,l=o*i+a*e-s*r,u=o*r+s*i-n*e,d=-s*e-n*i-a*r;return this.x=h*o+d*-s+l*-a-u*-n,this.y=l*o+d*-n+u*-s-h*-a,this.z=u*o+d*-a+h*-n-l*-s,this},project:function(t){var e=this.x,i=this.y,r=this.z,s=t.val,n=s[0],a=s[1],o=s[2],h=s[3],l=s[4],u=s[5],d=s[6],c=s[7],f=s[8],p=s[9],g=s[10],m=s[11],v=s[12],y=s[13],x=s[14],T=1/(e*h+i*c+r*m+s[15]);return this.x=(e*n+i*l+r*f+v)*T,this.y=(e*a+i*u+r*p+y)*T,this.z=(e*o+i*d+r*g+x)*T,this},projectViewMatrix:function(t,e){return this.applyMatrix4(t).applyMatrix4(e)},unprojectViewMatrix:function(t,e){return this.applyMatrix4(t).applyMatrix4(e)},unproject:function(t,e){var i=t.x,r=t.y,s=t.z,n=t.w,a=this.x-i,o=n-this.y-1-r,h=this.z;return this.x=2*a/s-1,this.y=2*o/n-1,this.z=2*h-1,this.project(e)},reset:function(){return this.x=0,this.y=0,this.z=0,this}});r.ZERO=new r,r.RIGHT=new r(1,0,0),r.LEFT=new r(-1,0,0),r.UP=new r(0,-1,0),r.DOWN=new r(0,1,0),r.FORWARD=new r(0,0,1),r.BACK=new r(0,0,-1),r.ONE=new r(1,1,1),t.exports=r},61369(t,e,i){var r=new(i(83419))({initialize:function(t,e,i,r){this.x=0,this.y=0,this.z=0,this.w=0,"object"==typeof t?(this.x=t.x||0,this.y=t.y||0,this.z=t.z||0,this.w=t.w||0):(this.x=t||0,this.y=e||0,this.z=i||0,this.w=r||0)},clone:function(){return new r(this.x,this.y,this.z,this.w)},copy:function(t){return this.x=t.x,this.y=t.y,this.z=t.z||0,this.w=t.w||0,this},equals:function(t){return this.x===t.x&&this.y===t.y&&this.z===t.z&&this.w===t.w},set:function(t,e,i,r){return"object"==typeof t?(this.x=t.x||0,this.y=t.y||0,this.z=t.z||0,this.w=t.w||0):(this.x=t||0,this.y=e||0,this.z=i||0,this.w=r||0),this},add:function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z||0,this.w+=t.w||0,this},subtract:function(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z||0,this.w-=t.w||0,this},scale:function(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this},length:function(){var t=this.x,e=this.y,i=this.z,r=this.w;return Math.sqrt(t*t+e*e+i*i+r*r)},lengthSq:function(){var t=this.x,e=this.y,i=this.z,r=this.w;return t*t+e*e+i*i+r*r},normalize:function(){var t=this.x,e=this.y,i=this.z,r=this.w,s=t*t+e*e+i*i+r*r;return s>0&&(s=1/Math.sqrt(s),this.x=t*s,this.y=e*s,this.z=i*s,this.w=r*s),this},dot:function(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w},lerp:function(t,e){void 0===e&&(e=0);var i=this.x,r=this.y,s=this.z,n=this.w;return this.x=i+e*(t.x-i),this.y=r+e*(t.y-r),this.z=s+e*(t.z-s),this.w=n+e*(t.w-n),this},multiply:function(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z||1,this.w*=t.w||1,this},divide:function(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z||1,this.w/=t.w||1,this},distance:function(t){var e=t.x-this.x,i=t.y-this.y,r=t.z-this.z||0,s=t.w-this.w||0;return Math.sqrt(e*e+i*i+r*r+s*s)},distanceSq:function(t){var e=t.x-this.x,i=t.y-this.y,r=t.z-this.z||0,s=t.w-this.w||0;return e*e+i*i+r*r+s*s},negate:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this},transformMat4:function(t){var e=this.x,i=this.y,r=this.z,s=this.w,n=t.val;return this.x=n[0]*e+n[4]*i+n[8]*r+n[12]*s,this.y=n[1]*e+n[5]*i+n[9]*r+n[13]*s,this.z=n[2]*e+n[6]*i+n[10]*r+n[14]*s,this.w=n[3]*e+n[7]*i+n[11]*r+n[15]*s,this},transformQuat:function(t){var e=this.x,i=this.y,r=this.z,s=t.x,n=t.y,a=t.z,o=t.w,h=o*e+n*r-a*i,l=o*i+a*e-s*r,u=o*r+s*i-n*e,d=-s*e-n*i-a*r;return this.x=h*o+d*-s+l*-a-u*-n,this.y=l*o+d*-n+u*-s-h*-a,this.z=u*o+d*-a+h*-n-l*-s,this},reset:function(){return this.x=0,this.y=0,this.z=0,this.w=0,this}});r.prototype.sub=r.prototype.subtract,r.prototype.mul=r.prototype.multiply,r.prototype.div=r.prototype.divide,r.prototype.dist=r.prototype.distance,r.prototype.distSq=r.prototype.distanceSq,r.prototype.len=r.prototype.length,r.prototype.lenSq=r.prototype.lengthSq,t.exports=r},60417(t){t.exports=function(t,e,i){return Math.abs(t-e)<=i}},15994(t){t.exports=function(t,e,i){var r=i-e;return e+((t-e)%r+r)%r}},31040(t){t.exports=function(t,e,i,r){return Math.atan2(r-e,i-t)}},55495(t){t.exports=function(t,e){return Math.atan2(e.y-t.y,e.x-t.x)}},128(t){t.exports=function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)}},41273(t){t.exports=function(t,e,i,r){return Math.atan2(i-t,r-e)}},1432(t,e,i){var r=i(36383);t.exports=function(t){return t>Math.PI&&(t-=r.TAU),Math.abs(((t+r.PI_OVER_2)%r.TAU-r.TAU)%r.TAU)}},49127(t,e,i){var r=i(12407);t.exports=function(t,e){return r(e-t)}},52285(t,e,i){var r=i(36383),s=i(12407),n=r.TAU;t.exports=function(t,e){var i=s(e-t);return i>0&&(i-=n),i}},67317(t,e,i){var r=i(86554);t.exports=function(t,e){return r(e-t)}},12407(t){t.exports=function(t){return(t%=2*Math.PI)>=0?t:t+2*Math.PI}},53993(t,e,i){var r=i(99472);t.exports=function(){return r(-Math.PI,Math.PI)}},86564(t,e,i){var r=i(99472);t.exports=function(){return r(-180,180)}},90154(t,e,i){var r=i(12407);t.exports=function(t){return r(t+Math.PI)}},48736(t,e,i){var r=i(36383);t.exports=function(t,e,i){return void 0===i&&(i=.05),t===e||(Math.abs(e-t)<=i||Math.abs(e-t)>=r.TAU-i?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=i:e=1?1:1/e*(1+(e*t|0))}},49752(t,e,i){t.exports=i(72251)},75698(t){t.exports=function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)}},43855(t){t.exports=function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i}},94977(t){t.exports=function(t,e,i){return void 0===i&&(i=1e-4),t1?t[i]-(r(s-i,t[i],t[i],t[i-1],t[i-1])-t[i]):r(s-n,t[n?n-1:0],t[n],t[i1?r(t[i],t[i-1],i-s):r(t[n],t[n+1>i?i:n+1],s-n)}},32112(t){t.exports=function(t,e,i,r){return function(t,e){var i=1-t;return i*i*e}(t,e)+function(t,e){return 2*(1-t)*t*e}(t,i)+function(t,e){return t*t*e}(t,r)}},47235(t,e,i){var r=i(7602);t.exports=function(t,e,i){return e+(i-e)*r(t,0,1)}},50178(t,e,i){var r=i(54261);t.exports=function(t,e,i){return e+(i-e)*r(t,0,1)}},38289(t,e,i){t.exports={Bezier:i(89318),CatmullRom:i(77259),CubicBezier:i(36316),Linear:i(28392),QuadraticBezier:i(32112),SmoothStep:i(47235),SmootherStep:i(50178)}},98439(t){t.exports=function(t){var e=Math.log(t)/.6931471805599453;return 1<0&&!(t&t-1)&&e>0&&!(e&e-1)}},81230(t){t.exports=function(t){return t>0&&!(t&t-1)}},49001(t,e,i){t.exports={GetNext:i(98439),GetPowerOfTwo:i(98439),IsSize:i(50030),IsSizePowerOfTwo:i(50030),IsValue:i(81230),IsValuePowerOfTwo:i(81230)}},28453(t,e,i){var r=new(i(83419))({initialize:function(t){void 0===t&&(t=[(Date.now()*Math.random()).toString()]),this.c=1,this.s0=0,this.s1=0,this.s2=0,this.n=0,this.signs=[-1,1],t&&this.init(t)},rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},hash:function(t){var e,i=this.n;t=t.toString();for(var r=0;r>>0,i=(e*=i)>>>0,i+=4294967296*(e-=i);return this.n=i,2.3283064365386963e-10*(i>>>0)},init:function(t){"string"==typeof t?this.state(t):this.sow(t)},sow:function(t){if(this.n=4022871197,this.s0=this.hash(" "),this.s1=this.hash(" "),this.s2=this.hash(" "),this.c=1,t)for(var e=0;e0;e--){var i=Math.floor(this.frac()*(e+1)),r=t[i];t[i]=t[e],t[e]=r}return t}});t.exports=r},63448(t){t.exports=function(t,e,i,r){return void 0===i&&(i=0),0===e?t:(t-=i,t=e*Math.ceil(t/e),r?(i+t)/e:i+t)}},56583(t){t.exports=function(t,e,i,r){return void 0===i&&(i=0),0===e?t:(t-=i,t=e*Math.floor(t/e),r?(i+t)/e:i+t)}},77720(t){t.exports=function(t,e,i,r){return void 0===i&&(i=0),0===e?t:(t-=i,t=e*Math.round(t/e),r?(i+t)/e:i+t)}},73697(t,e,i){t.exports={Ceil:i(63448),Floor:i(56583),To:i(77720)}},85454(t,e,i){i(63595);var r=i(8054),s=i(79291),n={Actions:i(61061),Animations:i(60421),BlendModes:i(10312),Cache:i(83388),Cameras:i(26638),Core:i(42857),Class:i(83419),Curves:i(25410),Data:i(44965),Display:i(27460),DOM:i(84902),Events:i(93055),Filters:i(11889),Game:i(50127),GameObjects:i(77856),Geom:i(55738),Input:i(14350),Loader:i(57777),Math:i(75508),Physics:i(44563),Plugins:i(18922),Renderer:i(36909),Scale:i(93364),ScaleModes:i(29795),Scene:i(97482),Scenes:i(62194),Structs:i(41392),Textures:i(27458),Tilemaps:i(62501),Time:i(90291),TintModes:i(84322),Tweens:i(43066),Utils:i(91799)};n.Sound=i(23717),n=s(!1,n,r),t.exports=n,i.g.Phaser=n},71289(t,e,i){var r=i(83419),s=i(92209),n=i(88571),a=new r({Extends:n,Mixins:[s.Acceleration,s.Angular,s.Bounce,s.Collision,s.Debug,s.Drag,s.Enable,s.Friction,s.Gravity,s.Immovable,s.Mass,s.Pushable,s.Size,s.Velocity],initialize:function(t,e,i,r,s){n.call(this,t,e,i,r,s),this.body=null}});t.exports=a},86689(t,e,i){var r=i(83419),s=i(39506),n=i(20339),a=i(89774),o=i(66022),h=i(95540),l=i(46975),u=i(72441),d=i(47956),c=i(37277),f=i(44594),p=i(26099),g=i(82248),m=new r({initialize:function(t){this.scene=t,this.systems=t.sys,this.config=this.getConfig(),this.world,this.add,this._category=1,t.sys.events.once(f.BOOT,this.boot,this),t.sys.events.on(f.START,this.start,this)},boot:function(){this.world=new g(this.scene,this.config),this.add=new o(this.world),this.systems.events.once(f.DESTROY,this.destroy,this)},start:function(){this.world||(this.world=new g(this.scene,this.config),this.add=new o(this.world));var t=this.systems.events;h(this.config,"customUpdate",!1)||t.on(f.UPDATE,this.world.update,this.world),t.on(f.POST_UPDATE,this.world.postUpdate,this.world),t.once(f.SHUTDOWN,this.shutdown,this)},enableUpdate:function(){this.systems.events.on(f.UPDATE,this.world.update,this.world)},disableUpdate:function(){this.systems.events.off(f.UPDATE,this.world.update,this.world)},getConfig:function(){var t=this.systems.game.config.physics,e=this.systems.settings.physics;return l(h(e,"arcade",{}),h(t,"arcade",{}))},nextCategory:function(){return this._category=this._category<<1,this._category},overlap:function(t,e,i,r,s){return void 0===i&&(i=null),void 0===r&&(r=null),void 0===s&&(s=i),this.world.collideObjects(t,e,i,r,s,!0)},collide:function(t,e,i,r,s){return void 0===i&&(i=null),void 0===r&&(r=null),void 0===s&&(s=i),this.world.collideObjects(t,e,i,r,s,!1)},collideTiles:function(t,e,i,r,s){return this.world.collideTiles(t,e,i,r,s)},overlapTiles:function(t,e,i,r,s){return this.world.overlapTiles(t,e,i,r,s)},pause:function(){return this.world.pause()},resume:function(){return this.world.resume()},accelerateTo:function(t,e,i,r,s,n){void 0===r&&(r=60);var a=Math.atan2(i-t.y,e-t.x);return t.body.acceleration.setToPolar(a,r),void 0!==s&&void 0!==n&&t.body.maxVelocity.set(s,n),a},accelerateToObject:function(t,e,i,r,s){return this.accelerateTo(t,e.x,e.y,i,r,s)},closest:function(t,e){e||(e=Array.from(this.world.bodies));for(var i=Number.MAX_VALUE,r=null,s=t.x,n=t.y,o=e.length,h=0;hi&&(r=l,i=d)}}return r},moveTo:function(t,e,i,r,s){void 0===r&&(r=60),void 0===s&&(s=0);var a=Math.atan2(i-t.y,e-t.x);return s>0&&(r=n(t.x,t.y,e,i)/(s/1e3)),t.body.velocity.setToPolar(a,r),a},moveToObject:function(t,e,i,r){return this.moveTo(t,e.x,e.y,i,r)},velocityFromAngle:function(t,e,i){return void 0===e&&(e=60),void 0===i&&(i=new p),i.setToPolar(s(t),e)},velocityFromRotation:function(t,e,i){return void 0===e&&(e=60),void 0===i&&(i=new p),i.setToPolar(t,e)},overlapRect:function(t,e,i,r,s,n){return d(this.world,t,e,i,r,s,n)},overlapCirc:function(t,e,i,r,s){return u(this.world,t,e,i,r,s)},shutdown:function(){if(this.world){var t=this.systems.events;t.off(f.UPDATE,this.world.update,this.world),t.off(f.POST_UPDATE,this.world.postUpdate,this.world),t.off(f.SHUTDOWN,this.shutdown,this),this.add.destroy(),this.world.destroy(),this.add=null,this.world=null,this._category=1}},destroy:function(){this.shutdown(),this.scene.sys.events.off(f.START,this.start,this),this.scene=null,this.systems=null}});c.register("ArcadePhysics",m,"arcadePhysics"),t.exports=m},13759(t,e,i){var r=i(83419),s=i(92209),n=i(68287),a=new r({Extends:n,Mixins:[s.Acceleration,s.Angular,s.Bounce,s.Collision,s.Debug,s.Drag,s.Enable,s.Friction,s.Gravity,s.Immovable,s.Mass,s.Pushable,s.Size,s.Velocity],initialize:function(t,e,i,r,s){n.call(this,t,e,i,r,s),this.body=null}});t.exports=a},37742(t,e,i){var r=i(83419),s=i(78389),n=i(37747),a=i(63012),o=i(43396),h=i(87841),l=i(37303),u=i(95829),d=i(26099),c=new r({Mixins:[s],initialize:function(t,e){var i=64,r=64,s=void 0!==e;s&&e.displayWidth&&(i=e.displayWidth,r=e.displayHeight),s||(e={x:0,y:0,angle:0,rotation:0,scaleX:1,scaleY:1,displayOriginX:0,displayOriginY:0}),this.world=t,this.gameObject=s?e:void 0,this.isBody=!0,this.transform={x:e.x,y:e.y,rotation:e.angle,scaleX:e.scaleX,scaleY:e.scaleY,displayOriginX:e.displayOriginX,displayOriginY:e.displayOriginY},this.debugShowBody=t.defaults.debugShowBody,this.debugShowVelocity=t.defaults.debugShowVelocity,this.debugBodyColor=t.defaults.bodyDebugColor,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new d,this.position=new d(e.x-e.scaleX*e.displayOriginX,e.y-e.scaleY*e.displayOriginY),this.prev=this.position.clone(),this.prevFrame=this.position.clone(),this.allowRotation=!0,this.rotation=e.angle,this.preRotation=e.angle,this.width=i,this.height=r,this.sourceWidth=i,this.sourceHeight=r,e.frame&&(this.sourceWidth=e.frame.realWidth,this.sourceHeight=e.frame.realHeight),this.halfWidth=Math.abs(i/2),this.halfHeight=Math.abs(r/2),this.center=new d(this.position.x+this.halfWidth,this.position.y+this.halfHeight),this.velocity=new d,this.newVelocity=new d,this.deltaMax=new d,this.acceleration=new d,this.allowDrag=!0,this.drag=new d,this.allowGravity=!0,this.gravity=new d,this.bounce=new d,this.worldBounce=null,this.customBoundsRectangle=t.bounds,this.onWorldBounds=!1,this.onCollide=!1,this.onOverlap=!1,this.maxVelocity=new d(1e4,1e4),this.maxSpeed=-1,this.friction=new d(1,0),this.useDamping=!1,this.angularVelocity=0,this.angularAcceleration=0,this.angularDrag=0,this.maxAngular=1e3,this.mass=1,this.angle=0,this.speed=0,this.facing=n.FACING_NONE,this.immovable=!1,this.pushable=!0,this.slideFactor=new d(1,1),this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision=u(!1),this.touching=u(!0),this.wasTouching=u(!0),this.blocked=u(!0),this.syncBounds=!1,this.physicsType=n.DYNAMIC_BODY,this.collisionCategory=1,this.collisionMask=1,this._sx=e.scaleX,this._sy=e.scaleY,this._dx=0,this._dy=0,this._tx=0,this._ty=0,this._bounds=new h,this.directControl=!1,this.autoFrame=this.position.clone()},updateBounds:function(){var t=this.gameObject,e=this.transform;if(t.parentContainer){var i=t.getWorldTransformMatrix(this.world._tempMatrix,this.world._tempMatrix2);e.x=i.tx,e.y=i.ty,e.rotation=o(i.rotation),e.scaleX=i.scaleX,e.scaleY=i.scaleY,e.displayOriginX=t.displayOriginX,e.displayOriginY=t.displayOriginY}else e.x=t.x,e.y=t.y,e.rotation=t.angle,e.scaleX=t.scaleX,e.scaleY=t.scaleY,e.displayOriginX=t.displayOriginX,e.displayOriginY=t.displayOriginY;var r=!1;if(this.syncBounds){var s=t.getBounds(this._bounds);this.width=s.width,this.height=s.height,r=!0}else{var n=Math.abs(e.scaleX),a=Math.abs(e.scaleY);this._sx===n&&this._sy===a||(this.width=this.sourceWidth*n,this.height=this.sourceHeight*a,this._sx=n,this._sy=a,r=!0)}r&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){this.center.set(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},updateFromGameObject:function(){this.updateBounds();var t=this.transform;this.position.x=t.x+t.scaleX*(this.offset.x-t.displayOriginX),this.position.y=t.y+t.scaleY*(this.offset.y-t.displayOriginY),this.updateCenter()},resetFlags:function(t){void 0===t&&(t=!1);var e=this.wasTouching,i=this.touching,r=this.blocked;t?u(!0,e):(e.none=i.none,e.up=i.up,e.down=i.down,e.left=i.left,e.right=i.right),u(!0,i),u(!0,r),this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1},preUpdate:function(t,e){if(t&&this.resetFlags(),this.gameObject&&this.updateFromGameObject(),this.rotation=this.transform.rotation,this.preRotation=this.rotation,this.moves){var i=this.position;this.prev.x=i.x,this.prev.y=i.y,this.prevFrame.x=i.x,this.prevFrame.y=i.y}t&&this.update(e)},update:function(t){var e=this.prev,i=this.position,r=this.velocity;if(e.set(i.x,i.y),!this.moves)return this._dx=i.x-e.x,void(this._dy=i.y-e.y);if(this.directControl){var s=this.autoFrame;r.set((i.x-s.x)/t,(i.y-s.y)/t),this.world.updateMotion(this,t),this._dx=i.x-s.x,this._dy=i.y-s.y}else this.world.updateMotion(this,t),this.newVelocity.set(r.x*t,r.y*t),i.add(this.newVelocity),this._dx=i.x-e.x,this._dy=i.y-e.y;var n=r.x,o=r.y;if(this.updateCenter(),this.angle=Math.atan2(o,n),this.speed=Math.sqrt(n*n+o*o),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds){var h=this.blocked;this.world.emit(a.WORLD_BOUNDS,this,h.up,h.down,h.left,h.right)}},postUpdate:function(){var t=this.position,e=t.x-this.prevFrame.x,i=t.y-this.prevFrame.y,r=this.gameObject;if(this.moves){var s=this.deltaMax.x,a=this.deltaMax.y;0!==s&&0!==e&&(e<0&&e<-s?e=-s:e>0&&e>s&&(e=s)),0!==a&&0!==i&&(i<0&&i<-a?i=-a:i>0&&i>a&&(i=a)),r&&(r.x+=e,r.y+=i)}e<0?this.facing=n.FACING_LEFT:e>0&&(this.facing=n.FACING_RIGHT),i<0?this.facing=n.FACING_UP:i>0&&(this.facing=n.FACING_DOWN),this.allowRotation&&r&&(r.angle+=this.deltaZ()),this._tx=e,this._ty=i,this.autoFrame.set(t.x,t.y)},setBoundsRectangle:function(t){return this.customBoundsRectangle=t||this.world.bounds,this},checkWorldBounds:function(){var t=this.position,e=this.velocity,i=this.blocked,r=this.customBoundsRectangle,s=this.world.checkCollision,n=this.worldBounce?-this.worldBounce.x:-this.bounce.x,a=this.worldBounce?-this.worldBounce.y:-this.bounce.y,o=!1;return t.xr.right&&s.right&&(t.x=r.right-this.width,e.x*=n,i.right=!0,o=!0),t.yr.bottom&&s.down&&(t.y=r.bottom-this.height,e.y*=a,i.down=!0,o=!0),o&&(this.blocked.none=!1,this.updateCenter()),o},setOffset:function(t,e){return void 0===e&&(e=t),this.offset.set(t,e),this},setGameObject:function(t,e){if(void 0===e&&(e=!0),!t||!t.hasTransformComponent)return this;var i=this.world;return this.gameObject&&this.gameObject.body&&(i.disable(this.gameObject),this.gameObject.body=null),t.body&&i.disable(t),this.gameObject=t,t.body=this,this.setSize(),this.enable=e,this},setSize:function(t,e,i){void 0===i&&(i=!0);var r=this.gameObject;if(r&&(!t&&r.frame&&(t=r.frame.realWidth),!e&&r.frame&&(e=r.frame.realHeight)),this.sourceWidth=t,this.sourceHeight=e,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter(),i&&r&&r.getCenter){var s=(r.width-t)/2,n=(r.height-e)/2;this.offset.set(s,n)}return this.isCircle=!1,this.radius=0,this},setCircle:function(t,e,i){return void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.set(e,i),this.updateCenter()):this.isCircle=!1,this},reset:function(t,e){this.stop();var i=this.gameObject;i&&(i.setPosition(t,e),this.rotation=i.angle,this.preRotation=i.angle);var r=this.position;i&&i.getTopLeft?i.getTopLeft(r):r.set(t,e),this.prev.copy(r),this.prevFrame.copy(r),this.autoFrame.copy(r),i&&this.updateBounds(),this.updateCenter(),this.collideWorldBounds&&this.checkWorldBounds(),this.resetFlags(!0)},stop:function(){return this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0,this},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,e){return this.isCircle?this.radius>0&&t>=this.left&&t<=this.right&&e>=this.top&&e<=this.bottom&&(this.center.x-t)*(this.center.x-t)+(this.center.y-e)*(this.center.y-e)<=this.radius*this.radius:l(this,t,e)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this._dx>0?this._dx:-this._dx},deltaAbsY:function(){return this._dy>0?this._dy:-this._dy},deltaX:function(){return this._dx},deltaY:function(){return this._dy},deltaXFinal:function(){return this._tx},deltaYFinal:function(){return this._ty},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.enable=!1,this.world&&this.world.pendingDestroy.add(this)},drawDebug:function(t){var e=this.position,i=e.x+this.halfWidth,r=e.y+this.halfHeight;this.debugShowBody&&(t.lineStyle(t.defaultStrokeWidth,this.debugBodyColor),this.isCircle?t.strokeCircle(i,r,this.width/2):(this.checkCollision.up&&t.lineBetween(e.x,e.y,e.x+this.width,e.y),this.checkCollision.right&&t.lineBetween(e.x+this.width,e.y,e.x+this.width,e.y+this.height),this.checkCollision.down&&t.lineBetween(e.x,e.y+this.height,e.x+this.width,e.y+this.height),this.checkCollision.left&&t.lineBetween(e.x,e.y,e.x,e.y+this.height))),this.debugShowVelocity&&(t.lineStyle(t.defaultStrokeWidth,this.world.defaults.velocityDebugColor,1),t.lineBetween(i,r,i+this.velocity.x/2,r+this.velocity.y/2))},willDrawDebug:function(){return this.debugShowBody||this.debugShowVelocity},setDirectControl:function(t){return void 0===t&&(t=!0),this.directControl=t,this},setCollideWorldBounds:function(t,e,i,r){void 0===t&&(t=!0),this.collideWorldBounds=t;var s=void 0!==e,n=void 0!==i;return(s||n)&&(this.worldBounce||(this.worldBounce=new d),s&&(this.worldBounce.x=e),n&&(this.worldBounce.y=i)),void 0!==r&&(this.onWorldBounds=r),this},setVelocity:function(t,e){return this.velocity.set(t,e),t=this.velocity.x,e=this.velocity.y,this.speed=Math.sqrt(t*t+e*e),this},setVelocityX:function(t){return this.setVelocity(t,this.velocity.y)},setVelocityY:function(t){return this.setVelocity(this.velocity.x,t)},setMaxVelocity:function(t,e){return this.maxVelocity.set(t,e),this},setMaxVelocityX:function(t){return this.maxVelocity.x=t,this},setMaxVelocityY:function(t){return this.maxVelocity.y=t,this},setMaxSpeed:function(t){return this.maxSpeed=t,this},setSlideFactor:function(t,e){return this.slideFactor.set(t,e),this},setBounce:function(t,e){return this.bounce.set(t,e),this},setBounceX:function(t){return this.bounce.x=t,this},setBounceY:function(t){return this.bounce.y=t,this},setAcceleration:function(t,e){return this.acceleration.set(t,e),this},setAccelerationX:function(t){return this.acceleration.x=t,this},setAccelerationY:function(t){return this.acceleration.y=t,this},setAllowDrag:function(t){return void 0===t&&(t=!0),this.allowDrag=t,this},setAllowGravity:function(t){return void 0===t&&(t=!0),this.allowGravity=t,this},setAllowRotation:function(t){return void 0===t&&(t=!0),this.allowRotation=t,this},setDrag:function(t,e){return this.drag.set(t,e),this},setDamping:function(t){return this.useDamping=t,this},setDragX:function(t){return this.drag.x=t,this},setDragY:function(t){return this.drag.y=t,this},setGravity:function(t,e){return this.gravity.set(t,e),this},setGravityX:function(t){return this.gravity.x=t,this},setGravityY:function(t){return this.gravity.y=t,this},setFriction:function(t,e){return this.friction.set(t,e),this},setFrictionX:function(t){return this.friction.x=t,this},setFrictionY:function(t){return this.friction.y=t,this},setAngularVelocity:function(t){return this.angularVelocity=t,this},setAngularAcceleration:function(t){return this.angularAcceleration=t,this},setAngularDrag:function(t){return this.angularDrag=t,this},setMass:function(t){return this.mass=t,this},setImmovable:function(t){return void 0===t&&(t=!0),this.immovable=t,this},setEnable:function(t){return void 0===t&&(t=!0),this.enable=t,this},processX:function(t,e,i,r){this.x+=t,this.updateCenter(),null!==e&&(this.velocity.x=e*this.slideFactor.x);var s=this.blocked;i&&(s.left=!0,s.none=!1),r&&(s.right=!0,s.none=!1)},processY:function(t,e,i,r){this.y+=t,this.updateCenter(),null!==e&&(this.velocity.y=e*this.slideFactor.y);var s=this.blocked;i&&(s.up=!0,s.none=!1),r&&(s.down=!0,s.none=!1)},x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},left:{get:function(){return this.position.x}},right:{get:function(){return this.position.x+this.width}},top:{get:function(){return this.position.y}},bottom:{get:function(){return this.position.y+this.height}}});t.exports=c},79342(t,e,i){var r=new(i(83419))({initialize:function(t,e,i,r,s,n,a){this.world=t,this.name="",this.active=!0,this.overlapOnly=e,this.object1=i,this.object2=r,this.collideCallback=s,this.processCallback=n,this.callbackContext=a},setName:function(t){return this.name=t,this},update:function(){this.world.collideObjects(this.object1,this.object2,this.collideCallback,this.processCallback,this.callbackContext,this.overlapOnly)},destroy:function(){this.world.removeCollider(this),this.active=!1,this.world=null,this.object1=null,this.object2=null,this.collideCallback=null,this.processCallback=null,this.callbackContext=null}});t.exports=r},66022(t,e,i){var r=i(71289),s=i(13759),n=i(37742),a=i(83419),o=i(37747),h=i(60758),l=i(72624),u=i(71464),d=new a({initialize:function(t){this.world=t,this.scene=t.scene,this.sys=t.scene.sys},collider:function(t,e,i,r,s){return this.world.addCollider(t,e,i,r,s)},overlap:function(t,e,i,r,s){return this.world.addOverlap(t,e,i,r,s)},existing:function(t,e){var i=e?o.STATIC_BODY:o.DYNAMIC_BODY;return this.world.enableBody(t,i),t},staticImage:function(t,e,i,s){var n=new r(this.scene,t,e,i,s);return this.sys.displayList.add(n),this.world.enableBody(n,o.STATIC_BODY),n},image:function(t,e,i,s){var n=new r(this.scene,t,e,i,s);return this.sys.displayList.add(n),this.world.enableBody(n,o.DYNAMIC_BODY),n},staticSprite:function(t,e,i,r){var n=new s(this.scene,t,e,i,r);return this.sys.displayList.add(n),this.sys.updateList.add(n),this.world.enableBody(n,o.STATIC_BODY),n},sprite:function(t,e,i,r){var n=new s(this.scene,t,e,i,r);return this.sys.displayList.add(n),this.sys.updateList.add(n),this.world.enableBody(n,o.DYNAMIC_BODY),n},staticGroup:function(t,e){return this.sys.updateList.add(new u(this.world,this.world.scene,t,e))},group:function(t,e){return this.sys.updateList.add(new h(this.world,this.world.scene,t,e))},body:function(t,e,i,r){var s=new n(this.world);return s.position.set(t,e),i&&r&&s.setSize(i,r),this.world.add(s,o.DYNAMIC_BODY),s},staticBody:function(t,e,i,r){var s=new l(this.world);return s.position.set(t,e),i&&r&&s.setSize(i,r),this.world.add(s,o.STATIC_BODY),s},destroy:function(){this.world=null,this.scene=null,this.sys=null}});t.exports=d},79599(t){t.exports=function(t){var e=0;if(Array.isArray(t))for(var i=0;ie._dx?(n=t.right-e.x)>a&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?n=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0,e.physicsType!==r.STATIC_BODY||i||(t.blocked.none=!1,t.blocked.right=!0),t.physicsType!==r.STATIC_BODY||i||(e.blocked.none=!1,e.blocked.left=!0)):t._dxa&&!i||!1===t.checkCollision.left||!1===e.checkCollision.right?n=0:(t.touching.none=!1,t.touching.left=!0,e.touching.none=!1,e.touching.right=!0,e.physicsType!==r.STATIC_BODY||i||(t.blocked.none=!1,t.blocked.left=!0),t.physicsType!==r.STATIC_BODY||i||(e.blocked.none=!1,e.blocked.right=!0))),t.overlapX=n,e.overlapX=n,n}},45170(t,e,i){var r=i(37747);t.exports=function(t,e,i,s){var n=0,a=t.deltaAbsY()+e.deltaAbsY()+s;return 0===t._dy&&0===e._dy?(t.embedded=!0,e.embedded=!0):t._dy>e._dy?(n=t.bottom-e.y)>a&&!i||!1===t.checkCollision.down||!1===e.checkCollision.up?n=0:(t.touching.none=!1,t.touching.down=!0,e.touching.none=!1,e.touching.up=!0,e.physicsType!==r.STATIC_BODY||i||(t.blocked.none=!1,t.blocked.down=!0),t.physicsType!==r.STATIC_BODY||i||(e.blocked.none=!1,e.blocked.up=!0)):t._dya&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?n=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0,e.physicsType!==r.STATIC_BODY||i||(t.blocked.none=!1,t.blocked.up=!0),t.physicsType!==r.STATIC_BODY||i||(e.blocked.none=!1,e.blocked.down=!0))),t.overlapY=n,e.overlapY=n,n}},60758(t,e,i){var r=i(13759),s=i(83419),n=i(78389),a=i(37747),o=i(95540),h=i(26479),l=i(41212),u=new s({Extends:h,Mixins:[n],initialize:function(t,e,i,s){if(i||s)if(l(i))s=i,i=null,s.internalCreateCallback=this.createCallbackHandler,s.internalRemoveCallback=this.removeCallbackHandler;else if(Array.isArray(i)&&l(i[0])){var n=this;i.forEach(function(t){t.internalCreateCallback=n.createCallbackHandler,t.internalRemoveCallback=n.removeCallbackHandler,t.classType=o(t,"classType",r)}),s=null}else s={internalCreateCallback:this.createCallbackHandler,internalRemoveCallback:this.removeCallbackHandler};else s={internalCreateCallback:this.createCallbackHandler,internalRemoveCallback:this.removeCallbackHandler};this.world=t,s&&(s.classType=o(s,"classType",r)),this.physicsType=a.DYNAMIC_BODY,this.collisionCategory=1,this.collisionMask=2147483647,this.defaults={setCollideWorldBounds:o(s,"collideWorldBounds",!1),setBoundsRectangle:o(s,"customBoundsRectangle",null),setAccelerationX:o(s,"accelerationX",0),setAccelerationY:o(s,"accelerationY",0),setAllowDrag:o(s,"allowDrag",!0),setAllowGravity:o(s,"allowGravity",!0),setAllowRotation:o(s,"allowRotation",!0),setDamping:o(s,"useDamping",!1),setBounceX:o(s,"bounceX",0),setBounceY:o(s,"bounceY",0),setDragX:o(s,"dragX",0),setDragY:o(s,"dragY",0),setEnable:o(s,"enable",!0),setGravityX:o(s,"gravityX",0),setGravityY:o(s,"gravityY",0),setFrictionX:o(s,"frictionX",0),setFrictionY:o(s,"frictionY",0),setMaxSpeed:o(s,"maxSpeed",-1),setMaxVelocityX:o(s,"maxVelocityX",1e4),setMaxVelocityY:o(s,"maxVelocityY",1e4),setVelocityX:o(s,"velocityX",0),setVelocityY:o(s,"velocityY",0),setAngularVelocity:o(s,"angularVelocity",0),setAngularAcceleration:o(s,"angularAcceleration",0),setAngularDrag:o(s,"angularDrag",0),setMass:o(s,"mass",1),setImmovable:o(s,"immovable",!1)},h.call(this,e,i,s),this.type="PhysicsGroup"},createCallbackHandler:function(t){t.body&&t.body.physicsType===a.DYNAMIC_BODY||(t.body&&(t.body.destroy(),t.body=null),this.world.enableBody(t,a.DYNAMIC_BODY));var e=t.body;for(var i in this.defaults)e[i](this.defaults[i])},removeCallbackHandler:function(t){t.body&&this.world.disableBody(t)},setVelocity:function(t,e,i){void 0===i&&(i=0);for(var r=this.getChildren(),s=0;s0?1:-1),o=Math.sqrt(t*t*e.mass/i.mass)*(t>0?1:-1),h=.5*(s+o);return o-=h,n=h+(s-=h)*e.bounce.x,a=h+o*i.bounce.x,l&&m?x(0):c&&g?x(1):u&&g?x(2):!(!f||!m)&&x(3)},Set:function(t,n,a){i=n;var x=(e=t).velocity.x,T=i.velocity.x;return r=e.pushable,l=e._dx<0,u=e._dx>0,d=0===e._dx,g=Math.abs(e.right-i.x)<=Math.abs(i.right-e.x),o=T-x*e.bounce.x,s=i.pushable,c=i._dx<0,f=i._dx>0,p=0===i._dx,m=!g,h=x-T*i.bounce.x,v=Math.abs(a),y()},Run:x,RunImmovableBody1:function(t){if(1===t?i.velocity.x=0:g?i.processX(v,h,!0):i.processX(-v,h,!1,!0),e.moves){var r=e.directControl?e.y-e.autoFrame.y:e.y-e.prev.y;i.y+=r*e.friction.y,i._dy=i.y-i.prev.y}},RunImmovableBody2:function(t){if(2===t?e.velocity.x=0:m?e.processX(v,o,!0):e.processX(-v,o,!1,!0),i.moves){var r=i.directControl?i.y-i.autoFrame.y:i.y-i.prev.y;e.y+=r*i.friction.y,e._dy=e.y-e.prev.y}}}},47962(t){var e,i,r,s,n,a,o,h,l,u,d,c,f,p,g,m,v,y=function(){return u&&g&&i.blocked.down?(e.processY(-v,o,!1,!0),1):l&&m&&i.blocked.up?(e.processY(v,o,!0),1):f&&m&&e.blocked.down?(i.processY(-v,h,!1,!0),2):c&&g&&e.blocked.up?(i.processY(v,h,!0),2):0},x=function(t){if(r&&s)v*=.5,0===t||3===t?(e.processY(v,n),i.processY(-v,a)):(e.processY(-v,n),i.processY(v,a));else if(r&&!s)0===t||3===t?e.processY(v,o,!0):e.processY(-v,o,!1,!0);else if(!r&&s)0===t||3===t?i.processY(-v,h,!1,!0):i.processY(v,h,!0);else{var g=.5*v;0===t?p?(e.processY(v,0,!0),i.processY(0,null,!1,!0)):f?(e.processY(g,0,!0),i.processY(-g,0,!1,!0)):(e.processY(g,i.velocity.y,!0),i.processY(-g,null,!1,!0)):1===t?d?(e.processY(0,null,!1,!0),i.processY(v,0,!0)):u?(e.processY(-g,0,!1,!0),i.processY(g,0,!0)):(e.processY(-g,null,!1,!0),i.processY(g,e.velocity.y,!0)):2===t?p?(e.processY(-v,0,!1,!0),i.processY(0,null,!0)):c?(e.processY(-g,0,!1,!0),i.processY(g,0,!0)):(e.processY(-g,i.velocity.y,!1,!0),i.processY(g,null,!0)):3===t&&(d?(e.processY(0,null,!0),i.processY(-v,0,!1,!0)):l?(e.processY(g,0,!0),i.processY(-g,0,!1,!0)):(e.processY(g,i.velocity.y,!0),i.processY(-g,null,!1,!0)))}return!0};t.exports={BlockCheck:y,Check:function(){var t=e.velocity.y,r=i.velocity.y,s=Math.sqrt(r*r*i.mass/e.mass)*(r>0?1:-1),o=Math.sqrt(t*t*e.mass/i.mass)*(t>0?1:-1),h=.5*(s+o);return o-=h,n=h+(s-=h)*e.bounce.y,a=h+o*i.bounce.y,l&&m?x(0):c&&g?x(1):u&&g?x(2):!(!f||!m)&&x(3)},Set:function(t,n,a){i=n;var x=(e=t).velocity.y,T=i.velocity.y;return r=e.pushable,l=e._dy<0,u=e._dy>0,d=0===e._dy,g=Math.abs(e.bottom-i.y)<=Math.abs(i.bottom-e.y),o=T-x*e.bounce.y,s=i.pushable,c=i._dy<0,f=i._dy>0,p=0===i._dy,m=!g,h=x-T*i.bounce.y,v=Math.abs(a),y()},Run:x,RunImmovableBody1:function(t){if(1===t?i.velocity.y=0:g?i.processY(v,h,!0):i.processY(-v,h,!1,!0),e.moves){var r=e.directControl?e.x-e.autoFrame.x:e.x-e.prev.x;i.x+=r*e.friction.x,i._dx=i.x-i.prev.x}},RunImmovableBody2:function(t){if(2===t?e.velocity.y=0:m?e.processY(v,o,!0):e.processY(-v,o,!1,!0),i.moves){var r=i.directControl?i.x-i.autoFrame.x:i.x-i.prev.x;e.x+=r*i.friction.x,e._dx=e.x-e.prev.x}}}},14087(t,e,i){var r=i(64897),s=i(3017);t.exports=function(t,e,i,n,a){void 0===a&&(a=r(t,e,i,n));var o=t.immovable,h=e.immovable;if(i||0===a||o&&h||t.customSeparateX||e.customSeparateX)return 0!==a||t.embedded&&e.embedded;var l=s.Set(t,e,a);return o||h?(o?s.RunImmovableBody1(l):h&&s.RunImmovableBody2(l),!0):l>0||s.Check()}},89936(t,e,i){var r=i(45170),s=i(47962);t.exports=function(t,e,i,n,a){void 0===a&&(a=r(t,e,i,n));var o=t.immovable,h=e.immovable;if(i||0===a||o&&h||t.customSeparateY||e.customSeparateY)return 0!==a||t.embedded&&e.embedded;var l=s.Set(t,e,a);return o||h?(o?s.RunImmovableBody1(l):h&&s.RunImmovableBody2(l),!0):l>0||s.Check()}},95829(t){t.exports=function(t,e){return void 0===e&&(e={}),e.none=t,e.up=!1,e.down=!1,e.left=!1,e.right=!1,t||(e.up=!0,e.down=!0,e.left=!0,e.right=!0),e}},72624(t,e,i){var r=i(87902),s=i(83419),n=i(78389),a=i(37747),o=i(37303),h=i(95829),l=i(26099),u=new s({Mixins:[n],initialize:function(t,e){var i=64,r=64,s=void 0!==e;s&&e.displayWidth&&(i=e.displayWidth,r=e.displayHeight),s||(e={x:0,y:0,angle:0,rotation:0,scaleX:1,scaleY:1,displayOriginX:0,displayOriginY:0}),this.world=t,this.gameObject=s?e:void 0,this.isBody=!0,this.debugShowBody=t.defaults.debugShowStaticBody,this.debugBodyColor=t.defaults.staticBodyDebugColor,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new l,this.position=new l(e.x-i*e.originX,e.y-r*e.originY),this.width=i,this.height=r,this.halfWidth=Math.abs(this.width/2),this.halfHeight=Math.abs(this.height/2),this.center=new l(this.position.x+this.halfWidth,this.position.y+this.halfHeight),this.velocity=l.ZERO,this.allowGravity=!1,this.gravity=l.ZERO,this.bounce=l.ZERO,this.onWorldBounds=!1,this.onCollide=!1,this.onOverlap=!1,this.mass=1,this.immovable=!0,this.pushable=!1,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision=h(!1),this.touching=h(!0),this.wasTouching=h(!0),this.blocked=h(!0),this.physicsType=a.STATIC_BODY,this.collisionCategory=1,this.collisionMask=1,this._dx=0,this._dy=0},setGameObject:function(t,e,i){if(void 0===e&&(e=!0),void 0===i&&(i=!0),!t||!t.hasTransformComponent)return this;var r=this.world;return this.gameObject&&this.gameObject.body&&(r.disable(this.gameObject),this.gameObject.body=null),t.body&&r.disable(t),this.gameObject=t,t.body=this,this.setSize(),e&&this.updateFromGameObject(),this.enable=i,this},updateFromGameObject:function(){this.world.staticTree.remove(this);var t=this.gameObject;return t.getTopLeft(this.position),this.width=t.displayWidth,this.height=t.displayHeight,this.halfWidth=Math.abs(this.width/2),this.halfHeight=Math.abs(this.height/2),this.center.set(this.position.x+this.halfWidth,this.position.y+this.halfHeight),this.world.staticTree.insert(this),this},setOffset:function(t,e){return void 0===e&&(e=t),this.world.staticTree.remove(this),this.position.x-=this.offset.x,this.position.y-=this.offset.y,this.offset.set(t,e),this.position.x+=this.offset.x,this.position.y+=this.offset.y,this.updateCenter(),this.world.staticTree.insert(this),this},setSize:function(t,e,i){void 0===i&&(i=!0);var r=this.gameObject;if(r&&r.frame&&(t||(t=r.frame.realWidth),e||(e=r.frame.realHeight)),this.world.staticTree.remove(this),this.width=t,this.height=e,this.halfWidth=Math.floor(t/2),this.halfHeight=Math.floor(e/2),i&&r&&r.getCenter){var s=r.displayWidth/2,n=r.displayHeight/2;this.position.x-=this.offset.x,this.position.y-=this.offset.y,this.offset.set(s-this.halfWidth,n-this.halfHeight),this.position.x+=this.offset.x,this.position.y+=this.offset.y}return this.updateCenter(),this.isCircle=!1,this.radius=0,this.world.staticTree.insert(this),this},setCircle:function(t,e,i){return void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.world.staticTree.remove(this),this.isCircle=!0,this.radius=t,this.width=2*t,this.height=2*t,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.set(e,i),this.updateCenter(),this.world.staticTree.insert(this)):this.isCircle=!1,this},updateCenter:function(){this.center.set(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},reset:function(t,e){var i=this.gameObject;void 0===t&&(t=i.x),void 0===e&&(e=i.y),this.world.staticTree.remove(this),i.setPosition(t,e),i.getTopLeft(this.position),this.position.x+=this.offset.x,this.position.y+=this.offset.y,this.updateCenter(),this.world.staticTree.insert(this)},stop:function(){return this},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,e){return this.isCircle?r(this,t,e):o(this,t,e)},postUpdate:function(){},deltaAbsX:function(){return 0},deltaAbsY:function(){return 0},deltaX:function(){return 0},deltaY:function(){return 0},deltaZ:function(){return 0},destroy:function(){this.enable=!1,this.world.pendingDestroy.add(this)},drawDebug:function(t){var e=this.position,i=e.x+this.halfWidth,r=e.y+this.halfHeight;this.debugShowBody&&(t.lineStyle(t.defaultStrokeWidth,this.debugBodyColor,1),this.isCircle?t.strokeCircle(i,r,this.width/2):t.strokeRect(e.x,e.y,this.width,this.height))},willDrawDebug:function(){return this.debugShowBody},setMass:function(t){return t<=0&&(t=.1),this.mass=t,this},x:{get:function(){return this.position.x},set:function(t){this.world.staticTree.remove(this),this.position.x=t,this.world.staticTree.insert(this)}},y:{get:function(){return this.position.y},set:function(t){this.world.staticTree.remove(this),this.position.y=t,this.world.staticTree.insert(this)}},left:{get:function(){return this.position.x}},right:{get:function(){return this.position.x+this.width}},top:{get:function(){return this.position.y}},bottom:{get:function(){return this.position.y+this.height}}});t.exports=u},71464(t,e,i){var r=i(13759),s=i(83419),n=i(78389),a=i(37747),o=i(95540),h=i(26479),l=i(41212),u=new s({Extends:h,Mixins:[n],initialize:function(t,e,i,s){i||s?l(i)?(s=i,i=null,s.internalCreateCallback=this.createCallbackHandler,s.internalRemoveCallback=this.removeCallbackHandler,s.createMultipleCallback=this.createMultipleCallbackHandler,s.classType=o(s,"classType",r)):Array.isArray(i)&&l(i[0])?(s=i,i=null,s.forEach(function(t){t.internalCreateCallback=this.createCallbackHandler,t.internalRemoveCallback=this.removeCallbackHandler,t.createMultipleCallback=this.createMultipleCallbackHandler,t.classType=o(t,"classType",r)},this)):s={internalCreateCallback:this.createCallbackHandler,internalRemoveCallback:this.removeCallbackHandler}:s={internalCreateCallback:this.createCallbackHandler,internalRemoveCallback:this.removeCallbackHandler,createMultipleCallback:this.createMultipleCallbackHandler,classType:r},this.world=t,this.physicsType=a.STATIC_BODY,this.collisionCategory=1,this.collisionMask=1,h.call(this,e,i,s),this.type="StaticPhysicsGroup"},createCallbackHandler:function(t){t.body&&t.body.physicsType===a.STATIC_BODY||(t.body&&(t.body.destroy(),t.body=null),this.world.enableBody(t,a.STATIC_BODY))},removeCallbackHandler:function(t){t.body&&this.world.disableBody(t)},createMultipleCallbackHandler:function(){this.refresh()},refresh:function(){for(var t=Array.from(this.children),e=0;e=r;if(this.fixedStep||(i=.001*e,n=!0,this._elapsed=0),s.forEach(function(t){t.enable&&t.preUpdate(n,i)}),n){this._elapsed-=r,this.stepsLastFrame=1,this.useTree&&(this.tree.clear(),this.tree.load(Array.from(s)));for(var a=this.colliders.update(),o=0;o=r;)this._elapsed-=r,this.step(i)}},step:function(t){var e=this.bodies;e.forEach(function(e){e.enable&&e.update(t)}),this.useTree&&(this.tree.clear(),this.tree.load(Array.from(e)));for(var i=this.colliders.update(),r=0;r0){var s=this.tree,n=this.staticTree;r.forEach(function(i){i.physicsType===h.DYNAMIC_BODY?(s.remove(i),t.delete(i)):i.physicsType===h.STATIC_BODY&&(n.remove(i),e.delete(i)),i.world=void 0,i.gameObject=void 0}),r.clear()}},updateMotion:function(t,e){t.allowRotation&&this.computeAngularVelocity(t,e),this.computeVelocity(t,e)},computeAngularVelocity:function(t,e){var i=t.angularVelocity,r=t.angularAcceleration,s=t.angularDrag,a=t.maxAngular;r?i+=r*e:t.allowDrag&&s&&(p(i-(s*=e),0,.1)?i-=s:g(i+s,0,.1)?i+=s:i=0);var o=(i=n(i,-a,a))-t.angularVelocity;t.angularVelocity+=o,t.rotation+=t.angularVelocity*e},computeVelocity:function(t,e){var i=t.velocity.x,r=t.acceleration.x,s=t.drag.x,a=t.maxVelocity.x,o=t.velocity.y,h=t.acceleration.y,l=t.drag.y,u=t.maxVelocity.y,d=t.speed,c=t.maxSpeed,m=t.allowDrag,v=t.useDamping;t.allowGravity&&(i+=(this.gravity.x+t.gravity.x)*e,o+=(this.gravity.y+t.gravity.y)*e),r?i+=r*e:m&&s&&(v?(i*=s=Math.pow(s,e),d=Math.sqrt(i*i+o*o),f(d,0,.001)&&(i=0)):p(i-(s*=e),0,.01)?i-=s:g(i+s,0,.01)?i+=s:i=0),h?o+=h*e:m&&l&&(v?(o*=l=Math.pow(l,e),d=Math.sqrt(i*i+o*o),f(d,0,.001)&&(o=0)):p(o-(l*=e),0,.01)?o-=l:g(o+l,0,.01)?o+=l:o=0),i=n(i,-a,a),o=n(o,-u,u),t.velocity.set(i,o),c>-1&&t.velocity.length()>c&&(t.velocity.normalize().scale(c),d=c),t.speed=d},separate:function(t,e,i,r,s){var n,a,o=!1,h=!0;if(!t.enable||!e.enable||t.checkCollision.none||e.checkCollision.none||!this.intersects(t,e)||0===(t.collisionMask&e.collisionCategory)||0===(e.collisionMask&t.collisionCategory))return o;if(i&&!1===i.call(r,t.gameObject||t,e.gameObject||e))return o;if(t.isCircle||e.isCircle){var l=this.separateCircle(t,e,s);l.result?(o=!0,h=!1):(n=l.x,a=l.y,h=!0)}if(h){var u=!1,d=!1,f=this.OVERLAP_BIAS;s?(u=A(t,e,s,f,n),d=_(t,e,s,f,a)):this.forceX||Math.abs(this.gravity.y+t.gravity.y)C&&(p=l(y,x,C,b)-w):x>E&&(yC&&(p=l(y,x,C,E)-w)),p*=-1}else p=t.halfWidth+e.halfWidth-u(a,o);t.overlapR=p,e.overlapR=p;var A=r(a,o),_=(p+T.EPSILON)*Math.cos(A),M=(p+T.EPSILON)*Math.sin(A),R={overlap:p,result:!1,x:_,y:M};if(i&&(!g||g&&0!==p))return R.result=!0,R;if(!g&&0===p||h&&d||t.customSeparateX||e.customSeparateX)return R.x=void 0,R.y=void 0,R;var P=!t.pushable&&!e.pushable;if(g){var O=a.x-o.x,L=a.y-o.y,D=Math.sqrt(Math.pow(O,2)+Math.pow(L,2)),F=(o.x-a.x)/D||0,I=(o.y-a.y)/D||0,N=2*(c.x*F+c.y*I-f.x*F-f.y*I)/(t.mass+e.mass);!h&&!d&&t.pushable&&e.pushable||(N*=2),!h&&t.pushable&&(c.x=c.x-N/t.mass*F,c.y=c.y-N/t.mass*I,c.multiply(t.bounce)),!d&&e.pushable&&(f.x=f.x+N/e.mass*F,f.y=f.y+N/e.mass*I,f.multiply(e.bounce)),h||d||(_*=.5,M*=.5),(!h||t.pushable||P)&&(t.x-=_,t.y-=M,t.updateCenter()),(!d||e.pushable||P)&&(e.x+=_,e.y+=M,e.updateCenter()),R.result=!0}else h||!t.pushable&&!P||(t.x-=_,t.y-=M,t.updateCenter()),(!d||e.pushable||P)&&(e.x+=_,e.y+=M,e.updateCenter()),R.x=void 0,R.y=void 0;return R},intersects:function(t,e){return t!==e&&(t.isCircle||e.isCircle?t.isCircle?e.isCircle?u(t.center,e.center)<=t.halfWidth+e.halfWidth:this.circleBodyIntersects(t,e):this.circleBodyIntersects(e,t):!(t.right<=e.left||t.bottom<=e.top||t.left>=e.right||t.top>=e.bottom))},circleBodyIntersects:function(t,e){var i=n(t.center.x,e.left,e.right),r=n(t.center.y,e.top,e.bottom);return(t.center.x-i)*(t.center.x-i)+(t.center.y-r)*(t.center.y-r)<=t.halfWidth*t.halfWidth},overlap:function(t,e,i,r,s){return void 0===i&&(i=null),void 0===r&&(r=null),void 0===s&&(s=i),this.collideObjects(t,e,i,r,s,!0)},collide:function(t,e,i,r,s){return void 0===i&&(i=null),void 0===r&&(r=null),void 0===s&&(s=i),this.collideObjects(t,e,i,r,s,!1)},collideObjects:function(t,e,i,r,s,n){var a,o;!t.isParent||void 0!==t.physicsType&&void 0!==e&&t!==e||(t=Array.from(t.children)),e&&e.isParent&&void 0===e.physicsType&&(e=Array.from(e.children));var h=Array.isArray(t),l=Array.isArray(e);if(this._total=0,h||l)if(!h&&l)for(a=0;a0},collideHandler:function(t,e,i,r,s,n){if(void 0===e&&t.isParent)return this.collideGroupVsGroup(t,t,i,r,s,n);if(!t||!e)return!1;if(t.body||t.isBody){if(e.body||e.isBody)return this.collideSpriteVsSprite(t,e,i,r,s,n);if(e.isParent)return this.collideSpriteVsGroup(t,e,i,r,s,n);if(e.isTilemap)return this.collideSpriteVsTilemapLayer(t,e,i,r,s,n)}else if(t.isParent){if(e.body||e.isBody)return this.collideSpriteVsGroup(e,t,i,r,s,n);if(e.isParent)return this.collideGroupVsGroup(t,e,i,r,s,n);if(e.isTilemap)return this.collideGroupVsTilemapLayer(t,e,i,r,s,n)}else if(t.isTilemap){if(e.body||e.isBody)return this.collideSpriteVsTilemapLayer(e,t,i,r,s,n);if(e.isParent)return this.collideGroupVsTilemapLayer(e,t,i,r,s,n)}},canCollide:function(t,e){return t&&e&&0!==(t.collisionMask&e.collisionCategory)&&0!==(e.collisionMask&t.collisionCategory)},collideSpriteVsSprite:function(t,e,i,r,s,n){var a=t.isBody?t:t.body,o=e.isBody?e:e.body;return!!this.canCollide(a,o)&&(this.separate(a,o,r,s,n)&&(i&&i.call(s,t,e),this._total++),!0)},collideSpriteVsGroup:function(t,e,i,r,s,n){var a,o,l,u=t.isBody?t:t.body;if(0!==e.getLength()&&u&&u.enable&&!u.checkCollision.none&&this.canCollide(u,e))if(this.useTree||e.physicsType===h.STATIC_BODY){var d=this.treeMinMax;d.minX=u.left,d.minY=u.top,d.maxX=u.right,d.maxY=u.bottom;var c=e.physicsType===h.DYNAMIC_BODY?this.tree.search(d):this.staticTree.search(d);for(o=c.length,a=0;a0&&(t.blocked.none=!1,t.blocked.right=!0),t.position.x-=e,t.updateCenter(),0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x}},67013(t){t.exports=function(t,e){e<0?(t.blocked.none=!1,t.blocked.up=!0):e>0&&(t.blocked.none=!1,t.blocked.down=!0),t.position.y-=e,t.updateCenter(),0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},40012(t,e,i){var r=i(21329),s=i(53442),n=i(2483);t.exports=function(t,e,i,a,o,h,l){var u=a.left,d=a.top,c=a.right,f=a.bottom,p=i.faceLeft||i.faceRight,g=i.faceTop||i.faceBottom;if(l||(p=!0,g=!0),!p&&!g)return!1;var m=0,v=0,y=0,x=1;if(e.deltaAbsX()>e.deltaAbsY()?y=-1:e.deltaAbsX()0&&u&&t.checkCollision.right&&h&&t.right>i&&(o=t.right-i)>n&&(o=0),0!==o&&(t.customSeparateX?t.overlapX=o:r(t,o)),o}},53442(t,e,i){var r=i(67013);t.exports=function(t,e,i,s,n,a){var o=0,h=e.faceTop,l=e.faceBottom,u=e.collideUp,d=e.collideDown;return a||(h=!0,l=!0,u=!0,d=!0),t.deltaY()<0&&d&&t.checkCollision.up?l&&t.y0&&u&&t.checkCollision.down&&h&&t.bottom>i&&(o=t.bottom-i)>n&&(o=0),0!==o&&(t.customSeparateY?t.overlapY=o:r(t,o)),o}},2483(t){t.exports=function(t,e){return!(e.right<=t.left||e.bottom<=t.top||e.position.x>=t.right||e.position.y>=t.bottom)}},55173(t,e,i){var r={ProcessTileCallbacks:i(96602),ProcessTileSeparationX:i(36294),ProcessTileSeparationY:i(67013),SeparateTile:i(40012),TileCheckX:i(21329),TileCheckY:i(53442),TileIntersectsBody:i(2483)};t.exports=r},44563(t,e,i){t.exports={Arcade:i(27064),Matter:i(3875)}},68174(t,e,i){var r=i(83419),s=i(26099),n=new r({initialize:function(){this.boundsCenter=new s,this.centerDiff=new s},parseBody:function(t){if(!(t=t.hasOwnProperty("body")?t.body:t).hasOwnProperty("bounds")||!t.hasOwnProperty("centerOfMass"))return!1;var e=this.boundsCenter,i=this.centerDiff,r=t.bounds.max.x-t.bounds.min.x,s=t.bounds.max.y-t.bounds.min.y,n=r*t.centerOfMass.x,a=s*t.centerOfMass.y;return e.set(r/2,s/2),i.set(n-e.x,a-e.y),!0},getTopLeft:function(t,e,i){if(void 0===e&&(e=0),void 0===i&&(i=0),this.parseBody(t)){var r=this.boundsCenter,n=this.centerDiff;return new s(e+r.x+n.x,i+r.y+n.y)}return!1},getTopCenter:function(t,e,i){if(void 0===e&&(e=0),void 0===i&&(i=0),this.parseBody(t)){var r=this.boundsCenter,n=this.centerDiff;return new s(e+n.x,i+r.y+n.y)}return!1},getTopRight:function(t,e,i){if(void 0===e&&(e=0),void 0===i&&(i=0),this.parseBody(t)){var r=this.boundsCenter,n=this.centerDiff;return new s(e-(r.x-n.x),i+r.y+n.y)}return!1},getLeftCenter:function(t,e,i){if(void 0===e&&(e=0),void 0===i&&(i=0),this.parseBody(t)){var r=this.boundsCenter,n=this.centerDiff;return new s(e+r.x+n.x,i+n.y)}return!1},getCenter:function(t,e,i){if(void 0===e&&(e=0),void 0===i&&(i=0),this.parseBody(t)){var r=this.centerDiff;return new s(e+r.x,i+r.y)}return!1},getRightCenter:function(t,e,i){if(void 0===e&&(e=0),void 0===i&&(i=0),this.parseBody(t)){var r=this.boundsCenter,n=this.centerDiff;return new s(e-(r.x-n.x),i+n.y)}return!1},getBottomLeft:function(t,e,i){if(void 0===e&&(e=0),void 0===i&&(i=0),this.parseBody(t)){var r=this.boundsCenter,n=this.centerDiff;return new s(e+r.x+n.x,i-(r.y-n.y))}return!1},getBottomCenter:function(t,e,i){if(void 0===e&&(e=0),void 0===i&&(i=0),this.parseBody(t)){var r=this.boundsCenter,n=this.centerDiff;return new s(e+n.x,i-(r.y-n.y))}return!1},getBottomRight:function(t,e,i){if(void 0===e&&(e=0),void 0===i&&(i=0),this.parseBody(t)){var r=this.boundsCenter,n=this.centerDiff;return new s(e-(r.x-n.x),i-(r.y-n.y))}return!1}});t.exports=n},19933(t,e,i){var r=i(6790);r.Body=i(22562),r.Composite=i(69351),r.World=i(4372),r.Collision=i(52284),r.Detector=i(81388),r.Pairs=i(99561),r.Pair=i(4506),r.Query=i(73296),r.Resolver=i(66272),r.Constraint=i(48140),r.Common=i(53402),r.Engine=i(48413),r.Events=i(35810),r.Sleeping=i(53614),r.Plugin=i(73832),r.Bodies=i(66280),r.Composites=i(74116),r.Axes=i(66615),r.Bounds=i(15647),r.Svg=i(74058),r.Vector=i(31725),r.Vertices=i(41598),r.World.add=r.Composite.add,r.World.remove=r.Composite.remove,r.World.addComposite=r.Composite.addComposite,r.World.addBody=r.Composite.addBody,r.World.addConstraint=r.Composite.addConstraint,r.World.clear=r.Composite.clear,t.exports=r},28137(t,e,i){var r=i(66280),s=i(83419),n=i(74116),a=i(48140),o=i(74058),h=i(75803),l=i(23181),u=i(34803),d=i(73834),c=i(19496),f=i(85791),p=i(98713),g=i(41598),m=new s({initialize:function(t){this.world=t,this.scene=t.scene,this.sys=t.scene.sys},rectangle:function(t,e,i,s,n){var a=r.rectangle(t,e,i,s,n);return this.world.add(a),a},trapezoid:function(t,e,i,s,n,a){var o=r.trapezoid(t,e,i,s,n,a);return this.world.add(o),o},circle:function(t,e,i,s,n){var a=r.circle(t,e,i,s,n);return this.world.add(a),a},polygon:function(t,e,i,s,n){var a=r.polygon(t,e,i,s,n);return this.world.add(a),a},fromVertices:function(t,e,i,s,n,a,o){"string"==typeof i&&(i=g.fromPath(i));var h=r.fromVertices(t,e,i,s,n,a,o);return this.world.add(h),h},fromPhysicsEditor:function(t,e,i,r,s){void 0===s&&(s=!0);var n=c.parseBody(t,e,i,r);return s&&!this.world.has(n)&&this.world.add(n),n},fromSVG:function(t,e,i,s,n,a){void 0===s&&(s=1),void 0===n&&(n={}),void 0===a&&(a=!0);for(var h=i.getElementsByTagName("path"),l=[],u=0;u0},intersectPoint:function(t,e,i){i=this.getMatterBodies(i);var r=M.create(t,e),s=[];return C.point(i,r).forEach(function(t){-1===s.indexOf(t)&&s.push(t)}),s},intersectRect:function(t,e,i,r,s,n){void 0===s&&(s=!1),n=this.getMatterBodies(n);var a={min:{x:t,y:e},max:{x:t+i,y:e+r}},o=[];return C.region(n,a,s).forEach(function(t){-1===o.indexOf(t)&&o.push(t)}),o},intersectRay:function(t,e,i,r,s,n){void 0===s&&(s=1),n=this.getMatterBodies(n);for(var a=[],o=C.ray(n,M.create(t,e),M.create(i,r),s),h=0;h0?this.setFromTileCollision(i):this.setFromTileRectangle(i),r=this.body}if(e.flipX||e.flipY){var o={x:e.getCenterX(),y:e.getCenterY()},u=e.flipX?-1:1,d=e.flipY?-1:1;s.scale(r,u,d,o)}},setFromTileRectangle:function(t){void 0===t&&(t={}),u(t,"isStatic")||(t.isStatic=!0),u(t,"addToWorld")||(t.addToWorld=!0);var e=this.tile.getBounds(),i=e.x+e.width/2,s=e.y+e.height/2,n=r.rectangle(i,s,e.width,e.height,t);return this.setBody(n,t.addToWorld),this},setFromTileCollision:function(t){void 0===t&&(t={}),u(t,"isStatic")||(t.isStatic=!0),u(t,"addToWorld")||(t.addToWorld=!0);for(var e=this.tile.tilemapLayer.scaleX,i=this.tile.tilemapLayer.scaleY,n=this.tile.getLeft(),a=this.tile.getTop(),h=this.tile.getCollisionGroup(),c=l(h,"objects",[]),f=[],p=0;p1){var C=o(t);C.parts=f,this.setBody(s.create(C),C.addToWorld)}return this},setBody:function(t,e){return void 0===e&&(e=!0),this.body&&this.removeBody(),this.body=t,this.body.gameObject=this,e&&this.world.add(this.body),this},removeBody:function(){return this.body&&(this.world.remove(this.body),this.body.gameObject=void 0,this.body=void 0),this},destroy:function(){this.removeBody(),this.tile.physics.matterBody=void 0,this.removeAllListeners()}});t.exports=c},19496(t,e,i){var r=i(66280),s=i(22562),n=i(53402),a=i(95540),o=i(41598),h={parseBody:function(t,e,i,r){void 0===r&&(r={});for(var o=a(i,"fixtures",[]),h=[],l=0;l1?1:0;s0&&s.map(function(t){i=t.bodyA,r=t.bodyB,i.gameObject&&i.gameObject.emit("collide",i,r,t),r.gameObject&&r.gameObject.emit("collide",r,i,t),p.trigger(i,"onCollide",{pair:t}),p.trigger(r,"onCollide",{pair:t}),i.onCollideCallback&&i.onCollideCallback(t),r.onCollideCallback&&r.onCollideCallback(t),i.onCollideWith[r.id]&&i.onCollideWith[r.id](r,t),r.onCollideWith[i.id]&&r.onCollideWith[i.id](i,t)}),t.emit(u.COLLISION_START,e,i,r)}),p.on(e,"collisionActive",function(e){var i,r,s=e.pairs;s.length>0&&s.map(function(t){i=t.bodyA,r=t.bodyB,i.gameObject&&i.gameObject.emit("collideActive",i,r,t),r.gameObject&&r.gameObject.emit("collideActive",r,i,t),p.trigger(i,"onCollideActive",{pair:t}),p.trigger(r,"onCollideActive",{pair:t}),i.onCollideActiveCallback&&i.onCollideActiveCallback(t),r.onCollideActiveCallback&&r.onCollideActiveCallback(t)}),t.emit(u.COLLISION_ACTIVE,e,i,r)}),p.on(e,"collisionEnd",function(e){var i,r,s=e.pairs;s.length>0&&s.map(function(t){i=t.bodyA,r=t.bodyB,i.gameObject&&i.gameObject.emit("collideEnd",i,r,t),r.gameObject&&r.gameObject.emit("collideEnd",r,i,t),p.trigger(i,"onCollideEnd",{pair:t}),p.trigger(r,"onCollideEnd",{pair:t}),i.onCollideEndCallback&&i.onCollideEndCallback(t),r.onCollideEndCallback&&r.onCollideEndCallback(t)}),t.emit(u.COLLISION_END,e,i,r)})},setBounds:function(t,e,i,r,s,n,a,o,h){return void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=this.scene.sys.scale.width),void 0===r&&(r=this.scene.sys.scale.height),void 0===s&&(s=64),void 0===n&&(n=!0),void 0===a&&(a=!0),void 0===o&&(o=!0),void 0===h&&(h=!0),this.updateWall(n,"left",t-s,e-s,s,r+2*s),this.updateWall(a,"right",t+i,e-s,s,r+2*s),this.updateWall(o,"top",t,e-s,i,s),this.updateWall(h,"bottom",t,e+r,i,s),this},updateWall:function(t,e,i,r,s,n){var a=this.walls[e];t?(a&&m.remove(this.localWorld,a),i+=s/2,r+=n/2,this.walls[e]=this.create(i,r,s,n,{isStatic:!0,friction:0,frictionStatic:0})):(a&&m.remove(this.localWorld,a),this.walls[e]=null)},createDebugGraphic:function(){var t=this.scene.sys.add.graphics({x:0,y:0});return t.setDepth(Number.MAX_VALUE),this.debugGraphic=t,this.drawDebug=!0,t},disableGravity:function(){return this.localWorld.gravity.x=0,this.localWorld.gravity.y=0,this.localWorld.gravity.scale=0,this},setGravity:function(t,e,i){return void 0===t&&(t=0),void 0===e&&(e=1),void 0===i&&(i=.001),this.localWorld.gravity.x=t,this.localWorld.gravity.y=e,this.localWorld.gravity.scale=i,this},create:function(t,e,i,s,n){var a=r.rectangle(t,e,i,s,n);return m.add(this.localWorld,a),a},add:function(t){return m.add(this.localWorld,t),this},remove:function(t,e){Array.isArray(t)||(t=[t]);for(var i=0;iMath.max(v._maxFrameDelta,i.maxFrameTime))&&(o=i.frameDelta||v._frameDeltaFallback),i.frameDeltaSmoothing){i.frameDeltaHistory.push(o),i.frameDeltaHistory=i.frameDeltaHistory.slice(-i.frameDeltaHistorySize);var l=i.frameDeltaHistory.slice(0).sort(),u=i.frameDeltaHistory.slice(l.length*v._smoothingLowerBound,l.length*v._smoothingUpperBound);o=v._mean(u)||o}i.frameDeltaSnapping&&(o=1e3/Math.round(1e3/o)),i.frameDelta=o,i.timeLastTick=t,i.timeBuffer+=i.frameDelta,i.timeBuffer=a.clamp(i.timeBuffer,0,i.frameDelta+s*v._timeBufferMargin),i.lastUpdatesDeferred=0;for(var d=i.maxUpdates||Math.ceil(i.maxFrameTime/s),c=a.now();s>0&&i.timeBuffer>=s*v._timeBufferMargin;){h.update(e,s),i.timeBuffer-=s,n+=1;var f=a.now()-r,p=a.now()-c,g=f+v._elapsedNextEstimate*p/n;if(n>=d||g>i.maxFrameTime){i.lastUpdatesDeferred=Math.round(Math.max(0,i.timeBuffer/s-v._timeBufferMargin));break}}}},step:function(t){h.update(this.engine,t)},update60Hz:function(){return 1e3/60},update30Hz:function(){return 1e3/30},has:function(t){var e=t.hasOwnProperty("body")?t.body:t;return null!==o.get(this.localWorld,e.id,e.type)},getAllBodies:function(){return o.allBodies(this.localWorld)},getAllConstraints:function(){return o.allConstraints(this.localWorld)},getAllComposites:function(){return o.allComposites(this.localWorld)},postUpdate:function(){if(this.drawDebug){var t=this.debugConfig,e=this.engine,i=this.debugGraphic,r=o.allBodies(this.localWorld);this.debugGraphic.clear(),t.showBroadphase&&e.broadphase.controller&&this.renderGrid(e.broadphase,i,t.broadphaseColor,.5),t.showBounds&&this.renderBodyBounds(r,i,t.boundsColor,.5),(t.showBody||t.showStaticBody)&&this.renderBodies(r),t.showJoint&&this.renderJoints(),(t.showAxes||t.showAngleIndicator)&&this.renderBodyAxes(r,i,t.showAxes,t.angleColor,.5),t.showVelocity&&this.renderBodyVelocity(r,i,t.velocityColor,1,2),t.showSeparations&&this.renderSeparations(e.pairs.list,i,t.separationColor),t.showCollisions&&this.renderCollisions(e.pairs.list,i,t.collisionColor)}},renderGrid:function(t,e,i,r){e.lineStyle(1,i,r);for(var s=a.keys(t.buckets),n=0;n0){var l=h[0].vertex.x,u=h[0].vertex.y;2===s.contactCount&&(l=(h[0].vertex.x+h[1].vertex.x)/2,u=(h[0].vertex.y+h[1].vertex.y)/2),o.bodyB===o.supports[0].body||o.bodyA.isStatic?e.lineBetween(l-8*o.normal.x,u-8*o.normal.y,l,u):e.lineBetween(l+8*o.normal.x,u+8*o.normal.y,l,u)}}return this},renderBodyBounds:function(t,e,i,r){e.lineStyle(1,i,r);for(var s=0;s1?1:0;h1?1:0;o1?1:0;o1&&this.renderConvexHull(g,e,f,y)}}},renderBody:function(t,e,i,r,s,n,a,o){void 0===r&&(r=null),void 0===s&&(s=null),void 0===n&&(n=1),void 0===a&&(a=null),void 0===o&&(o=null);for(var h=this.debugConfig,l=h.sensorFillColor,u=h.sensorLineColor,d=t.parts,c=d.length,f=c>1?1:0;f1){var s=t.vertices;e.lineStyle(r,i),e.beginPath(),e.moveTo(s[0].x,s[0].y);for(var n=1;n0&&(e.fillStyle(o),e.fillCircle(u.x,u.y,h),e.fillCircle(d.x,d.y,h)),this},resetCollisionIDs:function(){return s._nextCollidingGroupId=1,s._nextNonCollidingGroupId=-1,s._nextCategory=1,this},shutdown:function(){p.off(this.engine),this.removeAllListeners(),m.clear(this.localWorld,!1),h.clear(this.engine),this.drawDebug&&this.debugGraphic.destroy()},destroy:function(){this.shutdown()}});t.exports=x},70410(t){t.exports={setBounce:function(t){return this.body.restitution=t,this}}},66968(t){var e={setCollisionCategory:function(t){return this.body.collisionFilter.category=t,this},setCollisionGroup:function(t){return this.body.collisionFilter.group=t,this},setCollidesWith:function(t){var e=0;if(Array.isArray(t))for(var i=0;i0&&n.rotateAbout(o.position,r,t.position,o.position)}},r.setVelocity=function(t,e){var i=t.deltaTime/r._baseDelta;t.positionPrev.x=t.position.x-e.x*i,t.positionPrev.y=t.position.y-e.y*i,t.velocity.x=(t.position.x-t.positionPrev.x)/i,t.velocity.y=(t.position.y-t.positionPrev.y)/i,t.speed=n.magnitude(t.velocity)},r.getVelocity=function(t){var e=r._baseDelta/t.deltaTime;return{x:(t.position.x-t.positionPrev.x)*e,y:(t.position.y-t.positionPrev.y)*e}},r.getSpeed=function(t){return n.magnitude(r.getVelocity(t))},r.setSpeed=function(t,e){r.setVelocity(t,n.mult(n.normalise(r.getVelocity(t)),e))},r.setAngularVelocity=function(t,e){var i=t.deltaTime/r._baseDelta;t.anglePrev=t.angle-e*i,t.angularVelocity=(t.angle-t.anglePrev)/i,t.angularSpeed=Math.abs(t.angularVelocity)},r.getAngularVelocity=function(t){return(t.angle-t.anglePrev)*r._baseDelta/t.deltaTime},r.getAngularSpeed=function(t){return Math.abs(r.getAngularVelocity(t))},r.setAngularSpeed=function(t,e){r.setAngularVelocity(t,o.sign(r.getAngularVelocity(t))*e)},r.translate=function(t,e,i){r.setPosition(t,n.add(t.position,e),i)},r.rotate=function(t,e,i,s){if(i){var n=Math.cos(e),a=Math.sin(e),o=t.position.x-i.x,h=t.position.y-i.y;r.setPosition(t,{x:i.x+(o*n-h*a),y:i.y+(o*a+h*n)},s),r.setAngle(t,t.angle+e,s)}else r.setAngle(t,t.angle+e,s)},r.scale=function(t,e,i,n){var a=0,o=0;n=n||t.position;for(var u=t.inertia===1/0,d=0;d0&&(a+=c.area,o+=c.inertia),c.position.x=n.x+(c.position.x-n.x)*e,c.position.y=n.y+(c.position.y-n.y)*i,h.update(c.bounds,c.vertices,t.velocity)}t.parts.length>1&&(t.area=a,t.isStatic||(r.setMass(t,t.density*a),r.setInertia(t,o))),t.circleRadius&&(e===i?t.circleRadius*=e:t.circleRadius=null),u&&r.setInertia(t,1/0)},r.update=function(t,e){var i=(e=(void 0!==e?e:1e3/60)*t.timeScale)*e,a=r._timeCorrection?e/(t.deltaTime||e):1,u=1-t.frictionAir*(e/o._baseDelta),d=(t.position.x-t.positionPrev.x)*a,c=(t.position.y-t.positionPrev.y)*a;t.velocity.x=d*u+t.force.x/t.mass*i,t.velocity.y=c*u+t.force.y/t.mass*i,t.positionPrev.x=t.position.x,t.positionPrev.y=t.position.y,t.position.x+=t.velocity.x,t.position.y+=t.velocity.y,t.deltaTime=e,t.angularVelocity=(t.angle-t.anglePrev)*u*a+t.torque/t.inertia*i,t.anglePrev=t.angle,t.angle+=t.angularVelocity,t.speed=n.magnitude(t.velocity),t.angularSpeed=Math.abs(t.angularVelocity);for(var f=0;f0&&(p.position.x+=t.velocity.x,p.position.y+=t.velocity.y),0!==t.angularVelocity&&(s.rotate(p.vertices,t.angularVelocity,t.position),l.rotate(p.axes,t.angularVelocity),f>0&&n.rotateAbout(p.position,t.angularVelocity,t.position,p.position)),h.update(p.bounds,p.vertices,t.velocity)}},r.updateVelocities=function(t){var e=r._baseDelta/t.deltaTime,i=t.velocity;i.x=(t.position.x-t.positionPrev.x)*e,i.y=(t.position.y-t.positionPrev.y)*e,t.speed=Math.sqrt(i.x*i.x+i.y*i.y),t.angularVelocity=(t.angle-t.anglePrev)*e,t.angularSpeed=Math.abs(t.angularVelocity)},r.applyForce=function(t,e,i){var r=e.x-t.position.x,s=e.y-t.position.y;t.force.x+=i.x,t.force.y+=i.y,t.torque+=r*i.y-s*i.x},r._totalProperties=function(t){for(var e={mass:0,area:0,inertia:0,centre:{x:0,y:0}},i=1===t.parts.length?0:1;i=0&&(v=-v,y=-y),d.x=v,d.y=y,c.x=-y,c.y=v,f.x=v*g,f.y=y*g,s.depth=g;var x=r._findSupports(t,e,d,1),T=0;if(o.contains(t.vertices,x[0])&&(p[T++]=x[0]),o.contains(t.vertices,x[1])&&(p[T++]=x[1]),T<2){var w=r._findSupports(e,t,d,-1);o.contains(e.vertices,w[0])&&(p[T++]=w[0]),T<2&&o.contains(e.vertices,w[1])&&(p[T++]=w[1])}return 0===T&&(p[T++]=x[0]),s.supportCount=T,s},r._overlapAxes=function(t,e,i,r){var s,n,a,o,h,l,u=e.length,d=i.length,c=e[0].x,f=e[0].y,p=i[0].x,g=i[0].y,m=r.length,v=Number.MAX_VALUE,y=0;for(h=0;hC?C=o:oE?E=o:op)break;if(!(gM.max.y)&&(!v||!T.isStatic&&!T.isSleeping)&&h(c.collisionFilter,T.collisionFilter)){var w=T.parts.length;if(x&&1===w)(A=l(c,T,s))&&(u[d++]=A);else for(var S=w>1?1:0,b=y>1?1:0;bM.max.x||f.max.xM.max.y||(A=l(C,_,s))&&(u[d++]=A)}}}}return u.length!==d&&(u.length=d),u},r.canCollide=function(t,e){return t.group===e.group&&0!==t.group?t.group>0:0!==(t.mask&e.category)&&0!==(e.mask&t.category)},r._compareBoundsX=function(t,e){return t.bounds.min.x-e.bounds.min.x}},4506(t,e,i){var r={};t.exports=r;var s=i(43424);r.create=function(t,e){var i=t.bodyA,n=t.bodyB,a={id:r.id(i,n),bodyA:i,bodyB:n,collision:t,contacts:[s.create(),s.create()],contactCount:0,separation:0,isActive:!0,isSensor:i.isSensor||n.isSensor,timeCreated:e,timeUpdated:e,inverseMass:0,friction:0,frictionStatic:0,restitution:0,slop:0};return r.update(a,t,e),a},r.update=function(t,e,i){var r=e.supports,s=e.supportCount,n=t.contacts,a=e.parentA,o=e.parentB;t.isActive=!0,t.timeUpdated=i,t.collision=e,t.separation=e.depth,t.inverseMass=a.inverseMass+o.inverseMass,t.friction=a.frictiono.frictionStatic?a.frictionStatic:o.frictionStatic,t.restitution=a.restitution>o.restitution?a.restitution:o.restitution,t.slop=a.slop>o.slop?a.slop:o.slop,t.contactCount=s,e.pair=t;var h=r[0],l=n[0],u=r[1],d=n[1];d.vertex!==h&&l.vertex!==u||(n[1]=l,n[0]=l=d,d=n[1]),l.vertex=h,d.vertex=u},r.setActive=function(t,e,i){e?(t.isActive=!0,t.timeUpdated=i):(t.isActive=!1,t.contactCount=0)},r.id=function(t,e){return t.id=i?d[f++]=n:(l(n,!1,i),n.collision.bodyA.sleepCounter>0&&n.collision.bodyB.sleepCounter>0?d[f++]=n:(g[x++]=n,delete u[n.id]));d.length!==f&&(d.length=f),p.length!==y&&(p.length=y),g.length!==x&&(g.length=x),m.length!==T&&(m.length=T)},r.clear=function(t){return t.table={},t.list.length=0,t.collisionStart.length=0,t.collisionActive.length=0,t.collisionEnd.length=0,t}},73296(t,e,i){var r={};t.exports=r;var s=i(31725),n=i(52284),a=i(15647),o=i(66280),h=i(41598);r.collides=function(t,e){for(var i=[],r=e.length,s=t.bounds,o=n.collides,h=a.overlaps,l=0;lH?(s=W>0?W:-W,(i=g.friction*(W>0?1:-1)*l)<-s?i=-s:i>s&&(i=s)):(i=W,s=f);var j=N*T-B*x,q=k*T-U*x,K=_/(b+v.inverseInertia*j*j+y.inverseInertia*q*q),Z=(1+g.restitution)*X*K;if(i*=K,X0&&(F.normalImpulse=0),Z=F.normalImpulse-Q}if(W<-d||W>d)F.tangentImpulse=0;else{var J=F.tangentImpulse;F.tangentImpulse+=i,F.tangentImpulse<-s&&(F.tangentImpulse=-s),F.tangentImpulse>s&&(F.tangentImpulse=s),i=F.tangentImpulse-J}var $=x*Z+w*i,tt=T*Z+S*i;v.isStatic||v.isSleeping||(v.positionPrev.x+=$*v.inverseMass,v.positionPrev.y+=tt*v.inverseMass,v.anglePrev+=(N*tt-B*$)*v.inverseInertia),y.isStatic||y.isSleeping||(y.positionPrev.x-=$*y.inverseMass,y.positionPrev.y-=tt*y.inverseMass,y.anglePrev-=(k*tt-U*$)*y.inverseInertia)}}}}},48140(t,e,i){var r={};t.exports=r;var s=i(41598),n=i(31725),a=i(53614),o=i(15647),h=i(66615),l=i(53402);r._warming=.4,r._torqueDampen=1,r._minLength=1e-6,r.create=function(t){var e=t;e.bodyA&&!e.pointA&&(e.pointA={x:0,y:0}),e.bodyB&&!e.pointB&&(e.pointB={x:0,y:0});var i=e.bodyA?n.add(e.bodyA.position,e.pointA):e.pointA,r=e.bodyB?n.add(e.bodyB.position,e.pointB):e.pointB,s=n.magnitude(n.sub(i,r));e.length=void 0!==e.length?e.length:s,e.id=e.id||l.nextId(),e.label=e.label||"Constraint",e.type="constraint",e.stiffness=e.stiffness||(e.length>0?1:.7),e.damping=e.damping||0,e.angularStiffness=e.angularStiffness||0,e.angleA=e.bodyA?e.bodyA.angle:e.angleA,e.angleB=e.bodyB?e.bodyB.angle:e.angleB,e.plugin={};var a={visible:!0,type:"line",anchors:!0,lineColor:null,lineOpacity:null,lineThickness:null,pinSize:null,anchorColor:null,anchorSize:null};return 0===e.length&&e.stiffness>.1?(a.type="pin",a.anchors=!1):e.stiffness<.9&&(a.type="spring"),e.render=l.extend(a,e.render),e},r.preSolveAll=function(t){for(var e=0;e=1||0===t.length?t.stiffness*e:t.stiffness*e*e,x=t.damping*e,T=n.mult(u,v*y),w=(i?i.inverseMass:0)+(s?s.inverseMass:0),S=w+((i?i.inverseInertia:0)+(s?s.inverseInertia:0));if(x>0){var b=n.create();p=n.div(u,d),m=n.sub(s&&n.sub(s.position,s.positionPrev)||b,i&&n.sub(i.position,i.positionPrev)||b),g=n.dot(p,m)}i&&!i.isStatic&&(f=i.inverseMass/w,i.constraintImpulse.x-=T.x*f,i.constraintImpulse.y-=T.y*f,i.position.x-=T.x*f,i.position.y-=T.y*f,x>0&&(i.positionPrev.x-=x*p.x*g*f,i.positionPrev.y-=x*p.y*g*f),c=n.cross(a,T)/S*r._torqueDampen*i.inverseInertia*(1-t.angularStiffness),i.constraintImpulse.angle-=c,i.angle-=c),s&&!s.isStatic&&(f=s.inverseMass/w,s.constraintImpulse.x+=T.x*f,s.constraintImpulse.y+=T.y*f,s.position.x+=T.x*f,s.position.y+=T.y*f,x>0&&(s.positionPrev.x+=x*p.x*g*f,s.positionPrev.y+=x*p.y*g*f),c=n.cross(o,T)/S*r._torqueDampen*s.inverseInertia*(1-t.angularStiffness),s.constraintImpulse.angle+=c,s.angle+=c)}}},r.postSolveAll=function(t){for(var e=0;e0&&(d.position.x+=l.x,d.position.y+=l.y),0!==l.angle&&(s.rotate(d.vertices,l.angle,i.position),h.rotate(d.axes,l.angle),u>0&&n.rotateAbout(d.position,l.angle,i.position,d.position)),o.update(d.bounds,d.vertices,i.velocity)}l.angle*=r._warming,l.x*=r._warming,l.y*=r._warming}}},r.pointAWorld=function(t){return{x:(t.bodyA?t.bodyA.position.x:0)+(t.pointA?t.pointA.x:0),y:(t.bodyA?t.bodyA.position.y:0)+(t.pointA?t.pointA.y:0)}},r.pointBWorld=function(t){return{x:(t.bodyB?t.bodyB.position.x:0)+(t.pointB?t.pointB.x:0),y:(t.bodyB?t.bodyB.position.y:0)+(t.pointB?t.pointB.y:0)}},r.currentLength=function(t){var e=(t.bodyA?t.bodyA.position.x:0)+(t.pointA?t.pointA.x:0),i=(t.bodyA?t.bodyA.position.y:0)+(t.pointA?t.pointA.y:0),r=e-((t.bodyB?t.bodyB.position.x:0)+(t.pointB?t.pointB.x:0)),s=i-((t.bodyB?t.bodyB.position.y:0)+(t.pointB?t.pointB.y:0));return Math.sqrt(r*r+s*s)}},53402(t,e,i){var r={};t.exports=r,function(){r._baseDelta=1e3/60,r._nextId=0,r._seed=0,r._nowStartTime=+new Date,r._warnedOnce={},r._decomp=null,r.extend=function(t,e){var i,s;"boolean"==typeof e?(i=2,s=e):(i=1,s=!0);for(var n=i;n0;e--){var i=Math.floor(r.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},r.choose=function(t){return t[Math.floor(r.random()*t.length)]},r.isElement=function(t){return"undefined"!=typeof HTMLElement?t instanceof HTMLElement:!!(t&&t.nodeType&&t.nodeName)},r.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)},r.isFunction=function(t){return"function"==typeof t},r.isPlainObject=function(t){return"object"==typeof t&&t.constructor===Object},r.isString=function(t){return"[object String]"===toString.call(t)},r.clamp=function(t,e,i){return ti?i:t},r.sign=function(t){return t<0?-1:1},r.now=function(){if("undefined"!=typeof window&&window.performance){if(window.performance.now)return window.performance.now();if(window.performance.webkitNow)return window.performance.webkitNow()}return Date.now?Date.now():new Date-r._nowStartTime},r.random=function(e,i){return i=void 0!==i?i:1,(e=void 0!==e?e:0)+t()*(i-e)};var t=function(){return r._seed=(9301*r._seed+49297)%233280,r._seed/233280};r.colorToNumber=function(t){return 3==(t=t.replace("#","")).length&&(t=t.charAt(0)+t.charAt(0)+t.charAt(1)+t.charAt(1)+t.charAt(2)+t.charAt(2)),parseInt(t,16)},r.logLevel=1,r.log=function(){console&&r.logLevel>0&&r.logLevel<=3&&console.log.apply(console,["matter-js:"].concat(Array.prototype.slice.call(arguments)))},r.info=function(){console&&r.logLevel>0&&r.logLevel<=2&&console.info.apply(console,["matter-js:"].concat(Array.prototype.slice.call(arguments)))},r.warn=function(){console&&r.logLevel>0&&r.logLevel<=3&&console.warn.apply(console,["matter-js:"].concat(Array.prototype.slice.call(arguments)))},r.warnOnce=function(){var t=Array.prototype.slice.call(arguments).join(" ");r._warnedOnce[t]||(r.warn(t),r._warnedOnce[t]=!0)},r.deprecated=function(t,e,i){t[e]=r.chain(function(){r.warnOnce("🔅 deprecated 🔅",i)},t[e])},r.nextId=function(){return r._nextId++},r.indexOf=function(t,e){if(t.indexOf)return t.indexOf(e);for(var i=0;ir._deltaMax&&d.warnOnce("Matter.Engine.update: delta argument is recommended to be less than or equal to",r._deltaMax.toFixed(3),"ms."),e=void 0!==e?e:d._baseDelta,e*=m.timeScale,m.timestamp+=e,m.lastDelta=e;var y={timestamp:m.timestamp,delta:e};h.trigger(t,"beforeUpdate",y);var x=l.allBodies(f),T=l.allConstraints(f),w=l.allComposites(f);for(f.isModified&&(a.setBodies(p,x),l.setModified(f,!1,!1,!0)),t.enableSleeping&&s.update(x,e),r._bodiesApplyGravity(x,t.gravity),r.wrap(x,w),r.attractors(x),e>0&&r._bodiesUpdate(x,e),h.trigger(t,"beforeSolve",y),u.preSolveAll(x),i=0;i0&&h.trigger(t,"collisionStart",{pairs:g.collisionStart,timestamp:m.timestamp,delta:e});var b=d.clamp(20/t.positionIterations,0,1);for(n.preSolvePosition(g.list),i=0;i0&&h.trigger(t,"collisionActive",{pairs:g.collisionActive,timestamp:m.timestamp,delta:e}),g.collisionEnd.length>0&&h.trigger(t,"collisionEnd",{pairs:g.collisionEnd,timestamp:m.timestamp,delta:e}),r._bodiesClearForces(x),h.trigger(t,"afterUpdate",y),t.timing.lastElapsed=d.now()-c,t},r.merge=function(t,e){if(d.extend(t,e),e.world){t.world=e.world,r.clear(t);for(var i=l.allBodies(t.world),n=0;n