hilo3d
Version:
Hilo3d, a WebGL 3d engine.
34 lines (29 loc) • 158 kB
JavaScript
/*!
* Hilo3d 1.19.1
* Copyright (c) 2017-present Alibaba Group Holding Ltd.
* @license MIT
*/
window.Hilo3d=function(t){var n={};function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}return e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var i in t)e.d(r,i,function(n){return t[n]}.bind(null,i));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=110)}([function(t,n,e){
/*!
@fileoverview gl-matrix - High performance matrix and vector operations
@author Brandon Jones
@author Colin MacKenzie IV
@version 2.7.0
Copyright (c) 2015-2018, Brandon Jones, Colin MacKenzie IV.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
"undefined"!=typeof self&&self,t.exports=function(t){var n={};function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}return e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var i in t)e.d(r,i,function(n){return t[n]}.bind(null,i));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=10)}([function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.setMatrixArrayType=function(t){n.ARRAY_TYPE=t},n.toRadian=function(t){return t*i},n.equals=function(t,n){return Math.abs(t-n)<=r*Math.max(1,Math.abs(t),Math.abs(n))};var r=n.EPSILON=1e-6;n.ARRAY_TYPE="undefined"!=typeof Float32Array?Float32Array:Array,n.RANDOM=Math.random;var i=Math.PI/180},function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.forEach=n.sqrLen=n.len=n.sqrDist=n.dist=n.div=n.mul=n.sub=void 0,n.create=i,n.clone=function(t){var n=new r.ARRAY_TYPE(4);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n},n.fromValues=function(t,n,e,i){var u=new r.ARRAY_TYPE(4);return u[0]=t,u[1]=n,u[2]=e,u[3]=i,u},n.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t},n.set=function(t,n,e,r,i){return t[0]=n,t[1]=e,t[2]=r,t[3]=i,t},n.add=function(t,n,e){return t[0]=n[0]+e[0],t[1]=n[1]+e[1],t[2]=n[2]+e[2],t[3]=n[3]+e[3],t},n.subtract=u,n.multiply=o,n.divide=s,n.ceil=function(t,n){return t[0]=Math.ceil(n[0]),t[1]=Math.ceil(n[1]),t[2]=Math.ceil(n[2]),t[3]=Math.ceil(n[3]),t},n.floor=function(t,n){return t[0]=Math.floor(n[0]),t[1]=Math.floor(n[1]),t[2]=Math.floor(n[2]),t[3]=Math.floor(n[3]),t},n.min=function(t,n,e){return t[0]=Math.min(n[0],e[0]),t[1]=Math.min(n[1],e[1]),t[2]=Math.min(n[2],e[2]),t[3]=Math.min(n[3],e[3]),t},n.max=function(t,n,e){return t[0]=Math.max(n[0],e[0]),t[1]=Math.max(n[1],e[1]),t[2]=Math.max(n[2],e[2]),t[3]=Math.max(n[3],e[3]),t},n.round=function(t,n){return t[0]=Math.round(n[0]),t[1]=Math.round(n[1]),t[2]=Math.round(n[2]),t[3]=Math.round(n[3]),t},n.scale=function(t,n,e){return t[0]=n[0]*e,t[1]=n[1]*e,t[2]=n[2]*e,t[3]=n[3]*e,t},n.scaleAndAdd=function(t,n,e,r){return t[0]=n[0]+e[0]*r,t[1]=n[1]+e[1]*r,t[2]=n[2]+e[2]*r,t[3]=n[3]+e[3]*r,t},n.distance=a,n.squaredDistance=c,n.length=f,n.squaredLength=h,n.negate=function(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t[3]=-n[3],t},n.inverse=function(t,n){return t[0]=1/n[0],t[1]=1/n[1],t[2]=1/n[2],t[3]=1/n[3],t},n.normalize=function(t,n){var e=n[0],r=n[1],i=n[2],u=n[3],o=e*e+r*r+i*i+u*u;return o>0&&(o=1/Math.sqrt(o),t[0]=e*o,t[1]=r*o,t[2]=i*o,t[3]=u*o),t},n.dot=function(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]+t[3]*n[3]},n.lerp=function(t,n,e,r){var i=n[0],u=n[1],o=n[2],s=n[3];return t[0]=i+r*(e[0]-i),t[1]=u+r*(e[1]-u),t[2]=o+r*(e[2]-o),t[3]=s+r*(e[3]-s),t},n.random=function(t,n){var e,i,u,o,s,a;n=n||1;do{s=(e=2*r.RANDOM()-1)*e+(i=2*r.RANDOM()-1)*i}while(s>=1);do{a=(u=2*r.RANDOM()-1)*u+(o=2*r.RANDOM()-1)*o}while(a>=1);var c=Math.sqrt((1-s)/a);return t[0]=n*e,t[1]=n*i,t[2]=n*u*c,t[3]=n*o*c,t},n.transformMat4=function(t,n,e){var r=n[0],i=n[1],u=n[2],o=n[3];return t[0]=e[0]*r+e[4]*i+e[8]*u+e[12]*o,t[1]=e[1]*r+e[5]*i+e[9]*u+e[13]*o,t[2]=e[2]*r+e[6]*i+e[10]*u+e[14]*o,t[3]=e[3]*r+e[7]*i+e[11]*u+e[15]*o,t},n.transformQuat=function(t,n,e){var r=n[0],i=n[1],u=n[2],o=e[0],s=e[1],a=e[2],c=e[3],f=c*r+s*u-a*i,h=c*i+a*r-o*u,l=c*u+o*i-s*r,d=-o*r-s*i-a*u;return t[0]=f*c+d*-o+h*-a-l*-s,t[1]=h*c+d*-s+l*-o-f*-a,t[2]=l*c+d*-a+f*-s-h*-o,t[3]=n[3],t},n.str=function(t){return"vec4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},n.exactEquals=function(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]&&t[3]===n[3]},n.equals=function(t,n){var e=t[0],i=t[1],u=t[2],o=t[3],s=n[0],a=n[1],c=n[2],f=n[3];return Math.abs(e-s)<=r.EPSILON*Math.max(1,Math.abs(e),Math.abs(s))&&Math.abs(i-a)<=r.EPSILON*Math.max(1,Math.abs(i),Math.abs(a))&&Math.abs(u-c)<=r.EPSILON*Math.max(1,Math.abs(u),Math.abs(c))&&Math.abs(o-f)<=r.EPSILON*Math.max(1,Math.abs(o),Math.abs(f))};var r=function(t){if(t&&t.__esModule)return t;var n={};if(null!=t)for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&(n[e]=t[e]);return n.default=t,n}(e(0));function i(){var t=new r.ARRAY_TYPE(4);return r.ARRAY_TYPE!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0),t}function u(t,n,e){return t[0]=n[0]-e[0],t[1]=n[1]-e[1],t[2]=n[2]-e[2],t[3]=n[3]-e[3],t}function o(t,n,e){return t[0]=n[0]*e[0],t[1]=n[1]*e[1],t[2]=n[2]*e[2],t[3]=n[3]*e[3],t}function s(t,n,e){return t[0]=n[0]/e[0],t[1]=n[1]/e[1],t[2]=n[2]/e[2],t[3]=n[3]/e[3],t}function a(t,n){var e=n[0]-t[0],r=n[1]-t[1],i=n[2]-t[2],u=n[3]-t[3];return Math.sqrt(e*e+r*r+i*i+u*u)}function c(t,n){var e=n[0]-t[0],r=n[1]-t[1],i=n[2]-t[2],u=n[3]-t[3];return e*e+r*r+i*i+u*u}function f(t){var n=t[0],e=t[1],r=t[2],i=t[3];return Math.sqrt(n*n+e*e+r*r+i*i)}function h(t){var n=t[0],e=t[1],r=t[2],i=t[3];return n*n+e*e+r*r+i*i}n.sub=u,n.mul=o,n.div=s,n.dist=a,n.sqrDist=c,n.len=f,n.sqrLen=h,n.forEach=function(){var t=i();return function(n,e,r,i,u,o){var s,a=void 0;for(e||(e=4),r||(r=0),s=i?Math.min(i*e+r,n.length):n.length,a=r;a<s;a+=e)t[0]=n[a],t[1]=n[a+1],t[2]=n[a+2],t[3]=n[a+3],u(t,t,o),n[a]=t[0],n[a+1]=t[1],n[a+2]=t[2],n[a+3]=t[3];return n}}()},function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.forEach=n.sqrLen=n.len=n.sqrDist=n.dist=n.div=n.mul=n.sub=void 0,n.create=i,n.clone=function(t){var n=new r.ARRAY_TYPE(3);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n},n.length=u,n.fromValues=o,n.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t},n.set=function(t,n,e,r){return t[0]=n,t[1]=e,t[2]=r,t},n.add=function(t,n,e){return t[0]=n[0]+e[0],t[1]=n[1]+e[1],t[2]=n[2]+e[2],t},n.subtract=s,n.multiply=a,n.divide=c,n.ceil=function(t,n){return t[0]=Math.ceil(n[0]),t[1]=Math.ceil(n[1]),t[2]=Math.ceil(n[2]),t},n.floor=function(t,n){return t[0]=Math.floor(n[0]),t[1]=Math.floor(n[1]),t[2]=Math.floor(n[2]),t},n.min=function(t,n,e){return t[0]=Math.min(n[0],e[0]),t[1]=Math.min(n[1],e[1]),t[2]=Math.min(n[2],e[2]),t},n.max=function(t,n,e){return t[0]=Math.max(n[0],e[0]),t[1]=Math.max(n[1],e[1]),t[2]=Math.max(n[2],e[2]),t},n.round=function(t,n){return t[0]=Math.round(n[0]),t[1]=Math.round(n[1]),t[2]=Math.round(n[2]),t},n.scale=function(t,n,e){return t[0]=n[0]*e,t[1]=n[1]*e,t[2]=n[2]*e,t},n.scaleAndAdd=function(t,n,e,r){return t[0]=n[0]+e[0]*r,t[1]=n[1]+e[1]*r,t[2]=n[2]+e[2]*r,t},n.distance=f,n.squaredDistance=h,n.squaredLength=l,n.negate=function(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t},n.inverse=function(t,n){return t[0]=1/n[0],t[1]=1/n[1],t[2]=1/n[2],t},n.normalize=d,n.dot=m,n.cross=function(t,n,e){var r=n[0],i=n[1],u=n[2],o=e[0],s=e[1],a=e[2];return t[0]=i*a-u*s,t[1]=u*o-r*a,t[2]=r*s-i*o,t},n.lerp=function(t,n,e,r){var i=n[0],u=n[1],o=n[2];return t[0]=i+r*(e[0]-i),t[1]=u+r*(e[1]-u),t[2]=o+r*(e[2]-o),t},n.hermite=function(t,n,e,r,i,u){var o=u*u,s=o*(2*u-3)+1,a=o*(u-2)+u,c=o*(u-1),f=o*(3-2*u);return t[0]=n[0]*s+e[0]*a+r[0]*c+i[0]*f,t[1]=n[1]*s+e[1]*a+r[1]*c+i[1]*f,t[2]=n[2]*s+e[2]*a+r[2]*c+i[2]*f,t},n.bezier=function(t,n,e,r,i,u){var o=1-u,s=o*o,a=u*u,c=s*o,f=3*u*s,h=3*a*o,l=a*u;return t[0]=n[0]*c+e[0]*f+r[0]*h+i[0]*l,t[1]=n[1]*c+e[1]*f+r[1]*h+i[1]*l,t[2]=n[2]*c+e[2]*f+r[2]*h+i[2]*l,t},n.random=function(t,n){n=n||1;var e=2*r.RANDOM()*Math.PI,i=2*r.RANDOM()-1,u=Math.sqrt(1-i*i)*n;return t[0]=Math.cos(e)*u,t[1]=Math.sin(e)*u,t[2]=i*n,t},n.transformMat4=function(t,n,e){var r=n[0],i=n[1],u=n[2],o=e[3]*r+e[7]*i+e[11]*u+e[15];return o=o||1,t[0]=(e[0]*r+e[4]*i+e[8]*u+e[12])/o,t[1]=(e[1]*r+e[5]*i+e[9]*u+e[13])/o,t[2]=(e[2]*r+e[6]*i+e[10]*u+e[14])/o,t},n.transformMat3=function(t,n,e){var r=n[0],i=n[1],u=n[2];return t[0]=r*e[0]+i*e[3]+u*e[6],t[1]=r*e[1]+i*e[4]+u*e[7],t[2]=r*e[2]+i*e[5]+u*e[8],t},n.transformQuat=function(t,n,e){var r=e[0],i=e[1],u=e[2],o=e[3],s=n[0],a=n[1],c=n[2],f=i*c-u*a,h=u*s-r*c,l=r*a-i*s,d=i*l-u*h,m=u*f-r*l,E=r*h-i*f,_=2*o;return f*=_,h*=_,l*=_,d*=2,m*=2,E*=2,t[0]=s+f+d,t[1]=a+h+m,t[2]=c+l+E,t},n.rotateX=function(t,n,e,r){var i=[],u=[];return i[0]=n[0]-e[0],i[1]=n[1]-e[1],i[2]=n[2]-e[2],u[0]=i[0],u[1]=i[1]*Math.cos(r)-i[2]*Math.sin(r),u[2]=i[1]*Math.sin(r)+i[2]*Math.cos(r),t[0]=u[0]+e[0],t[1]=u[1]+e[1],t[2]=u[2]+e[2],t},n.rotateY=function(t,n,e,r){var i=[],u=[];return i[0]=n[0]-e[0],i[1]=n[1]-e[1],i[2]=n[2]-e[2],u[0]=i[2]*Math.sin(r)+i[0]*Math.cos(r),u[1]=i[1],u[2]=i[2]*Math.cos(r)-i[0]*Math.sin(r),t[0]=u[0]+e[0],t[1]=u[1]+e[1],t[2]=u[2]+e[2],t},n.rotateZ=function(t,n,e,r){var i=[],u=[];return i[0]=n[0]-e[0],i[1]=n[1]-e[1],i[2]=n[2]-e[2],u[0]=i[0]*Math.cos(r)-i[1]*Math.sin(r),u[1]=i[0]*Math.sin(r)+i[1]*Math.cos(r),u[2]=i[2],t[0]=u[0]+e[0],t[1]=u[1]+e[1],t[2]=u[2]+e[2],t},n.angle=function(t,n){var e=o(t[0],t[1],t[2]),r=o(n[0],n[1],n[2]);d(e,e),d(r,r);var i=m(e,r);return i>1?0:i<-1?Math.PI:Math.acos(i)},n.str=function(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"},n.exactEquals=function(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]},n.equals=function(t,n){var e=t[0],i=t[1],u=t[2],o=n[0],s=n[1],a=n[2];return Math.abs(e-o)<=r.EPSILON*Math.max(1,Math.abs(e),Math.abs(o))&&Math.abs(i-s)<=r.EPSILON*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(u-a)<=r.EPSILON*Math.max(1,Math.abs(u),Math.abs(a))};var r=function(t){if(t&&t.__esModule)return t;var n={};if(null!=t)for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&(n[e]=t[e]);return n.default=t,n}(e(0));function i(){var t=new r.ARRAY_TYPE(3);return r.ARRAY_TYPE!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t}function u(t){var n=t[0],e=t[1],r=t[2];return Math.sqrt(n*n+e*e+r*r)}function o(t,n,e){var i=new r.ARRAY_TYPE(3);return i[0]=t,i[1]=n,i[2]=e,i}function s(t,n,e){return t[0]=n[0]-e[0],t[1]=n[1]-e[1],t[2]=n[2]-e[2],t}function a(t,n,e){return t[0]=n[0]*e[0],t[1]=n[1]*e[1],t[2]=n[2]*e[2],t}function c(t,n,e){return t[0]=n[0]/e[0],t[1]=n[1]/e[1],t[2]=n[2]/e[2],t}function f(t,n){var e=n[0]-t[0],r=n[1]-t[1],i=n[2]-t[2];return Math.sqrt(e*e+r*r+i*i)}function h(t,n){var e=n[0]-t[0],r=n[1]-t[1],i=n[2]-t[2];return e*e+r*r+i*i}function l(t){var n=t[0],e=t[1],r=t[2];return n*n+e*e+r*r}function d(t,n){var e=n[0],r=n[1],i=n[2],u=e*e+r*r+i*i;return u>0&&(u=1/Math.sqrt(u),t[0]=n[0]*u,t[1]=n[1]*u,t[2]=n[2]*u),t}function m(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}n.sub=s,n.mul=a,n.div=c,n.dist=f,n.sqrDist=h,n.len=u,n.sqrLen=l,n.forEach=function(){var t=i();return function(n,e,r,i,u,o){var s,a=void 0;for(e||(e=3),r||(r=0),s=i?Math.min(i*e+r,n.length):n.length,a=r;a<s;a+=e)t[0]=n[a],t[1]=n[a+1],t[2]=n[a+2],u(t,t,o),n[a]=t[0],n[a+1]=t[1],n[a+2]=t[2];return n}}()},function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.setAxes=n.sqlerp=n.rotationTo=n.equals=n.exactEquals=n.normalize=n.sqrLen=n.squaredLength=n.len=n.length=n.lerp=n.dot=n.scale=n.mul=n.add=n.set=n.copy=n.fromValues=n.clone=void 0,n.create=a,n.identity=function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},n.setAxisAngle=c,n.getAxisAngle=function(t,n){var e=2*Math.acos(n[3]),i=Math.sin(e/2);return i>r.EPSILON?(t[0]=n[0]/i,t[1]=n[1]/i,t[2]=n[2]/i):(t[0]=1,t[1]=0,t[2]=0),e},n.multiply=f,n.rotateX=function(t,n,e){e*=.5;var r=n[0],i=n[1],u=n[2],o=n[3],s=Math.sin(e),a=Math.cos(e);return t[0]=r*a+o*s,t[1]=i*a+u*s,t[2]=u*a-i*s,t[3]=o*a-r*s,t},n.rotateY=function(t,n,e){e*=.5;var r=n[0],i=n[1],u=n[2],o=n[3],s=Math.sin(e),a=Math.cos(e);return t[0]=r*a-u*s,t[1]=i*a+o*s,t[2]=u*a+r*s,t[3]=o*a-i*s,t},n.rotateZ=function(t,n,e){e*=.5;var r=n[0],i=n[1],u=n[2],o=n[3],s=Math.sin(e),a=Math.cos(e);return t[0]=r*a+i*s,t[1]=i*a-r*s,t[2]=u*a+o*s,t[3]=o*a-u*s,t},n.calculateW=function(t,n){var e=n[0],r=n[1],i=n[2];return t[0]=e,t[1]=r,t[2]=i,t[3]=Math.sqrt(Math.abs(1-e*e-r*r-i*i)),t},n.slerp=h,n.random=function(t){var n=r.RANDOM(),e=r.RANDOM(),i=r.RANDOM(),u=Math.sqrt(1-n),o=Math.sqrt(n);return t[0]=u*Math.sin(2*Math.PI*e),t[1]=u*Math.cos(2*Math.PI*e),t[2]=o*Math.sin(2*Math.PI*i),t[3]=o*Math.cos(2*Math.PI*i),t},n.invert=function(t,n){var e=n[0],r=n[1],i=n[2],u=n[3],o=e*e+r*r+i*i+u*u,s=o?1/o:0;return t[0]=-e*s,t[1]=-r*s,t[2]=-i*s,t[3]=u*s,t},n.conjugate=function(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t[3]=n[3],t},n.fromMat3=l,n.fromEuler=function(t,n,e,r){var i=.5*Math.PI/180;n*=i,e*=i,r*=i;var u=Math.sin(n),o=Math.cos(n),s=Math.sin(e),a=Math.cos(e),c=Math.sin(r),f=Math.cos(r);return t[0]=u*a*f-o*s*c,t[1]=o*s*f+u*a*c,t[2]=o*a*c-u*s*f,t[3]=o*a*f+u*s*c,t},n.str=function(t){return"quat("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"};var r=s(e(0)),i=s(e(5)),u=s(e(2)),o=s(e(1));function s(t){if(t&&t.__esModule)return t;var n={};if(null!=t)for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&(n[e]=t[e]);return n.default=t,n}function a(){var t=new r.ARRAY_TYPE(4);return r.ARRAY_TYPE!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t[3]=1,t}function c(t,n,e){e*=.5;var r=Math.sin(e);return t[0]=r*n[0],t[1]=r*n[1],t[2]=r*n[2],t[3]=Math.cos(e),t}function f(t,n,e){var r=n[0],i=n[1],u=n[2],o=n[3],s=e[0],a=e[1],c=e[2],f=e[3];return t[0]=r*f+o*s+i*c-u*a,t[1]=i*f+o*a+u*s-r*c,t[2]=u*f+o*c+r*a-i*s,t[3]=o*f-r*s-i*a-u*c,t}function h(t,n,e,i){var u=n[0],o=n[1],s=n[2],a=n[3],c=e[0],f=e[1],h=e[2],l=e[3],d=void 0,m=void 0,E=void 0,_=void 0,R=void 0;return(m=u*c+o*f+s*h+a*l)<0&&(m=-m,c=-c,f=-f,h=-h,l=-l),1-m>r.EPSILON?(d=Math.acos(m),E=Math.sin(d),_=Math.sin((1-i)*d)/E,R=Math.sin(i*d)/E):(_=1-i,R=i),t[0]=_*u+R*c,t[1]=_*o+R*f,t[2]=_*s+R*h,t[3]=_*a+R*l,t}function l(t,n){var e=n[0]+n[4]+n[8],r=void 0;if(e>0)r=Math.sqrt(e+1),t[3]=.5*r,r=.5/r,t[0]=(n[5]-n[7])*r,t[1]=(n[6]-n[2])*r,t[2]=(n[1]-n[3])*r;else{var i=0;n[4]>n[0]&&(i=1),n[8]>n[3*i+i]&&(i=2);var u=(i+1)%3,o=(i+2)%3;r=Math.sqrt(n[3*i+i]-n[3*u+u]-n[3*o+o]+1),t[i]=.5*r,r=.5/r,t[3]=(n[3*u+o]-n[3*o+u])*r,t[u]=(n[3*u+i]+n[3*i+u])*r,t[o]=(n[3*o+i]+n[3*i+o])*r}return t}n.clone=o.clone,n.fromValues=o.fromValues,n.copy=o.copy,n.set=o.set,n.add=o.add,n.mul=f,n.scale=o.scale,n.dot=o.dot,n.lerp=o.lerp;var d=n.length=o.length,m=(n.len=d,n.squaredLength=o.squaredLength),E=(n.sqrLen=m,n.normalize=o.normalize);n.exactEquals=o.exactEquals,n.equals=o.equals,n.rotationTo=function(){var t=u.create(),n=u.fromValues(1,0,0),e=u.fromValues(0,1,0);return function(r,i,o){var s=u.dot(i,o);return s<-.999999?(u.cross(t,n,i),u.len(t)<1e-6&&u.cross(t,e,i),u.normalize(t,t),c(r,t,Math.PI),r):s>.999999?(r[0]=0,r[1]=0,r[2]=0,r[3]=1,r):(u.cross(t,i,o),r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=1+s,E(r,r))}}(),n.sqlerp=function(){var t=a(),n=a();return function(e,r,i,u,o,s){return h(t,r,o,s),h(n,i,u,s),h(e,t,n,2*s*(1-s)),e}}(),n.setAxes=function(){var t=i.create();return function(n,e,r,i){return t[0]=r[0],t[3]=r[1],t[6]=r[2],t[1]=i[0],t[4]=i[1],t[7]=i[2],t[2]=-e[0],t[5]=-e[1],t[8]=-e[2],E(n,l(n,t))}}()},function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.sub=n.mul=void 0,n.create=function(){var t=new r.ARRAY_TYPE(16);return r.ARRAY_TYPE!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},n.clone=function(t){var n=new r.ARRAY_TYPE(16);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n[6]=t[6],n[7]=t[7],n[8]=t[8],n[9]=t[9],n[10]=t[10],n[11]=t[11],n[12]=t[12],n[13]=t[13],n[14]=t[14],n[15]=t[15],n},n.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],t},n.fromValues=function(t,n,e,i,u,o,s,a,c,f,h,l,d,m,E,_){var R=new r.ARRAY_TYPE(16);return R[0]=t,R[1]=n,R[2]=e,R[3]=i,R[4]=u,R[5]=o,R[6]=s,R[7]=a,R[8]=c,R[9]=f,R[10]=h,R[11]=l,R[12]=d,R[13]=m,R[14]=E,R[15]=_,R},n.set=function(t,n,e,r,i,u,o,s,a,c,f,h,l,d,m,E,_){return t[0]=n,t[1]=e,t[2]=r,t[3]=i,t[4]=u,t[5]=o,t[6]=s,t[7]=a,t[8]=c,t[9]=f,t[10]=h,t[11]=l,t[12]=d,t[13]=m,t[14]=E,t[15]=_,t},n.identity=i,n.transpose=function(t,n){if(t===n){var e=n[1],r=n[2],i=n[3],u=n[6],o=n[7],s=n[11];t[1]=n[4],t[2]=n[8],t[3]=n[12],t[4]=e,t[6]=n[9],t[7]=n[13],t[8]=r,t[9]=u,t[11]=n[14],t[12]=i,t[13]=o,t[14]=s}else t[0]=n[0],t[1]=n[4],t[2]=n[8],t[3]=n[12],t[4]=n[1],t[5]=n[5],t[6]=n[9],t[7]=n[13],t[8]=n[2],t[9]=n[6],t[10]=n[10],t[11]=n[14],t[12]=n[3],t[13]=n[7],t[14]=n[11],t[15]=n[15];return t},n.invert=function(t,n){var e=n[0],r=n[1],i=n[2],u=n[3],o=n[4],s=n[5],a=n[6],c=n[7],f=n[8],h=n[9],l=n[10],d=n[11],m=n[12],E=n[13],_=n[14],R=n[15],M=e*s-r*o,A=e*a-i*o,T=e*c-u*o,v=r*a-i*s,p=r*c-u*s,N=i*c-u*a,I=f*E-h*m,S=f*_-l*m,O=f*R-d*m,L=h*_-l*E,U=h*R-d*E,P=l*R-d*_,F=M*P-A*U+T*L+v*O-p*S+N*I;return F?(F=1/F,t[0]=(s*P-a*U+c*L)*F,t[1]=(i*U-r*P-u*L)*F,t[2]=(E*N-_*p+R*v)*F,t[3]=(l*p-h*N-d*v)*F,t[4]=(a*O-o*P-c*S)*F,t[5]=(e*P-i*O+u*S)*F,t[6]=(_*T-m*N-R*A)*F,t[7]=(f*N-l*T+d*A)*F,t[8]=(o*U-s*O+c*I)*F,t[9]=(r*O-e*U-u*I)*F,t[10]=(m*p-E*T+R*M)*F,t[11]=(h*T-f*p-d*M)*F,t[12]=(s*S-o*L-a*I)*F,t[13]=(e*L-r*S+i*I)*F,t[14]=(E*A-m*v-_*M)*F,t[15]=(f*v-h*A+l*M)*F,t):null},n.adjoint=function(t,n){var e=n[0],r=n[1],i=n[2],u=n[3],o=n[4],s=n[5],a=n[6],c=n[7],f=n[8],h=n[9],l=n[10],d=n[11],m=n[12],E=n[13],_=n[14],R=n[15];return t[0]=s*(l*R-d*_)-h*(a*R-c*_)+E*(a*d-c*l),t[1]=-(r*(l*R-d*_)-h*(i*R-u*_)+E*(i*d-u*l)),t[2]=r*(a*R-c*_)-s*(i*R-u*_)+E*(i*c-u*a),t[3]=-(r*(a*d-c*l)-s*(i*d-u*l)+h*(i*c-u*a)),t[4]=-(o*(l*R-d*_)-f*(a*R-c*_)+m*(a*d-c*l)),t[5]=e*(l*R-d*_)-f*(i*R-u*_)+m*(i*d-u*l),t[6]=-(e*(a*R-c*_)-o*(i*R-u*_)+m*(i*c-u*a)),t[7]=e*(a*d-c*l)-o*(i*d-u*l)+f*(i*c-u*a),t[8]=o*(h*R-d*E)-f*(s*R-c*E)+m*(s*d-c*h),t[9]=-(e*(h*R-d*E)-f*(r*R-u*E)+m*(r*d-u*h)),t[10]=e*(s*R-c*E)-o*(r*R-u*E)+m*(r*c-u*s),t[11]=-(e*(s*d-c*h)-o*(r*d-u*h)+f*(r*c-u*s)),t[12]=-(o*(h*_-l*E)-f*(s*_-a*E)+m*(s*l-a*h)),t[13]=e*(h*_-l*E)-f*(r*_-i*E)+m*(r*l-i*h),t[14]=-(e*(s*_-a*E)-o*(r*_-i*E)+m*(r*a-i*s)),t[15]=e*(s*l-a*h)-o*(r*l-i*h)+f*(r*a-i*s),t},n.determinant=function(t){var n=t[0],e=t[1],r=t[2],i=t[3],u=t[4],o=t[5],s=t[6],a=t[7],c=t[8],f=t[9],h=t[10],l=t[11],d=t[12],m=t[13],E=t[14],_=t[15];return(n*o-e*u)*(h*_-l*E)-(n*s-r*u)*(f*_-l*m)+(n*a-i*u)*(f*E-h*m)+(e*s-r*o)*(c*_-l*d)-(e*a-i*o)*(c*E-h*d)+(r*a-i*s)*(c*m-f*d)},n.multiply=u,n.translate=function(t,n,e){var r=e[0],i=e[1],u=e[2],o=void 0,s=void 0,a=void 0,c=void 0,f=void 0,h=void 0,l=void 0,d=void 0,m=void 0,E=void 0,_=void 0,R=void 0;return n===t?(t[12]=n[0]*r+n[4]*i+n[8]*u+n[12],t[13]=n[1]*r+n[5]*i+n[9]*u+n[13],t[14]=n[2]*r+n[6]*i+n[10]*u+n[14],t[15]=n[3]*r+n[7]*i+n[11]*u+n[15]):(o=n[0],s=n[1],a=n[2],c=n[3],f=n[4],h=n[5],l=n[6],d=n[7],m=n[8],E=n[9],_=n[10],R=n[11],t[0]=o,t[1]=s,t[2]=a,t[3]=c,t[4]=f,t[5]=h,t[6]=l,t[7]=d,t[8]=m,t[9]=E,t[10]=_,t[11]=R,t[12]=o*r+f*i+m*u+n[12],t[13]=s*r+h*i+E*u+n[13],t[14]=a*r+l*i+_*u+n[14],t[15]=c*r+d*i+R*u+n[15]),t},n.scale=function(t,n,e){var r=e[0],i=e[1],u=e[2];return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t[3]=n[3]*r,t[4]=n[4]*i,t[5]=n[5]*i,t[6]=n[6]*i,t[7]=n[7]*i,t[8]=n[8]*u,t[9]=n[9]*u,t[10]=n[10]*u,t[11]=n[11]*u,t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],t},n.rotate=function(t,n,e,i){var u,o,s,a,c,f,h,l,d,m,E,_,R,M,A,T,v,p,N,I,S,O,L,U,P=i[0],F=i[1],g=i[2],y=Math.sqrt(P*P+F*F+g*g);return y<r.EPSILON?null:(P*=y=1/y,F*=y,g*=y,u=Math.sin(e),s=1-(o=Math.cos(e)),a=n[0],c=n[1],f=n[2],h=n[3],l=n[4],d=n[5],m=n[6],E=n[7],_=n[8],R=n[9],M=n[10],A=n[11],T=P*P*s+o,v=F*P*s+g*u,p=g*P*s-F*u,N=P*F*s-g*u,I=F*F*s+o,S=g*F*s+P*u,O=P*g*s+F*u,L=F*g*s-P*u,U=g*g*s+o,t[0]=a*T+l*v+_*p,t[1]=c*T+d*v+R*p,t[2]=f*T+m*v+M*p,t[3]=h*T+E*v+A*p,t[4]=a*N+l*I+_*S,t[5]=c*N+d*I+R*S,t[6]=f*N+m*I+M*S,t[7]=h*N+E*I+A*S,t[8]=a*O+l*L+_*U,t[9]=c*O+d*L+R*U,t[10]=f*O+m*L+M*U,t[11]=h*O+E*L+A*U,n!==t&&(t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]),t)},n.rotateX=function(t,n,e){var r=Math.sin(e),i=Math.cos(e),u=n[4],o=n[5],s=n[6],a=n[7],c=n[8],f=n[9],h=n[10],l=n[11];return n!==t&&(t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]),t[4]=u*i+c*r,t[5]=o*i+f*r,t[6]=s*i+h*r,t[7]=a*i+l*r,t[8]=c*i-u*r,t[9]=f*i-o*r,t[10]=h*i-s*r,t[11]=l*i-a*r,t},n.rotateY=function(t,n,e){var r=Math.sin(e),i=Math.cos(e),u=n[0],o=n[1],s=n[2],a=n[3],c=n[8],f=n[9],h=n[10],l=n[11];return n!==t&&(t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]),t[0]=u*i-c*r,t[1]=o*i-f*r,t[2]=s*i-h*r,t[3]=a*i-l*r,t[8]=u*r+c*i,t[9]=o*r+f*i,t[10]=s*r+h*i,t[11]=a*r+l*i,t},n.rotateZ=function(t,n,e){var r=Math.sin(e),i=Math.cos(e),u=n[0],o=n[1],s=n[2],a=n[3],c=n[4],f=n[5],h=n[6],l=n[7];return n!==t&&(t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]),t[0]=u*i+c*r,t[1]=o*i+f*r,t[2]=s*i+h*r,t[3]=a*i+l*r,t[4]=c*i-u*r,t[5]=f*i-o*r,t[6]=h*i-s*r,t[7]=l*i-a*r,t},n.fromTranslation=function(t,n){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=n[0],t[13]=n[1],t[14]=n[2],t[15]=1,t},n.fromScaling=function(t,n){return t[0]=n[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=n[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},n.fromRotation=function(t,n,e){var i,u,o,s=e[0],a=e[1],c=e[2],f=Math.sqrt(s*s+a*a+c*c);return f<r.EPSILON?null:(s*=f=1/f,a*=f,c*=f,i=Math.sin(n),o=1-(u=Math.cos(n)),t[0]=s*s*o+u,t[1]=a*s*o+c*i,t[2]=c*s*o-a*i,t[3]=0,t[4]=s*a*o-c*i,t[5]=a*a*o+u,t[6]=c*a*o+s*i,t[7]=0,t[8]=s*c*o+a*i,t[9]=a*c*o-s*i,t[10]=c*c*o+u,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)},n.fromXRotation=function(t,n){var e=Math.sin(n),r=Math.cos(n);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=r,t[6]=e,t[7]=0,t[8]=0,t[9]=-e,t[10]=r,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},n.fromYRotation=function(t,n){var e=Math.sin(n),r=Math.cos(n);return t[0]=r,t[1]=0,t[2]=-e,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=e,t[9]=0,t[10]=r,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},n.fromZRotation=function(t,n){var e=Math.sin(n),r=Math.cos(n);return t[0]=r,t[1]=e,t[2]=0,t[3]=0,t[4]=-e,t[5]=r,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},n.fromRotationTranslation=o,n.fromQuat2=function(t,n){var e=new r.ARRAY_TYPE(3),i=-n[0],u=-n[1],s=-n[2],a=n[3],c=n[4],f=n[5],h=n[6],l=n[7],d=i*i+u*u+s*s+a*a;return d>0?(e[0]=2*(c*a+l*i+f*s-h*u)/d,e[1]=2*(f*a+l*u+h*i-c*s)/d,e[2]=2*(h*a+l*s+c*u-f*i)/d):(e[0]=2*(c*a+l*i+f*s-h*u),e[1]=2*(f*a+l*u+h*i-c*s),e[2]=2*(h*a+l*s+c*u-f*i)),o(t,n,e),t},n.getTranslation=function(t,n){return t[0]=n[12],t[1]=n[13],t[2]=n[14],t},n.getScaling=function(t,n){var e=n[0],r=n[1],i=n[2],u=n[4],o=n[5],s=n[6],a=n[8],c=n[9],f=n[10];return t[0]=Math.sqrt(e*e+r*r+i*i),t[1]=Math.sqrt(u*u+o*o+s*s),t[2]=Math.sqrt(a*a+c*c+f*f),t},n.getRotation=function(t,n){var e=n[0]+n[5]+n[10],r=0;return e>0?(r=2*Math.sqrt(e+1),t[3]=.25*r,t[0]=(n[6]-n[9])/r,t[1]=(n[8]-n[2])/r,t[2]=(n[1]-n[4])/r):n[0]>n[5]&&n[0]>n[10]?(r=2*Math.sqrt(1+n[0]-n[5]-n[10]),t[3]=(n[6]-n[9])/r,t[0]=.25*r,t[1]=(n[1]+n[4])/r,t[2]=(n[8]+n[2])/r):n[5]>n[10]?(r=2*Math.sqrt(1+n[5]-n[0]-n[10]),t[3]=(n[8]-n[2])/r,t[0]=(n[1]+n[4])/r,t[1]=.25*r,t[2]=(n[6]+n[9])/r):(r=2*Math.sqrt(1+n[10]-n[0]-n[5]),t[3]=(n[1]-n[4])/r,t[0]=(n[8]+n[2])/r,t[1]=(n[6]+n[9])/r,t[2]=.25*r),t},n.fromRotationTranslationScale=function(t,n,e,r){var i=n[0],u=n[1],o=n[2],s=n[3],a=i+i,c=u+u,f=o+o,h=i*a,l=i*c,d=i*f,m=u*c,E=u*f,_=o*f,R=s*a,M=s*c,A=s*f,T=r[0],v=r[1],p=r[2];return t[0]=(1-(m+_))*T,t[1]=(l+A)*T,t[2]=(d-M)*T,t[3]=0,t[4]=(l-A)*v,t[5]=(1-(h+_))*v,t[6]=(E+R)*v,t[7]=0,t[8]=(d+M)*p,t[9]=(E-R)*p,t[10]=(1-(h+m))*p,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t},n.fromRotationTranslationScaleOrigin=function(t,n,e,r,i){var u=n[0],o=n[1],s=n[2],a=n[3],c=u+u,f=o+o,h=s+s,l=u*c,d=u*f,m=u*h,E=o*f,_=o*h,R=s*h,M=a*c,A=a*f,T=a*h,v=r[0],p=r[1],N=r[2],I=i[0],S=i[1],O=i[2],L=(1-(E+R))*v,U=(d+T)*v,P=(m-A)*v,F=(d-T)*p,g=(1-(l+R))*p,y=(_+M)*p,C=(m+A)*N,D=(_-M)*N,B=(1-(l+E))*N;return t[0]=L,t[1]=U,t[2]=P,t[3]=0,t[4]=F,t[5]=g,t[6]=y,t[7]=0,t[8]=C,t[9]=D,t[10]=B,t[11]=0,t[12]=e[0]+I-(L*I+F*S+C*O),t[13]=e[1]+S-(U*I+g*S+D*O),t[14]=e[2]+O-(P*I+y*S+B*O),t[15]=1,t},n.fromQuat=function(t,n){var e=n[0],r=n[1],i=n[2],u=n[3],o=e+e,s=r+r,a=i+i,c=e*o,f=r*o,h=r*s,l=i*o,d=i*s,m=i*a,E=u*o,_=u*s,R=u*a;return t[0]=1-h-m,t[1]=f+R,t[2]=l-_,t[3]=0,t[4]=f-R,t[5]=1-c-m,t[6]=d+E,t[7]=0,t[8]=l+_,t[9]=d-E,t[10]=1-c-h,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},n.frustum=function(t,n,e,r,i,u,o){var s=1/(e-n),a=1/(i-r),c=1/(u-o);return t[0]=2*u*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*u*a,t[6]=0,t[7]=0,t[8]=(e+n)*s,t[9]=(i+r)*a,t[10]=(o+u)*c,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*u*2*c,t[15]=0,t},n.perspective=function(t,n,e,r,i){var u=1/Math.tan(n/2),o=void 0;return t[0]=u/e,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=u,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=i&&i!==1/0?(o=1/(r-i),t[10]=(i+r)*o,t[14]=2*i*r*o):(t[10]=-1,t[14]=-2*r),t},n.perspectiveFromFieldOfView=function(t,n,e,r){var i=Math.tan(n.upDegrees*Math.PI/180),u=Math.tan(n.downDegrees*Math.PI/180),o=Math.tan(n.leftDegrees*Math.PI/180),s=Math.tan(n.rightDegrees*Math.PI/180),a=2/(o+s),c=2/(i+u);return t[0]=a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=c,t[6]=0,t[7]=0,t[8]=-(o-s)*a*.5,t[9]=(i-u)*c*.5,t[10]=r/(e-r),t[11]=-1,t[12]=0,t[13]=0,t[14]=r*e/(e-r),t[15]=0,t},n.ortho=function(t,n,e,r,i,u,o){var s=1/(n-e),a=1/(r-i),c=1/(u-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(n+e)*s,t[13]=(i+r)*a,t[14]=(o+u)*c,t[15]=1,t},n.lookAt=function(t,n,e,u){var o=void 0,s=void 0,a=void 0,c=void 0,f=void 0,h=void 0,l=void 0,d=void 0,m=void 0,E=void 0,_=n[0],R=n[1],M=n[2],A=u[0],T=u[1],v=u[2],p=e[0],N=e[1],I=e[2];return Math.abs(_-p)<r.EPSILON&&Math.abs(R-N)<r.EPSILON&&Math.abs(M-I)<r.EPSILON?i(t):(l=_-p,d=R-N,m=M-I,o=T*(m*=E=1/Math.sqrt(l*l+d*d+m*m))-v*(d*=E),s=v*(l*=E)-A*m,a=A*d-T*l,(E=Math.sqrt(o*o+s*s+a*a))?(o*=E=1/E,s*=E,a*=E):(o=0,s=0,a=0),c=d*a-m*s,f=m*o-l*a,h=l*s-d*o,(E=Math.sqrt(c*c+f*f+h*h))?(c*=E=1/E,f*=E,h*=E):(c=0,f=0,h=0),t[0]=o,t[1]=c,t[2]=l,t[3]=0,t[4]=s,t[5]=f,t[6]=d,t[7]=0,t[8]=a,t[9]=h,t[10]=m,t[11]=0,t[12]=-(o*_+s*R+a*M),t[13]=-(c*_+f*R+h*M),t[14]=-(l*_+d*R+m*M),t[15]=1,t)},n.targetTo=function(t,n,e,r){var i=n[0],u=n[1],o=n[2],s=r[0],a=r[1],c=r[2],f=i-e[0],h=u-e[1],l=o-e[2],d=f*f+h*h+l*l;d>0&&(f*=d=1/Math.sqrt(d),h*=d,l*=d);var m=a*l-c*h,E=c*f-s*l,_=s*h-a*f;return(d=m*m+E*E+_*_)>0&&(m*=d=1/Math.sqrt(d),E*=d,_*=d),t[0]=m,t[1]=E,t[2]=_,t[3]=0,t[4]=h*_-l*E,t[5]=l*m-f*_,t[6]=f*E-h*m,t[7]=0,t[8]=f,t[9]=h,t[10]=l,t[11]=0,t[12]=i,t[13]=u,t[14]=o,t[15]=1,t},n.str=function(t){return"mat4("+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]+")"},n.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2)+Math.pow(t[9],2)+Math.pow(t[10],2)+Math.pow(t[11],2)+Math.pow(t[12],2)+Math.pow(t[13],2)+Math.pow(t[14],2)+Math.pow(t[15],2))},n.add=function(t,n,e){return t[0]=n[0]+e[0],t[1]=n[1]+e[1],t[2]=n[2]+e[2],t[3]=n[3]+e[3],t[4]=n[4]+e[4],t[5]=n[5]+e[5],t[6]=n[6]+e[6],t[7]=n[7]+e[7],t[8]=n[8]+e[8],t[9]=n[9]+e[9],t[10]=n[10]+e[10],t[11]=n[11]+e[11],t[12]=n[12]+e[12],t[13]=n[13]+e[13],t[14]=n[14]+e[14],t[15]=n[15]+e[15],t},n.subtract=s,n.multiplyScalar=function(t,n,e){return t[0]=n[0]*e,t[1]=n[1]*e,t[2]=n[2]*e,t[3]=n[3]*e,t[4]=n[4]*e,t[5]=n[5]*e,t[6]=n[6]*e,t[7]=n[7]*e,t[8]=n[8]*e,t[9]=n[9]*e,t[10]=n[10]*e,t[11]=n[11]*e,t[12]=n[12]*e,t[13]=n[13]*e,t[14]=n[14]*e,t[15]=n[15]*e,t},n.multiplyScalarAndAdd=function(t,n,e,r){return t[0]=n[0]+e[0]*r,t[1]=n[1]+e[1]*r,t[2]=n[2]+e[2]*r,t[3]=n[3]+e[3]*r,t[4]=n[4]+e[4]*r,t[5]=n[5]+e[5]*r,t[6]=n[6]+e[6]*r,t[7]=n[7]+e[7]*r,t[8]=n[8]+e[8]*r,t[9]=n[9]+e[9]*r,t[10]=n[10]+e[10]*r,t[11]=n[11]+e[11]*r,t[12]=n[12]+e[12]*r,t[13]=n[13]+e[13]*r,t[14]=n[14]+e[14]*r,t[15]=n[15]+e[15]*r,t},n.exactEquals=function(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]&&t[3]===n[3]&&t[4]===n[4]&&t[5]===n[5]&&t[6]===n[6]&&t[7]===n[7]&&t[8]===n[8]&&t[9]===n[9]&&t[10]===n[10]&&t[11]===n[11]&&t[12]===n[12]&&t[13]===n[13]&&t[14]===n[14]&&t[15]===n[15]},n.equals=function(t,n){var e=t[0],i=t[1],u=t[2],o=t[3],s=t[4],a=t[5],c=t[6],f=t[7],h=t[8],l=t[9],d=t[10],m=t[11],E=t[12],_=t[13],R=t[14],M=t[15],A=n[0],T=n[1],v=n[2],p=n[3],N=n[4],I=n[5],S=n[6],O=n[7],L=n[8],U=n[9],P=n[10],F=n[11],g=n[12],y=n[13],C=n[14],D=n[15];return Math.abs(e-A)<=r.EPSILON*Math.max(1,Math.abs(e),Math.abs(A))&&Math.abs(i-T)<=r.EPSILON*Math.max(1,Math.abs(i),Math.abs(T))&&Math.abs(u-v)<=r.EPSILON*Math.max(1,Math.abs(u),Math.abs(v))&&Math.abs(o-p)<=r.EPSILON*Math.max(1,Math.abs(o),Math.abs(p))&&Math.abs(s-N)<=r.EPSILON*Math.max(1,Math.abs(s),Math.abs(N))&&Math.abs(a-I)<=r.EPSILON*Math.max(1,Math.abs(a),Math.abs(I))&&Math.abs(c-S)<=r.EPSILON*Math.max(1,Math.abs(c),Math.abs(S))&&Math.abs(f-O)<=r.EPSILON*Math.max(1,Math.abs(f),Math.abs(O))&&Math.abs(h-L)<=r.EPSILON*Math.max(1,Math.abs(h),Math.abs(L))&&Math.abs(l-U)<=r.EPSILON*Math.max(1,Math.abs(l),Math.abs(U))&&Math.abs(d-P)<=r.EPSILON*Math.max(1,Math.abs(d),Math.abs(P))&&Math.abs(m-F)<=r.EPSILON*Math.max(1,Math.abs(m),Math.abs(F))&&Math.abs(E-g)<=r.EPSILON*Math.max(1,Math.abs(E),Math.abs(g))&&Math.abs(_-y)<=r.EPSILON*Math.max(1,Math.abs(_),Math.abs(y))&&Math.abs(R-C)<=r.EPSILON*Math.max(1,Math.abs(R),Math.abs(C))&&Math.abs(M-D)<=r.EPSILON*Math.max(1,Math.abs(M),Math.abs(D))};var r=function(t){if(t&&t.__esModule)return t;var n={};if(null!=t)for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&(n[e]=t[e]);return n.default=t,n}(e(0));function i(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function u(t,n,e){var r=n[0],i=n[1],u=n[2],o=n[3],s=n[4],a=n[5],c=n[6],f=n[7],h=n[8],l=n[9],d=n[10],m=n[11],E=n[12],_=n[13],R=n[14],M=n[15],A=e[0],T=e[1],v=e[2],p=e[3];return t[0]=A*r+T*s+v*h+p*E,t[1]=A*i+T*a+v*l+p*_,t[2]=A*u+T*c+v*d+p*R,t[3]=A*o+T*f+v*m+p*M,A=e[4],T=e[5],v=e[6],p=e[7],t[4]=A*r+T*s+v*h+p*E,t[5]=A*i+T*a+v*l+p*_,t[6]=A*u+T*c+v*d+p*R,t[7]=A*o+T*f+v*m+p*M,A=e[8],T=e[9],v=e[10],p=e[11],t[8]=A*r+T*s+v*h+p*E,t[9]=A*i+T*a+v*l+p*_,t[10]=A*u+T*c+v*d+p*R,t[11]=A*o+T*f+v*m+p*M,A=e[12],T=e[13],v=e[14],p=e[15],t[12]=A*r+T*s+v*h+p*E,t[13]=A*i+T*a+v*l+p*_,t[14]=A*u+T*c+v*d+p*R,t[15]=A*o+T*f+v*m+p*M,t}function o(t,n,e){var r=n[0],i=n[1],u=n[2],o=n[3],s=r+r,a=i+i,c=u+u,f=r*s,h=r*a,l=r*c,d=i*a,m=i*c,E=u*c,_=o*s,R=o*a,M=o*c;return t[0]=1-(d+E),t[1]=h+M,t[2]=l-R,t[3]=0,t[4]=h-M,t[5]=1-(f+E),t[6]=m+_,t[7]=0,t[8]=l+R,t[9]=m-_,t[10]=1-(f+d),t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t}function s(t,n,e){return t[0]=n[0]-e[0],t[1]=n[1]-e[1],t[2]=n[2]-e[2],t[3]=n[3]-e[3],t[4]=n[4]-e[4],t[5]=n[5]-e[5],t[6]=n[6]-e[6],t[7]=n[7]-e[7],t[8]=n[8]-e[8],t[9]=n[9]-e[9],t[10]=n[10]-e[10],t[11]=n[11]-e[11],t[12]=n[12]-e[12],t[13]=n[13]-e[13],t[14]=n[14]-e[14],t[15]=n[15]-e[15],t}n.mul=u,n.sub=s},function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.sub=n.mul=void 0,n.create=function(){var t=new r.ARRAY_TYPE(9);return r.ARRAY_TYPE!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t},n.fromMat4=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[4],t[4]=n[5],t[5]=n[6],t[6]=n[8],t[7]=n[9],t[8]=n[10],t},n.clone=function(t){var n=new r.ARRAY_TYPE(9);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n[6]=t[6],n[7]=t[7],n[8]=t[8],n},n.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t},n.fromValues=function(t,n,e,i,u,o,s,a,c){var f=new r.ARRAY_TYPE(9);return f[0]=t,f[1]=n,f[2]=e,f[3]=i,f[4]=u,f[5]=o,f[6]=s,f[7]=a,f[8]=c,f},n.set=function(t,n,e,r,i,u,o,s,a,c){return t[0]=n,t[1]=e,t[2]=r,t[3]=i,t[4]=u,t[5]=o,t[6]=s,t[7]=a,t[8]=c,t},n.identity=function(t){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,t},n.transpose=function(t,n){if(t===n){var e=n[1],r=n[2],i=n[5];t[1]=n[3],t[2]=n[6],t[3]=e,t[5]=n[7],t[6]=r,t[7]=i}else t[0]=n[0],t[1]=n[3],t[2]=n[6],t[3]=n[1],t[4]=n[4],t[5]=n[7],t[6]=n[2],t[7]=n[5],t[8]=n[8];return t},n.invert=function(t,n){var e=n[0],r=n[1],i=n[2],u=n[3],o=n[4],s=n[5],a=n[6],c=n[7],f=n[8],h=f*o-s*c,l=-f*u+s*a,d=c*u-o*a,m=e*h+r*l+i*d;return m?(m=1/m,t[0]=h*m,t[1]=(-f*r+i*c)*m,t[2]=(s*r-i*o)*m,t[3]=l*m,t[4]=(f*e-i*a)*m,t[5]=(-s*e+i*u)*m,t[6]=d*m,t[7]=(-c*e+r*a)*m,t[8]=(o*e-r*u)*m,t):null},n.adjoint=function(t,n){var e=n[0],r=n[1],i=n[2],u=n[3],o=n[4],s=n[5],a=n[6],c=n[7],f=n[8];return t[0]=o*f-s*c,t[1]=i*c-r*f,t[2]=r*s-i*o,t[3]=s*a-u*f,t[4]=e*f-i*a,t[5]=i*u-e*s,t[6]=u*c-o*a,t[7]=r*a-e*c,t[8]=e*o-r*u,t},n.determinant=function(t){var n=t[0],e=t[1],r=t[2],i=t[3],u=t[4],o=t[5],s=t[6],a=t[7],c=t[8];return n*(c*u-o*a)+e*(-c*i+o*s)+r*(a*i-u*s)},n.multiply=i,n.translate=function(t,n,e){var r=n[0],i=n[1],u=n[2],o=n[3],s=n[4],a=n[5],c=n[6],f=n[7],h=n[8],l=e[0],d=e[1];return t[0]=r,t[1]=i,t[2]=u,t[3]=o,t[4]=s,t[5]=a,t[6]=l*r+d*o+c,t[7]=l*i+d*s+f,t[8]=l*u+d*a+h,t},n.rotate=function(t,n,e){var r=n[0],i=n[1],u=n[2],o=n[3],s=n[4],a=n[5],c=n[6],f=n[7],h=n[8],l=Math.sin(e),d=Math.cos(e);return t[0]=d*r+l*o,t[1]=d*i+l*s,t[2]=d*u+l*a,t[3]=d*o-l*r,t[4]=d*s-l*i,t[5]=d*a-l*u,t[6]=c,t[7]=f,t[8]=h,t},n.scale=function(t,n,e){var r=e[0],i=e[1];return t[0]=r*n[0],t[1]=r*n[1],t[2]=r*n[2],t[3]=i*n[3],t[4]=i*n[4],t[5]=i*n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t},n.fromTranslation=function(t,n){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=n[0],t[7]=n[1],t[8]=1,t},n.fromRotation=function(t,n){var e=Math.sin(n),r=Math.cos(n);return t[0]=r,t[1]=e,t[2]=0,t[3]=-e,t[4]=r,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},n.fromScaling=function(t,n){return t[0]=n[0],t[1]=0,t[2]=0,t[3]=0,t[4]=n[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},n.fromMat2d=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=0,t[3]=n[2],t[4]=n[3],t[5]=0,t[6]=n[4],t[7]=n[5],t[8]=1,t},n.fromQuat=function(t,n){var e=n[0],r=n[1],i=n[2],u=n[3],o=e+e,s=r+r,a=i+i,c=e*o,f=r*o,h=r*s,l=i*o,d=i*s,m=i*a,E=u*o,_=u*s,R=u*a;return t[0]=1-h-m,t[3]=f-R,t[6]=l+_,t[1]=f+R,t[4]=1-c-m,t[7]=d-E,t[2]=l-_,t[5]=d+E,t[8]=1-c-h,t},n.normalFromMat4=function(t,n){var e=n[0],r=n[1],i=n[2],u=n[3],o=n[4],s=n[5],a=n[6],c=n[7],f=n[8],h=n[9],l=n[10],d=n[11],m=n[12],E=n[13],_=n[14],R=n[15],M=e*s-r*o,A=e*a-i*o,T=e*c-u*o,v=r*a-i*s,p=r*c-u*s,N=i*c-u*a,I=f*E-h*m,S=f*_-l*m,O=f*R-d*m,L=h*_-l*E,U=h*R-d*E,P=l*R-d*_,F=M*P-A*U+T*L+v*O-p*S+N*I;return F?(F=1/F,t[0]=(s*P-a*U+c*L)*F,t[1]=(a*O-o*P-c*S)*F,t[2]=(o*U-s*O+c*I)*F,t[3]=(i*U-r*P-u*L)*F,t[4]=(e*P-i*O+u*S)*F,t[5]=(r*O-e*U-u*I)*F,t[6]=(E*N-_*p+R*v)*F,t[7]=(_*T-m*N-R*A)*F,t[8]=(m*p-E*T+R*M)*F,t):null},n.projection=function(t,n,e){return t[0]=2/n,t[1]=0,t[2]=0,t[3]=0,t[4]=-2/e,t[5]=0,t[6]=-1,t[7]=1,t[8]=1,t},n.str=function(t){return"mat3("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+")"},n.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2))},n.add=function(t,n,e){return t[0]=n[0]+e[0],t[1]=n[1]+e[1],t[2]=n[2]+e[2],t[3]=n[3]+e[3],t[4]=n[4]+e[4],t[5]=n[5]+e[5],t[6]=n[6]+e[6],t[7]=n[7]+e[7],t[8]=n[8]+e[8],t},n.subtract=u,n.multiplyScalar=function(t,n,e){return t[0]=n[0]*e,t[1]=n[1]*e,t[2]=n[2]*e,t[3]=n[3]*e,t[4]=n[4]*e,t[5]=n[5]*e,t[6]=n[6]*e,t[7]=n[7]*e,t[8]=n[8]*e,t},n.multiplyScalarAndAdd=function(t,n,e,r){return t[0]=n[0]+e[0]*r,t[1]=n[1]+e[1]*r,t[2]=n[2]+e[2]*r,t[3]=n[3]+e[3]*r,t[4]=n[4]+e[4]*r,t[5]=n[5]+e[5]*r,t[6]=n[6]+e[6]*r,t[7]=n[7]+e[7]*r,t[8]=n[8]+e[8]*r,t},n.exactEquals=function(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]&&t[3]===n[3]&&t[4]===n[4]&&t[5]===n[5]&&t[6]===n[6]&&t[7]===n[7]&&t[8]===n[8]},n.equals=function(t,n){var e=t[0],i=t[1],u=t[2],o=t[3],s=t[4],a=t[5],c=t[6],f=t[7],h=t[8],l=n[0],d=n[1],m=n[2],E=n[3],_=n[4],R=n[5],M=n[6],A=n[7],T=n[8];return Math.abs(e-l)<=r.EPSILON*Math.max(1,Math.abs(e),Math.abs(l))&&Math.abs(i-d)<=r.EPSILON*Math.max(1,Math.abs(i),Math.abs(d))&&Math.abs(u-m)<=r.EPSILON*Math.max(1,Math.abs(u),Math.abs(m))&&Math.abs(o-E)<=r.EPSILON*Math.max(1,Math.abs(o),Math.abs(E))&&Math.abs(s-_)<=r.EPSILON*Math.max(1,Math.abs(s),Math.abs(_))&&Math.abs(a-R)<=r.EPSILON*Math.max(1,Math.abs(a),Math.abs(R))&&Math.abs(c-M)<=r.EPSILON*Math.max(1,Math.abs(c),Math.abs(M))&&Math.abs(f-A)<=r.EPSILON*Math.max(1,Math.abs(f),Math.abs(A))&&Math.abs(h-T)<=r.EPSILON*Math.max(1,Math.abs(h),Math.abs(T))};var r=function(t){if(t&&t.__esModule)return t;var n={};if(null!=t)for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&(n[e]=t[e]);return n.default=t,n}(e(0));function i(t,n,e){var r=n[0],i=n[1],u=n[2],o=n[3],s=n[4],a=n[5],c=n[6],f=n[7],h=n[8],l=e[0],d=e[1],m=e[2],E=e[3],_=e[4],R=e[5],M=e[6],A=e[7],T=e[8];return t[0]=l*r+d*o+m*c,t[1]=l*i+d*s+m*f,t[2]=l*u+d*a+m*h,t[3]=E*r+_*o+R*c,t[4]=E*i+_*s+R*f,t[5]=E*u+_*a+R*h,t[6]=M*r+A*o+T*c,t[7]=M*i+A*s+T*f,t[8]=M*u+A*a+T*h,t}function u(t,n,e){return t[0]=n[0]-e[0],t[1]=n[1]-e[1],t[2]=n[2]-e[2],t[3]=n[3]-e[3],t[4]=n[4]-e[4],t[5]=n[5]-e[5],t[6]=n[6]-e[6],t[7]=n[7]-e[7],t[8]=n[8]-e[8],t}n.mul=i,n.sub=u},function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.forEach=n.sqrLen=n.sqrDist=n.dist=n.div=n.mul=n.sub=n.len=void 0,n.create=i,n.clone=function(t){var n=new r.ARRAY_TYPE(2);return n[0]=t[0],n[1]=t[1],n},n.fromValues=function(t,n){var e=new r.ARRAY_TYPE(2);return e[0]=t,e[1]=n,e},n.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t},n.set=function(t,n,e){return t[0]=n,t[1]=e,t},n.add=function(t,n,e){return t[0]=n[0]+e[0],t[1]=n[1]+e[1],t},n.subtract=u,n.multiply=o,n.divide=s,n.ceil=function(t,n){return t[0]=Math.ceil(n[0]),t[1]=Math.ceil(n[1]),t},n.floor=function(t,n){return t[0]=Math.floor(n[0]),t[1]=Math.floor(n[1]),t},n.min=function(t,n,e){return t[0]=Math.min(n[0],e[0]),t[1]=Math.min(n[1],e[1]),t},n.max=function(t,n,e){return t[0]=Math.max(n[0],e[0]),t[1]=Math.max(n[1],e[1]),t},n.round=function(t,n){return t[0]=Math.round(n[0]),t[1]=Math.round(n[1]),t},n.scale=function(t,n,e){return t[0]=n[0]*e,t[1]=n[1]*e,t},n.scaleAndAdd=function(t,n,e,r){return t[0]=n[0]+e[0]*r,t[1]=n[1]+e[1]*r,t},n.distance=a,n.squaredDistance=c,n.length=f,n.squaredLength=h,n.negate=function(t,n){return t[0]=-n[0],t[1]=-n[1],t},n.inverse=function(t,n){return t[0]=1/n[0],t[1]=1/n[1],t},n.normalize=function(t,n){var e=n[0],r=n[1],i=e*e+r*r;return i>0&&(i=1/Math.sqrt(i),t[0]=n[0]*i,t[1]=n[1]*i),t},n.dot=function(t,n){return t[0]*n[0]+t[1]*n[1]},n.cross=function(t,n,e){var r=n[0]*e[1]-n[1]*e[0];return t[0]=t[1]=0,t[2]=r,t},n.lerp=function(t,n,e,r){var i=n[0],u=n[1];return t[0]=i+r*(e[0]-i),t[1]=u+r*(e[1]-u),t},n.random=function(t,n){n=n||1;var e=2*r.RANDOM()*Math.PI;return t[0]=Math.cos(e)*n,t[1]=Math.sin(e)*n,t},n.transformMat2=function(t,n,e){var r=n[0],i=n[1];return t[0]=e[0]*r+e[2]*i,t[1]=e[1]*r+e[3]*i,t},n.transformMat2d=function(t,n,e){var r=n[0],i=n[1];return t[0]=e[0]*r+e[2]*i+e[4],t[1]=e[1]*r+e[3]*i+e[5],t},n.transformMat3=function(t,n,e){var r=n[0],i=n[1];return t[0]=e[0]*r+e[3]*i+e[6],t[1]=e[1]*r+e[4]*i+e[7],t},n.transformMat4=function(t,n,e){var r=n[0],i=n[1];return t[0]=e[0]*r+e[4]*i+e[12],t[1]=e[1]*r+e[5]*i+e[13],t},n.rotate=function(t,n,e,r){var i=n[0]-e[0],u=n[1]-e[1],o=Math.sin(r),s=Math.cos(r);return t[0]=i*s-u*o+e[0],t[1]=i*o+u*s+e[1],t},n.angle=function(t,n){var e=t[0],r=t[1],i=n[0],u=n[1],o=e*e+r*r;o>0&&(o=1/Math.sqrt(o));var s=i*i+u*u;s>0&&(s=1/Math.sqrt(s));var a=(e*i+r*u)*o*s;return a>1?0:a<-1?Math.PI:Math.acos(a)},n.str=function(t){return"vec2("+t[0]+", "+t[1]+")"},n.exactEquals=function(t,n){return t[0]===n[0]&&t[1]===n[1]},n.equals=function(t,n){var e=t[0],i=t[1],u=n[0],o=n[1];return Math.abs(e-u)<=r.EPSILON*Math.max(1,Math.abs(e),Math.abs(u))&&Math.abs(i-o)<=r.EPSILON*Math.max(1,Math.abs(i),Math.abs(o))};var r=function(t){if(t&&t.__esModule)return t;var n={};if(null!=t)for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&(n[e]=t[e]);return n.default=t,n}(e(0));function i(){var t=new r.ARRAY_TYPE(2);return r.ARRAY_TYPE!=Float32Array&&(t[0]=0,t[1]=0),t}function u(t,n,e){return t[0]=n[0]-e[0],t[1]=n[1]-e[1],t}function o(t,n,e){return t[0]=n[0]*e[0],t[1]=n[1]*e[1],t}function s(t,n,e){return t[0]=n[0]/e[0],t[1]=n[1]/e[1],t}function a(t,n){var e=n[0]-t[0],r=n[1]-t[1];return Math.sqrt(e*e+r*r)}function c(t,n){var e=n[0]-t[0],r=n[1]-t[1];return e*e+r*r}function f(t){var n=t[0],e=t[1];return Math.sqrt(n*n+e*e)}function h(t){var n=t[0],e=t[1];return n*n+e*e}n.len=f,n.sub=u,n.mul=o,n.div=s,n.dist=a,n.sqrDist=c,n.sqrLen=h,n.forEach=function(){var t=i();return function(n,e,r,i,u,o){var s,a=void 0;for(e||(e=2),r||(r=0),s=i?Math.min(i*e+r,n.length):n.length,a=r;a<s;a+=e)t[0]=n[a],t[1]=n[a+1],u(t,t,o),n[a]=t[0],n[a+1]=t[1];return n}}()},function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.sqrLen=n.squaredLength=n.len=n.length=n.dot=n.mul=n.setReal=n.getReal=void 0,n.create=function(){var t=new r.ARRAY_TYPE(8);return r.ARRAY_TYPE!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[4]=0,t[5]=0,t[6]=0,t[7]=0),t[3]=1,t},n.clone=function(t){var n=new r.ARRAY_TYPE(8);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n[6]=t[6],n[7]=t[7],n},n.fromValues=function(t,n,e,i,u,o,s,a){var c=new r.ARRAY_TYPE(8);return c[0]=t,c[1]=n,c[2]=e,c[3]=i,c[4]=u,c[5]=o,c[6]=s,c[7]=a,c},n.fromRotationTranslationValues=function(t,n,e,i,u,o,s){var a=new r.ARRAY_TYPE(8);a[0]=t,a[1]=n,a[2]=e,a[3]=i;var c=.5*u,f=.5*o,h=.5*s;return a[4]=c*i+f*e-h*n,a[5]=f*i+h*t-c*e,a[6]=h*i+c*n-f*t,a[7]=-c*t-f*n-h*e,a},n.fromRotationTranslation=s,n.fromTranslation=function(t,n){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t[4]=.5*n[0],t[5]=.5*n[1],t[6]=.5*n[2],t[7]=0,t},n.fromRotation=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=0,t[5]=0,t[6]=0,t[7]=0,t},n.fromMat4=function(t,n){var e=i.create();u.getRotation(e,n);var o=new r.ARRAY_TYPE(3);return u.getTranslation(o,n),s(t,e,o),t},n.copy=a,n.identity=function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t[6]=0,t[7]=0,t},n.set=function(t,n,e,r,i,u,o,s,a){return t[0]=n,t[1]=e,t[2]=r,t[3]=i,t[4]=u,t[5]=o,t[6]=s,t[7]=a,t},n.getDual=function(t,n){return t[0]=n[4],t[1]=n[5],t[2]=n[6],t[3]=n[7],t},n.setDual=function(t,n){return t[4]=n[0],t[5]=n[1],t[6]=n[2],t[7]=n[3],t},n.getTranslation=function(t,n){var e=n[4],r=n[5],i=n[6],u=n[7],o=-n[0],s=-n[1],a=-n[2],c=n[3];return t[0]=2*(e*c+u*o+r*a-i*s),t[1]=2*(r*c+u*s+i*o-e*a),t[2]=2*(i*c+u*a+e*s-r*o),t},n.translate=function(t,n,e){var r=n[0],i=n[1],u=n[2],o=n[3],s=.5*e[0],a=.5*e[1],c=.5*e[2],f=n[4],h=n[5],l=n[6],d=n[7];return t[0]=r,t[1]=i,t[2]=u,t[3]=o,t[4]=o*s+i*c-u*a+f,t[5]=o*a+u*s-r*c+h,t[6]=o*c+r*a-i*s+l,t[7]=-r*s-i*a-u*c+d,t},n.rotateX=function(t,n,e){var r=-n[0],u=-n[1],o=-n[2],s=n[3],a=n[4],c=n[5],f=n[6],h=n[7],l=a*s+h*r+c*o-f*u,d=c*s+h*u+f*r-a*o,m=f*s+h*o+a*u-c*r,E=h*s-a*r-c*u-f*o;return i.rotateX(t,n,e),r=t[0],u=t[1],o=t[2],s=t[3],t[4]=l*s+E*r+d*o-m*u,t[5]=d*s+E*u+m*r-l*o,t[6]=m*s+E*o+l*u-d*r,t[7]=E*s-l*r-d*u-m*o,t},n.rotateY=function(t,n,e){var r=-n[0],u=-n[1],o=-n[2],s=n[3],a=n[4],c=n[5],f=n[6],h=n[7],l=a*s+h*r+c*o-f*u,d=c*s+h*u+f*r-a*o,m=f*s+h*o+a*u-c*r,E=h*s-a*r-c*u-f*o;return i.rotateY(t,n,e),r=t[0],u=t[1],o=t[2],s=t[3],t[4]=l*s+E*r+d*o-m*u,t[5]=d*s+E*u+m*r-l*o,t[6]=m*s+E*o+l*u-d*r,t[7]=E*s-l*r-d*u-m*o,t},n.rotateZ=function(t,n,e){var r=-n[0],u=-n[1],o=-n[2],s=n[3],a=n[4],c=n[5],f=n[6],h=n[7],l=a*s+h*r+c*o-f*u,d=c*s+h*u+f*r-a*o,m=f*s+h*o+a*u-c*r,E=h*s-a*r-c*u-f*o;return i.rotateZ(t,n,e),r=t[0],u=t[1],o=t[2],s=t[3],t[4]=l*s+E*r+d*o-m*u,t[5]=d*s+E*u+m*r-l*o,t[6]=m*s+E*o+l*u-d*r,t[7]=E*s-l*r-d*u-m*o,t},n.rotateByQuatAppend=function(t,n,e){var r=e[0],i=e[1],u=e[2],o=e[3],s=n[0],a=n[1],c=n[2],f=n[3];return t[0]=s*o+f*r+a*u-c*i,t[1]=a*o+f*i+c*r-s*u,t[2]=c*o+f*u+s*i-a*r,t[3]=f*o-s*r-a*i-c*u,s=n[4],a=n[5],c=n[6],f=n[7],t[4]=s*o+f*r+a*u-c*i,t[5]=a*o+f*i+c*r-s*u,t[6]=c*o+f*u+s*i-a*r,t[7]=f*o-s*r-a*i-c*u,t},n.rotateByQuatPrepend=function(t,n,e){var r=n[0],i=n[1],u=n[2],o=n[3],s=e[0],a=e[1],c=e[2],f=e[3];return t[0]=r*f+o*s+i*c-u*a,t[1]=i*f+o*a+u*s-r*c,t[2]=u*f+o*c+r*a-i*s,t[3]=o*f-r*s-i*a-u*c,s=e[4],a=e[5],c=e[6],f=e[7],t[4]=r*f+o*s+i*c-u*a,t[5]=i*f+o*a+u*s-r*c,t[6]=u*f+o*c+r*a-i*s,t[7]=o*f-r*s-i*a-u*c,t},n.rotateAroundAxis=function(t,n,e,i){if(Math.abs(i)<r.EPSILON)return a(t,n);var u=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);i*=.5;var o=Math.sin(i),s=o*e[0]/u,c=o*e[1]/u,f=o*e[2]/u,h=Math.cos(i),l=n[0],d=n[1],m=n[2],E=n[3];t[0]=l*h+E*s+d*f-m*c,t[1]=d*h+E*c+m*s-l*f,t[2]=m*h+E*f+l*c-d*s,t[3]=E*h-l*s-d*c-m*f;var _=n[4],R=n[5],M=n[6],A=n[7];return t[4]=_*h+A*s+R*f-M*c,t[5]=R*h+A*c+M*s-_*f,t[6]=M*h+A*f+_*c-R*s,t[7]=A*h-_*s-R*c-M*f,t},n.add=function(t,n,e){return t[0]=n[0]+e[0],t[1]=n[1]+e[1],t[2]=n[2]+e[2],t[3]=n[3]+e[3],t[4]=n[4]+e[4],t[5]=n[5]+e[5],t[6]=n[6]+e[6],t[7]=n[7]+e[7],t},n.multiply=c,n.scale=function(t,n,e){return t[0]=n[0]*e,t[1]=n[1]*e,t[2]=n[2]*e,t[3]=n[3]*e,t[4]=n[4]*e,t[5]=n[5]*e,t[6]=n[6]*e,t[7]=n[7]*e,t},n.lerp=function(t,n,e,r){var i=1-r;return f(n,e)<0&&(r=-r),t[0]=n[0]*i+e[0]*r,t[1]=n[1]*i+e[1]*r,t[2]=n[2]*i+e[2]*r,t[3]=n[3]*i+e[3]*r,t[4]=n[4]*i+e[4]*r,t[5]=n[5]*i+e[5]*r,t[6]=n[6]*i+e[6]*r,t[7]=n[7]*i+e[7]*r,t},n.invert=function(t,n){var e=l(n);return t[0]=-n[0]/e,t[1]=-n[1]/e,t[2]=-n[2]/e,t[3]=n[3]/e,t[4]=-n[4]/e,t[5]=-n[5]/e,t[6]=-n[6]/e,t[7]=n[7]/e,t},n.conjugate=function(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t[3]=n[3],t[4]=-n[4],t[5]=-n[5],t[6]=-n[6],t[7]=n[7],t},n.normalize=function(t,n){var e=l(n);if(e>0){e=Math.sqrt(e);var r=n[0]/e,i=n[1]/e,u=n[2]/e,o=n[3]/e,s=n[4],a=n[5],c=n[6],f=n[7],h=r*s+i*a+u*c+o*f;t[0]=r,t[1]=i,t[2]=u,t[3]=o,t[4]=(s-r*h)/e,t[5]=(a-i*h)/e,t[6]=(c-u*h)/e,t[7]=(f-o*h)/e}return t},n.str=function(t){return"quat2("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+")"},n.exactEquals=function(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]&&t[3]===n[3]&&t[4]===n[4]&&t[5]===n[5]&&t[6]===n[6]&&t[7]===n[7]},n.equals=function(t,n){var e=t[0],i=t[1],u=t[2],o=t[3],s=t[4],a=t[5],c=t[6],f=t[7],h=n[0],l=n[1],d=n[2],m=n[3],E=n[4],_=n[5],R=n[6],M=n[7];return Math.abs(e-h)<=r.EPSILON*Math.max(1,Math.abs(e),Math.abs(h))&&Math.abs(i-l)<=r.EPSILON*Math.max(1,Math.abs(i),Math.abs(l))&&Math.abs(u-d)<=r.EPSILON*Math.max(1,Math.abs(u),Math.abs(d))&&Math.abs(o-m)<=r.EPSILON*Math.max(1,Math.abs(o),Math.abs(m))&&Math.abs(s-E)<=r.EPSILON*Math.max(1,Math.abs(s),Math.abs(E))&&Math.abs(a-_)<=r.EPSILON*Math.max(1,Math.abs(a),Math.abs(_))&&Math.abs(c-R)<=r.EPSILON*Math.max(1,Math.abs(c),Math.abs(R))&&Math.abs(f-M)<=r.EPSILON*Math.max(1,Math.abs(f),Math.abs(M))};var r=o(e(0)),i=o(e(3)),u=o(e(4));function o(t){if(t&&t.__esModule)return t;var n={};if(null!=t)for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&(n[e]=t[e]);return n.default=t,n}function s(t,n,e){var r=.5*e[0],i=.5*e[1],u=.5*e[2],o=n[0],s=n[1],a=n[2],c=n[3];return t[0]=o,t[1]=s,t[2]=a,t[3]=c,t[4]=r*c+i*a-u*s,t[5]=i*c+u*o-r*a,t[6]=u*c+r*s-i*o,t[7]=-r*o-i*s-u*a,t}function a(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t}function c(t,n,e){var r=n[0],i=n[1],u=n[2],o=n[3],s=e[4],a=e[5],c=e[6],f=e[7],h=n[4],l=n[5],d=n[6],m=n[7],E=e[0],_=e[1],R=e[2],M=e[3];return t[0]=r*M+o*E+i*R-u*_,t[1]=i*M+o*_+u*E-r*R,t[2]=u*M+o*R+r*_-i*E,t[3]=o*M-r*E-i*_-u*R,t[4]=r*f+o*s+i*c-u*a+h*M+m*E+l*R-d*_,t[5]=i*f+o*a+u*s-r*c+l*M+m*_+d*E-h*R,t[6]=u*f+o*c+r*a-i*s+d*M+m*R+h*_-l*E,t[7]=o*f-r*s-i*a-u*c+m*M-h*E-l*_-d*R,t}n.getReal=i.copy,n.setReal=i.copy,n.mul=c;var f=n.dot=i.dot,h=n.length=i.length,l=(n.len=h,n.squaredLength=i.squaredLength);n.sqrLen=l},function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.sub=n.mul=void 0,n.create=function(){var t=new r.ARRAY_TYPE(6);return r.ARRAY_TYPE!=Float32Array&&(t[1]=0,t[2]=0,t[4]=0,t[5]=0),t[0]=1,t[3]=1,t},n.clone=function(t){var n=new r.ARRAY_TYPE(6);return n[0]=t[0],n[1]=t[1],n[2]=t[