UNPKG

@antv/g-camera-api

Version:

A simple implementation of Camera API.

17 lines 210 kB
/*! * @antv/g-camera-api * @description A simple implementation of Camera API. * @version 2.0.45 * @date 12/12/2025, 3:28:57 AM * @author AntVis * @docs https://g.antv.antgroup.com/ */ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).G=t.G||{},t.G.CameraAPI={}))}(this,function(t){"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},e(t)}function n(t){var n=function(t,n){if("object"!=e(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,n||"default");if("object"!=e(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(t)}(t,"string");return"symbol"==e(n)?n:n+""}function r(t,e,r){return(e=n(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function i(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function a(t){for(var e=1;arguments.length>e;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?i(Object(n),!0).forEach(function(e){r(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){for(var r=0;e.length>r;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,n(i.key),i)}}function u(t,e,n){return e&&s(t.prototype,e),n&&s(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function l(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);e>n;n++)r[n]=t[n];return r}function c(t,e){if(t){if("string"==typeof t)return l(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(t,e):void 0}}function h(t){return function(t){if(Array.isArray(t))return l(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||c(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(t){return f=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},f(t)}function d(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(d=function(){return!!t})()}function v(t,n){if(n&&("object"==e(n)||"function"==typeof n))return n;if(void 0!==n)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function p(t,e,n){return e=f(e),v(t,d()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function y(t,e){return y=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},y(t,e)}function m(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&y(t,e)}function g(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,i,a,o,s=[],u=!0,l=!1;try{if(a=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=a.call(n)).done)&&(s.push(r.value),s.length!==e);u=!0);}catch(t){l=!0,i=t}finally{try{if(!u&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}(t,e)||c(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var k={exports:{}};!function(t){var e=Object.prototype.hasOwnProperty,n="~";function r(){}function i(t,e,n){this.fn=t,this.context=e,this.once=n||!1}function a(t,e,r,a,o){if("function"!=typeof r)throw new TypeError("The listener must be a function");var s=new i(r,a||t,o),u=n?n+e:e;return t._events[u]?t._events[u].fn?t._events[u]=[t._events[u],s]:t._events[u].push(s):(t._events[u]=s,t._eventsCount++),t}function o(t,e){0===--t._eventsCount?t._events=new r:delete t._events[e]}function s(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(n=!1)),s.prototype.eventNames=function(){var t,r,i=[];if(0===this._eventsCount)return i;for(r in t=this._events)e.call(t,r)&&i.push(n?r.slice(1):r);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(t)):i},s.prototype.listeners=function(t){var e=this._events[n?n+t:t];if(!e)return[];if(e.fn)return[e.fn];for(var r=0,i=e.length,a=Array(i);i>r;r++)a[r]=e[r].fn;return a},s.prototype.listenerCount=function(t){var e=this._events[n?n+t:t];return e?e.fn?1:e.length:0},s.prototype.emit=function(t,e,r,i,a,o){var s=n?n+t:t;if(!this._events[s])return!1;var u,l,c=this._events[s],h=arguments.length;if(c.fn){switch(c.once&&this.removeListener(t,c.fn,void 0,!0),h){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,e),!0;case 3:return c.fn.call(c.context,e,r),!0;case 4:return c.fn.call(c.context,e,r,i),!0;case 5:return c.fn.call(c.context,e,r,i,a),!0;case 6:return c.fn.call(c.context,e,r,i,a,o),!0}for(l=1,u=Array(h-1);h>l;l++)u[l-1]=arguments[l];c.fn.apply(c.context,u)}else{var f,d=c.length;for(l=0;d>l;l++)switch(c[l].once&&this.removeListener(t,c[l].fn,void 0,!0),h){case 1:c[l].fn.call(c[l].context);break;case 2:c[l].fn.call(c[l].context,e);break;case 3:c[l].fn.call(c[l].context,e,r);break;case 4:c[l].fn.call(c[l].context,e,r,i);break;default:if(!u)for(f=1,u=Array(h-1);h>f;f++)u[f-1]=arguments[f];c[l].fn.apply(c[l].context,u)}}return!0},s.prototype.on=function(t,e,n){return a(this,t,e,n,!1)},s.prototype.once=function(t,e,n){return a(this,t,e,n,!0)},s.prototype.removeListener=function(t,e,r,i){var a=n?n+t:t;if(!this._events[a])return this;if(!e)return o(this,a),this;var s=this._events[a];if(s.fn)s.fn!==e||i&&!s.once||r&&s.context!==r||o(this,a);else{for(var u=0,l=[],c=s.length;c>u;u++)(s[u].fn!==e||i&&!s[u].once||r&&s[u].context!==r)&&l.push(s[u]);l.length?this._events[a]=1===l.length?l[0]:l:o(this,a)}return this},s.prototype.removeAllListeners=function(t){var e;return t?this._events[e=n?n+t:t]&&o(this,e):(this._events=new r,this._eventsCount=0),this},s.prototype.off=s.prototype.removeListener,s.prototype.addListener=s.prototype.on,s.prefixed=n,s.EventEmitter=s,t.exports=s}(k);var x=k.exports,M=1e-6,E="undefined"!=typeof Float32Array?Float32Array:Array;function b(){var t=new E(9);return E!=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}function w(){var t=new E(16);return E!=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}function T(t){var e=new E(16);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],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function S(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function N(t,e,n,r,i,a,o,s,u,l,c,h,f,d,v,p,y){return t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=u,t[8]=l,t[9]=c,t[10]=h,t[11]=f,t[12]=d,t[13]=v,t[14]=p,t[15]=y,t}function P(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 A(t,e){if(t===e){var n=e[1],r=e[2],i=e[3],a=e[6],o=e[7],s=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=n,t[6]=e[9],t[7]=e[13],t[8]=r,t[9]=a,t[11]=e[14],t[12]=i,t[13]=o,t[14]=s}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}function C(t,e){var n=e[0],r=e[1],i=e[2],a=e[3],o=e[4],s=e[5],u=e[6],l=e[7],c=e[8],h=e[9],f=e[10],d=e[11],v=e[12],p=e[13],y=e[14],m=e[15],g=n*s-r*o,k=n*u-i*o,x=n*l-a*o,M=r*u-i*s,E=r*l-a*s,b=i*l-a*u,w=c*p-h*v,T=c*y-f*v,S=c*m-d*v,N=h*y-f*p,P=h*m-d*p,A=f*m-d*y,C=g*A-k*P+x*N+M*S-E*T+b*w;return C?(t[0]=(s*A-u*P+l*N)*(C=1/C),t[1]=(i*P-r*A-a*N)*C,t[2]=(p*b-y*E+m*M)*C,t[3]=(f*E-h*b-d*M)*C,t[4]=(u*S-o*A-l*T)*C,t[5]=(n*A-i*S+a*T)*C,t[6]=(y*x-v*b-m*k)*C,t[7]=(c*b-f*x+d*k)*C,t[8]=(o*P-s*S+l*w)*C,t[9]=(r*S-n*P-a*w)*C,t[10]=(v*E-p*x+m*g)*C,t[11]=(h*x-c*E-d*g)*C,t[12]=(s*T-o*N-u*w)*C,t[13]=(n*N-r*T+i*w)*C,t[14]=(p*k-v*M-y*g)*C,t[15]=(c*M-h*k+f*g)*C,t):null}function O(t){var e=t[0],n=t[1],r=t[2],i=t[4],a=t[5],o=t[6],s=t[8],u=t[9],l=t[10],c=t[12],h=t[13],f=t[14],d=e*a-n*i,v=e*o-r*i,p=n*o-r*a,y=s*h-u*c,m=s*f-l*c,g=u*f-l*h;return t[7]*(e*g-n*m+r*y)-t[3]*(i*g-a*m+o*y)+t[15]*(s*p-u*v+l*d)-t[11]*(c*p-h*v+f*d)}function R(t,e,n){var r=e[0],i=e[1],a=e[2],o=e[3],s=e[4],u=e[5],l=e[6],c=e[7],h=e[8],f=e[9],d=e[10],v=e[11],p=e[12],y=e[13],m=e[14],g=e[15],k=n[0],x=n[1],M=n[2],E=n[3];return t[0]=k*r+x*s+M*h+E*p,t[1]=k*i+x*u+M*f+E*y,t[2]=k*a+x*l+M*d+E*m,t[3]=k*o+x*c+M*v+E*g,t[4]=(k=n[4])*r+(x=n[5])*s+(M=n[6])*h+(E=n[7])*p,t[5]=k*i+x*u+M*f+E*y,t[6]=k*a+x*l+M*d+E*m,t[7]=k*o+x*c+M*v+E*g,t[8]=(k=n[8])*r+(x=n[9])*s+(M=n[10])*h+(E=n[11])*p,t[9]=k*i+x*u+M*f+E*y,t[10]=k*a+x*l+M*d+E*m,t[11]=k*o+x*c+M*v+E*g,t[12]=(k=n[12])*r+(x=n[13])*s+(M=n[14])*h+(E=n[15])*p,t[13]=k*i+x*u+M*f+E*y,t[14]=k*a+x*l+M*d+E*m,t[15]=k*o+x*c+M*v+E*g,t}function L(t,e,n){var r,i,a,o,s,u,l,c,h,f,d,v,p=n[0],y=n[1],m=n[2];return e===t?(t[12]=e[0]*p+e[4]*y+e[8]*m+e[12],t[13]=e[1]*p+e[5]*y+e[9]*m+e[13],t[14]=e[2]*p+e[6]*y+e[10]*m+e[14],t[15]=e[3]*p+e[7]*y+e[11]*m+e[15]):(i=e[1],a=e[2],o=e[3],s=e[4],u=e[5],l=e[6],c=e[7],h=e[8],f=e[9],d=e[10],v=e[11],t[0]=r=e[0],t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=u,t[6]=l,t[7]=c,t[8]=h,t[9]=f,t[10]=d,t[11]=v,t[12]=r*p+s*y+h*m+e[12],t[13]=i*p+u*y+f*m+e[13],t[14]=a*p+l*y+d*m+e[14],t[15]=o*p+c*y+v*m+e[15]),t}function I(t,e,n){var r=Math.sin(n),i=Math.cos(n),a=e[4],o=e[5],s=e[6],u=e[7],l=e[8],c=e[9],h=e[10],f=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=a*i+l*r,t[5]=o*i+c*r,t[6]=s*i+h*r,t[7]=u*i+f*r,t[8]=l*i-a*r,t[9]=c*i-o*r,t[10]=h*i-s*r,t[11]=f*i-u*r,t}function D(t,e,n){var r=Math.sin(n),i=Math.cos(n),a=e[0],o=e[1],s=e[2],u=e[3],l=e[8],c=e[9],h=e[10],f=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i-l*r,t[1]=o*i-c*r,t[2]=s*i-h*r,t[3]=u*i-f*r,t[8]=a*r+l*i,t[9]=o*r+c*i,t[10]=s*r+h*i,t[11]=u*r+f*i,t}function _(t,e){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]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t}function G(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function F(t,e,n){var r,i,a,o=n[0],s=n[1],u=n[2],l=Math.sqrt(o*o+s*s+u*u);return M>l?null:(o*=l=1/l,s*=l,u*=l,r=Math.sin(e),t[0]=o*o*(a=1-(i=Math.cos(e)))+i,t[1]=s*o*a+u*r,t[2]=u*o*a-s*r,t[3]=0,t[4]=o*s*a-u*r,t[5]=s*s*a+i,t[6]=u*s*a+o*r,t[7]=0,t[8]=o*u*a+s*r,t[9]=s*u*a-o*r,t[10]=u*u*a+i,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)}function B(t,e){var n=Math.sin(e),r=Math.cos(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=r,t[6]=n,t[7]=0,t[8]=0,t[9]=-n,t[10]=r,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function U(t,e){var n=Math.sin(e),r=Math.cos(e);return t[0]=r,t[1]=0,t[2]=-n,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=n,t[9]=0,t[10]=r,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function z(t,e){var n=Math.sin(e),r=Math.cos(e);return t[0]=r,t[1]=n,t[2]=0,t[3]=0,t[4]=-n,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}function V(t,e,n){var r=e[0],i=e[1],a=e[2],o=e[3],s=r+r,u=i+i,l=a+a,c=r*s,h=r*u,f=r*l,d=i*u,v=i*l,p=a*l,y=o*s,m=o*u,g=o*l;return t[0]=1-(d+p),t[1]=h+g,t[2]=f-m,t[3]=0,t[4]=h-g,t[5]=1-(c+p),t[6]=v+y,t[7]=0,t[8]=f+m,t[9]=v-y,t[10]=1-(c+d),t[11]=0,t[12]=n[0],t[13]=n[1],t[14]=n[2],t[15]=1,t}function j(t,e){return t[0]=e[12],t[1]=e[13],t[2]=e[14],t}function W(t,e){var n=e[0],r=e[1],i=e[2],a=e[4],o=e[5],s=e[6],u=e[8],l=e[9],c=e[10];return t[0]=Math.sqrt(n*n+r*r+i*i),t[1]=Math.sqrt(a*a+o*o+s*s),t[2]=Math.sqrt(u*u+l*l+c*c),t}function q(t,e){var n=new E(3);W(n,e);var r=1/n[0],i=1/n[1],a=1/n[2],o=e[0]*r,s=e[1]*i,u=e[2]*a,l=e[4]*r,c=e[5]*i,h=e[6]*a,f=e[8]*r,d=e[9]*i,v=e[10]*a,p=o+c+v,y=0;return p>0?(t[3]=.25*(y=2*Math.sqrt(p+1)),t[0]=(h-d)/y,t[1]=(f-u)/y,t[2]=(s-l)/y):o>c&&o>v?(t[3]=(h-d)/(y=2*Math.sqrt(1+o-c-v)),t[0]=.25*y,t[1]=(s+l)/y,t[2]=(f+u)/y):c>v?(t[3]=(f-u)/(y=2*Math.sqrt(1+c-o-v)),t[0]=(s+l)/y,t[1]=.25*y,t[2]=(h+d)/y):(t[3]=(s-l)/(y=2*Math.sqrt(1+v-o-c)),t[0]=(f+u)/y,t[1]=(h+d)/y,t[2]=.25*y),t}function H(t,e,n,r,i){var a=e[0],o=e[1],s=e[2],u=e[3],l=a+a,c=o+o,h=s+s,f=a*l,d=a*c,v=a*h,p=o*c,y=o*h,m=s*h,g=u*l,k=u*c,x=u*h,M=r[0],E=r[1],b=r[2],w=i[0],T=i[1],S=i[2],N=(1-(p+m))*M,P=(d+x)*M,A=(v-k)*M,C=(d-x)*E,O=(1-(f+m))*E,R=(y+g)*E,L=(v+k)*b,I=(y-g)*b,D=(1-(f+p))*b;return t[0]=N,t[1]=P,t[2]=A,t[3]=0,t[4]=C,t[5]=O,t[6]=R,t[7]=0,t[8]=L,t[9]=I,t[10]=D,t[11]=0,t[12]=n[0]+w-(N*w+C*T+L*S),t[13]=n[1]+T-(P*w+O*T+I*S),t[14]=n[2]+S-(A*w+R*T+D*S),t[15]=1,t}function Y(t,e){var n=e[0],r=e[1],i=e[2],a=e[3],o=n+n,s=r+r,u=i+i,l=n*o,c=r*o,h=r*s,f=i*o,d=i*s,v=i*u,p=a*o,y=a*s,m=a*u;return t[0]=1-h-v,t[1]=c+m,t[2]=f-y,t[3]=0,t[4]=c-m,t[5]=1-l-v,t[6]=d+p,t[7]=0,t[8]=f+y,t[9]=d-p,t[10]=1-l-h,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function X(t,e,n,r,i){var a=1/Math.tan(e/2);if(t[0]=a/n,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,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){var o=1/(r-i);t[10]=(i+r)*o,t[14]=2*i*r*o}else t[10]=-1,t[14]=-2*r;return t}function Z(t,e,n,r,i,a,o){var s=1/(e-n),u=1/(r-i),l=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*u,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*l,t[11]=0,t[12]=(e+n)*s,t[13]=(i+r)*u,t[14]=(o+a)*l,t[15]=1,t}var K=Z;function Q(t,e,n,r,i,a,o){var s=1/(e-n),u=1/(r-i),l=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*u,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=l,t[11]=0,t[12]=(e+n)*s,t[13]=(i+r)*u,t[14]=a*l,t[15]=1,t}function $(t,e,n,r){var i,a,o,s,u,l,c,h,f,d,v=e[0],p=e[1],y=e[2],m=r[0],g=r[1],k=r[2],x=n[0],E=n[1],b=n[2];return M>Math.abs(v-x)&&M>Math.abs(p-E)&&M>Math.abs(y-b)?P(t):(f=y-b,(d=Math.sqrt((i=g*(f*=d=1/Math.sqrt((c=v-x)*c+(h=p-E)*h+f*f))-k*(h*=d))*i+(a=k*(c*=d)-m*f)*a+(o=m*h-g*c)*o))?(i*=d=1/d,a*=d,o*=d):(i=0,a=0,o=0),(d=Math.sqrt((s=h*o-f*a)*s+(u=f*i-c*o)*u+(l=c*a-h*i)*l))?(s*=d=1/d,u*=d,l*=d):(s=0,u=0,l=0),t[0]=i,t[1]=s,t[2]=c,t[3]=0,t[4]=a,t[5]=u,t[6]=h,t[7]=0,t[8]=o,t[9]=l,t[10]=f,t[11]=0,t[12]=-(i*v+a*p+o*y),t[13]=-(s*v+u*p+l*y),t[14]=-(c*v+h*p+f*y),t[15]=1,t)}function J(t,e,n){return t[0]=e[0]-n[0],t[1]=e[1]-n[1],t[2]=e[2]-n[2],t[3]=e[3]-n[3],t[4]=e[4]-n[4],t[5]=e[5]-n[5],t[6]=e[6]-n[6],t[7]=e[7]-n[7],t[8]=e[8]-n[8],t[9]=e[9]-n[9],t[10]=e[10]-n[10],t[11]=e[11]-n[11],t[12]=e[12]-n[12],t[13]=e[13]-n[13],t[14]=e[14]-n[14],t[15]=e[15]-n[15],t}var tt=R,et=Object.freeze({__proto__:null,add:function(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t[3]=e[3]+n[3],t[4]=e[4]+n[4],t[5]=e[5]+n[5],t[6]=e[6]+n[6],t[7]=e[7]+n[7],t[8]=e[8]+n[8],t[9]=e[9]+n[9],t[10]=e[10]+n[10],t[11]=e[11]+n[11],t[12]=e[12]+n[12],t[13]=e[13]+n[13],t[14]=e[14]+n[14],t[15]=e[15]+n[15],t},adjoint:function(t,e){var n=e[0],r=e[1],i=e[2],a=e[3],o=e[4],s=e[5],u=e[6],l=e[7],c=e[8],h=e[9],f=e[10],d=e[11],v=e[12],p=e[13],y=e[14],m=e[15],g=n*s-r*o,k=n*u-i*o,x=n*l-a*o,M=r*u-i*s,E=r*l-a*s,b=i*l-a*u,w=c*p-h*v,T=c*y-f*v,S=c*m-d*v,N=h*y-f*p,P=h*m-d*p,A=f*m-d*y;return t[0]=s*A-u*P+l*N,t[1]=i*P-r*A-a*N,t[2]=p*b-y*E+m*M,t[3]=f*E-h*b-d*M,t[4]=u*S-o*A-l*T,t[5]=n*A-i*S+a*T,t[6]=y*x-v*b-m*k,t[7]=c*b-f*x+d*k,t[8]=o*P-s*S+l*w,t[9]=r*S-n*P-a*w,t[10]=v*E-p*x+m*g,t[11]=h*x-c*E-d*g,t[12]=s*T-o*N-u*w,t[13]=n*N-r*T+i*w,t[14]=p*k-v*M-y*g,t[15]=c*M-h*k+f*g,t},clone:T,copy:S,create:w,decompose:function(t,e,n,r){e[0]=r[12],e[1]=r[13],e[2]=r[14];var i=r[0],a=r[1],o=r[2],s=r[4],u=r[5],l=r[6],c=r[8],h=r[9],f=r[10];n[0]=Math.sqrt(i*i+a*a+o*o),n[1]=Math.sqrt(s*s+u*u+l*l),n[2]=Math.sqrt(c*c+h*h+f*f);var d=1/n[0],v=1/n[1],p=1/n[2],y=i*d,m=a*v,g=o*p,k=s*d,x=u*v,M=l*p,E=c*d,b=h*v,w=f*p,T=y+x+w,S=0;return T>0?(t[3]=.25*(S=2*Math.sqrt(T+1)),t[0]=(M-b)/S,t[1]=(E-g)/S,t[2]=(m-k)/S):y>x&&y>w?(t[3]=(M-b)/(S=2*Math.sqrt(1+y-x-w)),t[0]=.25*S,t[1]=(m+k)/S,t[2]=(E+g)/S):x>w?(t[3]=(E-g)/(S=2*Math.sqrt(1+x-y-w)),t[0]=(m+k)/S,t[1]=.25*S,t[2]=(M+b)/S):(t[3]=(m-k)/(S=2*Math.sqrt(1+w-y-x)),t[0]=(E+g)/S,t[1]=(M+b)/S,t[2]=.25*S),t},determinant:O,equals:function(t,e){var n=t[0],r=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],l=t[7],c=t[8],h=t[9],f=t[10],d=t[11],v=t[12],p=t[13],y=t[14],m=t[15],g=e[0],k=e[1],x=e[2],E=e[3],b=e[4],w=e[5],T=e[6],S=e[7],N=e[8],P=e[9],A=e[10],C=e[11],O=e[12],R=e[13],L=e[14],I=e[15];return!(Math.abs(n-g)>M*Math.max(1,Math.abs(n),Math.abs(g))||Math.abs(r-k)>M*Math.max(1,Math.abs(r),Math.abs(k))||Math.abs(i-x)>M*Math.max(1,Math.abs(i),Math.abs(x))||Math.abs(a-E)>M*Math.max(1,Math.abs(a),Math.abs(E))||Math.abs(o-b)>M*Math.max(1,Math.abs(o),Math.abs(b))||Math.abs(s-w)>M*Math.max(1,Math.abs(s),Math.abs(w))||Math.abs(u-T)>M*Math.max(1,Math.abs(u),Math.abs(T))||Math.abs(l-S)>M*Math.max(1,Math.abs(l),Math.abs(S))||Math.abs(c-N)>M*Math.max(1,Math.abs(c),Math.abs(N))||Math.abs(h-P)>M*Math.max(1,Math.abs(h),Math.abs(P))||Math.abs(f-A)>M*Math.max(1,Math.abs(f),Math.abs(A))||Math.abs(d-C)>M*Math.max(1,Math.abs(d),Math.abs(C))||Math.abs(v-O)>M*Math.max(1,Math.abs(v),Math.abs(O))||Math.abs(p-R)>M*Math.max(1,Math.abs(p),Math.abs(R))||Math.abs(y-L)>M*Math.max(1,Math.abs(y),Math.abs(L))||Math.abs(m-I)>M*Math.max(1,Math.abs(m),Math.abs(I)))},exactEquals:function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]&&t[9]===e[9]&&t[10]===e[10]&&t[11]===e[11]&&t[12]===e[12]&&t[13]===e[13]&&t[14]===e[14]&&t[15]===e[15]},frob:function(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]+t[3]*t[3]+t[4]*t[4]+t[5]*t[5]+t[6]*t[6]+t[7]*t[7]+t[8]*t[8]+t[9]*t[9]+t[10]*t[10]+t[11]*t[11]+t[12]*t[12]+t[13]*t[13]+t[14]*t[14]+t[15]*t[15])},fromQuat:Y,fromQuat2:function(t,e){var n=new E(3),r=-e[0],i=-e[1],a=-e[2],o=e[3],s=e[4],u=e[5],l=e[6],c=e[7],h=r*r+i*i+a*a+o*o;return h>0?(n[0]=2*(s*o+c*r+u*a-l*i)/h,n[1]=2*(u*o+c*i+l*r-s*a)/h,n[2]=2*(l*o+c*a+s*i-u*r)/h):(n[0]=2*(s*o+c*r+u*a-l*i),n[1]=2*(u*o+c*i+l*r-s*a),n[2]=2*(l*o+c*a+s*i-u*r)),V(t,e,n),t},fromRotation:F,fromRotationTranslation:V,fromRotationTranslationScale:function(t,e,n,r){var i=e[0],a=e[1],o=e[2],s=e[3],u=i+i,l=a+a,c=o+o,h=i*u,f=i*l,d=i*c,v=a*l,p=a*c,y=o*c,m=s*u,g=s*l,k=s*c,x=r[0],M=r[1],E=r[2];return t[0]=(1-(v+y))*x,t[1]=(f+k)*x,t[2]=(d-g)*x,t[3]=0,t[4]=(f-k)*M,t[5]=(1-(h+y))*M,t[6]=(p+m)*M,t[7]=0,t[8]=(d+g)*E,t[9]=(p-m)*E,t[10]=(1-(h+v))*E,t[11]=0,t[12]=n[0],t[13]=n[1],t[14]=n[2],t[15]=1,t},fromRotationTranslationScaleOrigin:H,fromScaling:G,fromTranslation:_,fromValues:function(t,e,n,r,i,a,o,s,u,l,c,h,f,d,v,p){var y=new E(16);return y[0]=t,y[1]=e,y[2]=n,y[3]=r,y[4]=i,y[5]=a,y[6]=o,y[7]=s,y[8]=u,y[9]=l,y[10]=c,y[11]=h,y[12]=f,y[13]=d,y[14]=v,y[15]=p,y},fromXRotation:B,fromYRotation:U,fromZRotation:z,frustum:function(t,e,n,r,i,a,o){var s=1/(n-e),u=1/(i-r),l=1/(a-o);return t[0]=2*a*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*a*u,t[6]=0,t[7]=0,t[8]=(n+e)*s,t[9]=(i+r)*u,t[10]=(o+a)*l,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*a*2*l,t[15]=0,t},getRotation:q,getScaling:W,getTranslation:j,identity:P,invert:C,lookAt:$,mul:tt,multiply:R,multiplyScalar:function(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*n,t[5]=e[5]*n,t[6]=e[6]*n,t[7]=e[7]*n,t[8]=e[8]*n,t[9]=e[9]*n,t[10]=e[10]*n,t[11]=e[11]*n,t[12]=e[12]*n,t[13]=e[13]*n,t[14]=e[14]*n,t[15]=e[15]*n,t},multiplyScalarAndAdd:function(t,e,n,r){return t[0]=e[0]+n[0]*r,t[1]=e[1]+n[1]*r,t[2]=e[2]+n[2]*r,t[3]=e[3]+n[3]*r,t[4]=e[4]+n[4]*r,t[5]=e[5]+n[5]*r,t[6]=e[6]+n[6]*r,t[7]=e[7]+n[7]*r,t[8]=e[8]+n[8]*r,t[9]=e[9]+n[9]*r,t[10]=e[10]+n[10]*r,t[11]=e[11]+n[11]*r,t[12]=e[12]+n[12]*r,t[13]=e[13]+n[13]*r,t[14]=e[14]+n[14]*r,t[15]=e[15]+n[15]*r,t},ortho:K,orthoNO:Z,orthoZO:Q,perspective:X,perspectiveFromFieldOfView:function(t,e,n,r){var i=Math.tan(e.upDegrees*Math.PI/180),a=Math.tan(e.downDegrees*Math.PI/180),o=Math.tan(e.leftDegrees*Math.PI/180),s=Math.tan(e.rightDegrees*Math.PI/180),u=2/(o+s),l=2/(i+a);return t[0]=u,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=l,t[6]=0,t[7]=0,t[8]=-(o-s)*u*.5,t[9]=(i-a)*l*.5,t[10]=r/(n-r),t[11]=-1,t[12]=0,t[13]=0,t[14]=r*n/(n-r),t[15]=0,t},perspectiveNO:X,perspectiveZO:function(t,e,n,r,i){var a=1/Math.tan(e/2);if(t[0]=a/n,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,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){var o=1/(r-i);t[10]=i*o,t[14]=i*r*o}else t[10]=-1,t[14]=-r;return t},rotate:function(t,e,n,r){var i,a,o,s,u,l,c,h,f,d,v,p,y,m,g,k,x,E,b,w,T,S,N,P,A=r[0],C=r[1],O=r[2],R=Math.sqrt(A*A+C*C+O*O);return M>R?null:(A*=R=1/R,C*=R,O*=R,i=Math.sin(n),u=e[1],l=e[2],c=e[3],f=e[5],d=e[6],v=e[7],y=e[9],m=e[10],g=e[11],b=A*C*(o=1-(a=Math.cos(n)))-O*i,w=C*C*o+a,T=O*C*o+A*i,S=A*O*o+C*i,N=C*O*o-A*i,P=O*O*o+a,t[0]=(s=e[0])*(k=A*A*o+a)+(h=e[4])*(x=C*A*o+O*i)+(p=e[8])*(E=O*A*o-C*i),t[1]=u*k+f*x+y*E,t[2]=l*k+d*x+m*E,t[3]=c*k+v*x+g*E,t[4]=s*b+h*w+p*T,t[5]=u*b+f*w+y*T,t[6]=l*b+d*w+m*T,t[7]=c*b+v*w+g*T,t[8]=s*S+h*N+p*P,t[9]=u*S+f*N+y*P,t[10]=l*S+d*N+m*P,t[11]=c*S+v*N+g*P,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)},rotateX:I,rotateY:D,rotateZ:function(t,e,n){var r=Math.sin(n),i=Math.cos(n),a=e[0],o=e[1],s=e[2],u=e[3],l=e[4],c=e[5],h=e[6],f=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i+l*r,t[1]=o*i+c*r,t[2]=s*i+h*r,t[3]=u*i+f*r,t[4]=l*i-a*r,t[5]=c*i-o*r,t[6]=h*i-s*r,t[7]=f*i-u*r,t},scale:function(t,e,n){var r=n[0],i=n[1],a=n[2];return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},set: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]+")"},sub:J,subtract:J,targetTo:function(t,e,n,r){var i=e[0],a=e[1],o=e[2],s=r[0],u=r[1],l=r[2],c=i-n[0],h=a-n[1],f=o-n[2],d=c*c+h*h+f*f;d>0&&(c*=d=1/Math.sqrt(d),h*=d,f*=d);var v=u*f-l*h,p=l*c-s*f,y=s*h-u*c;return(d=v*v+p*p+y*y)>0&&(v*=d=1/Math.sqrt(d),p*=d,y*=d),t[0]=v,t[1]=p,t[2]=y,t[3]=0,t[4]=h*y-f*p,t[5]=f*v-c*y,t[6]=c*p-h*v,t[7]=0,t[8]=c,t[9]=h,t[10]=f,t[11]=0,t[12]=i,t[13]=a,t[14]=o,t[15]=1,t},translate:L,transpose:A});function nt(){var t=new E(3);return E!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t}function rt(t){var e=new E(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function it(t){var e=t[0],n=t[1],r=t[2];return Math.sqrt(e*e+n*n+r*r)}function at(t,e,n){var r=new E(3);return r[0]=t,r[1]=e,r[2]=n,r}function ot(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function st(t,e,n,r){return t[0]=e,t[1]=n,t[2]=r,t}function ut(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t}function lt(t,e,n){return t[0]=e[0]-n[0],t[1]=e[1]-n[1],t[2]=e[2]-n[2],t}function ct(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t}function ht(t,e){var n=e[0],r=e[1],i=e[2],a=n*n+r*r+i*i;return a>0&&(a=1/Math.sqrt(a)),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t}function ft(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function dt(t,e,n){var r=e[0],i=e[1],a=e[2],o=n[0],s=n[1],u=n[2];return t[0]=i*u-a*s,t[1]=a*o-r*u,t[2]=r*s-i*o,t}function vt(t,e,n,r){var i=e[0],a=e[1],o=e[2];return t[0]=i+r*(n[0]-i),t[1]=a+r*(n[1]-a),t[2]=o+r*(n[2]-o),t}function pt(t,e,n){var r=e[0],i=e[1],a=e[2],o=n[3]*r+n[7]*i+n[11]*a+n[15];return t[0]=(n[0]*r+n[4]*i+n[8]*a+n[12])/(o=o||1),t[1]=(n[1]*r+n[5]*i+n[9]*a+n[13])/o,t[2]=(n[2]*r+n[6]*i+n[10]*a+n[14])/o,t}function yt(t,e){var n=t[0],r=t[1],i=t[2],a=e[0],o=e[1],s=e[2];return M*Math.max(1,Math.abs(n),Math.abs(a))>=Math.abs(n-a)&&M*Math.max(1,Math.abs(r),Math.abs(o))>=Math.abs(r-o)&&M*Math.max(1,Math.abs(i),Math.abs(s))>=Math.abs(i-s)}var mt=lt,gt=function(t,e){var n=e[0]-t[0],r=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(n*n+r*r+i*i)},kt=it;function xt(){var t=new E(4);return E!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0),t}function Mt(t,e,n,r){var i=new E(4);return i[0]=t,i[1]=e,i[2]=n,i[3]=r,i}function Et(t,e,n){var r=e[0],i=e[1],a=e[2],o=e[3];return t[0]=n[0]*r+n[4]*i+n[8]*a+n[12]*o,t[1]=n[1]*r+n[5]*i+n[9]*a+n[13]*o,t[2]=n[2]*r+n[6]*i+n[10]*a+n[14]*o,t[3]=n[3]*r+n[7]*i+n[11]*a+n[15]*o,t}function bt(){var t=new E(4);return E!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t[3]=1,t}function wt(t,e,n){var r=Math.sin(n*=.5);return t[0]=r*e[0],t[1]=r*e[1],t[2]=r*e[2],t[3]=Math.cos(n),t}function Tt(t,e,n){var r=e[0],i=e[1],a=e[2],o=e[3],s=n[0],u=n[1],l=n[2],c=n[3];return t[0]=r*c+o*s+i*l-a*u,t[1]=i*c+o*u+a*s-r*l,t[2]=a*c+o*l+r*u-i*s,t[3]=o*c-r*s-i*u-a*l,t}function St(t,e){var n=e[0],r=e[1],i=e[2],a=e[3],o=n*n+r*r+i*i+a*a,s=o?1/o:0;return t[0]=-n*s,t[1]=-r*s,t[2]=-i*s,t[3]=a*s,t}function Nt(t,e,n,r){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"zyx",a=Math.PI/360;r*=a,n*=a;var o=Math.sin(e*=a),s=Math.cos(e),u=Math.sin(n),l=Math.cos(n),c=Math.sin(r),h=Math.cos(r);switch(i){case"xyz":t[0]=o*l*h+s*u*c,t[1]=s*u*h-o*l*c,t[2]=s*l*c+o*u*h,t[3]=s*l*h-o*u*c;break;case"xzy":t[0]=o*l*h-s*u*c,t[1]=s*u*h-o*l*c,t[2]=s*l*c+o*u*h,t[3]=s*l*h+o*u*c;break;case"yxz":t[0]=o*l*h+s*u*c,t[1]=s*u*h-o*l*c,t[2]=s*l*c-o*u*h,t[3]=s*l*h+o*u*c;break;case"yzx":t[0]=o*l*h+s*u*c,t[1]=s*u*h+o*l*c,t[2]=s*l*c-o*u*h,t[3]=s*l*h-o*u*c;break;case"zxy":t[0]=o*l*h-s*u*c,t[1]=s*u*h+o*l*c,t[2]=s*l*c+o*u*h,t[3]=s*l*h-o*u*c;break;case"zyx":t[0]=o*l*h-s*u*c,t[1]=s*u*h+o*l*c,t[2]=s*l*c-o*u*h,t[3]=s*l*h+o*u*c;break;default:throw Error("Unknown angle order "+i)}return t}nt(),function(){var t=xt()}();var Pt=Mt,At=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},Ct=function(t,e,n,r,i){return t[0]=e,t[1]=n,t[2]=r,t[3]=i,t},Ot=Tt,Rt=function(t,e){var n=e[0],r=e[1],i=e[2],a=e[3],o=n*n+r*r+i*i+a*a;return o>0&&(o=1/Math.sqrt(o)),t[0]=n*o,t[1]=r*o,t[2]=i*o,t[3]=a*o,t};function Lt(){var t=new E(2);return E!=Float32Array&&(t[0]=0,t[1]=0),t}function It(t){return"function"==typeof t}function Dt(t){return null==t}function _t(t){return Array.isArray(t)}nt(),at(1,0,0),at(0,1,0),bt(),bt(),b(),function(){var t=Lt()}();var Gt={}.toString,Ft=function(t,e){return Gt.call(t)==="[object "+e+"]"};function Bt(t){if(!Array.isArray(t))return-1/0;var e=t.length;if(!e)return-1/0;for(var n=t[0],r=1;e>r;r++)n=Math.max(n,t[r]);return n}var Ut=function(t){if(_t(t))return t.reduce(function(t,e){return Math.min(t,e)},t[0])};function zt(t){return"string"==typeof t}var Vt=function(t,e,n){return e>t?e:t>n?n:t};function jt(t){return"number"==typeof t}function Wt(t,e,n){return void 0===n&&(n=1e-5),t===e||n>Math.abs(t-e)}var qt=function(t,e){return(t%e+e)%e},Ht=function(t){return Ft(t,"Boolean")},Yt=function(t){return void 0===t},Xt=function(){return Xt=Object.assign||function(t){for(var e,n=1,r=arguments.length;r>n;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t},Xt.apply(this,arguments)};function Zt(t,e,n){if(n||2===arguments.length)for(var r,i=0,a=e.length;a>i;i++)!r&&i in e||(r||(r=Array.prototype.slice.call(e,0,i)),r[i]=e[i]);return t.concat(r||Array.prototype.slice.call(e))}"function"==typeof SuppressedError&&SuppressedError;var Kt={x1:0,y1:0,x2:0,y2:0,x:0,y:0,qx:null,qy:null};function Qt(t,e,n){if(t[n].length>7){t[n].shift();for(var r=t[n],i=n;r.length;)e[n]="A",t.splice(i+=1,0,["C"].concat(r.splice(0,6)));t.splice(n,1)}}var $t={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0};function Jt(t){return Array.isArray(t)&&t.every(function(t){var e=t[0].toLowerCase();return $t[e]===t.length-1&&"achlmqstvz".includes(e)})}function te(t){return Jt(t)&&t.every(function(t){var e=t[0];return e===e.toUpperCase()})}function ee(t){return te(t)&&t.every(function(t){return"ACLMQZ".includes(t[0])})}function ne(t){for(var e=t.pathValue[t.segmentStart],n=e.toLowerCase(),r=t.data;r.length>=$t[n]&&("m"===n&&r.length>2?(t.segments.push([e].concat(r.splice(0,2))),n="l",e="m"===e?"l":"L"):t.segments.push([e].concat(r.splice(0,$t[n]))),$t[n]););}function re(t){var e=t.index,n=t.pathValue,r=n.charCodeAt(e);return 48===r?(t.param=0,void(t.index+=1)):49===r?(t.param=1,void(t.index+=1)):void(t.err='[path-util]: invalid Arc flag "'.concat(n[e],'", expecting 0 or 1 at index ').concat(e))}function ie(t){return t>=48&&57>=t||43===t||45===t||46===t}function ae(t){return t>=48&&57>=t}function oe(t){var e,n=t.max,r=t.pathValue,i=t.index,a=i,o=!1,s=!1,u=!1,l=!1;if(n>a)if(43!==(e=r.charCodeAt(a))&&45!==e||(e=r.charCodeAt(a+=1)),ae(e)||46===e){if(46!==e){if(o=48===e,e=r.charCodeAt(a+=1),o&&n>a&&e&&ae(e))return void(t.err="[path-util]: Invalid path value at index ".concat(i,', "').concat(r[i],'" illegal number'));for(;n>a&&ae(r.charCodeAt(a));)a+=1,s=!0;e=r.charCodeAt(a)}if(46===e){for(l=!0,a+=1;ae(r.charCodeAt(a));)a+=1,u=!0;e=r.charCodeAt(a)}if(101===e||69===e){if(l&&!s&&!u)return void(t.err="[path-util]: Invalid path value at index ".concat(a,', "').concat(r[a],'" invalid float exponent'));if(43!==(e=r.charCodeAt(a+=1))&&45!==e||(a+=1),a>=n||!ae(r.charCodeAt(a)))return void(t.err="[path-util]: Invalid path value at index ".concat(a,', "').concat(r[a],'" invalid integer exponent'));for(;n>a&&ae(r.charCodeAt(a));)a+=1}t.index=a,t.param=+t.pathValue.slice(i,a)}else t.err="[path-util]: Invalid path value at index ".concat(a,', "').concat(r[a],'" is not a number');else t.err="[path-util]: Invalid path value at index ".concat(a,', "pathValue" is missing param')}function se(t){return 10===t||13===t||8232===t||8233===t||32===t||9===t||11===t||12===t||160===t||t>=5760&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].includes(t)}function ue(t){for(var e=t.pathValue,n=t.max;n>t.index&&se(e.charCodeAt(t.index));)t.index+=1}function le(t){return 97==(32|t)}function ce(t){var e=t.max,n=t.pathValue,r=t.index,i=n.charCodeAt(r),a=$t[n[r].toLowerCase()];if(t.segmentStart=r,function(t){switch(32|t){case 109:case 122:case 108:case 104:case 118:case 99:case 115:case 113:case 116:case 97:return!0;default:return!1}}(i))if(t.index+=1,ue(t),t.data=[],a){for(;;){for(var o=a;o>0;o-=1){if(!le(i)||3!==o&&4!==o?oe(t):re(t),t.err.length)return;t.data.push(t.param),ue(t),e>t.index&&44===n.charCodeAt(t.index)&&(t.index+=1,ue(t))}if(t.index>=t.max)break;if(!ie(n.charCodeAt(t.index)))break}ne(t)}else ne(t);else t.err='[path-util]: Invalid path value "'.concat(n[r],'" is not a path command')}var he=function(t){this.pathValue=t,this.segments=[],this.max=t.length,this.index=0,this.param=0,this.segmentStart=0,this.data=[],this.err=""};function fe(t){if(te(t))return[].concat(t);var e=function(t){if(Jt(t))return[].concat(t);var e=new he(t);for(ue(e);e.max>e.index&&!e.err.length;)ce(e);return e.err?e.err:e.segments}(t),n=0,r=0,i=0,a=0;return e.map(function(t){var e,o=t.slice(1).map(Number),s=t[0],u=s.toUpperCase();if("M"===s)return i=n=o[0],a=r=o[1],["M",n,r];if(s!==u)switch(u){case"A":e=[u,o[0],o[1],o[2],o[3],o[4],o[5]+n,o[6]+r];break;case"V":e=[u,o[0]+r];break;case"H":e=[u,o[0]+n];break;default:var l=o.map(function(t,e){return t+(e%2?r:n)});e=[u].concat(l)}else e=[u].concat(o);var c=e.length;switch(u){case"Z":n=i,r=a;break;case"H":n=e[1];break;case"V":r=e[1];break;default:n=e[c-2],r=e[c-1],"M"===u&&(i=n,a=r)}return e})}function de(t,e){var n=t[0],r=e.x1,i=e.y1,a=e.x2,o=e.y2,s=t.slice(1).map(Number),u=t;if("TQ".includes(n)||(e.qx=null,e.qy=null),"H"===n)u=["L",t[1],i];else if("V"===n)u=["L",r,t[1]];else if("S"===n){var l=2*r-a,c=2*i-o;e.x1=l,e.y1=c,u=["C",l,c].concat(s)}else if("T"===n){var h=2*r-e.qx,f=2*i-e.qy;e.qx=h,e.qy=f,u=["Q",h,f].concat(s)}else if("Q"===n){var d=s[1];e.qx=s[0],e.qy=d}return u}function ve(t){if(ee(t))return[].concat(t);for(var e=fe(t),n=Xt({},Kt),r=0;e.length>r;r+=1){e[r]=de(e[r],n);var i=e[r],a=i.length;n.x1=+i[a-2],n.y1=+i[a-1],n.x2=+i[a-4]||n.x1,n.y2=+i[a-3]||n.y1}return e}function pe(t,e,n){return{x:t*Math.cos(n)-e*Math.sin(n),y:t*Math.sin(n)+e*Math.cos(n)}}function ye(t,e,n,r,i,a,o,s,u,l){var c,h,f,d,v,p=t,y=e,m=n,g=r,k=s,x=u,M=120*Math.PI/180,E=Math.PI/180*(+i||0),b=[];if(l)h=l[0],f=l[1],d=l[2],v=l[3];else{y=(c=pe(p,y,-E)).y;var w=((p=c.x)-(k=(c=pe(k,x,-E)).x))/2,T=(y-(x=c.y))/2,S=w*w/(m*m)+T*T/(g*g);S>1&&(m*=S=Math.sqrt(S),g*=S);var N=m*m,P=g*g,A=(a===o?-1:1)*Math.sqrt(Math.abs((N*P-N*T*T-P*w*w)/(N*T*T+P*w*w)));d=A*m*T/g+(p+k)/2,h=Math.asin(((y-(v=A*-g*w/m+(y+x)/2))/g*1e9|0)/1e9),f=Math.asin(((x-v)/g*1e9|0)/1e9),0>(h=d>p?Math.PI-h:h)&&(h=2*Math.PI+h),0>(f=d>k?Math.PI-f:f)&&(f=2*Math.PI+f),o&&h>f&&(h-=2*Math.PI),!o&&f>h&&(f-=2*Math.PI)}var C=f-h;if(Math.abs(C)>M){var O=f,R=k,L=x;b=ye(k=d+m*Math.cos(f=h+M*(o&&f>h?1:-1)),x=v+g*Math.sin(f),m,g,i,0,o,R,L,[f,O,d,v])}C=f-h;var I=Math.cos(h),D=Math.sin(h),_=Math.cos(f),G=Math.sin(f),F=Math.tan(C/4),B=4/3*m*F,U=4/3*g*F,z=[p,y],V=[p+B*D,y-U*I],j=[k+B*G,x-U*_],W=[k,x];if(V[0]=2*z[0]-V[0],V[1]=2*z[1]-V[1],l)return V.concat(j,W,b);for(var q=[],H=0,Y=(b=V.concat(j,W,b)).length;Y>H;H+=1)q[H]=H%2?pe(b[H-1],b[H],E).y:pe(b[H],b[H+1],E).x;return q}function me(t,e,n){var r=t[0],i=t[1];return[r+(e[0]-r)*n,i+(e[1]-i)*n]}var ge=function(t,e,n,r){return Zt(Zt([],me([t,e],[n,r],.5),!0),[n,r,n,r],!1)};function ke(t,e){var n,r,i,a,o,s,u,l=t[0],c=t.slice(1).map(Number),h=c[0],f=c[1],d=e.x1,v=e.y1,p=e.x,y=e.y;switch("TQ".includes(l)||(e.qx=null,e.qy=null),l){case"M":return e.x=h,e.y=f,t;case"A":return n=[d,v].concat(c),["C"].concat(ye(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9]));case"Q":return e.qx=h,e.qy=f,n=[d,v].concat(c),["C"].concat([(s=1/3)*n[0]+(u=2/3)*(r=n[2]),s*n[1]+u*(i=n[3]),s*(a=n[4])+u*r,s*(o=n[5])+u*i,a,o]);case"L":return["C"].concat(ge(d,v,h,f));case"Z":return d===p&&v===y?["C",d,v,p,y,p,y]:["C"].concat(ge(d,v,p,y))}return t}function xe(t,e){if(void 0===e&&(e=!1),function(t){return ee(t)&&t.every(function(t){return"MC".includes(t[0])})}(t)){var n=[].concat(t);return e?[n,[]]:n}for(var r,i,a=ve(t),o=Xt({},Kt),s=[],u="",l=a.length,c=[],h=0;l>h;h+=1){a[h]&&(u=a[h][0]),s[h]=u;var f=ke(a[h],o);a[h]=f,Qt(a,s,h),l=a.length,"Z"===u&&c.push(h),o.x1=+(r=a[h])[(i=r.length)-2],o.y1=+r[i-1],o.x2=+r[i-4]||o.x1,o.y2=+r[i-3]||o.y1}return e?[a,c]:a}function Me(t,e){return Math.sqrt((t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[1]-e[1]))}function Ee(t,e,n,r,i){var a=Me([t,e],[n,r]),o={x:0,y:0};if("number"==typeof i)if(0<i)if(i<a){var s=me([t,e],[n,r],i/a);o={x:s[0],y:s[1]}}else o={x:n,y:r};else o={x:t,y:e};return{length:a,point:o,min:{x:Math.min(t,n),y:Math.min(e,r)},max:{x:Math.max(t,n),y:Math.max(e,r)}}}function be(t,e){var n=t.x,r=t.y,i=e.x,a=e.y;return(0>n*a-r*i?-1:1)*Math.acos((n*i+r*a)/Math.sqrt((Math.pow(n,2)+Math.pow(r,2))*(Math.pow(i,2)+Math.pow(a,2))))}function we(t,e,n,r,i,a,o,s,u,l){var c=Math.abs,h=Math.sin,f=Math.cos,d=Math.sqrt,v=Math.PI,p=c(n),y=c(r),m=(i%360+360)%360*(v/180);if(t===s&&e===u)return{x:t,y:e};if(0===p||0===y)return Ee(t,e,s,u,l).point;var g=(t-s)/2,k=(e-u)/2,x={x:f(m)*g+h(m)*k,y:-h(m)*g+f(m)*k},M=Math.pow(x.x,2)/Math.pow(p,2)+Math.pow(x.y,2)/Math.pow(y,2);M>1&&(p*=d(M),y*=d(M));var E=(Math.pow(p,2)*Math.pow(y,2)-Math.pow(p,2)*Math.pow(x.y,2)-Math.pow(y,2)*Math.pow(x.x,2))/(Math.pow(p,2)*Math.pow(x.y,2)+Math.pow(y,2)*Math.pow(x.x,2)),b=(a!==o?1:-1)*d(E=0>E?0:E),w=b*(p*x.y/y),T=b*(-y*x.x/p),S=f(m)*w-h(m)*T+(t+s)/2,N=h(m)*w+f(m)*T+(e+u)/2,P={x:(x.x-w)/p,y:(x.y-T)/y},A=be({x:1,y:0},P),C=be(P,{x:(-x.x-w)/p,y:(-x.y-T)/y});!o&&C>0?C-=2*v:o&&0>C&&(C+=2*v);var O=A+(C%=2*v)*l,R=p*f(O),L=y*h(O);return{x:f(m)*R-h(m)*L+S,y:h(m)*R+f(m)*L+N}}function Te(t,e,n,r,i,a,o,s,u,l,c){var h,f=c.bbox,d=void 0===f||f,v=c.length,p=void 0===v||v,y=c.sampleSize,m=void 0===y?30:y,g="number"==typeof l,k=t,x=e,M=0,E=[k,x,M],b=[k,x],w={x:0,y:0},T=[{x:k,y:x}];g&&0>=l&&(w={x:k,y:x});for(var S=0;m>=S;S+=1){if(k=(h=we(t,e,n,r,i,a,o,s,u,S/m)).x,x=h.y,d&&T.push({x:k,y:x}),p&&(M+=Me(b,[k,x])),b=[k,x],g&&M>=l&&l>E[2]){var N=(M-l)/(M-E[2]);w={x:b[0]*(1-N)+E[0]*N,y:b[1]*(1-N)+E[1]*N}}E=[k,x,M]}return g&&l>=M&&(w={x:s,y:u}),{length:M,point:w,min:{x:Math.min.apply(null,T.map(function(t){return t.x})),y:Math.min.apply(null,T.map(function(t){return t.y}))},max:{x:Math.max.apply(null,T.map(function(t){return t.x})),y:Math.max.apply(null,T.map(function(t){return t.y}))}}}function Se(t,e,n,r,i,a,o,s,u){var l=1-u;return{x:Math.pow(l,3)*t+3*Math.pow(l,2)*u*n+3*l*Math.pow(u,2)*i+Math.pow(u,3)*o,y:Math.pow(l,3)*e+3*Math.pow(l,2)*u*r+3*l*Math.pow(u,2)*a+Math.pow(u,3)*s}}function Ne(t,e,n,r,i,a,o,s,u,l){var c,h=l.bbox,f=void 0===h||h,d=l.length,v=void 0===d||d,p=l.sampleSize,y=void 0===p?10:p,m="number"==typeof u,g=t,k=e,x=0,M=[g,k,x],E=[g,k],b={x:0,y:0},w=[{x:g,y:k}];m&&0>=u&&(b={x:g,y:k});for(var T=0;y>=T;T+=1){if(g=(c=Se(t,e,n,r,i,a,o,s,T/y)).x,k=c.y,f&&w.push({x:g,y:k}),v&&(x+=Me(E,[g,k])),E=[g,k],m&&x>=u&&u>M[2]){var S=(x-u)/(x-M[2]);b={x:E[0]*(1-S)+M[0]*S,y:E[1]*(1-S)+M[1]*S}}M=[g,k,x]}return m&&u>=x&&(b={x:o,y:s}),{length:x,point:b,min:{x:Math.min.apply(null,w.map(function(t){return t.x})),y:Math.min.apply(null,w.map(function(t){return t.y}))},max:{x:Math.max.apply(null,w.map(function(t){return t.x})),y:Math.max.apply(null,w.map(function(t){return t.y}))}}}function Pe(t,e,n,r,i,a,o){var s=1-o;return{x:Math.pow(s,2)*t+2*s*o*n+Math.pow(o,2)*i,y:Math.pow(s,2)*e+2*s*o*r+Math.pow(o,2)*a}}function Ae(t,e,n,r,i,a,o,s){var u,l=s.bbox,c=void 0===l||l,h=s.length,f=void 0===h||h,d=s.sampleSize,v=void 0===d?10:d,p="number"==typeof o,y=t,m=e,g=0,k=[y,m,g],x=[y,m],M={x:0,y:0},E=[{x:y,y:m}];p&&0>=o&&(M={x:y,y:m});for(var b=0;v>=b;b+=1){if(y=(u=Pe(t,e,n,r,i,a,b/v)).x,m=u.y,c&&E.push({x:y,y:m}),f&&(g+=Me(x,[y,m])),x=[y,m],p&&g>=o&&o>k[2]){var w=(g-o)/(g-k[2]);M={x:x[0]*(1-w)+k[0]*w,y:x[1]*(1-w)+k[1]*w}}k=[y,m,g]}return p&&o>=g&&(M={x:i,y:a}),{length:g,point:M,min:{x:Math.min.apply(null,E.map(function(t){return t.x})),y:Math.min.apply(null,E.map(function(t){return t.y}))},max:{x:Math.max.apply(null,E.map(function(t){return t.x})),y:Math.max.apply(null,E.map(function(t){return t.y}))}}}function Ce(t,e,n){for(var r,i,a,o,s,u,l,c,h,f=ve(t),d="number"==typeof e,v=[],p=0,y=0,m=0,g=0,k=[],x=[],M=0,E={x:0,y:0},b=E,w=E,T=E,S=0,N=0,P=f.length;P>N;N+=1)v=(l="M"===(c=(h=f[N])[0]))?v:[p,y].concat(h.slice(1)),l?(b=E={x:m=h[1],y:g=h[2]},M=0,d&&.001>e&&(T=E)):"L"===c?(M=(r=Ee(v[0],v[1],v[2],v[3],(e||0)-S)).length,E=r.min,b=r.max,w=r.point):"A"===c?(M=(i=Te(v[0],v[1],v[2],v[3],v[4],v[5],v[6],v[7],v[8],(e||0)-S,n||{})).length,E=i.min,b=i.max,w=i.point):"C"===c?(M=(a=Ne(v[0],v[1],v[2],v[3],v[4],v[5],v[6],v[7],(e||0)-S,n||{})).length,E=a.min,b=a.max,w=a.point):"Q"===c?(M=(o=Ae(v[0],v[1],v[2],v[3],v[4],v[5],(e||0)-S,n||{})).length,E=o.min,b=o.max,w=o.point):"Z"===c&&(M=(s=Ee((v=[p,y,m,g])[0],v[1],v[2],v[3],(e||0)-S)).length,E=s.min,b=s.max,w=s.point),d&&e>S&&S+M>=e&&(T=w),x.push(b),k.push(E),S+=M,p=(u="Z"!==c?h.slice(-2):[m,g])[0],y=u[1];return d&&e>=S&&(T={x:p,y:y}),{length:S,point:T,min:{x:Math.min.apply(null,k.map(function(t){return t.x})),y:Math.min.apply(null,k.map(function(t){return t.y}))},max:{x:Math.max.apply(null,x.map(function(t){return t.x})),y:Math.max.apply(null,x.map(function(t){return t.y}))}}}function Oe(t){return function(t){var e=0,n=0,r=0;return xe(t).map(function(t){var i;if("M"===t[0])return e=t[1],n=t[2],0;var a,o,s,u,l,c,h,f,d=t.slice(1);return r=3*(((f=d[5])-(o=n))*((s=d[0])+(l=d[2]))-((h=d[4])-(a=e))*((u=d[1])+(c=d[3]))+u*(a-l)-s*(o-c)+f*(l+a/3)-h*(c+o/3))/20,i=t.slice(-2),e=i[0],n=i[1],r}).reduce(function(t,e){return t+e},0)}(t)>=0}function Re(t){return t.map(function(t,e,n){var r=e&&n[e-1].slice(-2).concat(t.slice(1)),i=e?Ne(r[0],r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],{bbox:!1}).length:0;return{s:t,ss:e?i?function(t,e){void 0===e&&(e=.5);var n=t.slice(0,2),r=t.slice(2,4),i=t.slice(4,6),a=t.slice(6,8),o=me(n,r,e),s=me(r,i,e),u=me(i,a,e),l=me(o,s,e),c=me(s,u,e),h=me(l,c,e);return[["C"].concat(o,l,h),["C"].concat(c,u,a)]}(r):[t,t]:[t],l:i}})}function Le(t,e,n,r){if(void 0===r&&(r=0),r>50)return console.warn("Maximum recursion depth reached in equalizeSegments"),[t,e];var i=Re(t),a=Re(e),o=i.length,s=a.length,u=i.filter(function(t){return t.l}).length,l=a.filter(function(t){return t.l}).length,c=i.filter(function(t){return t.l}).reduce(function(t,e){return t+e.l},0)/u||0,h=a.filter(function(t){return t.l}).reduce(function(t,e){return t+e.l},0)/l||0,f=n||Math.max(o,s),d=[c,h],v=[f-o,f-s],p=0,y=[i,a].map(function(t,e){return t.l===f?t.map(function(t){return t.s}):t.map(function(t,n){return v[e]-=(p=n&&v[e]&&t.l>=d[e])?1:0,p?t.ss:[t.s]}).flat()});return y[0].length===y[1].length?y:Le(y[0],y[1],f,r+1)}function Ie(){return Ie="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,e,n){var r=function(t,e){for(;!{}.hasOwnProperty.call(t,e)&&null!==(t=f(t)););return t}(t,e);if(r){var i=Object.getOwnPropertyDescriptor(r,e);return i.get?i.get.call(3>arguments.length?t:n):i.value}},Ie.apply(null,arguments)}function De(t,e,n,r){var i=Ie(f(1&r?t.prototype:t),e,n);return 2&r&&"function"==typeof i?function(t){return i.apply(n,t)}:i} /*! * @antv/g-math * @description Geometry util * @version 3.0.1 * @date 12/12/2025, 3:28:35 AM * @author AntVis * @docs https://g.antv.antgroup.com/ */function _e(t,e,n,r){var i=t-n,a=e-r;return Math.sqrt(i*i+a*a)}function Ge(t,e){var n=Math.min.apply(Math,h(t)),r=Math.min.apply(Math,h(e));return{x:n,y:r,width:Math.max.apply(Math,h(t))-n,height:Math.max.apply(Math,h(e))-r}}function Fe(t,e,n,r,i,a){return n*Math.cos(i)*Math.cos(a)-r*Math.sin(i)*Math.sin(a)+t}function Be(t,e,n,r,i,a){return n*Math.sin(i)*Math.cos(a)+r*Math.cos(i)*Math.sin(a)+e}function Ue(t,e,n,r,i,a,o){for(var s=function(t,e,n){return Math.atan(-e/t*Math.tan(n))}(n,r,i),u=1/0,l=-1/0,c=[a,o],h=2*-Math.PI;2*Math.PI>=h;h+=Math.PI){var f=s+h;o>a?f>a&&o>f&&c.push(f):f>o&&a>f&&c.push(f)}for(var d=0;c.length>d;d++){var v=Fe(t,0,n,r,i,c[d]);u>v&&(u=v),v>l&&(l=v)}for(var p=function(t,e,n){return Math.atan(e/(t*Math.tan(n)))}(n,r,i),y=1/0,m=-1/0,g=[a,o],k=2*-Math.PI;2*Math.PI>=k;k+=Math.PI){var x=p+k;o>a?x>a&&o>x&&g.push(x):x>o&&a>x&&g.push(x)}for(var M=0;g.length>M;M++){var E=Be(0,e,n,r,i,g[M]);y>E&&(y=E),E>m&&(m=E)}return{x:u,y:y,width:l-u,height:m-y}}function ze(t,e,n,r){return _e(t,e,n,r)}function Ve(t,e,n,r,i){return{x:(1-i)*t+i*n,y:(1-i)*e+i*r}}function je(t,e,n,r,i){var a=1-i;return a*a*a*t+3*e*i*a*a+3*n*i*i*a+r*i*i*i}function We(t,e,n,r){var i,a,o,s=-3*t+9*e-9*n+3*r,u=6*t-12*e+6*n,l=3*e-3*t,c=[];if(Wt(s,0))Wt(u,0)||0>(i=-l/u)||i>1||c.push(i);else{var h=u*u-4*s*l;Wt(h,0)?c.push(-u/(2*s)):h>0&&(a=(-u-(o=Math.sqrt(h)))/(2*s),0>(i=(-u+o)/(2*s))||i>1||c.push(i),0>a||a>1||c.push(a))}return c}function qe(t,e,n,r,i,a,o,s){for(var u=[t,o],l=[e,s],c=We(t,n,i,o),h=We(e,r,a,s),f=0;c.length>f;f++)u.push(je(t,n,i,o,c[f]));for(var d=0;h.length>d;d++)l.push(je(e,r,a,s,h[d]));return Ge(u,l)}function He(t){return function(t){if(2>t.length)return 0;for(var e=0,n=0;t.length-1>n;n++){var r=t[n],i=t[n+1];e+=_e(r[0],r[1],i[0],i[1])}return e}(t)}function Ye(t,e,n,r){var i=1-r;return i*i*t+2*r*i*e+r*r*n}function Xe(t,e,n){var r=t+n-2*e;if(Wt(r,0))return[.5];var i=(t-e)/r;return i>1||0>i?[]:[i]}function Ze(t,e,n,r,i,a){var o=Xe(t,n,i)[0],s=Xe(e,r,a)[0],u=[t,i],l=[e,a];return void 0!==o&&u.push(Ye(t,n,i,o)),void 0!==s&&l.push(Ye(e,r,a,s)),Ge(u,l)}function Ke(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=c(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return t.length>r?{done:!1,value:t[r++]}:{done:!0}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return o=t.done,t},e:function(t){s=!0,a=t},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function Qe(t,e){if(null==t)return{};var n,r,i=function(t,e){if(null==t)return{};var n={};for(var r in t)if({}.hasOwnProperty.call(t,r)){if(-1!==e.indexOf(r))continue;n[r]=t[r]}return n}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(r=0;a.length>r;r++)-1===e.indexOf(n=a[r])&&{}.propertyIsEnumerable.call(t,n)&&(i[n]=t[n])}return i}var $e=function(t){return t.GROUP="g",t.FRAGMENT="fragment",t.CIRCLE="circle",t.ELLIPSE="ellipse",t.IMAGE="image",t.RECT="rect",t.LINE="line",t.POLYLINE="polyline",t.POLYGON="polygon",t.TEXT="text",t.PATH="path",t.HTML="html",t.MESH="mesh",t}({}),Je=function(t){return t[t.ZERO=0]="ZERO",t[t.NEGATIVE_ONE=1]="NEGATIVE_ONE",t}({}),tn=ut,en=ot,nn=function(t,e,n){return t[0]=Math.max(e[0],n[0]),t[1]=Math.max(e[1],n[1]),t[2]=Math.max(e[2],n[2]),t},rn=function(t,e,n){return t[0]=Math.min(e[0],n[0]),t[1]=Math.min(e[1],n[1]),t[2]=Math.min(e[2],n[2]),t},an=ct,on=mt,sn=function(){function t(){o(this,t),this.center=[0,0,0],this.halfExtents=[0,0,0],this.min=[0,0,0],this.max=[0,0,0]}return u(t,[{key:"update",value:function(t,e){en(this.center,t),en(this.halfExtents,e),on(this.min,this.center,this.halfExtents),tn(this.max,this.center,this.halfExtents)}},{key:"setMinMax",value:function(t,e){tn(this.center,e,t),an(this.center,this.center,.5),on(this.halfExtents,e,t),an(this.halfExtents,this.halfExtents,.5),en(this.min,t),en(this.max,e)}},{key:"getMin",value:function(){return this.min}},{key:"getMax",value:function(){return this.max}},{key:"add",value:function(e){if(!t.isEmpty(e))if(t.isEmpty(this))this.setMinMax(e.getMin(),e.getMax());else{var n=this.center,r=n[0],i=n[1],a=n[2],o=this.halfExtents,s=o[0],u=o[1],l=o[2],c=r-s,h=r+s,f=i-u,d=i+u,v=a-l,p=a+l,y=e.center,m=y[0],g=y[1],k=y[2],x=e.halfExtents,M=x[0],E=x[1],b=x[2],w=m-M,T=m+M,S=g-E,N=g+E,P=k-b,A=k+b;c>w&&(c=w),T>h&&(h=T),f>S&&(f=S),N>d&&(d=N),v>P&&(v=P),A>p&&(p=A),n[0]=.5*(c+h),n[1]=.5*(f+d),n[2]=.5*(v+p),o[0]=.5*(h-c),o[1]=.5*(d-f),o[2]=.5*(p-v),this.min[0]=c,this.min[1]=f,this.min[2]=v,this.max[0]=h,this.max[1]=d,this.max[2]=p}}},{key:"setFromTransformedAABB",value:function(t,e){var n=this.center,r=this.halfExtents,i=t.center,a=t.halfExtents,o=e[0],s=e[4],u=e[8],l=e[1],c=e[5],h=e[9],f=e[2],d=e[6],v=e[10],p=Math.abs(o),y=Math.abs(s),m=Math.abs(u),g=Math.abs(l),k=Math.abs(c),x=Math.abs(h),M=Math.abs(f),E=Math.abs(d),b=Math.abs(v);n[0]=e[12]+o*i[0]+s*i[1]+u*i[2],n[1]=e[13]+l*i[0]+c*i[1]+h*i[2],n[2]=e[14]+f*i[0]+d*i[1]+v*i[2],r[0]=p*a[0]+y*a[1]+m*a[2],r[1]=g*a[0]+k*a[1]+x*a[2],r[2]=M*a[0]+E*a[1]+b*a[2],on(this.min,n,r),tn(this.max,n,r)}},{key:"intersects",value:function(t){var e=this.getMax(),n=this.getMin(),r=t.getMax(),i=t.getMin();return!(n[0]>r[0]||i[0]>e[0]||n[1]>r[1]||i[1]>e[1]||n[2]>r[2]||i[2]>e[2])}},{key:"intersection",value:function(e){if(!this.intersects(e))return null;var n=new t,r=nn([0,0,0],this.getMin(),e.getMin()),i=rn([0,0,0],this.getMax(),e.getMax());return n.setMinMax(r,i),n}},{key:"getNegativeFarPoint",value:function(t){return 273===t.pnVertexFlag?en([0,0,0],this.min):272===t.pnVertexFlag?[this.min[0],this.min[1],this.max[2]]:257===t.pnVertexFlag?[this.min[0],this.max[1],this.min[2]]:256===t.pnVertexFlag?[this.min[0],this.max[1],this.max[2]]:17===t.pnVertexFlag?[this.max[0],this.min[1],this.min[2]]:16===t.pnVertexFlag?[this.max[0],this.min[1],this.max[2]]:1===t.pnVertexFlag?[this.max[0],this.max[1],this.min[2]]:[this.max[0],this.max[1],this.max[2]]}},{key:"getPositiveFarPoint",value:function(t){return 273===t.pnVertexFlag?en([0,0,0],this.max):272===t.pnVertexFlag?[this.max[0],this.max[1],this.min[2]]:257===t.pnVertexFlag?[this.max[0],this.min[1],this.max[2]]:256===t.pnVertexFlag?[this.max[0],this.min[1],this.min[2]]:17===t.pnVertexFlag?[this.min[0],this.max[1],this.max[2]]:16===t.pnVertexFlag?[this.min[0],this.max[1],this.min[2]]:1===t.pnVertexFlag?[this.min[0],this.min[1],this.max[2]]:[this.min[0],this.min[1],this.min[2]]}}],[{key:"isEmpty",value:function(t){return!t||0===t.halfExtents[0]&&0===t.halfExtents[1]&&0===t.halfExtents[2]}}])}(),un=function(){return u(function t(e,n){o(this,t),this.distance=e||0,this.normal=n||at(0,1,0),this.updatePNVertexFlag()},[{key:"updatePNVertexFlag",value:function(){this.pnVertexFlag=(Number(this.normal[0]>=0)<<8)+(Number(this.normal[1]>=0)<<4)+Number(this.normal[2]>=0)}},{key:"distanceToPoint",value:function(t){return ft(t,this.normal)-this.distance}},{key:"normalize",value:function(){var t=1/kt(this.normal);ct(this.normal,this.normal,t),this.distance*=t}},{key:"intersectsLine",value:function(t,e,n){var r=this.distanceToPoint(t),i=r/(r-this.distanceToPoint(e)),a=i>=0&&1>=i;return a&&n&&vt(n,t,e,i),a}}])}(),ln=function(){return u(function t(e){if(o(this,t),this.planes=[],e)this.planes=e;else for(var n=0;6>n;n++)this.planes.push(new un)},[{key:"extractFromVPMatrix",value:function(t){var e=g(t,16),n=e[0],r=e[1],i=e[2],a=e[3],o=e[4],s=e[5],u=e[6],l=e[7],c=e[8],h=e[9],f=e[10],d=e[11],v=e[12],p=e[13],y=e[14],m=e[15];st(this.planes[0].normal,a-n,l-o,d-c),this.planes[0].distance=m-v,st(this.planes[1].normal,a+n,l+o,d+c),this.planes[1].distance=m+v,st(this.planes[2].normal,a+r,l+s,d+h),this.planes[2].distance=m+p,st(this.planes[3].normal,a-r,l-s,d-h),this.planes[3].distance=m-p,st(this.planes[4].normal,a-i,l-u,d-f),this.planes[4].distance=