|
|
!(function(){var cV=Object.defineProperty,hV=Object.defineProperties;var fV=Object.getOwnPropertyDescriptors;var oA=Object.getOwnPropertySymbols;var dV=Object.prototype.hasOwnProperty,vV=Object.prototype.propertyIsEnumerable;var $c=Math.pow,Fy=(Q,re,w)=>re in Q?cV(Q,re,{enumerable:!0,configurable:!0,writable:!0,value:w}):Q[re]=w,mu=(Q,re)=>{for(var w in re||(re={}))dV.call(re,w)&&Fy(Q,w,re[w]);if(oA)for(var w of oA(re))vV.call(re,w)&&Fy(Q,w,re[w]);return Q},jy=(Q,re)=>hV(Q,fV(re));var Jn=(Q,re,w)=>Fy(Q,typeof re!="symbol"?re+"":re,w);(self.webpackChunk=self.webpackChunk||[]).push([[2519],{65051:function(Q,re,w){"use strict";w.d(re,{kJ:function(){return ng},RN:function(){return WW}});var M={};w.r(M),w.d(M,{add:function(){return mA},adjoint:function(){return wr},clone:function(){return Tn},copy:function(){return _n},create:function(){return mt},determinant:function(){return Lr},equals:function(){return xA},exactEquals:function(){return wg},frob:function(){return pA},fromQuat:function(){return ku},fromQuat2:function(){return lA},fromRotation:function(){return Tu},fromRotationTranslation:function(){return Uy},fromRotationTranslationScale:function(){return uA},fromRotationTranslationScaleOrigin:function(){return vs},fromScaling:function(){return vi},fromTranslation:function(){return Dr},fromValues:function(){return di},fromXRotation:function(){return Au},fromYRotation:function(){return yg},fromZRotation:function(){return Ou},frustum:function(){return cA},getRotation:function(){return bo},getScaling:function(){return Wa},getTranslation:function(){return yo},identity:function(){return Zn},invert:function(){return Ot},lookAt:function(){return Eg},mul:function(){return Pg},multiply:function(){return Ut},multiplyScalar:function(){return yA},multiplyScalarAndAdd:function(){return bA},ortho:function(){return bg},orthoNO:function(){return Ky},orthoZO:function(){return xg},perspective:function(){return hA},perspectiveFromFieldOfView:function(){return dA},perspectiveNO:function(){return Zy},perspectiveZO:function(){return fA},rotate:function(){return pg},rotateX:function(){return Mu},rotateY:function(){return Su},rotateZ:function(){return mg},scale:function(){return rh},set:function(){return Hn},str:function(){return gA},sub:function(){return EA},subtract:function(){return Qy},targetTo:function(){return vA},translate:function(){return gn},transpose:function(){return Oi}});var G={};w.r(G),w.d(G,{circle:function(){return f6},diamond:function(){return d6},rect:function(){return g6},simple:function(){return m6},triangle:function(){return Gw},triangleRect:function(){return p6},vee:function(){return v6}});function z(r){"@babel/helpers - typeof";return z=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},z(r)}function I(r,e){if(z(r)!="object"||!r)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(z(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function R(r){var e=I(r,"string");return z(e)=="symbol"?e:e+""}function L(r,e,t){return(e=R(e))in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function B(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function D(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?B(Object(t),!0).forEach(function(n){L(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):B(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function _(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}function j(r,e){for(var t=0;t<e.length;t++){var n=e[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(r,R(n.key),n)}}function N(r,e,t){return e&&j(r.prototype,e),t&&j(r,t),Object.defineProperty(r,"prototype",{writable:!1}),r}function V(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,n=Array(e);t<e;t++)n[t]=r[t];return n}function ne(r){if(Array.isArray(r))return V(r)}function ee(r){if(typeof Symbol!="undefined"&&r[Symbol.iterator]!=null||r["@@iterator"]!=null)return Array.from(r)}function fe(r,e){if(r){if(typeof r=="string")return V(r,e);var t={}.toString.call(r).slice(8,-1);return t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set"?Array.from(r):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?V(r,e):void 0}}function he(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function K(r){return ne(r)||ee(r)||fe(r)||he()}function se(r){return se=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},se(r)}function le(){try{var r=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(le=function(){return!!r})()}function ye(r){if(r===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}function be(r,e){if(e&&(z(e)=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ye(r)}function Ee(r,e,t){return e=se(e),be(r,le()?Reflect.construct(e,t||[],se(r).constructor):e.apply(r,t))}function Ne(r,e){return Ne=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,n){return t.__proto__=n,t},Ne(r,e)}function Pe(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),Object.defineProperty(r,"prototype",{writable:!1}),e&&Ne(r,e)}function xe(r){if(Array.isArray(r))return r}function ke(r,e){var t=r==null?null:typeof Symbol!="undefined"&&r[Symbol.iterator]||r["@@iterator"];if(t!=null){var n,i,a,s,o=[],l=!0,u=!1;try{if(a=(t=t.call(r)).next,e===0){if(Object(t)!==t)return;l=!1}else for(;!(l=(n=a.call(t)).done)&&(o.push(n.value),o.length!==e);l=!0);}catch(c){u=!0,i=c}finally{try{if(!l&&t.return!=null&&(s=t.return(),Object(s)!==s))return}finally{if(u)throw i}}return o}}function Le(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ie(r,e){return xe(r)||ke(r,e)||fe(r,e)||Le()}var Ye=w(26729),Je=Ye,at=1e-6,bt=typeof Float32Array!="undefined"?Float32Array:Array,$t=Math.random;function tr(r){bt=r}var Wr=Math.PI/180;function Ga(r){return r*Wr}function cs(r,e){return Math.abs(r-e)<=at*Math.max(1,Math.abs(r),Math.abs(e))}Math.hypot||(Math.hypot=function(){for(var r=0,e=arguments.length;e--;)r+=arguments[e]*arguments[e];return Math.sqrt(r)});function Me(){var r=new bt(3);return bt!=Float32Array&&(r[0]=0,r[1]=0,r[2]=0),r}function De(r){var e=new bt(3);return e[0]=r[0],e[1]=r[1],e[2]=r[2],e}function ze(r){var e=r[0],t=r[1],n=r[2];return Math.hypot(e,t,n)}function me(r,e,t){var n=new bt(3);return n[0]=r,n[1]=e,n[2]=t,n}function Te(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r}function Ae(r,e,t,n){return r[0]=e,r[1]=t,r[2]=n,r}function He(r,e,t){return r[0]=e[0]+t[0],r[1]=e[1]+t[1],r[2]=e[2]+t[2],r}function xt(r,e,t){return r[0]=e[0]-t[0],r[1]=e[1]-t[1],r[2]=e[2]-t[2],r}function Ft(r,e,t){return r[0]=e[0]*t[0],r[1]=e[1]*t[1],r[2]=e[2]*t[2],r}function St(r,e,t){return r[0]=e[0]/t[0],r[1]=e[1]/t[1],r[2]=e[2]/t[2],r}function Yt(r,e){return r[0]=Math.ceil(e[0]),r[1]=Math.ceil(e[1]),r[2]=Math.ceil(e[2]),r}function Un(r,e){return r[0]=Math.floor(e[0]),r[1]=Math.floor(e[1]),r[2]=Math.floor(e[2]),r}function jn(r,e,t){return r[0]=Math.min(e[0],t[0]),r[1]=Math.min(e[1],t[1]),r[2]=Math.min(e[2],t[2]),r}function Dt(r,e,t){return r[0]=Math.max(e[0],t[0]),r[1]=Math.max(e[1],t[1]),r[2]=Math.max(e[2],t[2]),r}function Nt(r,e){return r[0]=Math.round(e[0]),r[1]=Math.round(e[1]),r[2]=Math.round(e[2]),r}function wt(r,e,t){return r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r}function It(r,e,t,n){return r[0]=e[0]+t[0]*n,r[1]=e[1]+t[1]*n,r[2]=e[2]+t[2]*n,r}function Sr(r,e){var t=e[0]-r[0],n=e[1]-r[1],i=e[2]-r[2];return Math.hypot(t,n,i)}function hs(r,e){var t=e[0]-r[0],n=e[1]-r[1],i=e[2]-r[2];return t*t+n*n+i*i}function ft(r){var e=r[0],t=r[1],n=r[2];return e*e+t*t+n*n}function po(r,e){return r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r}function Qr(r,e){return r[0]=1/e[0],r[1]=1/e[1],r[2]=1/e[2],r}function fn(r,e){var t=e[0],n=e[1],i=e[2],a=t*t+n*n+i*i;return a>0&&(a=1/Math.sqrt(a)),r[0]=e[0]*a,r[1]=e[1]*a,r[2]=e[2]*a,r}function dn(r,e){return r[0]*e[0]+r[1]*e[1]+r[2]*e[2]}function Yi(r,e,t){var n=e[0],i=e[1],a=e[2],s=t[0],o=t[1],l=t[2];return r[0]=i*l-a*o,r[1]=a*s-n*l,r[2]=n*o-i*s,r}function Ha(r,e,t,n){var i=e[0],a=e[1],s=e[2];return r[0]=i+n*(t[0]-i),r[1]=a+n*(t[1]-a),r[2]=s+n*(t[2]-s),r}function yu(r,e,t,n,i,a){var s=a*a,o=s*(2*a-3)+1,l=s*(a-2)+a,u=s*(a-1),c=s*(3-2*a);return r[0]=e[0]*o+t[0]*l+n[0]*u+i[0]*c,r[1]=e[1]*o+t[1]*l+n[1]*u+i[1]*c,r[2]=e[2]*o+t[2]*l+n[2]*u+i[2]*c,r}function fs(r,e,t,n,i,a){var s=1-a,o=s*s,l=a*a,u=o*s,c=3*a*o,h=3*l*s,f=l*a;return r[0]=e[0]*u+t[0]*c+n[0]*h+i[0]*f,r[1]=e[1]*u+t[1]*c+n[1]*h+i[1]*f,r[2]=e[2]*u+t[2]*c+n[2]*h+i[2]*f,r}function bu(r,e){e=e||1;var t=glMatrix.RANDOM()*2*Math.PI,n=glMatrix.RANDOM()*2-1,i=Math.sqrt(1-n*n)*e;return r[0]=Math.cos(t)*i,r[1]=Math.sin(t)*i,r[2]=n*e,r}function Dn(r,e,t){var n=e[0],i=e[1],a=e[2],s=t[3]*n+t[7]*i+t[11]*a+t[15];return s=s||1,r[0]=(t[0]*n+t[4]*i+t[8]*a+t[12])/s,r[1]=(t[1]*n+t[5]*i+t[9]*a+t[13])/s,r[2]=(t[2]*n+t[6]*i+t[10]*a+t[14])/s,r}function ds(r,e,t){var n=e[0],i=e[1],a=e[2];return r[0]=n*t[0]+i*t[3]+a*t[6],r[1]=n*t[1]+i*t[4]+a*t[7],r[2]=n*t[2]+i*t[5]+a*t[8],r}function mo(r,e,t){var n=t[0],i=t[1],a=t[2],s=t[3],o=e[0],l=e[1],u=e[2],c=i*u-a*l,h=a*o-n*u,f=n*l-i*o,d=i*f-a*h,v=a*c-n*f,g=n*h-i*c,p=s*2;return c*=p,h*=p,f*=p,d*=2,v*=2,g*=2,r[0]=o+c+d,r[1]=l+h+v,r[2]=u+f+g,r}function ga(r,e,t,n){var i=[],a=[];return i[0]=e[0]-t[0],i[1]=e[1]-t[1],i[2]=e[2]-t[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),r[0]=a[0]+t[0],r[1]=a[1]+t[1],r[2]=a[2]+t[2],r}function pa(r,e,t,n){var i=[],a=[];return i[0]=e[0]-t[0],i[1]=e[1]-t[1],i[2]=e[2]-t[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),r[0]=a[0]+t[0],r[1]=a[1]+t[1],r[2]=a[2]+t[2],r}function fi(r,e,t,n){var i=[],a=[];return i[0]=e[0]-t[0],i[1]=e[1]-t[1],i[2]=e[2]-t[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],r[0]=a[0]+t[0],r[1]=a[1]+t[1],r[2]=a[2]+t[2],r}function Xy(r,e){var t=r[0],n=r[1],i=r[2],a=e[0],s=e[1],o=e[2],l=Math.sqrt(t*t+n*n+i*i),u=Math.sqrt(a*a+s*s+o*o),c=l*u,h=c&&dn(r,e)/c;return Math.acos(Math.min(Math.max(h,-1),1))}function xu(r){return r[0]=0,r[1]=0,r[2]=0,r}function Xa(r){return"vec3("+r[0]+", "+r[1]+", "+r[2]+")"}function eh(r,e){return r[0]===e[0]&&r[1]===e[1]&&r[2]===e[2]}function Rr(r,e){var t=r[0],n=r[1],i=r[2],a=e[0],s=e[1],o=e[2];return Math.abs(t-a)<=at*Math.max(1,Math.abs(t),Math.abs(a))&&Math.abs(n-s)<=at*Math.max(1,Math.abs(n),Math.abs(s))&&Math.abs(i-o)<=at*Math.max(1,Math.abs(i),Math.abs(o))}var th=xt,cg=null,Eu=null,ll=Sr,Wy=null,wu=ze,Vy=null,Yy=function(){var r=Me();return function(e,t,n,i,a,s){var o,l;for(t||(t=3),n||(n=0),i?l=Math.min(i*t+n,e.length):l=e.length,o=n;o<l;o+=t)r[0]=e[o],r[1]=e[o+1],r[2]=e[o+2],a(r,r,s),e[o]=r[0],e[o+1]=r[1],e[o+2]=r[2];return e}}();function hr(){var r=new bt(4);return bt!=Float32Array&&(r[0]=0,r[1]=0,r[2]=0,r[3]=0),r}function nh(r){var e=new bt(4);return e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[3],e}function ma(r,e,t,n){var i=new bt(4);return i[0]=r,i[1]=e,i[2]=t,i[3]=n,i}function hg(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r}function fg(r,e,t,n,i){return r[0]=e,r[1]=t,r[2]=n,r[3]=i,r}function dg(r,e,t){return r[0]=e[0]+t[0],r[1]=e[1]+t[1],r[2]=e[2]+t[2],r[3]=e[3]+t[3],r}function Pu(r,e,t){return r[0]=e[0]-t[0],r[1]=e[1]-t[1],r[2]=e[2]-t[2],r[3]=e[3]-t[3],r}function vg(r,e,t){return r[0]=e[0]*t[0],r[1]=e[1]*t[1],r[2]=e[2]*t[2],r[3]=e[3]*t[3],r}function gg(r,e,t){return r[0]=e[0]/t[0],r[1]=e[1]/t[1],r[2]=e[2]/t[2],r[3]=e[3]/t[3],r}function $(r,e){return r[0]=Math.ceil(e[0]),r[1]=Math.ceil(e[1]),r[2]=Math.ceil(e[2]),r[3]=Math.ceil(e[3]),r}function E(r,e){return r[0]=Math.floor(e[0]),r[1]=Math.floor(e[1]),r[2]=Math.floor(e[2]),r[3]=Math.floor(e[3]),r}function P(r,e,t){return r[0]=Math.min(e[0],t[0]),r[1]=Math.min(e[1],t[1]),r[2]=Math.min(e[2],t[2]),r[3]=Math.min(e[3],t[3]),r}function y(r,e,t){return r[0]=Math.max(e[0],t[0]),r[1]=Math.max(e[1],t[1]),r[2]=Math.max(e[2],t[2]),r[3]=Math.max(e[3],t[3]),r}function A(r,e){return r[0]=Math.round(e[0]),r[1]=Math.round(e[1]),r[2]=Math.round(e[2]),r[3]=Math.round(e[3]),r}function F(r,e,t){return r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r[3]=e[3]*t,r}function ue(r,e,t,n){return r[0]=e[0]+t[0]*n,r[1]=e[1]+t[1]*n,r[2]=e[2]+t[2]*n,r[3]=e[3]+t[3]*n,r}function ce(r,e){var t=e[0]-r[0],n=e[1]-r[1],i=e[2]-r[2],a=e[3]-r[3];return Math.hypot(t,n,i,a)}function pe(r,e){var t=e[0]-r[0],n=e[1]-r[1],i=e[2]-r[2],a=e[3]-r[3];return t*t+n*n+i*i+a*a}function ge(r){var e=r[0],t=r[1],n=r[2],i=r[3];return Math.hypot(e,t,n,i)}function _e(r){var e=r[0],t=r[1],n=r[2],i=r[3];return e*e+t*t+n*n+i*i}function we(r,e){return r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r[3]=-e[3],r}function Xe(r,e){return r[0]=1/e[0],r[1]=1/e[1],r[2]=1/e[2],r[3]=1/e[3],r}function et(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=t*t+n*n+i*i+a*a;return s>0&&(s=1/Math.sqrt(s)),r[0]=t*s,r[1]=n*s,r[2]=i*s,r[3]=a*s,r}function Fe(r,e){return r[0]*e[0]+r[1]*e[1]+r[2]*e[2]+r[3]*e[3]}function Ue(r,e,t,n){var i=t[0]*n[1]-t[1]*n[0],a=t[0]*n[2]-t[2]*n[0],s=t[0]*n[3]-t[3]*n[0],o=t[1]*n[2]-t[2]*n[1],l=t[1]*n[3]-t[3]*n[1],u=t[2]*n[3]-t[3]*n[2],c=e[0],h=e[1],f=e[2],d=e[3];return r[0]=h*u-f*l+d*o,r[1]=-(c*u)+f*s-d*a,r[2]=c*l-h*s+d*i,r[3]=-(c*o)+h*a-f*i,r}function dt(r,e,t,n){var i=e[0],a=e[1],s=e[2],o=e[3];return r[0]=i+n*(t[0]-i),r[1]=a+n*(t[1]-a),r[2]=s+n*(t[2]-s),r[3]=o+n*(t[3]-o),r}function Se(r,e){e=e||1;var t,n,i,a,s,o;do t=glMatrix.RANDOM()*2-1,n=glMatrix.RANDOM()*2-1,s=t*t+n*n;while(s>=1);do i=glMatrix.RANDOM()*2-1,a=glMatrix.RANDOM()*2-1,o=i*i+a*a;while(o>=1);var l=Math.sqrt((1-s)/o);return r[0]=e*t,r[1]=e*n,r[2]=e*i*l,r[3]=e*a*l,r}function Ze(r,e,t){var n=e[0],i=e[1],a=e[2],s=e[3];return r[0]=t[0]*n+t[4]*i+t[8]*a+t[12]*s,r[1]=t[1]*n+t[5]*i+t[9]*a+t[13]*s,r[2]=t[2]*n+t[6]*i+t[10]*a+t[14]*s,r[3]=t[3]*n+t[7]*i+t[11]*a+t[15]*s,r}function Pt(r,e,t){var n=e[0],i=e[1],a=e[2],s=t[0],o=t[1],l=t[2],u=t[3],c=u*n+o*a-l*i,h=u*i+l*n-s*a,f=u*a+s*i-o*n,d=-s*n-o*i-l*a;return r[0]=c*u+d*-s+h*-l-f*-o,r[1]=h*u+d*-o+f*-s-c*-l,r[2]=f*u+d*-l+c*-o-h*-s,r[3]=e[3],r}function Lt(r){return r[0]=0,r[1]=0,r[2]=0,r[3]=0,r}function Bt(r){return"vec4("+r[0]+", "+r[1]+", "+r[2]+", "+r[3]+")"}function In(r,e){return r[0]===e[0]&&r[1]===e[1]&&r[2]===e[2]&&r[3]===e[3]}function At(r,e){var t=r[0],n=r[1],i=r[2],a=r[3],s=e[0],o=e[1],l=e[2],u=e[3];return Math.abs(t-s)<=at*Math.max(1,Math.abs(t),Math.abs(s))&&Math.abs(n-o)<=at*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(i-l)<=at*Math.max(1,Math.abs(i),Math.abs(l))&&Math.abs(a-u)<=at*Math.max(1,Math.abs(a),Math.abs(u))}var kt=null,Sn=null,Ce=null,Qe=null,gt=null,$e=null,Gn=null,mn=function(){var r=hr();return function(e,t,n,i,a,s){var o,l;for(t||(t=4),n||(n=0),i?l=Math.min(i*t+n,e.length):l=e.length,o=n;o<l;o+=t)r[0]=e[o],r[1]=e[o+1],r[2]=e[o+2],r[3]=e[o+3],a(r,r,s),e[o]=r[0],e[o+1]=r[1],e[o+2]=r[2],e[o+3]=r[3];return e}}();function mt(){var r=new bt(16);return bt!=Float32Array&&(r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[11]=0,r[12]=0,r[13]=0,r[14]=0),r[0]=1,r[5]=1,r[10]=1,r[15]=1,r}function Tn(r){var e=new bt(16);return e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[3],e[4]=r[4],e[5]=r[5],e[6]=r[6],e[7]=r[7],e[8]=r[8],e[9]=r[9],e[10]=r[10],e[11]=r[11],e[12]=r[12],e[13]=r[13],e[14]=r[14],e[15]=r[15],e}function _n(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r}function di(r,e,t,n,i,a,s,o,l,u,c,h,f,d,v,g){var p=new bt(16);return p[0]=r,p[1]=e,p[2]=t,p[3]=n,p[4]=i,p[5]=a,p[6]=s,p[7]=o,p[8]=l,p[9]=u,p[10]=c,p[11]=h,p[12]=f,p[13]=d,p[14]=v,p[15]=g,p}function Hn(r,e,t,n,i,a,s,o,l,u,c,h,f,d,v,g,p){return r[0]=e,r[1]=t,r[2]=n,r[3]=i,r[4]=a,r[5]=s,r[6]=o,r[7]=l,r[8]=u,r[9]=c,r[10]=h,r[11]=f,r[12]=d,r[13]=v,r[14]=g,r[15]=p,r}function Zn(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=1,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function Oi(r,e){if(r===e){var t=e[1],n=e[2],i=e[3],a=e[6],s=e[7],o=e[11];r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=t,r[6]=e[9],r[7]=e[13],r[8]=n,r[9]=a,r[11]=e[14],r[12]=i,r[13]=s,r[14]=o}else r[0]=e[0],r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=e[1],r[5]=e[5],r[6]=e[9],r[7]=e[13],r[8]=e[2],r[9]=e[6],r[10]=e[10],r[11]=e[14],r[12]=e[3],r[13]=e[7],r[14]=e[11],r[15]=e[15];return r}function Ot(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=e[4],o=e[5],l=e[6],u=e[7],c=e[8],h=e[9],f=e[10],d=e[11],v=e[12],g=e[13],p=e[14],m=e[15],b=t*o-n*s,x=t*l-i*s,O=t*u-a*s,T=n*l-i*o,S=n*u-a*o,k=i*u-a*l,C=c*g-h*v,W=c*p-f*v,U=c*m-d*v,J=h*p-f*g,te=h*m-d*g,ie=f*m-d*p,ae=b*ie-x*te+O*J+T*U-S*W+k*C;return ae?(ae=1/ae,r[0]=(o*ie-l*te+u*J)*ae,r[1]=(i*te-n*ie-a*J)*ae,r[2]=(g*k-p*S+m*T)*ae,r[3]=(f*S-h*k-d*T)*ae,r[4]=(l*U-s*ie-u*W)*ae,r[5]=(t*ie-i*U+a*W)*ae,r[6]=(p*O-v*k-m*x)*ae,r[7]=(c*k-f*O+d*x)*ae,r[8]=(s*te-o*U+u*C)*ae,r[9]=(n*U-t*te-a*C)*ae,r[10]=(v*S-g*O+m*b)*ae,r[11]=(h*O-c*S-d*b)*ae,r[12]=(o*W-s*J-l*C)*ae,r[13]=(t*J-n*W+i*C)*ae,r[14]=(g*x-v*T-p*b)*ae,r[15]=(c*T-h*x+f*b)*ae,r):null}function wr(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=e[4],o=e[5],l=e[6],u=e[7],c=e[8],h=e[9],f=e[10],d=e[11],v=e[12],g=e[13],p=e[14],m=e[15];return r[0]=o*(f*m-d*p)-h*(l*m-u*p)+g*(l*d-u*f),r[1]=-(n*(f*m-d*p)-h*(i*m-a*p)+g*(i*d-a*f)),r[2]=n*(l*m-u*p)-o*(i*m-a*p)+g*(i*u-a*l),r[3]=-(n*(l*d-u*f)-o*(i*d-a*f)+h*(i*u-a*l)),r[4]=-(s*(f*m-d*p)-c*(l*m-u*p)+v*(l*d-u*f)),r[5]=t*(f*m-d*p)-c*(i*m-a*p)+v*(i*d-a*f),r[6]=-(t*(l*m-u*p)-s*(i*m-a*p)+v*(i*u-a*l)),r[7]=t*(l*d-u*f)-s*(i*d-a*f)+c*(i*u-a*l),r[8]=s*(h*m-d*g)-c*(o*m-u*g)+v*(o*d-u*h),r[9]=-(t*(h*m-d*g)-c*(n*m-a*g)+v*(n*d-a*h)),r[10]=t*(o*m-u*g)-s*(n*m-a*g)+v*(n*u-a*o),r[11]=-(t*(o*d-u*h)-s*(n*d-a*h)+c*(n*u-a*o)),r[12]=-(s*(h*p-f*g)-c*(o*p-l*g)+v*(o*f-l*h)),r[13]=t*(h*p-f*g)-c*(n*p-i*g)+v*(n*f-i*h),r[14]=-(t*(o*p-l*g)-s*(n*p-i*g)+v*(n*l-i*o)),r[15]=t*(o*f-l*h)-s*(n*f-i*h)+c*(n*l-i*o),r}function Lr(r){var e=r[0],t=r[1],n=r[2],i=r[3],a=r[4],s=r[5],o=r[6],l=r[7],u=r[8],c=r[9],h=r[10],f=r[11],d=r[12],v=r[13],g=r[14],p=r[15],m=e*s-t*a,b=e*o-n*a,x=e*l-i*a,O=t*o-n*s,T=t*l-i*s,S=n*l-i*o,k=u*v-c*d,C=u*g-h*d,W=u*p-f*d,U=c*g-h*v,J=c*p-f*v,te=h*p-f*g;return m*te-b*J+x*U+O*W-T*C+S*k}function Ut(r,e,t){var n=e[0],i=e[1],a=e[2],s=e[3],o=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=e[9],d=e[10],v=e[11],g=e[12],p=e[13],m=e[14],b=e[15],x=t[0],O=t[1],T=t[2],S=t[3];return r[0]=x*n+O*o+T*h+S*g,r[1]=x*i+O*l+T*f+S*p,r[2]=x*a+O*u+T*d+S*m,r[3]=x*s+O*c+T*v+S*b,x=t[4],O=t[5],T=t[6],S=t[7],r[4]=x*n+O*o+T*h+S*g,r[5]=x*i+O*l+T*f+S*p,r[6]=x*a+O*u+T*d+S*m,r[7]=x*s+O*c+T*v+S*b,x=t[8],O=t[9],T=t[10],S=t[11],r[8]=x*n+O*o+T*h+S*g,r[9]=x*i+O*l+T*f+S*p,r[10]=x*a+O*u+T*d+S*m,r[11]=x*s+O*c+T*v+S*b,x=t[12],O=t[13],T=t[14],S=t[15],r[12]=x*n+O*o+T*h+S*g,r[13]=x*i+O*l+T*f+S*p,r[14]=x*a+O*u+T*d+S*m,r[15]=x*s+O*c+T*v+S*b,r}function gn(r,e,t){var n=t[0],i=t[1],a=t[2],s,o,l,u,c,h,f,d,v,g,p,m;return e===r?(r[12]=e[0]*n+e[4]*i+e[8]*a+e[12],r[13]=e[1]*n+e[5]*i+e[9]*a+e[13],r[14]=e[2]*n+e[6]*i+e[10]*a+e[14],r[15]=e[3]*n+e[7]*i+e[11]*a+e[15]):(s=e[0],o=e[1],l=e[2],u=e[3],c=e[4],h=e[5],f=e[6],d=e[7],v=e[8],g=e[9],p=e[10],m=e[11],r[0]=s,r[1]=o,r[2]=l,r[3]=u,r[4]=c,r[5]=h,r[6]=f,r[7]=d,r[8]=v,r[9]=g,r[10]=p,r[11]=m,r[12]=s*n+c*i+v*a+e[12],r[13]=o*n+h*i+g*a+e[13],r[14]=l*n+f*i+p*a+e[14],r[15]=u*n+d*i+m*a+e[15]),r}function rh(r,e,t){var n=t[0],i=t[1],a=t[2];return r[0]=e[0]*n,r[1]=e[1]*n,r[2]=e[2]*n,r[3]=e[3]*n,r[4]=e[4]*i,r[5]=e[5]*i,r[6]=e[6]*i,r[7]=e[7]*i,r[8]=e[8]*a,r[9]=e[9]*a,r[10]=e[10]*a,r[11]=e[11]*a,r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r}function pg(r,e,t,n){var i=n[0],a=n[1],s=n[2],o=Math.hypot(i,a,s),l,u,c,h,f,d,v,g,p,m,b,x,O,T,S,k,C,W,U,J,te,ie,ae,ve;return o<at?null:(o=1/o,i*=o,a*=o,s*=o,l=Math.sin(t),u=Math.cos(t),c=1-u,h=e[0],f=e[1],d=e[2],v=e[3],g=e[4],p=e[5],m=e[6],b=e[7],x=e[8],O=e[9],T=e[10],S=e[11],k=i*i*c+u,C=a*i*c+s*l,W=s*i*c-a*l,U=i*a*c-s*l,J=a*a*c+u,te=s*a*c+i*l,ie=i*s*c+a*l,ae=a*s*c-i*l,ve=s*s*c+u,r[0]=h*k+g*C+x*W,r[1]=f*k+p*C+O*W,r[2]=d*k+m*C+T*W,r[3]=v*k+b*C+S*W,r[4]=h*U+g*J+x*te,r[5]=f*U+p*J+O*te,r[6]=d*U+m*J+T*te,r[7]=v*U+b*J+S*te,r[8]=h*ie+g*ae+x*ve,r[9]=f*ie+p*ae+O*ve,r[10]=d*ie+m*ae+T*ve,r[11]=v*ie+b*ae+S*ve,e!==r&&(r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15]),r)}function Mu(r,e,t){var n=Math.sin(t),i=Math.cos(t),a=e[4],s=e[5],o=e[6],l=e[7],u=e[8],c=e[9],h=e[10],f=e[11];return e!==r&&(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15]),r[4]=a*i+u*n,r[5]=s*i+c*n,r[6]=o*i+h*n,r[7]=l*i+f*n,r[8]=u*i-a*n,r[9]=c*i-s*n,r[10]=h*i-o*n,r[11]=f*i-l*n,r}function Su(r,e,t){var n=Math.sin(t),i=Math.cos(t),a=e[0],s=e[1],o=e[2],l=e[3],u=e[8],c=e[9],h=e[10],f=e[11];return e!==r&&(r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15]),r[0]=a*i-u*n,r[1]=s*i-c*n,r[2]=o*i-h*n,r[3]=l*i-f*n,r[8]=a*n+u*i,r[9]=s*n+c*i,r[10]=o*n+h*i,r[11]=l*n+f*i,r}function mg(r,e,t){var n=Math.sin(t),i=Math.cos(t),a=e[0],s=e[1],o=e[2],l=e[3],u=e[4],c=e[5],h=e[6],f=e[7];return e!==r&&(r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15]),r[0]=a*i+u*n,r[1]=s*i+c*n,r[2]=o*i+h*n,r[3]=l*i+f*n,r[4]=u*i-a*n,r[5]=c*i-s*n,r[6]=h*i-o*n,r[7]=f*i-l*n,r}function Dr(r,e){return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=1,r[11]=0,r[12]=e[0],r[13]=e[1],r[14]=e[2],r[15]=1,r}function vi(r,e){return r[0]=e[0],r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=e[1],r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=e[2],r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function Tu(r,e,t){var n=t[0],i=t[1],a=t[2],s=Math.hypot(n,i,a),o,l,u;return s<at?null:(s=1/s,n*=s,i*=s,a*=s,o=Math.sin(e),l=Math.cos(e),u=1-l,r[0]=n*n*u+l,r[1]=i*n*u+a*o,r[2]=a*n*u-i*o,r[3]=0,r[4]=n*i*u-a*o,r[5]=i*i*u+l,r[6]=a*i*u+n*o,r[7]=0,r[8]=n*a*u+i*o,r[9]=i*a*u-n*o,r[10]=a*a*u+l,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r)}function Au(r,e){var t=Math.sin(e),n=Math.cos(e);return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=n,r[6]=t,r[7]=0,r[8]=0,r[9]=-t,r[10]=n,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function yg(r,e){var t=Math.sin(e),n=Math.cos(e);return r[0]=n,r[1]=0,r[2]=-t,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=t,r[9]=0,r[10]=n,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function Ou(r,e){var t=Math.sin(e),n=Math.cos(e);return r[0]=n,r[1]=t,r[2]=0,r[3]=0,r[4]=-t,r[5]=n,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=1,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function Uy(r,e,t){var n=e[0],i=e[1],a=e[2],s=e[3],o=n+n,l=i+i,u=a+a,c=n*o,h=n*l,f=n*u,d=i*l,v=i*u,g=a*u,p=s*o,m=s*l,b=s*u;return r[0]=1-(d+g),r[1]=h+b,r[2]=f-m,r[3]=0,r[4]=h-b,r[5]=1-(c+g),r[6]=v+p,r[7]=0,r[8]=f+m,r[9]=v-p,r[10]=1-(c+d),r[11]=0,r[12]=t[0],r[13]=t[1],r[14]=t[2],r[15]=1,r}function lA(r,e){var t=new bt(3),n=-e[0],i=-e[1],a=-e[2],s=e[3],o=e[4],l=e[5],u=e[6],c=e[7],h=n*n+i*i+a*a+s*s;return h>0?(t[0]=(o*s+c*n+l*a-u*i)*2/h,t[1]=(l*s+c*i+u*n-o*a)*2/h,t[2]=(u*s+c*a+o*i-l*n)*2/h):(t[0]=(o*s+c*n+l*a-u*i)*2,t[1]=(l*s+c*i+u*n-o*a)*2,t[2]=(u*s+c*a+o*i-l*n)*2),Uy(r,e,t),r}function yo(r,e){return r[0]=e[12],r[1]=e[13],r[2]=e[14],r}function Wa(r,e){var t=e[0],n=e[1],i=e[2],a=e[4],s=e[5],o=e[6],l=e[8],u=e[9],c=e[10];return r[0]=Math.hypot(t,n,i),r[1]=Math.hypot(a,s,o),r[2]=Math.hypot(l,u,c),r}function bo(r,e){var t=new bt(3);Wa(t,e);var n=1/t[0],i=1/t[1],a=1/t[2],s=e[0]*n,o=e[1]*i,l=e[2]*a,u=e[4]*n,c=e[5]*i,h=e[6]*a,f=e[8]*n,d=e[9]*i,v=e[10]*a,g=s+c+v,p=0;return g>0?(p=Math.sqrt(g+1)*2,r[3]=.25*p,r[0]=(h-d)/p,r[1]=(f-l)/p,r[2]=(o-u)/p):s>c&&s>v?(p=Math.sqrt(1+s-c-v)*2,r[3]=(h-d)/p,r[0]=.25*p,r[1]=(o+u)/p,r[2]=(f+l)/p):c>v?(p=Math.sqrt(1+c-s-v)*2,r[3]=(f-l)/p,r[0]=(o+u)/p,r[1]=.25*p,r[2]=(h+d)/p):(p=Math.sqrt(1+v-s-c)*2,r[3]=(o-u)/p,r[0]=(f+l)/p,r[1]=(h+d)/p,r[2]=.25*p),r}function uA(r,e,t,n){var i=e[0],a=e[1],s=e[2],o=e[3],l=i+i,u=a+a,c=s+s,h=i*l,f=i*u,d=i*c,v=a*u,g=a*c,p=s*c,m=o*l,b=o*u,x=o*c,O=n[0],T=n[1],S=n[2];return r[0]=(1-(v+p))*O,r[1]=(f+x)*O,r[2]=(d-b)*O,r[3]=0,r[4]=(f-x)*T,r[5]=(1-(h+p))*T,r[6]=(g+m)*T,r[7]=0,r[8]=(d+b)*S,r[9]=(g-m)*S,r[10]=(1-(h+v))*S,r[11]=0,r[12]=t[0],r[13]=t[1],r[14]=t[2],r[15]=1,r}function vs(r,e,t,n,i){var a=e[0],s=e[1],o=e[2],l=e[3],u=a+a,c=s+s,h=o+o,f=a*u,d=a*c,v=a*h,g=s*c,p=s*h,m=o*h,b=l*u,x=l*c,O=l*h,T=n[0],S=n[1],k=n[2],C=i[0],W=i[1],U=i[2],J=(1-(g+m))*T,te=(d+O)*T,ie=(v-x)*T,ae=(d-O)*S,ve=(1-(f+m))*S,Z=(p+b)*S,H=(v+x)*k,X=(p-b)*k,q=(1-(f+g))*k;return r[0]=J,r[1]=te,r[2]=ie,r[3]=0,r[4]=ae,r[5]=ve,r[6]=Z,r[7]=0,r[8]=H,r[9]=X,r[10]=q,r[11]=0,r[12]=t[0]+C-(J*C+ae*W+H*U),r[13]=t[1]+W-(te*C+ve*W+X*U),r[14]=t[2]+U-(ie*C+Z*W+q*U),r[15]=1,r}function ku(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=t+t,o=n+n,l=i+i,u=t*s,c=n*s,h=n*o,f=i*s,d=i*o,v=i*l,g=a*s,p=a*o,m=a*l;return r[0]=1-h-v,r[1]=c+m,r[2]=f-p,r[3]=0,r[4]=c-m,r[5]=1-u-v,r[6]=d+g,r[7]=0,r[8]=f+p,r[9]=d-g,r[10]=1-u-h,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function cA(r,e,t,n,i,a,s){var o=1/(t-e),l=1/(i-n),u=1/(a-s);return r[0]=a*2*o,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=a*2*l,r[6]=0,r[7]=0,r[8]=(t+e)*o,r[9]=(i+n)*l,r[10]=(s+a)*u,r[11]=-1,r[12]=0,r[13]=0,r[14]=s*a*2*u,r[15]=0,r}function Zy(r,e,t,n,i){var a=1/Math.tan(e/2),s;return r[0]=a/t,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=a,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[11]=-1,r[12]=0,r[13]=0,r[15]=0,i!=null&&i!==1/0?(s=1/(n-i),r[10]=(i+n)*s,r[14]=2*i*n*s):(r[10]=-1,r[14]=-2*n),r}var hA=Zy;function fA(r,e,t,n,i){var a=1/Math.tan(e/2),s;return r[0]=a/t,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=a,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[11]=-1,r[12]=0,r[13]=0,r[15]=0,i!=null&&i!==1/0?(s=1/(n-i),r[10]=i*s,r[14]=i*n*s):(r[10]=-1,r[14]=-n),r}function dA(r,e,t,n){var i=Math.tan(e.upDegrees*Math.PI/180),a=Math.tan(e.downDegrees*Math.PI/180),s=Math.tan(e.leftDegrees*Math.PI/180),o=Math.tan(e.rightDegrees*Math.PI/180),l=2/(s+o),u=2/(i+a);return r[0]=l,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=u,r[6]=0,r[7]=0,r[8]=-((s-o)*l*.5),r[9]=(i-a)*u*.5,r[10]=n/(t-n),r[11]=-1,r[12]=0,r[13]=0,r[14]=n*t/(t-n),r[15]=0,r}function Ky(r,e,t,n,i,a,s){var o=1/(e-t),l=1/(n-i),u=1/(a-s);return r[0]=-2*o,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=-2*l,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=2*u,r[11]=0,r[12]=(e+t)*o,r[13]=(i+n)*l,r[14]=(s+a)*u,r[15]=1,r}var bg=Ky;function xg(r,e,t,n,i,a,s){var o=1/(e-t),l=1/(n-i),u=1/(a-s);return r[0]=-2*o,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=-2*l,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=u,r[11]=0,r[12]=(e+t)*o,r[13]=(i+n)*l,r[14]=a*u,r[15]=1,r}function Eg(r,e,t,n){var i,a,s,o,l,u,c,h,f,d,v=e[0],g=e[1],p=e[2],m=n[0],b=n[1],x=n[2],O=t[0],T=t[1],S=t[2];return Math.abs(v-O)<at&&Math.abs(g-T)<at&&Math.abs(p-S)<at?Zn(r):(c=v-O,h=g-T,f=p-S,d=1/Math.hypot(c,h,f),c*=d,h*=d,f*=d,i=b*f-x*h,a=x*c-m*f,s=m*h-b*c,d=Math.hypot(i,a,s),d?(d=1/d,i*=d,a*=d,s*=d):(i=0,a=0,s=0),o=h*s-f*a,l=f*i-c*s,u=c*a-h*i,d=Math.hypot(o,l,u),d?(d=1/d,o*=d,l*=d,u*=d):(o=0,l=0,u=0),r[0]=i,r[1]=o,r[2]=c,r[3]=0,r[4]=a,r[5]=l,r[6]=h,r[7]=0,r[8]=s,r[9]=u,r[10]=f,r[11]=0,r[12]=-(i*v+a*g+s*p),r[13]=-(o*v+l*g+u*p),r[14]=-(c*v+h*g+f*p),r[15]=1,r)}function vA(r,e,t,n){var i=e[0],a=e[1],s=e[2],o=n[0],l=n[1],u=n[2],c=i-t[0],h=a-t[1],f=s-t[2],d=c*c+h*h+f*f;d>0&&(d=1/Math.sqrt(d),c*=d,h*=d,f*=d);var v=l*f-u*h,g=u*c-o*f,p=o*h-l*c;return d=v*v+g*g+p*p,d>0&&(d=1/Math.sqrt(d),v*=d,g*=d,p*=d),r[0]=v,r[1]=g,r[2]=p,r[3]=0,r[4]=h*p-f*g,r[5]=f*v-c*p,r[6]=c*g-h*v,r[7]=0,r[8]=c,r[9]=h,r[10]=f,r[11]=0,r[12]=i,r[13]=a,r[14]=s,r[15]=1,r}function gA(r){return"mat4("+r[0]+", "+r[1]+", "+r[2]+", "+r[3]+", "+r[4]+", "+r[5]+", "+r[6]+", "+r[7]+", "+r[8]+", "+r[9]+", "+r[10]+", "+r[11]+", "+r[12]+", "+r[13]+", "+r[14]+", "+r[15]+")"}function pA(r){return Math.hypot(r[0],r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15])}function mA(r,e,t){return r[0]=e[0]+t[0],r[1]=e[1]+t[1],r[2]=e[2]+t[2],r[3]=e[3]+t[3],r[4]=e[4]+t[4],r[5]=e[5]+t[5],r[6]=e[6]+t[6],r[7]=e[7]+t[7],r[8]=e[8]+t[8],r[9]=e[9]+t[9],r[10]=e[10]+t[10],r[11]=e[11]+t[11],r[12]=e[12]+t[12],r[13]=e[13]+t[13],r[14]=e[14]+t[14],r[15]=e[15]+t[15],r}function Qy(r,e,t){return r[0]=e[0]-t[0],r[1]=e[1]-t[1],r[2]=e[2]-t[2],r[3]=e[3]-t[3],r[4]=e[4]-t[4],r[5]=e[5]-t[5],r[6]=e[6]-t[6],r[7]=e[7]-t[7],r[8]=e[8]-t[8],r[9]=e[9]-t[9],r[10]=e[10]-t[10],r[11]=e[11]-t[11],r[12]=e[12]-t[12],r[13]=e[13]-t[13],r[14]=e[14]-t[14],r[15]=e[15]-t[15],r}function yA(r,e,t){return r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r[3]=e[3]*t,r[4]=e[4]*t,r[5]=e[5]*t,r[6]=e[6]*t,r[7]=e[7]*t,r[8]=e[8]*t,r[9]=e[9]*t,r[10]=e[10]*t,r[11]=e[11]*t,r[12]=e[12]*t,r[13]=e[13]*t,r[14]=e[14]*t,r[15]=e[15]*t,r}function bA(r,e,t,n){return r[0]=e[0]+t[0]*n,r[1]=e[1]+t[1]*n,r[2]=e[2]+t[2]*n,r[3]=e[3]+t[3]*n,r[4]=e[4]+t[4]*n,r[5]=e[5]+t[5]*n,r[6]=e[6]+t[6]*n,r[7]=e[7]+t[7]*n,r[8]=e[8]+t[8]*n,r[9]=e[9]+t[9]*n,r[10]=e[10]+t[10]*n,r[11]=e[11]+t[11]*n,r[12]=e[12]+t[12]*n,r[13]=e[13]+t[13]*n,r[14]=e[14]+t[14]*n,r[15]=e[15]+t[15]*n,r}function wg(r,e){return r[0]===e[0]&&r[1]===e[1]&&r[2]===e[2]&&r[3]===e[3]&&r[4]===e[4]&&r[5]===e[5]&&r[6]===e[6]&&r[7]===e[7]&&r[8]===e[8]&&r[9]===e[9]&&r[10]===e[10]&&r[11]===e[11]&&r[12]===e[12]&&r[13]===e[13]&&r[14]===e[14]&&r[15]===e[15]}function xA(r,e){var t=r[0],n=r[1],i=r[2],a=r[3],s=r[4],o=r[5],l=r[6],u=r[7],c=r[8],h=r[9],f=r[10],d=r[11],v=r[12],g=r[13],p=r[14],m=r[15],b=e[0],x=e[1],O=e[2],T=e[3],S=e[4],k=e[5],C=e[6],W=e[7],U=e[8],J=e[9],te=e[10],ie=e[11],ae=e[12],ve=e[13],Z=e[14],H=e[15];return Math.abs(t-b)<=at*Math.max(1,Math.abs(t),Math.abs(b))&&Math.abs(n-x)<=at*Math.max(1,Math.abs(n),Math.abs(x))&&Math.abs(i-O)<=at*Math.max(1,Math.abs(i),Math.abs(O))&&Math.abs(a-T)<=at*Math.max(1,Math.abs(a),Math.abs(T))&&Math.abs(s-S)<=at*Math.max(1,Math.abs(s),Math.abs(S))&&Math.abs(o-k)<=at*Math.max(1,Math.abs(o),Math.abs(k))&&Math.abs(l-C)<=at*Math.max(1,Math.abs(l),Math.abs(C))&&Math.abs(u-W)<=at*Math.max(1,Math.abs(u),Math.abs(W))&&Math.abs(c-U)<=at*Math.max(1,Math.abs(c),Math.abs(U))&&Math.abs(h-J)<=at*Math.max(1,Math.abs(h),Math.abs(J))&&Math.abs(f-te)<=at*Math.max(1,Math.abs(f),Math.abs(te))&&Math.abs(d-ie)<=at*Math.max(1,Math.abs(d),Math.abs(ie))&&Math.abs(v-ae)<=at*Math.max(1,Math.abs(v),Math.abs(ae))&&Math.abs(g-ve)<=at*Math.max(1,Math.abs(g),Math.abs(ve))&&Math.abs(p-Z)<=at*Math.max(1,Math.abs(p),Math.abs(Z))&&Math.abs(m-H)<=at*Math.max(1,Math.abs(m),Math.abs(H))}var Pg=Ut,EA=Qy;function Mg(){var r=new bt(9);return bt!=Float32Array&&(r[1]=0,r[2]=0,r[3]=0,r[5]=0,r[6]=0,r[7]=0),r[0]=1,r[4]=1,r[8]=1,r}function Jy(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[4],r[4]=e[5],r[5]=e[6],r[6]=e[8],r[7]=e[9],r[8]=e[10],r}function gV(r){var e=new glMatrix.ARRAY_TYPE(9);return e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[3],e[4]=r[4],e[5]=r[5],e[6]=r[6],e[7]=r[7],e[8]=r[8],e}function pV(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r}function qy(r,e,t,n,i,a,s,o,l){var u=new bt(9);return u[0]=r,u[1]=e,u[2]=t,u[3]=n,u[4]=i,u[5]=a,u[6]=s,u[7]=o,u[8]=l,u}function mV(r,e,t,n,i,a,s,o,l,u){return r[0]=e,r[1]=t,r[2]=n,r[3]=i,r[4]=a,r[5]=s,r[6]=o,r[7]=l,r[8]=u,r}function yV(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=1,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r}function bV(r,e){if(r===e){var t=e[1],n=e[2],i=e[5];r[1]=e[3],r[2]=e[6],r[3]=t,r[5]=e[7],r[6]=n,r[7]=i}else r[0]=e[0],r[1]=e[3],r[2]=e[6],r[3]=e[1],r[4]=e[4],r[5]=e[7],r[6]=e[2],r[7]=e[5],r[8]=e[8];return r}function xV(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=e[4],o=e[5],l=e[6],u=e[7],c=e[8],h=c*s-o*u,f=-c*a+o*l,d=u*a-s*l,v=t*h+n*f+i*d;return v?(v=1/v,r[0]=h*v,r[1]=(-c*n+i*u)*v,r[2]=(o*n-i*s)*v,r[3]=f*v,r[4]=(c*t-i*l)*v,r[5]=(-o*t+i*a)*v,r[6]=d*v,r[7]=(-u*t+n*l)*v,r[8]=(s*t-n*a)*v,r):null}function EV(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=e[4],o=e[5],l=e[6],u=e[7],c=e[8];return r[0]=s*c-o*u,r[1]=i*u-n*c,r[2]=n*o-i*s,r[3]=o*l-a*c,r[4]=t*c-i*l,r[5]=i*a-t*o,r[6]=a*u-s*l,r[7]=n*l-t*u,r[8]=t*s-n*a,r}function wV(r){var e=r[0],t=r[1],n=r[2],i=r[3],a=r[4],s=r[5],o=r[6],l=r[7],u=r[8];return e*(u*a-s*l)+t*(-u*i+s*o)+n*(l*i-a*o)}function PV(r,e,t){var n=e[0],i=e[1],a=e[2],s=e[3],o=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=t[0],d=t[1],v=t[2],g=t[3],p=t[4],m=t[5],b=t[6],x=t[7],O=t[8];return r[0]=f*n+d*s+v*u,r[1]=f*i+d*o+v*c,r[2]=f*a+d*l+v*h,r[3]=g*n+p*s+m*u,r[4]=g*i+p*o+m*c,r[5]=g*a+p*l+m*h,r[6]=b*n+x*s+O*u,r[7]=b*i+x*o+O*c,r[8]=b*a+x*l+O*h,r}function MV(r,e,t){var n=e[0],i=e[1],a=e[2],s=e[3],o=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=t[0],d=t[1];return r[0]=n,r[1]=i,r[2]=a,r[3]=s,r[4]=o,r[5]=l,r[6]=f*n+d*s+u,r[7]=f*i+d*o+c,r[8]=f*a+d*l+h,r}function SV(r,e,t){var n=e[0],i=e[1],a=e[2],s=e[3],o=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=Math.sin(t),d=Math.cos(t);return r[0]=d*n+f*s,r[1]=d*i+f*o,r[2]=d*a+f*l,r[3]=d*s-f*n,r[4]=d*o-f*i,r[5]=d*l-f*a,r[6]=u,r[7]=c,r[8]=h,r}function TV(r,e,t){var n=t[0],i=t[1];return r[0]=n*e[0],r[1]=n*e[1],r[2]=n*e[2],r[3]=i*e[3],r[4]=i*e[4],r[5]=i*e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r}function AV(r,e){return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=1,r[5]=0,r[6]=e[0],r[7]=e[1],r[8]=1,r}function OV(r,e){var t=Math.sin(e),n=Math.cos(e);return r[0]=n,r[1]=t,r[2]=0,r[3]=-t,r[4]=n,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r}function kV(r,e){return r[0]=e[0],r[1]=0,r[2]=0,r[3]=0,r[4]=e[1],r[5]=0,r[6]=0,r[7]=0,r[8]=1,r}function CV(r,e){return r[0]=e[0],r[1]=e[1],r[2]=0,r[3]=e[2],r[4]=e[3],r[5]=0,r[6]=e[4],r[7]=e[5],r[8]=1,r}function NV(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=t+t,o=n+n,l=i+i,u=t*s,c=n*s,h=n*o,f=i*s,d=i*o,v=i*l,g=a*s,p=a*o,m=a*l;return r[0]=1-h-v,r[3]=c-m,r[6]=f+p,r[1]=c+m,r[4]=1-u-v,r[7]=d-g,r[2]=f-p,r[5]=d+g,r[8]=1-u-h,r}function _V(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=e[4],o=e[5],l=e[6],u=e[7],c=e[8],h=e[9],f=e[10],d=e[11],v=e[12],g=e[13],p=e[14],m=e[15],b=t*o-n*s,x=t*l-i*s,O=t*u-a*s,T=n*l-i*o,S=n*u-a*o,k=i*u-a*l,C=c*g-h*v,W=c*p-f*v,U=c*m-d*v,J=h*p-f*g,te=h*m-d*g,ie=f*m-d*p,ae=b*ie-x*te+O*J+T*U-S*W+k*C;return ae?(ae=1/ae,r[0]=(o*ie-l*te+u*J)*ae,r[1]=(l*U-s*ie-u*W)*ae,r[2]=(s*te-o*U+u*C)*ae,r[3]=(i*te-n*ie-a*J)*ae,r[4]=(t*ie-i*U+a*W)*ae,r[5]=(n*U-t*te-a*C)*ae,r[6]=(g*k-p*S+m*T)*ae,r[7]=(p*O-v*k-m*x)*ae,r[8]=(v*S-g*O+m*b)*ae,r):null}function RV(r,e,t){return r[0]=2/e,r[1]=0,r[2]=0,r[3]=0,r[4]=-2/t,r[5]=0,r[6]=-1,r[7]=1,r[8]=1,r}function LV(r){return"mat3("+r[0]+", "+r[1]+", "+r[2]+", "+r[3]+", "+r[4]+", "+r[5]+", "+r[6]+", "+r[7]+", "+r[8]+")"}function DV(r){return Math.hypot(r[0],r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8])}function IV(r,e,t){return r[0]=e[0]+t[0],r[1]=e[1]+t[1],r[2]=e[2]+t[2],r[3]=e[3]+t[3],r[4]=e[4]+t[4],r[5]=e[5]+t[5],r[6]=e[6]+t[6],r[7]=e[7]+t[7],r[8]=e[8]+t[8],r}function BV(r,e,t){return r[0]=e[0]-t[0],r[1]=e[1]-t[1],r[2]=e[2]-t[2],r[3]=e[3]-t[3],r[4]=e[4]-t[4],r[5]=e[5]-t[5],r[6]=e[6]-t[6],r[7]=e[7]-t[7],r[8]=e[8]-t[8],r}function zV(r,e,t){return r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r[3]=e[3]*t,r[4]=e[4]*t,r[5]=e[5]*t,r[6]=e[6]*t,r[7]=e[7]*t,r[8]=e[8]*t,r}function FV(r,e,t,n){return r[0]=e[0]+t[0]*n,r[1]=e[1]+t[1]*n,r[2]=e[2]+t[2]*n,r[3]=e[3]+t[3]*n,r[4]=e[4]+t[4]*n,r[5]=e[5]+t[5]*n,r[6]=e[6]+t[6]*n,r[7]=e[7]+t[7]*n,r[8]=e[8]+t[8]*n,r}function jV(r,e){return r[0]===e[0]&&r[1]===e[1]&&r[2]===e[2]&&r[3]===e[3]&&r[4]===e[4]&&r[5]===e[5]&&r[6]===e[6]&&r[7]===e[7]&&r[8]===e[8]}function GV(r,e){var t=r[0],n=r[1],i=r[2],a=r[3],s=r[4],o=r[5],l=r[6],u=r[7],c=r[8],h=e[0],f=e[1],d=e[2],v=e[3],g=e[4],p=e[5],m=e[6],b=e[7],x=e[8];return Math.abs(t-h)<=glMatrix.EPSILON*Math.max(1,Math.abs(t),Math.abs(h))&&Math.abs(n-f)<=glMatrix.EPSILON*Math.max(1,Math.abs(n),Math.abs(f))&&Math.abs(i-d)<=glMatrix.EPSILON*Math.max(1,Math.abs(i),Math.abs(d))&&Math.abs(a-v)<=glMatrix.EPSILON*Math.max(1,Math.abs(a),Math.abs(v))&&Math.abs(s-g)<=glMatrix.EPSILON*Math.max(1,Math.abs(s),Math.abs(g))&&Math.abs(o-p)<=glMatrix.EPSILON*Math.max(1,Math.abs(o),Math.abs(p))&&Math.abs(l-m)<=glMatrix.EPSILON*Math.max(1,Math.abs(l),Math.abs(m))&&Math.abs(u-b)<=glMatrix.EPSILON*Math.max(1,Math.abs(u),Math.abs(b))&&Math.abs(c-x)<=glMatrix.EPSILON*Math.max(1,Math.abs(c),Math.abs(x))}var HV=null,XV=null;function en(){var r=new bt(4);return bt!=Float32Array&&(r[0]=0,r[1]=0,r[2]=0),r[3]=1,r}function WV(r){return r[0]=0,r[1]=0,r[2]=0,r[3]=1,r}function Jr(r,e,t){t=t*.5;var n=Math.sin(t);return r[0]=n*e[0],r[1]=n*e[1],r[2]=n*e[2],r[3]=Math.cos(t),r}function VV(r,e){var t=Math.acos(e[3])*2,n=Math.sin(t/2);return n>glMatrix.EPSILON?(r[0]=e[0]/n,r[1]=e[1]/n,r[2]=e[2]/n):(r[0]=1,r[1]=0,r[2]=0),t}function YV(r,e){var t=TA(r,e);return Math.acos(2*t*t-1)}function qr(r,e,t){var n=e[0],i=e[1],a=e[2],s=e[3],o=t[0],l=t[1],u=t[2],c=t[3];return r[0]=n*c+s*o+i*u-a*l,r[1]=i*c+s*l+a*o-n*u,r[2]=a*c+s*u+n*l-i*o,r[3]=s*c-n*o-i*l-a*u,r}function UV(r,e,t){t*=.5;var n=e[0],i=e[1],a=e[2],s=e[3],o=Math.sin(t),l=Math.cos(t);return r[0]=n*l+s*o,r[1]=i*l+a*o,r[2]=a*l-i*o,r[3]=s*l-n*o,r}function ZV(r,e,t){t*=.5;var n=e[0],i=e[1],a=e[2],s=e[3],o=Math.sin(t),l=Math.cos(t);return r[0]=n*l-a*o,r[1]=i*l+s*o,r[2]=a*l+n*o,r[3]=s*l-i*o,r}function KV(r,e,t){t*=.5;var n=e[0],i=e[1],a=e[2],s=e[3],o=Math.sin(t),l=Math.cos(t);return r[0]=n*l+i*o,r[1]=i*l-n*o,r[2]=a*l+s*o,r[3]=s*l-a*o,r}function QV(r,e){var t=e[0],n=e[1],i=e[2];return r[0]=t,r[1]=n,r[2]=i,r[3]=Math.sqrt(Math.abs(1-t*t-n*n-i*i)),r}function wA(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=Math.sqrt(t*t+n*n+i*i),o=Math.exp(a),l=s>0?o*Math.sin(s)/s:0;return r[0]=t*l,r[1]=n*l,r[2]=i*l,r[3]=o*Math.cos(s),r}function PA(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=Math.sqrt(t*t+n*n+i*i),o=s>0?Math.atan2(s,a)/s:0;return r[0]=t*o,r[1]=n*o,r[2]=i*o,r[3]=.5*Math.log(t*t+n*n+i*i+a*a),r}function JV(r,e,t){return PA(r,e),SA(r,r,t),wA(r,r),r}function Sg(r,e,t,n){var i=e[0],a=e[1],s=e[2],o=e[3],l=t[0],u=t[1],c=t[2],h=t[3],f,d,v,g,p;return d=i*l+a*u+s*c+o*h,d<0&&(d=-d,l=-l,u=-u,c=-c,h=-h),1-d>at?(f=Math.acos(d),v=Math.sin(f),g=Math.sin((1-n)*f)/v,p=Math.sin(n*f)/v):(g=1-n,p=n),r[0]=g*i+p*l,r[1]=g*a+p*u,r[2]=g*s+p*c,r[3]=g*o+p*h,r}function qV(r){var e=glMatrix.RANDOM(),t=glMatrix.RANDOM(),n=glMatrix.RANDOM(),i=Math.sqrt(1-e),a=Math.sqrt(e);return r[0]=i*Math.sin(2*Math.PI*t),r[1]=i*Math.cos(2*Math.PI*t),r[2]=a*Math.sin(2*Math.PI*n),r[3]=a*Math.cos(2*Math.PI*n),r}function ul(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=t*t+n*n+i*i+a*a,o=s?1/s:0;return r[0]=-t*o,r[1]=-n*o,r[2]=-i*o,r[3]=a*o,r}function $V(r,e){return r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r[3]=e[3],r}function MA(r,e){var t=e[0]+e[4]+e[8],n;if(t>0)n=Math.sqrt(t+1),r[3]=.5*n,n=.5/n,r[0]=(e[5]-e[7])*n,r[1]=(e[6]-e[2])*n,r[2]=(e[1]-e[3])*n;else{var i=0;e[4]>e[0]&&(i=1),e[8]>e[i*3+i]&&(i=2);var a=(i+1)%3,s=(i+2)%3;n=Math.sqrt(e[i*3+i]-e[a*3+a]-e[s*3+s]+1),r[i]=.5*n,n=.5/n,r[3]=(e[a*3+s]-e[s*3+a])*n,r[a]=(e[a*3+i]+e[i*3+a])*n,r[s]=(e[s*3+i]+e[i*3+s])*n}return r}function Rs(r,e,t,n){var i=.5*Math.PI/180;e*=i,t*=i,n*=i;var a=Math.sin(e),s=Math.cos(e),o=Math.sin(t),l=Math.cos(t),u=Math.sin(n),c=Math.cos(n);return r[0]=a*l*c-s*o*u,r[1]=s*o*c+a*l*u,r[2]=s*l*u-a*o*c,r[3]=s*l*c+a*o*u,r}function eY(r){return"quat("+r[0]+", "+r[1]+", "+r[2]+", "+r[3]+")"}var tY=nh,$y=ma,Ls=hg,ih=fg,nY=dg,ah=qr,SA=F,TA=Fe,rY=dt,iY=ge,aY=null,sY=_e,oY=null,cl=et,lY=In,uY=At,cY=function(){var r=Me(),e=me(1,0,0),t=me(0,1,0);return function(n,i,a){var s=dn(i,a);return s<-.999999?(Yi(r,e,i),wu(r)<1e-6&&Yi(r,t,i),fn(r,r),Jr(n,r,Math.PI),n):s>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(Yi(r,i,a),n[0]=r[0],n[1]=r[1],n[2]=r[2],n[3]=1+s,cl(n,n))}}(),hY=function(){var r=en(),e=en();return function(t,n,i,a,s,o){return Sg(r,n,s,o),Sg(e,i,a,o),Sg(t,r,e,2*o*(1-o)),t}}(),fY=function(){var r=Mg();return function(e,t,n,i){return r[0]=n[0],r[3]=n[1],r[6]=n[2],r[1]=i[0],r[4]=i[1],r[7]=i[2],r[2]=-t[0],r[5]=-t[1],r[8]=-t[2],cl(e,MA(e,r))}}();function Cu(){var r=new bt(2);return bt!=Float32Array&&(r[0]=0,r[1]=0),r}function dY(r){var e=new glMatrix.ARRAY_TYPE(2);return e[0]=r[0],e[1]=r[1],e}function vY(r,e){var t=new glMatrix.ARRAY_TYPE(2);return t[0]=r,t[1]=e,t}function e1(r,e){return r[0]=e[0],r[1]=e[1],r}function t1(r,e,t){return r[0]=e,r[1]=t,r}function gY(r,e,t){return r[0]=e[0]+t[0],r[1]=e[1]+t[1],r}function pY(r,e,t){return r[0]=e[0]-t[0],r[1]=e[1]-t[1],r}function mY(r,e,t){return r[0]=e[0]*t[0],r[1]=e[1]*t[1],r}function yY(r,e,t){return r[0]=e[0]/t[0],r[1]=e[1]/t[1],r}function bY(r,e){return r[0]=Math.ceil(e[0]),r[1]=Math.ceil(e[1]),r}function xY(r,e){return r[0]=Math.floor(e[0]),r[1]=Math.floor(e[1]),r}function EY(r,e,t){return r[0]=Math.min(e[0],t[0]),r[1]=Math.min(e[1],t[1]),r}function wY(r,e,t){return r[0]=Math.max(e[0],t[0]),r[1]=Math.max(e[1],t[1]),r}function PY(r,e){return r[0]=Math.round(e[0]),r[1]=Math.round(e[1]),r}function MY(r,e,t){return r[0]=e[0]*t,r[1]=e[1]*t,r}function SY(r,e,t,n){return r[0]=e[0]+t[0]*n,r[1]=e[1]+t[1]*n,r}function TY(r,e){var t=e[0]-r[0],n=e[1]-r[1];return Math.hypot(t,n)}function AY(r,e){var t=e[0]-r[0],n=e[1]-r[1];return t*t+n*n}function OY(r){var e=r[0],t=r[1];return Math.hypot(e,t)}function kY(r){var e=r[0],t=r[1];return e*e+t*t}function CY(r,e){return r[0]=-e[0],r[1]=-e[1],r}function NY(r,e){return r[0]=1/e[0],r[1]=1/e[1],r}function AA(r,e){var t=e[0],n=e[1],i=t*t+n*n;return i>0&&(i=1/Math.sqrt(i)),r[0]=e[0]*i,r[1]=e[1]*i,r}function OA(r,e){return r[0]*e[0]+r[1]*e[1]}function _Y(r,e,t){var n=e[0]*t[1]-e[1]*t[0];return r[0]=r[1]=0,r[2]=n,r}function RY(r,e,t,n){var i=e[0],a=e[1];return r[0]=i+n*(t[0]-i),r[1]=a+n*(t[1]-a),r}function LY(r,e){e=e||1;var t=glMatrix.RANDOM()*2*Math.PI;return r[0]=Math.cos(t)*e,r[1]=Math.sin(t)*e,r}function DY(r,e,t){var n=e[0],i=e[1];return r[0]=t[0]*n+t[2]*i,r[1]=t[1]*n+t[3]*i,r}function IY(r,e,t){var n=e[0],i=e[1];return r[0]=t[0]*n+t[2]*i+t[4],r[1]=t[1]*n+t[3]*i+t[5],r}function BY(r,e,t){var n=e[0],i=e[1];return r[0]=t[0]*n+t[3]*i+t[6],r[1]=t[1]*n+t[4]*i+t[7],r}function zY(r,e,t){var n=e[0],i=e[1];return r[0]=t[0]*n+t[4]*i+t[12],r[1]=t[1]*n+t[5]*i+t[13],r}function FY(r,e,t,n){var i=e[0]-t[0],a=e[1]-t[1],s=Math.sin(n),o=Math.cos(n);return r[0]=i*o-a*s+t[0],r[1]=i*s+a*o+t[1],r}function jY(r,e){var t=r[0],n=r[1],i=e[0],a=e[1],s=Math.sqrt(t*t+n*n)*Math.sqrt(i*i+a*a),o=s&&(t*i+n*a)/s;return Math.acos(Math.min(Math.max(o,-1),1))}function GY(r){return r[0]=0,r[1]=0,r}function HY(r){return"vec2("+r[0]+", "+r[1]+")"}function kA(r,e){return r[0]===e[0]&&r[1]===e[1]}function XY(r,e){var t=r[0],n=r[1],i=e[0],a=e[1];return Math.abs(t-i)<=glMatrix.EPSILON*Math.max(1,Math.abs(t),Math.abs(i))&&Math.abs(n-a)<=glMatrix.EPSILON*Math.max(1,Math.abs(n),Math.abs(a))}var WY=null,VY=null,YY=null,UY=null,ZY=null,KY=null,QY=null,JY=function(){var r=Cu();return function(e,t,n,i,a,s){var o,l;for(t||(t=2),n||(n=0),i?l=Math.min(i*t+n,e.length):l=e.length,o=n;o<l;o+=t)r[0]=e[o],r[1]=e[o+1],a(r,r,s),e[o]=r[0],e[o+1]=r[1];return e}}();function ht(r){return typeof r=="number"}function gi(r,e){return Math.sqrt((r[0]-e[0])*(r[0]-e[0])+(r[1]-e[1])*(r[1]-e[1]))}function vt(r){return r==null}function Xt(r){return typeof r=="string"}var CA=function(r,e,t){return r<e?e:r>t?t:r},on=CA,Y=w(97582),Nu={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0};function n1(r){return Array.isArray(r)&&r.every(function(e){var t=e[0].toLowerCase();return Nu[t]===e.length-1&&"achlmqstvz".includes(t)})}function r1(r){return n1(r)&&r.every(function(e){var t=e[0];return t===t.toUpperCase()})}function i1(r){return r1(r)&&r.every(function(e){var t=e[0];return"ACLMQZ".includes(t)})}var a1={x1:0,y1:0,x2:0,y2:0,x:0,y:0,qx:null,qy:null};function s1(r){for(var e=r.pathValue[r.segmentStart],t=e.toLowerCase(),n=r.data;n.length>=Nu[t]&&(t==="m"&&n.length>2?(r.segments.push([e].concat(n.splice(0,2))),t="l",e=e==="m"?"l":"L"):r.segments.push([e].concat(n.splice(0,Nu[t]))),!!Nu[t]););}function NA(r){var e=r.index,t=r.pathValue,n=t.charCodeAt(e);if(n===48){r.param=0,r.index+=1;return}if(n===49){r.param=1,r.index+=1;return}r.err='[path-util]: invalid Arc flag "'.concat(t[e],'", expecting 0 or 1 at index ').concat(e)}function _A(r){return r>=48&&r<=57||r===43||r===45||r===46}function hl(r){return r>=48&&r<=57}function RA(r){var e=r.max,t=r.pathValue,n=r.index,i=n,a=!1,s=!1,o=!1,l=!1,u;if(i>=e){r.err="[path-util]: Invalid path value at index ".concat(i,', "pathValue" is missing param');return}if(u=t.charCodeAt(i),(u===43||u===45)&&(i+=1,u=t.charCodeAt(i)),!hl(u)&&u!==46){r.err="[path-util]: Invalid path value at index ".concat(i,', "').concat(t[i],'" is not a number');return}if(u!==46){if(a=u===48,i+=1,u=t.charCodeAt(i),a&&i<e&&u&&hl(u)){r.err="[path-util]: Invalid path value at index ".concat(n,', "').concat(t[n],'" illegal number');return}for(;i<e&&hl(t.charCodeAt(i));)i+=1,s=!0;u=t.charCodeAt(i)}if(u===46){for(l=!0,i+=1;hl(t.charCodeAt(i));)i+=1,o=!0;u=t.charCodeAt(i)}if(u===101||u===69){if(l&&!s&&!o){r.err="[path-util]: Invalid path value at index ".concat(i,', "').concat(t[i],'" invalid float exponent');return}if(i+=1,u=t.charCodeAt(i),(u===43||u===45)&&(i+=1),i<e&&hl(t.charCodeAt(i)))for(;i<e&&hl(t.charCodeAt(i));)i+=1;else{r.err="[path-util]: Invalid path value at index ".concat(i,', "').concat(t[i],'" invalid integer exponent');return}}r.index=i,r.param=+r.pathValue.slice(n,i)}function LA(r){var e=[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279];return r===10||r===13||r===8232||r===8233||r===32||r===9||r===11||r===12||r===160||r>=5760&&e.includes(r)}function sh(r){for(var e=r.pathValue,t=r.max;r.index<t&&LA(e.charCodeAt(r.index));)r.index+=1}function DA(r){switch(r|32){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}}function IA(r){return(r|32)===97}function BA(r){var e=r.max,t=r.pathValue,n=r.index,i=t.charCodeAt(n),a=Nu[t[n].toLowerCase()];if(r.segmentStart=n,!DA(i)){r.err='[path-util]: Invalid path value "'.concat(t[n],'" is not a path command');return}if(r.index+=1,sh(r),r.data=[],!a){s1(r);return}for(;;){for(var s=a;s>0;s-=1){if(IA(i)&&(s===3||s===4)?NA(r):RA(r),r.err.length)return;r.data.push(r.param),sh(r),r.index<e&&t.charCodeAt(r.index)===44&&(r.index+=1,sh(r))}if(r.index>=r.max||!_A(t.charCodeAt(r.index)))break}s1(r)}var zA=function(){function r(e){this.pathValue=e,this.segments=[],this.max=e.length,this.index=0,this.param=0,this.segmentStart=0,this.data=[],this.err=""}return r}();function FA(r){if(n1(r))return[].concat(r);var e=new zA(r);for(sh(e);e.index<e.max&&!e.err.length;)BA(e);return e.err?e.err:e.segments}function jA(r){if(r1(r))return[].concat(r);var e=FA(r),t=0,n=0,i=0,a=0;return e.map(function(s){var o=s.slice(1).map(Number),l=s[0],u=l.toUpperCase();if(l==="M")return t=o[0],n=o[1],i=t,a=n,["M",t,n];var c;if(l!==u)switch(u){case"A":c=[u,o[0],o[1],o[2],o[3],o[4],o[5]+t,o[6]+n];break;case"V":c=[u,o[0]+n];break;case"H":c=[u,o[0]+t];break;default:{var h=o.map(function(d,v){return d+(v%2?n:t)});c=[u].concat(h)}}else c=[u].concat(o);var f=c.length;switch(u){case"Z":t=i,n=a;break;case"H":t=c[1];break;case"V":n=c[1];break;default:t=c[f-2],n=c[f-1],u==="M"&&(i=t,a=n)}return c})}function GA(r,e){var t=r[0],n=e.x1,i=e.y1,a=e.x2,s=e.y2,o=r.slice(1).map(Number),l=r;if("TQ".includes(t)||(e.qx=null,e.qy=null),t==="H")l=["L",r[1],i];else if(t==="V")l=["L",n,r[1]];else if(t==="S"){var u=n*2-a,c=i*2-s;e.x1=u,e.y1=c,l=["C",u,c].concat(o)}else if(t==="T"){var h=n*2-e.qx,f=i*2-e.qy;e.qx=h,e.qy=f,l=["Q",h,f].concat(o)}else if(t==="Q"){var d=o[0],v=o[1];e.qx=d,e.qy=v}return l}function fl(r){if(i1(r))return[].concat(r);for(var e=jA(r),t=(0,Y.pi)({},a1),n=0;n<e.length;n+=1){e[n]=GA(e[n],t);var i=e[n],a=i.length;t.x1=+i[a-2],t.y1=+i[a-1],t.x2=+i[a-4]||t.x1,t.y2=+i[a-3]||t.y1}return e}function Ds(r,e,t){var n=r[0],i=r[1],a=e[0],s=e[1];return[n+(a-n)*t,i+(s-i)*t]}function Tg(r,e,t,n,i){var a=gi([r,e],[t,n]),s={x:0,y:0};if(typeof i=="number")if(i<=0)s={x:r,y:e};else if(i>=a)s={x:t,y:n};else{var o=Ds([r,e],[t,n],i/a),l=o[0],u=o[1];s={x:l,y:u}}return{length:a,point:s,min:{x:Math.min(r,t),y:Math.min(e,n)},max:{x:Math.max(r,t),y:Math.max(e,n)}}}function o1(r,e){var t=r.x,n=r.y,i=e.x,a=e.y,s=t*i+n*a,o=Math.sqrt((Math.pow(t,2)+Math.pow(n,2))*(Math.pow(i,2)+Math.pow(a,2))),l=t*a-n*i<0?-1:1,u=l*Math.acos(s/o);return u}function HA(r,e,t,n,i,a,s,o,l,u){var c=Math.abs,h=Math.sin,f=Math.cos,d=Math.sqrt,v=Math.PI,g=c(t),p=c(n),m=(i%360+360)%360,b=m*(v/180);if(r===o&&e===l)return{x:r,y:e};if(g===0||p===0)return Tg(r,e,o,l,u).point;var x=(r-o)/2,O=(e-l)/2,T={x:f(b)*x+h(b)*O,y:-h(b)*x+f(b)*O},S=Math.pow(T.x,2)/Math.pow(g,2)+Math.pow(T.y,2)/Math.pow(p,2);S>1&&(g*=d(S),p*=d(S));var k=Math.pow(g,2)*Math.pow(p,2)-Math.pow(g,2)*Math.pow(T.y,2)-Math.pow(p,2)*Math.pow(T.x,2),C=Math.pow(g,2)*Math.pow(T.y,2)+Math.pow(p,2)*Math.pow(T.x,2),W=k/C;W=W<0?0:W;var U=(a!==s?1:-1)*d(W),J={x:U*(g*T.y/p),y:U*(-(p*T.x)/g)},te={x:f(b)*J.x-h(b)*J.y+(r+o)/2,y:h(b)*J.x+f(b)*J.y+(e+l)/2},ie={x:(T.x-J.x)/g,y:(T.y-J.y)/p},ae=o1({x:1,y:0},ie),ve={x:(-T.x-J.x)/g,y:(-T.y-J.y)/p},Z=o1(ie,ve);!s&&Z>0?Z-=2*v:s&&Z<0&&(Z+=2*v),Z%=2*v;var H=ae+Z*u,X=g*f(H),q=p*h(H),oe={x:f(b)*X-h(b)*q+te.x,y:h(b)*X+f(b)*q+te.y};return oe}function XA(r,e,t,n,i,a,s,o,l,u,c){var h,f=c.bbox,d=f===void 0?!0:f,v=c.length,g=v===void 0?!0:v,p=c.sampleSize,m=p===void 0?30:p,b=typeof u=="number",x=r,O=e,T=0,S=[x,O,T],k=[x,O],C=0,W={x:0,y:0},U=[{x,y:O}];b&&u<=0&&(W={x,y:O});for(var J=0;J<=m;J+=1){if(C=J/m,h=HA(r,e,t,n,i,a,s,o,l,C),x=h.x,O=h.y,d&&U.push({x,y:O}),g&&(T+=gi(k,[x,O])),k=[x,O],b&&T>=u&&u>S[2]){var te=(T-u)/(T-S[2]);W={x:k[0]*(1-te)+S[0]*te,y:k[1]*(1-te)+S[1]*te}}S=[x,O,T]}return b&&u>=T&&(W={x:o,y:l}),{length:T,point:W,min:{x:Math.min.apply(null,U.map(function(ie){return ie.x})),y:Math.min.apply(null,U.map(function(ie){return ie.y}))},max:{x:Math.max.apply(null,U.map(function(ie){return ie.x})),y:Math.max.apply(null,U.map(function(ie){return ie.y}))}}}function WA(r,e,t,n,i,a,s,o,l){var u=1-l;return{x:Math.pow(u,3)*r+3*Math.pow(u,2)*l*t+3*u*Math.pow(l,2)*i+Math.pow(l,3)*s,y:Math.pow(u,3)*e+3*Math.pow(u,2)*l*n+3*u*Math.pow(l,2)*a+Math.pow(l,3)*o}}function l1(r,e,t,n,i,a,s,o,l,u){var c,h=u.bbox,f=h===void 0?!0:h,d=u.length,v=d===void 0?!0:d,g=u.sampleSize,p=g===void 0?10:g,m=typeof l=="number",b=r,x=e,O=0,T=[b,x,O],S=[b,x],k=0,C={x:0,y:0},W=[{x:b,y:x}];m&&l<=0&&(C={x:b,y:x});for(var U=0;U<=p;U+=1){if(k=U/p,c=WA(r,e,t,n,i,a,s,o,k),b=c.x,x=c.y,f&&W.push({x:b,y:x}),v&&(O+=gi(S,[b,x])),S=[b,x],m&&O>=l&&l>T[2]){var J=(O-l)/(O-T[2]);C={x:S[0]*(1-J)+T[0]*J,y:S[1]*(1-J)+T[1]*J}}T=[b,x,O]}return m&&l>=O&&(C={x:s,y:o}),{length:O,point:C,min:{x:Math.min.apply(null,W.map(function(te){return te.x})),y:Math.min.apply(null,W.map(function(te){return te.y}))},max:{x:Math.max.apply(null,W.map(function(te){return te.x})),y:Math.max.apply(null,W.map(function(te){return te.y}))}}}function VA(r,e,t,n,i,a,s){var o=1-s;return{x:Math.pow(o,2)*r+2*o*s*t+Math.pow(s,2)*i,y:Math.pow(o,2)*e+2*o*s*n+Math.pow(s,2)*a}}function YA(r,e,t,n,i,a,s,o){var l,u=o.bbox,c=u===void 0?!0:u,h=o.length,f=h===void 0?!0:h,d=o.sampleSize,v=d===void 0?10:d,g=typeof s=="number",p=r,m=e,b=0,x=[p,m,b],O=[p,m],T=0,S={x:0,y:0},k=[{x:p,y:m}];g&&s<=0&&(S={x:p,y:m});for(var C=0;C<=v;C+=1){if(T=C/v,l=VA(r,e,t,n,i,a,T),p=l.x,m=l.y,c&&k.push({x:p,y:m}),f&&(b+=gi(O,[p,m])),O=[p,m],g&&b>=s&&s>x[2]){var W=(b-s)/(b-x[2]);S={x:O[0]*(1-W)+x[0]*W,y:O[1]*(1-W)+x[1]*W}}x=[p,m,b]}return g&&s>=b&&(S={x:i,y:a}),{length:b,point:S,min:{x:Math.min.apply(null,k.map(function(U){return U.x})),y:Math.min.apply(null,k.map(function(U){return U.y}))},max:{x:Math.max.apply(null,k.map(function(U){return U.x})),y:Math.max.apply(null,k.map(function(U){return U.y}))}}}function u1(r,e,t){for(var n,i,a,s,o,l,u=fl(r),c=typeof e=="number",h,f=[],d,v=0,g=0,p=0,m=0,b,x=[],O=[],T=0,S={x:0,y:0},k=S,C=S,W=S,U=0,J=0,te=u.length;J<te;J+=1)b=u[J],d=b[0],h=d==="M",f=h?f:[v,g].concat(b.slice(1)),h?(p=b[1],m=b[2],S={x:p,y:m},k=S,T=0,c&&e<.001&&(W=S)):d==="L"?(n=Tg(f[0],f[1],f[2],f[3],(e||0)-U),T=n.length,S=n.min,k=n.max,C=n.point):d==="A"?(i=XA(f[0],f[1],f[2],f[3],f[4],f[5],f[6],f[7],f[8],(e||0)-U,t||{}),T=i.length,S=i.min,k=i.max,C=i.point):d==="C"?(a=l1(f[0],f[1],f[2],f[3],f[4],f[5],f[6],f[7],(e||0)-U,t||{}),T=a.length,S=a.min,k=a.max,C=a.point):d==="Q"?(s=YA(f[0],f[1],f[2],f[3],f[4],f[5],(e||0)-U,t||{}),T=s.length,S=s.min,k=s.max,C=s.point):d==="Z"&&(f=[v,g,p,m],o=Tg(f[0],f[1],f[2],f[3],(e||0)-U),T=o.length,S=o.min,k=o.max,C=o.point),c&&U<e&&U+T>=e&&(W=C),O.push(k),x.push(S),U+=T,l=d!=="Z"?b.slice(-2):[p,m],v=l[0],g=l[1];return c&&e>=U&&(W={x:v,y:g}),{length:U,point:W,min:{x:Math.min.apply(null,x.map(function(ie){return ie.x})),y:Math.min.apply(null,x.map(function(ie){return ie.y}))},max:{x:Math.max.apply(null,O.map(function(ie){return ie.x})),y:Math.max.apply(null,O.map(function(ie){return ie.y}))}}}function c1(r,e){return u1(r,void 0,(0,Y.pi)((0,Y.pi)({},e),{bbox:!1,length:!0})).length}function pi(r){return Array.isArray(r)}var dl=function(r){if(pi(r))return r.reduce(function(e,t){return Math.min(e,t)},r[0])};function vl(r){if(!Array.isArray(r))return-1/0;var e=r.length;if(!e)return-1/0;for(var t=r[0],n=1;n<e;n++)t=Math.max(t,r[n]);return t}var UA=1e-5;function gl(r,e,t){return t===void 0&&(t=UA),r===e||Math.abs(r-e)<t}var ZA=function(r,e){return(r%e+e)%e},oh=ZA;function KA(r,e,t){if(r[t].length>7){r[t].shift();for(var n=r[t],i=t;n.length;)e[t]="A",r.splice(i+=1,0,["C"].concat(n.splice(0,6)));r.splice(t,1)}}function QA(r){return i1(r)&&r.every(function(e){var t=e[0];return"MC".includes(t)})}function lh(r,e,t){var n=r*Math.cos(t)-e*Math.sin(t),i=r*Math.sin(t)+e*Math.cos(t);return{x:n,y:i}}function Ag(r,e,t,n,i,a,s,o,l,u){var c=r,h=e,f=t,d=n,v=o,g=l,p=Math.PI*120/180,m=Math.PI/180*(+i||0),b=[],x,O,T,S,k;if(u)O=u[0],T=u[1],S=u[2],k=u[3];else{x=lh(c,h,-m),c=x.x,h=x.y,x=lh(v,g,-m),v=x.x,g=x.y;var C=(c-v)/2,W=(h-g)/2,U=C*C/(f*f)+W*W/(d*d);U>1&&(U=Math.sqrt(U),f*=U,d*=U);var J=f*f,te=d*d,ie=(a===s?-1:1)*Math.sqrt(Math.abs((J*te-J*W*W-te*C*C)/(J*W*W+te*C*C)));S=ie*f*W/d+(c+v)/2,k=ie*-d*C/f+(h+g)/2,O=Math.asin(((h-k)/d*Math.pow(10,9)>>0)/Math.pow(10,9)),T=Math.asin(((g-k)/d*Math.pow(10,9)>>0)/Math.pow(10,9)),O=c<S?Math.PI-O:O,T=v<S?Math.PI-T:T,O<0&&(O=Math.PI*2+O),T<0&&(T=Math.PI*2+T),s&&O>T&&(O-=Math.PI*2),!s&&T>O&&(T-=Math.PI*2)}var ae=T-O;if(Math.abs(ae)>p){var ve=T,Z=v,H=g;T=O+p*(s&&T>O?1:-1),v=S+f*Math.cos(T),g=k+d*Math.sin(T),b=Ag(v,g,f,d,i,0,s,Z,H,[T,ve,S,k])}ae=T-O;var X=Math.cos(O),q=Math.sin(O),oe=Math.cos(T),de=Math.sin(T),Oe=Math.tan(ae/4),Be=4/3*f*Oe,Ge=4/3*d*Oe,Ve=[c,h],qe=[c+Be*q,h-Ge*X],lt=[v+Be*de,g-Ge*oe],Ct=[v,g];if(qe[0]=2*Ve[0]-qe[0],qe[1]=2*Ve[1]-qe[1],u)return qe.concat(lt,Ct,b);b=qe.concat(lt,Ct,b);for(var Vt=[],qt=0,Nr=b.length;qt<Nr;qt+=1)Vt[qt]=qt%2?lh(b[qt-1],b[qt],m).y:lh(b[qt],b[qt+1],m).x;return Vt}function JA(r,e,t,n,i,a){var s=.3333333333333333,o=2/3;return[s*r+o*t,s*e+o*n,s*i+o*t,s*a+o*n,i,a]}var h1=function(r,e,t,n){var i=.5,a=Ds([r,e],[t,n],i);return(0,Y.ev)((0,Y.ev)([],a,!0),[t,n,t,n],!1)};function qA(r,e){var t=r[0],n=r.slice(1).map(Number),i=n[0],a=n[1],s,o=e.x1,l=e.y1,u=e.x,c=e.y;switch("TQ".includes(t)||(e.qx=null,e.qy=null),t){case"M":return e.x=i,e.y=a,r;case"A":return s=[o,l].concat(n),["C"].concat(Ag(s[0],s[1],s[2],s[3],s[4],s[5],s[6],s[7],s[8],s[9]));case"Q":return e.qx=i,e.qy=a,s=[o,l].concat(n),["C"].concat(JA(s[0],s[1],s[2],s[3],s[4],s[5]));case"L":return["C"].concat(h1(o,l,i,a));case"Z":return o===u&&l===c?["C",o,l,u,c,u,c]:["C"].concat(h1(o,l,u,c));default:}return r}function _u(r,e){if(e===void 0&&(e=!1),QA(r)){var t=[].concat(r);return e?[t,[]]:t}for(var n=fl(r),i=(0,Y.pi)({},a1),a=[],s="",o=n.length,l,u,c=[],h=0;h<o;h+=1){n[h]&&(s=n[h][0]),a[h]=s;var f=qA(n[h],i);n[h]=f,KA(n,a,h),o=n.length,s==="Z"&&c.push(h),l=n[h],u=l.length,i.x1=+l[u-2],i.y1=+l[u-1],i.x2=+l[u-4]||i.x1,i.y2=+l[u-3]||i.y1}return e?[n,c]:n}function $A(r,e){e===void 0&&(e=.5);var t=r.slice(0,2),n=r.slice(2,4),i=r.slice(4,6),a=r.slice(6,8),s=Ds(t,n,e),o=Ds(n,i,e),l=Ds(i,a,e),u=Ds(s,o,e),c=Ds(o,l,e),h=Ds(u,c,e);return[["C"].concat(s,u,h),["C"].concat(c,l,a)]}function f1(r){return r.map(function(e,t,n){var i=t&&n[t-1].slice(-2).concat(e.slice(1)),a=t?l1(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8],{bbox:!1}).length:0,s;return t?s=a?$A(i):[e,e]:s=[e],{s:e,ss:s,l:a}})}function Og(r,e,t){var n=f1(r),i=f1(e),a=n.length,s=i.length,o=n.filter(function(p){return p.l}).length,l=i.filter(function(p){return p.l}).length,u=n.filter(function(p){return p.l}).reduce(function(p,m){var b=m.l;return p+b},0)/o||0,c=i.filter(function(p){return p.l}).reduce(function(p,m){var b=m.l;return p+b},0)/l||0,h=t||Math.max(a,s),f=[u,c],d=[h-a,h-s],v=0,g=[n,i].map(function(p,m){return p.l===h?p.map(function(b){return b.s}):p.map(function(b,x){return v=x&&d[m]&&b.l>=f[m],d[m]-=v?1:0,v?b.ss:[b.s]}).flat()});return g[0].length===g[1].length?g:Og(g[0],g[1],h)}function eO(r,e,t,n,i,a,s,o){return 3*((o-e)*(t+i)-(s-r)*(n+a)+n*(r-i)-t*(e-a)+o*(i+r/3)-s*(a+e/3))/20}function tO(r){var e=0,t=0,n=0;return _u(r).map(function(i){var a;switch(i[0]){case"M":return e=i[1],t=i[2],0;default:var s=i.slice(1),o=s[0],l=s[1],u=s[2],c=s[3],h=s[4],f=s[5];return n=eO(e,t,o,l,u,c,h,f),a=i.slice(-2),e=a[0],t=a[1],n}}).reduce(function(i,a){return i+a},0)}function uh(r){return tO(r)>=0}function d1(r){var e=r.slice(1).map(function(t,n,i){return n?i[n-1].slice(-2).concat(t.slice(1)):r[0].slice(1).concat(t.slice(1))}).map(function(t){return t.map(function(n,i){return t[t.length-i-2*(1-i%2)]})}).reverse();return[["M"].concat(e[0].slice(0,2))].concat(e.map(function(t){return["C"].concat(t.slice(2))}))}function v1(r){return r.map(function(e){return Array.isArray(e)?[].concat(e):e})}function nO(r){var e=r.length,t=e-1;return r.map(function(n,i){return r.map(function(a,s){var o=i+s,l;return s===0||r[o]&&r[o][0]==="M"?(l=r[o],["M"].concat(l.slice(-2))):(o>=e&&(o-=t),r[o])})})}function g1(r,e){var t=r.length-1,n=[],i=0,a=0,s=nO(r);return s.forEach(function(o,l){r.slice(1).forEach(function(u,c){a+=gi(r[(l+c)%t].slice(-2),e[c%t].slice(-2))}),n[l]=a,a=0}),i=n.indexOf(Math.min.apply(null,n)),s[i]}var rO=function(r){return r===void 0},Et=rO,iO={}.toString,aO=function(r,e){return iO.call(r)==="[object "+e+"]"},p1=aO,sO=function(r){return p1(r,"Boolean")},pl=sO;function pt(r){return typeof r=="function"}var nr=function(r){var e=typeof r;return r!==null&&e==="object"||e==="function"};function m1(r,e,t){return u1(r,e,(0,Y.pi)((0,Y.pi)({},t),{bbox:!1,length:!0})).point}function oO(r,e){for(;!{}.hasOwnProperty.call(r,e)&&(r=se(r))!==null;);return r}function kg(){return kg=typeof Reflect!="undefined"&&Reflect.get?Reflect.get.bind():function(r,e,t){var n=oO(r,e);if(n){var i=Object.getOwnPropertyDescriptor(n,e);return i.get?i.get.call(arguments.length<3?r:t):i.value}},kg.apply(null,arguments)}function y1(r,e,t,n){var i=kg(se(1&n?r.prototype:r),e,t);return 2&n&&typeof i=="function"?function(a){return i.apply(t,a)}:i}function Cg(r,e,t){r.prototype=e.prototype=t,t.constructor=r}function b1(r,e){var t=Object.create(r.prototype);for(var n in e)t[n]=e[n];return t}function Ru(){}var Lu=.7,ch=1/Lu,ml="\\s*([+-]?\\d+)\\s*",Du="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Va="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",lO=/^#([0-9a-f]{3,8})$/,uO=new RegExp(`^rgb\\(${ml},${ml},${ml}\\)$`),cO=new RegExp(`^rgb\\(${Va},${Va},${Va}\\)$`),hO=new RegExp(`^rgba\\(${ml},${ml},${ml},${Du}\\)$`),fO=new RegExp(`^rgba\\(${Va},${Va},${Va},${Du}\\)$`),dO=new RegExp(`^hsl\\(${Du},${Va},${Va}\\)$`),vO=new RegExp(`^hsla\\(${Du},${Va},${Va},${Du}\\)$`),x1={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Cg(Ru,hh,{copy(r){return Object.assign(new this.constructor,this,r)},displayable(){return this.rgb().displayable()},hex:E1,formatHex:E1,formatHex8:gO,formatHsl:pO,formatRgb:w1,toString:w1});function E1(){return this.rgb().formatHex()}function gO(){return this.rgb().formatHex8()}function pO(){return A1(this).formatHsl()}function w1(){return this.rgb().formatRgb()}function hh(r){var e,t;return r=(r+"").trim().toLowerCase(),(e=lO.exec(r))?(t=e[1].length,e=parseInt(e[1],16),t===6?P1(e):t===3?new mi(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):t===8?fh(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):t===4?fh(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=uO.exec(r))?new mi(e[1],e[2],e[3],1):(e=cO.exec(r))?new mi(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=hO.exec(r))?fh(e[1],e[2],e[3],e[4]):(e=fO.exec(r))?fh(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=dO.exec(r))?T1(e[1],e[2]/100,e[3]/100,1):(e=vO.exec(r))?T1(e[1],e[2]/100,e[3]/100,e[4]):x1.hasOwnProperty(r)?P1(x1[r]):r==="transparent"?new mi(NaN,NaN,NaN,0):null}function P1(r){return new mi(r>>16&255,r>>8&255,r&255,1)}function fh(r,e,t,n){return n<=0&&(r=e=t=NaN),new mi(r,e,t,n)}function mO(r){return r instanceof Ru||(r=hh(r)),r?(r=r.rgb(),new mi(r.r,r.g,r.b,r.opacity)):new mi}function yO(r,e,t,n){return arguments.length===1?mO(r):new mi(r,e,t,n==null?1:n)}function mi(r,e,t,n){this.r=+r,this.g=+e,this.b=+t,this.opacity=+n}Cg(mi,yO,b1(Ru,{brighter(r){return r=r==null?ch:Math.pow(ch,r),new mi(this.r*r,this.g*r,this.b*r,this.opacity)},darker(r){return r=r==null?Lu:Math.pow(Lu,r),new mi(this.r*r,this.g*r,this.b*r,this.opacity)},rgb(){return this},clamp(){return new mi(xo(this.r),xo(this.g),xo(this.b),dh(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:M1,formatHex:M1,formatHex8:bO,formatRgb:S1,toString:S1}));function M1(){return`#${Eo(this.r)}${Eo(this.g)}${Eo(this.b)}`}function bO(){return`#${Eo(this.r)}${Eo(this.g)}${Eo(this.b)}${Eo((isNaN(this.opacity)?1:this.opacity)*255)}`}function S1(){const r=dh(this.opacity);return`${r===1?"rgb(":"rgba("}${xo(this.r)}, ${xo(this.g)}, ${xo(this.b)}${r===1?")":`, ${r})`}`}function dh(r){return isNaN(r)?1:Math.max(0,Math.min(1,r))}function xo(r){return Math.max(0,Math.min(255,Math.round(r)||0))}function Eo(r){return r=xo(r),(r<16?"0":"")+r.toString(16)}function T1(r,e,t,n){return n<=0?r=e=t=NaN:t<=0||t>=1?r=e=NaN:e<=0&&(r=NaN),new ya(r,e,t,n)}function A1(r){if(r instanceof ya)return new ya(r.h,r.s,r.l,r.opacity);if(r instanceof Ru||(r=hh(r)),!r)return new ya;if(r instanceof ya)return r;r=r.rgb();var e=r.r/255,t=r.g/255,n=r.b/255,i=Math.min(e,t,n),a=Math.max(e,t,n),s=NaN,o=a-i,l=(a+i)/2;return o?(e===a?s=(t-n)/o+(t<n)*6:t===a?s=(n-e)/o+2:s=(e-t)/o+4,o/=l<.5?a+i:2-a-i,s*=60):o=l>0&&l<1?0:s,new ya(s,o,l,r.opacity)}function xO(r,e,t,n){return arguments.length===1?A1(r):new ya(r,e,t,n==null?1:n)}function ya(r,e,t,n){this.h=+r,this.s=+e,this.l=+t,this.opacity=+n}Cg(ya,xO,b1(Ru,{brighter(r){return r=r==null?ch:Math.pow(ch,r),new ya(this.h,this.s,this.l*r,this.opacity)},darker(r){return r=r==null?Lu:Math.pow(Lu,r),new ya(this.h,this.s,this.l*r,this.opacity)},rgb(){var r=this.h%360+(this.h<0)*360,e=isNaN(r)||isNaN(this.s)?0:this.s,t=this.l,n=t+(t<.5?t:1-t)*e,i=2*t-n;return new mi(Ng(r>=240?r-240:r+120,i,n),Ng(r,i,n),Ng(r<120?r+240:r-120,i,n),this.opacity)},clamp(){return new ya(O1(this.h),vh(this.s),vh(this.l),dh(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const r=dh(this.opacity);return`${r===1?"hsl(":"hsla("}${O1(this.h)}, ${vh(this.s)*100}%, ${vh(this.l)*100}%${r===1?")":`, ${r})`}`}}));function O1(r){return r=(r||0)%360,r<0?r+360:r}function vh(r){return Math.max(0,Math.min(1,r||0))}function Ng(r,e,t){return(r<60?e+(t-e)*r/60:r<180?t:r<240?e+(t-e)*(240-r)/60:e)*255}function Vr(r,e,t,n){var i=r-t,a=e-n;return Math.sqrt(i*i+a*a)}function gh(r,e){var t=Math.min.apply(Math,(0,Y.ev)([],(0,Y.CR)(r),!1)),n=Math.min.apply(Math,(0,Y.ev)([],(0,Y.CR)(e),!1)),i=Math.max.apply(Math,(0,Y.ev)([],(0,Y.CR)(r),!1)),a=Math.max.apply(Math,(0,Y.ev)([],(0,Y.CR)(e),!1));return{x:t,y:n,width:i-t,height:a-n}}function k1(r){return(r+Math.PI*2)%(Math.PI*2)}function C1(r,e){var t=Math.abs(r);return e>0?t:t*-1}function EO(r,e,t,n,i,a){var s=t,o=n;if(s===0||o===0)return{x:r,y:e};for(var l=i-r,u=a-e,c=Math.abs(l),h=Math.abs(u),f=s*s,d=o*o,v=Math.PI/4,g=0,p=0,m=0;m<4;m++){g=s*Math.cos(v),p=o*Math.sin(v);var b=(f-d)*Math.pow(Math.cos(v),3)/s,x=(d-f)*Math.pow(Math.sin(v),3)/o,O=g-b,T=p-x,S=c-b,k=h-x,C=Math.hypot(T,O),W=Math.hypot(k,S),U=C*Math.asin((O*k-T*S)/(C*W)),J=U/Math.sqrt(f+d-g*g-p*p);v+=J,v=Math.min(Math.PI/2,Math.max(0,v))}return{x:r+C1(g,l),y:e+C1(p,u)}}function wO(r,e,t,n,i,a,s,o){return-1*t*Math.cos(i)*Math.sin(o)-n*Math.sin(i)*Math.cos(o)}function PO(r,e,t,n,i,a,s,o){return-1*t*Math.sin(i)*Math.sin(o)+n*Math.cos(i)*Math.cos(o)}function MO(r,e,t){return Math.atan(-e/r*Math.tan(t))}function SO(r,e,t){return Math.atan(e/(r*Math.tan(t)))}function TO(r,e,t,n,i,a){return t*Math.cos(i)*Math.cos(a)-n*Math.sin(i)*Math.sin(a)+r}function AO(r,e,t,n,i,a){return t*Math.sin(i)*Math.cos(a)+n*Math.cos(i)*Math.sin(a)+e}function OO(r,e,t,n){var i=Math.atan2(n*r,t*e);return(i+Math.PI*2)%(Math.PI*2)}function N1(r,e,t){return{x:r*Math.cos(t),y:e*Math.sin(t)}}function _1(r,e,t){var n=Math.cos(t),i=Math.sin(t);return[r*n-e*i,r*i+e*n]}function R1(r,e,t,n,i,a,s){for(var o=MO(t,n,i),l=1/0,u=-1/0,c=[a,s],h=-Math.PI*2;h<=Math.PI*2;h+=Math.PI){var f=o+h;a<s?a<f&&f<s&&c.push(f):s<f&&f<a&&c.push(f)}for(var h=0;h<c.length;h++){var d=TO(r,e,t,n,i,c[h]);d<l&&(l=d),d>u&&(u=d)}for(var v=SO(t,n,i),g=1/0,p=-1/0,m=[a,s],h=-Math.PI*2;h<=Math.PI*2;h+=Math.PI){var b=v+h;a<s?a<b&&b<s&&m.push(b):s<b&&b<a&&m.push(b)}for(var h=0;h<m.length;h++){var x=AO(r,e,t,n,i,m[h]);x<g&&(g=x),x>p&&(p=x)}return{x:l,y:g,width:u-l,height:p-g}}function qY(r,e,t,n,i,a,s,o,l){var u=_1(o-r,l-e,-i),c=__read(u,2),h=c[0],f=c[1],d=EO(0,0,t,n,h,f),v=OO(t,n,d.x,d.y);v<a?d=N1(t,n,a):v>s&&(d=N1(t,n,s));var g=_1(d.x,d.y,i);return{x:g[0]+r,y:g[1]+e}}function $Y(r,e,t,n,i,a,s,o){var l=(s-a)*o+a,u=wO(r,e,t,n,i,a,s,l),c=PO(r,e,t,n,i,a,s,l);return k1(Math.atan2(c,u))}var kO=1e-4;function L1(r,e,t,n,i,a){var s=-1,o=1/0,l=[t,n],u=20;a&&a>200&&(u=a/10);for(var c=1/u,h=c/10,f=0;f<=u;f++){var d=f*c,v=[i.apply(void 0,(0,Y.ev)([],(0,Y.CR)(r.concat([d])),!1)),i.apply(void 0,(0,Y.ev)([],(0,Y.CR)(e.concat([d])),!1))],g=Vr(l[0],l[1],v[0],v[1]);g<o&&(s=d,o=g)}if(s===0)return{x:r[0],y:e[0]};if(s===1){var p=r.length;return{x:r[p-1],y:e[p-1]}}o=1/0;for(var f=0;f<32&&!(h<kO);f++){var m=s-h,b=s+h,v=[i.apply(void 0,(0,Y.ev)([],(0,Y.CR)(r.concat([m])),!1)),i.apply(void 0,(0,Y.ev)([],(0,Y.CR)(e.concat([m])),!1))],g=Vr(l[0],l[1],v[0],v[1]);if(m>=0&&g<o)s=m,o=g;else{var x=[i.apply(void 0,(0,Y.ev)([],(0,Y.CR)(r.concat([b])),!1)),i.apply(void 0,(0,Y.ev)([],(0,Y.CR)(e.concat([b])),!1))],O=Vr(l[0],l[1],x[0],x[1]);b<=1&&O<o?(s=b,o=O):h*=.5}}return{x:i.apply(void 0,(0,Y.ev)([],(0,Y.CR)(r.concat([s])),!1)),y:i.apply(void 0,(0,Y.ev)([],(0,Y.CR)(e.concat([s])),!1))}}function CO(r,e){for(var t=0,n=r.length,i=0;i<n;i++){var a=r[i],s=e[i],o=r[(i+1)%n],l=e[(i+1)%n];t+=Vr(a,s,o,l)}return t/2}function eU(r,e,t,n){return gh([r,t],[e,n])}function ph(r,e,t,n){return Vr(r,e,t,n)}function Ui(r,e,t,n,i){return{x:(1-i)*r+i*t,y:(1-i)*e+i*n}}function NO(r,e,t,n,i,a){var s=(t-r)*(i-r)+(n-e)*(a-e);if(s<0)return Vr(r,e,i,a);var o=(t-r)*(t-r)+(n-e)*(n-e);return s>o?Vr(t,n,i,a):D1(r,e,t,n,i,a)}function D1(r,e,t,n,i,a){var s=[t-r,n-e];if(kA(s,[0,0]))return Math.sqrt((i-r)*(i-r)+(a-e)*(a-e));var o=[-s[1],s[0]];AA(o,o);var l=[i-r,a-e];return Math.abs(OA(l,o))}function tU(r,e,t,n){return Math.atan2(n-e,t-r)}function wo(r,e,t,n,i){var a=1-i;return a*a*a*r+3*e*i*a*a+3*t*i*i*a+n*i*i*i}function I1(r,e,t,n,i){var a=1-i;return 3*(a*a*(e-r)+2*a*i*(t-e)+i*i*(n-t))}function B1(r,e,t,n){var i=-3*r+9*e-9*t+3*n,a=6*r-12*e+6*t,s=3*e-3*r,o=[],l,u,c;if(gl(i,0))gl(a,0)||(l=-s/a,l>=0&&l<=1&&o.push(l));else{var h=a*a-4*i*s;gl(h,0)?o.push(-a/(2*i)):h>0&&(c=Math.sqrt(h),l=(-a+c)/(2*i),u=(-a-c)/(2*i),l>=0&&l<=1&&o.push(l),u>=0&&u<=1&&o.push(u))}return o}function _O(r,e,t,n,i,a,s,o,l){var u=wo(r,t,i,s,l),c=wo(e,n,a,o,l),h=Ui(r,e,t,n,l),f=Ui(t,n,i,a,l),d=Ui(i,a,s,o,l),v=Ui(h.x,h.y,f.x,f.y,l),g=Ui(f.x,f.y,d.x,d.y,l);return[[r,e,h.x,h.y,v.x,v.y,u,c],[u,c,g.x,g.y,d.x,d.y,s,o]]}function _g(r,e,t,n,i,a,s,o,l){if(l===0)return CO([r,t,i,s],[e,n,a,o]);var u=_O(r,e,t,n,i,a,s,o,.5),c=__spreadArray(__spreadArray([],__read(u[0]),!1),[l-1],!1),h=__spreadArray(__spreadArray([],__read(u[1]),!1),[l-1],!1);return _g.apply(void 0,__spreadArray([],__read(c),!1))+_g.apply(void 0,__spreadArray([],__read(h),!1))}function z1(r,e,t,n,i,a,s,o){for(var l=[r,s],u=[e,o],c=B1(r,t,i,s),h=B1(e,n,a,o),f=0;f<c.length;f++)l.push(wo(r,t,i,s,c[f]));for(var f=0;f<h.length;f++)u.push(wo(e,n,a,o,h[f]));return gh(l,u)}function nU(r,e,t,n,i,a,s,o){return _g(r,e,t,n,i,a,s,o,3)}function RO(r,e,t,n,i,a,s,o,l,u,c){return L1([r,t,i,s],[e,n,a,o],l,u,wo,c)}function F1(r,e,t,n,i,a,s,o,l,u,c){var h=RO(r,e,t,n,i,a,s,o,l,u,c);return Vr(h.x,h.y,l,u)}function rU(r,e,t,n,i,a,s,o,l){return{x:wo(r,t,i,s,l),y:wo(e,n,a,o,l)}}function iU(r,e,t,n,i,a,s,o,l){var u=I1(r,t,i,s,l),c=I1(e,n,a,o,l);return k1(Math.atan2(c,u))}function j1(r){for(var e=0,t=[],n=0;n<r.length-1;n++){var i=r[n],a=r[n+1],s=Vr(i[0],i[1],a[0],a[1]),o={from:i,to:a,length:s};t.push(o),e+=s}return{segments:t,totalLength:e}}function G1(r){if(r.length<2)return 0;for(var e=0,t=0;t<r.length-1;t++){var n=r[t],i=r[t+1];e+=Vr(n[0],n[1],i[0],i[1])}return e}function H1(r,e){if(e>1||e<0||r.length<2)return null;var t=j1(r),n=t.segments,i=t.totalLength;if(i===0)return{x:r[0][0],y:r[0][1]};for(var a=0,s=null,o=0;o<n.length;o++){var l=n[o],u=l.from,c=l.to,h=l.length/i;if(e>=a&&e<=a+h){var f=(e-a)/h;s=Ui(u[0],u[1],c[0],c[1],f);break}a+=h}return s}function X1(r,e){if(e>1||e<0||r.length<2)return 0;for(var t=j1(r),n=t.segments,i=t.totalLength,a=0,s=0,o=0;o<n.length;o++){var l=n[o],u=l.from,c=l.to,h=l.length/i;if(e>=a&&e<=a+h){s=Math.atan2(c[1]-u[1],c[0]-u[0]);break}a+=h}return s}function W1(r,e,t){for(var n=1/0,i=0;i<r.length-1;i++){var a=r[i],s=r[i+1],o=NO(a[0],a[1],s[0],s[1],e,t);o<n&&(n=o)}return n}function LO(r){for(var e=[],t=[],n=0;n<r.length;n++){var i=r[n];e.push(i[0]),t.push(i[1])}return gh(e,t)}function V1(r){return G1(r)}function aU(r,e){return H1(r,e)}function sU(r,e,t){return W1(r,e,t)}function oU(r,e){return X1(r,e)}function mh(r){var e=r.slice(0);return r.length&&e.push(r[0]),e}function lU(r){return LO(r)}function uU(r){return G1(mh(r))}function cU(r,e){return H1(mh(r),e)}function hU(r,e,t){return W1(mh(r),e,t)}function fU(r,e){return X1(mh(r),e)}function Iu(r,e,t,n){var i=1-n;return i*i*r+2*n*i*e+n*n*t}function Y1(r,e,t){var n=r+t-2*e;if(gl(n,0))return[.5];var i=(r-e)/n;return i<=1&&i>=0?[i]:[]}function DO(r,e,t,n,i,a,s){var o=Iu(r,t,i,s),l=Iu(e,n,a,s),u=Ui(r,e,t,n,s),c=Ui(t,n,i,a,s);return[[r,e,u.x,u.y,o,l],[o,l,c.x,c.y,i,a]]}function Rg(r,e,t,n,i,a,s){if(s===0)return(Vr(r,e,t,n)+Vr(t,n,i,a)+Vr(r,e,i,a))/2;var o=DO(r,e,t,n,i,a,.5),l=o[0],u=o[1];return l.push(s-1),u.push(s-1),Rg.apply(void 0,__spreadArray([],__read(l),!1))+Rg.apply(void 0,__spreadArray([],__read(u),!1))}function U1(r,e,t,n,i,a){var s=Y1(r,t,i)[0],o=Y1(e,n,a)[0],l=[r,i],u=[e,a];return s!==void 0&&l.push(Iu(r,t,i,s)),o!==void 0&&u.push(Iu(e,n,a,o)),gh(l,u)}function dU(r,e,t,n,i,a){return Rg(r,e,t,n,i,a,3)}function IO(r,e,t,n,i,a,s,o){return L1([r,t,i],[e,n,a],s,o,Iu)}function BO(r,e,t,n,i,a,s,o){var l=IO(r,e,t,n,i,a,s,o);return Vr(l.x,l.y,s,o)}function Po(){"use strict";Po=function(){return e};var r,e={},t=Object.prototype,n=t.hasOwnProperty,i=Object.defineProperty||function(Z,H,X){Z[H]=X.value},a=typeof Symbol=="function"?Symbol:{},s=a.iterator||"@@iterator",o=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function u(Z,H,X){return Object.defineProperty(Z,H,{value:X,enumerable:!0,configurable:!0,writable:!0}),Z[H]}try{u({},"")}catch(Z){u=function(X,q,oe){return X[q]=oe}}function c(Z,H,X,q){var oe=H&&H.prototype instanceof m?H:m,de=Object.create(oe.prototype),Oe=new ae(q||[]);return i(de,"_invoke",{value:U(Z,X,Oe)}),de}function h(Z,H,X){try{return{type:"normal",arg:Z.call(H,X)}}catch(q){return{type:"throw",arg:q}}}e.wrap=c;var f="suspendedStart",d="suspendedYield",v="executing",g="completed",p={};function m(){}function b(){}function x(){}var O={};u(O,s,function(){return this});var T=Object.getPrototypeOf,S=T&&T(T(ve([])));S&&S!==t&&n.call(S,s)&&(O=S);var k=x.prototype=m.prototype=Object.create(O);function C(Z){["next","throw","return"].forEach(function(H){u(Z,H,function(X){return this._invoke(H,X)})})}function W(Z,H){function X(oe,de,Oe,Be){var Ge=h(Z[oe],Z,de);if(Ge.type!=="throw"){var Ve=Ge.arg,qe=Ve.value;return qe&&z(qe)=="object"&&n.call(qe,"__await")?H.resolve(qe.__await).then(function(lt){X("next",lt,Oe,Be)},function(lt){X("throw",lt,Oe,Be)}):H.resolve(qe).then(function(lt){Ve.value=lt,Oe(Ve)},function(lt){return X("throw",lt,Oe,Be)})}Be(Ge.arg)}var q;i(this,"_invoke",{value:function(de,Oe){function Be(){return new H(function(Ge,Ve){X(de,Oe,Ge,Ve)})}return q=q?q.then(Be,Be):Be()}})}function U(Z,H,X){var q=f;return function(oe,de){if(q===v)throw Error("Generator is already running");if(q===g){if(oe==="throw")throw de;return{value:r,done:!0}}for(X.method=oe,X.arg=de;;){var Oe=X.delegate;if(Oe){var Be=J(Oe,X);if(Be){if(Be===p)continue;return Be}}if(X.method==="next")X.sent=X._sent=X.arg;else if(X.method==="throw"){if(q===f)throw q=g,X.arg;X.dispatchException(X.arg)}else X.method==="return"&&X.abrupt("return",X.arg);q=v;var Ge=h(Z,H,X);if(Ge.type==="normal"){if(q=X.done?g:d,Ge.arg===p)continue;return{value:Ge.arg,done:X.done}}Ge.type==="throw"&&(q=g,X.method="throw",X.arg=Ge.arg)}}}function J(Z,H){var X=H.method,q=Z.iterator[X];if(q===r)return H.delegate=null,X==="throw"&&Z.iterator.return&&(H.method="return",H.arg=r,J(Z,H),H.method==="throw")||X!=="return"&&(H.method="throw",H.arg=new TypeError("The iterator does not provide a '"+X+"' method")),p;var oe=h(q,Z.iterator,H.arg);if(oe.type==="throw")return H.method="throw",H.arg=oe.arg,H.delegate=null,p;var de=oe.arg;return de?de.done?(H[Z.resultName]=de.value,H.next=Z.nextLoc,H.method!=="return"&&(H.method="next",H.arg=r),H.delegate=null,p):de:(H.method="throw",H.arg=new TypeError("iterator result is not an object"),H.delegate=null,p)}function te(Z){var H={tryLoc:Z[0]};1 in Z&&(H.catchLoc=Z[1]),2 in Z&&(H.finallyLoc=Z[2],H.afterLoc=Z[3]),this.tryEntries.push(H)}function ie(Z){var H=Z.completion||{};H.type="normal",delete H.arg,Z.completion=H}function ae(Z){this.tryEntries=[{tryLoc:"root"}],Z.forEach(te,this),this.reset(!0)}function ve(Z){if(Z||Z===""){var H=Z[s];if(H)return H.call(Z);if(typeof Z.next=="function")return Z;if(!isNaN(Z.length)){var X=-1,q=function oe(){for(;++X<Z.length;)if(n.call(Z,X))return oe.value=Z[X],oe.done=!1,oe;return oe.value=r,oe.done=!0,oe};return q.next=q}}throw new TypeError(z(Z)+" is not iterable")}return b.prototype=x,i(k,"constructor",{value:x,configurable:!0}),i(x,"constructor",{value:b,configurable:!0}),b.displayName=u(x,l,"GeneratorFunction"),e.isGeneratorFunction=function(Z){var H=typeof Z=="function"&&Z.constructor;return!!H&&(H===b||(H.displayName||H.name)==="GeneratorFunction")},e.mark=function(Z){return Object.setPrototypeOf?Object.setPrototypeOf(Z,x):(Z.__proto__=x,u(Z,l,"GeneratorFunction")),Z.prototype=Object.create(k),Z},e.awrap=function(Z){return{__await:Z}},C(W.prototype),u(W.prototype,o,function(){return this}),e.AsyncIterator=W,e.async=function(Z,H,X,q,oe){oe===void 0&&(oe=Promise);var de=new W(c(Z,H,X,q),oe);return e.isGeneratorFunction(H)?de:de.next().then(function(Oe){return Oe.done?Oe.value:de.next()})},C(k),u(k,l,"Generator"),u(k,s,function(){return this}),u(k,"toString",function(){return"[object Generator]"}),e.keys=function(Z){var H=Object(Z),X=[];for(var q in H)X.push(q);return X.reverse(),function oe(){for(;X.length;){var de=X.pop();if(de in H)return oe.value=de,oe.done=!1,oe}return oe.done=!0,oe}},e.values=ve,ae.prototype={constructor:ae,reset:function(H){if(this.prev=0,this.next=0,this.sent=this._sent=r,this.done=!1,this.delegate=null,this.method="next",this.arg=r,this.tryEntries.forEach(ie),!H)for(var X in this)X.charAt(0)==="t"&&n.call(this,X)&&!isNaN(+X.slice(1))&&(this[X]=r)},stop:function(){this.done=!0;var H=this.tryEntries[0].completion;if(H.type==="throw")throw H.arg;return this.rval},dispatchException:function(H){if(this.done)throw H;var X=this;function q(Ve,qe){return Oe.type="throw",Oe.arg=H,X.next=Ve,qe&&(X.method="next",X.arg=r),!!qe}for(var oe=this.tryEntries.length-1;oe>=0;--oe){var de=this.tryEntries[oe],Oe=de.completion;if(de.tryLoc==="root")return q("end");if(de.tryLoc<=this.prev){var Be=n.call(de,"catchLoc"),Ge=n.call(de,"finallyLoc");if(Be&&Ge){if(this.prev<de.catchLoc)return q(de.catchLoc,!0);if(this.prev<de.finallyLoc)return q(de.finallyLoc)}else if(Be){if(this.prev<de.catchLoc)return q(de.catchLoc,!0)}else{if(!Ge)throw Error("try statement without catch or finally");if(this.prev<de.finallyLoc)return q(de.finallyLoc)}}}},abrupt:function(H,X){for(var q=this.tryEntries.length-1;q>=0;--q){var oe=this.tryEntries[q];if(oe.tryLoc<=this.prev&&n.call(oe,"finallyLoc")&&this.prev<oe.finallyLoc){var de=oe;break}}de&&(H==="break"||H==="continue")&&de.tryLoc<=X&&X<=de.finallyLoc&&(de=null);var Oe=de?de.completion:{};return Oe.type=H,Oe.arg=X,de?(this.method="next",this.next=de.finallyLoc,p):this.complete(Oe)},complete:function(H,X){if(H.type==="throw")throw H.arg;return H.type==="break"||H.type==="continue"?this.next=H.arg:H.type==="return"?(this.rval=this.arg=H.arg,this.method="return",this.next="end"):H.type==="normal"&&X&&(this.next=X),p},finish:function(H){for(var X=this.tryEntries.length-1;X>=0;--X){var q=this.tryEntries[X];if(q.finallyLoc===H)return this.complete(q.completion,q.afterLoc),ie(q),p}},catch:function(H){for(var X=this.tryEntries.length-1;X>=0;--X){var q=this.tryEntries[X];if(q.tryLoc===H){var oe=q.completion;if(oe.type==="throw"){var de=oe.arg;ie(q)}return de}}throw Error("illegal catch attempt")},delegateYield:function(H,X,q){return this.delegate={iterator:ve(H),resultName:X,nextLoc:q},this.method==="next"&&(this.arg=r),p}},e}function Z1(r,e,t,n,i,a,s){try{var o=r[a](s),l=o.value}catch(u){return void t(u)}o.done?e(l):Promise.resolve(l).then(n,i)}function Lg(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function s(l){Z1(a,n,i,s,o,"next",l)}function o(l){Z1(a,n,i,s,o,"throw",l)}s(void 0)})}}function yl(r,e){var t=typeof Symbol!="undefined"&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=fe(r))||e&&r&&typeof r.length=="number"){t&&(r=t);var n=0,i=function(){};return{s:i,n:function(){return n>=r.length?{done:!0}:{done:!1,value:r[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,s=!0,o=!1;return{s:function(){t=t.call(r)},n:function(){var u=t.next();return s=u.done,u},e:function(u){o=!0,a=u},f:function(){try{s||t.return==null||t.return()}finally{if(o)throw a}}}}function zO(r,e){if(r==null)return{};var t={};for(var n in r)if({}.hasOwnProperty.call(r,n)){if(e.includes(n))continue;t[n]=r[n]}return t}function Mo(r,e){if(r==null)return{};var t,n,i=zO(r,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(r);for(n=0;n<a.length;n++)t=a[n],e.includes(t)||{}.propertyIsEnumerable.call(r,t)&&(i[t]=r[t])}return i}var FO=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof w.g!="undefined"?w.g:typeof self!="undefined"?self:{},K1={exports:{}};(function(r,e){(function(t,n){r.exports=n()})(FO,function(){function t(T,S,k,C,W){n(T,S,k||0,C||T.length-1,W||a)}function n(T,S,k,C,W){for(;C>k;){if(C-k>600){var U=C-k+1,J=S-k+1,te=Math.log(U),ie=.5*Math.exp(2*te/3),ae=.5*Math.sqrt(te*ie*(U-ie)/U)*(J-U/2<0?-1:1),ve=Math.max(k,Math.floor(S-J*ie/U+ae)),Z=Math.min(C,Math.floor(S+(U-J)*ie/U+ae));n(T,S,ve,Z,W)}var H=T[S],X=k,q=C;for(i(T,k,S),W(T[C],H)>0&&i(T,k,C);X<q;){for(i(T,X,q),X++,q--;W(T[X],H)<0;)X++;for(;W(T[q],H)>0;)q--}W(T[k],H)===0?i(T,k,q):(q++,i(T,q,C)),q<=S&&(k=q+1),S<=q&&(C=q-1)}}function i(T,S,k){var C=T[S];T[S]=T[k],T[k]=C}function a(T,S){return T<S?-1:T>S?1:0}var s=function(S){S===void 0&&(S=9),this._maxEntries=Math.max(4,S),this._minEntries=Math.max(2,Math.ceil(this._maxEntries*.4)),this.clear()};s.prototype.all=function(){return this._all(this.data,[])},s.prototype.search=function(S){var k=this.data,C=[];if(!b(S,k))return C;for(var W=this.toBBox,U=[];k;){for(var J=0;J<k.children.length;J++){var te=k.children[J],ie=k.leaf?W(te):te;b(S,ie)&&(k.leaf?C.push(te):m(S,ie)?this._all(te,C):U.push(te))}k=U.pop()}return C},s.prototype.collides=function(S){var k=this.data;if(!b(S,k))return!1;for(var C=[];k;){for(var W=0;W<k.children.length;W++){var U=k.children[W],J=k.leaf?this.toBBox(U):U;if(b(S,J)){if(k.leaf||m(S,J))return!0;C.push(U)}}k=C.pop()}return!1},s.prototype.load=function(S){if(!(S&&S.length))return this;if(S.length<this._minEntries){for(var k=0;k<S.length;k++)this.insert(S[k]);return this}var C=this._build(S.slice(),0,S.length-1,0);if(!this.data.children.length)this.data=C;else if(this.data.height===C.height)this._splitRoot(this.data,C);else{if(this.data.height<C.height){var W=this.data;this.data=C,C=W}this._insert(C,this.data.height-C.height-1,!0)}return this},s.prototype.insert=function(S){return S&&this._insert(S,this.data.height-1),this},s.prototype.clear=function(){return this.data=x([]),this},s.prototype.remove=function(S,k){if(!S)return this;for(var C=this.data,W=this.toBBox(S),U=[],J=[],te,ie,ae;C||U.length;){if(C||(C=U.pop(),ie=U[U.length-1],te=J.pop(),ae=!0),C.leaf){var ve=o(S,C.children,k);if(ve!==-1)return C.children.splice(ve,1),U.push(C),this._condense(U),this}!ae&&!C.leaf&&m(C,W)?(U.push(C),J.push(te),te=0,ie=C,C=C.children[0]):ie?(te++,C=ie.children[te],ae=!1):C=null}return this},s.prototype.toBBox=function(S){return S},s.prototype.compareMinX=function(S,k){return S.minX-k.minX},s.prototype.compareMinY=function(S,k){return S.minY-k.minY},s.prototype.toJSON=function(){return this.data},s.prototype.fromJSON=function(S){return this.data=S,this},s.prototype._all=function(S,k){for(var C=[];S;)S.leaf?k.push.apply(k,S.children):C.push.apply(C,S.children),S=C.pop();return k},s.prototype._build=function(S,k,C,W){var U=C-k+1,J=this._maxEntries,te;if(U<=J)return te=x(S.slice(k,C+1)),l(te,this.toBBox),te;W||(W=Math.ceil(Math.log(U)/Math.log(J)),J=Math.ceil(U/Math.pow(J,W-1))),te=x([]),te.leaf=!1,te.height=W;var ie=Math.ceil(U/J),ae=ie*Math.ceil(Math.sqrt(J));O(S,k,C,ae,this.compareMinX);for(var ve=k;ve<=C;ve+=ae){var Z=Math.min(ve+ae-1,C);O(S,ve,Z,ie,this.compareMinY);for(var H=ve;H<=Z;H+=ie){var X=Math.min(H+ie-1,Z);te.children.push(this._build(S,H,X,W-1))}}return l(te,this.toBBox),te},s.prototype._chooseSubtree=function(S,k,C,W){for(;W.push(k),!(k.leaf||W.length-1===C);){for(var U=1/0,J=1/0,te=void 0,ie=0;ie<k.children.length;ie++){var ae=k.children[ie],ve=d(ae),Z=g(S,ae)-ve;Z<J?(J=Z,U=ve<U?ve:U,te=ae):Z===J&&ve<U&&(U=ve,te=ae)}k=te||k.children[0]}return k},s.prototype._insert=function(S,k,C){var W=C?S:this.toBBox(S),U=[],J=this._chooseSubtree(W,this.data,k,U);for(J.children.push(S),c(J,W);k>=0&&U[k].children.length>this._maxEntries;)this._split(U,k),k--;this._adjustParentBBoxes(W,U,k)},s.prototype._split=function(S,k){var C=S[k],W=C.children.length,U=this._minEntries;this._chooseSplitAxis(C,U,W);var J=this._chooseSplitIndex(C,U,W),te=x(C.children.splice(J,C.children.length-J));te.height=C.height,te.leaf=C.leaf,l(C,this.toBBox),l(te,this.toBBox),k?S[k-1].children.push(te):this._splitRoot(C,te)},s.prototype._splitRoot=function(S,k){this.data=x([S,k]),this.data.height=S.height+1,this.data.leaf=!1,l(this.data,this.toBBox)},s.prototype._chooseSplitIndex=function(S,k,C){for(var W,U=1/0,J=1/0,te=k;te<=C-k;te++){var ie=u(S,0,te,this.toBBox),ae=u(S,te,C,this.toBBox),ve=p(ie,ae),Z=d(ie)+d(ae);ve<U?(U=ve,W=te,J=Z<J?Z:J):ve===U&&Z<J&&(J=Z,W=te)}return W||C-k},s.prototype._chooseSplitAxis=function(S,k,C){var W=S.leaf?this.compareMinX:h,U=S.leaf?this.compareMinY:f,J=this._allDistMargin(S,k,C,W),te=this._allDistMargin(S,k,C,U);J<te&&S.children.sort(W)},s.prototype._allDistMargin=function(S,k,C,W){S.children.sort(W);for(var U=this.toBBox,J=u(S,0,k,U),te=u(S,C-k,C,U),ie=v(J)+v(te),ae=k;ae<C-k;ae++){var ve=S.children[ae];c(J,S.leaf?U(ve):ve),ie+=v(J)}for(var Z=C-k-1;Z>=k;Z--){var H=S.children[Z];c(te,S.leaf?U(H):H),ie+=v(te)}return ie},s.prototype._adjustParentBBoxes=function(S,k,C){for(var W=C;W>=0;W--)c(k[W],S)},s.prototype._condense=function(S){for(var k=S.length-1,C=void 0;k>=0;k--)S[k].children.length===0?k>0?(C=S[k-1].children,C.splice(C.indexOf(S[k]),1)):this.clear():l(S[k],this.toBBox)};function o(T,S,k){if(!k)return S.indexOf(T);for(var C=0;C<S.length;C++)if(k(T,S[C]))return C;return-1}function l(T,S){u(T,0,T.children.length,S,T)}function u(T,S,k,C,W){W||(W=x(null)),W.minX=1/0,W.minY=1/0,W.maxX=-1/0,W.maxY=-1/0;for(var U=S;U<k;U++){var J=T.children[U];c(W,T.leaf?C(J):J)}return W}function c(T,S){return T.minX=Math.min(T.minX,S.minX),T.minY=Math.min(T.minY,S.minY),T.maxX=Math.max(T.maxX,S.maxX),T.maxY=Math.max(T.maxY,S.maxY),T}function h(T,S){return T.minX-S.minX}function f(T,S){return T.minY-S.minY}function d(T){return(T.maxX-T.minX)*(T.maxY-T.minY)}function v(T){return T.maxX-T.minX+(T.maxY-T.minY)}function g(T,S){return(Math.max(S.maxX,T.maxX)-Math.min(S.minX,T.minX))*(Math.max(S.maxY,T.maxY)-Math.min(S.minY,T.minY))}function p(T,S){var k=Math.max(T.minX,S.minX),C=Math.max(T.minY,S.minY),W=Math.min(T.maxX,S.maxX),U=Math.min(T.maxY,S.maxY);return Math.max(0,W-k)*Math.max(0,U-C)}function m(T,S){return T.minX<=S.minX&&T.minY<=S.minY&&S.maxX<=T.maxX&&S.maxY<=T.maxY}function b(T,S){return S.minX<=T.maxX&&S.minY<=T.maxY&&S.maxX>=T.minX&&S.maxY>=T.minY}function x(T){return{children:T,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function O(T,S,k,C,W){for(var U=[S,k];U.length;)if(k=U.pop(),S=U.pop(),!(k-S<=C)){var J=S+Math.ceil((k-S)/C/2)*C;t(T,J,S,k,W),U.push(S,J,J,k)}}return s})})(K1);var jO=K1.exports,je=function(r){return r.GROUP="g",r.FRAGMENT="fragment",r.CIRCLE="circle",r.ELLIPSE="ellipse",r.IMAGE="image",r.RECT="rect",r.LINE="line",r.POLYLINE="polyline",r.POLYGON="polygon",r.TEXT="text",r.PATH="path",r.HTML="html",r.MESH="mesh",r}({}),yh=function(r){return r[r.ZERO=0]="ZERO",r[r.NEGATIVE_ONE=1]="NEGATIVE_ONE",r}({}),Is=function(){function r(){_(this,r),this.plugins=[]}return N(r,[{key:"addRenderingPlugin",value:function(t){this.plugins.push(t),this.context.renderingPlugins.push(t)}},{key:"removeAllRenderingPlugins",value:function(){var t=this;this.plugins.forEach(function(n){var i=t.context.renderingPlugins.indexOf(n);i>=0&&t.context.renderingPlugins.splice(i,1)})}}])}(),GO=function(){function r(e){_(this,r),this.clipSpaceNearZ=yh.NEGATIVE_ONE,this.plugins=[],this.config=D({enableDirtyCheck:!0,enableCulling:!1,enableAutoRendering:!0,enableDirtyRectangleRendering:!0,enableDirtyRectangleRenderingDebug:!1,enableSizeAttenuation:!0,enableRenderingOptimization:!1},e)}return N(r,[{key:"registerPlugin",value:function(t){var n=this.plugins.findIndex(function(i){return i===t});n===-1&&this.plugins.push(t)}},{key:"unregisterPlugin",value:function(t){var n=this.plugins.findIndex(function(i){return i===t});n>-1&&this.plugins.splice(n,1)}},{key:"getPlugins",value:function(){return this.plugins}},{key:"getPlugin",value:function(t){return this.plugins.find(function(n){return n.name===t})}},{key:"getConfig",value:function(){return this.config}},{key:"setConfig",value:function(t){Object.assign(this.config,t)}}])}(),Dg=He,bl=Te,HO=Dt,XO=jn,Q1=wt,Ig=th,Rn=function(){function r(){_(this,r),this.center=[0,0,0],this.halfExtents=[0,0,0],this.min=[0,0,0],this.max=[0,0,0]}return N(r,[{key:"update",value:function(t,n){bl(this.center,t),bl(this.halfExtents,n),Ig(this.min,this.center,this.halfExtents),Dg(this.max,this.center,this.halfExtents)}},{key:"setMinMax",value:function(t,n){Dg(this.center,n,t),Q1(this.center,this.center,.5),Ig(this.halfExtents,n,t),Q1(this.halfExtents,this.halfExtents,.5),bl(this.min,t),bl(this.max,n)}},{key:"getMin",value:function(){return this.min}},{key:"getMax",value:function(){return this.max}},{key:"add",value:function(t){if(!r.isEmpty(t)){if(r.isEmpty(this)){this.setMinMax(t.getMin(),t.getMax());return}var n=this.center,i=n[0],a=n[1],s=n[2],o=this.halfExtents,l=o[0],u=o[1],c=o[2],h=i-l,f=i+l,d=a-u,v=a+u,g=s-c,p=s+c,m=t.center,b=m[0],x=m[1],O=m[2],T=t.halfExtents,S=T[0],k=T[1],C=T[2],W=b-S,U=b+S,J=x-k,te=x+k,ie=O-C,ae=O+C;W<h&&(h=W),U>f&&(f=U),J<d&&(d=J),te>v&&(v=te),ie<g&&(g=ie),ae>p&&(p=ae),n[0]=(h+f)*.5,n[1]=(d+v)*.5,n[2]=(g+p)*.5,o[0]=(f-h)*.5,o[1]=(v-d)*.5,o[2]=(p-g)*.5,this.min[0]=h,this.min[1]=d,this.min[2]=g,this.max[0]=f,this.max[1]=v,this.max[2]=p}}},{key:"setFromTransformedAABB",value:function(t,n){var i=this.center,a=this.halfExtents,s=t.center,o=t.halfExtents,l=n[0],u=n[4],c=n[8],h=n[1],f=n[5],d=n[9],v=n[2],g=n[6],p=n[10],m=Math.abs(l),b=Math.abs(u),x=Math.abs(c),O=Math.abs(h),T=Math.abs(f),S=Math.abs(d),k=Math.abs(v),C=Math.abs(g),W=Math.abs(p);i[0]=n[12]+l*s[0]+u*s[1]+c*s[2],i[1]=n[13]+h*s[0]+f*s[1]+d*s[2],i[2]=n[14]+v*s[0]+g*s[1]+p*s[2],a[0]=m*o[0]+b*o[1]+x*o[2],a[1]=O*o[0]+T*o[1]+S*o[2],a[2]=k*o[0]+C*o[1]+W*o[2],Ig(this.min,i,a),Dg(this.max,i,a)}},{key:"intersects",value:function(t){var n=this.getMax(),i=this.getMin(),a=t.getMax(),s=t.getMin();return i[0]<=a[0]&&n[0]>=s[0]&&i[1]<=a[1]&&n[1]>=s[1]&&i[2]<=a[2]&&n[2]>=s[2]}},{key:"intersection",value:function(t){if(!this.intersects(t))return null;var n=new r,i=HO([0,0,0],this.getMin(),t.getMin()),a=XO([0,0,0],this.getMax(),t.getMax());return n.setMinMax(i,a),n}},{key:"getNegativeFarPoint",value:function(t){return t.pnVertexFlag===273?bl([0,0,0],this.min):t.pnVertexFlag===272?[this.min[0],this.min[1],this.max[2]]:t.pnVertexFlag===257?[this.min[0],this.max[1],this.min[2]]:t.pnVertexFlag===256?[this.min[0],this.max[1],this.max[2]]:t.pnVertexFlag===17?[this.max[0],this.min[1],this.min[2]]:t.pnVertexFlag===16?[this.max[0],this.min[1],this.max[2]]:t.pnVertexFlag===1?[this.max[0],this.max[1],this.min[2]]:[this.max[0],this.max[1],this.max[2]]}},{key:"getPositiveFarPoint",value:function(t){return t.pnVertexFlag===273?bl([0,0,0],this.max):t.pnVertexFlag===272?[this.max[0],this.max[1],this.min[2]]:t.pnVertexFlag===257?[this.max[0],this.min[1],this.max[2]]:t.pnVertexFlag===256?[this.max[0],this.min[1],this.min[2]]:t.pnVertexFlag===17?[this.min[0],this.max[1],this.max[2]]:t.pnVertexFlag===16?[this.min[0],this.max[1],this.min[2]]:t.pnVertexFlag===1?[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||t.halfExtents[0]===0&&t.halfExtents[1]===0&&t.halfExtents[2]===0}}])}(),WO=function(){function r(e,t){_(this,r),this.distance=e||0,this.normal=t||me(0,1,0),this.updatePNVertexFlag()}return N(r,[{key:"updatePNVertexFlag",value:function(){this.pnVertexFlag=(+(this.normal[0]>=0)<<8)+(+(this.normal[1]>=0)<<4)+ +(this.normal[2]>=0)}},{key:"distanceToPoint",value:function(t){return dn(t,this.normal)-this.distance}},{key:"normalize",value:function(){var t=1/wu(this.normal);wt(this.normal,this.normal,t),this.distance*=t}},{key:"intersectsLine",value:function(t,n,i){var a=this.distanceToPoint(t),s=this.distanceToPoint(n),o=a/(a-s),l=o>=0&&o<=1;return l&&i&&Ha(i,t,n,o),l}}])}(),xl=function(r){return r[r.OUTSIDE=4294967295]="OUTSIDE",r[r.INSIDE=0]="INSIDE",r[r.INDETERMINATE=2147483647]="INDETERMINATE",r}({}),VO=function(){function r(e){if(_(this,r),this.planes=[],e)this.planes=e;else for(var t=0;t<6;t++)this.planes.push(new WO)}return N(r,[{key:"extractFromVPMatrix",value:function(t){var n=Ie(t,16),i=n[0],a=n[1],s=n[2],o=n[3],l=n[4],u=n[5],c=n[6],h=n[7],f=n[8],d=n[9],v=n[10],g=n[11],p=n[12],m=n[13],b=n[14],x=n[15];Ae(this.planes[0].normal,o-i,h-l,g-f),this.planes[0].distance=x-p,Ae(this.planes[1].normal,o+i,h+l,g+f),this.planes[1].distance=x+p,Ae(this.planes[2].normal,o+a,h+u,g+d),this.planes[2].distance=x+m,Ae(this.planes[3].normal,o-a,h-u,g-d),this.planes[3].distance=x-m,Ae(this.planes[4].normal,o-s,h-c,g-v),this.planes[4].distance=x-b,Ae(this.planes[5].normal,o+s,h+c,g+v),this.planes[5].distance=x+b,this.planes.forEach(function(O){O.normalize(),O.updatePNVertexFlag()})}}])}(),Ir=function(){function r(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;_(this,r),this.x=0,this.y=0,this.x=e,this.y=t}return N(r,[{key:"clone",value:function(){return new r(this.x,this.y)}},{key:"copyFrom",value:function(t){this.x=t.x,this.y=t.y}}])}(),El=function(){function r(e,t,n,i){_(this,r),this.x=e,this.y=t,this.width=n,this.height=i,this.left=e,this.right=e+n,this.top=t,this.bottom=t+i}return N(r,[{key:"toJSON",value:function(){}}],[{key:"fromRect",value:function(t){return new r(t.x,t.y,t.width,t.height)}},{key:"applyTransform",value:function(t,n){var i=ma(t.x,t.y,0,1),a=ma(t.x+t.width,t.y,0,1),s=ma(t.x,t.y+t.height,0,1),o=ma(t.x+t.width,t.y+t.height,0,1),l=hr(),u=hr(),c=hr(),h=hr();Ze(l,i,n),Ze(u,a,n),Ze(c,s,n),Ze(h,o,n);var f=Math.min(l[0],u[0],c[0],h[0]),d=Math.min(l[1],u[1],c[1],h[1]),v=Math.max(l[0],u[0],c[0],h[0]),g=Math.max(l[1],u[1],c[1],h[1]);return r.fromRect({x:f,y:d,width:v-f,height:g-d})}}])}(),yn="Method not implemented.",wl="Use document.documentElement instead.",YO="Cannot append a destroyed element.";function Pl(r){return r===void 0?0:r>360||r<-360?r%360:r}var Bg=Me();function $r(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;return Array.isArray(r)&&r.length===3?n?De(r):Te(Bg,r):ht(r)?n?me(r,e,t):Ae(Bg,r,e,t):n?me(r[0],r[1]||e,r[2]||t):Ae(Bg,r[0],r[1]||e,r[2]||t)}var UO=Math.PI/180;function bn(r){return r*UO}var ZO=180/Math.PI;function yi(r){return r*ZO}var KO=.9;function vU(r){return r%=400,r<0&&(r+=400),r*KO}function gU(r){return r/360}function QO(r){return 360*r}var bh=Math.PI/2;function JO(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=t*t,o=n*n,l=i*i,u=a*a,c=s+o+l+u,h=t*a-n*i;return h>.499995*c?(r[0]=bh,r[1]=2*Math.atan2(n,t),r[2]=0):h<-.499995*c?(r[0]=-bh,r[1]=2*Math.atan2(n,t),r[2]=0):(r[0]=Math.asin(2*(t*i-a*n)),r[1]=Math.atan2(2*(t*a+n*i),1-2*(l+u)),r[2]=Math.atan2(2*(t*n+i*a),1-2*(o+l))),r}function qO(r,e){var t,n,i=Wa(Me(),e),a=Ie(i,3),s=a[0],o=a[1],l=a[2],u=Math.asin(-e[2]/s);return u<bh?u>-bh?(t=Math.atan2(e[6]/o,e[10]/l),n=Math.atan2(e[1]/s,e[0]/s)):(n=0,t=-Math.atan2(e[4]/o,e[5]/o)):(n=0,t=Math.atan2(e[4]/o,e[5]/o)),r[0]=t,r[1]=u,r[2]=n,r}function zg(r,e){return e.length===16?qO(r,e):JO(r,e)}function $O(r,e,t,n,i){var a=Math.cos(r),s=Math.sin(r);return qy(n*a,i*s,0,-n*s,i*a,0,e,t,1)}function ek(r,e,t,n,i,a,s){var o=arguments.length>7&&arguments[7]!==void 0?arguments[7]:!1,l=2*a,u=t-e,c=n-i,h=l/u,f=l/c,d=(t+e)/u,v=(n+i)/c,g,p,m=s-a,b=s*a;return o?(g=-s/m,p=-b/m):(g=-(s+a)/m,p=-2*b/m),r[0]=h,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=f,r[6]=0,r[7]=0,r[8]=d,r[9]=v,r[10]=g,r[11]=-1,r[12]=0,r[13]=0,r[14]=p,r[15]=0,r}function J1(r){var e=r[0],t=r[1],n=r[3],i=r[4],a=Math.sqrt(e*e+t*t),s=Math.sqrt(n*n+i*i),o=e*i-t*n;if(o<0&&(e<i?a=-a:s=-s),a){var l=1/a;e*=l,t*=l}if(s){var u=1/s;n*=u,i*=u}var c=Math.atan2(t,e),h=yi(c);return[r[6],r[7],a,s,h]}var Ya=mt(),ba=mt(),Bu=hr(),_t=[Me(),Me(),Me()],q1=Me();function tk(r,e,t,n,i,a){if(!nk(Ya,r)||(_n(ba,Ya),ba[3]=0,ba[7]=0,ba[11]=0,ba[15]=1,Math.abs(Lr(ba))<1e-8))return!1;var s=Ya[3],o=Ya[7],l=Ya[11],u=Ya[12],c=Ya[13],h=Ya[14],f=Ya[15];if(s!==0||o!==0||l!==0){Bu[0]=s,Bu[1]=o,Bu[2]=l,Bu[3]=f;var d=Ot(ba,ba);if(!d)return!1;Oi(ba,ba),Ze(i,Bu,ba)}else i[0]=i[1]=i[2]=0,i[3]=1;if(e[0]=u,e[1]=c,e[2]=h,rk(_t,Ya),t[0]=ze(_t[0]),fn(_t[0],_t[0]),n[0]=dn(_t[0],_t[1]),Fg(_t[1],_t[1],_t[0],1,-n[0]),t[1]=ze(_t[1]),fn(_t[1],_t[1]),n[0]/=t[1],n[1]=dn(_t[0],_t[2]),Fg(_t[2],_t[2],_t[0],1,-n[1]),n[2]=dn(_t[1],_t[2]),Fg(_t[2],_t[2],_t[1],1,-n[2]),t[2]=ze(_t[2]),fn(_t[2],_t[2]),n[1]/=t[2],n[2]/=t[2],Yi(q1,_t[1],_t[2]),dn(_t[0],q1)<0)for(var v=0;v<3;v++)t[v]*=-1,_t[v][0]*=-1,_t[v][1]*=-1,_t[v][2]*=-1;return a[0]=.5*Math.sqrt(Math.max(1+_t[0][0]-_t[1][1]-_t[2][2],0)),a[1]=.5*Math.sqrt(Math.max(1-_t[0][0]+_t[1][1]-_t[2][2],0)),a[2]=.5*Math.sqrt(Math.max(1-_t[0][0]-_t[1][1]+_t[2][2],0)),a[3]=.5*Math.sqrt(Math.max(1+_t[0][0]+_t[1][1]+_t[2][2],0)),_t[2][1]>_t[1][2]&&(a[0]=-a[0]),_t[0][2]>_t[2][0]&&(a[1]=-a[1]),_t[1][0]>_t[0][1]&&(a[2]=-a[2]),!0}function nk(r,e){var t=e[15];if(t===0)return!1;for(var n=1/t,i=0;i<16;i++)r[i]=e[i]*n;return!0}function rk(r,e){r[0][0]=e[0],r[0][1]=e[1],r[0][2]=e[2],r[1][0]=e[4],r[1][1]=e[5],r[1][2]=e[6],r[2][0]=e[8],r[2][1]=e[9],r[2][2]=e[10]}function Fg(r,e,t,n,i){r[0]=e[0]*n+t[0]*i,r[1]=e[1]*n+t[1]*i,r[2]=e[2]*n+t[2]*i}var xn=function(r){return r[r.ORBITING=0]="ORBITING",r[r.EXPLORING=1]="EXPLORING",r[r.TRACKING=2]="TRACKING",r}({}),jg=function(r){return r[r.DEFAULT=0]="DEFAULT",r[r.ROTATIONAL=1]="ROTATIONAL",r[r.TRANSLATIONAL=2]="TRANSLATIONAL",r[r.CINEMATIC=3]="CINEMATIC",r}({}),Zi=function(r){return r[r.ORTHOGRAPHIC=0]="ORTHOGRAPHIC",r[r.PERSPECTIVE=1]="PERSPECTIVE",r}({}),$1={UPDATED:"updated"},eb=2e-4,tb=function(){function r(){_(this,r),this.clipSpaceNearZ=yh.NEGATIVE_ONE,this.eventEmitter=new Je,this.matrix=mt(),this.right=me(1,0,0),this.up=me(0,1,0),this.forward=me(0,0,1),this.position=me(0,0,1),this.focalPoint=me(0,0,0),this.distanceVector=me(0,0,-1),this.distance=1,this.azimuth=0,this.elevation=0,this.roll=0,this.relAzimuth=0,this.relElevation=0,this.relRoll=0,this.dollyingStep=0,this.maxDistance=1/0,this.minDistance=-1/0,this.zoom=1,this.rotateWorld=!1,this.fov=30,this.near=.1,this.far=1e3,this.aspect=1,this.projectionMatrix=mt(),this.projectionMatrixInverse=mt(),this.jitteredProjectionMatrix=void 0,this.enableUpdate=!0,this.type=xn.EXPLORING,this.trackingMode=jg.DEFAULT,this.projectionMode=Zi.PERSPECTIVE,this.frustum=new VO,this.orthoMatrix=mt()}return N(r,[{key:"isOrtho",value:function(){return this.projectionMode===Zi.ORTHOGRAPHIC}},{key:"getProjectionMode",value:function(){return this.projectionMode}},{key:"getPerspective",value:function(){return this.jitteredProjectionMatrix||this.projectionMatrix}},{key:"getPerspectiveInverse",value:function(){return this.projectionMatrixInverse}},{key:"getFrustum",value:function(){return this.frustum}},{key:"getPosition",value:function(){return this.position}},{key:"getFocalPoint",value:function(){return this.focalPoint}},{key:"getDollyingStep",value:function(){return this.dollyingStep}},{key:"getNear",value:function(){return this.near}},{key:"getFar",value:function(){return this.far}},{key:"getZoom",value:function(){return this.zoom}},{key:"getOrthoMatrix",value:function(){return this.orthoMatrix}},{key:"getView",value:function(){return this.view}},{key:"setEnableUpdate",value:function(t){this.enableUpdate=t}},{key:"setType",value:function(t,n){return this.type=t,this.type===xn.EXPLORING?this.setWorldRotation(!0):this.setWorldRotation(!1),this._getAngles(),this.type===xn.TRACKING&&n!==void 0&&this.setTrackingMode(n),this}},{key:"setProjectionMode",value:function(t){return this.projectionMode=t,this}},{key:"setTrackingMode",value:function(t){if(this.type!==xn.TRACKING)throw new Error("Impossible to set a tracking mode if the camera is not of tracking type");return this.trackingMode=t,this}},{key:"setWorldRotation",value:function(t){return this.rotateWorld=t,this._getAngles(),this}},{key:"getViewTransform",value:function(){return Ot(mt(),this.matrix)}},{key:"getWorldTransform",value:function(){return this.matrix}},{key:"jitterProjectionMatrix",value:function(t,n){var i=Dr(mt(),[t,n,0]);this.jitteredProjectionMatrix=Ut(mt(),i,this.projectionMatrix)}},{key:"clearJitterProjectionMatrix",value:function(){this.jitteredProjectionMatrix=void 0}},{key:"setMatrix",value:function(t){return this.matrix=t,this._update(),this}},{key:"setProjectionMatrix",value:function(t){this.projectionMatrix=t}},{key:"setFov",value:function(t){return this.setPerspective(this.near,this.far,t,this.aspect),this}},{key:"setAspect",value:function(t){return this.setPerspective(this.near,this.far,this.fov,t),this}},{key:"setNear",value:function(t){return this.projectionMode===Zi.PERSPECTIVE?this.setPerspective(t,this.far,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,t,this.far),this}},{key:"setFar",value:function(t){return this.projectionMode===Zi.PERSPECTIVE?this.setPerspective(this.near,t,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,t),this}},{key:"setViewOffset",value:function(t,n,i,a,s,o){return this.aspect=t/n,this.view===void 0&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=n,this.view.offsetX=i,this.view.offsetY=a,this.view.width=s,this.view.height=o,this.projectionMode===Zi.PERSPECTIVE?this.setPerspective(this.near,this.far,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,this.far),this}},{key:"clearViewOffset",value:function(){return this.view!==void 0&&(this.view.enabled=!1),this.projectionMode===Zi.PERSPECTIVE?this.setPerspective(this.near,this.far,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,this.far),this}},{key:"setZoom",value:function(t){return this.zoom=t,this.projectionMode===Zi.ORTHOGRAPHIC?this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,this.far):this.projectionMode===Zi.PERSPECTIVE&&this.setPerspective(this.near,this.far,this.fov,this.aspect),this}},{key:"setZoomByViewportPoint",value:function(t,n){var i=this.canvas.viewport2Canvas({x:n[0],y:n[1]}),a=i.x,s=i.y,o=this.roll;this.rotate(0,0,-o),this.setPosition(a,s),this.setFocalPoint(a,s),this.setZoom(t),this.rotate(0,0,o);var l=this.canvas.viewport2Canvas({x:n[0],y:n[1]}),u=l.x,c=l.y,h=me(u-a,c-s,0),f=dn(h,this.right)/ze(this.right),d=dn(h,this.up)/ze(this.up),v=this.getPosition(),g=Ie(v,2),p=g[0],m=g[1],b=this.getFocalPoint(),x=Ie(b,2),O=x[0],T=x[1];return this.setPosition(p-f,m-d),this.setFocalPoint(O-f,T-d),this}},{key:"setPerspective",value:function(t,n,i,a){var s;this.projectionMode=Zi.PERSPECTIVE,this.fov=i,this.near=t,this.far=n,this.aspect=a;var o=this.near*Math.tan(bn(.5*this.fov))/this.zoom,l=2*o,u=this.aspect*l,c=-.5*u;if((s=this.view)!==null&&s!==void 0&&s.enabled){var h=this.view.fullWidth,f=this.view.fullHeight;c+=this.view.offsetX*u/h,o-=this.view.offsetY*l/f,u*=this.view.width/h,l*=this.view.height/f}return ek(this.projectionMatrix,c,c+u,o-l,o,t,this.far,this.clipSpaceNearZ===yh.ZERO),Ot(this.projectionMatrixInverse,this.projectionMatrix),this.triggerUpdate(),this}},{key:"setOrthographic",value:function(t,n,i,a,s,o){var l;this.projectionMode=Zi.ORTHOGRAPHIC,this.rright=n,this.left=t,this.top=i,this.bottom=a,this.near=s,this.far=o;var u=(this.rright-this.left)/(2*this.zoom),c=(this.top-this.bottom)/(2*this.zoom),h=(this.rright+this.left)/2,f=(this.top+this.bottom)/2,d=h-u,v=h+u,g=f+c,p=f-c;if((l=this.view)!==null&&l!==void 0&&l.enabled){var m=(this.rright-this.left)/this.view.fullWidth/this.zoom,b=(this.top-this.bottom)/this.view.fullHeight/this.zoom;d+=m*this.view.offsetX,v=d+m*this.view.width,g-=b*this.view.offsetY,p=g-b*this.view.height}return this.clipSpaceNearZ===yh.NEGATIVE_ONE?bg(this.projectionMatrix,d,v,g,p,s,o):xg(this.projectionMatrix,d,v,g,p,s,o),Ot(this.projectionMatrixInverse,this.projectionMatrix),this._getOrthoMatrix(),this.triggerUpdate(),this}},{key:"setPosition",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.position[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.position[2],a=$r(t,n,i);return this._setPosition(a),this.setFocalPoint(this.focalPoint),this.triggerUpdate(),this}},{key:"setFocalPoint",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.focalPoint[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.focalPoint[2],a=me(0,1,0);if(this.focalPoint=$r(t,n,i),this.trackingMode===jg.CINEMATIC){var s=xt(Me(),this.focalPoint,this.position);t=s[0],n=s[1],i=s[2];var o=ze(s),l=yi(Math.asin(n/o)),u=90+yi(Math.atan2(i,t)),c=mt();Su(c,c,bn(u)),Mu(c,c,bn(l)),a=Dn(Me(),[0,1,0],c)}return Ot(this.matrix,Eg(mt(),this.position,this.focalPoint,a)),this._getAxes(),this._getDistance(),this._getAngles(),this.triggerUpdate(),this}},{key:"getDistance",value:function(){return this.distance}},{key:"getDistanceVector",value:function(){return this.distanceVector}},{key:"setDistance",value:function(t){if(this.distance===t||t<0)return this;this.distance=t,this.distance<eb&&(this.distance=eb),this.dollyingStep=this.distance/100;var n=Me();t=this.distance;var i=this.forward,a=this.focalPoint;return n[0]=t*i[0]+a[0],n[1]=t*i[1]+a[1],n[2]=t*i[2]+a[2],this._setPosition(n),this.triggerUpdate(),this}},{key:"setMaxDistance",value:function(t){return this.maxDistance=t,this}},{key:"setMinDistance",value:function(t){return this.minDistance=t,this}},{key:"setAzimuth",value:function(t){return this.azimuth=Pl(t),this.computeMatrix(),this._getAxes(),this.type===xn.ORBITING||this.type===xn.EXPLORING?this._getPosition():this.type===xn.TRACKING&&this._getFocalPoint(),this.triggerUpdate(),this}},{key:"getAzimuth",value:function(){return this.azimuth}},{key:"setElevation",value:function(t){return this.elevation=Pl(t),this.computeMatrix(),this._getAxes(),this.type===xn.ORBITING||this.type===xn.EXPLORING?this._getPosition():this.type===xn.TRACKING&&this._getFocalPoint(),this.triggerUpdate(),this}},{key:"getElevation",value:function(){return this.elevation}},{key:"setRoll",value:function(t){return this.roll=Pl(t),this.computeMatrix(),this._getAxes(),this.type===xn.ORBITING||this.type===xn.EXPLORING?this._getPosition():this.type===xn.TRACKING&&this._getFocalPoint(),this.triggerUpdate(),this}},{key:"getRoll",value:function(){return this.roll}},{key:"_update",value:function(){this._getAxes(),this._getPosition(),this._getDistance(),this._getAngles(),this._getOrthoMatrix(),this.triggerUpdate()}},{key:"computeMatrix",value:function(){var t=Jr(en(),[0,0,1],bn(this.roll));Zn(this.matrix);var n=Jr(en(),[1,0,0],bn((this.rotateWorld&&this.type!==xn.TRACKING||this.type===xn.TRACKING?1:-1)*this.elevation)),i=Jr(en(),[0,1,0],bn((this.rotateWorld&&this.type!==xn.TRACKING||this.type===xn.TRACKING?1:-1)*this.azimuth)),a=qr(en(),i,n);a=qr(en(),a,t);var s=ku(mt(),a);this.type===xn.ORBITING||this.type===xn.EXPLORING?(gn(this.matrix,this.matrix,this.focalPoint),Ut(this.matrix,this.matrix,s),gn(this.matrix,this.matrix,[0,0,this.distance])):this.type===xn.TRACKING&&(gn(this.matrix,this.matrix,this.position),Ut(this.matrix,this.matrix,s))}},{key:"_setPosition",value:function(t,n,i){this.position=$r(t,n,i);var a=this.matrix;a[12]=this.position[0],a[13]=this.position[1],a[14]=this.position[2],a[15]=1,this._getOrthoMatrix()}},{key:"_getAxes",value:function(){Te(this.right,$r(Ze(hr(),[1,0,0,0],this.matrix))),Te(this.up,$r(Ze(hr(),[0,1,0,0],this.matrix))),Te(this.forward,$r(Ze(hr(),[0,0,1,0],this.matrix))),fn(this.right,this.right),fn(this.up,this.up),fn(this.forward,this.forward)}},{key:"_getAngles",value:function(){var t=this.distanceVector[0],n=this.distanceVector[1],i=this.distanceVector[2],a=ze(this.distanceVector);if(a===0){this.elevation=0,this.azimuth=0;return}this.type===xn.TRACKING?(this.elevation=yi(Math.asin(n/a)),this.azimuth=yi(Math.atan2(-t,-i))):this.rotateWorld?(this.elevation=yi(Math.asin(n/a)),this.azimuth=yi(Math.atan2(-t,-i))):(this.elevation=-yi(Math.asin(n/a)),this.azimuth=-yi(Math.atan2(-t,-i)))}},{key:"_getPosition",value:function(){Te(this.position,$r(Ze(hr(),[0,0,0,1],this.matrix))),this._getDistance()}},{key:"_getFocalPoint",value:function(){ds(this.distanceVector,[0,0,-this.distance],Jy(Mg(),this.matrix)),He(this.focalPoint,this.position,this.distanceVector),this._getDistance()}},{key:"_getDistance",value:function(){this.distanceVector=xt(Me(),this.focalPoint,this.position),this.distance=ze(this.distanceVector),this.dollyingStep=this.distance/100}},{key:"_getOrthoMatrix",value:function(){if(this.projectionMode===Zi.ORTHOGRAPHIC){var t=this.position,n=Jr(en(),[0,0,1],-this.roll*Math.PI/180);vs(this.orthoMatrix,n,me((this.rright-this.left)/2-t[0],(this.top-this.bottom)/2-t[1],0),me(this.zoom,this.zoom,1),t)}}},{key:"triggerUpdate",value:function(){if(this.enableUpdate){var t=this.getViewTransform(),n=Ut(mt(),this.getPerspective(),t);this.getFrustum().extractFromVPMatrix(n),this.eventEmitter.emit($1.UPDATED)}}},{key:"rotate",value:function(t,n,i){throw new Error(yn)}},{key:"pan",value:function(t,n){throw new Error(yn)}},{key:"dolly",value:function(t){throw new Error(yn)}},{key:"createLandmark",value:function(t,n){throw new Error(yn)}},{key:"gotoLandmark",value:function(t,n){throw new Error(yn)}},{key:"cancelLandmarkAnimation",value:function(){throw new Error(yn)}}])}(),ik=function(r){return r[r.Standard=0]="Standard",r}({}),xh=function(r){return r[r.ADDED=0]="ADDED",r[r.REMOVED=1]="REMOVED",r[r.Z_INDEX_CHANGED=2]="Z_INDEX_CHANGED",r}({}),nb={absolutePath:[],hasArc:!1,segments:[],polygons:[],polylines:[],curve:null,totalLength:0,rect:new El(0,0,0,0)},st=function(r){return r.COORDINATE="<coordinate>",r.COLOR="<color>",r.PAINT="<paint>",r.NUMBER="<number>",r.ANGLE="<angle>",r.OPACITY_VALUE="<opacity-value>",r.SHADOW_BLUR="<shadow-blur>",r.LENGTH="<length>",r.PERCENTAGE="<percentage>",r.LENGTH_PERCENTAGE="<length> | <percentage>",r.LENGTH_PERCENTAGE_12="[<length> | <percentage>]{1,2}",r.LENGTH_PERCENTAGE_14="[<length> | <percentage>]{1,4}",r.LIST_OF_POINTS="<list-of-points>",r.PATH="<path>",r.FILTER="<filter>",r.Z_INDEX="<z-index>",r.OFFSET_DISTANCE="<offset-distance>",r.DEFINED_PATH="<defined-path>",r.MARKER="<marker>",r.TRANSFORM="<transform>",r.TRANSFORM_ORIGIN="<transform-origin>",r.TEXT="<text>",r.TEXT_TRANSFORM="<text-transform>",r}({});function ei(r,e){if(typeof r!="function"||e!=null&&typeof e!="function")throw new TypeError("Expected a function");var t=function(){for(var i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];var o=e?e.apply(this,a):a[0],l=t.cache;if(l.has(o))return l.get(o);var u=r.apply(this,a);return t.cache=l.set(o,u)||l,u};return t.cache=new(ei.Cache||Map),t}ei.Cache=Map;var ut=function(r){return r[r.kUnknown=0]="kUnknown",r[r.kNumber=1]="kNumber",r[r.kPercentage=2]="kPercentage",r[r.kEms=3]="kEms",r[r.kPixels=4]="kPixels",r[r.kRems=5]="kRems",r[r.kDegrees=6]="kDegrees",r[r.kRadians=7]="kRadians",r[r.kGradians=8]="kGradians",r[r.kTurns=9]="kTurns",r[r.kMilliseconds=10]="kMilliseconds",r[r.kSeconds=11]="kSeconds",r[r.kInteger=12]="kInteger",r}({}),xa=function(r){return r[r.kUNumber=0]="kUNumber",r[r.kUPercent=1]="kUPercent",r[r.kULength=2]="kULength",r[r.kUAngle=3]="kUAngle",r[r.kUTime=4]="kUTime",r[r.kUOther=5]="kUOther",r}({}),ak=function(r){return r[r.kYes=0]="kYes",r[r.kNo=1]="kNo",r}({}),sk=function(r){return r[r.kYes=0]="kYes",r[r.kNo=1]="kNo",r}({}),ok=[{name:"em",unit_type:ut.kEms},{name:"px",unit_type:ut.kPixels},{name:"deg",unit_type:ut.kDegrees},{name:"rad",unit_type:ut.kRadians},{name:"grad",unit_type:ut.kGradians},{name:"ms",unit_type:ut.kMilliseconds},{name:"s",unit_type:ut.kSeconds},{name:"rem",unit_type:ut.kRems},{name:"turn",unit_type:ut.kTurns}],Ml=function(r){return r[r.kUnknownType=0]="kUnknownType",r[r.kUnparsedType=1]="kUnparsedType",r[r.kKeywordType=2]="kKeywordType",r[r.kUnitType=3]="kUnitType",r[r.kSumType=4]="kSumType",r[r.kProductType=5]="kProductType",r[r.kNegateType=6]="kNegateType",r[r.kInvertType=7]="kInvertType",r[r.kMinType=8]="kMinType",r[r.kMaxType=9]="kMaxType",r[r.kClampType=10]="kClampType",r[r.kTransformType=11]="kTransformType",r[r.kPositionType=12]="kPositionType",r[r.kURLImageType=13]="kURLImageType",r[r.kColorType=14]="kColorType",r[r.kUnsupportedColorType=15]="kUnsupportedColorType",r}({}),lk=function(e){return ok.find(function(t){return t.name===e}).unit_type},uk=function(e){return e?e==="number"?ut.kNumber:e==="percent"||e==="%"?ut.kPercentage:lk(e):ut.kUnknown},ck=function(e){switch(e){case ut.kNumber:case ut.kInteger:return xa.kUNumber;case ut.kPercentage:return xa.kUPercent;case ut.kPixels:return xa.kULength;case ut.kMilliseconds:case ut.kSeconds:return xa.kUTime;case ut.kDegrees:case ut.kRadians:case ut.kGradians:case ut.kTurns:return xa.kUAngle;default:return xa.kUOther}},hk=function(e){switch(e){case xa.kUNumber:return ut.kNumber;case xa.kULength:return ut.kPixels;case xa.kUPercent:return ut.kPercentage;case xa.kUTime:return ut.kSeconds;case xa.kUAngle:return ut.kDegrees;default:return ut.kUnknown}},rb=function(e){var t=1;switch(e){case ut.kPixels:case ut.kDegrees:case ut.kSeconds:break;case ut.kMilliseconds:t=.001;break;case ut.kRadians:t=180/Math.PI;break;case ut.kGradians:t=.9;break;case ut.kTurns:t=360;break}return t},Gg=function(e){switch(e){case ut.kNumber:case ut.kInteger:return"";case ut.kPercentage:return"%";case ut.kEms:return"em";case ut.kRems:return"rem";case ut.kPixels:return"px";case ut.kDegrees:return"deg";case ut.kRadians:return"rad";case ut.kGradians:return"grad";case ut.kMilliseconds:return"ms";case ut.kSeconds:return"s";case ut.kTurns:return"turn"}return""},Eh=function(){function r(){_(this,r)}return N(r,[{key:"toString",value:function(){return this.buildCSSText(ak.kNo,sk.kNo,"")}},{key:"isNumericValue",value:function(){return this.getType()>=Ml.kUnitType&&this.getType()<=Ml.kClampType}}],[{key:"isAngle",value:function(t){return t===ut.kDegrees||t===ut.kRadians||t===ut.kGradians||t===ut.kTurns}},{key:"isLength",value:function(t){return t>=ut.kEms&&t<ut.kDegrees}},{key:"isRelativeUnit",value:function(t){return t===ut.kPercentage||t===ut.kEms||t===ut.kRems}},{key:"isTime",value:function(t){return t===ut.kSeconds||t===ut.kMilliseconds}}])}(),fk=function(r){function e(t){var n;return _(this,e),n=Ee(this,e),n.colorSpace=t,n}return Pe(e,r),N(e,[{key:"getType",value:function(){return Ml.kColorType}},{key:"to",value:function(n){return this}}])}(Eh),Bs=function(r){return r[r.Constant=0]="Constant",r[r.LinearGradient=1]="LinearGradient",r[r.RadialGradient=2]="RadialGradient",r}({}),wh=function(r){function e(t,n){var i;return _(this,e),i=Ee(this,e),i.type=t,i.value=n,i}return Pe(e,r),N(e,[{key:"clone",value:function(){return new e(this.type,this.value)}},{key:"buildCSSText",value:function(n,i,a){return a}},{key:"getType",value:function(){return Ml.kColorType}}])}(Eh),Ki=function(r){function e(t){var n;return _(this,e),n=Ee(this,e),n.value=t,n}return Pe(e,r),N(e,[{key:"clone",value:function(){return new e(this.value)}},{key:"getType",value:function(){return Ml.kKeywordType}},{key:"buildCSSText",value:function(n,i,a){return a+this.value}}])}(Eh),dk=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",n="";return Number.isFinite(e)?n="NaN":e>0?n="infinity":n="-infinity",n+=t},Hg=function(e){return hk(ck(e))},En=function(r){function e(t){var n,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ut.kNumber;_(this,e),n=Ee(this,e);var a;return typeof i=="string"?a=uk(i):a=i,n.unit=a,n.value=t,n}return Pe(e,r),N(e,[{key:"clone",value:function(){return new e(this.value,this.unit)}},{key:"equals",value:function(n){var i=n;return this.value===i.value&&this.unit===i.unit}},{key:"getType",value:function(){return Ml.kUnitType}},{key:"convertTo",value:function(n){if(this.unit===n)return new e(this.value,this.unit);var i=Hg(this.unit);if(i!==Hg(n)||i===ut.kUnknown)return null;var a=rb(this.unit)/rb(n);return new e(this.value*a,n)}},{key:"buildCSSText",value:function(n,i,a){var s;switch(this.unit){case ut.kUnknown:break;case ut.kInteger:s=Number(this.value).toFixed(0);break;case ut.kNumber:case ut.kPercentage:case ut.kEms:case ut.kRems:case ut.kPixels:case ut.kDegrees:case ut.kRadians:case ut.kGradians:case ut.kMilliseconds:case ut.kSeconds:case ut.kTurns:{var o=-999999,l=999999,u=this.value,c=Gg(this.unit);if(u<o||u>l){var h=Gg(this.unit);!Number.isFinite(u)||Number.isNaN(u)?s=dk(u,h):s=u+(h||"")}else s="".concat(u).concat(c)}}return a+=s,a}}])}(Eh),Ea=new En(0,"px");new En(1,"px");var So=new En(0,"deg"),Xg=function(r){function e(t,n,i){var a,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;return _(this,e),a=Ee(this,e,["rgb"]),a.r=t,a.g=n,a.b=i,a.alpha=s,a.isNone=o,a}return Pe(e,r),N(e,[{key:"clone",value:function(){return new e(this.r,this.g,this.b,this.alpha)}},{key:"buildCSSText",value:function(n,i,a){return"".concat(a,"rgba(").concat(this.r,",").concat(this.g,",").concat(this.b,",").concat(this.alpha,")")}}])}(fk),ib=new Ki("unset"),vk=new Ki("initial"),gk=new Ki("inherit"),Wg={"":ib,unset:ib,initial:vk,inherit:gk},pk=function(e){return Wg[e]||(Wg[e]=new Ki(e)),Wg[e]},ab=new Xg(0,0,0,0,!0),sb=new Xg(0,0,0,0),mk=ei(function(r,e,t,n){return new Xg(r,e,t,n)},function(r,e,t,n){return"rgba(".concat(r,",").concat(e,",").concat(t,",").concat(n,")")}),Xn=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ut.kNumber;return new En(e,t)};new En(50,"%");function yk(r){var e=r.type,t=r.value;return e==="hex"?"#".concat(t):e==="literal"?t:e==="rgb"?"rgb(".concat(t.join(","),")"):"rgba(".concat(t.join(","),")")}var bk=function(){var r={linearGradient:/^(linear\-gradient)/i,repeatingLinearGradient:/^(repeating\-linear\-gradient)/i,radialGradient:/^(radial\-gradient)/i,repeatingRadialGradient:/^(repeating\-radial\-gradient)/i,conicGradient:/^(conic\-gradient)/i,sideOrCorner:/^to (left (top|bottom)|right (top|bottom)|top (left|right)|bottom (left|right)|left|right|top|bottom)/i,extentKeywords:/^(closest\-side|closest\-corner|farthest\-side|farthest\-corner|contain|cover)/,positionKeywords:/^(left|center|right|top|bottom)/i,pixelValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))px/,percentageValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))\%/,emValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))em/,angleValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))deg/,startCall:/^\(/,endCall:/^\)/,comma:/^,/,hexColor:/^\#([0-9a-fA-F]+)/,literalColor:/^([a-zA-Z]+)/,rgbColor:/^rgb/i,rgbaColor:/^rgba/i,number:/^(([0-9]*\.[0-9]+)|([0-9]+\.?))/},e="";function t(H){throw new Error("".concat(e,": ").concat(H))}function n(){var H=i();return e.length>0&&t("Invalid input not EOF"),H}function i(){return x(a)}function a(){return s("linear-gradient",r.linearGradient,l)||s("repeating-linear-gradient",r.repeatingLinearGradient,l)||s("radial-gradient",r.radialGradient,h)||s("repeating-radial-gradient",r.repeatingRadialGradient,h)||s("conic-gradient",r.conicGradient,h)}function s(H,X,q){return o(X,function(oe){var de=q();return de&&(ve(r.comma)||t("Missing comma before color stops")),{type:H,orientation:de,colorStops:x(O)}})}function o(H,X){var q=ve(H);if(q){ve(r.startCall)||t("Missing (");var oe=X(q);return ve(r.endCall)||t("Missing )"),oe}}function l(){return u()||c()}function u(){return ae("directional",r.sideOrCorner,1)}function c(){return ae("angular",r.angleValue,1)}function h(){var H,X=f(),q;return X&&(H=[],H.push(X),q=e,ve(r.comma)&&(X=f(),X?H.push(X):e=q)),H}function f(){var H=d()||v();if(H)H.at=p();else{var X=g();if(X){H=X;var q=p();q&&(H.at=q)}else{var oe=m();oe&&(H={type:"default-radial",at:oe})}}return H}function d(){var H=ae("shape",/^(circle)/i,0);return H&&(H.style=ie()||g()),H}function v(){var H=ae("shape",/^(ellipse)/i,0);return H&&(H.style=J()||g()),H}function g(){return ae("extent-keyword",r.extentKeywords,1)}function p(){if(ae("position",/^at/,0)){var H=m();return H||t("Missing positioning value"),H}}function m(){var H=b();if(H.x||H.y)return{type:"position",value:H}}function b(){return{x:J(),y:J()}}function x(H){var X=H(),q=[];if(X)for(q.push(X);ve(r.comma);)X=H(),X?q.push(X):t("One extra comma");return q}function O(){var H=T();return H||t("Expected color definition"),H.length=J(),H}function T(){return k()||W()||C()||S()}function S(){return ae("literal",r.literalColor,0)}function k(){return ae("hex",r.hexColor,1)}function C(){return o(r.rgbColor,function(){return{type:"rgb",value:x(U)}})}function W(){return o(r.rgbaColor,function(){return{type:"rgba",value:x(U)}})}function U(){return ve(r.number)[1]}function J(){return ae("%",r.percentageValue,1)||te()||ie()}function te(){return ae("position-keyword",r.positionKeywords,1)}function ie(){return ae("px",r.pixelValue,1)||ae("em",r.emValue,1)}function ae(H,X,q){var oe=ve(X);if(oe)return{type:H,value:oe[q]}}function ve(H){var X=/^[\n\r\t\s]+/.exec(e);X&&Z(X[0].length);var q=H.exec(e);return q&&Z(q[0].length),q}function Z(H){e=e.substring(H)}return function(H){return e=H,n()}}();function xk(r,e,t,n){var i=bn(n.value),a=0,s=0,o=a+e/2,l=s+t/2,u=Math.abs(e*Math.cos(i))+Math.abs(t*Math.sin(i)),c=r[0]+o-Math.cos(i)*u/2,h=r[1]+l-Math.sin(i)*u/2,f=r[0]+o+Math.cos(i)*u/2,d=r[1]+l+Math.sin(i)*u/2;return{x1:c,y1:h,x2:f,y2:d}}function Ek(r,e,t,n,i,a){var s=n.value,o=i.value;n.unit===ut.kPercentage&&(s=n.value/100*e),i.unit===ut.kPercentage&&(o=i.value/100*t);var l=Math.max(gi([0,0],[s,o]),gi([0,t],[s,o]),gi([e,t],[s,o]),gi([e,0],[s,o]));return a&&(a instanceof En?l=a.value:a instanceof Ki&&(a.value==="closest-side"?l=Math.min(s,e-s,o,t-o):a.value==="farthest-side"?l=Math.max(s,e-s,o,t-o):a.value==="closest-corner"&&(l=Math.min(gi([0,0],[s,o]),gi([0,t],[s,o]),gi([e,t],[s,o]),gi([e,0],[s,o]))))),{x:s+r[0],y:o+r[1],r:l}}var wk=/^l\s*\(\s*([\d.]+)\s*\)\s*(.*)/i,Pk=/^r\s*\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*\)\s*(.*)/i,Mk=/^p\s*\(\s*([axyn])\s*\)\s*(.*)/i,ob=/[\d.]+:(#[^\s]+|[^\)]+\))/gi;function Sk(r){var e,t=r.length;if(r[t-1].length=(e=r[t-1].length)!==null&&e!==void 0?e:{type:"%",value:"100"},t>1){var n;r[0].length=(n=r[0].length)!==null&&n!==void 0?n:{type:"%",value:"0"}}for(var i=0,a=Number(r[0].length.value),s=1;s<t;s++){var o,l=(o=r[s].length)===null||o===void 0?void 0:o.value;if(!vt(l)&&!vt(a)){for(var u=1;u<s-i;u++)r[i+u].length={type:"%",value:"".concat(a+(Number(l)-a)*u/(s-i))};i=s,a=Number(l)}}}var Tk={left:180,top:-90,bottom:90,right:0,"left top":225,"top left":225,"left bottom":135,"bottom left":135,"right top":-45,"top right":-45,"right bottom":45,"bottom right":45},Ak=ei(function(r){var e;return r.type==="angular"?e=Number(r.value):e=Tk[r.value]||0,Xn(e,"deg")}),Ok=ei(function(r){var e=50,t=50,n="%",i="%";if((r==null?void 0:r.type)==="position"){var a=r.value,s=a.x,o=a.y;(s==null?void 0:s.type)==="position-keyword"&&(s.value==="left"?e=0:s.value==="center"?e=50:s.value==="right"?e=100:s.value==="top"?t=0:s.value==="bottom"&&(t=100)),(o==null?void 0:o.type)==="position-keyword"&&(o.value==="left"?e=0:o.value==="center"?t=50:o.value==="right"?e=100:o.value==="top"?t=0:o.value==="bottom"&&(t=100)),((s==null?void 0:s.type)==="px"||(s==null?void 0:s.type)==="%"||(s==null?void 0:s.type)==="em")&&(n=s==null?void 0:s.type,e=Number(s.value)),((o==null?void 0:o.type)==="px"||(o==null?void 0:o.type)==="%"||(o==null?void 0:o.type)==="em")&&(i=o==null?void 0:o.type,t=Number(o.value))}return{cx:Xn(e,n),cy:Xn(t,i)}}),kk=ei(function(r){if(r.indexOf("linear")>-1||r.indexOf("radial")>-1){var e=bk(r);return e.map(function(o){var l=o.type,u=o.orientation,c=o.colorStops;Sk(c);var h=c.map(function(x){return{offset:Xn(Number(x.length.value),"%"),color:yk(x)}});if(l==="linear-gradient")return new wh(Bs.LinearGradient,{angle:u?Ak(u):So,steps:h});if(l==="radial-gradient"&&(u||(u=[{type:"shape",value:"circle"}]),u[0].type==="shape"&&u[0].value==="circle")){var f=Ok(u[0].at),d=f.cx,v=f.cy,g;if(u[0].style){var p=u[0].style,m=p.type,b=p.value;m==="extent-keyword"?g=pk(b):g=Xn(b,m)}return new wh(Bs.RadialGradient,{cx:d,cy:v,size:g,steps:h})}})}var t=r[0];if(r[1]==="("||r[2]==="("){if(t==="l"){var n=wk.exec(r);if(n){var i,a=((i=n[2].match(ob))===null||i===void 0?void 0:i.map(function(o){return o.split(":")}))||[];return[new wh(Bs.LinearGradient,{angle:Xn(parseFloat(n[1]),"deg"),steps:a.map(function(o){var l=Ie(o,2),u=l[0],c=l[1];return{offset:Xn(Number(u)*100,"%"),color:c}})})]}}else if(t==="r"){var s=Ck(r);if(s)if(Xt(s))r=s;else return[new wh(Bs.RadialGradient,s)]}else if(t==="p")return Nk(r)}});function Ck(r){var e=Pk.exec(r);if(e){var t,n=((t=e[4].match(ob))===null||t===void 0?void 0:t.map(function(i){return i.split(":")}))||[];return{cx:Xn(50,"%"),cy:Xn(50,"%"),steps:n.map(function(i){var a=Ie(i,2),s=a[0],o=a[1];return{offset:Xn(Number(s)*100,"%"),color:o}})}}return null}function Nk(r){var e=Mk.exec(r);if(e){var t=e[1],n=e[2];switch(t){case"a":t="repeat";break;case"x":t="repeat-x";break;case"y":t="repeat-y";break;case"n":t="no-repeat";break;default:t="no-repeat"}return{image:n,repetition:t}}return null}function pU(r){return!!r.type&&!!r.value}function To(r){return r&&!!r.image}function Ph(r){return r&&!vt(r.r)&&!vt(r.g)&&!vt(r.b)}var zu=ei(function(r){if(To(r))return D({repetition:"repeat"},r);if(vt(r)&&(r=""),r==="transparent")return sb;if(r==="currentColor")r="black";else if(r==="none")return ab;var e=kk(r);if(e)return e;var t=hh(r),n=[0,0,0,0];return t!==null&&(n[0]=t.r||0,n[1]=t.g||0,n[2]=t.b||0,n[3]=t.opacity),mk.apply(void 0,n)});function _k(r,e){if(!(!Ph(r)||!Ph(e)))return[[Number(r.r),Number(r.g),Number(r.b),Number(r.alpha)],[Number(e.r),Number(e.g),Number(e.b),Number(e.alpha)],function(t){var n=t.slice();if(n[3])for(var i=0;i<3;i++)n[i]=Math.round(on(n[i],0,255));return n[3]=on(n[3],0,1),"rgba(".concat(n.join(","),")")}]}function Fu(r,e){if(vt(e))return Xn(0,"px");if(e="".concat(e).trim().toLowerCase(),isFinite(Number(e))){if("px".search(r)>=0)return Xn(Number(e),"px");if("deg".search(r)>=0)return Xn(Number(e),"deg")}var t=[];e=e.replace(r,function(i){return t.push(i),"U".concat(i)});var n="U(".concat(r.source,")");return t.map(function(i){return Xn(Number(e.replace(new RegExp("U".concat(i),"g"),"").replace(new RegExp(n,"g"),"*0")),i)})[0]}var lb=function(e){return Fu(new RegExp("px","g"),e)},Rk=ei(lb),Lk=function(e){return Fu(new RegExp("%","g"),e)};ei(Lk);var ub=function(e){return ht(e)||isFinite(Number(e))?Xn(Number(e)||0,"px"):Fu(new RegExp("px|%|em|rem","g"),e)},Vg=ei(ub),cb=function(e){return Fu(new RegExp("deg|rad|grad|turn","g"),e)},Dk=ei(cb);function Ik(r,e,t,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,a="",s=r.value||0,o=e.value||0,l=Hg(r.unit),u=r.convertTo(l),c=e.convertTo(l);return u&&c?(s=u.value,o=c.value,a=Gg(r.unit)):(En.isLength(r.unit)||En.isLength(e.unit))&&(s=ki(r,i,t),o=ki(e,i,t),a="px"),[s,o,function(h){return n&&(h=Math.max(h,0)),h+a}]}function bi(r){var e=0;return r.unit===ut.kDegrees?e=r.value:r.unit===ut.kRadians?e=yi(Number(r.value)):r.unit===ut.kTurns?e=QO(Number(r.value)):r.value&&(e=r.value),e}function hb(r,e){var t;return Array.isArray(r)?t=r.map(function(n){return Number(n)}):Xt(r)?t=r.split(" ").map(function(n){return Number(n)}):ht(r)&&(t=[r]),e===2?t.length===1?[t[0],t[0]]:[t[0],t[1]]:t.length===1?[t[0],t[0],t[0],t[0]]:t.length===2?[t[0],t[1],t[0],t[1]]:t.length===3?[t[0],t[1],t[2],t[1]]:[t[0],t[1],t[2],t[3]]}function ki(r,e,t){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(r.unit===ut.kPixels)return Number(r.value);if(r.unit===ut.kPercentage&&t){var i=t.nodeName===je.GROUP?t.getLocalBounds():t.getGeometryBounds();return(n?i.min[e]:0)+r.value/100*i.halfExtents[e]*2}return 0}var Bk=function(e){return Fu(/deg|rad|grad|turn|px|%/g,e)},zk=["blur","brightness","drop-shadow","contrast","grayscale","sepia","saturate","hue-rotate","invert"];function Fk(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";if(r=r.toLowerCase().trim(),r==="none")return[];for(var e=/\s*([\w-]+)\(([^)]*)\)/g,t=[],n,i=0;n=e.exec(r);){if(n.index!==i)return[];if(i=n.index+n[0].length,zk.indexOf(n[1])>-1&&t.push({name:n[1],params:n[2].split(" ").map(function(a){return Bk(a)||zu(a)})}),e.lastIndex===r.length)return t}return[]}function fb(r){return r.toString()}var db=function(e){return typeof e=="number"?Xn(e):/^\s*[-+]?(\d*\.)?\d+\s*$/.test(e)?Xn(Number(e)):Xn(0)},Yg=ei(db);ei(function(r){return Xt(r)?r.split(" ").map(Yg):r.map(Yg)});function Ug(r,e){return[r,e,fb]}function Zg(r,e){return function(t,n){return[t,n,function(i){return fb(on(i,r,e))}]}}function vb(r,e){if(r.length===e.length)return[r,e,function(t){return t}]}function Kg(r){return r.parsedStyle.d.totalLength===0&&(r.parsedStyle.d.totalLength=c1(r.parsedStyle.d.absolutePath)),r.parsedStyle.d.totalLength}function jk(r){return r.parsedStyle.points.totalLength===0&&(r.parsedStyle.points.totalLength=V1(r.parsedStyle.points.points)),r.parsedStyle.points.totalLength}function Gk(r){for(var e=0;e<r.length;e++){var t=r[e-1],n=r[e],i=n[0];if(i==="M"&&t){var a=t[0],s=[n[1],n[2]],o=void 0;a==="L"||a==="M"?o=[t[1],t[2]]:(a==="C"||a==="A"||a==="Q")&&(o=[t[t.length-2],t[t.length-1]]),o&&Mh(s,o)&&(r.splice(e,1),e--)}}}function Hk(r){for(var e=!1,t=r.length,n=0;n<t;n++){var i=r[n],a=i[0];if(a==="C"||a==="A"||a==="Q"){e=!0;break}}return e}function Xk(r){for(var e=[],t=[],n=[],i=0;i<r.length;i++){var a=r[i],s=a[0];s==="M"?(n.length&&(t.push(n),n=[]),n.push([a[1],a[2]])):s==="Z"?n.length&&(e.push(n),n=[]):n.push([a[1],a[2]])}return n.length>0&&t.push(n),{polygons:e,polylines:t}}function Mh(r,e){return r[0]===e[0]&&r[1]===e[1]}function Wk(r,e){for(var t=[],n=[],i=[],a=0;a<r.length;a++){var s=r[a],o=s.currentPoint,l=s.params,u=s.prePoint,c=void 0;switch(s.command){case"Q":c=U1(u[0],u[1],l[1],l[2],l[3],l[4]);break;case"C":c=z1(u[0],u[1],l[1],l[2],l[3],l[4],l[5],l[6]);break;case"A":var h=s.arcParams;c=R1(h.cx,h.cy,h.rx,h.ry,h.xRotation,h.startAngle,h.endAngle);break;default:t.push(o[0]),n.push(o[1]);break}c&&(s.box=c,t.push(c.x,c.x+c.width),n.push(c.y,c.y+c.height)),e&&(s.command==="L"||s.command==="M")&&s.prePoint&&s.nextPoint&&i.push(s)}t=t.filter(function(O){return!Number.isNaN(O)&&O!==1/0&&O!==-1/0}),n=n.filter(function(O){return!Number.isNaN(O)&&O!==1/0&&O!==-1/0});var f=dl(t),d=dl(n),v=vl(t),g=vl(n);if(i.length===0)return{x:f,y:d,width:v-f,height:g-d};for(var p=0;p<i.length;p++){var m=i[p],b=m.currentPoint,x=void 0;b[0]===f?(x=Sh(m,e),f-=x.xExtra):b[0]===v&&(x=Sh(m,e),v+=x.xExtra),b[1]===d?(x=Sh(m,e),d-=x.yExtra):b[1]===g&&(x=Sh(m,e),g+=x.yExtra)}return{x:f,y:d,width:v-f,height:g-d}}function Sh(r,e){var t=r.prePoint,n=r.currentPoint,i=r.nextPoint,a=Math.pow(n[0]-t[0],2)+Math.pow(n[1]-t[1],2),s=Math.pow(n[0]-i[0],2)+Math.pow(n[1]-i[1],2),o=Math.pow(t[0]-i[0],2)+Math.pow(t[1]-i[1],2),l=Math.acos((a+s-o)/(2*Math.sqrt(a)*Math.sqrt(s)));if(!l||Math.sin(l)===0||gl(l,0))return{xExtra:0,yExtra:0};var u=Math.abs(Math.atan2(i[1]-n[1],i[0]-n[0])),c=Math.abs(Math.atan2(i[0]-n[0],i[1]-n[1]));u=u>Math.PI/2?Math.PI-u:u,c=c>Math.PI/2?Math.PI-c:c;var h={xExtra:Math.cos(l/2-u)*(e/2*(1/Math.sin(l/2)))-e/2||0,yExtra:Math.cos(c-l/2)*(e/2*(1/Math.sin(l/2)))-e/2||0};return h}function gb(r,e){return[e[0]+(e[0]-r[0]),e[1]+(e[1]-r[1])]}var pb=function(e,t){var n=e.x*t.x+e.y*t.y,i=Math.sqrt((Math.pow(e.x,2)+Math.pow(e.y,2))*(Math.pow(t.x,2)+Math.pow(t.y,2))),a=e.x*t.y-e.y*t.x<0?-1:1,s=a*Math.acos(n/i);return s},mb=function(e,t,n,i,a,s,o,l){t=Math.abs(t),n=Math.abs(n),i=oh(i,360);var u=bn(i);if(e.x===o.x&&e.y===o.y)return{x:e.x,y:e.y,ellipticalArcAngle:0};if(t===0||n===0)return{x:0,y:0,ellipticalArcAngle:0};var c=(e.x-o.x)/2,h=(e.y-o.y)/2,f={x:Math.cos(u)*c+Math.sin(u)*h,y:-Math.sin(u)*c+Math.cos(u)*h},d=Math.pow(f.x,2)/Math.pow(t,2)+Math.pow(f.y,2)/Math.pow(n,2);d>1&&(t*=Math.sqrt(d),n*=Math.sqrt(d));var v=Math.pow(t,2)*Math.pow(n,2)-Math.pow(t,2)*Math.pow(f.y,2)-Math.pow(n,2)*Math.pow(f.x,2),g=Math.pow(t,2)*Math.pow(f.y,2)+Math.pow(n,2)*Math.pow(f.x,2),p=v/g;p=p<0?0:p;var m=(a!==s?1:-1)*Math.sqrt(p),b={x:m*(t*f.y/n),y:m*(-(n*f.x)/t)},x={x:Math.cos(u)*b.x-Math.sin(u)*b.y+(e.x+o.x)/2,y:Math.sin(u)*b.x+Math.cos(u)*b.y+(e.y+o.y)/2},O={x:(f.x-b.x)/t,y:(f.y-b.y)/n},T=pb({x:1,y:0},O),S={x:(-f.x-b.x)/t,y:(-f.y-b.y)/n},k=pb(O,S);!s&&k>0?k-=2*Math.PI:s&&k<0&&(k+=2*Math.PI),k%=2*Math.PI;var C=T+k*l,W=t*Math.cos(C),U=n*Math.sin(C),J={x:Math.cos(u)*W-Math.sin(u)*U+x.x,y:Math.sin(u)*W+Math.cos(u)*U+x.y,ellipticalArcStartAngle:T,ellipticalArcEndAngle:T+k,ellipticalArcAngle:C,ellipticalArcCenter:x,resultantRx:t,resultantRy:n};return J};function Vk(r){for(var e=[],t=null,n=null,i=null,a=0,s=r.length,o=0;o<s;o++){var l=r[o];n=r[o+1];var u=l[0],c={command:u,prePoint:t,params:l,startTangent:null,endTangent:null,currentPoint:null,nextPoint:null,arcParams:null,box:null,cubicParams:null};switch(u){case"M":i=[l[1],l[2]],a=o;break;case"A":var h=Yk(t,l);c.arcParams=h;break}if(u==="Z")t=i,n=r[a+1];else{var f=l.length;t=[l[f-2],l[f-1]]}n&&n[0]==="Z"&&(n=r[a],e[a]&&(e[a].prePoint=t)),c.currentPoint=t,e[a]&&Mh(t,e[a].currentPoint)&&(e[a].prePoint=c.prePoint);var d=n?[n[n.length-2],n[n.length-1]]:null;c.nextPoint=d;var v=c.prePoint;if(["L","H","V"].includes(u))c.startTangent=[v[0]-t[0],v[1]-t[1]],c.endTangent=[t[0]-v[0],t[1]-v[1]];else if(u==="Q"){var g=[l[1],l[2]];c.startTangent=[v[0]-g[0],v[1]-g[1]],c.endTangent=[t[0]-g[0],t[1]-g[1]]}else if(u==="T"){var p=e[o-1],m=gb(p.currentPoint,v);p.command==="Q"?(c.command="Q",c.startTangent=[v[0]-m[0],v[1]-m[1]],c.endTangent=[t[0]-m[0],t[1]-m[1]]):(c.command="TL",c.startTangent=[v[0]-t[0],v[1]-t[1]],c.endTangent=[t[0]-v[0],t[1]-v[1]])}else if(u==="C"){var b=[l[1],l[2]],x=[l[3],l[4]];c.startTangent=[v[0]-b[0],v[1]-b[1]],c.endTangent=[t[0]-x[0],t[1]-x[1]],c.startTangent[0]===0&&c.startTangent[1]===0&&(c.startTangent=[b[0]-x[0],b[1]-x[1]]),c.endTangent[0]===0&&c.endTangent[1]===0&&(c.endTangent=[x[0]-b[0],x[1]-b[1]])}else if(u==="S"){var O=e[o-1],T=gb(O.currentPoint,v),S=[l[1],l[2]];O.command==="C"?(c.command="C",c.startTangent=[v[0]-T[0],v[1]-T[1]],c.endTangent=[t[0]-S[0],t[1]-S[1]]):(c.command="SQ",c.startTangent=[v[0]-S[0],v[1]-S[1]],c.endTangent=[t[0]-S[0],t[1]-S[1]])}else if(u==="A"){var k=yb(c,0),C=k.x,W=k.y,U=yb(c,1,!1),J=U.x,te=U.y;c.startTangent=[C,W],c.endTangent=[J,te]}e.push(c)}return e}function yb(r,e){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,n=r.arcParams,i=n.rx,a=i===void 0?0:i,s=n.ry,o=s===void 0?0:s,l=n.xRotation,u=n.arcFlag,c=n.sweepFlag,h=mb({x:r.prePoint[0],y:r.prePoint[1]},a,o,l,!!u,!!c,{x:r.currentPoint[0],y:r.currentPoint[1]},e),f=mb({x:r.prePoint[0],y:r.prePoint[1]},a,o,l,!!u,!!c,{x:r.currentPoint[0],y:r.currentPoint[1]},t?e+.005:e-.005),d=f.x-h.x,v=f.y-h.y,g=Math.sqrt(d*d+v*v);return{x:-d/g,y:-v/g}}function Th(r){return Math.sqrt(r[0]*r[0]+r[1]*r[1])}function Qg(r,e){return Th(r)*Th(e)?(r[0]*e[0]+r[1]*e[1])/(Th(r)*Th(e)):1}function bb(r,e){return(r[0]*e[1]<r[1]*e[0]?-1:1)*Math.acos(Qg(r,e))}function Yk(r,e){var t=e[1],n=e[2],i=oh(bn(e[3]),Math.PI*2),a=e[4],s=e[5],o=r[0],l=r[1],u=e[6],c=e[7],h=Math.cos(i)*(o-u)/2+Math.sin(i)*(l-c)/2,f=-1*Math.sin(i)*(o-u)/2+Math.cos(i)*(l-c)/2,d=h*h/(t*t)+f*f/(n*n);d>1&&(t*=Math.sqrt(d),n*=Math.sqrt(d));var v=t*t*(f*f)+n*n*(h*h),g=v?Math.sqrt((t*t*(n*n)-v)/v):1;a===s&&(g*=-1),isNaN(g)&&(g=0);var p=n?g*t*f/n:0,m=t?g*-n*h/t:0,b=(o+u)/2+Math.cos(i)*p-Math.sin(i)*m,x=(l+c)/2+Math.sin(i)*p+Math.cos(i)*m,O=[(h-p)/t,(f-m)/n],T=[(-1*h-p)/t,(-1*f-m)/n],S=bb([1,0],O),k=bb(O,T);return Qg(O,T)<=-1&&(k=Math.PI),Qg(O,T)>=1&&(k=0),s===0&&k>0&&(k-=2*Math.PI),s===1&&k<0&&(k+=2*Math.PI),{cx:b,cy:x,rx:Mh(r,[u,c])?0:t,ry:Mh(r,[u,c])?0:n,startAngle:S,endAngle:S+k,xRotation:i,arcFlag:a,sweepFlag:s}}function Uk(r,e,t){return r.reduce(function(n,i){var a="";if(i[0]==="M"||i[0]==="L"){var s=vec3.fromValues(i[1],i[2],0);t&&vec3.transformMat4(s,s,t),a="".concat(i[0]).concat(s[0],",").concat(s[1])}else if(i[0]==="Z")a=i[0];else if(i[0]==="C"){var o=vec3.fromValues(i[1],i[2],0),l=vec3.fromValues(i[3],i[4],0),u=vec3.fromValues(i[5],i[6],0);t&&(vec3.transformMat4(o,o,t),vec3.transformMat4(l,l,t),vec3.transformMat4(u,u,t)),a="".concat(i[0]).concat(o[0],",").concat(o[1],",").concat(l[0],",").concat(l[1],",").concat(u[0],",").concat(u[1])}else if(i[0]==="A"){var c=vec3.fromValues(i[6],i[7],0);t&&vec3.transformMat4(c,c,t),a="".concat(i[0]).concat(i[1],",").concat(i[2],",").concat(i[3],",").concat(i[4],",").concat(i[5],",").concat(c[0],",").concat(c[1])}else if(i[0]==="Q"){var h=vec3.fromValues(i[1],i[2],0),f=vec3.fromValues(i[3],i[4],0);t&&(vec3.transformMat4(h,h,t),vec3.transformMat4(f,f,t)),a="".concat(i[0]).concat(i[1],",").concat(i[2],",").concat(i[3],",").concat(i[4],"}")}return n+=a},"")}function Zk(r,e,t,n){return[["M",r,e],["L",t,n]]}function xb(r,e,t,n){var i=(-1+Math.sqrt(2))/3*4,a=r*i,s=e*i,o=t-r,l=t+r,u=n-e,c=n+e;return[["M",o,n],["C",o,n-s,t-a,u,t,u],["C",t+a,u,l,n-s,l,n],["C",l,n+s,t+a,c,t,c],["C",t-a,c,o,n+s,o,n],["Z"]]}function Kk(r,e){var t=r.map(function(n,i){return[i===0?"M":"L",n[0],n[1]]});return e&&t.push(["Z"]),t}function Qk(r,e,t,n,i){if(i){var a=_slicedToArray(i,4),s=a[0],o=a[1],l=a[2],u=a[3],c=r>0?1:-1,h=e>0?1:-1,f=c+h!==0?1:0;return[["M",c*s+t,n],["L",r-c*o+t,n],o?["A",o,o,0,0,f,r+t,h*o+n]:null,["L",r+t,e-h*l+n],l?["A",l,l,0,0,f,r+t-c*l,e+n]:null,["L",t+c*u,e+n],u?["A",u,u,0,0,f,t,e+n-h*u]:null,["L",t,h*s+n],s?["A",s,s,0,0,f,c*s+t,n]:null,["Z"]].filter(function(d){return d})}return[["M",t,n],["L",t+r,n],["L",t+r,n+e],["L",t,n+e],["Z"]]}function mU(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:r.getLocalTransform(),t=[];switch(r.nodeName){case je.LINE:var n=r.parsedStyle,i=n.x1,a=i===void 0?0:i,s=n.y1,o=s===void 0?0:s,l=n.x2,u=l===void 0?0:l,c=n.y2,h=c===void 0?0:c;t=Zk(a,o,u,h);break;case je.CIRCLE:{var f=r.parsedStyle,d=f.r,v=d===void 0?0:d,g=f.cx,p=g===void 0?0:g,m=f.cy,b=m===void 0?0:m;t=xb(v,v,p,b);break}case je.ELLIPSE:{var x=r.parsedStyle,O=x.rx,T=O===void 0?0:O,S=x.ry,k=S===void 0?0:S,C=x.cx,W=C===void 0?0:C,U=x.cy,J=U===void 0?0:U;t=xb(T,k,W,J);break}case je.POLYLINE:case je.POLYGON:var te=r.parsedStyle.points;t=Kk(te.points,r.nodeName===je.POLYGON);break;case je.RECT:var ie=r.parsedStyle,ae=ie.width,ve=ae===void 0?0:ae,Z=ie.height,H=Z===void 0?0:Z,X=ie.x,q=X===void 0?0:X,oe=ie.y,de=oe===void 0?0:oe,Oe=ie.radius,Be=Oe&&Oe.some(function(Ve){return Ve!==0});t=Qk(ve,H,q,de,Be&&Oe.map(function(Ve){return clamp(Ve,0,Math.min(Math.abs(ve)/2,Math.abs(H)/2))}));break;case je.PATH:var Ge=r.parsedStyle.d.absolutePath;t=_toConsumableArray(Ge);break}if(t.length)return Uk(t,r,e)}function yU(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,a=r.map(function(s,o){var l=s[0],u=r[o+1],c=o===0&&(e!==0||t!==0),h=(o===r.length-1||u&&(u[0]==="M"||u[0]==="Z"))&&n!==0&&i!==0,f=c?[e,t]:[0,0],d=_slicedToArray(f,2),v=d[0],g=d[1],p=h?[n,i]:[0,0],m=_slicedToArray(p,2),b=m[0],x=m[1];switch(l){case"M":return"M ".concat(s[1]+v,",").concat(s[2]+g);case"L":return"L ".concat(s[1]+b,",").concat(s[2]+x);case"Q":return"Q ".concat(s[1]," ").concat(s[2],",").concat(s[3]+b," ").concat(s[4]+x);case"C":return"C ".concat(s[1]," ").concat(s[2],",").concat(s[3]," ").concat(s[4],",").concat(s[5]+b," ").concat(s[6]+x);case"A":return"A ".concat(s[1]," ").concat(s[2]," ").concat(s[3]," ").concat(s[4]," ").concat(s[5]," ").concat(s[6]+b," ").concat(s[7]+x);case"Z":return"Z";default:return null}}).filter(function(s){return s!==null}).join(" ");return~a.indexOf("NaN")?"":a}var Eb=function(e){if(e===""||Array.isArray(e)&&e.length===0)return{absolutePath:[],hasArc:!1,segments:[],polygons:[],polylines:[],curve:null,totalLength:0,rect:{x:0,y:0,width:0,height:0}};var t;try{t=fl(e)}catch(d){t=fl(""),console.error("[g]: Invalid SVG Path definition: ".concat(e))}Gk(t);var n=Hk(t),i=Xk(t),a=i.polygons,s=i.polylines,o=Vk(t),l=Wk(o,0),u=l.x,c=l.y,h=l.width,f=l.height;return{absolutePath:t,hasArc:n,segments:o,polygons:a,polylines:s,totalLength:0,rect:{x:Number.isFinite(u)?u:0,y:Number.isFinite(c)?c:0,width:Number.isFinite(h)?h:0,height:Number.isFinite(f)?f:0}}},Jk=ei(Eb);function wb(r){return Xt(r)?Jk(r):Eb(r)}function qk(r,e,t){var n=r.curve,i=e.curve;(!n||n.length===0)&&(n=_u(r.absolutePath,!1),r.curve=n),(!i||i.length===0)&&(i=_u(e.absolutePath,!1),e.curve=i);var a=[n,i];n.length!==i.length&&(a=Og(n,i));var s=uh(a[0])!==uh(a[1])?d1(a[0]):v1(a[0]);return[s,g1(a[1],s),function(o){return o}]}function $k(r,e){var t;return Xt(r)?t=r.split(" ").map(function(n){var i=n.split(","),a=Ie(i,2),s=a[0],o=a[1];return[Number(s),Number(o)]}):t=r,{points:t,totalLength:0,segments:[]}}function eC(r,e){return[r.points,e.points,function(t){return t}]}var qn=null,Sl=/\s*(\w+)\(([^)]*)\)/g;function xi(r){return function(e){var t=0;return r.map(function(n){return n===qn?e[t++]:n})}}function Ao(r){return r}var ju={matrix:["NNNNNN",[qn,qn,0,0,qn,qn,0,0,0,0,1,0,qn,qn,0,1],Ao],matrix3d:["NNNNNNNNNNNNNNNN",Ao],rotate:["A"],rotateX:["A"],rotateY:["A"],rotateZ:["A"],rotate3d:["NNNA"],perspective:["L"],scale:["Nn",xi([qn,qn,new En(1)]),Ao],scaleX:["N",xi([qn,new En(1),new En(1)]),xi([qn,new En(1)])],scaleY:["N",xi([new En(1),qn,new En(1)]),xi([new En(1),qn])],scaleZ:["N",xi([new En(1),new En(1),qn])],scale3d:["NNN",Ao],skew:["Aa",null,Ao],skewX:["A",null,xi([qn,So])],skewY:["A",null,xi([So,qn])],translate:["Tt",xi([qn,qn,Ea]),Ao],translateX:["T",xi([qn,Ea,Ea]),xi([qn,Ea])],translateY:["T",xi([Ea,qn,Ea]),xi([Ea,qn])],translateZ:["L",xi([Ea,Ea,qn])],translate3d:["TTL",Ao]};function Pb(r){for(var e=[],t=r.length,n=0;n<t;n++){var i=r[n],a=i[0],s=i.slice(1);a==="translate"||a==="skew"?s.length===1&&s.push(0):a==="scale"&&s.length===1&&s.push(s[0]);var o=ju[a];if(!o)return[];var l=s.map(function(u){return Xn(u)});e.push({t:a,d:l})}return e}function Mb(r){if(Array.isArray(r))return Pb(r);if(r=(r||"none").trim(),r==="none")return[];var e=[],t,n=0;for(Sl.lastIndex=0;t=Sl.exec(r);){if(t.index!==n)return[];n=t.index+t[0].length;var i=t[1],a=ju[i];if(!a)return[];var s=t[2].split(","),o=a[0];if(o.length<s.length)return[];for(var l=[],u=0;u<o.length;u++){var c=s[u],h=o[u],f=void 0;if(c?f={A:function(v){return v.trim()==="0"?So:Dk(v)},N:Yg,T:Vg,L:Rk}[h.toUpperCase()](c):f={a:So,n:l[0],t:Ea}[h],f===void 0)return[];l.push(f)}if(e.push({t:i,d:l}),Sl.lastIndex===r.length)return e}return[]}function tC(r){if(Array.isArray(r))return Pb(r);if(r=(r||"none").trim(),r==="none")return[];var e=[],t,n=0;for(Sl.lastIndex=0;t=Sl.exec(r);){if(t.index!==n)return[];n=t.index+t[0].length;var i=t[1],a=ju[i];if(!a)return[];var s=t[2].split(","),o=a[0];if(o.length<s.length)return[];for(var l=[],u=0;u<o.length;u++){var c=s[u],h=o[u],f=void 0;if(c?f={A:function(v){return v.trim()==="0"?So:cb(v)},N:db,T:ub,L:lb}[h.toUpperCase()](c):f={a:So,n:l[0],t:Ea}[h],f===void 0)return[];l.push(f)}if(e.push({t:i,d:l}),Sl.lastIndex===r.length)return e}return[]}function nC(r){var e,t,n,i;switch(r.t){case"rotateX":return i=bn(bi(r.d[0])),[1,0,0,0,0,Math.cos(i),Math.sin(i),0,0,-Math.sin(i),Math.cos(i),0,0,0,0,1];case"rotateY":return i=bn(bi(r.d[0])),[Math.cos(i),0,-Math.sin(i),0,0,1,0,0,Math.sin(i),0,Math.cos(i),0,0,0,0,1];case"rotate":case"rotateZ":return i=bn(bi(r.d[0])),[Math.cos(i),Math.sin(i),0,0,-Math.sin(i),Math.cos(i),0,0,0,0,1,0,0,0,0,1];case"rotate3d":e=r.d[0].value,t=r.d[1].value,n=r.d[2].value,i=bn(bi(r.d[3]));var a=e*e+t*t+n*n;if(a===0)e=1,t=0,n=0;else if(a!==1){var s=Math.sqrt(a);e/=s,t/=s,n/=s}var o=Math.sin(i/2),l=o*Math.cos(i/2),u=o*o;return[1-2*(t*t+n*n)*u,2*(e*t*u+n*l),2*(e*n*u-t*l),0,2*(e*t*u-n*l),1-2*(e*e+n*n)*u,2*(t*n*u+e*l),0,2*(e*n*u+t*l),2*(t*n*u-e*l),1-2*(e*e+t*t)*u,0,0,0,0,1];case"scale":return[r.d[0].value,0,0,0,0,r.d[1].value,0,0,0,0,1,0,0,0,0,1];case"scaleX":return[r.d[0].value,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];case"scaleY":return[1,0,0,0,0,r.d[0].value,0,0,0,0,1,0,0,0,0,1];case"scaleZ":return[1,0,0,0,0,1,0,0,0,0,r.d[0].value,0,0,0,0,1];case"scale3d":return[r.d[0].value,0,0,0,0,r.d[1].value,0,0,0,0,r.d[2].value,0,0,0,0,1];case"skew":var c=bn(bi(r.d[0])),h=bn(bi(r.d[1]));return[1,Math.tan(h),0,0,Math.tan(c),1,0,0,0,0,1,0,0,0,0,1];case"skewX":return i=bn(bi(r.d[0])),[1,0,0,0,Math.tan(i),1,0,0,0,0,1,0,0,0,0,1];case"skewY":return i=bn(bi(r.d[0])),[1,Math.tan(i),0,0,0,1,0,0,0,0,1,0,0,0,0,1];case"translate":return e=ki(r.d[0],0,null)||0,t=ki(r.d[1],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,e,t,0,1];case"translateX":return e=ki(r.d[0],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,e,0,0,1];case"translateY":return t=ki(r.d[0],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,0,t,0,1];case"translateZ":return n=ki(r.d[0],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,n,1];case"translate3d":return e=ki(r.d[0],0,null)||0,t=ki(r.d[1],0,null)||0,n=ki(r.d[2],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,e,t,n,1];case"perspective":var f=ki(r.d[0],0,null)||0,d=f?-1/f:0;return[1,0,0,0,0,1,0,0,0,0,1,d,0,0,0,1];case"matrix":return[r.d[0].value,r.d[1].value,0,0,r.d[2].value,r.d[3].value,0,0,0,0,1,0,r.d[4].value,r.d[5].value,0,1];case"matrix3d":return r.d.map(function(v){return v.value})}}function rC(r,e){return[r[0]*e[0]+r[4]*e[1]+r[8]*e[2]+r[12]*e[3],r[1]*e[0]+r[5]*e[1]+r[9]*e[2]+r[13]*e[3],r[2]*e[0]+r[6]*e[1]+r[10]*e[2]+r[14]*e[3],r[3]*e[0]+r[7]*e[1]+r[11]*e[2]+r[15]*e[3],r[0]*e[4]+r[4]*e[5]+r[8]*e[6]+r[12]*e[7],r[1]*e[4]+r[5]*e[5]+r[9]*e[6]+r[13]*e[7],r[2]*e[4]+r[6]*e[5]+r[10]*e[6]+r[14]*e[7],r[3]*e[4]+r[7]*e[5]+r[11]*e[6]+r[15]*e[7],r[0]*e[8]+r[4]*e[9]+r[8]*e[10]+r[12]*e[11],r[1]*e[8]+r[5]*e[9]+r[9]*e[10]+r[13]*e[11],r[2]*e[8]+r[6]*e[9]+r[10]*e[10]+r[14]*e[11],r[3]*e[8]+r[7]*e[9]+r[11]*e[10]+r[15]*e[11],r[0]*e[12]+r[4]*e[13]+r[8]*e[14]+r[12]*e[15],r[1]*e[12]+r[5]*e[13]+r[9]*e[14]+r[13]*e[15],r[2]*e[12]+r[6]*e[13]+r[10]*e[14]+r[14]*e[15],r[3]*e[12]+r[7]*e[13]+r[11]*e[14]+r[15]*e[15]]}function iC(r){return r.length===0?[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]:r.map(nC).reduce(rC)}function Sb(r){var e=[0,0,0],t=[1,1,1],n=[0,0,0],i=[0,0,0,1],a=[0,0,0,1];return tk(iC(r),e,t,n,i,a),[[e,t,n,a,i]]}var aC=function(){function r(n,i){for(var a=[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],s=0;s<4;s++)for(var o=0;o<4;o++)for(var l=0;l<4;l++)a[s][o]+=i[s][l]*n[l][o];return a}function e(n){return n[0][2]===0&&n[0][3]===0&&n[1][2]===0&&n[1][3]===0&&n[2][0]===0&&n[2][1]===0&&n[2][2]===1&&n[2][3]===0&&n[3][2]===0&&n[3][3]===1}function t(n,i,a,s,o){for(var l=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]],u=0;u<4;u++)l[u][3]=o[u];for(var c=0;c<3;c++)for(var h=0;h<3;h++)l[3][c]+=n[h]*l[h][c];var f=s[0],d=s[1],v=s[2],g=s[3],p=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]];p[0][0]=1-2*(d*d+v*v),p[0][1]=2*(f*d-v*g),p[0][2]=2*(f*v+d*g),p[1][0]=2*(f*d+v*g),p[1][1]=1-2*(f*f+v*v),p[1][2]=2*(d*v-f*g),p[2][0]=2*(f*v-d*g),p[2][1]=2*(d*v+f*g),p[2][2]=1-2*(f*f+d*d),l=r(l,p);var m=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]];a[2]&&(m[2][1]=a[2],l=r(l,m)),a[1]&&(m[2][1]=0,m[2][0]=a[0],l=r(l,m)),a[0]&&(m[2][0]=0,m[1][0]=a[0],l=r(l,m));for(var b=0;b<3;b++)for(var x=0;x<3;x++)l[b][x]*=i[b];return e(l)?[l[0][0],l[0][1],l[1][0],l[1][1],l[3][0],l[3][1]]:l[0].concat(l[1],l[2],l[3])}return t}();function sC(r){return r.toFixed(6).replace(".000000","")}function Jg(r,e){var t,n;return r.decompositionPair!==e&&(r.decompositionPair=e,t=Sb(r)),e.decompositionPair!==r&&(e.decompositionPair=r,n=Sb(e)),t[0]===null||n[0]===null?[[!1],[!0],function(i){return i?e[0].d:r[0].d}]:(t[0].push(0),n[0].push(1),[t,n,function(i){var a=lC(t[0][3],n[0][3],i[5]),s=aC(i[0],i[1],i[2],a,i[4]),o=s.map(sC).join(",");return o}])}function oC(r,e){for(var t=0,n=0;n<r.length;n++)t+=r[n]*e[n];return t}function lC(r,e,t){var n=oC(r,e);n=on(n,-1,1);var i=[];if(n===1)i=r;else for(var a=Math.acos(n),s=Math.sin(t*a)*1/Math.sqrt(1-n*n),o=0;o<4;o++)i.push(r[o]*(Math.cos(t*a)-n*s)+e[o]*s);return i}function qg(r){return r.replace(/[XY]/,"")}function $g(r){return r.replace(/(X|Y|Z|3d)?$/,"3d")}var uC=function(e,t){return e==="perspective"&&t==="perspective"||(e==="matrix"||e==="matrix3d")&&(t==="matrix"||t==="matrix3d")};function cC(r,e,t){var n=!1;if(!r.length||!e.length){r.length||(n=!0,r=e,e=[]);for(var i=function(){var J=r[a],te=J.t,ie=J.d,ae=te.substring(0,5)==="scale"?1:0;e.push({t:te,d:ie.map(function(ve){return typeof ve=="number"?Xn(ae):Xn(ae,ve.unit)})})},a=0;a<r.length;a++)i()}var s=[],o=[],l=[];if(r.length!==e.length){var u=Jg(r,e);s=[u[0]],o=[u[1]],l=[["matrix",[u[2]]]]}else for(var c=0;c<r.length;c++){var h=r[c].t,f=e[c].t,d=r[c].d,v=e[c].d,g=ju[h],p=ju[f],m=void 0;if(uC(h,f)){var b=Jg([r[c]],[e[c]]);s.push(b[0]),o.push(b[1]),l.push(["matrix",[b[2]]]);continue}else if(h===f)m=h;else if(g[2]&&p[2]&&qg(h)===qg(f))m=qg(h),d=g[2](d),v=p[2](v);else if(g[1]&&p[1]&&$g(h)===$g(f))m=$g(h),d=g[1](d),v=p[1](v);else{var x=Jg(r,e);s=[x[0]],o=[x[1]],l=[["matrix",[x[2]]]];break}for(var O=[],T=[],S=[],k=0;k<d.length;k++){var C=Ik(d[k],v[k],t,!1,k);O[k]=C[0],T[k]=C[1],S.push(C[2])}s.push(O),o.push(T),l.push([m,S])}if(n){var W=s;s=o,o=W}return[s,o,function(U){return U.map(function(J,te){var ie=J.map(function(ae,ve){return l[te][1][ve](ae)}).join(",");return l[te][0]==="matrix"&&ie.split(",").length===16&&(l[te][0]="matrix3d"),l[te][0]==="matrix3d"&&ie.split(",").length===6&&(l[te][0]="matrix"),"".concat(l[te][0],"(").concat(ie,")")}).join(" ")}]}var hC=ei(function(r){if(Xt(r)){if(r==="text-anchor")return[Xn(0,"px"),Xn(0,"px")];var e=r.split(" ");return e.length===1&&(e[0]==="top"||e[0]==="bottom"?(e[1]=e[0],e[0]="center"):e[1]="center"),e.length!==2?null:[Vg(Tb(e[0])),Vg(Tb(e[1]))]}return[Xn(r[0]||0,"px"),Xn(r[1]||0,"px")]});function Tb(r){return r==="center"?"50%":r==="left"||r==="top"?"0%":r==="right"||r==="bottom"?"100%":r}var ep=[{n:"display",k:["none"]},{n:"opacity",int:!0,inh:!0,d:"1",syntax:st.OPACITY_VALUE},{n:"fillOpacity",int:!0,inh:!0,d:"1",syntax:st.OPACITY_VALUE},{n:"strokeOpacity",int:!0,inh:!0,d:"1",syntax:st.OPACITY_VALUE},{n:"fill",int:!0,k:["none"],d:"none",syntax:st.PAINT},{n:"fillRule",k:["nonzero","evenodd"],d:"nonzero"},{n:"stroke",int:!0,k:["none"],d:"none",syntax:st.PAINT,l:!0},{n:"shadowType",k:["inner","outer","both"],d:"outer",l:!0},{n:"shadowColor",int:!0,syntax:st.COLOR},{n:"shadowOffsetX",int:!0,l:!0,d:"0",syntax:st.LENGTH_PERCENTAGE},{n:"shadowOffsetY",int:!0,l:!0,d:"0",syntax:st.LENGTH_PERCENTAGE},{n:"shadowBlur",int:!0,l:!0,d:"0",syntax:st.SHADOW_BLUR},{n:"lineWidth",int:!0,inh:!0,d:"1",l:!0,a:["strokeWidth"],syntax:st.LENGTH_PERCENTAGE},{n:"increasedLineWidthForHitTesting",inh:!0,d:"0",l:!0,syntax:st.LENGTH_PERCENTAGE},{n:"lineJoin",inh:!0,l:!0,a:["strokeLinejoin"],k:["miter","bevel","round"],d:"miter"},{n:"lineCap",inh:!0,l:!0,a:["strokeLinecap"],k:["butt","round","square"],d:"butt"},{n:"lineDash",int:!0,inh:!0,k:["none"],a:["strokeDasharray"],syntax:st.LENGTH_PERCENTAGE_12},{n:"lineDashOffset",int:!0,inh:!0,d:"0",a:["strokeDashoffset"],syntax:st.LENGTH_PERCENTAGE},{n:"offsetPath",syntax:st.DEFINED_PATH},{n:"offsetDistance",int:!0,syntax:st.OFFSET_DISTANCE},{n:"dx",int:!0,l:!0,d:"0",syntax:st.LENGTH_PERCENTAGE},{n:"dy",int:!0,l:!0,d:"0",syntax:st.LENGTH_PERCENTAGE},{n:"zIndex",ind:!0,int:!0,d:"0",k:["auto"],syntax:st.Z_INDEX},{n:"visibility",k:["visible","hidden"],ind:!0,inh:!0,int:!0,d:"visible"},{n:"pointerEvents",inh:!0,k:["none","auto","stroke","fill","painted","visible","visiblestroke","visiblefill","visiblepainted","all"],d:"auto"},{n:"filter",ind:!0,l:!0,k:["none"],d:"none",syntax:st.FILTER},{n:"clipPath",syntax:st.DEFINED_PATH},{n:"textPath",syntax:st.DEFINED_PATH},{n:"textPathSide",k:["left","right"],d:"left"},{n:"textPathStartOffset",l:!0,d:"0",syntax:st.LENGTH_PERCENTAGE},{n:"transform",p:100,int:!0,k:["none"],d:"none",syntax:st.TRANSFORM},{n:"transformOrigin",p:100,d:"0 0",l:!0,syntax:st.TRANSFORM_ORIGIN},{n:"cx",int:!0,l:!0,d:"0",syntax:st.COORDINATE},{n:"cy",int:!0,l:!0,d:"0",syntax:st.COORDINATE},{n:"cz",int:!0,l:!0,d:"0",syntax:st.COORDINATE},{n:"r",int:!0,l:!0,d:"0",syntax:st.LENGTH_PERCENTAGE},{n:"rx",int:!0,l:!0,d:"0",syntax:st.LENGTH_PERCENTAGE},{n:"ry",int:!0,l:!0,d:"0",syntax:st.LENGTH_PERCENTAGE},{n:"x",int:!0,l:!0,d:"0",syntax:st.COORDINATE},{n:"y",int:!0,l:!0,d:"0",syntax:st.COORDINATE},{n:"z",int:!0,l:!0,d:"0",syntax:st.COORDINATE},{n:"width",int:!0,l:!0,k:["auto","fit-content","min-content","max-content"],d:"0",syntax:st.LENGTH_PERCENTAGE},{n:"height",int:!0,l:!0,k:["auto","fit-content","min-content","max-content"],d:"0",syntax:st.LENGTH_PERCENTAGE},{n:"radius",int:!0,l:!0,d:"0",syntax:st.LENGTH_PERCENTAGE_14},{n:"x1",int:!0,l:!0,syntax:st.COORDINATE},{n:"y1",int:!0,l:!0,syntax:st.COORDINATE},{n:"z1",int:!0,l:!0,syntax:st.COORDINATE},{n:"x2",int:!0,l:!0,syntax:st.COORDINATE},{n:"y2",int:!0,l:!0,syntax:st.COORDINATE},{n:"z2",int:!0,l:!0,syntax:st.COORDINATE},{n:"d",int:!0,l:!0,d:"",syntax:st.PATH,p:50},{n:"points",int:!0,l:!0,syntax:st.LIST_OF_POINTS,p:50},{n:"text",l:!0,d:"",syntax:st.TEXT,p:50},{n:"textTransform",l:!0,inh:!0,k:["capitalize","uppercase","lowercase","none"],d:"none",syntax:st.TEXT_TRANSFORM,p:51},{n:"font",l:!0},{n:"fontSize",int:!0,inh:!0,d:"16px",l:!0,syntax:st.LENGTH_PERCENTAGE},{n:"fontFamily",l:!0,inh:!0,d:"sans-serif"},{n:"fontStyle",l:!0,inh:!0,k:["normal","italic","oblique"],d:"normal"},{n:"fontWeight",l:!0,inh:!0,k:["normal","bold","bolder","lighter"],d:"normal"},{n:"fontVariant",l:!0,inh:!0,k:["normal","small-caps"],d:"normal"},{n:"lineHeight",l:!0,syntax:st.LENGTH,int:!0,d:"0"},{n:"letterSpacing",l:!0,syntax:st.LENGTH,int:!0,d:"0"},{n:"miterLimit",l:!0,syntax:st.NUMBER,d:function(e){return e===je.PATH||e===je.POLYGON||e===je.POLYLINE?"4":"10"}},{n:"wordWrap",l:!0},{n:"wordWrapWidth",l:!0},{n:"maxLines",l:!0},{n:"textOverflow",l:!0,d:"clip"},{n:"leading",l:!0},{n:"textBaseline",l:!0,inh:!0,k:["top","hanging","middle","alphabetic","ideographic","bottom"],d:"alphabetic"},{n:"textAlign",l:!0,inh:!0,k:["start","center","middle","end","left","right"],d:"start"},{n:"markerStart",syntax:st.MARKER},{n:"markerEnd",syntax:st.MARKER},{n:"markerMid",syntax:st.MARKER},{n:"markerStartOffset",syntax:st.LENGTH,l:!0,int:!0,d:"0"},{n:"markerEndOffset",syntax:st.LENGTH,l:!0,int:!0,d:"0"}],fC=new Set(ep.filter(function(r){return!!r.l}).map(function(r){return r.n})),Ab={},dC=function(){function r(e){var t=this;_(this,r),this.runtime=e,ep.forEach(function(n){t.registerMetadata(n)})}return N(r,[{key:"registerMetadata",value:function(t){[t.n].concat(K(t.a||[])).forEach(function(n){Ab[n]=t})}},{key:"getPropertySyntax",value:function(t){return this.runtime.CSSPropertySyntaxFactory[t]}},{key:"processProperties",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{skipUpdateAttribute:!1,skipParse:!1,forceUpdateGeometry:!1,usedAttributes:[],memoize:!0};Object.assign(t.attributes,n);var a=t.parsedStyle.clipPath,s=t.parsedStyle.offsetPath;vC(t,n);var o=!!i.forceUpdateGeometry;if(!o){for(var l in n)if(fC.has(l)){o=!0;break}}n.fill&&(t.parsedStyle.fill=zu(n.fill)),n.stroke&&(t.parsedStyle.stroke=zu(n.stroke)),n.shadowColor&&(t.parsedStyle.shadowColor=zu(n.shadowColor)),n.filter&&(t.parsedStyle.filter=Fk(n.filter)),vt(n.radius)||(t.parsedStyle.radius=hb(n.radius,4)),vt(n.lineDash)||(t.parsedStyle.lineDash=hb(n.lineDash,2)),n.points&&(t.parsedStyle.points=$k(n.points)),n.d===""&&(t.parsedStyle.d=D({},nb)),n.d&&(t.parsedStyle.d=wb(n.d)),n.textTransform&&this.runtime.CSSPropertySyntaxFactory[st.TEXT_TRANSFORM].calculator(null,null,{value:n.textTransform},t,null),Et(n.clipPath)||this.runtime.CSSPropertySyntaxFactory[st.DEFINED_PATH].calculator("clipPath",a,n.clipPath,t,this.runtime),n.offsetPath&&this.runtime.CSSPropertySyntaxFactory[st.DEFINED_PATH].calculator("offsetPath",s,n.offsetPath,t,this.runtime),n.transform&&(t.parsedStyle.transform=Mb(n.transform)),n.transformOrigin&&(t.parsedStyle.transformOrigin=hC(n.transformOrigin)),n.markerStart&&(t.parsedStyle.markerStart=this.runtime.CSSPropertySyntaxFactory[st.MARKER].calculator(null,n.markerStart,n.markerStart,null,null)),n.markerEnd&&(t.parsedStyle.markerEnd=this.runtime.CSSPropertySyntaxFactory[st.MARKER].calculator(null,n.markerEnd,n.markerEnd,null,null)),n.markerMid&&(t.parsedStyle.markerMid=this.runtime.CSSPropertySyntaxFactory[st.MARKER].calculator("",n.markerMid,n.markerMid,null,null)),vt(n.zIndex)||this.runtime.CSSPropertySyntaxFactory[st.Z_INDEX].postProcessor(t),vt(n.offsetDistance)||this.runtime.CSSPropertySyntaxFactory[st.OFFSET_DISTANCE].postProcessor(t),n.transform&&this.runtime.CSSPropertySyntaxFactory[st.TRANSFORM].postProcessor(t),n.transformOrigin&&this.runtime.CSSPropertySyntaxFactory[st.TRANSFORM_ORIGIN].postProcessor(t),o&&(t.geometry.dirty=!0,t.renderable.boundsDirty=!0,t.renderable.renderBoundsDirty=!0,i.forceUpdateGeometry||this.runtime.sceneGraphService.dirtifyToRoot(t))}},{key:"updateGeometry",value:function(t){var n=t.nodeName,i=this.runtime.geometryUpdaterFactory[n];if(i){var a=t.geometry;a.contentBounds||(a.contentBounds=new Rn),a.renderBounds||(a.renderBounds=new Rn);var s=t.parsedStyle,o=i.update(s,t),l=o.cx,u=l===void 0?0:l,c=o.cy,h=c===void 0?0:c,f=o.cz,d=f===void 0?0:f,v=o.hwidth,g=v===void 0?0:v,p=o.hheight,m=p===void 0?0:p,b=o.hdepth,x=b===void 0?0:b,O=[Math.abs(g),Math.abs(m),x],T=s.stroke,S=s.lineWidth,k=S===void 0?1:S,C=s.increasedLineWidthForHitTesting,W=C===void 0?0:C,U=s.shadowType,J=U===void 0?"outer":U,te=s.shadowColor,ie=s.filter,ae=ie===void 0?[]:ie,ve=s.transformOrigin,Z=[u,h,d];a.contentBounds.update(Z,O);var H=n===je.POLYLINE||n===je.POLYGON||n===je.PATH?Math.SQRT2:.5,X=T&&!T.isNone;if(X){var q=((k||0)+(W||0))*H;O[0]+=q,O[1]+=q}if(a.renderBounds.update(Z,O),te&&J&&J!=="inner"){var oe=a.renderBounds,de=oe.min,Oe=oe.max,Be=s.shadowBlur,Ge=s.shadowOffsetX,Ve=s.shadowOffsetY,qe=Be||0,lt=Ge||0,Ct=Ve||0,Vt=de[0]-qe+lt,qt=Oe[0]+qe+lt,Nr=de[1]-qe+Ct,un=Oe[1]+qe+Ct;de[0]=Math.min(de[0],Vt),Oe[0]=Math.max(Oe[0],qt),de[1]=Math.min(de[1],Nr),Oe[1]=Math.max(Oe[1],un),a.renderBounds.setMinMax(de,Oe)}ae.forEach(function(mr){var da=mr.name,lr=mr.params;if(da==="blur"){var Xr=lr[0].value;a.renderBounds.update(a.renderBounds.center,He(a.renderBounds.halfExtents,a.renderBounds.halfExtents,[Xr,Xr,0]))}else if(da==="drop-shadow"){var Ht=lr[0].value,an=lr[1].value,Gt=lr[2].value,tn=a.renderBounds,Kt=tn.min,yt=tn.max,sn=Kt[0]-Gt+Ht,cn=yt[0]+Gt+Ht,ur=Kt[1]-Gt+an,hn=yt[1]+Gt+an;Kt[0]=Math.min(Kt[0],sn),yt[0]=Math.max(yt[0],cn),Kt[1]=Math.min(Kt[1],ur),yt[1]=Math.max(yt[1],hn),a.renderBounds.setMinMax(Kt,yt)}}),t.geometry.dirty=!1;var ui=g<0,_r=m<0,Fa=(ui?-1:1)*(ve?ki(ve[0],0,t,!0):0),Er=(_r?-1:1)*(ve?ki(ve[1],1,t,!0):0);(Fa||Er)&&t.setOrigin(Fa,Er)}}},{key:"updateSizeAttenuation",value:function(t,n){t.style.isSizeAttenuation?(t.style.rawLineWidth||(t.style.rawLineWidth=t.style.lineWidth),t.style.lineWidth=(t.style.rawLineWidth||1)/n,t.nodeName===je.CIRCLE&&(t.style.rawR||(t.style.rawR=t.style.r),t.style.r=(t.style.rawR||1)/n)):(t.style.rawLineWidth&&(t.style.lineWidth=t.style.rawLineWidth,delete t.style.rawLineWidth),t.nodeName===je.CIRCLE&&t.style.rawR&&(t.style.r=t.style.rawR,delete t.style.rawR))}}])}();function vC(r,e){if(!Ke.enableMassiveParsedStyleAssignOptimization){Object.assign(r.parsedStyle,e);return}var t=r.constructor.PARSED_STYLE_LIST;for(var n in e)t.has(n)&&(r.parsedStyle[n]=e[n])}var gC=function(){function r(){_(this,r),this.mixer=Ug}return N(r,[{key:"calculator",value:function(t,n,i,a){return bi(i)}}])}(),pC=function(){function r(){_(this,r)}return N(r,[{key:"calculator",value:function(t,n,i,a,s){return i instanceof Ki&&(i=null),s.sceneGraphService.updateDisplayObjectDependency(t,n,i,a),t==="clipPath"&&a.forEach(function(o){o.childNodes.length===0&&s.sceneGraphService.dirtifyToRoot(o)}),i}}])}(),mC=function(){function r(){_(this,r),this.parser=zu,this.mixer=_k}return N(r,[{key:"calculator",value:function(t,n,i,a){return i instanceof Ki?i.value==="none"?ab:sb:i}}])}(),yC=function(){function r(){_(this,r)}return N(r,[{key:"calculator",value:function(t,n,i){return i instanceof Ki?[]:i}}])}();function Ob(r){var e=r.parsedStyle,t=e.fontSize;return vt(t)?null:t}var tp=function(){function r(){_(this,r),this.mixer=Ug}return N(r,[{key:"calculator",value:function(t,n,i,a,s){if(ht(i))return i;if(En.isRelativeUnit(i.unit)){if(i.unit===ut.kPercentage)return 0;if(i.unit===ut.kEms){if(a.parentNode){var o=Ob(a.parentNode);if(o)return o*=i.value,o}return 0}if(i.unit===ut.kRems){var l;if(a!=null&&(l=a.ownerDocument)!==null&&l!==void 0&&l.documentElement){var u=Ob(a.ownerDocument.documentElement);if(u)return u*=i.value,u}return 0}}else return i.value}}])}(),bC=function(){function r(){_(this,r),this.mixer=vb}return N(r,[{key:"calculator",value:function(t,n,i){return i.map(function(a){return a.value})}}])}(),xC=function(){function r(){_(this,r),this.mixer=vb}return N(r,[{key:"calculator",value:function(t,n,i){return i.map(function(a){return a.value})}}])}(),EC=function(){function r(){_(this,r)}return N(r,[{key:"calculator",value:function(t,n,i,a){var s;i instanceof Ki&&(i=null);var o=(s=i)===null||s===void 0?void 0:s.cloneNode(!0);return o&&(o.style.isMarker=!0),o}}])}(),wC=function(){function r(){_(this,r),this.mixer=Ug}return N(r,[{key:"calculator",value:function(t,n,i){return i.value}}])}(),PC=function(){function r(){_(this,r),this.mixer=Zg(0,1)}return N(r,[{key:"calculator",value:function(t,n,i){return i.value}},{key:"postProcessor",value:function(t){var n=t.parsedStyle,i=n.offsetPath,a=n.offsetDistance;if(i){var s=i.nodeName;if(s===je.LINE||s===je.PATH||s===je.POLYLINE){var o=i.getPoint(a);o&&t.setLocalPosition(o.x,o.y)}}}}])}(),MC=function(){function r(){_(this,r),this.mixer=Zg(0,1)}return N(r,[{key:"calculator",value:function(t,n,i){return i.value}}])}(),SC=function(){function r(){_(this,r),this.parser=wb,this.mixer=qk}return N(r,[{key:"calculator",value:function(t,n,i){return i instanceof Ki&&i.value==="unset"?{absolutePath:[],hasArc:!1,segments:[],polygons:[],polylines:[],curve:null,totalLength:0,rect:new El(0,0,0,0)}:i}}])}(),TC=N(function r(){_(this,r),this.mixer=eC}),AC=function(r){function e(){var t;_(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=Ee(this,e,[].concat(i)),t.mixer=Zg(0,1/0),t}return Pe(e,r),N(e)}(tp),OC=function(){function r(){_(this,r)}return N(r,[{key:"calculator",value:function(t,n,i,a){return i instanceof Ki?i.value==="unset"?"":i.value:"".concat(i)}},{key:"postProcessor",value:function(t){t.nodeValue="".concat(t.parsedStyle.text)||""}}])}(),kC=function(){function r(){_(this,r)}return N(r,[{key:"calculator",value:function(t,n,i,a){var s=a.getAttribute("text");if(s){var o=s;i.value==="capitalize"?o=s.charAt(0).toUpperCase()+s.slice(1):i.value==="lowercase"?o=s.toLowerCase():i.value==="uppercase"&&(o=s.toUpperCase()),a.parsedStyle.text=o}return i.value}}])}(),bU=function(e){return Object.fromEntries(Object.entries(e).filter(function(t){var n=_slicedToArray(t,2),i=n[1];return i!==void 0}))},np=new WeakMap;function CC(r,e,t){if(r){var n=typeof r=="string"?document.getElementById(r):r;np.has(n)&&np.get(n).destroy(t),np.set(n,e)}}var Gu=typeof window!="undefined"&&typeof window.document!="undefined";function NC(r){return!!r.getAttribute}function _C(r,e){for(var t=0,n=r.length;t<n;){var i=t+n>>>1;kb(r[i],e)<0?t=i+1:n=i}return t}function kb(r,e){var t=Number(r.parsedStyle.zIndex||0),n=Number(e.parsedStyle.zIndex||0);if(t===n){var i=r.parentNode;if(i){var a=i.childNodes||[];return a.indexOf(r)-a.indexOf(e)}}return t-n}function Cb(r){var e=r;do{var t,n=(t=e.parsedStyle)===null||t===void 0?void 0:t.clipPath;if(n)return e;e=e.parentElement}while(e!==null);return null}var Nb="px";function RC(r,e,t){Gu&&r.style&&(r.style.width=e+Nb,r.style.height=t+Nb)}function _b(r,e){if(Gu)return document.defaultView.getComputedStyle(r,null).getPropertyValue(e)}function LC(r){var e=_b(r,"width");return e==="auto"?r.offsetWidth:parseFloat(e)}function DC(r){var e=_b(r,"height");return e==="auto"?r.offsetHeight:parseFloat(e)}var IC=1,BC={touchstart:"pointerdown",touchend:"pointerup",touchendoutside:"pointerupoutside",touchmove:"pointermove",touchcancel:"pointercancel"},rp=typeof performance=="object"&&performance.now?performance:Date;function Ah(r){return r.nodeName===je.FRAGMENT?!0:r.getRootNode().nodeName===je.FRAGMENT}function Oo(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"auto",e=arguments.length>1?arguments[1]:void 0,t=arguments.length>2?arguments[2]:void 0,n=!1,i=!1,a=!!e&&!e.isNone,s=!!t&&!t.isNone;return r==="visiblepainted"||r==="painted"||r==="auto"?(n=a,i=s):r==="visiblefill"||r==="fill"?n=!0:r==="visiblestroke"||r==="stroke"?i=!0:(r==="visible"||r==="all")&&(n=!0,i=!0),[n,i]}var zC=1,FC=function(){return zC++},Ua=typeof self=="object"&&self.self===self?self:typeof w.g=="object"&&w.g.global===w.g?w.g:{},jC=Date.now(),GC=function(){return Ua.performance&&typeof Ua.performance.now=="function"?Ua.performance.now():Date.now()-jC},Hu={},Rb=Date.now(),HC=function(e){if(typeof e!="function")throw new TypeError("".concat(e," is not a function"));var t=Date.now(),n=t-Rb,i=n>16?0:16-n,a=FC();return Hu[a]=e,Object.keys(Hu).length>1||setTimeout(function(){Rb=t;var s=Hu;Hu={},Object.keys(s).forEach(function(o){return s[o](GC())})},i),a},XC=function(e){delete Hu[e]},WC=["","webkit","moz","ms","o"],Lb=function(e){return typeof e!="string"?HC:e===""?Ua.requestAnimationFrame:Ua["".concat(e,"RequestAnimationFrame")]},VC=function(e){return typeof e!="string"?XC:e===""?Ua.cancelAnimationFrame:Ua["".concat(e,"CancelAnimationFrame")]||Ua["".concat(e,"CancelRequestAnimationFrame")]},YC=function(e,t){for(var n=0;e[n]!==void 0;){if(t(e[n]))return e[n];n+=1}},Db=YC(WC,function(r){return!!Lb(r)}),ip=Lb(Db),Ib=VC(Db);Ua.requestAnimationFrame=ip,Ua.cancelAnimationFrame=Ib;var UC=function(){function r(){_(this,r),this.callbacks=[]}return N(r,[{key:"getCallbacksNum",value:function(){return this.callbacks.length}},{key:"tapPromise",value:function(t,n){this.callbacks.push(n)}},{key:"promise",value:function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return Promise.all(this.callbacks.map(function(a){return a.apply(void 0,n)}))}}])}(),ZC=function(){function r(){_(this,r),this.callbacks=[]}return N(r,[{key:"tapPromise",value:function(t,n){this.callbacks.push(n)}},{key:"promise",value:function(){var e=Lg(Po().mark(function n(){var i,a,s,o,l=arguments;return Po().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(!this.callbacks.length){c.next=14;break}return c.next=3,(i=this.callbacks)[0].apply(i,l);case 3:a=c.sent,s=0;case 5:if(!(s<this.callbacks.length-1)){c.next=13;break}return o=this.callbacks[s],c.next=9,o(a);case 9:a=c.sent;case 10:s++,c.next=5;break;case 13:return c.abrupt("return",a);case 14:return c.abrupt("return",null);case 15:case"end":return c.stop()}},n,this)}));function t(){return e.apply(this,arguments)}return t}()}])}(),ti=function(){function r(){_(this,r),this.callbacks=[]}return N(r,[{key:"tap",value:function(t,n){this.callbacks.push(n)}},{key:"call",value:function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];var a=arguments;this.callbacks.forEach(function(s){s.apply(void 0,a)})}}])}(),ap=function(){function r(){_(this,r),this.callbacks=[]}return N(r,[{key:"tap",value:function(t,n){this.callbacks.push(n)}},{key:"call",value:function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];if(this.callbacks.length){for(var a=arguments,s=this.callbacks[0].apply(void 0,a),o=0;o<this.callbacks.length-1;o++){var l=this.callbacks[o];s=l(s)}return s}return null}}])}(),KC=["serif","sans-serif","monospace","cursive","fantasy","system-ui"],QC=/([\"\'])[^\'\"]+\1/;function JC(r){for(var e=r.fontSize,t=e===void 0?16:e,n=r.fontFamily,i=n===void 0?"sans-serif":n,a=r.fontStyle,s=a===void 0?"normal":a,o=r.fontVariant,l=o===void 0?"normal":o,u=r.fontWeight,c=u===void 0?"normal":u,h=ht(t)&&"".concat(t,"px")||"16px",f=i.split(","),d=f.length-1;d>=0;d--){var v=f[d].trim();!QC.test(v)&&KC.indexOf(v)<0&&(v='"'.concat(v,'"')),f[d]=v}return"".concat(s," ").concat(l," ").concat(c," ").concat(h," ").concat(f.join(","))}function sp(r,e,t){return Zn(r),r[4]=Math.tan(e),r[1]=Math.tan(t),r}var fr=mt(),qC=mt(),$C={scale:function(e){vi(fr,[e[0].value,e[1].value,1])},scaleX:function(e){vi(fr,[e[0].value,1,1])},scaleY:function(e){vi(fr,[1,e[0].value,1])},scaleZ:function(e){vi(fr,[1,1,e[0].value])},scale3d:function(e){vi(fr,[e[0].value,e[1].value,e[2].value])},translate:function(e){Dr(fr,[e[0].value,e[1].value,0])},translateX:function(e){Dr(fr,[e[0].value,0,0])},translateY:function(e){Dr(fr,[0,e[0].value,0])},translateZ:function(e){Dr(fr,[0,0,e[0].value])},translate3d:function(e){Dr(fr,[e[0].value,e[1].value,e[2].value])},rotate:function(e){Ou(fr,bn(bi(e[0])))},rotateX:function(e){Au(fr,bn(bi(e[0])))},rotateY:function(e){yg(fr,bn(bi(e[0])))},rotateZ:function(e){Ou(fr,bn(bi(e[0])))},rotate3d:function(e){Tu(fr,bn(bi(e[3])),[e[0].value,e[1].value,e[2].value])},skew:function(e){sp(fr,bn(e[0].value),bn(e[1].value))},skewX:function(e){sp(fr,bn(e[0].value),0)},skewY:function(e){sp(fr,0,bn(e[0].value))},matrix:function(e){Hn(fr,e[0].value,e[1].value,0,0,e[2].value,e[3].value,0,0,0,0,1,0,e[4].value,e[5].value,0,1)},matrix3d:function(e){Hn.apply(M,[fr].concat(K(e.map(function(t){return t.value}))))}},eN=me(1,1,1),tN=Me(),Bb={translate:function(e,t){Ke.sceneGraphService.setLocalScale(e,eN,!1),Ke.sceneGraphService.setLocalEulerAngles(e,tN,void 0,void 0,!1),Ke.sceneGraphService.setLocalPosition(e,[t[0].value,t[1].value,0],!1),Ke.sceneGraphService.dirtifyLocal(e,e.transformable)}};function zb(r,e){if(r.length){if(r.length===1&&Bb[r[0].t]){Bb[r[0].t](e,r[0].d);return}for(var t=Zn(qC),n=0;n<r.length;n++){var i=r[n],a=i.t,s=i.d,o=$C[a];o&&(o(s),Pg(t,t,fr))}e.setLocalTransform(t)}else e.resetLocalTransform();return e.getLocalTransform()}var nN=function(){function r(){_(this,r),this.parser=tC,this.mixer=cC}return N(r,[{key:"calculator",value:function(t,n,i,a){return i instanceof Ki?[]:i}},{key:"postProcessor",value:function(t){zb(t.parsedStyle.transform,t)}}])}(),rN=function(){function r(){_(this,r)}return N(r,[{key:"postProcessor",value:function(t){var n=t.parsedStyle.transformOrigin;n[0].unit===ut.kPixels&&n[1].unit===ut.kPixels?t.setOrigin(n[0].value,n[1].value):t.getGeometryBounds()}}])}(),iN=function(){function r(){_(this,r)}return N(r,[{key:"calculator",value:function(t,n,i,a){return i.value}},{key:"postProcessor",value:function(t){if(t.parentNode){var n=t.parentNode,i=n.renderable,a=n.sortable;i&&(i.dirty=!0),a&&(a.dirty=!0,a.dirtyReason=xh.Z_INDEX_CHANGED)}}}])}(),aN=function(){function r(){_(this,r)}return N(r,[{key:"update",value:function(t,n){var i=t.cx,a=i===void 0?0:i,s=t.cy,o=s===void 0?0:s,l=t.r,u=l===void 0?0:l;return{cx:a,cy:o,hwidth:u,hheight:u}}}])}(),sN=function(){function r(){_(this,r)}return N(r,[{key:"update",value:function(t,n){var i=t.cx,a=i===void 0?0:i,s=t.cy,o=s===void 0?0:s,l=t.rx,u=l===void 0?0:l,c=t.ry,h=c===void 0?0:c;return{cx:a,cy:o,hwidth:u,hheight:h}}}])}(),oN=function(){function r(){_(this,r)}return N(r,[{key:"update",value:function(t){var n=t.x1,i=t.y1,a=t.x2,s=t.y2,o=Math.min(n,a),l=Math.max(n,a),u=Math.min(i,s),c=Math.max(i,s),h=l-o,f=c-u,d=h/2,v=f/2;return{cx:o+d,cy:u+v,hwidth:d,hheight:v}}}])}(),lN=function(){function r(){_(this,r)}return N(r,[{key:"update",value:function(t){var n=t.d,i=n.rect,a=i.x,s=i.y,o=i.width,l=i.height,u=o/2,c=l/2;return{cx:a+u,cy:s+c,hwidth:u,hheight:c}}}])}(),uN=function(){function r(){_(this,r)}return N(r,[{key:"update",value:function(t){if(t.points&&pi(t.points.points)){var n=t.points.points,i=Math.min.apply(Math,K(n.map(function(f){return f[0]}))),a=Math.max.apply(Math,K(n.map(function(f){return f[0]}))),s=Math.min.apply(Math,K(n.map(function(f){return f[1]}))),o=Math.max.apply(Math,K(n.map(function(f){return f[1]}))),l=a-i,u=o-s,c=l/2,h=u/2;return{cx:i+c,cy:s+h,hwidth:c,hheight:h}}return{cx:0,cy:0,hwidth:0,hheight:0}}}])}(),cN=function(){function r(){_(this,r)}return N(r,[{key:"update",value:function(t,n){var i=t.x,a=i===void 0?0:i,s=t.y,o=s===void 0?0:s,l=t.src,u=t.width,c=u===void 0?0:u,h=t.height,f=h===void 0?0:h,d=c,v=f;return l&&!Xt(l)&&(d||(d=l.width,t.width=d),v||(v=l.height,t.height=v)),{cx:a+d/2,cy:o+v/2,hwidth:d/2,hheight:v/2}}}])}(),hN=function(){function r(e){_(this,r),this.globalRuntime=e}return N(r,[{key:"isReadyToMeasure",value:function(t,n){var i=t.text;return i}},{key:"update",value:function(t,n){var i,a=t.text,s=t.textAlign,o=s===void 0?"start":s,l=t.lineWidth,u=l===void 0?1:l,c=t.textBaseline,h=c===void 0?"alphabetic":c,f=t.dx,d=f===void 0?0:f,v=t.dy,g=v===void 0?0:v,p=t.x,m=p===void 0?0:p,b=t.y,x=b===void 0?0:b;if(!this.isReadyToMeasure(t,n))return t.metrics={font:"",width:0,height:0,lines:[],lineWidths:[],lineHeight:0,maxLineWidth:0,fontProperties:{ascent:0,descent:0,fontSize:0},lineMetrics:[]},{hwidth:0,hheight:0,cx:0,cy:0};var O=(n==null||(i=n.ownerDocument)===null||i===void 0||(i=i.defaultView)===null||i===void 0?void 0:i.getConfig())||{},T=O.offscreenCanvas,S=this.globalRuntime.textService.measureText(a,t,T);t.metrics=S;var k=S.width,C=S.height,W=k/2,U=C/2,J=m+W;o==="center"||o==="middle"?J+=u/2-W:(o==="right"||o==="end")&&(J+=u-W*2);var te=x-U;return h==="middle"?te+=U:h==="top"||h==="hanging"?te+=U*2:h==="alphabetic"||(h==="bottom"||h==="ideographic")&&(te+=0),d&&(J+=d),g&&(te+=g),{cx:J,cy:te,hwidth:W,hheight:U}}}])}(),fN=function(){function r(){_(this,r)}return N(r,[{key:"update",value:function(t,n){return{cx:0,cy:0,hwidth:0,hheight:0}}}])}(),dN=function(){function r(){_(this,r)}return N(r,[{key:"update",value:function(t,n){var i=t.x,a=i===void 0?0:i,s=t.y,o=s===void 0?0:s,l=t.width,u=l===void 0?0:l,c=t.height,h=c===void 0?0:c;return{cx:a+u/2,cy:o+h/2,hwidth:u/2,hheight:h/2}}}])}();function xU(r){return!!r.type}var Oh=function(){function r(e){_(this,r),this.eventPhase=r.prototype.NONE,this.bubbles=!0,this.cancelBubble=!0,this.cancelable=!1,this.defaultPrevented=!1,this.propagationStopped=!1,this.propagationImmediatelyStopped=!1,this.layer=new Ir,this.page=new Ir,this.canvas=new Ir,this.viewport=new Ir,this.composed=!1,this.NONE=0,this.CAPTURING_PHASE=1,this.AT_TARGET=2,this.BUBBLING_PHASE=3,this.manager=e}return N(r,[{key:"name",get:function(){return this.type}},{key:"layerX",get:function(){return this.layer.x}},{key:"layerY",get:function(){return this.layer.y}},{key:"pageX",get:function(){return this.page.x}},{key:"pageY",get:function(){return this.page.y}},{key:"x",get:function(){return this.canvas.x}},{key:"y",get:function(){return this.canvas.y}},{key:"canvasX",get:function(){return this.canvas.x}},{key:"canvasY",get:function(){return this.canvas.y}},{key:"viewportX",get:function(){return this.viewport.x}},{key:"viewportY",get:function(){return this.viewport.y}},{key:"composedPath",value:function(){return this.manager&&(!this.path||this.path[0]!==this.target)&&(this.path=this.target?this.manager.propagationPath(this.target):[]),this.path}},{key:"propagationPath",get:function(){return this.composedPath()}},{key:"preventDefault",value:function(){this.nativeEvent instanceof Event&&this.nativeEvent.cancelable&&this.nativeEvent.preventDefault(),this.defaultPrevented=!0}},{key:"stopImmediatePropagation",value:function(){this.propagationImmediatelyStopped=!0}},{key:"stopPropagation",value:function(){this.propagationStopped=!0}},{key:"initEvent",value:function(){}},{key:"initUIEvent",value:function(){}},{key:"clone",value:function(){throw new Error(yn)}}])}(),Fb=function(r){function e(){var t;_(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=Ee(this,e,[].concat(i)),t.client=new Ir,t.movement=new Ir,t.offset=new Ir,t.global=new Ir,t.screen=new Ir,t}return Pe(e,r),N(e,[{key:"clientX",get:function(){return this.client.x}},{key:"clientY",get:function(){return this.client.y}},{key:"movementX",get:function(){return this.movement.x}},{key:"movementY",get:function(){return this.movement.y}},{key:"offsetX",get:function(){return this.offset.x}},{key:"offsetY",get:function(){return this.offset.y}},{key:"globalX",get:function(){return this.global.x}},{key:"globalY",get:function(){return this.global.y}},{key:"screenX",get:function(){return this.screen.x}},{key:"screenY",get:function(){return this.screen.y}},{key:"getModifierState",value:function(n){return"getModifierState"in this.nativeEvent&&this.nativeEvent.getModifierState(n)}},{key:"initMouseEvent",value:function(){throw new Error(yn)}}])}(Oh),kh=function(r){function e(){var t;_(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=Ee(this,e,[].concat(i)),t.width=0,t.height=0,t.isPrimary=!1,t}return Pe(e,r),N(e,[{key:"getCoalescedEvents",value:function(){return this.type==="pointermove"||this.type==="mousemove"||this.type==="touchmove"?[this]:[]}},{key:"getPredictedEvents",value:function(){throw new Error("getPredictedEvents is not supported!")}},{key:"clone",value:function(){return this.manager.clonePointerEvent(this)}}])}(Fb),op=function(r){function e(){return _(this,e),Ee(this,e,arguments)}return Pe(e,r),N(e,[{key:"clone",value:function(){return this.manager.cloneWheelEvent(this)}}])}(Fb),Yr=function(r){function e(t,n){var i;return _(this,e),i=Ee(this,e,[null]),i.type=t,i.detail=n,Object.assign(i,n),i}return Pe(e,r),N(e)}(Oh),jb=new WeakMap,Gb=function(){function r(){_(this,r),this.emitter=new Je}return N(r,[{key:"on",value:function(t,n,i){return this.addEventListener(t,n,i),this}},{key:"addEventListener",value:function(t,n,i){var a=!1,s=!1;if(pl(i))a=i;else if(i){var o=i.capture;a=o===void 0?!1:o;var l=i.once;s=l===void 0?!1:l}a&&(t+="capture"),n=pt(n)?n:n.handleEvent;var u=pt(n)?void 0:n;return s?this.emitter.once(t,n,u):this.emitter.on(t,n,u),this}},{key:"off",value:function(t,n,i){return t?this.removeEventListener(t,n,i):this.removeAllEventListeners(),this}},{key:"removeAllEventListeners",value:function(){var t;(t=this.emitter)===null||t===void 0||t.removeAllListeners()}},{key:"removeEventListener",value:function(t,n,i){var a;if(!this.emitter)return this;var s=pl(i)?i:i==null?void 0:i.capture;s&&(t+="capture"),n=pt(n)?n:(a=n)===null||a===void 0?void 0:a.handleEvent;var o=pt(n)?void 0:n;return this.emitter.off(t,n,o),this}},{key:"emit",value:function(t,n){this.dispatchEvent(new Yr(t,n))}},{key:"dispatchEvent",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,i=jb.get(this);if(!i){var a;this.document?i=this:this.defaultView?i=this.defaultView:i=(a=this.ownerDocument)===null||a===void 0?void 0:a.defaultView,i&&jb.set(this,i)}if(i){if(t.manager=i.getEventService(),!t.manager)return!1;t.defaultPrevented=!1,t.path?t.path.length=0:t.page=[],n||(t.target=this),t.manager.dispatchEvent(t,t.type,n)}else this.emitter.emit(t.type,t);return!t.defaultPrevented}}])}(),Kn=function(r){function e(){var t;_(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=Ee(this,e,[].concat(i)),t.shadow=!1,t.ownerDocument=null,t.isConnected=!1,t.baseURI="",t.childNodes=[],t.nodeType=0,t.nodeName="",t.nodeValue=null,t.parentNode=null,t}return Pe(e,r),N(e,[{key:"textContent",get:function(){var n="";this.nodeName===je.TEXT&&(n+=this.style.text);var i=yl(this.childNodes),a;try{for(i.s();!(a=i.n()).done;){var s=a.value;s.nodeName===je.TEXT?n+=s.nodeValue:n+=s.textContent}}catch(o){i.e(o)}finally{i.f()}return n},set:function(n){var i=this;this.childNodes.slice().forEach(function(a){i.removeChild(a)}),this.nodeName===je.TEXT&&(this.style.text="".concat(n))}},{key:"getRootNode",value:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.parentNode?this.parentNode.getRootNode(n):n.composed&&this.host?this.host.getRootNode(n):this}},{key:"hasChildNodes",value:function(){return this.childNodes.length>0}},{key:"isDefaultNamespace",value:function(n){throw new Error(yn)}},{key:"lookupNamespaceURI",value:function(n){throw new Error(yn)}},{key:"lookupPrefix",value:function(n){throw new Error(yn)}},{key:"normalize",value:function(){throw new Error(yn)}},{key:"isEqualNode",value:function(n){return this===n}},{key:"isSameNode",value:function(n){return this.isEqualNode(n)}},{key:"parent",get:function(){return this.parentNode}},{key:"parentElement",get:function(){return null}},{key:"nextSibling",get:function(){return null}},{key:"previousSibling",get:function(){return null}},{key:"firstChild",get:function(){return this.childNodes.length>0?this.childNodes[0]:null}},{key:"lastChild",get:function(){return this.childNodes.length>0?this.childNodes[this.childNodes.length-1]:null}},{key:"compareDocumentPosition",value:function(n){if(n===this)return 0;for(var i=n,a=this,s=[i],o=[a];(l=i.parentNode)!==null&&l!==void 0?l:a.parentNode;){var l;i=i.parentNode?(s.push(i.parentNode),i.parentNode):i,a=a.parentNode?(o.push(a.parentNode),a.parentNode):a}if(i!==a)return e.DOCUMENT_POSITION_DISCONNECTED|e.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC|e.DOCUMENT_POSITION_PRECEDING;var u=s.length>o.length?s:o,c=u===s?o:s;if(u[u.length-c.length]===c[0])return u===s?e.DOCUMENT_POSITION_CONTAINED_BY|e.DOCUMENT_POSITION_FOLLOWING:e.DOCUMENT_POSITION_CONTAINS|e.DOCUMENT_POSITION_PRECEDING;for(var h=u.length-c.length,f=c.length-1;f>=0;f--){var d=c[f],v=u[h+f];if(v!==d){var g=d.parentNode.childNodes;return g.indexOf(d)<g.indexOf(v)?c===s?e.DOCUMENT_POSITION_PRECEDING:e.DOCUMENT_POSITION_FOLLOWING:u===s?e.DOCUMENT_POSITION_PRECEDING:e.DOCUMENT_POSITION_FOLLOWING}}return e.DOCUMENT_POSITION_FOLLOWING}},{key:"contain",value:function(n){return this.contains(n)}},{key:"contains",value:function(n){for(var i=n;i&&this!==i;)i=i.parentNode;return!!i}},{key:"getAncestor",value:function(n){for(var i=this;n>0&&i;)i=i.parentNode,n--;return i}},{key:"forEach",value:function(n){for(var i=[this];i.length>0;){var a=i.pop(),s=n(a);if(s===!1)break;for(var o=a.childNodes.length-1;o>=0;o--)i.push(a.childNodes[o])}}}],[{key:"isNode",value:function(n){return!!n.childNodes}}])}(Gb);Kn.DOCUMENT_POSITION_DISCONNECTED=1,Kn.DOCUMENT_POSITION_PRECEDING=2,Kn.DOCUMENT_POSITION_FOLLOWING=4,Kn.DOCUMENT_POSITION_CONTAINS=8,Kn.DOCUMENT_POSITION_CONTAINED_BY=16,Kn.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC=32;var vN=2048,gN=function(){function r(e,t){var n=this;_(this,r),this.emitter=new Je,this.nativeHTMLMap=new WeakMap,this.cursor="default",this.mappingTable={},this.mappingState={trackingData:{}},this.eventPool=new Map,this.tmpMatrix=mt(),this.tmpVec3=Me(),this.onPointerDown=function(i){var a=n.createPointerEvent(i);if(n.dispatchEvent(a,"pointerdown"),a.pointerType==="touch")n.dispatchEvent(a,"touchstart");else if(a.pointerType==="mouse"||a.pointerType==="pen"){var s=a.button===2;n.dispatchEvent(a,s?"rightdown":"mousedown")}var o=n.trackingData(i.pointerId);o.pressTargetsByButton[i.button]=a.composedPath(),n.freeEvent(a)},this.onPointerUp=function(i){var a=rp.now(),s=n.createPointerEvent(i,void 0,void 0,n.context.config.alwaysTriggerPointerEventOnCanvas?n.rootTarget:void 0);if(n.dispatchEvent(s,"pointerup"),s.pointerType==="touch")n.dispatchEvent(s,"touchend");else if(s.pointerType==="mouse"||s.pointerType==="pen"){var o=s.button===2;n.dispatchEvent(s,o?"rightup":"mouseup")}var l=n.trackingData(i.pointerId),u=n.findMountedTarget(l.pressTargetsByButton[i.button]),c=u;if(u&&!s.composedPath().includes(u)){for(var h=u;h&&!s.composedPath().includes(h);){if(s.currentTarget=h,n.notifyTarget(s,"pointerupoutside"),s.pointerType==="touch")n.notifyTarget(s,"touchendoutside");else if(s.pointerType==="mouse"||s.pointerType==="pen"){var f=s.button===2;n.notifyTarget(s,f?"rightupoutside":"mouseupoutside")}Kn.isNode(h)&&(h=h.parentNode)}delete l.pressTargetsByButton[i.button],c=h}if(c){var d,v=n.clonePointerEvent(s,"click");v.target=c,v.path=[],l.clicksByButton[i.button]||(l.clicksByButton[i.button]={clickCount:0,target:v.target,timeStamp:a});var g=n.context.renderingContext.root.ownerDocument.defaultView,p=l.clicksByButton[i.button];p.target===v.target&&a-p.timeStamp<g.dblClickSpeed?++p.clickCount:p.clickCount=1,p.target=v.target,p.timeStamp=a,v.detail=p.clickCount,(d=s.detail)!==null&&d!==void 0&&d.preventClick||(!n.context.config.useNativeClickEvent&&(v.pointerType==="mouse"||v.pointerType==="touch")&&n.dispatchEvent(v,"click"),n.dispatchEvent(v,"pointertap")),n.freeEvent(v)}n.freeEvent(s)},this.onPointerMove=function(i){var a=n.createPointerEvent(i,void 0,void 0,n.context.config.alwaysTriggerPointerEventOnCanvas?n.rootTarget:void 0),s=a.pointerType==="mouse"||a.pointerType==="pen",o=n.trackingData(i.pointerId),l=n.findMountedTarget(o.overTargets);if(o.overTargets&&l!==a.target){var u=i.type==="mousemove"?"mouseout":"pointerout",c=n.createPointerEvent(i,u,l||void 0);if(n.dispatchEvent(c,"pointerout"),s&&n.dispatchEvent(c,"mouseout"),!a.composedPath().includes(l)){var h=n.createPointerEvent(i,"pointerleave",l||void 0);for(h.eventPhase=h.AT_TARGET;h.target&&!a.composedPath().includes(h.target);)h.currentTarget=h.target,n.notifyTarget(h),s&&n.notifyTarget(h,"mouseleave"),Kn.isNode(h.target)&&(h.target=h.target.parentNode);n.freeEvent(h)}n.freeEvent(c)}if(l!==a.target){var f=i.type==="mousemove"?"mouseover":"pointerover",d=n.clonePointerEvent(a,f);n.dispatchEvent(d,"pointerover"),s&&n.dispatchEvent(d,"mouseover");for(var v=l&&Kn.isNode(l)&&l.parentNode;v&&v!==(Kn.isNode(n.rootTarget)&&n.rootTarget.parentNode)&&v!==a.target;)v=v.parentNode;var g=!v||v===(Kn.isNode(n.rootTarget)&&n.rootTarget.parentNode);if(g){var p=n.clonePointerEvent(a,"pointerenter");for(p.eventPhase=p.AT_TARGET;p.target&&p.target!==l&&p.target!==(Kn.isNode(n.rootTarget)&&n.rootTarget.parentNode);)p.currentTarget=p.target,n.notifyTarget(p),s&&n.notifyTarget(p,"mouseenter"),Kn.isNode(p.target)&&(p.target=p.target.parentNode);n.freeEvent(p)}n.freeEvent(d)}n.dispatchEvent(a,"pointermove"),a.pointerType==="touch"&&n.dispatchEvent(a,"touchmove"),s&&(n.dispatchEvent(a,"mousemove"),n.cursor=n.getCursor(a.target)),o.overTargets=a.composedPath(),n.freeEvent(a)},this.onPointerOut=function(i){var a=n.trackingData(i.pointerId);if(a.overTargets){var s=i.pointerType==="mouse"||i.pointerType==="pen",o=n.findMountedTarget(a.overTargets),l=n.createPointerEvent(i,"pointerout",o||void 0);n.dispatchEvent(l),s&&n.dispatchEvent(l,"mouseout");var u=n.createPointerEvent(i,"pointerleave",o||void 0);for(u.eventPhase=u.AT_TARGET;u.target&&u.target!==(Kn.isNode(n.rootTarget)&&n.rootTarget.parentNode);)u.currentTarget=u.target,n.notifyTarget(u),s&&n.notifyTarget(u,"mouseleave"),Kn.isNode(u.target)&&(u.target=u.target.parentNode);a.overTargets=null,n.freeEvent(l),n.freeEvent(u)}n.cursor=null},this.onPointerOver=function(i){var a=n.trackingData(i.pointerId),s=n.createPointerEvent(i),o=s.pointerType==="mouse"||s.pointerType==="pen";n.dispatchEvent(s,"pointerover"),o&&n.dispatchEvent(s,"mouseover"),s.pointerType==="mouse"&&(n.cursor=n.getCursor(s.target));var l=n.clonePointerEvent(s,"pointerenter");for(l.eventPhase=l.AT_TARGET;l.target&&l.target!==(Kn.isNode(n.rootTarget)&&n.rootTarget.parentNode);)l.currentTarget=l.target,n.notifyTarget(l),o&&n.notifyTarget(l,"mouseenter"),Kn.isNode(l.target)&&(l.target=l.target.parentNode);a.overTargets=s.composedPath(),n.freeEvent(s),n.freeEvent(l)},this.onPointerUpOutside=function(i){var a=n.trackingData(i.pointerId),s=n.findMountedTarget(a.pressTargetsByButton[i.button]),o=n.createPointerEvent(i);if(s){for(var l=s;l;)o.currentTarget=l,n.notifyTarget(o,"pointerupoutside"),o.pointerType==="touch"||(o.pointerType==="mouse"||o.pointerType==="pen")&&n.notifyTarget(o,o.button===2?"rightupoutside":"mouseupoutside"),Kn.isNode(l)&&(l=l.parentNode);delete a.pressTargetsByButton[i.button]}n.freeEvent(o)},this.onWheel=function(i){var a=n.createWheelEvent(i);n.dispatchEvent(a),n.freeEvent(a)},this.onClick=function(i){if(n.context.config.useNativeClickEvent){var a=n.createPointerEvent(i);n.dispatchEvent(a),n.freeEvent(a)}},this.onPointerCancel=function(i){var a=n.createPointerEvent(i,void 0,void 0,n.context.config.alwaysTriggerPointerEventOnCanvas?n.rootTarget:void 0);n.dispatchEvent(a),n.freeEvent(a)},this.globalRuntime=e,this.context=t}return N(r,[{key:"init",value:function(){this.rootTarget=this.context.renderingContext.root.parentNode,this.addEventMapping("pointerdown",this.onPointerDown),this.addEventMapping("pointerup",this.onPointerUp),this.addEventMapping("pointermove",this.onPointerMove),this.addEventMapping("pointerout",this.onPointerOut),this.addEventMapping("pointerleave",this.onPointerOut),this.addEventMapping("pointercancel",this.onPointerCancel),this.addEventMapping("pointerover",this.onPointerOver),this.addEventMapping("pointerupoutside",this.onPointerUpOutside),this.addEventMapping("wheel",this.onWheel),this.addEventMapping("click",this.onClick)}},{key:"destroy",value:function(){this.emitter.removeAllListeners(),this.mappingTable={},this.mappingState={},this.eventPool.clear()}},{key:"getScale",value:function(){var t=this.context.contextService.getBoundingClientRect(),n=1,i=1,a=this.context.contextService.getDomElement();if(a&&t){var s=a.offsetWidth,o=a.offsetHeight;s&&o&&(n=t.width/s,i=t.height/o)}return{scaleX:n,scaleY:i,bbox:t}}},{key:"client2Viewport",value:function(t){var n=this.getScale(),i=n.scaleX,a=n.scaleY,s=n.bbox;return new Ir((t.x-((s==null?void 0:s.left)||0))/i,(t.y-((s==null?void 0:s.top)||0))/a)}},{key:"viewport2Client",value:function(t){var n=this.getScale(),i=n.scaleX,a=n.scaleY,s=n.bbox;return new Ir((t.x+((s==null?void 0:s.left)||0))*i,(t.y+((s==null?void 0:s.top)||0))*a)}},{key:"viewport2Canvas",value:function(t){var n=t.x,i=t.y,a=this.rootTarget.defaultView,s=a.getCamera(),o=this.context.config,l=o.width,u=o.height,c=s.getPerspectiveInverse(),h=s.getWorldTransform(),f=Ut(this.tmpMatrix,h,c),d=Ae(this.tmpVec3,n/l*2-1,(1-i/u)*2-1,0);return Dn(d,d,f),new Ir(d[0],d[1])}},{key:"canvas2Viewport",value:function(t){var n=this.rootTarget.defaultView,i=n.getCamera(),a=i.getPerspective(),s=i.getViewTransform(),o=Ut(this.tmpMatrix,a,s),l=Ae(this.tmpVec3,t.x,t.y,0);Dn(this.tmpVec3,this.tmpVec3,o);var u=this.context.config,c=u.width,h=u.height;return new Ir((l[0]+1)/2*c,(1-(l[1]+1)/2)*h)}},{key:"setPickHandler",value:function(t){this.pickHandler=t}},{key:"addEventMapping",value:function(t,n){this.mappingTable[t]||(this.mappingTable[t]=[]),this.mappingTable[t].push({fn:n,priority:0}),this.mappingTable[t].sort(function(i,a){return i.priority-a.priority})}},{key:"mapEvent",value:function(t){if(this.rootTarget){var n=this.mappingTable[t.type];if(n)for(var i=0,a=n.length;i<a;i++)n[i].fn(t);else console.warn("[EventService]: Event mapping not defined for ".concat(t.type))}}},{key:"dispatchEvent",value:function(t,n,i){if(!i)t.propagationStopped=!1,t.propagationImmediatelyStopped=!1,this.propagate(t,n);else{t.eventPhase=t.AT_TARGET;var a=this.rootTarget.defaultView||null;t.currentTarget=a,this.notifyListeners(t,n)}this.emitter.emit(n||t.type,t)}},{key:"propagate",value:function(t,n){if(t.target){var i=t.composedPath();t.eventPhase=t.CAPTURING_PHASE;for(var a=i.length-1;a>=1;a--)if(t.currentTarget=i[a],this.notifyTarget(t,n),t.propagationStopped||t.propagationImmediatelyStopped)return;if(t.eventPhase=t.AT_TARGET,t.currentTarget=t.target,this.notifyTarget(t,n),!(t.propagationStopped||t.propagationImmediatelyStopped)){var s=i.indexOf(t.currentTarget);t.eventPhase=t.BUBBLING_PHASE;for(var o=s+1;o<i.length;o++)if(t.currentTarget=i[o],this.notifyTarget(t,n),t.propagationStopped||t.propagationImmediatelyStopped)return}}}},{key:"propagationPath",value:function(t){var n=[t],i=this.rootTarget.defaultView||null;if(i&&i===t)return n.unshift(i.document),n;for(var a=0;a<vN&&t!==this.rootTarget;a++)Kn.isNode(t)&&t.parentNode&&(n.push(t.parentNode),t=t.parentNode);return i&&n.push(i),n}},{key:"hitTest",value:function(t){var n=t.viewportX,i=t.viewportY,a=this.context.config,s=a.width,o=a.height,l=a.disableHitTesting;return n<0||i<0||n>s||i>o?null:!l&&this.pickHandler(t)||this.rootTarget||null}},{key:"isNativeEventFromCanvas",value:function(t,n){var i,a=n==null?void 0:n.target;if((i=a)!==null&&i!==void 0&&i.shadowRoot&&(a=n.composedPath()[0]),a){if(a===t)return!0;if(t&&t.contains)return t.contains(a)}return n!=null&&n.composedPath?n.composedPath().indexOf(t)>-1:!1}},{key:"getExistedHTML",value:function(t){if(t.nativeEvent.composedPath)for(var n=0,i=t.nativeEvent.composedPath();n<i.length;n++){var a=i[n],s=this.nativeHTMLMap.get(a);if(s)return s}return null}},{key:"pickTarget",value:function(t){return this.hitTest({clientX:t.clientX,clientY:t.clientY,viewportX:t.viewportX,viewportY:t.viewportY,x:t.canvasX,y:t.canvasY})}},{key:"createPointerEvent",value:function(t,n,i,a){var s=this.allocateEvent(kh);this.copyPointerData(t,s),this.copyMouseData(t,s),this.copyData(t,s),s.nativeEvent=t.nativeEvent,s.originalEvent=t;var o=this.getExistedHTML(s),l=this.context.contextService.getDomElement();return s.target=i!=null?i:o||this.isNativeEventFromCanvas(l,s.nativeEvent)&&this.pickTarget(s)||a,typeof n=="string"&&(s.type=n),s}},{key:"createWheelEvent",value:function(t){var n=this.allocateEvent(op);this.copyWheelData(t,n),this.copyMouseData(t,n),this.copyData(t,n),n.nativeEvent=t.nativeEvent,n.originalEvent=t;var i=this.getExistedHTML(n),a=this.context.contextService.getDomElement();return n.target=i||this.isNativeEventFromCanvas(a,n.nativeEvent)&&this.pickTarget(n),n}},{key:"trackingData",value:function(t){return this.mappingState.trackingData[t]||(this.mappingState.trackingData[t]={pressTargetsByButton:{},clicksByButton:{},overTarget:null}),this.mappingState.trackingData[t]}},{key:"cloneWheelEvent",value:function(t){var n=this.allocateEvent(op);return n.nativeEvent=t.nativeEvent,n.originalEvent=t.originalEvent,this.copyWheelData(t,n),this.copyMouseData(t,n),this.copyData(t,n),n.target=t.target,n.path=t.composedPath().slice(),n.type=t.type,n}},{key:"clonePointerEvent",value:function(t,n){var i=this.allocateEvent(kh);return i.nativeEvent=t.nativeEvent,i.originalEvent=t.originalEvent,this.copyPointerData(t,i),this.copyMouseData(t,i),this.copyData(t,i),i.target=t.target,i.path=t.composedPath().slice(),i.type=n!=null?n:i.type,i}},{key:"copyPointerData",value:function(t,n){n.pointerId=t.pointerId,n.width=t.width,n.height=t.height,n.isPrimary=t.isPrimary,n.pointerType=t.pointerType,n.pressure=t.pressure,n.tangentialPressure=t.tangentialPressure,n.tiltX=t.tiltX,n.tiltY=t.tiltY,n.twist=t.twist}},{key:"copyMouseData",value:function(t,n){n.altKey=t.altKey,n.button=t.button,n.buttons=t.buttons,n.ctrlKey=t.ctrlKey,n.metaKey=t.metaKey,n.shiftKey=t.shiftKey,n.client.copyFrom(t.client),n.movement.copyFrom(t.movement),n.canvas.copyFrom(t.canvas),n.screen.copyFrom(t.screen),n.global.copyFrom(t.global),n.offset.copyFrom(t.offset)}},{key:"copyWheelData",value:function(t,n){n.deltaMode=t.deltaMode,n.deltaX=t.deltaX,n.deltaY=t.deltaY,n.deltaZ=t.deltaZ}},{key:"copyData",value:function(t,n){n.isTrusted=t.isTrusted,n.timeStamp=rp.now(),n.type=t.type,n.detail=t.detail,n.view=t.view,n.page.copyFrom(t.page),n.viewport.copyFrom(t.viewport)}},{key:"allocateEvent",value:function(t){this.eventPool.has(t)||this.eventPool.set(t,[]);var n=this.eventPool.get(t).pop()||new t(this);return n.eventPhase=n.NONE,n.currentTarget=null,n.path=[],n.target=null,n}},{key:"freeEvent",value:function(t){if(t.manager!==this)throw new Error("It is illegal to free an event not managed by this EventBoundary!");var n=t.constructor;this.eventPool.has(n)||this.eventPool.set(n,[]),this.eventPool.get(n).push(t)}},{key:"notifyTarget",value:function(t,n){var i;n=(i=n)!==null&&i!==void 0?i:t.type;var a=t.eventPhase===t.CAPTURING_PHASE||t.eventPhase===t.AT_TARGET?"".concat(n,"capture"):n;this.notifyListeners(t,a),t.eventPhase===t.AT_TARGET&&this.notifyListeners(t,n)}},{key:"notifyListeners",value:function(t,n){var i=t.currentTarget.emitter,a=i._events[n];if(a)if("fn"in a)a.once&&i.removeListener(n,a.fn,void 0,!0),a.fn.call(t.currentTarget||a.context,t);else for(var s=0;s<a.length&&!t.propagationImmediatelyStopped;s++)a[s].once&&i.removeListener(n,a[s].fn,void 0,!0),a[s].fn.call(t.currentTarget||a[s].context,t)}},{key:"findMountedTarget",value:function(t){if(!t)return null;for(var n=t[t.length-1],i=t.length-2;i>=0;i--){var a=t[i];if(a===this.rootTarget||Kn.isNode(a)&&a.parentNode===n)n=t[i];else break}return n}},{key:"getCursor",value:function(t){for(var n=t;n;){var i=NC(n)&&n.getAttribute("cursor");if(i)return i;n=Kn.isNode(n)&&n.parentNode}}}])}(),lp=function(){function r(){_(this,r)}return N(r,[{key:"getOrCreateCanvas",value:function(t,n){if(this.canvas)return this.canvas;if(t||Ke.offscreenCanvas)this.canvas=t||Ke.offscreenCanvas,this.context=this.canvas.getContext("2d",D({willReadFrequently:!0},n));else try{this.canvas=new window.OffscreenCanvas(0,0),this.context=this.canvas.getContext("2d",D({willReadFrequently:!0},n)),(!this.context||!this.context.measureText)&&(this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d"))}catch(i){this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d",D({willReadFrequently:!0},n))}return this.canvas.width=10,this.canvas.height=10,this.canvas}},{key:"getOrCreateContext",value:function(t,n){return this.context?this.context:(this.getOrCreateCanvas(t,n),this.context)}}],[{key:"createCanvas",value:function(){try{return new window.OffscreenCanvas(0,0)}catch(t){}try{return document.createElement("canvas")}catch(t){}return null}}])}(),Tl=function(r){return r[r.CAMERA_CHANGED=0]="CAMERA_CHANGED",r[r.DISPLAY_OBJECT_CHANGED=1]="DISPLAY_OBJECT_CHANGED",r[r.NONE=2]="NONE",r}({}),pN=function(){function r(e,t){_(this,r),this.inited=!1,this.stats={total:0,rendered:0},this.zIndexCounter=0,this.hooks={init:new ti,initAsync:new UC,dirtycheck:new ap,cull:new ap,beginFrame:new ti,beforeRender:new ti,render:new ti,afterRender:new ti,endFrame:new ti,destroy:new ti,pick:new ZC,pickSync:new ap,pointerDown:new ti,pointerUp:new ti,pointerMove:new ti,pointerOut:new ti,pointerOver:new ti,pointerWheel:new ti,pointerCancel:new ti,click:new ti},this.globalRuntime=e,this.context=t}return N(r,[{key:"init",value:function(t){var n=this,i=D(D({},this.globalRuntime),this.context);this.context.renderingPlugins.forEach(function(a){a.apply(i,n.globalRuntime)}),this.hooks.init.call(),this.hooks.initAsync.getCallbacksNum()===0?(this.inited=!0,t()):this.hooks.initAsync.promise().then(function(){n.inited=!0,t()}).catch(function(a){})}},{key:"getStats",value:function(){return this.stats}},{key:"disableDirtyRectangleRendering",value:function(){var t=this.context.config.renderer,n=t.getConfig(),i=n.enableDirtyRectangleRendering;return!i||this.context.renderingContext.renderReasons.has(Tl.CAMERA_CHANGED)}},{key:"render",value:function(t,n,i){var a=this;this.stats.total=0,this.stats.rendered=0,this.zIndexCounter=0;var s=this.context.renderingContext;if(this.globalRuntime.sceneGraphService.syncHierarchy(s.root),this.globalRuntime.sceneGraphService.triggerPendingEvents(),s.renderReasons.size&&this.inited){s.dirtyRectangleRenderingDisabled=this.disableDirtyRectangleRendering();var o=s.renderReasons.size===1&&s.renderReasons.has(Tl.CAMERA_CHANGED),l=!t.disableRenderHooks||!(t.disableRenderHooks&&o);l&&this.renderDisplayObject(s.root,t,s),this.hooks.beginFrame.call(n),l&&s.renderListCurrentFrame.forEach(function(u){a.hooks.beforeRender.call(u),a.hooks.render.call(u),a.hooks.afterRender.call(u)}),this.hooks.endFrame.call(n),s.renderListCurrentFrame=[],s.renderReasons.clear(),i()}}},{key:"renderDisplayObject",value:function(t,n,i){var a=this,s=n.renderer.getConfig(),o=s.enableDirtyCheck,l=s.enableCulling;function u(v){var g=v.renderable,p=v.sortable,m=o?g.dirty||i.dirtyRectangleRenderingDisabled?v:null:v;if(m){var b=l?a.hooks.cull.call(m,a.context.camera):m;b&&(a.stats.rendered+=1,i.renderListCurrentFrame.push(b))}g.dirty=!1,p.renderOrder=a.zIndexCounter,a.zIndexCounter+=1,a.stats.total+=1,p.dirty&&(a.sort(v,p),p.dirty=!1,p.dirtyChildren=[],p.dirtyReason=void 0)}for(var c=[t];c.length>0;){var h=c.pop();u(h);for(var f=h.sortable.sorted||h.childNodes,d=f.length-1;d>=0;d--)c.push(f[d])}}},{key:"sort",value:function(t,n){n.sorted&&n.dirtyReason!==xh.Z_INDEX_CHANGED?n.dirtyChildren.forEach(function(i){var a=t.childNodes.indexOf(i);if(a===-1){var s=n.sorted.indexOf(i);s>=0&&n.sorted.splice(s,1)}else if(n.sorted.length===0)n.sorted.push(i);else{var o=_C(n.sorted,i);n.sorted.splice(o,0,i)}}):n.sorted=t.childNodes.slice().sort(kb)}},{key:"destroy",value:function(){this.inited=!1,this.hooks.destroy.call(),this.globalRuntime.sceneGraphService.clearPendingEvents()}},{key:"dirtify",value:function(){this.context.renderingContext.renderReasons.add(Tl.DISPLAY_OBJECT_CHANGED)}}])}(),mN=/\[\s*(.*)=(.*)\s*\]/,yN=function(){function r(){_(this,r)}return N(r,[{key:"selectOne",value:function(t,n){var i=this;if(t.startsWith("."))return n.find(function(l){return((l==null?void 0:l.classList)||[]).indexOf(i.getIdOrClassname(t))>-1});if(t.startsWith("#"))return n.find(function(l){return l.id===i.getIdOrClassname(t)});if(t.startsWith("[")){var a=this.getAttribute(t),s=a.name,o=a.value;return s?n.find(function(l){return n!==l&&(s==="name"?l.name===o:i.attributeToString(l,s)===o)}):null}return n.find(function(l){return n!==l&&l.nodeName===t})}},{key:"selectAll",value:function(t,n){var i=this;if(t.startsWith("."))return n.findAll(function(l){return n!==l&&((l==null?void 0:l.classList)||[]).indexOf(i.getIdOrClassname(t))>-1});if(t.startsWith("#"))return n.findAll(function(l){return n!==l&&l.id===i.getIdOrClassname(t)});if(t.startsWith("[")){var a=this.getAttribute(t),s=a.name,o=a.value;return s?n.findAll(function(l){return n!==l&&(s==="name"?l.name===o:i.attributeToString(l,s)===o)}):[]}return n.findAll(function(l){return n!==l&&l.nodeName===t})}},{key:"is",value:function(t,n){if(t.startsWith("."))return n.className===this.getIdOrClassname(t);if(t.startsWith("#"))return n.id===this.getIdOrClassname(t);if(t.startsWith("[")){var i=this.getAttribute(t),a=i.name,s=i.value;return a==="name"?n.name===s:this.attributeToString(n,a)===s}return n.nodeName===t}},{key:"getIdOrClassname",value:function(t){return t.substring(1)}},{key:"getAttribute",value:function(t){var n=t.match(mN),i="",a="";return n&&n.length>2&&(i=n[1].replace(/"/g,""),a=n[2].replace(/"/g,"")),{name:i,value:a}}},{key:"attributeToString",value:function(t,n){if(!t.getAttribute)return"";var i=t.getAttribute(n);return vt(i)?"":i.toString?i.toString():""}}])}(),Qt=function(r){return r.REPARENT="reparent",r.DESTROY="destroy",r.ATTR_MODIFIED="DOMAttrModified",r.INSERTED="DOMNodeInserted",r.REMOVED="removed",r.MOUNTED="DOMNodeInsertedIntoDocument",r.UNMOUNTED="DOMNodeRemovedFromDocument",r.BOUNDS_CHANGED="bounds-changed",r.CULLED="culled",r}({}),Za=function(r){function e(t,n,i,a,s,o,l,u){var c;return _(this,e),c=Ee(this,e,[null]),c.relatedNode=n,c.prevValue=i,c.newValue=a,c.attrName=s,c.attrChange=o,c.prevParsedValue=l,c.newParsedValue=u,c.type=t,c}return Pe(e,r),N(e)}(Oh);Za.ADDITION=2,Za.MODIFICATION=1,Za.REMOVAL=3;function Hb(r){var e=r.renderable;e&&(e.renderBoundsDirty=!0,e.boundsDirty=!0)}var bN=new Za(Qt.REPARENT,null,"","","",0,"",""),xN=Cu(),Ch=Me(),EN=me(1,1,1),wN=mt(),PN=Cu(),zs=Me(),Al=mt(),Fs=en(),MN=Me(),SN=en(),TN=Me(),Xu=Me(),ko=Me(),Nh=mt(),Xb=en(),Wb=en(),_h=en(),up={affectChildren:!0},AN=function(){function r(e){_(this,r),this.pendingEvents=new Map,this.boundsChangedEvent=new Yr(Qt.BOUNDS_CHANGED),this.displayObjectDependencyMap=new WeakMap,this.runtime=e}return N(r,[{key:"matches",value:function(t,n){return this.runtime.sceneGraphSelector.is(t,n)}},{key:"querySelector",value:function(t,n){return this.runtime.sceneGraphSelector.selectOne(t,n)}},{key:"querySelectorAll",value:function(t,n){return this.runtime.sceneGraphSelector.selectAll(t,n)}},{key:"attach",value:function(t,n,i){var a,s=!1;t.parentNode&&(s=t.parentNode!==n,this.detach(t));var o=t.nodeName===je.FRAGMENT,l=Ah(n);t.parentNode=n;var u=o?t.childNodes:[t];ht(i)?u.forEach(function(d){n.childNodes.splice(i,0,d),d.parentNode=n}):u.forEach(function(d){n.childNodes.push(d),d.parentNode=n});var c=n,h=c.sortable;if((h!=null&&(a=h.sorted)!==null&&a!==void 0&&a.length||t.parsedStyle.zIndex)&&(h.dirtyChildren.indexOf(t)===-1&&h.dirtyChildren.push(t),h.dirty=!0,h.dirtyReason=xh.ADDED),!l){if(o)this.dirtifyFragment(t);else{var f=t.transformable;f&&this.dirtifyWorld(t,f)}s&&t.dispatchEvent(bN)}}},{key:"detach",value:function(t){if(t.parentNode){var n,i,a=t.transformable,s=t.parentNode,o=s.sortable;(o!=null&&(n=o.sorted)!==null&&n!==void 0&&n.length||(i=t.style)!==null&&i!==void 0&&i.zIndex)&&(o.dirtyChildren.indexOf(t)===-1&&o.dirtyChildren.push(t),o.dirty=!0,o.dirtyReason=xh.REMOVED);var l=t.parentNode.childNodes.indexOf(t);l>-1&&t.parentNode.childNodes.splice(l,1),a&&this.dirtifyWorld(t,a),t.parentNode=null}}},{key:"getOrigin",value:function(t){return t.getGeometryBounds(),t.transformable.origin}},{key:"setOrigin",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof n=="number"&&(n=[n,i,a]);var s=t.transformable;if(!(n[0]===s.origin[0]&&n[1]===s.origin[1]&&n[2]===s.origin[2])){var o=s.origin;o[0]=n[0],o[1]=n[1],o[2]=n[2]||0,this.dirtifyLocal(t,s)}}},{key:"rotate",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof n=="number"&&(n=me(n,i,a));var s=t.transformable;if(t.parentNode===null||!t.parentNode.transformable)this.rotateLocal(t,n);else{var o=Fs;Rs(o,n[0],n[1],n[2]);var l=this.getRotation(t),u=this.getRotation(t.parentNode);Ls(_h,u),ul(_h,_h),qr(o,_h,o),qr(s.localRotation,o,l),cl(s.localRotation,s.localRotation),this.dirtifyLocal(t,s)}}},{key:"rotateLocal",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof n=="number"&&(n=me(n,i,a));var s=t.transformable;Rs(Wb,n[0],n[1],n[2]),ah(s.localRotation,s.localRotation,Wb),this.dirtifyLocal(t,s)}},{key:"setEulerAngles",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof n=="number"&&(n=me(n,i,a));var s=t.transformable;if(t.parentNode===null||!t.parentNode.transformable)this.setLocalEulerAngles(t,n);else{Rs(s.localRotation,n[0],n[1],n[2]);var o=this.getRotation(t.parentNode);Ls(Xb,ul(Fs,o)),ah(s.localRotation,s.localRotation,Xb),this.dirtifyLocal(t,s)}}},{key:"setLocalEulerAngles",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;typeof n=="number"&&(n=me(n,i,a));var o=t.transformable;Rs(o.localRotation,n[0],n[1],n[2]),s&&this.dirtifyLocal(t,o)}},{key:"translateLocal",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof n=="number"&&(n=me(n,i,a));var s=t.transformable;Rr(n,Ch)||(mo(n,n,s.localRotation),He(s.localPosition,s.localPosition,n),this.dirtifyLocal(t,s))}},{key:"setPosition",value:function(t,n){var i,a=t.transformable;if(ko[0]=n[0],ko[1]=n[1],ko[2]=(i=n[2])!==null&&i!==void 0?i:0,!Rr(this.getPosition(t),ko)){if(Te(a.position,ko),t.parentNode===null||!t.parentNode.transformable)Te(a.localPosition,ko);else{var s=t.parentNode.transformable;_n(Nh,s.worldTransform),Ot(Nh,Nh),Dn(a.localPosition,ko,Nh)}this.dirtifyLocal(t,a)}}},{key:"setLocalPosition",value:function(t,n){var i,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,s=t.transformable;Xu[0]=n[0],Xu[1]=n[1],Xu[2]=(i=n[2])!==null&&i!==void 0?i:0,!Rr(s.localPosition,Xu)&&(Te(s.localPosition,Xu),a&&this.dirtifyLocal(t,s))}},{key:"scaleLocal",value:function(t,n){var i,a=t.transformable;Ft(a.localScale,a.localScale,Ae(zs,n[0],n[1],(i=n[2])!==null&&i!==void 0?i:1)),this.dirtifyLocal(t,a)}},{key:"setLocalScale",value:function(t,n){var i,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,s=t.transformable;Ae(zs,n[0],n[1],(i=n[2])!==null&&i!==void 0?i:s.localScale[2]),!Rr(zs,s.localScale)&&(Te(s.localScale,zs),a&&this.dirtifyLocal(t,s))}},{key:"translate",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof n=="number"&&(n=Ae(zs,n,i,a)),!Rr(n,Ch)&&(He(zs,this.getPosition(t),n),this.setPosition(t,zs))}},{key:"setRotation",value:function(t,n,i,a,s){var o=t.transformable;if(typeof n=="number"&&(n=$y(n,i,a,s)),t.parentNode===null||!t.parentNode.transformable)this.setLocalRotation(t,n);else{var l=this.getRotation(t.parentNode);Ls(Fs,l),ul(Fs,Fs),qr(o.localRotation,Fs,n),cl(o.localRotation,o.localRotation),this.dirtifyLocal(t,o)}}},{key:"setLocalRotation",value:function(t,n,i,a,s){var o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;typeof n=="number"&&(n=ih(Fs,n,i,a,s));var l=t.transformable;Ls(l.localRotation,n),o&&this.dirtifyLocal(t,l)}},{key:"setLocalSkew",value:function(t,n,i){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;typeof n=="number"&&(n=t1(PN,n,i));var s=t.transformable;e1(s.localSkew,n),a&&this.dirtifyLocal(t,s)}},{key:"dirtifyLocal",value:function(t,n){Ah(t)||n.localDirtyFlag||(n.localDirtyFlag=!0,n.dirtyFlag||this.dirtifyWorld(t,n))}},{key:"dirtifyWorld",value:function(t,n){n.dirtyFlag||this.unfreezeParentToRoot(t),this.dirtifyWorldInternal(t,n),this.dirtifyToRoot(t,!0)}},{key:"dirtifyFragment",value:function(t){var n=t.transformable;n&&(n.frozen=!1,n.dirtyFlag=!0,n.localDirtyFlag=!0);var i=t.renderable;i&&(i.renderBoundsDirty=!0,i.boundsDirty=!0,i.dirty=!0);for(var a=t.childNodes.length,s=0;s<a;s++)this.dirtifyFragment(t.childNodes[s]);t.nodeName===je.FRAGMENT&&this.pendingEvents.set(t,!1)}},{key:"triggerPendingEvents",value:function(){var t=this,n=new Set,i=function(s,o){!s.isConnected||n.has(s)||s.nodeName===je.FRAGMENT||(t.boundsChangedEvent.detail=o,t.boundsChangedEvent.target=s,s.isMutationObserved?s.dispatchEvent(t.boundsChangedEvent):s.ownerDocument.defaultView.dispatchEvent(t.boundsChangedEvent,!0),n.add(s))};this.pendingEvents.forEach(function(a,s){s.nodeName!==je.FRAGMENT&&(up.affectChildren=a,a?s.forEach(function(o){i(o,up)}):i(s,up))}),n.clear(),this.clearPendingEvents()}},{key:"clearPendingEvents",value:function(){this.pendingEvents.clear()}},{key:"dirtifyToRoot",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,i=t;for(i.renderable&&(i.renderable.dirty=!0);i;)Hb(i),i=i.parentNode;n&&t.forEach(function(a){Hb(a)}),this.informDependentDisplayObjects(t),this.pendingEvents.set(t,n)}},{key:"updateDisplayObjectDependency",value:function(t,n,i,a){if(n&&n!==i){var s=this.displayObjectDependencyMap.get(n);if(s&&s[t]){var o=s[t].indexOf(a);s[t].splice(o,1)}}if(i){var l=this.displayObjectDependencyMap.get(i);l||(this.displayObjectDependencyMap.set(i,{}),l=this.displayObjectDependencyMap.get(i)),l[t]||(l[t]=[]),l[t].push(a)}}},{key:"informDependentDisplayObjects",value:function(t){var n=this,i=this.displayObjectDependencyMap.get(t);i&&Object.keys(i).forEach(function(a){i[a].forEach(function(s){n.dirtifyToRoot(s,!0),s.dispatchEvent(new Za(Qt.ATTR_MODIFIED,s,n,n,a,Za.MODIFICATION,n,n)),s.isCustomElement&&s.isConnected&&s.attributeChangedCallback&&s.attributeChangedCallback(a,n,n)})})}},{key:"getPosition",value:function(t){var n=t.transformable;return yo(n.position,this.getWorldTransform(t,n))}},{key:"getRotation",value:function(t){var n=t.transformable;return bo(n.rotation,this.getWorldTransform(t,n))}},{key:"getScale",value:function(t){var n=t.transformable;return Wa(n.scaling,this.getWorldTransform(t,n))}},{key:"getWorldTransform",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t.transformable;return!n.localDirtyFlag&&!n.dirtyFlag||(t.parentNode&&t.parentNode.transformable&&this.getWorldTransform(t.parentNode),this.sync(t,n)),n.worldTransform}},{key:"getLocalPosition",value:function(t){return t.transformable.localPosition}},{key:"getLocalRotation",value:function(t){return t.transformable.localRotation}},{key:"getLocalScale",value:function(t){return t.transformable.localScale}},{key:"getLocalSkew",value:function(t){return t.transformable.localSkew}},{key:"calcLocalTransform",value:function(t){var n=t.localSkew[0]!==0||t.localSkew[1]!==0;if(n){vs(t.localTransform,t.localRotation,t.localPosition,me(1,1,1),t.origin),(t.localSkew[0]!==0||t.localSkew[1]!==0)&&(Zn(Al),Al[4]=Math.tan(t.localSkew[0]),Al[1]=Math.tan(t.localSkew[1]),Ut(t.localTransform,t.localTransform,Al));var i=vs(Al,ih(Fs,0,0,0,1),Ae(zs,1,1,1),t.localScale,t.origin);Ut(t.localTransform,t.localTransform,i)}else{var a=t.localTransform,s=t.localPosition,o=t.localRotation,l=t.localScale,u=t.origin,c=s[0]!==0||s[1]!==0||s[2]!==0,h=o[3]!==1||o[0]!==0||o[1]!==0||o[2]!==0,f=l[0]!==1||l[1]!==1||l[2]!==1,d=u[0]!==0||u[1]!==0||u[2]!==0;!h&&!f&&!d?c?Dr(a,s):Zn(a):vs(a,o,s,l,u)}}},{key:"getLocalTransform",value:function(t){var n=t.transformable;return n.localDirtyFlag&&(this.calcLocalTransform(n),n.localDirtyFlag=!1),n.localTransform}},{key:"setLocalTransform",value:function(t,n){var i=yo(MN,n),a=bo(SN,n),s=Wa(TN,n);this.setLocalScale(t,s,!1),this.setLocalPosition(t,i,!1),this.setLocalRotation(t,a,void 0,void 0,void 0,!1),this.dirtifyLocal(t,t.transformable)}},{key:"resetLocalTransform",value:function(t){this.setLocalScale(t,EN,!1),this.setLocalPosition(t,Ch,!1),this.setLocalEulerAngles(t,Ch,void 0,void 0,!1),this.setLocalSkew(t,xN,void 0,!1),this.dirtifyLocal(t,t.transformable)}},{key:"getTransformedGeometryBounds",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,i=arguments.length>2?arguments[2]:void 0,a=this.getGeometryBounds(t,n);if(!Rn.isEmpty(a)){var s=i||new Rn;return s.setFromTransformedAABB(a,this.getWorldTransform(t)),s}return null}},{key:"getGeometryBounds",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,i=t,a=i.geometry;a.dirty&&Ke.styleValueRegistry.updateGeometry(t);var s=n?a.renderBounds:a.contentBounds||null;return s||new Rn}},{key:"getBounds",value:function(t){var n=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a=t,s=a.renderable;if(!s.boundsDirty&&!i&&s.bounds)return s.bounds;if(!s.renderBoundsDirty&&i&&s.renderBounds)return s.renderBounds;var o=i?s.renderBounds:s.bounds,l=this.getTransformedGeometryBounds(t,i,o),u=t.childNodes;if(u.forEach(function(f){var d=n.getBounds(f,i);d&&(l?l.add(d):(l=o||new Rn,l.update(d.center,d.halfExtents)))}),l||(l=new Rn),i){var c=Cb(t);if(c){var h=c.parsedStyle.clipPath.getBounds(i);l?h&&(l=h.intersection(l)):l.update(h.center,h.halfExtents)}}return i?(s.renderBounds=l,s.renderBoundsDirty=!1):(s.bounds=l,s.boundsDirty=!1),l}},{key:"getLocalBounds",value:function(t){if(t.parentNode){var n=wN;t.parentNode.transformable&&(n=Ot(Al,this.getWorldTransform(t.parentNode)));var i=this.getBounds(t);if(!Rn.isEmpty(i)){var a=new Rn;return a.setFromTransformedAABB(i,n),a}}return this.getBounds(t)}},{key:"getBoundingClientRect",value:function(t){var n,i,a=this.getGeometryBounds(t);Rn.isEmpty(a)||(i=new Rn,i.setFromTransformedAABB(a,this.getWorldTransform(t)));var s=(n=t.ownerDocument)===null||n===void 0||(n=n.defaultView)===null||n===void 0?void 0:n.getContextService().getBoundingClientRect();if(i){var o=i.getMin(),l=Ie(o,2),u=l[0],c=l[1],h=i.getMax(),f=Ie(h,2),d=f[0],v=f[1];return new El(u+((s==null?void 0:s.left)||0),c+((s==null?void 0:s.top)||0),d-u,v-c)}return new El((s==null?void 0:s.left)||0,(s==null?void 0:s.top)||0,0,0)}},{key:"dirtifyWorldInternal",value:function(t,n){var i=this;if(!n.dirtyFlag){n.dirtyFlag=!0,n.frozen=!1,t.childNodes.forEach(function(o){var l=o.transformable;l.dirtyFlag||i.dirtifyWorldInternal(o,l)});var a=t,s=a.renderable;s&&(s.renderBoundsDirty=!0,s.boundsDirty=!0,s.dirty=!0)}}},{key:"syncHierarchy",value:function(t){var n=t.transformable;if(!n.frozen){n.frozen=!0,(n.localDirtyFlag||n.dirtyFlag)&&this.sync(t,n);for(var i=t.childNodes,a=0;a<i.length;a++)this.syncHierarchy(i[a])}}},{key:"sync",value:function(t,n){if(n.localDirtyFlag&&(this.calcLocalTransform(n),n.localDirtyFlag=!1),n.dirtyFlag){var i=t.parentNode,a=i&&i.transformable;i===null||!a?_n(n.worldTransform,n.localTransform):Ut(n.worldTransform,a.worldTransform,n.localTransform),n.dirtyFlag=!1}}},{key:"unfreezeParentToRoot",value:function(t){for(var n=t.parentNode;n;){var i=n.transformable;i&&(i.frozen=!1),n=n.parentNode}}}])}(),Co={MetricsString:"|\xC9q\xC5",BaselineSymbol:"M",BaselineMultiplier:1.4,HeightMultiplier:2,Newlines:[10,13],BreakingSpaces:[9,32,8192,8193,8194,8195,8196,8197,8198,8200,8201,8202,8287,12288]},Vb=/[a-zA-Z0-9\u00C0-\u00D6\u00D8-\u00f6\u00f8-\u00ff!"#$%&'()*+,-./:;]/,ON=/[!%),.:;?\]}¢°·'""†‡›℃∶、。〃〆〕〗〞﹚﹜!"%'),.:;?!]}~]/,kN=/[$(£¥·'"〈《「『【〔〖〝﹙﹛$(.[{£¥]/,CN=/[!),.:;?\]}¢·–—'"•"、。〆〞〕〉》」︰︱︲︳﹐﹑﹒﹔﹕﹖﹘﹚﹜!),.:;?︶︸︺︼︾﹀﹂﹗]|}、]/,NN=/[([{£¥'"‵〈《「『〔〝︴﹙﹛({︵︷︹︻︽︿﹁﹃﹏]/,_N=/[)\]}〕〉》」』】〙〗〟'"⦆»ヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻‐゠–〜?!‼⁇⁈⁉・、:;,。.]/,RN=/[([{〔〈《「『【〘〖〝'"⦅«—...‥〳〴〵]/,LN=/[!%),.:;?\]}¢°'"†‡℃〆〈《「『〕!%),.:;?]}]/,DN=/[$([{£¥'"々〇〉》」〔$([{⦆¥₩#]/,IN=new RegExp("".concat(ON.source,"|").concat(CN.source,"|").concat(_N.source,"|").concat(LN.source)),BN=new RegExp("".concat(kN.source,"|").concat(NN.source,"|").concat(RN.source,"|").concat(DN.source)),zN=function(){function r(e){var t=this;_(this,r),this.fontMetricsCache={},this.shouldBreakByKinsokuShorui=function(n,i){return t.isBreakingSpace(i)?!1:!!(n&&(BN.exec(i)||IN.exec(n)))},this.trimByKinsokuShorui=function(n){var i=K(n),a=i[i.length-2];if(!a)return n;var s=a[a.length-1];return i[i.length-2]=a.slice(0,-1),i[i.length-1]=s+i[i.length-1],i},this.runtime=e}return N(r,[{key:"measureFont",value:function(t,n){if(this.fontMetricsCache[t])return this.fontMetricsCache[t];var i={ascent:0,descent:0,fontSize:0},a=this.runtime.offscreenCanvasCreator.getOrCreateCanvas(n),s=this.runtime.offscreenCanvasCreator.getOrCreateContext(n,{willReadFrequently:!0});s.font=t;var o=Co.MetricsString+Co.BaselineSymbol,l=Math.ceil(s.measureText(o).width),u=Math.ceil(s.measureText(Co.BaselineSymbol).width),c=Co.HeightMultiplier*u;u=u*Co.BaselineMultiplier|0,a.width=l,a.height=c,s.fillStyle="#f00",s.fillRect(0,0,l,c),s.font=t,s.textBaseline="alphabetic",s.fillStyle="#000",s.fillText(o,0,u);var h=s.getImageData(0,0,l||1,c||1).data,f=h.length,d=l*4,v=0,g=0,p=!1;for(v=0;v<u;++v){for(var m=0;m<d;m+=4)if(h[g+m]!==255){p=!0;break}if(!p)g+=d;else break}for(i.ascent=u-v,g=f-d,p=!1,v=c;v>u;--v){for(var b=0;b<d;b+=4)if(h[g+b]!==255){p=!0;break}if(!p)g-=d;else break}return i.descent=v-u,i.fontSize=i.ascent+i.descent,this.fontMetricsCache[t]=i,i}},{key:"measureText",value:function(t,n,i){var a=n.fontSize,s=a===void 0?16:a,o=n.wordWrap,l=o===void 0?!1:o,u=n.lineHeight,c=n.lineWidth,h=c===void 0?1:c,f=n.textBaseline,d=f===void 0?"alphabetic":f,v=n.textAlign,g=v===void 0?"start":v,p=n.letterSpacing,m=p===void 0?0:p,b=n.textPath;n.textPathSide,n.textPathStartOffset;var x=n.leading,O=x===void 0?0:x,T=JC(n),S=this.measureFont(T,i);S.fontSize===0&&(S.fontSize=s,S.ascent=s);var k=this.runtime.offscreenCanvasCreator.getOrCreateContext(i);k.font=T,n.isOverflowing=!1;var C=l?this.wordWrap(t,n,i):t,W=C.split(/(?:\r\n|\r|\n)/),U=new Array(W.length),J=0;if(b){b.getTotalLength();for(var te=0;te<W.length;te++)k.measureText(W[te]).width+(W[te].length-1)*m}else{for(var ie=0;ie<W.length;ie++){var ae=k.measureText(W[ie]).width+(W[ie].length-1)*m;U[ie]=ae,J=Math.max(J,ae)}var ve=J+h,Z=u||S.fontSize+h,H=Math.max(Z,S.fontSize+h)+(W.length-1)*(Z+O);Z+=O;var X=0;return d==="middle"?X=-H/2:d==="bottom"||d==="alphabetic"||d==="ideographic"?X=-H:(d==="top"||d==="hanging")&&(X=0),{font:T,width:ve,height:H,lines:W,lineWidths:U,lineHeight:Z,maxLineWidth:J,fontProperties:S,lineMetrics:U.map(function(q,oe){var de=0;return g==="center"||g==="middle"?de-=q/2:(g==="right"||g==="end")&&(de-=q),new El(de-h/2,X+oe*Z,q+h,Z)})}}}},{key:"wordWrap",value:function(t,n,i){var a=this,s=n.wordWrapWidth,o=s===void 0?0:s,l=n.letterSpacing,u=l===void 0?0:l,c=n.maxLines,h=c===void 0?1/0:c,f=n.textOverflow,d=this.runtime.offscreenCanvasCreator.getOrCreateContext(i),v=o+u,g="";f==="ellipsis"?g="...":f&&f!=="clip"&&(g=f);var p=[],m=0,b=0,x={},O=function(ae){return a.getFromCache(ae,u,x,d)},T=Array.from(g).reduce(function(ie,ae){return ie+O(ae)},0);function S(ie){if(!(T<=0||T>v)){for(var ae=p[ie].length,ve=0,Z=ae,H=0;H<ae;H++){var X=O(p[ie][H]);if(ve+X+T>v){Z=H;break}ve+=X}p[ie]=(p[ie]||"").slice(0,Z)+g}}for(var k=Array.from(t),C=0;C<k.length;C++){var W=k[C],U=t[C-1],J=t[C+1],te=O(W);if(this.isNewline(W)){if(m++,m>=h){n.isOverflowing=!0,C<k.length-1&&S(m-1);break}b=0,p[m]="";continue}if(b>0&&b+te>v){if(m+1>=h){n.isOverflowing=!0,S(m);break}if(m++,b=0,p[m]="",this.isBreakingSpace(W))continue;this.canBreakInLastChar(W)||(p=this.trimToBreakable(p),b=this.sumTextWidthByCache(p[m]||"",x)),this.shouldBreakByKinsokuShorui(W,J)&&(p=this.trimByKinsokuShorui(p),b+=O(U||""))}b+=te,p[m]=(p[m]||"")+W}return p.join(`
|
|
|
`)}},{key:"isBreakingSpace",value:function(t){return typeof t!="string"?!1:Co.BreakingSpaces.indexOf(t.charCodeAt(0))>=0}},{key:"isNewline",value:function(t){return typeof t!="string"?!1:Co.Newlines.indexOf(t.charCodeAt(0))>=0}},{key:"trimToBreakable",value:function(t){var n=K(t),i=n[n.length-2],a=this.findBreakableIndex(i);if(a===-1||!i)return n;var s=i.slice(a,a+1),o=this.isBreakingSpace(s),l=a+1,u=a+(o?0:1);return n[n.length-1]+=i.slice(l,i.length),n[n.length-2]=i.slice(0,u),n}},{key:"canBreakInLastChar",value:function(t){return!(t&&Vb.test(t))}},{key:"sumTextWidthByCache",value:function(t,n){return t.split("").reduce(function(i,a){if(!n[a])throw Error("cannot count the word without cache");return i+n[a]},0)}},{key:"findBreakableIndex",value:function(t){for(var n=t.length-1;n>=0;n--)if(!Vb.test(t[n]))return n;return-1}},{key:"getFromCache",value:function(t,n,i,a){var s=i[t];if(typeof s!="number"){var o=t.length*n;s=a.measureText(t).width+o,i[t]=s}return s}}])}(),Ke={},FN=function(r){var e=new cN,t=new uN;return r={},L(L(L(L(L(L(L(L(L(L(r,je.FRAGMENT,null),je.CIRCLE,new aN),je.ELLIPSE,new sN),je.RECT,e),je.IMAGE,e),je.GROUP,new fN),je.LINE,new oN),je.TEXT,new hN(Ke)),je.POLYLINE,t),je.POLYGON,t),L(L(L(r,je.PATH,new lN),je.HTML,new dN),je.MESH,null)}(),jN=function(r){var e=new mC,t=new tp;return r={},L(L(L(L(L(L(L(L(L(L(r,st.PERCENTAGE,null),st.NUMBER,new wC),st.ANGLE,new gC),st.DEFINED_PATH,new pC),st.PAINT,e),st.COLOR,e),st.FILTER,new yC),st.LENGTH,t),st.LENGTH_PERCENTAGE,t),st.LENGTH_PERCENTAGE_12,new bC),L(L(L(L(L(L(L(L(L(L(r,st.LENGTH_PERCENTAGE_14,new xC),st.COORDINATE,new tp),st.OFFSET_DISTANCE,new PC),st.OPACITY_VALUE,new MC),st.PATH,new SC),st.LIST_OF_POINTS,new TC),st.SHADOW_BLUR,new AC),st.TEXT,new OC),st.TEXT_TRANSFORM,new kC),st.TRANSFORM,new nN),L(L(L(r,st.TRANSFORM_ORIGIN,new rN),st.Z_INDEX,new iN),st.MARKER,new EC)}(),GN=function(){return typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:typeof window!="undefined"?window:typeof w.g!="undefined"?w.g:{}};Ke.CameraContribution=tb,Ke.AnimationTimeline=null,Ke.EasingFunction=null,Ke.offscreenCanvasCreator=new lp,Ke.sceneGraphSelector=new yN,Ke.sceneGraphService=new AN(Ke),Ke.textService=new zN(Ke),Ke.geometryUpdaterFactory=FN,Ke.CSSPropertySyntaxFactory=jN,Ke.styleValueRegistry=new dC(Ke),Ke.layoutRegistry=null,Ke.globalThis=GN(),Ke.enableStyleSyntax=!0,Ke.enableSizeAttenuation=!1;var Yb=0;function EU(){Yb=0}var cp=new Za(Qt.INSERTED,null,"","","",0,"",""),hp=new Za(Qt.REMOVED,null,"","","",0,"",""),Ub=new Yr(Qt.DESTROY),HN=function(r){function e(){var t;_(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=Ee(this,e,[].concat(i)),t.entity=Yb++,t.renderable={bounds:void 0,boundsDirty:!0,renderBounds:void 0,renderBoundsDirty:!0,dirtyRenderBounds:void 0,dirty:!1},t.cullable={strategy:ik.Standard,visibilityPlaneMask:-1,visible:!0,enable:!0},t.transformable={dirtyFlag:!1,localDirtyFlag:!1,frozen:!1,localPosition:[0,0,0],localRotation:[0,0,0,1],localScale:[1,1,1],localTransform:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],localSkew:[0,0],position:[0,0,0],rotation:[0,0,0,1],scaling:[1,1,1],worldTransform:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],origin:[0,0,0]},t.sortable={dirty:!1,sorted:void 0,renderOrder:0,dirtyChildren:[],dirtyReason:void 0},t.geometry={contentBounds:void 0,renderBounds:void 0,dirty:!0},t.rBushNode={aabb:void 0},t.namespaceURI="g",t.scrollLeft=0,t.scrollTop=0,t.clientTop=0,t.clientLeft=0,t.destroyed=!1,t.style={},t.computedStyle={},t.parsedStyle={},t.attributes={},t}return Pe(e,r),N(e,[{key:"className",get:function(){return this.getAttribute("class")||""},set:function(n){this.setAttribute("class",n)}},{key:"classList",get:function(){return this.className.split(" ").filter(function(n){return n!==""})}},{key:"tagName",get:function(){return this.nodeName}},{key:"children",get:function(){return this.childNodes}},{key:"childElementCount",get:function(){return this.childNodes.length}},{key:"firstElementChild",get:function(){return this.firstChild}},{key:"lastElementChild",get:function(){return this.lastChild}},{key:"parentElement",get:function(){return this.parentNode}},{key:"nextSibling",get:function(){if(this.parentNode){var n=this.parentNode.childNodes.indexOf(this);return this.parentNode.childNodes[n+1]||null}return null}},{key:"previousSibling",get:function(){if(this.parentNode){var n=this.parentNode.childNodes.indexOf(this);return this.parentNode.childNodes[n-1]||null}return null}},{key:"cloneNode",value:function(n){throw new Error(yn)}},{key:"appendChild",value:function(n,i){var a;if(n.destroyed)throw new Error(YO);return Ke.sceneGraphService.attach(n,this,i),(a=this.ownerDocument)!==null&&a!==void 0&&a.defaultView&&(!Ah(this)&&n.nodeName===je.FRAGMENT?this.ownerDocument.defaultView.mountFragment(n):this.ownerDocument.defaultView.mountChildren(n)),this.isMutationObserved&&(cp.relatedNode=this,n.dispatchEvent(cp)),n}},{key:"insertBefore",value:function(n,i){if(!i)this.appendChild(n);else{n.parentElement&&n.parentElement.removeChild(n);var a=this.childNodes.indexOf(i);a===-1?this.appendChild(n):this.appendChild(n,a)}return n}},{key:"replaceChild",value:function(n,i){var a=this.childNodes.indexOf(i);return this.removeChild(i),this.appendChild(n,a),i}},{key:"removeChild",value:function(n){var i;return hp.relatedNode=this,n.dispatchEvent(hp),(i=n.ownerDocument)!==null&&i!==void 0&&i.defaultView&&n.ownerDocument.defaultView.unmountChildren(n),Ke.sceneGraphService.detach(n),n}},{key:"removeChildren",value:function(){for(var n=this.childNodes.length-1;n>=0;n--){var i=this.childNodes[n];this.removeChild(i)}}},{key:"destroyChildren",value:function(){for(var n=this.childNodes.length-1;n>=0;n--){var i=this.childNodes[n];i.childNodes.length>0&&i.destroyChildren(),i.destroy()}}},{key:"matches",value:function(n){return Ke.sceneGraphService.matches(n,this)}},{key:"getElementById",value:function(n){return Ke.sceneGraphService.querySelector("#".concat(n),this)}},{key:"getElementsByName",value:function(n){return Ke.sceneGraphService.querySelectorAll('[name="'.concat(n,'"]'),this)}},{key:"getElementsByClassName",value:function(n){return Ke.sceneGraphService.querySelectorAll(".".concat(n),this)}},{key:"getElementsByTagName",value:function(n){return Ke.sceneGraphService.querySelectorAll(n,this)}},{key:"querySelector",value:function(n){return Ke.sceneGraphService.querySelector(n,this)}},{key:"querySelectorAll",value:function(n){return Ke.sceneGraphService.querySelectorAll(n,this)}},{key:"closest",value:function(n){var i=this;do{if(Ke.sceneGraphService.matches(n,i))return i;i=i.parentElement}while(i!==null);return null}},{key:"find",value:function(n){var i=this,a=null;return this.forEach(function(s){return s!==i&&n(s)?(a=s,!1):!0}),a}},{key:"findAll",value:function(n){var i=this,a=[];return this.forEach(function(s){s!==i&&n(s)&&a.push(s)}),a}},{key:"after",value:function(){var n=this;if(this.parentNode){for(var i=this.parentNode.childNodes.indexOf(this),a=arguments.length,s=new Array(a),o=0;o<a;o++)s[o]=arguments[o];s.forEach(function(l,u){var c;return(c=n.parentNode)===null||c===void 0?void 0:c.appendChild(l,i+u+1)})}}},{key:"before",value:function(){if(this.parentNode){for(var n,i=this.parentNode.childNodes.indexOf(this),a=arguments.length,s=new Array(a),o=0;o<a;o++)s[o]=arguments[o];var l=s[0],u=s.slice(1);this.parentNode.appendChild(l,i),(n=l).after.apply(n,K(u))}}},{key:"replaceWith",value:function(){this.after.apply(this,arguments),this.remove()}},{key:"append",value:function(){for(var n=this,i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];a.forEach(function(o){return n.appendChild(o)})}},{key:"prepend",value:function(){for(var n=this,i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];a.forEach(function(o,l){return n.appendChild(o,l)})}},{key:"replaceChildren",value:function(){for(;this.childNodes.length&&this.firstChild;)this.removeChild(this.firstChild);this.append.apply(this,arguments)}},{key:"remove",value:function(){return this.parentNode?this.parentNode.removeChild(this):this}},{key:"destroy",value:function(){this.destroyChildren(),this.dispatchEvent(Ub),this.remove(),this.emitter.removeAllListeners(),this.destroyed=!0}},{key:"getGeometryBounds",value:function(){return Ke.sceneGraphService.getGeometryBounds(this)}},{key:"getRenderBounds",value:function(){return Ke.sceneGraphService.getBounds(this,!0)}},{key:"getBounds",value:function(){return Ke.sceneGraphService.getBounds(this)}},{key:"getLocalBounds",value:function(){return Ke.sceneGraphService.getLocalBounds(this)}},{key:"getBoundingClientRect",value:function(){return Ke.sceneGraphService.getBoundingClientRect(this)}},{key:"getClientRects",value:function(){return[this.getBoundingClientRect()]}},{key:"computedStyleMap",value:function(){return new Map(Object.entries(this.computedStyle))}},{key:"getAttributeNames",value:function(){return Object.keys(this.attributes)}},{key:"getAttribute",value:function(n){if(typeof n!="symbol"){var i=this.attributes[n];return i}}},{key:"hasAttribute",value:function(n){return this.getAttributeNames().includes(n)}},{key:"hasAttributes",value:function(){return!!this.getAttributeNames().length}},{key:"removeAttribute",value:function(n){this.setAttribute(n,null),delete this.attributes[n]}},{key:"setAttribute",value:function(n,i,a,s){this.attributes[n]=i}},{key:"getAttributeNS",value:function(n,i){throw new Error(yn)}},{key:"getAttributeNode",value:function(n){throw new Error(yn)}},{key:"getAttributeNodeNS",value:function(n,i){throw new Error(yn)}},{key:"hasAttributeNS",value:function(n,i){throw new Error(yn)}},{key:"removeAttributeNS",value:function(n,i){throw new Error(yn)}},{key:"removeAttributeNode",value:function(n){throw new Error(yn)}},{key:"setAttributeNS",value:function(n,i,a){throw new Error(yn)}},{key:"setAttributeNode",value:function(n){throw new Error(yn)}},{key:"setAttributeNodeNS",value:function(n){throw new Error(yn)}},{key:"toggleAttribute",value:function(n,i){throw new Error(yn)}}])}(Kn);function ln(r){return!!(r!=null&&r.nodeName)}var XN=Ke.globalThis.Proxy?Ke.globalThis.Proxy:function(){},Ka=new Za(Qt.ATTR_MODIFIED,null,null,null,null,Za.MODIFICATION,null,null),Wu=Me(),WN=en(),Qn=function(r){function e(t){var n;return _(this,e),n=Ee(this,e),n.isCustomElement=!1,n.isMutationObserved=!1,n.activeAnimations=[],n.config=t,n.id=t.id||"",n.name=t.name||"",(t.className||t.class)&&(n.className=t.className||t.class),n.nodeName=t.type||je.GROUP,t.initialParsedStyle&&Object.assign(n.parsedStyle,t.initialParsedStyle),n.initAttributes(t.style),Ke.enableStyleSyntax&&(n.style=new XN({setProperty:function(a,s){n.setAttribute(a,s)},getPropertyValue:function(a){return n.getAttribute(a)},removeProperty:function(a){n.removeAttribute(a)},item:function(){return""}},{get:function(a,s){return a[s]!==void 0?a[s]:n.getAttribute(s)},set:function(a,s,o){return n.setAttribute(s,o),!0}})),n}return Pe(e,r),N(e,[{key:"destroy",value:function(){y1(e,"destroy",this,3)([]),this.getAnimations().forEach(function(n){n.cancel()})}},{key:"cloneNode",value:function(n,i){var a=D({},this.attributes);for(var s in a){var o=a[s];ln(o)&&s!=="clipPath"&&s!=="offsetPath"&&s!=="textPath"&&(a[s]=o.cloneNode(n)),i&&(a[s]=i(s,o))}var l=new this.constructor(D(D({},this.config),{},{style:a}));return l.setLocalTransform(this.getLocalTransform()),n&&this.children.forEach(function(u){if(!u.style.isMarker){var c=u.cloneNode(n);l.appendChild(c)}}),l}},{key:"initAttributes",value:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i={forceUpdateGeometry:!0};Ke.styleValueRegistry.processProperties(this,n,i),this.renderable.dirty=!0}},{key:"setAttribute",value:function(n,i){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;Et(i)||(a||i!==this.attributes[n])&&(this.internalSetAttribute(n,i,{memoize:s}),y1(e,"setAttribute",this,3)([n,i]))}},{key:"internalSetAttribute",value:function(n,i){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s=this.renderable,o=this.attributes[n],l=this.parsedStyle[n];Ke.styleValueRegistry.processProperties(this,L({},n,i),a),s.dirty=!0;var u=this.parsedStyle[n];if(this.isConnected&&(Ka.relatedNode=this,Ka.prevValue=o,Ka.newValue=i,Ka.attrName=n,Ka.prevParsedValue=l,Ka.newParsedValue=u,this.isMutationObserved?this.dispatchEvent(Ka):(Ka.target=this,this.ownerDocument.defaultView.dispatchEvent(Ka,!0))),this.isCustomElement&&this.isConnected||!this.isCustomElement){var c,h;(c=(h=this).attributeChangedCallback)===null||c===void 0||c.call(h,n,o,i,l,u)}}},{key:"getBBox",value:function(){var n=this.getBounds(),i=n.getMin(),a=Ie(i,2),s=a[0],o=a[1],l=n.getMax(),u=Ie(l,2),c=u[0],h=u[1];return new El(s,o,c-s,h-o)}},{key:"setOrigin",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Ke.sceneGraphService.setOrigin(this,$r(n,i,a,!1)),this}},{key:"getOrigin",value:function(){return Ke.sceneGraphService.getOrigin(this)}},{key:"setPosition",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Ke.sceneGraphService.setPosition(this,$r(n,i,a,!1)),this}},{key:"setLocalPosition",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Ke.sceneGraphService.setLocalPosition(this,$r(n,i,a,!1)),this}},{key:"translate",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Ke.sceneGraphService.translate(this,$r(n,i,a,!1)),this}},{key:"translateLocal",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Ke.sceneGraphService.translateLocal(this,$r(n,i,a,!1)),this}},{key:"getPosition",value:function(){return Ke.sceneGraphService.getPosition(this)}},{key:"getLocalPosition",value:function(){return Ke.sceneGraphService.getLocalPosition(this)}},{key:"scale",value:function(n,i,a){return this.scaleLocal(n,i,a)}},{key:"scaleLocal",value:function(n,i,a){return typeof n=="number"&&(i=i||n,a=a||n,n=$r(n,i,a,!1)),Ke.sceneGraphService.scaleLocal(this,n),this}},{key:"setLocalScale",value:function(n,i,a){return typeof n=="number"&&(i=i||n,a=a||n,n=$r(n,i,a,!1)),Ke.sceneGraphService.setLocalScale(this,n),this}},{key:"getLocalScale",value:function(){return Ke.sceneGraphService.getLocalScale(this)}},{key:"getScale",value:function(){return Ke.sceneGraphService.getScale(this)}},{key:"getEulerAngles",value:function(){var n=zg(Wu,Ke.sceneGraphService.getWorldTransform(this)),i=Ie(n,3),a=i[2];return yi(a)}},{key:"getLocalEulerAngles",value:function(){var n=zg(Wu,Ke.sceneGraphService.getLocalRotation(this)),i=Ie(n,3),a=i[2];return yi(a)}},{key:"setEulerAngles",value:function(n){return Ke.sceneGraphService.setEulerAngles(this,0,0,n),this}},{key:"setLocalEulerAngles",value:function(n){return Ke.sceneGraphService.setLocalEulerAngles(this,0,0,n),this}},{key:"rotateLocal",value:function(n,i,a){return vt(i)&&vt(a)?Ke.sceneGraphService.rotateLocal(this,0,0,n):Ke.sceneGraphService.rotateLocal(this,n,i,a),this}},{key:"rotate",value:function(n,i,a){return vt(i)&&vt(a)?Ke.sceneGraphService.rotate(this,0,0,n):Ke.sceneGraphService.rotate(this,n,i,a),this}},{key:"setRotation",value:function(n,i,a,s){return Ke.sceneGraphService.setRotation(this,n,i,a,s),this}},{key:"setLocalRotation",value:function(n,i,a,s){return Ke.sceneGraphService.setLocalRotation(this,n,i,a,s),this}},{key:"setLocalSkew",value:function(n,i){return Ke.sceneGraphService.setLocalSkew(this,n,i),this}},{key:"getRotation",value:function(){return Ke.sceneGraphService.getRotation(this)}},{key:"getLocalRotation",value:function(){return Ke.sceneGraphService.getLocalRotation(this)}},{key:"getLocalSkew",value:function(){return Ke.sceneGraphService.getLocalSkew(this)}},{key:"getLocalTransform",value:function(){return Ke.sceneGraphService.getLocalTransform(this)}},{key:"getWorldTransform",value:function(){return Ke.sceneGraphService.getWorldTransform(this)}},{key:"setLocalTransform",value:function(n){return Ke.sceneGraphService.setLocalTransform(this,n),this}},{key:"resetLocalTransform",value:function(){Ke.sceneGraphService.resetLocalTransform(this)}},{key:"getAnimations",value:function(){return this.activeAnimations}},{key:"animate",value:function(n,i){var a,s=(a=this.ownerDocument)===null||a===void 0?void 0:a.timeline;return s?s.play(this,n,i):null}},{key:"isVisible",value:function(){var n;return((n=this.parsedStyle)===null||n===void 0?void 0:n.visibility)!=="hidden"}},{key:"interactive",get:function(){return this.isInteractive()},set:function(n){this.style.pointerEvents=n?"auto":"none"}},{key:"isInteractive",value:function(){var n;return((n=this.parsedStyle)===null||n===void 0?void 0:n.pointerEvents)!=="none"}},{key:"isCulled",value:function(){return!!(this.cullable&&this.cullable.enable&&!this.cullable.visible)}},{key:"toFront",value:function(){return this.parentNode&&(this.style.zIndex=Math.max.apply(Math,K(this.parentNode.children.map(function(n){return Number(n.style.zIndex)})))+1),this}},{key:"toBack",value:function(){return this.parentNode&&(this.style.zIndex=Math.min.apply(Math,K(this.parentNode.children.map(function(n){return Number(n.style.zIndex)})))-1),this}},{key:"getConfig",value:function(){return this.config}},{key:"attr",value:function(){for(var n=this,i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];var o=a[0],l=a[1];return o?nr(o)?(Object.keys(o).forEach(function(u){n.setAttribute(u,o[u])}),this):a.length===2?(this.setAttribute(o,l),this):this.attributes[o]:this.attributes}},{key:"getMatrix",value:function(n){var i=n||this.getWorldTransform(),a=yo(Wu,i),s=Ie(a,2),o=s[0],l=s[1],u=Wa(Wu,i),c=Ie(u,2),h=c[0],f=c[1],d=bo(WN,i),v=zg(Wu,d),g=Ie(v,3),p=g[0],m=g[2];return $O(p||m,o,l,h,f)}},{key:"getLocalMatrix",value:function(){return this.getMatrix(this.getLocalTransform())}},{key:"setMatrix",value:function(n){var i=J1(n),a=Ie(i,5),s=a[0],o=a[1],l=a[2],u=a[3],c=a[4];this.setEulerAngles(c).setPosition(s,o).setLocalScale(l,u)}},{key:"setLocalMatrix",value:function(n){var i=J1(n),a=Ie(i,5),s=a[0],o=a[1],l=a[2],u=a[3],c=a[4];this.setLocalEulerAngles(c).setLocalPosition(s,o).setLocalScale(l,u)}},{key:"show",value:function(){this.forEach(function(n){n.style.visibility="visible"})}},{key:"hide",value:function(){this.forEach(function(n){n.style.visibility="hidden"})}},{key:"getCount",value:function(){return this.childElementCount}},{key:"getParent",value:function(){return this.parentElement}},{key:"getChildren",value:function(){return this.children}},{key:"getFirst",value:function(){return this.firstElementChild}},{key:"getLast",value:function(){return this.lastElementChild}},{key:"getChildByIndex",value:function(n){return this.children[n]||null}},{key:"add",value:function(n,i){return this.appendChild(n,i)}},{key:"set",value:function(n,i){this.config[n]=i}},{key:"get",value:function(n){return this.config[n]}},{key:"moveTo",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return this.setPosition(n,i,a),this}},{key:"move",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return this.setPosition(n,i,a),this}},{key:"setZIndex",value:function(n){return this.style.zIndex=n,this}}])}(HN);Qn.PARSED_STYLE_LIST=new Set(["class","className","clipPath","cursor","display","draggable","droppable","fill","fillOpacity","fillRule","filter","increasedLineWidthForHitTesting","lineCap","lineDash","lineDashOffset","lineJoin","lineWidth","miterLimit","hitArea","offsetDistance","offsetPath","offsetX","offsetY","opacity","pointerEvents","shadowColor","shadowType","shadowBlur","shadowOffsetX","shadowOffsetY","stroke","strokeOpacity","strokeWidth","strokeLinecap","strokeLineJoin","strokeDasharray","strokeDashoffset","transform","transformOrigin","textTransform","visibility","zIndex"]);var Ol=function(r){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return _(this,e),Ee(this,e,[D({type:je.CIRCLE},t)])}return Pe(e,r),N(e)}(Qn);Ol.PARSED_STYLE_LIST=new Set([].concat(K(Qn.PARSED_STYLE_LIST),["cx","cy","cz","r","isBillboard","isSizeAttenuation"]));var VN=["style"],YN=function(r){function e(){var t,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=n.style,a=Mo(n,VN);return _(this,e),t=Ee(this,e,[D({style:i},a)]),t.isCustomElement=!0,t}return Pe(e,r),N(e)}(Qn),Rh=function(r){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return _(this,e),Ee(this,e,[D({type:je.ELLIPSE},t)])}return Pe(e,r),N(e)}(Qn);Rh.PARSED_STYLE_LIST=new Set([].concat(K(Qn.PARSED_STYLE_LIST),["cx","cy","cz","rx","ry","isBillboard","isSizeAttenuation"]));var wU=null,kl=function(r){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return _(this,e),Ee(this,e,[D({type:je.GROUP},t)])}return Pe(e,r),N(e)}(Qn);kl.PARSED_STYLE_LIST=new Set([].concat(K(Qn.PARSED_STYLE_LIST),["width","height"]));var UN=["style"],Lh=function(r){function e(){var t,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=n.style,a=Mo(n,UN);return _(this,e),t=Ee(this,e,[D({type:je.HTML,style:i},a)]),t.cullable.enable=!1,t}return Pe(e,r),N(e,[{key:"getDomElement",value:function(){return this.parsedStyle.$el}},{key:"getClientRects",value:function(){return[this.getBoundingClientRect()]}},{key:"getLocalBounds",value:function(){if(this.parentNode){var n=Ot(mt(),this.parentNode.getWorldTransform()),i=this.getBounds();if(!Rn.isEmpty(i)){var a=new Rn;return a.setFromTransformedAABB(i,n),a}}return this.getBounds()}}])}(Qn);Lh.PARSED_STYLE_LIST=new Set([].concat(K(Qn.PARSED_STYLE_LIST),["x","y","$el","innerHTML","width","height"]));var Dh=function(r){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return _(this,e),Ee(this,e,[D({type:je.IMAGE},t)])}return Pe(e,r),N(e)}(Qn);Dh.PARSED_STYLE_LIST=new Set([].concat(K(Qn.PARSED_STYLE_LIST),["x","y","z","src","width","height","isBillboard","billboardRotation","isSizeAttenuation","keepAspectRatio"]));var ZN=["style"],Vu=function(r){function e(){var t,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=n.style,a=Mo(n,ZN);_(this,e),t=Ee(this,e,[D({type:je.LINE,style:D({x1:0,y1:0,x2:0,y2:0,z1:0,z2:0},i)},a)]),t.markerStartAngle=0,t.markerEndAngle=0;var s=t.parsedStyle,o=s.markerStart,l=s.markerEnd;return o&&ln(o)&&(t.markerStartAngle=o.getLocalEulerAngles(),t.appendChild(o)),l&&ln(l)&&(t.markerEndAngle=l.getLocalEulerAngles(),t.appendChild(l)),t.transformMarker(!0),t.transformMarker(!1),t}return Pe(e,r),N(e,[{key:"attributeChangedCallback",value:function(n,i,a,s,o){n==="x1"||n==="y1"||n==="x2"||n==="y2"||n==="markerStartOffset"||n==="markerEndOffset"?(this.transformMarker(!0),this.transformMarker(!1)):n==="markerStart"?(s&&ln(s)&&(this.markerStartAngle=0,s.remove()),o&&ln(o)&&(this.markerStartAngle=o.getLocalEulerAngles(),this.appendChild(o),this.transformMarker(!0))):n==="markerEnd"&&(s&&ln(s)&&(this.markerEndAngle=0,s.remove()),o&&ln(o)&&(this.markerEndAngle=o.getLocalEulerAngles(),this.appendChild(o),this.transformMarker(!1)))}},{key:"transformMarker",value:function(n){var i=this.parsedStyle,a=i.markerStart,s=i.markerEnd,o=i.markerStartOffset,l=i.markerEndOffset,u=i.x1,c=i.x2,h=i.y1,f=i.y2,d=n?a:s;if(!(!d||!ln(d))){var v=0,g,p,m,b,x,O;n?(m=u,b=h,g=c-u,p=f-h,x=o||0,O=this.markerStartAngle):(m=c,b=f,g=u-c,p=h-f,x=l||0,O=this.markerEndAngle),v=Math.atan2(p,g),d.setLocalEulerAngles(v*180/Math.PI+O),d.setLocalPosition(m+Math.cos(v)*x,b+Math.sin(v)*x)}}},{key:"getPoint",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a=this.parsedStyle,s=a.x1,o=a.y1,l=a.x2,u=a.y2,c=Ui(s,o,l,u,n),h=c.x,f=c.y,d=Dn(Me(),me(h,f,0),i?this.getWorldTransform():this.getLocalTransform());return new Ir(d[0],d[1])}},{key:"getPointAtLength",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return this.getPoint(n/this.getTotalLength(),i)}},{key:"getTotalLength",value:function(){var n=this.parsedStyle,i=n.x1,a=n.y1,s=n.x2,o=n.y2;return ph(i,a,s,o)}}])}(Qn);Vu.PARSED_STYLE_LIST=new Set([].concat(K(Qn.PARSED_STYLE_LIST),["x1","y1","x2","y2","z1","z2","isBillboard","isSizeAttenuation","markerStart","markerEnd","markerStartOffset","markerEndOffset"]));var KN=["style"],gs=function(r){function e(){var t,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=n.style,a=Mo(n,KN);_(this,e),t=Ee(this,e,[D({type:je.PATH,style:i,initialParsedStyle:{miterLimit:4,d:D({},nb)}},a)]),t.markerStartAngle=0,t.markerEndAngle=0,t.markerMidList=[];var s=t.parsedStyle,o=s.markerStart,l=s.markerEnd,u=s.markerMid;return o&&ln(o)&&(t.markerStartAngle=o.getLocalEulerAngles(),t.appendChild(o)),u&&ln(u)&&t.placeMarkerMid(u),l&&ln(l)&&(t.markerEndAngle=l.getLocalEulerAngles(),t.appendChild(l)),t.transformMarker(!0),t.transformMarker(!1),t}return Pe(e,r),N(e,[{key:"attributeChangedCallback",value:function(n,i,a,s,o){n==="d"?(this.transformMarker(!0),this.transformMarker(!1),this.placeMarkerMid(this.parsedStyle.markerMid)):n==="markerStartOffset"||n==="markerEndOffset"?(this.transformMarker(!0),this.transformMarker(!1)):n==="markerStart"?(s&&ln(s)&&(this.markerStartAngle=0,s.remove()),o&&ln(o)&&(this.markerStartAngle=o.getLocalEulerAngles(),this.appendChild(o),this.transformMarker(!0))):n==="markerEnd"?(s&&ln(s)&&(this.markerEndAngle=0,s.remove()),o&&ln(o)&&(this.markerEndAngle=o.getLocalEulerAngles(),this.appendChild(o),this.transformMarker(!1))):n==="markerMid"&&this.placeMarkerMid(o)}},{key:"transformMarker",value:function(n){var i=this.parsedStyle,a=i.markerStart,s=i.markerEnd,o=i.markerStartOffset,l=i.markerEndOffset,u=n?a:s;if(!(!u||!ln(u))){var c=0,h,f,d,v,g,p;if(n){var m=this.getStartTangent(),b=Ie(m,2),x=b[0],O=b[1];d=O[0],v=O[1],h=x[0]-O[0],f=x[1]-O[1],g=o||0,p=this.markerStartAngle}else{var T=this.getEndTangent(),S=Ie(T,2),k=S[0],C=S[1];d=C[0],v=C[1],h=k[0]-C[0],f=k[1]-C[1],g=l||0,p=this.markerEndAngle}c=Math.atan2(f,h),u.setLocalEulerAngles(c*180/Math.PI+p),u.setLocalPosition(d+Math.cos(c)*g,v+Math.sin(c)*g)}}},{key:"placeMarkerMid",value:function(n){var i=this.parsedStyle.d.segments;if(this.markerMidList.forEach(function(c){c.remove()}),n&&ln(n))for(var a=1;a<i.length-1;a++){var s=Ie(i[a].currentPoint,2),o=s[0],l=s[1],u=a===1?n:n.cloneNode(!0);this.markerMidList.push(u),this.appendChild(u),u.setLocalPosition(o,l)}}},{key:"getTotalLength",value:function(){return Kg(this)}},{key:"getPointAtLength",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a=this.parsedStyle.d.absolutePath,s=m1(a,n),o=s.x,l=s.y,u=Dn(Me(),me(o,l,0),i?this.getWorldTransform():this.getLocalTransform());return new Ir(u[0],u[1])}},{key:"getPoint",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return this.getPointAtLength(n*Kg(this),i)}},{key:"getStartTangent",value:function(){var n=this.parsedStyle.d.segments,i=[];if(n.length>1){var a=n[0].currentPoint,s=n[1].currentPoint,o=n[1].startTangent;i=[],o?(i.push([a[0]-o[0],a[1]-o[1]]),i.push([a[0],a[1]])):(i.push([s[0],s[1]]),i.push([a[0],a[1]]))}return i}},{key:"getEndTangent",value:function(){var n=this.parsedStyle.d.segments,i=n.length,a=[];if(i>1){var s=n[i-2].currentPoint,o=n[i-1].currentPoint,l=n[i-1].endTangent;a=[],l?(a.push([o[0]-l[0],o[1]-l[1]]),a.push([o[0],o[1]])):(a.push([s[0],s[1]]),a.push([o[0],o[1]]))}return a}}])}(Qn);gs.PARSED_STYLE_LIST=new Set([].concat(K(Qn.PARSED_STYLE_LIST),["d","markerStart","markerMid","markerEnd","markerStartOffset","markerEndOffset","isBillboard","isSizeAttenuation"]));var QN=["style"],Cl=function(r){function e(){var t,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=n.style,a=Mo(n,QN);_(this,e),t=Ee(this,e,[D({type:je.POLYGON,style:i,initialParsedStyle:{points:{points:[],totalLength:0,segments:[]},miterLimit:4,isClosed:!0}},a)]),t.markerStartAngle=0,t.markerEndAngle=0,t.markerMidList=[];var s=t.parsedStyle,o=s.markerStart,l=s.markerEnd,u=s.markerMid;return o&&ln(o)&&(t.markerStartAngle=o.getLocalEulerAngles(),t.appendChild(o)),u&&ln(u)&&t.placeMarkerMid(u),l&&ln(l)&&(t.markerEndAngle=l.getLocalEulerAngles(),t.appendChild(l)),t.transformMarker(!0),t.transformMarker(!1),t}return Pe(e,r),N(e,[{key:"attributeChangedCallback",value:function(n,i,a,s,o){n==="points"?(this.transformMarker(!0),this.transformMarker(!1),this.placeMarkerMid(this.parsedStyle.markerMid)):n==="markerStartOffset"||n==="markerEndOffset"?(this.transformMarker(!0),this.transformMarker(!1)):n==="markerStart"?(s&&ln(s)&&(this.markerStartAngle=0,s.remove()),o&&ln(o)&&(this.markerStartAngle=o.getLocalEulerAngles(),this.appendChild(o),this.transformMarker(!0))):n==="markerEnd"?(s&&ln(s)&&(this.markerEndAngle=0,s.remove()),o&&ln(o)&&(this.markerEndAngle=o.getLocalEulerAngles(),this.appendChild(o),this.transformMarker(!1))):n==="markerMid"&&this.placeMarkerMid(o)}},{key:"transformMarker",value:function(n){var i=this.parsedStyle,a=i.markerStart,s=i.markerEnd,o=i.markerStartOffset,l=i.markerEndOffset,u=i.points,c=u||{},h=c.points,f=n?a:s;if(!(!f||!ln(f)||!h)){var d=0,v,g,p,m,b,x;if(p=h[0][0],m=h[0][1],n)v=h[1][0]-h[0][0],g=h[1][1]-h[0][1],b=o||0,x=this.markerStartAngle;else{var O=h.length;this.parsedStyle.isClosed?(v=h[O-1][0]-h[0][0],g=h[O-1][1]-h[0][1]):(p=h[O-1][0],m=h[O-1][1],v=h[O-2][0]-h[O-1][0],g=h[O-2][1]-h[O-1][1]),b=l||0,x=this.markerEndAngle}d=Math.atan2(g,v),f.setLocalEulerAngles(d*180/Math.PI+x),f.setLocalPosition(p+Math.cos(d)*b,m+Math.sin(d)*b)}}},{key:"placeMarkerMid",value:function(n){var i=this.parsedStyle.points,a=i||{},s=a.points;if(this.markerMidList.forEach(function(h){h.remove()}),this.markerMidList=[],n&&ln(n)&&s)for(var o=1;o<(this.parsedStyle.isClosed?s.length:s.length-1);o++){var l=s[o][0],u=s[o][1],c=o===1?n:n.cloneNode(!0);this.markerMidList.push(c),this.appendChild(c),c.setLocalPosition(l,u)}}}])}(Qn);Cl.PARSED_STYLE_LIST=new Set([].concat(K(Qn.PARSED_STYLE_LIST),["points","markerStart","markerMid","markerEnd","markerStartOffset","markerEndOffset","isClosed","isBillboard","isSizeAttenuation"]));var JN=["style"],fp=function(r){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=t.style,i=Mo(t,JN);return _(this,e),Ee(this,e,[D({type:je.POLYLINE,style:n,initialParsedStyle:{points:{points:[],totalLength:0,segments:[]},miterLimit:4,isClosed:!1}},i)])}return Pe(e,r),N(e,[{key:"getTotalLength",value:function(){return jk(this)}},{key:"getPointAtLength",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return this.getPoint(n/this.getTotalLength(),i)}},{key:"getPoint",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a=this.parsedStyle.points.points;if(this.parsedStyle.points.segments.length===0){var s=[],o=0,l,u,c=this.getTotalLength();a.forEach(function(m,b){a[b+1]&&(l=[0,0],l[0]=o/c,u=ph(m[0],m[1],a[b+1][0],a[b+1][1]),o+=u,l[1]=o/c,s.push(l))}),this.parsedStyle.points.segments=s}var h=0,f=0;this.parsedStyle.points.segments.forEach(function(m,b){n>=m[0]&&n<=m[1]&&(h=(n-m[0])/(m[1]-m[0]),f=b)});var d=Ui(a[f][0],a[f][1],a[f+1][0],a[f+1][1],h),v=d.x,g=d.y,p=Dn(Me(),me(v,g,0),i?this.getWorldTransform():this.getLocalTransform());return new Ir(p[0],p[1])}},{key:"getStartTangent",value:function(){var n=this.parsedStyle.points.points,i=[];return i.push([n[1][0],n[1][1]]),i.push([n[0][0],n[0][1]]),i}},{key:"getEndTangent",value:function(){var n=this.parsedStyle.points.points,i=n.length-1,a=[];return a.push([n[i-1][0],n[i-1][1]]),a.push([n[i][0],n[i][1]]),a}}])}(Cl);fp.PARSED_STYLE_LIST=new Set([].concat(K(Cl.PARSED_STYLE_LIST),["points","markerStart","markerMid","markerEnd","markerStartOffset","markerEndOffset","isBillboard"]));var wa=function(r){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return _(this,e),Ee(this,e,[D({type:je.RECT},t)])}return Pe(e,r),N(e)}(Qn);wa.PARSED_STYLE_LIST=new Set([].concat(K(Qn.PARSED_STYLE_LIST),["x","y","z","width","height","isBillboard","isSizeAttenuation","radius"]));var qN=["style"],Nl=function(r){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=t.style,i=Mo(t,qN);return _(this,e),Ee(this,e,[D({type:je.TEXT,style:D({fill:"black"},n)},i)])}return Pe(e,r),N(e,[{key:"getComputedTextLength",value:function(){var n;return this.getGeometryBounds(),((n=this.parsedStyle.metrics)===null||n===void 0?void 0:n.maxLineWidth)||0}},{key:"getLineBoundingRects",value:function(){var n;return this.getGeometryBounds(),((n=this.parsedStyle.metrics)===null||n===void 0?void 0:n.lineMetrics)||[]}},{key:"isOverflowing",value:function(){return this.getGeometryBounds(),!!this.parsedStyle.isOverflowing}}])}(Qn);Nl.PARSED_STYLE_LIST=new Set([].concat(K(Qn.PARSED_STYLE_LIST),["x","y","z","isBillboard","billboardRotation","isSizeAttenuation","text","textAlign","textBaseline","fontStyle","fontSize","fontFamily","fontWeight","fontVariant","lineHeight","letterSpacing","leading","wordWrap","wordWrapWidth","maxLines","textOverflow","isOverflowing","textPath","textDecorationLine","textDecorationColor","textDecorationStyle","textPathSide","textPathStartOffset","metrics","dx","dy"]));var $N=function(){function r(){_(this,r),this.registry={},this.define(je.CIRCLE,Ol),this.define(je.ELLIPSE,Rh),this.define(je.RECT,wa),this.define(je.IMAGE,Dh),this.define(je.LINE,Vu),this.define(je.GROUP,kl),this.define(je.PATH,gs),this.define(je.POLYGON,Cl),this.define(je.POLYLINE,fp),this.define(je.TEXT,Nl),this.define(je.HTML,Lh)}return N(r,[{key:"define",value:function(t,n){this.registry[t]=n}},{key:"get",value:function(t){return this.registry[t]}}])}(),PU={number:function(e){return new En(e)},percent:function(e){return new En(e,"%")},px:function(e){return new En(e,"px")},em:function(e){return new En(e,"em")},rem:function(e){return new En(e,"rem")},deg:function(e){return new En(e,"deg")},grad:function(e){return new En(e,"grad")},rad:function(e){return new En(e,"rad")},turn:function(e){return new En(e,"turn")},s:function(e){return new En(e,"s")},ms:function(e){return new En(e,"ms")},registerProperty:function(e){var t=e.name,n=e.inherits,i=e.interpolable,a=e.initialValue,s=e.syntax;Ke.styleValueRegistry.registerMetadata({n:t,inh:n,int:i,d:a,syntax:s})},registerLayout:function(e,t){Ke.layoutRegistry.registerLayout(e,t)}},Zb=function(r){function e(){var t;_(this,e),t=Ee(this,e),t.defaultView=null,t.ownerDocument=null,t.nodeName="document";try{t.timeline=new Ke.AnimationTimeline(t)}catch(i){}var n={};return ep.forEach(function(i){var a=i.n,s=i.inh,o=i.d;s&&o&&(n[a]=pt(o)?o(je.GROUP):o)}),t.documentElement=new kl({id:"g-root",style:n}),t.documentElement.ownerDocument=t,t.documentElement.parentNode=t,t.childNodes=[t.documentElement],t}return Pe(e,r),N(e,[{key:"children",get:function(){return this.childNodes}},{key:"childElementCount",get:function(){return this.childNodes.length}},{key:"firstElementChild",get:function(){return this.firstChild}},{key:"lastElementChild",get:function(){return this.lastChild}},{key:"createElement",value:function(n,i){if(n==="svg")return this.documentElement;var a=this.defaultView.customElements.get(n);a||(console.warn("Unsupported tagName: ",n),a=n==="tspan"?Nl:kl);var s=new a(i);return s.ownerDocument=this,s}},{key:"createElementNS",value:function(n,i,a){return this.createElement(i,a)}},{key:"cloneNode",value:function(n){throw new Error(yn)}},{key:"destroy",value:function(){try{this.documentElement.destroyChildren(),this.timeline.destroy()}catch(n){}}},{key:"elementsFromBBox",value:function(n,i,a,s){var o=this.defaultView.context.rBushRoot,l=o.search({minX:n,minY:i,maxX:a,maxY:s}),u=[];return l.forEach(function(c){var h=c.displayObject,f=h.parsedStyle.pointerEvents,d=f===void 0?"auto":f,v=["auto","visiblepainted","visiblefill","visiblestroke","visible"].includes(d);(!v||v&&h.isVisible())&&!h.isCulled()&&h.isInteractive()&&u.push(h)}),u.sort(function(c,h){return h.sortable.renderOrder-c.sortable.renderOrder}),u}},{key:"elementFromPointSync",value:function(n,i){var a=this.defaultView.canvas2Viewport({x:n,y:i}),s=a.x,o=a.y,l=this.defaultView.getConfig(),u=l.width,c=l.height;if(s<0||o<0||s>u||o>c)return null;var h=this.defaultView.viewport2Client({x:s,y:o}),f=h.x,d=h.y,v=this.defaultView.getRenderingService().hooks.pickSync.call({topmost:!0,position:{x:n,y:i,viewportX:s,viewportY:o,clientX:f,clientY:d},picked:[]}),g=v.picked;return g&&g[0]||this.documentElement}},{key:"elementFromPoint",value:function(){var t=Lg(Po().mark(function i(a,s){var o,l,u,c,h,f,d,v,g,p,m;return Po().wrap(function(x){for(;;)switch(x.prev=x.next){case 0:if(o=this.defaultView.canvas2Viewport({x:a,y:s}),l=o.x,u=o.y,c=this.defaultView.getConfig(),h=c.width,f=c.height,!(l<0||u<0||l>h||u>f)){x.next=4;break}return x.abrupt("return",null);case 4:return d=this.defaultView.viewport2Client({x:l,y:u}),v=d.x,g=d.y,x.next=7,this.defaultView.getRenderingService().hooks.pick.promise({topmost:!0,position:{x:a,y:s,viewportX:l,viewportY:u,clientX:v,clientY:g},picked:[]});case 7:return p=x.sent,m=p.picked,x.abrupt("return",m&&m[0]||this.documentElement);case 10:case"end":return x.stop()}},i,this)}));function n(i,a){return t.apply(this,arguments)}return n}()},{key:"elementsFromPointSync",value:function(n,i){var a=this.defaultView.canvas2Viewport({x:n,y:i}),s=a.x,o=a.y,l=this.defaultView.getConfig(),u=l.width,c=l.height;if(s<0||o<0||s>u||o>c)return[];var h=this.defaultView.viewport2Client({x:s,y:o}),f=h.x,d=h.y,v=this.defaultView.getRenderingService().hooks.pickSync.call({topmost:!1,position:{x:n,y:i,viewportX:s,viewportY:o,clientX:f,clientY:d},picked:[]}),g=v.picked;return g[g.length-1]!==this.documentElement&&g.push(this.documentElement),g}},{key:"elementsFromPoint",value:function(){var t=Lg(Po().mark(function i(a,s){var o,l,u,c,h,f,d,v,g,p,m;return Po().wrap(function(x){for(;;)switch(x.prev=x.next){case 0:if(o=this.defaultView.canvas2Viewport({x:a,y:s}),l=o.x,u=o.y,c=this.defaultView.getConfig(),h=c.width,f=c.height,!(l<0||u<0||l>h||u>f)){x.next=4;break}return x.abrupt("return",[]);case 4:return d=this.defaultView.viewport2Client({x:l,y:u}),v=d.x,g=d.y,x.next=7,this.defaultView.getRenderingService().hooks.pick.promise({topmost:!1,position:{x:a,y:s,viewportX:l,viewportY:u,clientX:v,clientY:g},picked:[]});case 7:return p=x.sent,m=p.picked,m[m.length-1]!==this.documentElement&&m.push(this.documentElement),x.abrupt("return",m);case 11:case"end":return x.stop()}},i,this)}));function n(i,a){return t.apply(this,arguments)}return n}()},{key:"appendChild",value:function(n,i){throw new Error(wl)}},{key:"insertBefore",value:function(n,i){throw new Error(wl)}},{key:"removeChild",value:function(n,i){throw new Error(wl)}},{key:"replaceChild",value:function(n,i,a){throw new Error(wl)}},{key:"append",value:function(){throw new Error(wl)}},{key:"prepend",value:function(){throw new Error(wl)}},{key:"getElementById",value:function(n){return this.documentElement.getElementById(n)}},{key:"getElementsByName",value:function(n){return this.documentElement.getElementsByName(n)}},{key:"getElementsByTagName",value:function(n){return this.documentElement.getElementsByTagName(n)}},{key:"getElementsByClassName",value:function(n){return this.documentElement.getElementsByClassName(n)}},{key:"querySelector",value:function(n){return this.documentElement.querySelector(n)}},{key:"querySelectorAll",value:function(n){return this.documentElement.querySelectorAll(n)}},{key:"find",value:function(n){return this.documentElement.find(n)}},{key:"findAll",value:function(n){return this.documentElement.findAll(n)}}])}(Kn),Kb=function(){function r(e){_(this,r),this.strategies=e}return N(r,[{key:"apply",value:function(t){var n=t.camera,i=t.renderingService,a=t.renderingContext,s=this.strategies;i.hooks.cull.tap(r.tag,function(o){if(o){var l=o.cullable;return s.length===0?l.visible=a.unculledEntities.indexOf(o.entity)>-1:l.visible=s.every(function(u){return u.isVisible(n,o)}),!o.isCulled()&&o.isVisible()?o:(o.dispatchEvent(new Yr(Qt.CULLED)),null)}return o}),i.hooks.afterRender.tap(r.tag,function(o){o.cullable.visibilityPlaneMask=-1})}}])}();Kb.tag="Culling";var Qb=function(){function r(){var e=this;_(this,r),this.autoPreventDefault=!1,this.rootPointerEvent=new kh(null),this.rootWheelEvent=new op(null),this.onPointerMove=function(t){var n,i=(n=e.context.renderingContext.root)===null||n===void 0||(n=n.ownerDocument)===null||n===void 0?void 0:n.defaultView;if(!(i.supportsTouchEvents&&t.pointerType==="touch")){var a=e.normalizeToPointerEvent(t,i),s=yl(a),o;try{for(s.s();!(o=s.n()).done;){var l=o.value,u=e.bootstrapEvent(e.rootPointerEvent,l,i,t);e.context.eventService.mapEvent(u)}}catch(c){s.e(c)}finally{s.f()}e.setCursor(e.context.eventService.cursor)}},this.onClick=function(t){var n,i=(n=e.context.renderingContext.root)===null||n===void 0||(n=n.ownerDocument)===null||n===void 0?void 0:n.defaultView,a=e.normalizeToPointerEvent(t,i),s=yl(a),o;try{for(s.s();!(o=s.n()).done;){var l=o.value,u=e.bootstrapEvent(e.rootPointerEvent,l,i,t);e.context.eventService.mapEvent(u)}}catch(c){s.e(c)}finally{s.f()}e.setCursor(e.context.eventService.cursor)}}return N(r,[{key:"apply",value:function(t){var n=this;this.context=t;var i=t.renderingService,a=this.context.renderingContext.root.ownerDocument.defaultView;this.context.eventService.setPickHandler(function(s){var o=n.context.renderingService.hooks.pickSync.call({position:s,picked:[],topmost:!0}),l=o.picked;return l[0]||null}),i.hooks.pointerWheel.tap(r.tag,function(s){var o=n.normalizeWheelEvent(s);n.context.eventService.mapEvent(o)}),i.hooks.pointerDown.tap(r.tag,function(s){if(!(a.supportsTouchEvents&&s.pointerType==="touch")){var o=n.normalizeToPointerEvent(s,a);if(n.autoPreventDefault&&o[0].isNormalized){var l=s.cancelable||!("cancelable"in s);l&&s.preventDefault()}var u=yl(o),c;try{for(u.s();!(c=u.n()).done;){var h=c.value,f=n.bootstrapEvent(n.rootPointerEvent,h,a,s);n.context.eventService.mapEvent(f)}}catch(d){u.e(d)}finally{u.f()}n.setCursor(n.context.eventService.cursor)}}),i.hooks.pointerUp.tap(r.tag,function(s){if(!(a.supportsTouchEvents&&s.pointerType==="touch")){var o=n.context.contextService.getDomElement(),l=n.context.eventService.isNativeEventFromCanvas(o,s),u=l?"":"outside",c=n.normalizeToPointerEvent(s,a),h=yl(c),f;try{for(h.s();!(f=h.n()).done;){var d=f.value,v=n.bootstrapEvent(n.rootPointerEvent,d,a,s);v.type+=u,n.context.eventService.mapEvent(v)}}catch(g){h.e(g)}finally{h.f()}n.setCursor(n.context.eventService.cursor)}}),i.hooks.pointerMove.tap(r.tag,this.onPointerMove),i.hooks.pointerOver.tap(r.tag,this.onPointerMove),i.hooks.pointerOut.tap(r.tag,this.onPointerMove),i.hooks.click.tap(r.tag,this.onClick),i.hooks.pointerCancel.tap(r.tag,function(s){var o=n.normalizeToPointerEvent(s,a),l=yl(o),u;try{for(l.s();!(u=l.n()).done;){var c=u.value,h=n.bootstrapEvent(n.rootPointerEvent,c,a,s);n.context.eventService.mapEvent(h)}}catch(f){l.e(f)}finally{l.f()}n.setCursor(n.context.eventService.cursor)})}},{key:"bootstrapEvent",value:function(t,n,i,a){t.view=i,t.originalEvent=null,t.nativeEvent=a,t.pointerId=n.pointerId,t.width=n.width,t.height=n.height,t.isPrimary=n.isPrimary,t.pointerType=n.pointerType,t.pressure=n.pressure,t.tangentialPressure=n.tangentialPressure,t.tiltX=n.tiltX,t.tiltY=n.tiltY,t.twist=n.twist,this.transferMouseData(t,n);var s=this.context.eventService.client2Viewport({x:n.clientX,y:n.clientY}),o=s.x,l=s.y;t.viewport.x=o,t.viewport.y=l;var u=this.context.eventService.viewport2Canvas(t.viewport),c=u.x,h=u.y;return t.canvas.x=c,t.canvas.y=h,t.global.copyFrom(t.canvas),t.offset.copyFrom(t.canvas),t.isTrusted=a.isTrusted,t.type==="pointerleave"&&(t.type="pointerout"),t.type.startsWith("mouse")&&(t.type=t.type.replace("mouse","pointer")),t.type.startsWith("touch")&&(t.type=BC[t.type]||t.type),t}},{key:"normalizeWheelEvent",value:function(t){var n=this.rootWheelEvent;this.transferMouseData(n,t),n.deltaMode=t.deltaMode,n.deltaX=t.deltaX,n.deltaY=t.deltaY,n.deltaZ=t.deltaZ;var i=this.context.eventService.client2Viewport({x:t.clientX,y:t.clientY}),a=i.x,s=i.y;n.viewport.x=a,n.viewport.y=s;var o=this.context.eventService.viewport2Canvas(n.viewport),l=o.x,u=o.y;return n.canvas.x=l,n.canvas.y=u,n.global.copyFrom(n.canvas),n.offset.copyFrom(n.canvas),n.nativeEvent=t,n.type=t.type,n}},{key:"transferMouseData",value:function(t,n){t.isTrusted=n.isTrusted,t.srcElement=n.srcElement,t.timeStamp=rp.now(),t.type=n.type,t.altKey=n.altKey,t.metaKey=n.metaKey,t.shiftKey=n.shiftKey,t.ctrlKey=n.ctrlKey,t.button=n.button,t.buttons=n.buttons,t.client.x=n.clientX,t.client.y=n.clientY,t.movement.x=n.movementX,t.movement.y=n.movementY,t.page.x=n.pageX,t.page.y=n.pageY,t.screen.x=n.screenX,t.screen.y=n.screenY,t.relatedTarget=null}},{key:"setCursor",value:function(t){this.context.contextService.applyCursorStyle(t||this.context.config.cursor||"default")}},{key:"normalizeToPointerEvent",value:function(t,n){var i=[];if(n.isTouchEvent(t))for(var a=0;a<t.changedTouches.length;a++){var s=t.changedTouches[a];Et(s.button)&&(s.button=0),Et(s.buttons)&&(s.buttons=1),Et(s.isPrimary)&&(s.isPrimary=t.touches.length===1&&t.type==="touchstart"),Et(s.width)&&(s.width=s.radiusX||1),Et(s.height)&&(s.height=s.radiusY||1),Et(s.tiltX)&&(s.tiltX=0),Et(s.tiltY)&&(s.tiltY=0),Et(s.pointerType)&&(s.pointerType="touch"),Et(s.pointerId)&&(s.pointerId=s.identifier||0),Et(s.pressure)&&(s.pressure=s.force||.5),Et(s.twist)&&(s.twist=0),Et(s.tangentialPressure)&&(s.tangentialPressure=0),s.isNormalized=!0,s.type=t.type,i.push(s)}else if(n.isMouseEvent(t)){var o=t;Et(o.isPrimary)&&(o.isPrimary=!0),Et(o.width)&&(o.width=1),Et(o.height)&&(o.height=1),Et(o.tiltX)&&(o.tiltX=0),Et(o.tiltY)&&(o.tiltY=0),Et(o.pointerType)&&(o.pointerType="mouse"),Et(o.pointerId)&&(o.pointerId=IC),Et(o.pressure)&&(o.pressure=.5),Et(o.twist)&&(o.twist=0),Et(o.tangentialPressure)&&(o.tangentialPressure=0),o.isNormalized=!0,i.push(o)}else i.push(t);return i}}])}();Qb.tag="Event";var e3=[je.CIRCLE,je.ELLIPSE,je.IMAGE,je.RECT,je.LINE,je.POLYLINE,je.POLYGON,je.TEXT,je.PATH,je.HTML],t3=function(){function r(){_(this,r)}return N(r,[{key:"isVisible",value:function(t,n){var i,a=n.cullable;if(!a.enable)return!0;var s=n.getRenderBounds();if(Rn.isEmpty(s))return!1;var o=t.getFrustum(),l=(i=n.parentNode)===null||i===void 0||(i=i.cullable)===null||i===void 0?void 0:i.visibilityPlaneMask;return a.visibilityPlaneMask=this.computeVisibilityWithPlaneMask(n,s,l||xl.INDETERMINATE,o.planes),a.visible=a.visibilityPlaneMask!==xl.OUTSIDE,a.visible}},{key:"computeVisibilityWithPlaneMask",value:function(t,n,i,a){if(i===xl.OUTSIDE||i===xl.INSIDE)return i;for(var s=xl.INSIDE,o=e3.indexOf(t.nodeName)>-1,l=0,u=a.length;l<u;++l){var c=1<<l;if(i&c&&!(o&&(l===4||l===5))){var h=a[l],f=h.normal,d=h.distance;if(dn(f,n.getPositiveFarPoint(a[l]))+d<0)return xl.OUTSIDE;dn(f,n.getNegativeFarPoint(a[l]))+d<0&&(s|=c)}}return s}}])}(),Jb=function(){function r(){_(this,r),this.syncTasks=new Map,this.isFirstTimeRendering=!0,this.syncing=!1,this.isFirstTimeRenderingFinished=!1}return N(r,[{key:"apply",value:function(t){var n=this,i,a=t.renderingService,s=t.renderingContext,o=t.rBushRoot,l=s.root.ownerDocument.defaultView;this.rBush=o;var u=function(g){var p=g.target;p.renderable.dirty=!0,a.dirtify()},c=function(g){n.syncTasks.set(g.target,g.detail.affectChildren),a.dirtify()},h=function(g){var p=g.target;Ke.enableSizeAttenuation&&Ke.styleValueRegistry.updateSizeAttenuation(p,l.getCamera().getZoom())},f=function(g){var p=g.target,m=p.rBushNode;m.aabb&&n.rBush.remove(m.aabb),n.syncTasks.delete(p),Ke.sceneGraphService.dirtifyToRoot(p),a.dirtify()};a.hooks.init.tap(r.tag,function(){l.addEventListener(Qt.MOUNTED,h),l.addEventListener(Qt.UNMOUNTED,f),l.addEventListener(Qt.ATTR_MODIFIED,u),l.addEventListener(Qt.BOUNDS_CHANGED,c)}),a.hooks.destroy.tap(r.tag,function(){l.removeEventListener(Qt.MOUNTED,h),l.removeEventListener(Qt.UNMOUNTED,f),l.removeEventListener(Qt.ATTR_MODIFIED,u),l.removeEventListener(Qt.BOUNDS_CHANGED,c),n.syncTasks.clear()});var d=(i=Ke.globalThis.requestIdleCallback)!==null&&i!==void 0?i:ip.bind(Ke.globalThis);a.hooks.endFrame.tap(r.tag,function(){n.isFirstTimeRendering?(n.isFirstTimeRendering=!1,n.syncing=!0,d(function(){n.syncRTree(!0),n.isFirstTimeRenderingFinished=!0})):n.syncRTree()})}},{key:"syncNode",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(t.isConnected){var i=t.rBushNode;i.aabb&&this.rBush.remove(i.aabb);var a=t.getRenderBounds();if(a){var s=t.renderable;n&&(s.dirtyRenderBounds||(s.dirtyRenderBounds=new Rn),s.dirtyRenderBounds.update(a.center,a.halfExtents));var o=a.getMin(),l=Ie(o,2),u=l[0],c=l[1],h=a.getMax(),f=Ie(h,2),d=f[0],v=f[1];i.aabb||(i.aabb={}),i.aabb.displayObject=t,i.aabb.minX=u,i.aabb.minY=c,i.aabb.maxX=d,i.aabb.maxY=v}if(i.aabb&&!isNaN(i.aabb.maxX)&&!isNaN(i.aabb.maxX)&&!isNaN(i.aabb.minX)&&!isNaN(i.aabb.minY))return i.aabb}}},{key:"syncRTree",value:function(){var t=this,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;if(!(!n&&(this.syncing||this.syncTasks.size===0))){this.syncing=!0;var i=[],a=new Set,s=function(l){if(!a.has(l)&&l.renderable){var u=t.syncNode(l,n);u&&(i.push(u),a.add(l))}};this.syncTasks.forEach(function(o,l){o&&l.forEach(s);for(var u=l;u;)s(u),u=u.parentElement}),this.rBush.load(i),i.length=0,this.syncing=!1}}}])}();Jb.tag="Prepare";function MU(r){return!!r.document}var Ci=function(r){return r.READY="ready",r.BEFORE_RENDER="beforerender",r.RERENDER="rerender",r.AFTER_RENDER="afterrender",r.BEFORE_DESTROY="beforedestroy",r.AFTER_DESTROY="afterdestroy",r.RESIZE="resize",r.DIRTY_RECTANGLE="dirtyrectangle",r.RENDERER_CHANGED="rendererchanged",r}({}),qb=500,n3=.1,r3=1e3,Ih=new Yr(Qt.MOUNTED),Bh=new Yr(Qt.UNMOUNTED),dp=new Yr(Ci.BEFORE_RENDER),$b=new Yr(Ci.RERENDER),vp=new Yr(Ci.AFTER_RENDER),gp=function(r){function e(t){var n;_(this,e),n=Ee(this,e),n.Element=Qn,n.inited=!1,n.context={},n.document=new Zb,n.document.defaultView=n,n.customElements=new $N;var i=t.container,a=t.canvas,s=t.offscreenCanvas,o=t.width,l=t.height,u=t.devicePixelRatio,c=t.renderer,h=t.background,f=t.cursor,d=t.document,v=t.requestAnimationFrame,g=t.cancelAnimationFrame,p=t.createImage,m=t.enableLargeImageOptimization,b=t.supportsPointerEvents,x=t.supportsTouchEvents,O=t.supportsCSSTransform,T=t.cleanUpOnDestroy,S=T===void 0?!0:T,k=t.supportsMutipleCanvasesInOneContainer,C=t.useNativeClickEvent,W=t.alwaysTriggerPointerEventOnCanvas,U=t.isTouchEvent,J=t.isMouseEvent,te=t.dblClickSpeed;k||CC(i,n,S);var ie=o,ae=l,ve=u;return a&&(ve=u||Gu&&window.devicePixelRatio||1,ve=ve>=1?Math.ceil(ve):1,ie=o||LC(a)||a.width/ve,ae=l||DC(a)||a.height/ve),s&&(Ke.offscreenCanvas=s),n.devicePixelRatio=ve,n.requestAnimationFrame=v!=null?v:ip.bind(Ke.globalThis),n.cancelAnimationFrame=g!=null?g:Ib.bind(Ke.globalThis),n.supportsTouchEvents=x!=null?x:"ontouchstart"in Ke.globalThis,n.supportsPointerEvents=b!=null?b:!!Ke.globalThis.PointerEvent,n.isTouchEvent=U!=null?U:function(Z){return n.supportsTouchEvents&&Z instanceof Ke.globalThis.TouchEvent},n.isMouseEvent=J!=null?J:function(Z){return!Ke.globalThis.MouseEvent||Z instanceof Ke.globalThis.MouseEvent&&(!n.supportsPointerEvents||!(Z instanceof Ke.globalThis.PointerEvent))},n.dblClickSpeed=te!=null?te:200,n.initRenderingContext({container:i,canvas:a,width:ie,height:ae,renderer:c,offscreenCanvas:s,devicePixelRatio:ve,cursor:f||"default",background:h||"transparent",createImage:p,enableLargeImageOptimization:m,document:d,supportsCSSTransform:O,useNativeClickEvent:C,cleanUpOnDestroy:S,alwaysTriggerPointerEventOnCanvas:W}),n.initDefaultCamera(ie,ae,c.clipSpaceNearZ),n.initRenderer(c,!0),n}return Pe(e,r),N(e,[{key:"initRenderingContext",value:function(n){this.context.config=n,this.context.renderingContext={root:this.document.documentElement,renderListCurrentFrame:[],unculledEntities:[],renderReasons:new Set,force:!1,dirty:!1}}},{key:"initDefaultCamera",value:function(n,i,a){var s=this,o=new Ke.CameraContribution;o.clipSpaceNearZ=a,o.setType(xn.EXPLORING,jg.DEFAULT).setPosition(n/2,i/2,qb).setFocalPoint(n/2,i/2,0).setOrthographic(n/-2,n/2,i/2,i/-2,n3,r3),o.canvas=this,o.eventEmitter.on($1.UPDATED,function(){s.context.renderingContext.renderReasons.add(Tl.CAMERA_CHANGED),Ke.enableSizeAttenuation&&s.getConfig().renderer.getConfig().enableSizeAttenuation&&s.updateSizeAttenuation()}),this.context.camera=o}},{key:"updateSizeAttenuation",value:function(){var n=this.getCamera().getZoom();this.document.documentElement.forEach(function(i){Ke.styleValueRegistry.updateSizeAttenuation(i,n)})}},{key:"getConfig",value:function(){return this.context.config}},{key:"getRoot",value:function(){return this.document.documentElement}},{key:"getCamera",value:function(){return this.context.camera}},{key:"getContextService",value:function(){return this.context.contextService}},{key:"getEventService",value:function(){return this.context.eventService}},{key:"getRenderingService",value:function(){return this.context.renderingService}},{key:"getRenderingContext",value:function(){return this.context.renderingContext}},{key:"getStats",value:function(){return this.getRenderingService().getStats()}},{key:"ready",get:function(){var n=this;return this.readyPromise||(this.readyPromise=new Promise(function(i){n.resolveReadyPromise=function(){i(n)}}),this.inited&&this.resolveReadyPromise()),this.readyPromise}},{key:"destroy",value:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,i=arguments.length>1?arguments[1]:void 0;i===void 0&&(i=this.getConfig().fastCleanExistingCanvas),i||this.dispatchEvent(new Yr(Ci.BEFORE_DESTROY)),this.frameId&&this.cancelAnimationFrame(this.frameId);var a=this.getRoot();this.unmountChildren(a),n&&(this.document.destroy(),this.getEventService().destroy()),this.getRenderingService().destroy(),this.getContextService().destroy(),n&&this.context.rBushRoot&&(this.context.rBushRoot.clear(),this.context.rBushRoot=null,this.context.renderingContext.root=null),i||this.dispatchEvent(new Yr(Ci.AFTER_DESTROY));var s=function(l){l.currentTarget=null,l.manager=null,l.target=null,l.relatedNode=null};s(Ih),s(Bh),s(dp),s($b),s(vp),s(Ka),s(cp),s(hp),s(Ub)}},{key:"changeSize",value:function(n,i){this.resize(n,i)}},{key:"resize",value:function(n,i){var a=this.context.config;a.width=n,a.height=i,this.getContextService().resize(n,i);var s=this.context.camera,o=s.getProjectionMode();s.setPosition(n/2,i/2,qb).setFocalPoint(n/2,i/2,0),o===Zi.ORTHOGRAPHIC?s.setOrthographic(n/-2,n/2,i/2,i/-2,s.getNear(),s.getFar()):s.setAspect(n/i),this.dispatchEvent(new Yr(Ci.RESIZE,{width:n,height:i}))}},{key:"appendChild",value:function(n,i){return this.document.documentElement.appendChild(n,i)}},{key:"insertBefore",value:function(n,i){return this.document.documentElement.insertBefore(n,i)}},{key:"removeChild",value:function(n){return this.document.documentElement.removeChild(n)}},{key:"removeChildren",value:function(){this.document.documentElement.removeChildren()}},{key:"destroyChildren",value:function(){this.document.documentElement.destroyChildren()}},{key:"render",value:function(n){var i=this;n&&(dp.detail=n,vp.detail=n),this.dispatchEvent(dp);var a=this.getRenderingService();a.render(this.getConfig(),n,function(){i.dispatchEvent($b)}),this.dispatchEvent(vp)}},{key:"run",value:function(){var n=this,i=function(s,o){n.render(o),n.frameId=n.requestAnimationFrame(i)};i()}},{key:"initRenderer",value:function(n){var i=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(!n)throw new Error("Renderer is required.");this.inited=!1,this.readyPromise=void 0,this.context.rBushRoot=new jO,this.context.renderingPlugins=[],this.context.renderingPlugins.push(new Qb,new Jb,new Kb([new t3])),this.loadRendererContainerModule(n),this.context.contextService=new this.context.ContextService(D(D({},Ke),this.context)),this.context.renderingService=new pN(Ke,this.context),this.context.eventService=new gN(Ke,this.context),this.context.eventService.init(),this.context.contextService.init?(this.context.contextService.init(),this.initRenderingService(n,a,!0)):this.context.contextService.initAsync().then(function(){i.initRenderingService(n,a)})}},{key:"initRenderingService",value:function(n){var i=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.context.renderingService.init(function(){i.inited=!0,a?s?i.requestAnimationFrame(function(){i.dispatchEvent(new Yr(Ci.READY))}):i.dispatchEvent(new Yr(Ci.READY)):i.dispatchEvent(new Yr(Ci.RENDERER_CHANGED)),i.readyPromise&&i.resolveReadyPromise(),a||i.getRoot().forEach(function(o){var l=o,u=l.renderable;u&&(u.renderBoundsDirty=!0,u.boundsDirty=!0,u.dirty=!0)}),i.mountChildren(i.getRoot()),n.getConfig().enableAutoRendering&&i.run()})}},{key:"loadRendererContainerModule",value:function(n){var i=this,a=n.getPlugins();a.forEach(function(s){s.context=i.context,s.init(Ke)})}},{key:"setRenderer",value:function(n){var i=this.getConfig();if(i.renderer!==n){var a=i.renderer;i.renderer=n,this.destroy(!1,!0),K((a==null?void 0:a.getPlugins())||[]).reverse().forEach(function(s){s.destroy(Ke)}),this.initRenderer(n)}}},{key:"setCursor",value:function(n){var i=this.getConfig();i.cursor=n,this.getContextService().applyCursorStyle(n)}},{key:"unmountChildren",value:function(n){var i=this;n.childNodes.forEach(function(a){i.unmountChildren(a)}),this.inited&&(n.isMutationObserved?n.dispatchEvent(Bh):(Bh.target=n,this.dispatchEvent(Bh,!0)),n!==this.document.documentElement&&(n.ownerDocument=null),n.isConnected=!1),n.isCustomElement&&n.disconnectedCallback&&n.disconnectedCallback()}},{key:"mountChildren",value:function(n){var i=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ah(n);this.inited?n.isConnected||(n.ownerDocument=this.document,n.isConnected=!0,a||(n.isMutationObserved?n.dispatchEvent(Ih):(Ih.target=n,this.dispatchEvent(Ih,!0)))):console.warn("[g]: You are trying to call `canvas.appendChild` before canvas' initialization finished. You can either await `canvas.ready` or listen to `CanvasEvent.READY` manually.","appended child: ",n.nodeName),n.childNodes.forEach(function(s){i.mountChildren(s,a)}),n.isCustomElement&&n.connectedCallback&&n.connectedCallback()}},{key:"mountFragment",value:function(n){this.mountChildren(n,!1)}},{key:"client2Viewport",value:function(n){return this.getEventService().client2Viewport(n)}},{key:"viewport2Client",value:function(n){return this.getEventService().viewport2Client(n)}},{key:"viewport2Canvas",value:function(n){return this.getEventService().viewport2Canvas(n)}},{key:"canvas2Viewport",value:function(n){return this.getEventService().canvas2Viewport(n)}},{key:"getPointByClient",value:function(n,i){return this.client2Viewport({x:n,y:i})}},{key:"getClientByPoint",value:function(n,i){return this.viewport2Client({x:n,y:i})}}])}(Gb);function tt(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}function js(r){"@babel/helpers - typeof";return js=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},js(r)}function i3(r,e){if(js(r)!="object"||!r)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(js(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function ex(r){var e=i3(r,"string");return js(e)=="symbol"?e:e+""}function tx(r,e){for(var t=0;t<e.length;t++){var n=e[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(r,ex(n.key),n)}}function nt(r,e,t){return e&&tx(r.prototype,e),t&&tx(r,t),Object.defineProperty(r,"prototype",{writable:!1}),r}function _l(r){return _l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},_l(r)}function nx(){try{var r=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(nx=function(){return!!r})()}function a3(r){if(r===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}function s3(r,e){if(e&&(js(e)=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return a3(r)}function nn(r,e,t){return e=_l(e),s3(r,nx()?Reflect.construct(e,t||[],_l(r).constructor):e.apply(r,t))}function pp(r,e){return pp=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,n){return t.__proto__=n,t},pp(r,e)}function rn(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),Object.defineProperty(r,"prototype",{writable:!1}),e&&pp(r,e)}var o3=function(r){function e(){var t;tt(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=nn(this,e,[].concat(i)),t.landmarks=[],t}return rn(e,r),nt(e,[{key:"rotate",value:function(n,i,a){if(this.relElevation=Pl(i),this.relAzimuth=Pl(n),this.relRoll=Pl(a),this.elevation+=this.relElevation,this.azimuth+=this.relAzimuth,this.roll+=this.relRoll,this.type===xn.EXPLORING){var s=Jr(en(),[1,0,0],bn((this.rotateWorld?1:-1)*this.relElevation)),o=Jr(en(),[0,1,0],bn((this.rotateWorld?1:-1)*this.relAzimuth)),l=Jr(en(),[0,0,1],bn(this.relRoll)),u=qr(en(),o,s);u=qr(en(),u,l);var c=ku(mt(),u);gn(this.matrix,this.matrix,[0,0,-this.distance]),Ut(this.matrix,this.matrix,c),gn(this.matrix,this.matrix,[0,0,this.distance])}else{if(Math.abs(this.elevation)>90)return this;this.computeMatrix()}return this._getAxes(),this.type===xn.ORBITING||this.type===xn.EXPLORING?this._getPosition():this.type===xn.TRACKING&&this._getFocalPoint(),this._update(),this}},{key:"pan",value:function(n,i){var a=$r(n,i,0),s=De(this.position);return He(s,s,wt(Me(),this.right,a[0])),He(s,s,wt(Me(),this.up,a[1])),this._setPosition(s),this.triggerUpdate(),this}},{key:"dolly",value:function(n){var i=this.forward,a=De(this.position),s=n*this.dollyingStep,o=this.distance+n*this.dollyingStep;return s=Math.max(Math.min(o,this.maxDistance),this.minDistance)-this.distance,a[0]+=s*i[0],a[1]+=s*i[1],a[2]+=s*i[2],this._setPosition(a),this.type===xn.ORBITING||this.type===xn.EXPLORING?this._getDistance():this.type===xn.TRACKING&&He(this.focalPoint,a,this.distanceVector),this.triggerUpdate(),this}},{key:"cancelLandmarkAnimation",value:function(){this.landmarkAnimationID!==void 0&&this.canvas.cancelAnimationFrame(this.landmarkAnimationID)}},{key:"createLandmark",value:function(n){var i,a,s,o,l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},u=l.position,c=u===void 0?this.position:u,h=l.focalPoint,f=h===void 0?this.focalPoint:h,d=l.roll,v=l.zoom,g=new Ke.CameraContribution;g.setType(this.type,void 0),g.setPosition(c[0],(i=c[1])!==null&&i!==void 0?i:this.position[1],(a=c[2])!==null&&a!==void 0?a:this.position[2]),g.setFocalPoint(f[0],(s=f[1])!==null&&s!==void 0?s:this.focalPoint[1],(o=f[2])!==null&&o!==void 0?o:this.focalPoint[2]),g.setRoll(d!=null?d:this.roll),g.setZoom(v!=null?v:this.zoom);var p={name:n,matrix:Tn(g.getWorldTransform()),right:De(g.right),up:De(g.up),forward:De(g.forward),position:De(g.getPosition()),focalPoint:De(g.getFocalPoint()),distanceVector:De(g.getDistanceVector()),distance:g.getDistance(),dollyingStep:g.getDollyingStep(),azimuth:g.getAzimuth(),elevation:g.getElevation(),roll:g.getRoll(),relAzimuth:g.relAzimuth,relElevation:g.relElevation,relRoll:g.relRoll,zoom:g.getZoom()};return this.landmarks.push(p),p}},{key:"gotoLandmark",value:function(n){var i=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=Xt(n)?this.landmarks.find(function(J){return J.name===n}):n;if(s){var o=ht(a)?{duration:a}:a,l=o.easing,u=l===void 0?"linear":l,c=o.duration,h=c===void 0?100:c,f=o.easingFunction,d=f===void 0?void 0:f,v=o.onfinish,g=v===void 0?void 0:v,p=o.onframe,m=p===void 0?void 0:p,b=.01;this.cancelLandmarkAnimation();var x=s.position,O=s.focalPoint,T=s.zoom,S=s.roll,k=d||Ke.EasingFunction(u),C,W=function(){i.setFocalPoint(O),i.setPosition(x),i.setRoll(S),i.setZoom(T),i.computeMatrix(),i.triggerUpdate(),g==null||g()};if(h===0)return W();var U=function(te){C===void 0&&(C=te);var ie=te-C;if(ie>=h){W();return}var ae=k(ie/h),ve=Me(),Z=Me(),H=1,X=0;Ha(ve,i.focalPoint,O,ae),Ha(Z,i.position,x,ae),X=i.roll*(1-ae)+S*ae,H=i.zoom*(1-ae)+T*ae,i.setFocalPoint(ve),i.setPosition(Z),i.setRoll(X),i.setZoom(H);var q=ll(ve,O)+ll(Z,x);if(q<=b&&T===void 0&&S===void 0)return W();i.computeMatrix(),i.triggerUpdate(),ie<h&&(m==null||m(ae),i.landmarkAnimationID=i.canvas.requestAnimationFrame(U))};this.canvas.requestAnimationFrame(U)}}}])}(tb);Ke.CameraContribution=o3;var rx=null,SU=0,ix=new WeakMap,TU=null,AU=null,zh,ps;function OU(r,e){return zh=new rx(r,e)}function kU(r){return ps||(ps=rx.copy(zh),ps.oldValue=r,ps)}function CU(){zh=ps=void 0}function l3(r){return r===ps||r===zh}function NU(r,e){return r===e?r:ps&&l3(r)?ps:null}function u3(r){r.nodes.forEach(function(e){var t=ix.get(e);t&&t.forEach(function(n){n.observer===r&&n.removeTransientObservers()})})}function _U(r,e){for(var t=r;t;t=t.parentNode){var n=ix.get(t);if(n)for(var i=0;i<n.length;i++){var a=n[i],s=a.options;if(!(t!==r&&!s.subtree)){var o=e(s);o&&a.enqueue(o)}}}}var mp=!1,yp=null;function RU(r){yp.push(r),mp||(mp=!0,typeof runtime.globalThis!="undefined"?runtime.globalThis.setTimeout(bp):bp())}function bp(){mp=!1;var r=yp;yp=[],r.sort(function(t,n){return t.uid-n.uid});var e=!1;r.forEach(function(t){var n=t.takeRecords();u3(t),n.length&&(t.callback(n,t),e=!0)}),e&&bp()}function xp(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,n=Array(e);t<e;t++)n[t]=r[t];return n}function c3(r){if(Array.isArray(r))return xp(r)}function h3(r){if(typeof Symbol!="undefined"&&r[Symbol.iterator]!=null||r["@@iterator"]!=null)return Array.from(r)}function Ep(r,e){if(r){if(typeof r=="string")return xp(r,e);var t={}.toString.call(r).slice(8,-1);return t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set"?Array.from(r):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?xp(r,e):void 0}}function f3(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ni(r){return c3(r)||h3(r)||Ep(r)||f3()}function d3(r){if(Array.isArray(r))return r}function v3(r,e){var t=r==null?null:typeof Symbol!="undefined"&&r[Symbol.iterator]||r["@@iterator"];if(t!=null){var n,i,a,s,o=[],l=!0,u=!1;try{if(a=(t=t.call(r)).next,e===0){if(Object(t)!==t)return;l=!1}else for(;!(l=(n=a.call(t)).done)&&(o.push(n.value),o.length!==e);l=!0);}catch(c){u=!0,i=c}finally{try{if(!l&&t.return!=null&&(s=t.return(),Object(s)!==s))return}finally{if(u)throw i}}return o}}function g3(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function pn(r,e){return d3(r)||v3(r,e)||Ep(r,e)||g3()}var wp=function(r){function e(t,n,i,a){var s;return tt(this,e),s=nn(this,e,[t]),s.currentTime=i,s.timelineTime=a,s.target=n,s.type="finish",s.bubbles=!1,s.currentTarget=n,s.defaultPrevented=!1,s.eventPhase=s.AT_TARGET,s.timeStamp=Date.now(),s.currentTime=i,s.timelineTime=a,s}return rn(e,r),nt(e)}(Oh),p3=0,m3=function(){function r(e,t){var n;tt(this,r),this.currentTimePending=!1,this._idle=!0,this._paused=!1,this._finishedFlag=!0,this._currentTime=0,this._playbackRate=1,this._inTimeline=!0,this.effect=e,e.animation=this,this.timeline=t,this.id="".concat(p3++),this._inEffect=!!this.effect.update(0),this._totalDuration=Number((n=this.effect)===null||n===void 0?void 0:n.getComputedTiming().endTime),this._holdTime=0,this._paused=!1,this.oldPlayState="idle",this.updatePromises()}return nt(r,[{key:"pending",get:function(){return this._startTime===null&&!this._paused&&this.playbackRate!==0||this.currentTimePending}},{key:"playState",get:function(){return this._idle?"idle":this._isFinished?"finished":this._paused?"paused":"running"}},{key:"ready",get:function(){var t=this;return this.readyPromise||(this.timeline.animationsWithPromises.indexOf(this)===-1&&this.timeline.animationsWithPromises.push(this),this.readyPromise=new Promise(function(n,i){t.resolveReadyPromise=function(){n(t)},t.rejectReadyPromise=function(){i(new Error)}}),this.pending||this.resolveReadyPromise()),this.readyPromise}},{key:"finished",get:function(){var t=this;return this.finishedPromise||(this.timeline.animationsWithPromises.indexOf(this)===-1&&this.timeline.animationsWithPromises.push(this),this.finishedPromise=new Promise(function(n,i){t.resolveFinishedPromise=function(){n(t)},t.rejectFinishedPromise=function(){i(new Error)}}),this.playState==="finished"&&this.resolveFinishedPromise()),this.finishedPromise}},{key:"currentTime",get:function(){return this.updatePromises(),this._idle||this.currentTimePending?null:this._currentTime},set:function(t){if(t=Number(t),!isNaN(t)){if(this.timeline.restart(),!this._paused&&this._startTime!==null){var n;this._startTime=Number((n=this.timeline)===null||n===void 0?void 0:n.currentTime)-t/this.playbackRate}this.currentTimePending=!1,this._currentTime!==t&&(this._idle&&(this._idle=!1,this._paused=!0),this.tickCurrentTime(t,!0),this.timeline.applyDirtiedAnimation(this))}}},{key:"startTime",get:function(){return this._startTime},set:function(t){if(t!==null){if(this.updatePromises(),t=Number(t),isNaN(t)||this._paused||this._idle)return;this._startTime=t,this.tickCurrentTime((Number(this.timeline.currentTime)-this._startTime)*this.playbackRate),this.timeline.applyDirtiedAnimation(this),this.updatePromises()}}},{key:"playbackRate",get:function(){return this._playbackRate},set:function(t){if(t!==this._playbackRate){this.updatePromises();var n=this.currentTime;this._playbackRate=t,this.startTime=null,this.playState!=="paused"&&this.playState!=="idle"&&(this._finishedFlag=!1,this._idle=!1,this.ensureAlive(),this.timeline.applyDirtiedAnimation(this)),n!==null&&(this.currentTime=n),this.updatePromises()}}},{key:"_isFinished",get:function(){return!this._idle&&(this._playbackRate>0&&Number(this._currentTime)>=this._totalDuration||this._playbackRate<0&&Number(this._currentTime)<=0)}},{key:"totalDuration",get:function(){return this._totalDuration}},{key:"_needsTick",get:function(){return this.pending||this.playState==="running"||!this._finishedFlag}},{key:"updatePromises",value:function(){var t=this.oldPlayState,n=this.pending?"pending":this.playState;return this.readyPromise&&n!==t&&(n==="idle"?(this.rejectReadyPromise(),this.readyPromise=void 0):t==="pending"?this.resolveReadyPromise():n==="pending"&&(this.readyPromise=void 0)),this.finishedPromise&&n!==t&&(n==="idle"?(this.rejectFinishedPromise(),this.finishedPromise=void 0):n==="finished"?this.resolveFinishedPromise():t==="finished"&&(this.finishedPromise=void 0)),this.oldPlayState=n,this.readyPromise||this.finishedPromise}},{key:"play",value:function(){this.updatePromises(),this._paused=!1,(this._isFinished||this._idle)&&(this.rewind(),this._startTime=null),this._finishedFlag=!1,this._idle=!1,this.ensureAlive(),this.timeline.applyDirtiedAnimation(this),this.timeline.animations.indexOf(this)===-1&&this.timeline.animations.push(this),this.updatePromises()}},{key:"pause",value:function(){this.updatePromises(),this.currentTime&&(this._holdTime=this.currentTime),!this._isFinished&&!this._paused&&!this._idle?this.currentTimePending=!0:this._idle&&(this.rewind(),this._idle=!1),this._startTime=null,this._paused=!0,this.updatePromises()}},{key:"finish",value:function(){this.updatePromises(),!this._idle&&(this.currentTime=this._playbackRate>0?this._totalDuration:0,this._startTime=this._totalDuration-this.currentTime,this.currentTimePending=!1,this.timeline.applyDirtiedAnimation(this),this.updatePromises())}},{key:"cancel",value:function(){var t=this;if(this.updatePromises(),!!this._inEffect&&(this._inEffect=!1,this._idle=!0,this._paused=!1,this._finishedFlag=!0,this._currentTime=0,this._startTime=null,this.effect.update(null),this.timeline.applyDirtiedAnimation(this),this.updatePromises(),this.oncancel)){var n=new wp(null,this,this.currentTime,null);setTimeout(function(){t.oncancel(n)})}}},{key:"reverse",value:function(){this.updatePromises();var t=this.currentTime;this.playbackRate*=-1,this.play(),t!==null&&(this.currentTime=t),this.updatePromises()}},{key:"updatePlaybackRate",value:function(t){this.playbackRate=t}},{key:"targetAnimations",value:function(){var t,n=(t=this.effect)===null||t===void 0?void 0:t.target;return n.getAnimations()}},{key:"markTarget",value:function(){var t=this.targetAnimations();t.indexOf(this)===-1&&t.push(this)}},{key:"unmarkTarget",value:function(){var t=this.targetAnimations(),n=t.indexOf(this);n!==-1&&t.splice(n,1)}},{key:"tick",value:function(t,n){!this._idle&&!this._paused&&(this._startTime===null?n&&(this.startTime=t-this._currentTime/this.playbackRate):this._isFinished||this.tickCurrentTime((t-this._startTime)*this.playbackRate)),n&&(this.currentTimePending=!1,this.fireEvents(t))}},{key:"rewind",value:function(){if(this.playbackRate>=0)this.currentTime=0;else if(this._totalDuration<1/0)this.currentTime=this._totalDuration;else throw new Error("Unable to rewind negative playback rate animation with infinite duration")}},{key:"persist",value:function(){throw new Error(yn)}},{key:"addEventListener",value:function(t,n,i){throw new Error(yn)}},{key:"removeEventListener",value:function(t,n,i){throw new Error(yn)}},{key:"dispatchEvent",value:function(t){throw new Error(yn)}},{key:"commitStyles",value:function(){throw new Error(yn)}},{key:"ensureAlive",value:function(){if(this.playbackRate<0&&this.currentTime===0){var t;this._inEffect=!!((t=this.effect)!==null&&t!==void 0&&t.update(-1))}else{var n;this._inEffect=!!((n=this.effect)!==null&&n!==void 0&&n.update(this.currentTime))}!this._inTimeline&&(this._inEffect||!this._finishedFlag)&&(this._inTimeline=!0,this.timeline.animations.push(this))}},{key:"tickCurrentTime",value:function(t,n){t!==this._currentTime&&(this._currentTime=t,this._isFinished&&!n&&(this._currentTime=this._playbackRate>0?this._totalDuration:0),this.ensureAlive())}},{key:"fireEvents",value:function(t){var n=this;if(this._isFinished){if(!this._finishedFlag){if(this.onfinish){var i=new wp(null,this,this.currentTime,t);setTimeout(function(){n.onfinish&&n.onfinish(i)})}this._finishedFlag=!0}}else{if(this.onframe&&this.playState==="running"){var a=new wp(null,this,this.currentTime,t);this.onframe(a)}this._finishedFlag=!1}}}])}(),y3=4,b3=.001,x3=1e-7,E3=10,Yu=11,Fh=1/(Yu-1),w3=typeof Float32Array=="function",ax=function(e,t){return 1-3*t+3*e},sx=function(e,t){return 3*t-6*e},ox=function(e){return 3*e},jh=function(e,t,n){return((ax(t,n)*e+sx(t,n))*e+ox(t))*e},lx=function(e,t,n){return 3*ax(t,n)*e*e+2*sx(t,n)*e+ox(t)},P3=function(e,t,n,i,a){var s,o,l=0;do o=t+(n-t)/2,s=jh(o,i,a)-e,s>0?n=o:t=o;while(Math.abs(s)>x3&&++l<E3);return o},M3=function(e,t,n,i){for(var a=0;a<y3;++a){var s=lx(t,n,i);if(s===0)return t;var o=jh(t,n,i)-e;t-=o/s}return t},Pp=function(e,t,n,i){if(!(e>=0&&e<=1&&n>=0&&n<=1))throw new Error("bezier x values must be in [0, 1] range");if(e===t&&n===i)return function(l){return l};for(var a=w3?new Float32Array(Yu):new Array(Yu),s=0;s<Yu;++s)a[s]=jh(s*Fh,e,n);var o=function(u){for(var c=0,h=1,f=Yu-1;h!==f&&a[h]<=u;++h)c+=Fh;--h;var d=(u-a[h])/(a[h+1]-a[h]),v=c+d*Fh,g=lx(v,e,n);return g>=b3?M3(u,v,e,n):g===0?v:P3(u,c,c+Fh,e,n)};return function(l){return l===0||l===1?l:jh(o(l),t,i)}},S3=function(e){return e=e.replace(/([A-Z])/g,function(t){return"-".concat(t.toLowerCase())}),e.charAt(0)==="-"?e.substring(1):e},Gh=function(e){return Math.pow(e,2)},Hh=function(e){return Math.pow(e,3)},Xh=function(e){return Math.pow(e,4)},Wh=function(e){return Math.pow(e,5)},Vh=function(e){return Math.pow(e,6)},Yh=function(e){return 1-Math.cos(e*Math.PI/2)},Uh=function(e){return 1-Math.sqrt(1-e*e)},Zh=function(e){return e*e*(3*e-2)},Kh=function(e){for(var t,n=4;e<((t=Math.pow(2,--n))-1)/11;);return 1/Math.pow(4,3-n)-7.5625*Math.pow((t*3-2)/22-e,2)},Qh=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=pn(t,2),i=n[0],a=i===void 0?1:i,s=n[1],o=s===void 0?.5:s,l=on(Number(a),1,10),u=on(Number(o),.1,2);return e===0||e===1?e:-l*Math.pow(2,10*(e-1))*Math.sin((e-1-u/(Math.PI*2)*Math.asin(1/l))*(Math.PI*2)/u)},Uu=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=arguments.length>2?arguments[2]:void 0,i=pn(t,4),a=i[0],s=a===void 0?1:a,o=i[1],l=o===void 0?100:o,u=i[2],c=u===void 0?10:u,h=i[3],f=h===void 0?0:h;s=on(s,.1,1e3),l=on(l,.1,1e3),c=on(c,.1,1e3),f=on(f,.1,1e3);var d=Math.sqrt(l/s),v=c/(2*Math.sqrt(l*s)),g=v<1?d*Math.sqrt(1-v*v):0,p=1,m=v<1?(v*d+-f)/g:-f+d,b=n?n*e/1e3:e;return v<1?b=Math.exp(-b*v*d)*(p*Math.cos(g*b)+m*Math.sin(g*b)):b=(p+m*b)*Math.exp(-b*d),e===0||e===1?e:1-b},Mp=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=t,i=pn(n,2),a=i[0],s=a===void 0?10:a,o=i[1],l=o==="start"?Math.ceil:Math.floor;return l(on(e,0,1)*s)/s},ux=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=pn(t,4),i=n[0],a=n[1],s=n[2],o=n[3];return Pp(i,a,s,o)(e)},Jh=Pp(.42,0,1,1),Qi=function(e){return function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0;return 1-e(1-t,n,i)}},Ji=function(e){return function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0;return t<.5?e(t*2,n,i)/2:1-e(t*-2+2,n,i)/2}},qi=function(e){return function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0;return t<.5?(1-e(1-t*2,n,i))/2:(e(t*2-1,n,i)+1)/2}},cx={steps:Mp,"step-start":function(e){return Mp(e,[1,"start"])},"step-end":function(e){return Mp(e,[1,"end"])},linear:function(e){return e},"cubic-bezier":ux,ease:function(e){return ux(e,[.25,.1,.25,1])},in:Jh,out:Qi(Jh),"in-out":Ji(Jh),"out-in":qi(Jh),"in-quad":Gh,"out-quad":Qi(Gh),"in-out-quad":Ji(Gh),"out-in-quad":qi(Gh),"in-cubic":Hh,"out-cubic":Qi(Hh),"in-out-cubic":Ji(Hh),"out-in-cubic":qi(Hh),"in-quart":Xh,"out-quart":Qi(Xh),"in-out-quart":Ji(Xh),"out-in-quart":qi(Xh),"in-quint":Wh,"out-quint":Qi(Wh),"in-out-quint":Ji(Wh),"out-in-quint":qi(Wh),"in-expo":Vh,"out-expo":Qi(Vh),"in-out-expo":Ji(Vh),"out-in-expo":qi(Vh),"in-sine":Yh,"out-sine":Qi(Yh),"in-out-sine":Ji(Yh),"out-in-sine":qi(Yh),"in-circ":Uh,"out-circ":Qi(Uh),"in-out-circ":Ji(Uh),"out-in-circ":qi(Uh),"in-back":Zh,"out-back":Qi(Zh),"in-out-back":Ji(Zh),"out-in-back":qi(Zh),"in-bounce":Kh,"out-bounce":Qi(Kh),"in-out-bounce":Ji(Kh),"out-in-bounce":qi(Kh),"in-elastic":Qh,"out-elastic":Qi(Qh),"in-out-elastic":Ji(Qh),"out-in-elastic":qi(Qh),spring:Uu,"spring-in":Uu,"spring-out":Qi(Uu),"spring-in-out":Ji(Uu),"spring-out-in":qi(Uu)},T3=function(e){return S3(e).replace(/^ease-/,"").replace(/(\(|\s).+/,"").toLowerCase().trim()},A3=function(e){return cx[T3(e)]||cx.linear},O3=function(e){return e},k3=1,C3=.5,hx=0;function fx(r,e){return function(t){if(t>=1)return 1;var n=1/r;return t+=e*n,t-t%n}}var qh="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s*",N3=new RegExp("cubic-bezier\\(".concat(qh,",").concat(qh,",").concat(qh,",").concat(qh,"\\)")),_3=/steps\(\s*(\d+)\s*\)/,R3=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/;function Sp(r){var e=N3.exec(r);if(e)return Pp.apply(void 0,ni(e.slice(1).map(Number)));var t=_3.exec(r);if(t)return fx(Number(t[1]),hx);var n=R3.exec(r);return n?fx(Number(n[1]),{start:k3,middle:C3,end:hx}[n[2]]):A3(r)}function L3(r){return Math.abs(D3(r)/(r.playbackRate||1))}function D3(r){var e;return r.duration===0||r.iterations===0?0:(r.duration==="auto"?0:Number(r.duration))*((e=r.iterations)!==null&&e!==void 0?e:1)}var dx=0,Tp=1,$h=2,vx=3;function I3(r,e,t){if(e===null)return dx;var n=t.endTime;return e<Math.min(t.delay,n)?Tp:e>=Math.min(t.delay+r+t.endDelay,n)?$h:vx}function B3(r,e,t,n,i){switch(n){case Tp:return e==="backwards"||e==="both"?0:null;case vx:return t-i;case $h:return e==="forwards"||e==="both"?r:null;case dx:return null}}function z3(r,e,t,n,i){var a=i;return r===0?e!==Tp&&(a+=t):a+=n/r,a}function F3(r,e,t,n,i,a){var s=r===1/0?e%1:r%1;return s===0&&t===$h&&n!==0&&(i!==0||a===0)&&(s=1),s}function j3(r,e,t,n){return r===$h&&e===1/0?1/0:t===1?Math.floor(n)-1:Math.floor(n)}function G3(r,e,t){var n=r;if(r!=="normal"&&r!=="reverse"){var i=e;r==="alternate-reverse"&&(i+=1),n="normal",i!==1/0&&i%2!==0&&(n="reverse")}return n==="normal"?t:1-t}function H3(r,e,t){var n=I3(r,e,t),i=B3(r,t.fill,e,n,t.delay);if(i===null)return null;var a=t.duration==="auto"?0:t.duration,s=z3(a,n,t.iterations,i,t.iterationStart),o=F3(s,t.iterationStart,n,t.iterations,i,a),l=j3(n,t.iterations,o,s),u=G3(t.direction,l,o);return t.currentIteration=l,t.progress=u,t.easingFunction(u)}function X3(r,e,t){var n=W3(r,e),i=V3(n,t);return function(a,s){if(s!==null)i.filter(function(l){return s>=l.applyFrom&&s<l.applyTo}).forEach(function(l){var u=s-l.startOffset,c=l.endOffset-l.startOffset,h=c===0?0:u/c;a.setAttribute(l.property,l.interpolation(h),!1,!1)});else for(var o in n)gx(o)&&a.setAttribute(o,null)}}function gx(r){return r!=="offset"&&r!=="easing"&&r!=="composite"&&r!=="computedOffset"}function W3(r,e){for(var t={},n=0;n<r.length;n++)for(var i in r[n])if(gx(i)){var a={offset:r[n].offset,computedOffset:r[n].computedOffset,easing:r[n].easing,easingFunction:Sp(r[n].easing)||e.easingFunction,value:r[n][i]};t[i]=t[i]||[],t[i].push(a)}return t}function V3(r,e){var t=[];for(var n in r)for(var i=r[n],a=0;a<i.length-1;a++){var s=a,o=a+1,l=i[s].computedOffset,u=i[o].computedOffset,c=l,h=u;a===0&&(c=-1/0,u===0&&(o=s)),a===i.length-2&&(h=1/0,l===1&&(s=o)),t.push({applyFrom:c,applyTo:h,startOffset:i[s].computedOffset,endOffset:i[o].computedOffset,easingFunction:i[s].easingFunction,property:n,interpolation:Y3(n,i[s].value,i[o].value,e)})}return t.sort(function(f,d){return f.startOffset-d.startOffset}),t}var px=function(e,t,n){return function(i){var a=mx(e,t,i);return ht(a)?a:n(a)}};function Y3(r,e,t,n){var i=Ab[r];if(i&&i.syntax&&i.int){var a=Ke.styleValueRegistry.getPropertySyntax(i.syntax);if(a){var s=a.parser,o=s?s(e,n):e,l=s?s(t,n):t,u=a.mixer(o,l,n);if(u){var c=px.apply(void 0,ni(u));return function(h){return h===0?e:h===1?t:c(h)}}}}return px(!1,!0,function(h){return h?t:e})}function mx(r,e,t){if(typeof r=="number"&&typeof e=="number")return r*(1-t)+e*t;if(typeof r=="boolean"&&typeof e=="boolean"||typeof r=="string"&&typeof e=="string")return t<.5?r:e;if(Array.isArray(r)&&Array.isArray(e)){for(var n=r.length,i=e.length,a=Math.max(n,i),s=[],o=0;o<a;o++)s.push(mx(r[o<n?o:n-1],e[o<i?o:i-1],t));return s}throw new Error("Mismatched interpolation arguments ".concat(r,":").concat(e))}var U3=function(){function r(){tt(this,r),this.delay=0,this.direction="normal",this.duration="auto",this._easing="linear",this.easingFunction=O3,this.endDelay=0,this.fill="auto",this.iterationStart=0,this.iterations=1,this.currentIteration=null,this.progress=null}return nt(r,[{key:"easing",get:function(){return this._easing},set:function(t){this.easingFunction=Sp(t),this._easing=t}}])}();function Z3(r){var e=[];for(var t in r)if(!(t in["easing","offset","composite"])){var n=r[t];Array.isArray(n)||(n=[n]);for(var i=n.length,a=0;a<i;a++){if(!e[a]){var s={};"offset"in r&&(s.offset=Number(r.offset)),"easing"in r&&(s.easing=r.easing),"composite"in r&&(s.composite=r.composite),e[a]=s}n[a]!==void 0&&n[a]!==null&&(e[a][t]=n[a])}}return e.sort(function(o,l){return(o.computedOffset||0)-(l.computedOffset||0)}),e}function yx(r,e){if(r===null)return[];Array.isArray(r)||(r=Z3(r));for(var t=r.map(function(l){var u={};e!=null&&e.composite&&(u.composite="auto");for(var c in l){var h=l[c];if(c==="offset"){if(h!==null){if(h=Number(h),!isFinite(h))throw new Error("Keyframe offsets must be numbers.");if(h<0||h>1)throw new Error("Keyframe offsets must be between 0 and 1.");u.computedOffset=h}}else if(c==="composite"&&["replace","add","accumulate","auto"].indexOf(h)===-1)throw new Error("".concat(h," compositing is not supported"));u[c]=h}return u.offset===void 0&&(u.offset=null),u.easing===void 0&&(u.easing=(e==null?void 0:e.easing)||"linear"),u.composite===void 0&&(u.composite="auto"),u}),n=!0,i=-1/0,a=0;a<t.length;a++){var s=t[a].offset;if(vt(s))n=!1;else{if(s<i)throw new TypeError("Keyframes are not loosely sorted by offset. Sort or specify offsets.");i=s}}t=t.filter(function(l){return Number(l.offset)>=0&&Number(l.offset)<=1});function o(){var l,u=t,c=u.length;if(t[c-1].computedOffset=Number((l=t[c-1].offset)!==null&&l!==void 0?l:1),c>1){var h;t[0].computedOffset=Number((h=t[0].offset)!==null&&h!==void 0?h:0)}for(var f=0,d=Number(t[0].computedOffset),v=1;v<c;v++){var g=t[v].computedOffset;if(!vt(g)&&!vt(d)){for(var p=1;p<v-f;p++)t[f+p].computedOffset=d+(Number(g)-d)*p/(v-f);f=v,d=Number(g)}}}return n||o(),t}var K3="backwards|forwards|both|none".split("|"),Q3="reverse|alternate|alternate-reverse".split("|");function J3(r,e){var t=new U3;return e&&(t.fill="both",t.duration="auto"),typeof r=="number"&&!isNaN(r)?t.duration=r:r!==void 0&&Object.keys(r).forEach(function(n){if(r[n]!==void 0&&r[n]!==null&&r[n]!=="auto"){if((typeof t[n]=="number"||n==="duration")&&(typeof r[n]!="number"||isNaN(r[n]))||n==="fill"&&K3.indexOf(r[n])===-1||n==="direction"&&Q3.indexOf(r[n])===-1)return;t[n]=r[n]}}),t}function q3(r,e){var t;return r=$3((t=r)!==null&&t!==void 0?t:{duration:"auto"}),J3(r,e)}function $3(r){return typeof r=="number"&&(isNaN(r)?r={duration:"auto"}:r={duration:r}),r}var e_=function(){function r(e,t,n){var i=this;tt(this,r),this.composite="replace",this.iterationComposite="replace",this.target=e,this.timing=q3(n,!1),this.timing.effect=this,this.timing.activeDuration=L3(this.timing),this.timing.endTime=Math.max(0,this.timing.delay+this.timing.activeDuration+this.timing.endDelay),this.normalizedKeyframes=yx(t,this.timing),this.interpolations=X3(this.normalizedKeyframes,this.timing,this.target);var a=Ke.globalThis.Proxy;this.computedTiming=a?new a(this.timing,{get:function(o,l){return l==="duration"?o.duration==="auto"?0:o.duration:l==="fill"?o.fill==="auto"?"none":o.fill:l==="localTime"?i.animation&&i.animation.currentTime||null:l==="currentIteration"?!i.animation||i.animation.playState!=="running"?null:o.currentIteration||0:l==="progress"?!i.animation||i.animation.playState!=="running"?null:o.progress||0:o[l]},set:function(){return!0}}):this.timing}return nt(r,[{key:"applyInterpolations",value:function(){this.interpolations(this.target,Number(this.timeFraction))}},{key:"update",value:function(t){return t===null?!1:(this.timeFraction=H3(this.timing.activeDuration,t,this.timing),this.timeFraction!==null)}},{key:"getKeyframes",value:function(){return this.normalizedKeyframes}},{key:"setKeyframes",value:function(t){this.normalizedKeyframes=yx(t)}},{key:"getComputedTiming",value:function(){return this.computedTiming}},{key:"getTiming",value:function(){return this.timing}},{key:"updateTiming",value:function(t){var n=this;Object.keys(t||{}).forEach(function(i){n.timing[i]=t[i]})}}])}();function bx(r,e){return Number(r.id)-Number(e.id)}var t_=function(){function r(e){var t=this;tt(this,r),this.animations=[],this.ticking=!1,this.timelineTicking=!1,this.hasRestartedThisFrame=!1,this.animationsWithPromises=[],this.inTick=!1,this.pendingEffects=[],this.currentTime=null,this.rafId=0,this.rafCallbacks=[],this.webAnimationsNextTick=function(n){t.currentTime=n,t.discardAnimations(),t.animations.length===0?t.timelineTicking=!1:t.requestAnimationFrame(t.webAnimationsNextTick)},this.processRafCallbacks=function(n){var i=t.rafCallbacks;t.rafCallbacks=[],n<Number(t.currentTime)&&(n=Number(t.currentTime)),t.animations.sort(bx),t.animations=t.tick(n,!0,t.animations)[0],i.forEach(function(a){a[1](n)}),t.applyPendingEffects()},this.document=e}return nt(r,[{key:"getAnimations",value:function(){return this.discardAnimations(),this.animations.slice()}},{key:"isTicking",value:function(){return this.inTick}},{key:"play",value:function(t,n,i){var a=new e_(t,n,i),s=new m3(a,this);return this.animations.push(s),this.restartWebAnimationsNextTick(),s.updatePromises(),s.play(),s.updatePromises(),s}},{key:"applyDirtiedAnimation",value:function(t){var n=this;if(!this.inTick){t.markTarget();var i=t.targetAnimations();i.sort(bx);var a=this.tick(Number(this.currentTime),!1,i.slice())[1];a.forEach(function(s){var o=n.animations.indexOf(s);o!==-1&&n.animations.splice(o,1)}),this.applyPendingEffects()}}},{key:"restart",value:function(){return this.ticking||(this.ticking=!0,this.requestAnimationFrame(function(){}),this.hasRestartedThisFrame=!0),this.hasRestartedThisFrame}},{key:"destroy",value:function(){this.document.defaultView.cancelAnimationFrame(this.frameId)}},{key:"applyPendingEffects",value:function(){this.pendingEffects.forEach(function(t){t==null||t.applyInterpolations()}),this.pendingEffects=[]}},{key:"updateAnimationsPromises",value:function(){this.animationsWithPromises=this.animationsWithPromises.filter(function(t){return t.updatePromises()})}},{key:"discardAnimations",value:function(){this.updateAnimationsPromises(),this.animations=this.animations.filter(function(t){return t.playState!=="finished"&&t.playState!=="idle"})}},{key:"restartWebAnimationsNextTick",value:function(){this.timelineTicking||(this.timelineTicking=!0,this.requestAnimationFrame(this.webAnimationsNextTick))}},{key:"rAF",value:function(t){var n=this.rafId++;return this.rafCallbacks.length===0&&(this.frameId=this.document.defaultView.requestAnimationFrame(this.processRafCallbacks)),this.rafCallbacks.push([n,t]),n}},{key:"requestAnimationFrame",value:function(t){var n=this;return this.rAF(function(i){n.updateAnimationsPromises(),t(i),n.updateAnimationsPromises()})}},{key:"tick",value:function(t,n,i){var a=this,s,o;this.inTick=!0,this.hasRestartedThisFrame=!1,this.currentTime=t,this.ticking=!1;var l=[],u=[],c=[],h=[];return i.forEach(function(f){f.tick(t,n),f._inEffect?(u.push(f.effect),f.markTarget()):(l.push(f.effect),f.unmarkTarget()),f._needsTick&&(a.ticking=!0);var d=f._inEffect||f._needsTick;f._inTimeline=d,d?c.push(f):h.push(f)}),(s=this.pendingEffects).push.apply(s,l),(o=this.pendingEffects).push.apply(o,u),this.ticking&&this.requestAnimationFrame(function(){}),this.inTick=!1,[c,h]}}])}();Ke.EasingFunction=Sp,Ke.AnimationTimeline=t_;var xx=function(r){return vt(r)?"":r.toString()},n_=function(r){var e=xx(r);return e.charAt(0).toUpperCase()+e.substring(1)},ef=n_,r_=function(r){return typeof r=="object"&&r!==null},Ap=r_,i_=function(r){return r!==null&&typeof r!="function"&&isFinite(r.length)},Zu=i_,Op=function(r,e){if(r===e)return!0;if(!r||!e||Xt(r)||Xt(e))return!1;if(Zu(r)||Zu(e)){if(r.length!==e.length)return!1;for(var t=!0,n=0;n<r.length&&(t=Op(r[n],e[n]),!!t);n++);return t}if(Ap(r)||Ap(e)){var i=Object.keys(r),a=Object.keys(e);if(i.length!==a.length)return!1;for(var t=!0,n=0;n<i.length&&(t=Op(r[i[n]],e[i[n]]),!!t);n++);return t}return!1},dr=Op;const a_={duration:500},s_={duration:1e3,easing:"cubic-bezier(0.250, 0.460, 0.450, 0.940)",iterations:1,fill:"both"},LU={CHANGE:"change"};var Wn;(function(r){r.NodeAdded="NodeAdded",r.NodeUpdated="NodeUpdated",r.NodeRemoved="NodeRemoved",r.EdgeAdded="EdgeAdded",r.EdgeUpdated="EdgeUpdated",r.EdgeRemoved="EdgeRemoved",r.ComboAdded="ComboAdded",r.ComboUpdated="ComboUpdated",r.ComboRemoved="ComboRemoved"})(Wn||(Wn={}));var Ei;(function(r){r.DRAW="draw",r.COLLAPSE="collapse",r.EXPAND="expand",r.TRANSFORM="transform"})(Ei||(Ei={}));var ms;(function(r){r.CLICK="canvas:click",r.DBLCLICK="canvas:dblclick",r.POINTER_OVER="canvas:pointerover",r.POINTER_LEAVE="canvas:pointerleave",r.POINTER_ENTER="canvas:pointerenter",r.POINTER_MOVE="canvas:pointermove",r.POINTER_OUT="canvas:pointerout",r.POINTER_DOWN="canvas:pointerdown",r.POINTER_UP="canvas:pointerup",r.CONTEXT_MENU="canvas:contextmenu",r.DRAG_START="canvas:dragstart",r.DRAG="canvas:drag",r.DRAG_END="canvas:dragend",r.DRAG_ENTER="canvas:dragenter",r.DRAG_OVER="canvas:dragover",r.DRAG_LEAVE="canvas:dragleave",r.DROP="canvas:drop",r.WHEEL="canvas:wheel"})(ms||(ms={}));var No;(function(r){r.CLICK="combo:click",r.DBLCLICK="combo:dblclick",r.POINTER_OVER="combo:pointerover",r.POINTER_LEAVE="combo:pointerleave",r.POINTER_ENTER="combo:pointerenter",r.POINTER_MOVE="combo:pointermove",r.POINTER_OUT="combo:pointerout",r.POINTER_DOWN="combo:pointerdown",r.POINTER_UP="combo:pointerup",r.CONTEXT_MENU="combo:contextmenu",r.DRAG_START="combo:dragstart",r.DRAG="combo:drag",r.DRAG_END="combo:dragend",r.DRAG_ENTER="combo:dragenter",r.DRAG_OVER="combo:dragover",r.DRAG_LEAVE="combo:dragleave",r.DROP="combo:drop"})(No||(No={}));var We;(function(r){r.CLICK="click",r.DBLCLICK="dblclick",r.POINTER_OVER="pointerover",r.POINTER_LEAVE="pointerleave",r.POINTER_ENTER="pointerenter",r.POINTER_MOVE="pointermove",r.POINTER_OUT="pointerout",r.POINTER_DOWN="pointerdown",r.POINTER_UP="pointerup",r.CONTEXT_MENU="contextmenu",r.DRAG_START="dragstart",r.DRAG="drag",r.DRAG_END="dragend",r.DRAG_ENTER="dragenter",r.DRAG_OVER="dragover",r.DRAG_LEAVE="dragleave",r.DROP="drop",r.KEY_DOWN="keydown",r.KEY_UP="keyup",r.WHEEL="wheel"})(We||(We={}));var Rl;(function(r){r.KEY_DOWN="keydown",r.KEY_UP="keyup"})(Rl||(Rl={}));var tf;(function(r){r.CLICK="edge:click",r.DBLCLICK="edge:dblclick",r.POINTER_OVER="edge:pointerover",r.POINTER_LEAVE="edge:pointerleave",r.POINTER_ENTER="edge:pointerenter",r.POINTER_MOVE="edge:pointermove",r.POINTER_OUT="edge:pointerout",r.POINTER_DOWN="edge:pointerdown",r.POINTER_UP="edge:pointerup",r.CONTEXT_MENU="edge:contextmenu",r.DRAG_ENTER="edge:dragenter",r.DRAG_OVER="edge:dragover",r.DRAG_LEAVE="edge:dragleave",r.DROP="edge:drop"})(tf||(tf={}));var rt;(function(r){r.BEFORE_CANVAS_INIT="beforecanvasinit",r.AFTER_CANVAS_INIT="aftercanvasinit",r.BEFORE_SIZE_CHANGE="beforesizechange",r.AFTER_SIZE_CHANGE="aftersizechange",r.BEFORE_ELEMENT_CREATE="beforeelementcreate",r.AFTER_ELEMENT_CREATE="afterelementcreate",r.BEFORE_ELEMENT_UPDATE="beforeelementupdate",r.AFTER_ELEMENT_UPDATE="afterelementupdate",r.BEFORE_ELEMENT_DESTROY="beforeelementdestroy",r.AFTER_ELEMENT_DESTROY="afterelementdestroy",r.BEFORE_ELEMENT_TRANSLATE="beforeelementtranslate",r.AFTER_ELEMENT_TRANSLATE="afterelementtranslate",r.BEFORE_DRAW="beforedraw",r.AFTER_DRAW="afterdraw",r.BEFORE_RENDER="beforerender",r.AFTER_RENDER="afterrender",r.BEFORE_ANIMATE="beforeanimate",r.AFTER_ANIMATE="afteranimate",r.BEFORE_LAYOUT="beforelayout",r.AFTER_LAYOUT="afterlayout",r.BEFORE_STAGE_LAYOUT="beforestagelayout",r.AFTER_STAGE_LAYOUT="afterstagelayout",r.BEFORE_TRANSFORM="beforetransform",r.AFTER_TRANSFORM="aftertransform",r.BATCH_START="batchstart",r.BATCH_END="batchend",r.BEFORE_DESTROY="beforedestroy",r.AFTER_DESTROY="afterdestroy",r.BEFORE_RENDERER_CHANGE="beforerendererchange",r.AFTER_RENDERER_CHANGE="afterrendererchange"})(rt||(rt={}));var Gs;(function(r){r.UNDO="undo",r.REDO="redo",r.CANCEL="cancel",r.ADD="add",r.CLEAR="clear",r.CHANGE="change"})(Gs||(Gs={}));var $i;(function(r){r.CLICK="node:click",r.DBLCLICK="node:dblclick",r.POINTER_OVER="node:pointerover",r.POINTER_LEAVE="node:pointerleave",r.POINTER_ENTER="node:pointerenter",r.POINTER_MOVE="node:pointermove",r.POINTER_OUT="node:pointerout",r.POINTER_DOWN="node:pointerdown",r.POINTER_UP="node:pointerup",r.CONTEXT_MENU="node:contextmenu",r.DRAG_START="node:dragstart",r.DRAG="node:drag",r.DRAG_END="node:dragend",r.DRAG_ENTER="node:dragenter",r.DRAG_OVER="node:dragover",r.DRAG_LEAVE="node:dragleave",r.DROP="node:drop"})($i||($i={}));const An="combo",ea="tree";var Ku;(function(r){r.NODE="node",r.EDGE="edge",r.COMBO="combo",r.THEME="theme",r.PALETTE="palette",r.LAYOUT="layout",r.BEHAVIOR="behavior",r.PLUGIN="plugin",r.ANIMATION="animation",r.TRANSFORM="transform",r.SHAPE="shape"})(Ku||(Ku={}));const kp={animation:{},behavior:{},combo:{},edge:{},layout:{},node:{},palette:{},theme:{},plugin:{},transform:{},shape:{}};function ys(r,e){var t;const n=(t=kp[r])===null||t===void 0?void 0:t[e];if(n)return n}function DU(r){return EXTENSION_REGISTRY[r]}const o_="5.0.32",l_="G6";function bs(r){return`[${l_} v${o_}] ${r}`}const wi={mute:!1,debug:r=>{!wi.mute&&console.debug(bs(r))},info:r=>{!wi.mute&&console.info(bs(r))},warn:r=>{!wi.mute&&console.warn(bs(r))},error:r=>{!wi.mute&&console.error(bs(r))}};function Ex(r){const{theme:e}=r;if(!e)return{};const t=ys(Ku.THEME,e);return t||(wi.warn(`The theme of ${e} is not registered.`),{})}function Cp(r,e){if(Array.isArray(r)&&r.length===0)return null;const t=Array.isArray(r)?r[0]:r,n=Array.isArray(r)?r.slice(1):e||[];return new Proxy(t,{get(i,a){return typeof i[a]=="function"&&!["onframe","onfinish"].includes(a)?(...s)=>{i[a](...s),n.forEach(o=>{var l;return(l=o[a])===null||l===void 0?void 0:l.call(o,...s)})}:a==="finished"?Promise.all([t.finished,...n.map(s=>s.finished)]):Reflect.get(i,a)},set(i,a,s){return["onframe","onfinish"].includes(a)||n.forEach(o=>{o[a]=s}),Reflect.set(i,a,s)}})}function Np(r){const e=r.reduce((n,i)=>(Object.entries(i).forEach(([a,s])=>{n[a]===void 0?n[a]=[s]:n[a].push(s)}),n),{});Object.entries(e).forEach(([n,i])=>{(i.length!==r.length||i.some(a=>vt(a))||i.every(a=>!["sourceNode","targetNode","childrenNode"].includes(n)&&dr(a,i[0])))&&delete e[n]});const t=Object.entries(e).reduce((n,[i,a])=>(a.forEach((s,o)=>{n[o]?n[o][i]=s:n[o]={[i]:s}}),n),[]);return r.length!==0&&t.length===0&&t.push({_:0},{_:0}),t}function Qu(r){switch(r){case"opacity":return 1;case"x":case"y":case"z":case"zIndex":return 0;case"visibility":return"visible";case"collapsed":return!1;case"states":return[];default:return}}function wx(r,e){const{animation:t}=r;if(t===!1||e===!1)return!1;const n=Object.assign({},a_);return nr(t)&&Object.assign(n,t),nr(e)&&Object.assign(n,e),n}function u_(r){if(typeof r=="string"){const e=ys(Ku.ANIMATION,r);return e||(wi.warn(`The animation of ${r} is not registered.`),[])}return r}function c_(r,e,t,n){var i,a;const{animation:s}=r,o=(i=r==null?void 0:r[e])===null||i===void 0?void 0:i.animation;if(o===!1)return[];const l=o==null?void 0:o[t];if(l===!1)return[];if(s===!1||n===!1)return[];const u=(a=Ex(r)[e])===null||a===void 0?void 0:a.animation,c=(f=[])=>u_(f).map(d=>Object.assign(Object.assign(Object.assign(Object.assign({},s_),nr(s)&&s),d),nr(n)&&n));if(l)return c(l);if(!u)return[];const h=u[t];return h===!1?[]:c(h)}function Px(r,e,t,n){if(Array.isArray(n)){let a=!1;const s=[];for(let o=0;o<n.length;o++){const l=n[o];if(l[0]==="translate"){if(l[1]===r&&l[2]===e)return null;a=!0,s.push(["translate",r,e])}else if(l[0]==="translate3d"){if(l[1]===r&&l[2]===e&&l[3]===t)return null;a=!0,s.push(["translate3d",r,e,t])}else s.push(l)}return a||s.splice(0,0,t===0?["translate",r,e]:["translate3d",r,e,t]),s}const i=n?n.replace(/translate(3d)?\([^)]*\)/g,""):"";return t===0?`translate(${r}, ${e})${i}`:`translate3d(${r}, ${e}, ${t})${i}`}var h_=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};const f_=(r,e,t)=>{if(!t.length)return null;const[n,i]=e,a=u=>{var c;if(u){const h=r.getShape(u);if(!h)return null;const f=`get${ef(u)}Style`,d=((c=r==null?void 0:r[f])===null||c===void 0?void 0:c.bind(r))||(p=>p),v=(d==null?void 0:d(n))||{},g=(d==null?void 0:d(i))||{};return{shape:h,fromStyle:v,toStyle:g}}else return{shape:r,fromStyle:n,toStyle:i}};let s;const o=t.map(u=>{var{fields:c,shape:h,states:f}=u,d=h_(u,["fields","shape","states"]);const v=a(h);if(!v)return null;const{shape:g,fromStyle:p,toStyle:m}=v,b=[{},{}];if(c.forEach(O=>{var T,S;Object.assign(b[0],{[O]:(T=p[O])!==null&&T!==void 0?T:Qu(O)}),Object.assign(b[1],{[O]:(S=m[O])!==null&&S!==void 0?S:Qu(O)})}),b.some(O=>Object.keys(O).some(T=>["x","y","z"].includes(T)))){const{x:O=0,y:T=0,z:S=0,transform:k=""}=g.attributes||{};b.forEach(C=>{C.transform=Px(C.x||O,C.y||T,C.z||S,k)})}const x=g.animate(Np(b),d);return h===void 0&&(s=x),x}).filter(Boolean),l=s||(o==null?void 0:o[0]);return l?Cp(l,o.filter(u=>u!==u)):null},d_=[{fields:["opacity"]}],v_=[{fields:["x","y"]}],Mx=[{fields:["x","y"]}],g_=Mx,Sx=[{fields:["sourceNode","targetNode"]}],p_=Sx,Tx=[{fields:["childrenNode","x","y"]}],m_=Tx,IU=[{fields:["childrenNode","x","y"]}];var y_=Object.prototype.hasOwnProperty;function b_(r,e){if(!e||!pi(r))return{};for(var t={},n=pt(e)?e:function(o){return o[e]},i,a=0;a<r.length;a++){var s=r[a];i=n(s),y_.call(t,i)?t[i].push(s):t[i]=[s]}return t}var nf=b_,Ax=function(r,e,t){var n,i,a,s,o=0;t||(t={});var l=function(){o=t.leading===!1?0:Date.now(),n=null,s=r.apply(i,a),n||(i=a=null)},u=function(){var c=Date.now();!o&&t.leading===!1&&(o=c);var h=e-(c-o);return i=this,a=arguments,h<=0||h>e?(n&&(clearTimeout(n),n=null),o=c,s=r.apply(i,a),n||(i=a=null)):!n&&t.trailing!==!1&&(n=setTimeout(l,h)),s};return u.cancel=function(){clearTimeout(n),o=0,n=i=a=null},u},_p=function(r){if(typeof r!="object"||r===null)return r;var e;if(pi(r)){e=[];for(var t=0,n=r.length;t<n;t++)typeof r[t]=="object"&&r[t]!=null?e[t]=_p(r[t]):e[t]=r[t]}else{e={};for(var i in r)typeof r[i]=="object"&&r[i]!=null?e[i]=_p(r[i]):e[i]=r[i]}return e},Ll=_p;function x_(r){return"source"in r&&"target"in r}function E_(r){return r.length===2}function BU(r){return r.length===3}function Dl(r){return r instanceof Float32Array?!0:Array.isArray(r)&&(r.length===2||r.length===3)?r.every(e=>typeof e=="number"):!1}function Qa(r,e,t){return r>=e&&r<=t}function Ja(r=0){if(Array.isArray(r)){const[e=0,t=e,n=e,i=t]=r;return[e,t,n,i]}return[r,r,r,r]}function w_(r=0){const e=Ja(r);return e[0]+e[2]}function zU(r=0){const e=Ja(r);return e[1]+e[3]}function qa(r){return r.max[0]-r.min[0]}function $a(r){return r.max[1]-r.min[1]}function Hs(r){return[qa(r),$a(r)]}function Xs(r,e){const t=Dl(r)?Rp(r):r.getShape("key").getBounds();return e?Ws(t,e):t}function Rp(r){const[e,t,n=0]=r,i=new Rn;return i.setMinMax([e,t,n],[e,t,n]),i}function Ws(r,e){const[t,n,i,a]=Ja(e),[s,o,l]=r.min,[u,c,h]=r.max,f=new Rn;return f.setMinMax([s-a,o-t,l],[u+n,c+i,h]),f}function Ju(r){if(r.length===0)return new Rn;if(r.length===1)return r[0];const e=new Rn;e.setMinMax(r[0].min,r[0].max);for(let t=1;t<r.length;t++){const n=r[t];e.setMinMax([Math.min(e.min[0],n.min[0]),Math.min(e.min[1],n.min[1]),Math.min(e.min[2],n.min[2])],[Math.max(e.max[0],n.max[0]),Math.max(e.max[1],n.max[1]),Math.max(e.max[2],n.max[2])])}return e}function P_(r,e){const[t,n]=r.min,[i,a]=r.max,[s,o]=e.min,[l,u]=e.max;return t>=s&&i<=l&&n>=o&&a<=u}function Pa(r,e){return Qa(r[0],e.min[0],e.max[0])&&Qa(r[1],e.min[1],e.max[1])}function Ox(r,e,t=!1){const{min:[n,i],max:[a,s]}=e,o=(r[1]===i||r[1]===s)&&(t||Qa(r[0],n,a)),l=(r[0]===n||r[0]===a)&&(t||Qa(r[1],i,s));return o||l}function M_(r,e){return!Pa(r,e)}function rf(r,e){const{center:t}=e;return r[0]===t[0]&&r[1]===t[1]}function qu(r,e){const[t,n]=r,[i,a]=e.min,[s,o]=e.max,l=t-i,u=s-t,c=n-a,h=o-n,f=Math.min(l,u,c,h);return f===l?"left":f===u?"right":f===c?"top":f===h?"bottom":"left"}function _o(r,e){const t=Ll(r);if(Pa(r,e))switch(qu(r,e)){case"left":t[0]=e.min[0];break;case"right":t[0]=e.max[0];break;case"top":t[1]=e.min[1];break;case"bottom":t[1]=e.max[1];break}else{const[n,i]=r,[a,s]=e.min,[o,l]=e.max;t[0]=Qa(n,a,o)?n:n<a?a:o,t[1]=Qa(i,s,l)?i:i<s?s:l}return t}function S_(r,e){const{center:t}=r,[n,i]=Hs(r),a=e==="up"||e==="down"?t[0]:e==="right"?t[0]-n/6:t[0]+n/6,s=e==="left"||e==="right"?t[1]:e==="down"?t[1]-i/6:t[1]+i/6;return[a,s]}function T_(r,e){let[t,n]=Hs(r);return[t,n]=e==="up"||e==="down"?[t,n]:[n,t],(Math.pow(n,2)-Math.pow(Math.sqrt(Math.pow(t/2,2)+Math.pow(n,2))-t/2,2))/(2*n)}function A_(r){const{min:[e,t],max:[n,i]}=r,a=[e,i],s=[n,i],o=[n,t],l=[e,t];return[[a,s],[s,o],[o,l],[l,a]]}var O_=function(e,t){var n=e.nodes,i=e.edges,a=[],s={};if(!n)throw new Error("invalid nodes data!");return n&&n.forEach(function(o,l){s[o.id]=l;var u=[];a.push(u)}),i&&i.forEach(function(o){var l=o.source,u=o.target,c=s[l],h=s[u];!c&&c!==0||!h&&h!==0||(a[c][h]=1,t||(a[h][c]=1))}),a},af=O_,k_=function(e,t){return e===t},kx=function(){function r(e,t){t===void 0&&(t=null),this.value=e,this.next=t}return r.prototype.toString=function(e){return e?e(this.value):"".concat(this.value)},r}(),C_=function(){function r(e){e===void 0&&(e=k_),this.head=null,this.tail=null,this.compare=e}return r.prototype.prepend=function(e){var t=new kx(e,this.head);return this.head=t,this.tail||(this.tail=t),this},r.prototype.append=function(e){var t=new kx(e);return this.head?(this.tail.next=t,this.tail=t,this):(this.head=t,this.tail=t,this)},r.prototype.delete=function(e){if(!this.head)return null;for(var t=null;this.head&&this.compare(this.head.value,e);)t=this.head,this.head=this.head.next;var n=this.head;if(n!==null)for(;n.next;)this.compare(n.next.value,e)?(t=n.next,n.next=n.next.next):n=n.next;return this.compare(this.tail.value,e)&&(this.tail=n),t},r.prototype.find=function(e){var t=e.value,n=t===void 0?void 0:t,i=e.callback,a=i===void 0?void 0:i;if(!this.head)return null;for(var s=this.head;s;){if(a&&a(s.value)||n!==void 0&&this.compare(s.value,n))return s;s=s.next}return null},r.prototype.deleteTail=function(){var e=this.tail;if(this.head===this.tail)return this.head=null,this.tail=null,e;for(var t=this.head;t.next;)t.next.next?t=t.next:t.next=null;return this.tail=t,e},r.prototype.deleteHead=function(){if(!this.head)return null;var e=this.head;return this.head.next?this.head=this.head.next:(this.head=null,this.tail=null),e},r.prototype.fromArray=function(e){var t=this;return e.forEach(function(n){return t.append(n)}),this},r.prototype.toArray=function(){for(var e=[],t=this.head;t;)e.push(t),t=t.next;return e},r.prototype.reverse=function(){for(var e=this.head,t=null,n=null;e;)n=e.next,e.next=t,t=e,e=n;this.tail=this.head,this.head=t},r.prototype.toString=function(e){return e===void 0&&(e=void 0),this.toArray().map(function(t){return t.toString(e)}).toString()},r}(),Cx=C_,N_=function(){function r(){this.linkedList=new Cx}return r.prototype.isEmpty=function(){return!this.linkedList.head},r.prototype.peek=function(){return this.linkedList.head?this.linkedList.head.value:null},r.prototype.enqueue=function(e){this.linkedList.append(e)},r.prototype.dequeue=function(){var e=this.linkedList.deleteHead();return e?e.value:null},r.prototype.toString=function(e){return this.linkedList.toString(e)},r}(),__=N_,ta=function(e,t,n){t===void 0&&(t=[]);var i=t.filter(function(l){return l.source===e||l.target===e});if(n==="target"){var a=function(u){return u.source===e};return i.filter(a).map(function(l){return l.target})}if(n==="source"){var s=function(u){return u.target===e};return i.filter(s).map(function(l){return l.source})}var o=function(u){return u.source===e?u.target:u.source};return i.map(o)},R_=function(e,t){return t.filter(function(n){return n.source===e})},sf=function(e,t){return t.filter(function(n){return n.source===e||n.target===e})},Nx=function(e){e===void 0&&(e=0);var t="".concat(Math.random()).split(".")[1].substr(0,5),n="".concat(Math.random()).split(".")[1].substr(0,5);return"".concat(e,"-").concat(t).concat(n)};function L_(r){r===void 0&&(r={});var e=r,t=function(){},n=function(){var i={};return function(a){var s=a.next,o=s;return i[o]?!1:(i[o]=!0,!0)}}();return e.allowTraversal=r.allowTraversal||n,e.enter=r.enter||t,e.leave=r.leave||t,e}var D_=function(e,t,n,i){i===void 0&&(i=!0);var a=L_(n),s=new __,o=e.edges,l=o===void 0?[]:o;s.enqueue(t);for(var u="",c=function(){var f=s.dequeue();a.enter({current:f,previous:u}),ta(f,l,i?"target":void 0).forEach(function(d){a.allowTraversal({previous:u,current:f,next:d})&&s.enqueue(d)}),a.leave({current:f,previous:u}),u=f};!s.isEmpty();)c()},I_=D_,B_=function(e){for(var t=e.nodes,n=t===void 0?[]:t,i=e.edges,a=i===void 0?[]:i,s=[],o={},l=[],u=function d(v){l.push(v),o[v.id]=!0;for(var g=ta(v.id,a),p=function(x){var O=g[x];if(!o[O]){var T=n.filter(function(S){return S.id===O});T.length>0&&d(T[0])}},m=0;m<g.length;++m)p(m)},c=0;c<n.length;c++){var h=n[c];if(!o[h.id]){u(h);for(var f=[];l.length>0;)f.push(l.pop());s.push(f)}}return s},_x=function(e){for(var t=e.nodes,n=t===void 0?[]:t,i=e.edges,a=i===void 0?[]:i,s=[],o={},l={},u={},c=[],h=0,f=function p(m){l[m.id]=h,u[m.id]=h,h+=1,s.push(m),o[m.id]=!0;for(var b=ta(m.id,a,"target").filter(function(k){return n.map(function(C){return C.id}).indexOf(k)>-1}),x=function(C){var W=b[C];if(!l[W]&&l[W]!==0){var U=n.filter(function(J){return J.id===W});U.length>0&&p(U[0]),u[m.id]=Math.min(u[m.id],u[W])}else o[W]&&(u[m.id]=Math.min(u[m.id],l[W]))},O=0;O<b.length;O++)x(O);if(u[m.id]===l[m.id]){for(var T=[];s.length>0;){var S=s.pop();if(o[S.id]=!1,T.push(S),S===m)break}T.length>0&&c.push(T)}},d=0,v=n;d<v.length;d++){var g=v[d];!l[g.id]&&l[g.id]!==0&&f(g)}return c};function Rx(r,e){return e?_x(r):B_(r)}var $u=function(e){var t={},n=e.nodes,i=n===void 0?[]:n,a=e.edges,s=a===void 0?[]:a;return i.forEach(function(o){t[o.id]={degree:0,inDegree:0,outDegree:0}}),s.forEach(function(o){t[o.source].degree++,t[o.source].outDegree++,t[o.target].degree++,t[o.target].inDegree++}),t},Lp=$u,z_=function(e,t){var n=$u(e);return n[t]?$u(e)[t].inDegree:0},F_=function(e,t){var n=$u(e);return n[t]?$u(e)[t].outDegree:0};function j_(r){r===void 0&&(r={});var e=r,t=function(){},n=function(){var i={};return function(a){var s=a.next;return i[s]?!1:(i[s]=!0,!0)}}();return e.allowTraversal=r.allowTraversal||n,e.enter=r.enter||t,e.leave=r.leave||t,e}function Lx(r,e,t,n,i){i===void 0&&(i=!0),n.enter({current:e,previous:t});var a=r.edges,s=a===void 0?[]:a;ta(e,s,i?"target":void 0).forEach(function(o){n.allowTraversal({previous:t,current:e,next:o})&&Lx(r,o,e,n,i)}),n.leave({current:e,previous:t})}function Dx(r,e,t,n){n===void 0&&(n=!0),Lx(r,e,"",j_(t),n)}var G_=function(e){var t=null,n=e.nodes,i=n===void 0?[]:n,a={},s={},o={},l={};i.forEach(function(h){s[h.id]=h});for(var u={enter:function(f){var d=f.current,v=f.previous;if(o[d]){t={};for(var g=d,p=v;p!==d;)t[g]=p,g=p,p=a[p];t[g]=p}else o[d]=d,delete s[d],a[d]=v},leave:function(f){var d=f.current;l[d]=d,delete o[d]},allowTraversal:function(f){var d=f.next;return t?!1:!l[d]}};Object.keys(s).length;){var c=Object.keys(s)[0];Dx(e,c,u)}return t},Ix=function(e,t,n){var i,a;n===void 0&&(n=!0);for(var s=[],o=Rx(e,!1),l=0,u=o;l<u.length;l++){var c=u[l];if(c.length)for(var h=c[0],f=h.id,d=[h],v=(i={},i[f]=h,i),g=(a={},a[f]=new Set,a);d.length>0;)for(var p=d.pop(),m=p.id,b=ta(m,e.edges),x=function(S){var k,C=b[S],W=e.nodes.find(function(ve){return ve.id===C});if(C===m)s.push((k={},k[C]=p,k));else if(!(C in g))v[C]=p,d.push(W),g[C]=new Set([p]);else if(!g[m].has(W)){for(var U=!0,J=[W,p],te=v[m];g[C].size&&!g[C].has(te)&&(J.push(te),te!==v[te.id]);)te=v[te.id];if(J.push(te),t&&n?(U=!1,J.findIndex(function(ve){return t.indexOf(ve.id)>-1})>-1&&(U=!0)):t&&!n&&J.findIndex(function(ve){return t.indexOf(ve.id)>-1})>-1&&(U=!1),U){for(var ie={},ae=1;ae<J.length;ae+=1)ie[J[ae-1].id]=J[ae];J.length&&(ie[J[J.length-1].id]=J[0]),s.push(ie)}g[C].add(p)}},O=0;O<b.length;O+=1)x(O)}return s},Bx=function(e,t,n){n===void 0&&(n=!0);for(var i=[],a=new Set,s=[],o=[],l={},u={},c=function(te){for(var ie=[te];ie.length>0;){var ae=ie.pop();a.has(ae)&&(a.delete(ae),s[ae.id].forEach(function(ve){ie.push(ve)}),s[ae.id].clear())}},h=function J(te,ie,ae){var ve=!1;if(t&&n===!1&&t.indexOf(te.id)>-1)return ve;i.push(te),a.add(te);for(var Z=ae[te.id],H=0;H<Z.length;H+=1){var X=l[Z[H]];if(X===ie){for(var q={},oe=1;oe<i.length;oe+=1)q[i[oe-1].id]=i[oe];i.length&&(q[i[i.length-1].id]=i[0]),o.push(q),ve=!0}else a.has(X)||J(X,ie,ae)&&(ve=!0)}if(ve)c(te);else for(var H=0;H<Z.length;H+=1){var X=l[Z[H]];s[X.id].has(te)||s[X.id].add(te)}return i.pop(),ve},f=e.nodes,d=f===void 0?[]:f,v=0;v<d.length;v+=1){var g=d[v],p=g.id;u[p]=v,l[v]=g}if(t&&n)for(var m=function(te){var ie=t[te];u[d[te].id]=u[ie],u[ie]=0,l[0]=d.find(function(ae){return ae.id===ie}),l[u[d[te].id]]=d[te]},v=0;v<t.length;v++)m(v);for(var b=function(te){for(var ie,ae,ve=1/0,Z=0;Z<te.length;Z+=1)for(var H=te[Z],X=0;X<H.length;X++){var q=u[H[X].id];q<ve&&(ve=q,ae=Z)}for(var oe=te[ae],de=[],Z=0;Z<oe.length;Z+=1){var Oe=oe[Z];de[Oe.id]=[];for(var Be=0,Ge=ta(Oe.id,e.edges,"target").filter(function(lt){return oe.map(function(Ct){return Ct.id}).indexOf(lt)>-1});Be<Ge.length;Be++){var Ve=Ge[Be];Ve===Oe.id&&!(n===!1&&t.indexOf(Oe.id)>-1)?o.push((ie={},ie[Oe.id]=Oe,ie)):de[Oe.id].push(u[Ve])}}return{component:oe,adjList:de,minIdx:ve}},x=0;x<d.length;){var O=d.filter(function(J){return u[J.id]>=x}),T=_x({nodes:O,edges:e.edges}).filter(function(J){return J.length>1});if(T.length===0)break;var S=b(T),k=S.minIdx,C=S.adjList,W=S.component;if(W.length>1){W.forEach(function(J){s[J.id]=new Set});var U=l[k];if(t&&n&&t.indexOf(U.id)===-1)return o;h(U,U,C),x=k+1}else break}return o},H_=function(e,t,n,i){return i===void 0&&(i=!0),t?Bx(e,n,i):Ix(e,n,i)},zx=G_,Dp=function(r,e){return Dp=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])},Dp(r,e)};function FU(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Dp(r,e);function t(){this.constructor=r}r.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}var Fx=function(){return Fx=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++){t=arguments[n];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},Fx.apply(this,arguments)};function jU(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t}function GU(r,e,t,n){var i=arguments.length,a=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(r,e,t,n);else for(var o=r.length-1;o>=0;o--)(s=r[o])&&(a=(i<3?s(a):i>3?s(e,t,a):s(e,t))||a);return i>3&&a&&Object.defineProperty(e,t,a),a}function HU(r,e){return function(t,n){e(t,n,r)}}function XU(r,e,t,n,i,a){function s(m){if(m!==void 0&&typeof m!="function")throw new TypeError("Function expected");return m}for(var o=n.kind,l=o==="getter"?"get":o==="setter"?"set":"value",u=!e&&r?n.static?r:r.prototype:null,c=e||(u?Object.getOwnPropertyDescriptor(u,n.name):{}),h,f=!1,d=t.length-1;d>=0;d--){var v={};for(var g in n)v[g]=g==="access"?{}:n[g];for(var g in n.access)v.access[g]=n.access[g];v.addInitializer=function(m){if(f)throw new TypeError("Cannot add initializers after decoration has completed");a.push(s(m||null))};var p=(0,t[d])(o==="accessor"?{get:c.get,set:c.set}:c[l],v);if(o==="accessor"){if(p===void 0)continue;if(p===null||typeof p!="object")throw new TypeError("Object expected");(h=s(p.get))&&(c.get=h),(h=s(p.set))&&(c.set=h),(h=s(p.init))&&i.push(h)}else(h=s(p))&&(o==="field"?i.push(h):c[l]=h)}u&&Object.defineProperty(u,n.name,c),f=!0}function WU(r,e,t){for(var n=arguments.length>2,i=0;i<e.length;i++)t=n?e[i].call(r,t):e[i].call(r);return n?t:void 0}function VU(r){return typeof r=="symbol"?r:"".concat(r)}function YU(r,e,t){return typeof e=="symbol"&&(e=e.description?"[".concat(e.description,"]"):""),Object.defineProperty(r,"name",{configurable:!0,value:t?"".concat(t," ",e):e})}function UU(r,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(r,e)}function ZU(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,e||[])).next())})}function KU(r,e){var t={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},n,i,a,s;return s={next:o(0),throw:o(1),return:o(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function o(u){return function(c){return l([u,c])}}function l(u){if(n)throw new TypeError("Generator is already executing.");for(;s&&(s=0,u[0]&&(t=0)),t;)try{if(n=1,i&&(a=u[0]&2?i.return:u[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,u[1])).done)return a;switch(i=0,a&&(u=[u[0]&2,a.value]),u[0]){case 0:case 1:a=u;break;case 4:return t.label++,{value:u[1],done:!1};case 5:t.label++,i=u[1],u=[0];continue;case 7:u=t.ops.pop(),t.trys.pop();continue;default:if(a=t.trys,!(a=a.length>0&&a[a.length-1])&&(u[0]===6||u[0]===2)){t=0;continue}if(u[0]===3&&(!a||u[1]>a[0]&&u[1]<a[3])){t.label=u[1];break}if(u[0]===6&&t.label<a[1]){t.label=a[1],a=u;break}if(a&&t.label<a[2]){t.label=a[2],t.ops.push(u);break}a[2]&&t.ops.pop(),t.trys.pop();continue}u=e.call(r,t)}catch(c){u=[6,c],i=0}finally{n=a=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}var jx=Object.create?function(r,e,t,n){n===void 0&&(n=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,i)}:function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]};function QU(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&jx(e,r,t)}function Gx(r){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&r[e],n=0;if(t)return t.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function X_(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var n=t.call(r),i,a=[],s;try{for(;(e===void 0||e-- >0)&&!(i=n.next()).done;)a.push(i.value)}catch(o){s={error:o}}finally{try{i&&!i.done&&(t=n.return)&&t.call(n)}finally{if(s)throw s.error}}return a}function JU(){for(var r=[],e=0;e<arguments.length;e++)r=r.concat(X_(arguments[e]));return r}function W_(){for(var r=0,e=0,t=arguments.length;e<t;e++)r+=arguments[e].length;for(var n=Array(r),i=0,e=0;e<t;e++)for(var a=arguments[e],s=0,o=a.length;s<o;s++,i++)n[i]=a[s];return n}function of(r,e,t){if(t||arguments.length===2)for(var n=0,i=e.length,a;n<i;n++)(a||!(n in e))&&(a||(a=Array.prototype.slice.call(e,0,n)),a[n]=e[n]);return r.concat(a||Array.prototype.slice.call(e))}function lf(r){return this instanceof lf?(this.v=r,this):new lf(r)}function qU(r,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=t.apply(r,e||[]),i,a=[];return i={},s("next"),s("throw"),s("return"),i[Symbol.asyncIterator]=function(){return this},i;function s(f){n[f]&&(i[f]=function(d){return new Promise(function(v,g){a.push([f,d,v,g])>1||o(f,d)})})}function o(f,d){try{l(n[f](d))}catch(v){h(a[0][3],v)}}function l(f){f.value instanceof lf?Promise.resolve(f.value.v).then(u,c):h(a[0][2],f)}function u(f){o("next",f)}function c(f){o("throw",f)}function h(f,d){f(d),a.shift(),a.length&&o(a[0][0],a[0][1])}}function $U(r){var e,t;return e={},n("next"),n("throw",function(i){throw i}),n("return"),e[Symbol.iterator]=function(){return this},e;function n(i,a){e[i]=r[i]?function(s){return(t=!t)?{value:lf(r[i](s)),done:!1}:a?a(s):s}:a}}function eZ(r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=r[Symbol.asyncIterator],t;return e?e.call(r):(r=typeof Gx=="function"?Gx(r):r[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(a){t[a]=r[a]&&function(s){return new Promise(function(o,l){s=r[a](s),i(o,l,s.done,s.value)})}}function i(a,s,o,l){Promise.resolve(l).then(function(u){a({value:u,done:o})},s)}}function tZ(r,e){return Object.defineProperty?Object.defineProperty(r,"raw",{value:e}):r.raw=e,r}var V_=Object.create?function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}:function(r,e){r.default=e};function nZ(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&jx(e,r,t);return V_(e,r),e}function rZ(r){return r&&r.__esModule?r:{default:r}}function iZ(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)}function aZ(r,e,t,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!i:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(r,t):i?i.value=t:e.set(r,t),t}function sZ(r,e){if(e===null||typeof e!="object"&&typeof e!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof r=="function"?e===r:r.has(e)}var Y_={}.toString,U_=function(r,e){return Y_.call(r)==="[object "+e+"]"},uf=U_,Ip=function(r){return uf(r,"Function")},Bp=function(r){return Array.isArray?Array.isArray(r):uf(r,"Array")},Z_=function(r){var e=typeof r;return r!==null&&e==="object"||e==="function"};function K_(r,e){if(r){var t;if(Bp(r))for(var n=0,i=r.length;n<i&&(t=e(r[n],n),t!==!1);n++);else if(Z_(r)){for(var a in r)if(r.hasOwnProperty(a)&&(t=e(r[a],a),t===!1))break}}}var Hx=K_,oZ=Object.keys?function(r){return Object.keys(r)}:function(r){var e=[];return Hx(r,function(t,n){Ip(r)&&n==="prototype"||e.push(n)}),e},lZ=null;function uZ(r,e){var t=keys(e),n=t.length;if(isNil(r))return!n;for(var i=0;i<n;i+=1){var a=t[i];if(e[a]!==r[a]||!(a in r))return!1}return!0}var cZ=null,hZ=function(r){if(!isObjectLike(r)||!isType(r,"Object"))return!1;if(Object.getPrototypeOf(r)===null)return!0;for(var e=r;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(r)===e},fZ=null;function dZ(r,e){if(!isArray(r))return null;var t;if(isFunction(e)&&(t=e),isPlainObject(e)&&(t=function(i){return isMatch(i,e)}),t){for(var n=0;n<r.length;n+=1)if(t(r[n]))return r[n]}return null}var vZ=null,gZ=function(r,e){for(var t=null,n=0;n<r.length;n++){var i=r[n],a=i[e];if(!isNil(a)){isArray(a)?t=a[0]:t=a;break}}return t},pZ=null,mZ=function(r){if(!isArray(r))return[];for(var e=[],t=0;t<r.length;t++)e=e.concat(r[t]);return e},yZ=null,Q_=function(r,e){if(e===void 0&&(e=[]),!isArray(r))e.push(r);else for(var t=0;t<r.length;t+=1)Q_(r[t],e);return e},bZ=null,xZ=function(r){if(isArray(r))return r.reduce(function(e,t){return Math.max(e,t)},r[0])},EZ=function(r){if(isArray(r))return r.reduce(function(e,t){return Math.min(e,t)},r[0])},wZ=function(r){var e=r.filter(function(s){return!isNaN(s)});if(!e.length)return{min:0,max:0};if(isArray(r[0])){for(var t=[],n=0;n<r.length;n++)t=t.concat(r[n]);e=t}var i=getMax(e),a=getMin(e);return{min:a,max:i}},PZ=null,Xx=Array.prototype,J_=Xx.splice,q_=Xx.indexOf,MZ=function(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];for(var n=0;n<e.length;n++)for(var i=e[n],a=-1;(a=q_.call(r,i))>-1;)J_.call(r,a,1);return r},SZ=null,$_=Array.prototype.splice,TZ=function(e,t){if(!isArrayLike(e))return[];for(var n=e?t.length:0,i=n-1;n--;){var a=void 0,s=t[n];(n===i||s!==a)&&(a=s,$_.call(e,s,1))}return e},AZ=null,OZ=function(r,e,t){if(!isArray(r)&&!isPlainObject(r))return r;var n=t;return each(r,function(i,a){n=e(n,i,a)}),n},kZ=null,CZ=function(r,e){var t=[];if(!isArrayLike(r))return t;for(var n=-1,i=[],a=r.length;++n<a;){var s=r[n];e(s,n,r)&&(t.push(s),i.push(n))}return pullAt(r,i),t},NZ=null,zp=function(r){return uf(r,"String")};function _Z(r,e){var t;if(isFunction(e))t=function(i,a){return e(i)-e(a)};else{var n=[];isString(e)?n.push(e):isArray(e)&&(n=e),t=function(i,a){for(var s=0;s<n.length;s+=1){var o=n[s];if(i[o]>a[o])return 1;if(i[o]<a[o])return-1}return 0}}return r.sort(t),r}var RZ=null;function Fp(r,e){e===void 0&&(e=new Map);var t=[];if(Array.isArray(r))for(var n=0,i=r.length;n<i;n++){var a=r[n];e.has(a)||(t.push(a),e.set(a,!0))}return t}var LZ=function(r,e){for(var t=[],n={},i=0;i<r.length;i++){var a=r[i],s=a[e];if(!isNil(s)){isArray(s)||(s=[s]);for(var o=0;o<s.length;o++){var l=s[o];n[l]||(t.push(l),n[l]=!0)}}}return t};function DZ(r,e){return isArray(r)||isString(r)?r[0]===e:!1}var IZ=null;function BZ(r,e){return isArray(r)||isString(r)?r[r.length-1]===e:!1}var zZ=null,eR=Object.prototype.hasOwnProperty;function FZ(r,e){if(!e||!isArray(r))return{};for(var t={},n=isFunction(e)?e:function(o){return o[e]},i,a=0;a<r.length;a++){var s=r[a];i=n(s),eR.call(t,i)?t[i].push(s):t[i]=[s]}return t}var jZ=null;function GZ(r,e){if(!e)return{0:r};if(!isFunction(e)){var t=isArray(e)?e:e.replace(/\s+/g,"").split("*");e=function(n){for(var i="_",a=0,s=t.length;a<s;a++)i+=n[t[a]]&&n[t[a]].toString();return i}}return groupBy(r,e)}var HZ=function(r,e){if(!e)return[r];var t=groupToMap(r,e),n=[];for(var i in t)n.push(t[i]);return n},Wx={};function XZ(r){var e=Wx[r];if(!e){for(var t=r.toString(16),n=t.length;n<6;n++)t="0"+t;e="#"+t,Wx[r]=e}return e}var WZ=null;function VZ(r){var e=0,t=0,n=0,i=0;return isArray(r)?r.length===1?e=t=n=i=r[0]:r.length===2?(e=n=r[0],t=i=r[1]):r.length===3?(e=r[0],t=i=r[1],n=r[2]):(e=r[0],t=r[1],n=r[2],i=r[3]):e=t=n=i=r,{r1:e,r2:t,r3:n,r4:i}}var YZ=null,tR=function(r){return uf(r,"Number")},nR=tR,UZ=function(r){return isNumber(r)&&r%1!==0},ZZ=null,KZ=function(r){return isNumber(r)&&r%2===0},QZ=null,JZ=Number.isInteger?Number.isInteger:function(r){return nR(r)&&r%1===0},qZ=null,$Z=function(r){return isNumber(r)&&r<0},eK=null,tK=function(r){return isNumber(r)&&r%2!==0},nK=null,rK=function(r){return isNumber(r)&&r>0},iK=null,aK=function(r,e){if(isArray(r)){for(var t,n=-1/0,i=0;i<r.length;i++){var a=r[i],s=isFunction(e)?e(a):a[e];s>n&&(t=a,n=s)}return t}},sK=function(r,e){if(isArray(r)){for(var t,n=1/0,i=0;i<r.length;i++){var a=r[i],s=isFunction(e)?e(a):a[e];s<n&&(t=a,n=s)}return t}},rR=180/Math.PI,oK=function(r){return rR*r},lK=null,iR=Math.PI/180,uK=function(r){return iR*r},cK=null,hK=null,aR=Object.values?function(r){return Object.values(r)}:function(r){var e=[];return Hx(r,function(t,n){Ip(r)&&n==="prototype"||e.push(t)}),e},sR=aR,fK=function(r,e){return contains(values(r),e)},oR={}.toString,dK=function(r){return oR.call(r).replace(/^\[object /,"").replace(/]$/,"")},vK=null,gK=function(r){return isType(r,"Arguments")},pK=null,mK=function(r){return isType(r,"Boolean")},yK=null,bK=function(r){return isType(r,"Date")},xK=null,EK=function(r){return isType(r,"Error")},wK=null;function PK(r){return isNumber(r)&&isFinite(r)}var lR=Object.prototype,MK=function(r){var e=r&&r.constructor,t=typeof e=="function"&&e.prototype||lR;return r===t},SK=null,TK=function(r){return isType(r,"RegExp")},AK=null,OK=function(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];for(var t=r[0],n=1;n<r.length;n++){var i=r[n];isFunction(i)&&(i=i.prototype),mix(t.prototype,i)}},kK=null,jp=function(r){if(typeof r!="object"||r===null)return r;var e;if(Bp(r)){e=[];for(var t=0,n=r.length;t<n;t++)typeof r[t]=="object"&&r[t]!=null?e[t]=jp(r[t]):e[t]=r[t]}else{e={};for(var i in r)typeof r[i]=="object"&&r[i]!=null?e[i]=jp(r[i]):e[i]=r[i]}return e},ec=jp,uR=function(r,e){if(!Ip(r))throw new TypeError("Expected a function");var t=function(){for(var n=[],i=0;i<arguments.length;i++)n[i]=arguments[i];var a=e?e.apply(this,n):n[0],s=t.cache;if(s.has(a))return s.get(a);var o=r.apply(this,n);return s.set(a,o),o};return t.cache=new Map,t},cR=5;function Vx(r,e,t,n){t=t||0,n=n||cR;for(var i in e)if(e.hasOwnProperty(i)){var a=e[i];a!==null&&isPlainObject(a)?(isPlainObject(r[i])||(r[i]={}),t<n?Vx(r[i],a,t+1,n):r[i]=e[i]):isArray(a)?(r[i]=[],r[i]=r[i].concat(a)):a!==void 0&&(r[i]=a)}}var CK=function(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];for(var n=0;n<e.length;n+=1)Vx(r,e[n]);return r},NK=null,_K=function(r,e,t,n){isFunction(e)||(t=e,e=r,r=function(){});var i=Object.create?function(s,o){return Object.create(s,{constructor:{value:o}})}:function(s,o){function l(){}l.prototype=s;var u=new l;return u.constructor=o,u},a=i(e.prototype,r);return r.prototype=mix(a,r.prototype),r.superclass=i(e.prototype,e),mix(a,t),mix(r,n),r},RK=null,hR=Object.prototype.hasOwnProperty;function LK(r){if(isNil(r))return!0;if(isArrayLike(r))return!r.length;var e=getType(r);if(e==="Map"||e==="Set")return!r.size;if(isPrototype(r))return!Object.keys(r).length;for(var t in r)if(hR.call(r,t))return!1;return!0}var DK=null,fR=function(r){return typeof r=="object"&&r!==null},Yx=fR,dR=function(r){return r!==null&&typeof r!="function"&&isFinite(r.length)},Ux=dR,Gp=function(r,e){if(r===e)return!0;if(!r||!e||zp(r)||zp(e))return!1;if(Ux(r)||Ux(e)){if(r.length!==e.length)return!1;for(var t=!0,n=0;n<r.length&&(t=Gp(r[n],e[n]),!!t);n++);return t}if(Yx(r)||Yx(e)){var i=Object.keys(r),a=Object.keys(e);if(i.length!==a.length)return!1;for(var t=!0,n=0;n<i.length&&(t=Gp(r[i[n]],e[i[n]]),!!t);n++);return t}return!1},vR=Gp,IK=function(r,e,t){return isFunction(t)?!!t(r,e):isEqual(r,e)},BK=function(r,e,t){for(var n=0,i=isString(e)?e.split("."):e;r&&n<i.length;)r=r[i[n++]];return r===void 0||n<i.length?t:r},zK=function(r,e,t){var n=r,i=isString(e)?e.split("."):e;return i.forEach(function(a,s){s<i.length-1?(isObject(n[a])||(n[a]=isNumber(i[s+1])?[]:{}),n=n[a]):n[a]=t}),r},gR=Object.prototype.hasOwnProperty,FK=function(r,e){if(r===null||!isPlainObject(r))return{};var t={};return each(e,function(n){gR.call(r,n)&&(t[n]=r[n])}),t},jK=function(r,e){return reduce(r,function(t,n,i){return e.includes(i)||(t[i]=n),t},{})},cf={},GK=function(r){return r=r||"g",cf[r]?cf[r]+=1:cf[r]=1,r+cf[r]},hf,HK=uR(function(r,e){e===void 0&&(e={});var t=e.fontSize,n=e.fontFamily,i=e.fontWeight,a=e.fontStyle,s=e.fontVariant;return hf||(hf=document.createElement("canvas").getContext("2d")),hf.font=[a,s,i,t+"px",n].join(" "),hf.measureText(zp(r)?r:"").width},function(r,e){return e===void 0&&(e={}),W_([r],sR(e)).join("")}),XK=function(r,e,t,n){n===void 0&&(n="...");var i=16,a=measureTextWidth(n,t),s=isString(r)?r:toString(r),o=e,l=[],u,c;if(measureTextWidth(r,t)<=e)return r;for(;u=s.substr(0,i),c=measureTextWidth(u,t),!(c+a>o&&c>o);)if(l.push(u),o-=c,s=s.substr(i),!s)return l.join("");for(;u=s.substr(0,1),c=measureTextWidth(u,t),!(c+a>o);)if(l.push(u),o-=c,s=s.substr(1),!s)return l.join("");return""+l.join("")+n},WK=function(){function r(){this.map={}}return r.prototype.has=function(e){return this.map[e]!==void 0},r.prototype.get=function(e,t){var n=this.map[e];return n===void 0?t:n},r.prototype.set=function(e,t){this.map[e]=t},r.prototype.clear=function(){this.map={}},r.prototype.delete=function(e){delete this.map[e]},r.prototype.size=function(){return Object.keys(this.map).length},r}(),VK=null,pR=function(e,t,n){for(var i=1/0,a,s=0;s<t.length;s++){var o=t[s].id;!n[o]&&e[o]<=i&&(i=e[o],a=t[s])}return a},mR=function(e,t,n,i){var a=e.nodes,s=a===void 0?[]:a,o=e.edges,l=o===void 0?[]:o,u=[],c={},h={},f={};s.forEach(function(x,O){var T=x.id;u.push(T),h[T]=1/0,T===t&&(h[T]=0)});for(var d=s.length,v=function(O){var T=pR(h,s,c),S=T.id;if(c[S]=!0,h[S]===1/0)return"continue";var k=[];n?k=R_(S,l):k=sf(S,l),k.forEach(function(C){var W=C.target,U=C.source,J=W===S?U:W,te=i&&C[i]?C[i]:1;h[J]>h[T.id]+te?(h[J]=h[T.id]+te,f[J]=[T.id]):h[J]===h[T.id]+te&&f[J].push(T.id)})},g=0;g<d;g++)v(g);f[t]=[t];var p={};for(var m in h)h[m]!==1/0&&Zx(t,m,f,p);var b={};for(var m in p)b[m]=p[m][0];return{length:h,path:b,allPath:p}},ff=mR;function Zx(r,e,t,n){if(r===e)return[r];if(n[e])return n[e];for(var i=[],a=0,s=t[e];a<s.length;a++){var o=s[a],l=Zx(r,o,t,n);if(!l)return;for(var u=0,c=l;u<c.length;u++){var h=c[u];Bp(h)?i.push(of(of([],h,!0),[e],!1)):i.push([h,e])}}return n[e]=i,n[e]}var Hp=function(e,t,n,i,a){var s=ff(e,t,i,a),o=s.length,l=s.path,u=s.allPath;return{length:o[n],path:l[n],allPath:u[n]}},yR=function(e,t,n,i){var a;if(t===n)return[[t]];var s=e.edges,o=s===void 0?[]:s,l=[t],u=(a={},a[t]=!0,a),c=[],h=[],f=i?ta(t,o,"target"):ta(t,o);for(c.push(f);l.length>0&&c.length>0;){var d=c[c.length-1];if(d.length){var v=d.shift();v&&(l.push(v),u[v]=!0,f=i?ta(v,o,"target"):ta(v,o),c.push(f.filter(function(m){return!u[m]})))}else{var g=l.pop();u[g]=!1,c.pop();continue}if(l[l.length-1]===n){var p=l.map(function(b){return b});h.push(p);var g=l.pop();u[g]=!1,c.pop()}}return h},bR=function(e,t){for(var n=af(e,t),i=[],a=n.length,s=0;s<a;s+=1){i[s]=[];for(var o=0;o<a;o+=1)s===o?i[s][o]=0:n[s][o]===0||!n[s][o]?i[s][o]=1/0:i[s][o]=n[s][o]}for(var l=0;l<a;l+=1)for(var s=0;s<a;s+=1)for(var o=0;o<a;o+=1)i[s][o]>i[s][l]+i[l][o]&&(i[s][o]=i[s][l]+i[l][o]);return i},Xp=bR,xR=function(e,t,n,i){t===void 0&&(t=!1),n===void 0&&(n="weight"),i===void 0&&(i=1e3);var a=e.nodes,s=a===void 0?[]:a,o=e.edges,l=o===void 0?[]:o,u={},c={};s.forEach(function(O,T){var S=Nx();O.clusterId=S,u[S]={id:S,nodes:[O]},c[O.id]={node:O,idx:T}});var h=af(e,t),f=[],d={};h.forEach(function(O,T){var S=0,k=s[T].id;d[k]={},O.forEach(function(C,W){if(C){S+=C;var U=s[W].id;d[k][U]=C}}),f.push(S)});for(var v=0,g=function(){var T=!1;if(s.forEach(function(S){var k={};Object.keys(d[S.id]).forEach(function(ve){var Z=d[S.id][ve],H=c[ve].node,X=H.clusterId;k[X]||(k[X]=0),k[X]+=Z});var C=-1/0,W=[];if(Object.keys(k).forEach(function(ve){C<k[ve]?(C=k[ve],W=[ve]):C===k[ve]&&W.push(ve)}),!(W.length===1&&W[0]===S.clusterId)){var U=W.indexOf(S.clusterId);if(U>=0&&W.splice(U,1),W&&W.length){T=!0;var J=u[S.clusterId],te=J.nodes.indexOf(S);J.nodes.splice(te,1);var ie=Math.floor(Math.random()*W.length),ae=u[W[ie]];ae.nodes.push(S),S.clusterId=ae.id}}}),!T)return"break";v++};v<i;){var p=g();if(p==="break")break}Object.keys(u).forEach(function(O){var T=u[O];(!T.nodes||!T.nodes.length)&&delete u[O]});var m=[],b={};l.forEach(function(O){var T=O.source,S=O.target,k=O[n]||1,C=c[T].node.clusterId,W=c[S].node.clusterId,U="".concat(C,"---").concat(W);if(b[U])b[U].weight+=k,b[U].count++;else{var J={source:C,target:W,weight:k,count:1};b[U]=J,m.push(J)}});var x=[];return Object.keys(u).forEach(function(O){x.push(u[O])}),{clusters:x,clusterEdges:m}},ER=xR,wR=function(){function r(e){this.arr=e}return r.prototype.getArr=function(){return this.arr||[]},r.prototype.add=function(e){var t,n=e.arr;if(!(!((t=this.arr)===null||t===void 0)&&t.length))return new r(n);if(!(n!=null&&n.length))return new r(this.arr);if(this.arr.length===n.length){var i=[];for(var a in this.arr)i[a]=this.arr[a]+n[a];return new r(i)}},r.prototype.subtract=function(e){var t,n=e.arr;if(!(!((t=this.arr)===null||t===void 0)&&t.length))return new r(n);if(!(n!=null&&n.length))return new r(this.arr);if(this.arr.length===n.length){var i=[];for(var a in this.arr)i[a]=this.arr[a]-n[a];return new r(i)}},r.prototype.avg=function(e){var t=[];if(e!==0)for(var n in this.arr)t[n]=this.arr[n]/e;return new r(t)},r.prototype.negate=function(){var e=[];for(var t in this.arr)e[t]=-this.arr[t];return new r(e)},r.prototype.squareEuclideanDistance=function(e){var t,n=e.arr;if(!(!((t=this.arr)===null||t===void 0)&&t.length)||!(n!=null&&n.length))return 0;if(this.arr.length===n.length){var i=0;for(var a in this.arr)i+=Math.pow(this.arr[a]-e.arr[a],2);return i}},r.prototype.euclideanDistance=function(e){var t,n=e.arr;if(!(!((t=this.arr)===null||t===void 0)&&t.length)||!(n!=null&&n.length))return 0;if(this.arr.length===n.length){var i=0;for(var a in this.arr)i+=Math.pow(this.arr[a]-e.arr[a],2);return Math.sqrt(i)}else console.error("The two vectors are unequal in length.")},r.prototype.normalize=function(){var e=[],t=ec(this.arr);t.sort(function(s,o){return s-o});var n=t[t.length-1],i=t[0];for(var a in this.arr)e[a]=(this.arr[a]-i)/(n-i);return new r(e)},r.prototype.norm2=function(){var e;if(!(!((e=this.arr)===null||e===void 0)&&e.length))return 0;var t=0;for(var n in this.arr)t+=Math.pow(this.arr[n],2);return Math.sqrt(t)},r.prototype.dot=function(e){var t,n=e.arr;if(!(!((t=this.arr)===null||t===void 0)&&t.length)||!(n!=null&&n.length))return 0;if(this.arr.length===n.length){var i=0;for(var a in this.arr)i+=this.arr[a]*e.arr[a];return i}else console.error("The two vectors are unequal in length.")},r.prototype.equal=function(e){var t,n=e.arr;if(((t=this.arr)===null||t===void 0?void 0:t.length)!==(n==null?void 0:n.length))return!1;for(var i in this.arr)if(this.arr[i]!==n[i])return!1;return!0},r}(),na=wR,PR=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/,MR=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/,Kx=function(e,t){e===void 0&&(e=[]),t===void 0&&(t=100);var n={};e.forEach(function(a){a.properties&&Object.keys(a.properties).forEach(function(s){if(s==="id"||!"".concat(a.properties[s]).match(PR)&&!"".concat(a.properties[s]).match(MR)&&isNaN(Number(a.properties[s]))){n.hasOwnProperty(s)&&delete n[s];return}n.hasOwnProperty(s)?n[s]+=1:n[s]=1})});var i=Object.keys(n).sort(function(a,s){return n[s]-n[a]});return i.length<t?i:i.slice(0,t)},SR=function(e,t){return t.map(function(n){return e.hasOwnProperty(n)?e[n]:0})},TR=function(e){for(var t=Kx(e),n=[],i=0;i<e.length;i++)n[i]=SR(e[i].properties,t);return n},df=function(e,t){t===void 0&&(t=void 0);var n=[];return e.forEach(function(i){t===void 0&&n.push(i),i[t]!==void 0&&n.push(i[t])}),n},YK={getAllSortProperties:Kx,getPropertyWeight:TR,getAllProperties:df},Ma;(function(r){r.EuclideanDistance="euclideanDistance"})(Ma||(Ma={}));var Qx=function(e,t,n){var i=[];t!=null&&t.length?i=t:(e.forEach(function(s){i=i.concat(Object.keys(s))}),i=Fp(i));var a={};return i.forEach(function(s){var o=[];e.forEach(function(l){l[s]!==void 0&&l[s]!==""&&o.push(l[s])}),o.length&&!(n!=null&&n.includes(s))&&(a[s]=Fp(o))}),a},vf=function(e,t,n){var i=Qx(e,t,n),a=[];if(!Object.keys(i).length)return a;var s=Object.values(i),o=s.every(function(l){return l.every(function(u){return typeof u=="number"})});return e.forEach(function(l,u){var c=[];Object.keys(i).forEach(function(h){var f=l[h],d=i[h],v=d.findIndex(function(m){return f===m}),g=[];if(o)g.push(f);else for(var p=0;p<d.length;p++)p===v?g.push(1):g.push(0);c=c.concat(g)}),a[u]=c}),a},Wp=function(e,t,n,i){n===void 0&&(n=Ma.EuclideanDistance);var a=0;switch(n){case Ma.EuclideanDistance:a=new na(e).euclideanDistance(new na(t));break;default:break}return a},UK={getAllKeyValueMap:Qx,oneHot:vf,getDistance:Wp},Jx=function(e,t,n,i){for(var a=t.length,s=2*i,o=0,l=0;l<a;l++)for(var u=e[l].clusterId,c=0;c<a;c++){var h=e[c].clusterId;if(u===h){var f=t[l][c]||0,d=n[l]||0,v=n[c]||0;o+=f-d*v/s}}return o*=1/s,o},Vp=function(e,t){e===void 0&&(e=[]);for(var n=e.length,i=new na([]),a=0;a<n;a++)i=i.add(new na(t[a]));var s=i.avg(n);s.normalize();for(var o=0,a=0;a<n;a++){var l=new na(t[a]),u=l.squareEuclideanDistance(s);o+=u}var c=[];e.forEach(function(){c.push([])});for(var a=0;a<n;a++){var l=new na(t[a]);e[a].clusterInertial=0;for(var h=0;h<n;h++){if(a===h){c[a][h]=0;continue}var f=new na(t[h]);c[a][h]=l.squareEuclideanDistance(f),e[a].clusterInertial+=c[a][h]}}for(var d=0,v=2*n*o,a=0;a<n;a++)for(var g=e[a].clusterId,h=0;h<n;h++){var p=e[h].clusterId;if(!(a===h||g!==p)){var m=e[a].clusterInertial*e[h].clusterInertial/Math.pow(v,2)-c[a][h]/v;d+=m}}return Number(d.toFixed(4))},AR=function(e,t,n,i,a,s,o,l,u){t===void 0&&(t=!1),n===void 0&&(n="weight"),i===void 0&&(i=1e-4),a===void 0&&(a=!1),s===void 0&&(s=void 0),o===void 0&&(o=[]),l===void 0&&(l=["id"]),u===void 0&&(u=1);var c=e.nodes,h=c===void 0?[]:c,f=e.edges,d=f===void 0?[]:f,v=[];if(a){h.forEach(function(q,oe){q.properties=q.properties||{},q.originIndex=oe});var g=[];h.every(function(q){return q.hasOwnProperty("nodeType")})&&(g=Array.from(new Set(h.map(function(q){return q.nodeType}))),h.forEach(function(q){q.properties.nodeType=g.findIndex(function(oe){return oe===q.nodeType})}));var p=df(h,s);v=vf(p,o,l)}var m=1,b={},x={};h.forEach(function(q,oe){var de=String(m++);q.clusterId=de,b[de]={id:de,nodes:[q]},x[q.id]={node:q,idx:oe}});var O=af(e,t),T=[],S={},k=0;O.forEach(function(q,oe){var de=0,Oe=h[oe].id;S[Oe]={},q.forEach(function(Be,Ge){if(Be){de+=Be;var Ve=h[Ge].id;S[Oe][Ve]=Be,k+=Be}}),T.push(de)}),k/=2;for(var C=1/0,W=1/0,U=0,J=[],te={};;){a&&h.every(function(q){return q.hasOwnProperty("properties")})?C=Jx(h,O,T,k)+Vp(h,v)*u:C=Jx(h,O,T,k),U===0&&(W=C,J=h,te=b);var ie=C>0&&C>W&&C-W<i;if(C>W&&(J=h.map(function(q){return{node:q,clusterId:q.clusterId}}),te=ec(b),W=C),ie||U>100)break;U++,Object.keys(b).forEach(function(q){var oe=0;d.forEach(function(de){var Oe=de.source,Be=de.target,Ge=x[Oe].node.clusterId,Ve=x[Be].node.clusterId;(Ge===q&&Ve!==q||Ve===q&&Ge!==q)&&(oe=oe+(de[n]||1))}),b[q].sumTot=oe}),h.forEach(function(q,oe){var de=b[q.clusterId],Oe=0,Be,Ge=T[oe]/(2*k),Ve=0,qe=de.nodes;qe.forEach(function(Er){var mr=x[Er.id].idx;Ve+=O[oe][mr]||0});var lt=Ve-de.sumTot*Ge,Ct=qe.filter(function(Er){return Er.id!==q.id}),Vt=[];Ct.forEach(function(Er,mr){Vt[mr]=v[Er.originIndex]});var qt=Vp(Ct,v)*u,Nr=S[q.id];if(Object.keys(Nr).forEach(function(Er){var mr=x[Er].node,da=mr.clusterId;if(da!==q.clusterId){var lr=b[da],Xr=lr.nodes;if(!(!Xr||!Xr.length)){var Ht=0;Xr.forEach(function(sn){var cn=x[sn.id].idx;Ht+=O[oe][cn]||0});var an=Ht-lr.sumTot*Ge,Gt=Xr.concat([q]),tn=[];Gt.forEach(function(sn,cn){tn[cn]=v[sn.originIndex]});var Kt=Vp(Gt,v)*u,yt=an-lt;a&&(yt=an+Kt-(lt+qt)),yt>Oe&&(Oe=yt,Be=lr)}}}),Oe>0){Be.nodes.push(q);var un=q.clusterId;q.clusterId=Be.id;var ui=de.nodes.indexOf(q);de.nodes.splice(ui,1);var _r=0,Fa=0;d.forEach(function(Er){var mr=Er.source,da=Er.target,lr=x[mr].node.clusterId,Xr=x[da].node.clusterId;(lr===Be.id&&Xr!==Be.id||Xr===Be.id&&lr!==Be.id)&&(_r=_r+(Er[n]||1)),(lr===un&&Xr!==un||Xr===un&&lr!==un)&&(Fa=Fa+(Er[n]||1))}),Be.sumTot=_r,de.sumTot=Fa}})}var ae={},ve=0;Object.keys(te).forEach(function(q){var oe=te[q];if(!oe.nodes||!oe.nodes.length){delete te[q];return}var de=String(ve+1);de!==q&&(oe.id=de,oe.nodes=oe.nodes.map(function(Oe){return{id:Oe.id,clusterId:de}}),te[de]=oe,ae[q]=de,delete te[q],ve++)}),J.forEach(function(q){var oe=q.node,de=q.clusterId;oe&&(oe.clusterId=de,oe.clusterId&&ae[oe.clusterId]&&(oe.clusterId=ae[oe.clusterId]))});var Z=[],H={};d.forEach(function(q){var oe=q.source,de=q.target,Oe=q[n]||1,Be=x[oe].node.clusterId,Ge=x[de].node.clusterId;if(!(!Be||!Ge)){var Ve="".concat(Be,"---").concat(Ge);if(H[Ve])H[Ve].weight+=Oe,H[Ve].count++;else{var qe={source:Be,target:Ge,weight:Oe,count:1};H[Ve]=qe,Z.push(qe)}}});var X=[];return Object.keys(te).forEach(function(q){X.push(te[q])}),{clusters:X,clusterEdges:Z}},qx=AR,OR=function(e,t,n,i,a,s,o,l){return t===void 0&&(t=!1),n===void 0&&(n="weight"),i===void 0&&(i=1e-4),a===void 0&&(a=void 0),s===void 0&&(s=[]),o===void 0&&(o=["id"]),l===void 0&&(l=1),qx(e,t,n,i,!0,a,s,o,l)},kR=OR,CR=function(e,t){var n;t===void 0&&(t=1);for(var i=ec(e),a=i.nodes,s=a===void 0?[]:a,o=i.edges,l=o===void 0?[]:o,u=function(){var f=Lp({nodes:s,edges:l}),d=Object.keys(f);d.sort(function(p,m){var b,x;return((b=f[p])===null||b===void 0?void 0:b.degree)-((x=f[m])===null||x===void 0?void 0:x.degree)});var v=d[0];if(!s.length||((n=f[v])===null||n===void 0?void 0:n.degree)>=t)return"break";var g=s.findIndex(function(p){return p.id===v});s.splice(g,1),l=l.filter(function(p){return!(p.source===v||p.target===v)})};;){var c=u();if(c==="break")break}return{nodes:s,edges:l}},NR=CR,$x=function(e,t,n){var i=[];switch(e){case Ma.EuclideanDistance:i=t[n];break;default:i=[];break}return i},_R=function(e,t,n,i,a,s){t===void 0&&(t=3),n===void 0&&(n=void 0),i===void 0&&(i=[]),a===void 0&&(a=["id"]),s===void 0&&(s=Ma.EuclideanDistance);var o=e.nodes,l=o===void 0?[]:o,u=e.edges,c=u===void 0?[]:u,h={clusters:[{id:"0",nodes:l}],clusterEdges:[]};if(s===Ma.EuclideanDistance&&!l.every(function(de){return de.hasOwnProperty(n)}))return h;var f=[],d=[];if(s===Ma.EuclideanDistance&&(f=df(l,n),d=vf(f,i,a)),!d.length)return h;for(var v=Fp(d.map(function(de){return de.join("")})),g=Math.min(t,l.length,v.length),p=0;p<l.length;p++)l[p].originIndex=p;for(var m=[],b=[],x=[],p=0;p<g;p++)if(p===0){var O=Math.floor(Math.random()*l.length);switch(s){case Ma.EuclideanDistance:m[p]=d[O];break;default:m[p]=[];break}b.push(O),x[p]=[l[O]],l[O].clusterId=String(p)}else{for(var T=-1/0,S=0,k=function(Be){if(!b.includes(Be)){for(var Ge=0,Ve=0;Ve<m.length;Ve++){var qe=0;switch(s){case Ma.EuclideanDistance:qe=Wp(d[l[Be].originIndex],m[Ve],s);break;default:break}Ge+=qe}var lt=Ge/m.length;lt>T&&!m.find(function(Ct){return vR(Ct,$x(s,d,l[Be].originIndex))})&&(T=lt,S=Be)}},C=0;C<l.length;C++)k(C);m[p]=$x(s,d,S),b.push(S),x[p]=[l[S]],l[S].clusterId=String(p)}for(var W=0;;){for(var p=0;p<l.length;p++){var U=0,J=1/0;if(!(W===0&&b.includes(p))){for(var te=0;te<m.length;te++){var ie=0;switch(s){case Ma.EuclideanDistance:ie=Wp(d[p],m[te],s);break;default:break}ie<J&&(J=ie,U=te)}if(l[p].clusterId!==void 0)for(var ae=x[Number(l[p].clusterId)].length-1;ae>=0;ae--)x[Number(l[p].clusterId)][ae].id===l[p].id&&x[Number(l[p].clusterId)].splice(ae,1);l[p].clusterId=String(U),x[U].push(l[p])}}for(var ve=!1,p=0;p<x.length;p++){for(var Z=x[p],H=new na([]),te=0;te<Z.length;te++)H=H.add(new na(d[Z[te].originIndex]));var X=H.avg(Z.length);X.equal(new na(m[p]))||(ve=!0,m[p]=X.getArr())}if(W++,l.every(function(de){return de.clusterId!==void 0})&&ve||W>=1e3)break}var q=[],oe={};return c.forEach(function(de){var Oe,Be,Ge=de.source,Ve=de.target,qe=(Oe=l.find(function(qt){return qt.id===Ge}))===null||Oe===void 0?void 0:Oe.clusterId,lt=(Be=l.find(function(qt){return qt.id===Ve}))===null||Be===void 0?void 0:Be.clusterId,Ct="".concat(qe,"---").concat(lt);if(oe[Ct])oe[Ct].count++;else{var Vt={source:qe,target:lt,count:1};oe[Ct]=Vt,q.push(Vt)}}),{clusters:x,clusterEdges:q}},RR=_R,LR=function(e,t){var n=new na(t),i=n.norm2(),a=new na(e),s=a.norm2(),o=n.dot(a),l=i*s,u=l?o/l:0;return u},eE=LR,DR=function(e,t,n,i,a){e===void 0&&(e=[]),n===void 0&&(n=void 0),i===void 0&&(i=[]),a===void 0&&(a=[]);var s=ec(e.filter(function(f){return f.id!==t.id})),o=e.findIndex(function(f){return f.id===t.id}),l=df(e,n),u=vf(l,i,a),c=u[o],h=[];return s.forEach(function(f,d){if(f.id!==t.id){var v=u[d],g=eE(v,c);h.push(g),f.cosineSimilarity=g}}),s.sort(function(f,d){return d.cosineSimilarity-f.cosineSimilarity}),{allCosineSimilarity:h,similarNodes:s}},IR=DR,BR=function(){function r(e){this.count=e.length,this.parent={};for(var t=0,n=e;t<n.length;t++){var i=n[t];this.parent[i]=i}}return r.prototype.find=function(e){for(;this.parent[e]!==e;)e=this.parent[e];return e},r.prototype.union=function(e,t){var n=this.find(e),i=this.find(t);n!==i&&(n<i?(this.parent[t]!==t&&this.union(this.parent[t],e),this.parent[t]=this.parent[e]):(this.parent[e]!==e&&this.union(this.parent[e],t),this.parent[e]=this.parent[t]))},r.prototype.connected=function(e,t){return this.find(e)===this.find(t)},r}(),zR=BR,FR=function(e,t){return e-t},jR=function(){function r(e){e===void 0&&(e=FR),this.compareFn=e,this.list=[]}return r.prototype.getLeft=function(e){return 2*e+1},r.prototype.getRight=function(e){return 2*e+2},r.prototype.getParent=function(e){return e===0?null:Math.floor((e-1)/2)},r.prototype.isEmpty=function(){return this.list.length<=0},r.prototype.top=function(){return this.isEmpty()?void 0:this.list[0]},r.prototype.delMin=function(){var e=this.top(),t=this.list.pop();return this.list.length>0&&(this.list[0]=t,this.moveDown(0)),e},r.prototype.insert=function(e){if(e!==null){this.list.push(e);var t=this.list.length-1;return this.moveUp(t),!0}return!1},r.prototype.moveUp=function(e){for(var t=this.getParent(e);e&&e>0&&this.compareFn(this.list[t],this.list[e])>0;){var n=this.list[t];this.list[t]=this.list[e],this.list[e]=n,e=t,t=this.getParent(e)}},r.prototype.moveDown=function(e){var t,n=e,i=this.getLeft(e),a=this.getRight(e),s=this.list.length;i!==null&&i<s&&this.compareFn(this.list[n],this.list[i])>0?n=i:a!==null&&a<s&&this.compareFn(this.list[n],this.list[a])>0&&(n=a),e!==n&&(t=[this.list[n],this.list[e]],this.list[e]=t[0],this.list[n]=t[1],this.moveDown(n))},r}(),GR=jR,HR=function(e,t){var n=[],i=e.nodes,a=i===void 0?[]:i,s=e.edges,o=s===void 0?[]:s;if(a.length===0)return n;var l=a[0],u=new Set;u.add(l);var c=function(p,m){return t?p.weight-m.weight:0},h=new GR(c);for(sf(l.id,o).forEach(function(g){h.insert(g)});!h.isEmpty();){var f=h.delMin(),d=f.source,v=f.target;u.has(d)&&u.has(v)||(n.push(f),u.has(d)||(u.add(d),sf(d,o).forEach(function(g){h.insert(g)})),u.has(v)||(u.add(v),sf(v,o).forEach(function(g){h.insert(g)})))}return n},tE=function(e,t){var n=[],i=e.nodes,a=i===void 0?[]:i,s=e.edges,o=s===void 0?[]:s;if(a.length===0)return n;var l=o.map(function(d){return d});t&&l.sort(function(d,v){return d.weight-v.weight});for(var u=new zR(a.map(function(d){return d.id}));l.length>0;){var c=l.shift(),h=c.source,f=c.target;u.connected(h,f)||(n.push(c),u.union(h,f))}return n},XR=function(e,t,n){var i={prim:HR,kruskal:tE};return n?i[n](e,t):tE(e,t)},WR=XR,VR=function(e,t,n){typeof t!="number"&&(t=1e-6),typeof n!="number"&&(n=.85);for(var i=1,a=0,s=1e3,o=e.nodes,l=o===void 0?[]:o,u=e.edges,c=u===void 0?[]:u,h=l.length,f,d={},v={},g=0;g<h;++g){var p=l[g],m=p.id;d[m]=1/h,v[m]=1/h}for(var b=Lp(e);s>0&&i>t;){a=0;for(var g=0;g<h;++g){var p=l[g],m=p.id;if(f=0,b[p.id].inDegree===0)d[m]=0;else{for(var x=ta(m,c,"source"),O=0;O<x.length;++O){var T=x[O],S=b[T].outDegree;S>0&&(f+=v[T]/S)}d[m]=n*f,a+=d[m]}}a=(1-a)/h,i=0;for(var g=0;g<h;++g){var p=l[g],m=p.id;f=d[m]+a,i+=Math.abs(f-v[m]),v[m]=f}s-=1}return v},nE=VR,YR=-1,gf=-1,rE="-1",es="-1",iE=-1,ZK="-1",aE=function(){function r(e,t,n,i){e===void 0&&(e=YR),t===void 0&&(t=gf),n===void 0&&(n=gf),i===void 0&&(i=rE),this.id=e,this.from=t,this.to=n,this.label=i}return r}(),UR=function(){function r(e,t){e===void 0&&(e=gf),t===void 0&&(t=es),this.id=e,this.label=t,this.edges=[],this.edgeMap={}}return r.prototype.addEdge=function(e){this.edges.push(e),this.edgeMap[e.id]=e},r}(),sE=function(){function r(e,t,n){e===void 0&&(e=gf),t===void 0&&(t=!0),n===void 0&&(n=!1),this.id=e,this.edgeIdAutoIncrease=t,this.edges=[],this.nodes=[],this.nodeMap={},this.edgeMap={},this.nodeLabelMap={},this.edgeLabelMap={},this.counter=0,this.directed=n}return r.prototype.getNodeNum=function(){return this.nodes.length},r.prototype.addNode=function(e,t){if(!this.nodeMap[e]){var n=new UR(e,t);this.nodes.push(n),this.nodeMap[e]=n,this.nodeLabelMap[t]||(this.nodeLabelMap[t]=[]),this.nodeLabelMap[t].push(e)}},r.prototype.addEdge=function(e,t,n,i){if((this.edgeIdAutoIncrease||e===void 0)&&(e=this.counter++),!(this.nodeMap[t]&&this.nodeMap[n]&&this.nodeMap[n].edgeMap[e])){var a=new aE(e,t,n,i);if(this.edges.push(a),this.edgeMap[e]=a,this.nodeMap[t].addEdge(a),this.edgeLabelMap[i]||(this.edgeLabelMap[i]=[]),this.edgeLabelMap[i].push(a),!this.directed){var s=new aE(e,n,t,i);this.nodeMap[n].addEdge(s),this.edgeLabelMap[i].push(s)}}},r}(),Ro=function(){function r(e,t,n,i,a){this.fromNode=e,this.toNode=t,this.nodeEdgeNodeLabel={nodeLabel1:n||es,edgeLabel:i||rE,nodeLabel2:a||es}}return r.prototype.equalTo=function(e){return this.fromNode===e.formNode&&this.toNode===e.toNode&&this.nodeEdgeNodeLabel===e.nodeEdgeNodeLabel},r.prototype.notEqualTo=function(e){return!this.equalTo(e)},r}(),oE=function(){function r(){this.rmpath=[],this.dfsEdgeList=[]}return r.prototype.equalTo=function(e){var t=this.dfsEdgeList.length,n=e.length;if(t!==n)return!1;for(var i=0;i<t;i++)if(this.dfsEdgeList[i]!==e[i])return!1;return!0},r.prototype.notEqualTo=function(e){return!this.equalTo(e)},r.prototype.pushBack=function(e,t,n,i,a){return this.dfsEdgeList.push(new Ro(e,t,n,i,a)),this.dfsEdgeList},r.prototype.toGraph=function(e,t){e===void 0&&(e=iE),t===void 0&&(t=!1);var n=new sE(e,!0,t);return this.dfsEdgeList.forEach(function(i){var a=i.fromNode,s=i.toNode,o=i.nodeEdgeNodeLabel,l=o.nodeLabel1,u=o.edgeLabel,c=o.nodeLabel2;l!==es&&n.addNode(a,l),c!==es&&n.addNode(s,c),l!==es&&c!==l&&n.addEdge(void 0,a,s,u)}),n},r.prototype.buildRmpath=function(){this.rmpath=[];for(var e=void 0,t=this.dfsEdgeList.length,n=t-1;n>=0;n--){var i=this.dfsEdgeList[n],a=i.fromNode,s=i.toNode;a<s&&(e===void 0||s===e)&&(this.rmpath.push(n),e=a)}return this.rmpath},r.prototype.getNodeNum=function(){var e={};return this.dfsEdgeList.forEach(function(t){e[t.fromNode]||(e[t.fromNode]=!0),e[t.toNode]||(e[t.toNode]=!0)}),Object.keys(e).length},r}(),pf=function(){function r(e){if(this.his={},this.nodesUsed={},this.edgesUsed={},this.edges=[],!!e){for(;e;){var t=e.edge;this.edges.push(t),this.nodesUsed[t.from]=1,this.nodesUsed[t.to]=1,this.edgesUsed[t.id]=1,e=e.preNode}this.edges=this.edges.reverse()}}return r.prototype.hasNode=function(e){return this.nodesUsed[e.id]===1},r.prototype.hasEdge=function(e){return this.edgesUsed[e.id]===1},r}(),ZR=function(){function r(e){var t=e.graphs,n=e.minSupport,i=n===void 0?2:n,a=e.minNodeNum,s=a===void 0?1:a,o=e.maxNodeNum,l=o===void 0?4:o,u=e.top,c=u===void 0?10:u,h=e.directed,f=h===void 0?!1:h,d=e.verbose,v=d===void 0?!1:d;this.graphs=t,this.dfsCode=new oE,this.support=0,this.frequentSize1Subgraphs=[],this.frequentSubgraphs=[],this.minSupport=i,this.top=c,this.directed=f,this.counter=0,this.maxNodeNum=l,this.minNodeNum=s,this.verbose=v,this.maxNodeNum<this.minNodeNum&&(this.maxNodeNum=this.minNodeNum),this.reportDF=[]}return r.prototype.findForwardRootEdges=function(e,t){var n=this,i=[],a=e.nodeMap;return t.edges.forEach(function(s){(n.directed||t.label<=a[s.to].label)&&i.push(s)}),i},r.prototype.findBackwardEdge=function(e,t,n,i){if(!this.directed&&t===n)return null;for(var a=e.nodeMap,s=a[n.to],o=s.edges,l=o.length,u=0;u<l;u++){var c=o[u];if(!(i.hasEdge(c)||c.to!==t.from)){if(this.directed){if(a[t.from].label<a[n.to].label||a[t.from].label===a[n.to].label&&t.label<=c.label)return c}else if(t.label<c.label||t.label===c.label&&a[t.to].label<=a[n.to].label)return c}}return null},r.prototype.findForwardPureEdges=function(e,t,n,i){for(var a=[],s=t.to,o=e.nodeMap[s].edges,l=o.length,u=0;u<l;u++){var c=o[u],h=e.nodeMap[c.to];n<=h.label&&!i.hasNode(h)&&a.push(c)}return a},r.prototype.findForwardRmpathEdges=function(e,t,n,i){for(var a=[],s=e.nodeMap,o=s[t.to].label,l=s[t.from],u=l.edges,c=u.length,h=0;h<c;h++){var f=u[h],d=s[f.to].label;t.to===f.to||n>d||i.hasNode(s[f.to])||(t.label<f.label||t.label===f.label&&o<=d)&&a.push(f)}return a},r.prototype.getSupport=function(e){var t={};return e.forEach(function(n){t[n.graphId]||(t[n.graphId]=!0)}),Object.keys(t).length},r.prototype.findMinLabel=function(e){var t=void 0;return Object.keys(e).forEach(function(n){var i=e[n],a=i.nodeLabel1,s=i.edgeLabel,o=i.nodeLabel2;if(!t){t={nodeLabel1:a,edgeLabel:s,nodeLabel2:o};return}(a<t.nodeLabel1||a===t.nodeLabel1&&s<t.edgeLabel||a===t.nodeLabel1&&s===t.edgeLabel&&o<t.nodeLabel2)&&(t={nodeLabel1:a,edgeLabel:s,nodeLabel2:o})}),t},r.prototype.isMin=function(){var e=this,t=this.dfsCode;if(this.verbose&&console.log("isMin checking",t),t.dfsEdgeList.length===1)return!0;var n=this.directed,i=t.toGraph(iE,n),a=i.nodeMap,s=new oE,o={};i.nodes.forEach(function(h){var f=e.findForwardRootEdges(i,h);f.forEach(function(d){var v=a[d.to],g="".concat(h.label,"-").concat(d.label,"-").concat(v.label);o[g]||(o[g]={projected:[],nodeLabel1:h.label,edgeLabel:d.label,nodeLabel2:v.label});var p={graphId:i.id,edge:d,preNode:null};o[g].projected.push(p)})});var l=this.findMinLabel(o);if(l){s.dfsEdgeList.push(new Ro(0,1,l.nodeLabel1,l.edgeLabel,l.nodeLabel2));var u=function h(f){for(var d=s.buildRmpath(),v=s.dfsEdgeList[0].nodeEdgeNodeLabel.nodeLabel1,g=s.dfsEdgeList[d[0]].toNode,p={},m=!1,b=0,x=n?-1:0,O=function(H){if(m)return"break";f.forEach(function(X){var q=new pf(X),oe=e.findBackwardEdge(i,q.edges[d[H]],q.edges[d[0]],q);oe&&(p[oe.label]||(p[oe.label]={projected:[],edgeLabel:oe.label}),p[oe.label].projected.push({graphId:i.id,edge:p,preNode:X}),b=s.dfsEdgeList[d[H]].fromNode,m=!0)})},T=d.length-1;T>x;T--){var S=O(T);if(S==="break")break}if(m){var k=e.findMinLabel(p);s.dfsEdgeList.push(new Ro(g,b,es,k.edgeLabel,es));var C=s.dfsEdgeList.length-1;return e.dfsCode.dfsEdgeList[C]!==s.dfsEdgeList[C]?!1:h(p[k.edgeLabel].projected)}var W={};m=!1;var U=0;f.forEach(function(Z){var H=new pf(Z),X=e.findForwardPureEdges(i,H.edges[d[0]],v,H);X.length>0&&(m=!0,U=g,X.forEach(function(q){var oe="".concat(q.label,"-").concat(a[q.to].label);W[oe]||(W[oe]={projected:[],edgeLabel:q.label,nodeLabel2:a[q.to].label}),W[oe].projected.push({graphId:i.id,edge:q,preNode:Z})}))});for(var J=d.length,te=function(H){if(m)return"break";var X=d[H];f.forEach(function(q){var oe=new pf(q),de=e.findForwardRmpathEdges(i,oe.edges[X],v,oe);de.length>0&&(m=!0,U=s.dfsEdgeList[X].fromNode,de.forEach(function(Oe){var Be="".concat(Oe.label,"-").concat(a[Oe.to].label);W[Be]||(W[Be]={projected:[],edgeLabel:Oe.label,nodeLabel2:a[Oe.to].label}),W[Be].projected.push({graphId:i.id,edge:Oe,preNode:q})}))})},T=0;T<J;T++){var ie=te(T);if(ie==="break")break}if(!m)return!0;var ae=e.findMinLabel(W);s.dfsEdgeList.push(new Ro(U,g+1,es,ae.edgeLabel,ae.nodeLabel2));var ve=s.dfsEdgeList.length-1;return t.dfsEdgeList[ve]!==s.dfsEdgeList[ve]?!1:h(W["".concat(ae.edgeLabel,"-").concat(ae.nodeLabel2)].projected)},c="".concat(l.nodeLabel1,"-").concat(l.edgeLabel,"-").concat(l.nodeLabel2);return u(o[c].projected)}},r.prototype.report=function(){if(!(this.dfsCode.getNodeNum()<this.minNodeNum)){this.counter++;var e=this.dfsCode.toGraph(this.counter,this.directed);this.frequentSubgraphs.push(ec(e))}},r.prototype.subGraphMining=function(e){var t=this,n=this.getSupport(e);if(!(n<this.minSupport)&&this.isMin()){this.report();var i=this.dfsCode.getNodeNum(),a=this.dfsCode.buildRmpath(),s=this.dfsCode.dfsEdgeList[a[0]].toNode,o=this.dfsCode.dfsEdgeList[0].nodeEdgeNodeLabel.nodeLabel1,l={},u={};e.forEach(function(c){for(var h=t.graphs[c.graphId],f=h.nodeMap,d=new pf(c),v=a.length-1;v>=0;v--){var g=t.findBackwardEdge(h,d.edges[a[v]],d.edges[a[0]],d);if(g){var p="".concat(t.dfsCode.dfsEdgeList[a[v]].fromNode,"-").concat(g.label);u[p]||(u[p]={projected:[],toNodeId:t.dfsCode.dfsEdgeList[a[v]].fromNode,edgeLabel:g.label}),u[p].projected.push({graphId:c.graphId,edge:g,preNode:c})}}if(!(i>=t.maxNodeNum)){var m=t.findForwardPureEdges(h,d.edges[a[0]],o,d);m.forEach(function(x){var O="".concat(s,"-").concat(x.label,"-").concat(f[x.to].label);l[O]||(l[O]={projected:[],fromNodeId:s,edgeLabel:x.label,nodeLabel2:f[x.to].label}),l[O].projected.push({graphId:c.graphId,edge:x,preNode:c})});for(var b=function(O){var T=t.findForwardRmpathEdges(h,d.edges[a[O]],o,d);T.forEach(function(S){var k="".concat(t.dfsCode.dfsEdgeList[a[O]].fromNode,"-").concat(S.label,"-").concat(f[S.to].label);l[k]||(l[k]={projected:[],fromNodeId:t.dfsCode.dfsEdgeList[a[O]].fromNode,edgeLabel:S.label,nodeLabel2:f[S.to].label}),l[k].projected.push({graphId:c.graphId,edge:S,preNode:c})})},v=0;v<a.length;v++)b(v)}}),Object.keys(u).forEach(function(c){var h=u[c],f=h.toNodeId,d=h.edgeLabel;t.dfsCode.dfsEdgeList.push(new Ro(s,f,"-1",d,"-1")),t.subGraphMining(u[c].projected),t.dfsCode.dfsEdgeList.pop()}),Object.keys(l).forEach(function(c){var h=l[c],f=h.fromNodeId,d=h.edgeLabel,v=h.nodeLabel2;t.dfsCode.dfsEdgeList.push(new Ro(f,s+1,es,d,v)),t.subGraphMining(l[c].projected),t.dfsCode.dfsEdgeList.pop()})}},r.prototype.generate1EdgeFrequentSubGraphs=function(){var e=this.graphs,t=this.directed,n=this.minSupport,i=this.frequentSize1Subgraphs,a={},s={},o={},l={};return Object.keys(e).forEach(function(u){var c=e[u],h=c.nodeMap;c.nodes.forEach(function(f,d){var v=f.label,g="".concat(u,"-").concat(v);if(!o[g]){var p=a[v]||0;p++,a[v]=p}o[g]={graphKey:u,label:v},f.edges.forEach(function(m){var b=v,x=h[m.to].label;if(!t&&b>x){var O=x;x=b,b=O}var T=m.label,S="".concat(u,"-").concat(b,"-").concat(T,"-").concat(x),k="".concat(b,"-").concat(T,"-").concat(x);if(!s[k]){var C=s[k]||0;C++,s[k]=C}l[S]={graphId:u,nodeLabel1:b,edgeLabel:T,nodeLabel2:x}})})}),Object.keys(a).forEach(function(u){var c=a[u];if(!(c<n)){var h={nodes:[],edges:[]};h.nodes.push({id:"0",label:u}),i.push(h)}}),i},r.prototype.run=function(){var e=this;if(this.frequentSize1Subgraphs=this.generate1EdgeFrequentSubGraphs(),!(this.maxNodeNum<2)){var t=this.graphs,n=this.directed,i={};Object.keys(t).forEach(function(a){var s=t[a],o=s.nodeMap;s.nodes.forEach(function(l){var u=e.findForwardRootEdges(s,l);u.forEach(function(c){var h=o[c.to],f="".concat(l.label,"-").concat(c.label,"-").concat(h.label);i[f]||(i[f]={projected:[],nodeLabel1:l.label,edgeLabel:c.label,nodeLabel2:h.label});var d={graphId:a,edge:c,preNode:null};i[f].projected.push(d)})})}),Object.keys(i).forEach(function(a){var s=i[a],o=s.projected,l=s.nodeLabel1,u=s.edgeLabel,c=s.nodeLabel2;e.dfsCode.dfsEdgeList.push(new Ro(0,1,l,u,c)),e.subGraphMining(o),e.dfsCode.dfsEdgeList.pop()})}},r}(),KR=function(e,t,n,i){var a={};return Object.keys(e).forEach(function(s,o){var l=e[s],u=new sE(o,!0,t),c={};l.nodes.forEach(function(h,f){u.addNode(f,h[n]),c[h.id]=f}),l.edges.forEach(function(h,f){var d=c[h.source],v=c[h.target];u.addEdge(-1,d,v,h[i])}),u&&u.getNodeNum()&&(a[u.id]=u)}),a},QR=function(e,t,n){var i=[];return e.forEach(function(a){var s={nodes:[],edges:[]};a.nodes.forEach(function(o){var l;s.nodes.push((l={id:"".concat(o.id)},l[t]=o.label,l))}),a.edges.forEach(function(o){var l;s.edges.push((l={source:"".concat(o.from),target:"".concat(o.to)},l[n]=o.label,l))}),i.push(s)}),i},lE="cluster",JR=function(e){var t=e.graphs,n=e.directed,i=n===void 0?!1:n,a=e.nodeLabelProp,s=a===void 0?lE:a,o=e.edgeLabelProp,l=o===void 0?lE:o,u=KR(t,i,s,l),c=e.minSupport,h=e.maxNodeNum,f=e.minNodeNum,d=e.verbose,v=e.top,g={graphs:u,minSupport:c,maxNodeNum:h,minNodeNum:f,top:v,verbose:d,directed:i},p=new ZR(g);p.run();var m=QR(p.frequentSubgraphs,s,l);return m},qR=JR,uE=function(e,t,n,i){n===void 0&&(n="cluster"),i===void 0&&(i=2);var a=[],s=e.nodes;return t.forEach(function(o,l){a.push(cE(s,o,l,n,i))}),a},cE=function(e,t,n,i,a){var s=[n],o=[],l={};return t.forEach(function(u,c){if(u<=a&&n!==c){s.push(c),o.push(e[c]);var h=e[c][i];l[h]?(l[h].count++,l[h].dists.push(u)):l[h]={count:1,dists:[u]}}}),Object.keys(l).forEach(function(u){l[u].dists=l[u].dists.sort(function(c,h){return c-h})}),{nodeIdx:n,nodeId:e[n].id,nodeIdxs:s,neighbors:o,neighborNum:s.length-1,nodeLabelCountMap:l}},$R=function(e,t,n,i,a){var s=Math.ceil(n/t),o={},l=0;return i.forEach(function(u,c){for(var h=0,f=0,d=u.nodeIdxs,v=u.neighborNum-1;h<s;){for(var g=d[1+Math.floor(Math.random()*v)],p=0;(o["".concat(c,"-").concat(g)]||o["".concat(g,"-").concat(c)])&&(g=Math.floor(Math.random()*t),p++,!(p>2*t)););if(p<2*t&&(o["".concat(c,"-").concat(g)]={start:c,end:g,distance:a[c][g]},h++,l++,l>=n))return o;if(f++,f>2*t)break}if(h<s){var m=s-h;s=(s+m)/(t-c-1)}}),o},mf=function(e,t,n,i){var a=n.nodes;return i||(i={}),Object.keys(e).forEach(function(s){var o,l;if(!(i&&i[s])){i[s]={nodes:[],edges:[]};var u=e[s],c=(o=t[u.start])===null||o===void 0?void 0:o.nodeIdxs,h=(l=t[u.end])===null||l===void 0?void 0:l.nodeIdxs;if(!(!c||!h)){var f=new Set(h),d=c.filter(function(b){return f.has(b)});if(!(!d||!d.length)){for(var v={},g=d.length,p=0;p<g;p++){var m=a[d[p]];i[s].nodes.push(m),v[m.id]=!0}n.edges.forEach(function(b){v[b.source]&&v[b.target]&&i[s].edges.push(b)})}}}}),i},yf=function(e,t,n,i){var a,s,o={};e.nodes.forEach(function(u){o[u.id]=u});var l=0;return!(!((a=t==null?void 0:t.edges)===null||a===void 0)&&a.length)||((s=t==null?void 0:t.nodes)===null||s===void 0?void 0:s.length)<2?0:(e.edges.forEach(function(u){var c=o[u.source][n],h=o[u.target][n],f=t==null?void 0:t.nodes[0][n],d=t==null?void 0:t.nodes[1][n],v=t==null?void 0:t.edges[0][i];u[i]===v&&(c===f&&h===d||c===d&&h===f)&&l++}),l)},eL=function(e,t,n){for(var i=1/0,a=0,s=function(u){var c=e[u],h=Object.keys(c).sort(function(b,x){return c[b]-c[x]}),f=10,d=[];h.forEach(function(b,x){d[x%f]||(d[x%f]={graphs:[],totalCount:0,aveCount:0}),d[x%f].graphs.push(b),d[x%f].totalCount+=c[b]});var v=0,g=[];d.forEach(function(b){var x=b.totalCount/b.graphs.length;b.aveCount=x,g.push(x);var O=0,T=b.length;b.graphs.forEach(function(S,k){var C=c[S];b.graphs.forEach(function(W,U){k!==U&&(O+=Math.abs(C-c[W]))})}),O/=T*(T-1)/2,v+=O}),v/=d.length;var p=0;g.forEach(function(b,x){g.forEach(function(O,T){x!==T&&(p+=Math.abs(b-O))}),p/=g.length*(g.length-1)/2});var m=p-v;i<m&&(i=m,a=u)},o=0;o<t;o++)s(o);return{structure:n[a],structureCountMap:e[a]}},hE=function(e,t){var n={},i={};return e.forEach(function(a,s){n[a.id]={idx:s,node:a,degree:0,inDegree:0,outDegree:0};var o=a[t];i[o]||(i[o]=[]),i[o].push(a)}),{nodeMap:n,nodeLabelMap:i}},fE=function(e,t,n){var i={},a={};return e.forEach(function(s,o){i["".concat(Nx)]={idx:o,edge:s};var l=s[t];a[l]||(a[l]=[]),a[l].push(s);var u=n[s.source];u&&(u.degree++,u.outDegree++);var c=n[s.target];c&&(c.degree++,c.inDegree++)}),{edgeMap:i,edgeLabelMap:a}},dE=function(e,t,n){var i=t.length,a={};return t.forEach(function(s,o){for(var l=n?0:o+1,u=e[o].id,c=l;c<i;c++)if(o!==c){var h=e[c].id,f=s[c];a["".concat(u,"-").concat(h)]=f,n||(a["".concat(h,"-").concat(u)]=f)}}),a},tL=function(e,t,n,i,a,s,o,l,u,c,h){var f,d="".concat(t.id,"-").concat(n.id);if(c&&c[d])return c[d];var v=h?h[d]:void 0;if(!v){var g=(f={},f[d]={start:i[t.id].idx,end:i[n.id].idx,distance:a},f);h=mf(g,s,e,h),v=h[d]}return yf(v,o,l,u)},vE=function(e,t,n,i){var a,s,o,l=(a=e[t])===null||a===void 0?void 0:a.degree,u=(s=e[t])===null||s===void 0?void 0:s.inDegree,c=(o=e[t])===null||o===void 0?void 0:o.outDegree;return e[t]===void 0&&(l=1/0,u=1/0,c=1/0,i[t].forEach(function(h){var f=n[h.id].degree;l>f&&(l=f);var d=n[h.id].inDegree;u>d&&(u=d);var v=n[h.id].outDegree;c>v&&(c=v)}),e[t]={degree:l,inDegree:u,outDegree:c}),{minPatternNodeLabelDegree:l,minPatternNodeLabelInDegree:u,minPatternNodeLabelOutDegree:c}},nL=function(e,t,n,i,a,s,o){var l;if(n===void 0&&(n=!1),s===void 0&&(s="cluster"),o===void 0&&(o="cluster"),!(!e||!e.nodes)){var u=e.nodes.length;if(u){var c=Xp(e,n),h=Xp(t,n),f=dE(e.nodes,c,n),d=dE(t.nodes,h,n),v=hE(e.nodes,s),g=v.nodeMap,p=v.nodeLabelMap,m=hE(t.nodes,s),b=m.nodeMap,x=m.nodeLabelMap;fE(e.edges,o,g);var O=fE(t.edges,o,b).edgeLabelMap,T=[];h==null||h.forEach(function(Ht){T=T.concat(Ht)}),a||(a=Math.max.apply(Math,of(of([],T,!1),[2],!1))),i||(i=a);var S=uE(e,c,s,i),k=uE(t,h,s,i),C=Math.min(100,u*(u-1)/2),W=$R(i,u,C,S,c),U=mf(W,S,e),J=10,te=1,ie=1,ae=4,ve={graphs:U,nodeLabelProp:s,edgeLabelProp:o,minSupport:te,minNodeNum:ie,maxNodeNum:ae,directed:n},Z=qR(ve).slice(0,J),H=Z.length,X=[];Z.forEach(function(Ht,an){X[an]={},Object.keys(U).forEach(function(Gt){var tn=U[Gt],Kt=yf(tn,Ht,s,o);X[an][Gt]=Kt})});var q=eL(X,H,Z),oe=q.structure,de=q.structureCountMap,Oe=t.nodes[0],Be=[],Ge=(l=t.nodes[0])===null||l===void 0?void 0:l[s],Ve=-1/0;t.nodes.forEach(function(Ht){var an=Ht[s],Gt=p[an];(Gt==null?void 0:Gt.length)>Ve&&(Ve=Gt.length,Be=Gt,Ge=an,Oe=Ht)});var qe={},lt={},Ct={},Vt={},qt={},Nr={};Object.keys(x).forEach(function(Ht,an){qt[Ht]=[],n&&(Nr[Ht]=[]);var Gt=-1/0,tn=x[Ht],Kt={};tn.forEach(function(hn){var vn=d["".concat(Oe.id,"-").concat(hn.id)];if(vn&&qt[Ht].push(vn),Gt<vn&&(Gt=vn),Kt["".concat(Oe.id,"-").concat(hn.id)]={start:0,end:b[hn.id].idx,distance:vn},n){var cr=d["".concat(hn.id,"-").concat(Oe.id)];cr&&Nr[Ht].push(cr)}}),qt[Ht]=qt[Ht].sort(function(hn,vn){return hn-vn}),n&&(Nr[Ht]=Nr[Ht].sort(function(hn,vn){return hn-vn})),lt=mf(Kt,k,t,lt);var yt=[];if(Object.keys(Kt).forEach(function(hn){if(Ct[hn]){yt.push(Ct[hn]);return}var vn=lt[hn];Ct[hn]=yf(vn,oe,s,o),yt.push(Ct[hn])}),yt=yt.sort(function(hn,vn){return vn-hn}),Vt["".concat(Oe.id,"-").concat(Ht)]=yt,Ht!==Ge)for(var sn=(Be==null?void 0:Be.length)||0,cn=function(vn){var cr=Be[vn],Wi=S[g[cr.id].idx],yr=Wi.nodeLabelCountMap[Ht],sl=x[Ht].length;if(!yr||yr.count<sl)return Be.splice(vn,1),"continue";for(var pu=!1,ci=0;ci<sl;ci++)if(yr.dists[ci]>qt[Ht][ci]){pu=!0;break}if(pu)return Be.splice(vn,1),"continue";var va={};Wi.neighbors.forEach(function(hi){var ja=f["".concat(cr.id,"-").concat(hi.id)];va["".concat(cr.id,"-").concat(hi.id)]={start:g[cr.id].idx,end:g[hi.id].idx,distance:ja}}),U=mf(va,S,e,U);var ls=[];Object.keys(va).forEach(function(hi){if(de[hi]){ls.push(de[hi]);return}var ja=U[hi];de[hi]=yf(ja,oe,s,o),ls.push(de[hi])}),ls=ls.sort(function(hi,ja){return ja-hi});for(var go=!1,ci=0;ci<sl;ci++)if(ls[ci]<yt[ci]){go=!0;break}if(go)return Be.splice(vn,1),"continue"},ur=sn-1;ur>=0;ur--)cn(ur)});var un=[];Be==null||Be.forEach(function(Ht){for(var an=g[Ht.id].idx,Gt=cE(e.nodes,c[an],an,s,a),tn=Gt.neighbors,Kt=tn.length,yt=!1,sn=Kt-1;sn>=0;sn--){if(tn.length+1<t.nodes.length){yt=!0;return}var cn=tn[sn],ur=cn[s];if(!x[ur]||!x[ur].length){tn.splice(sn,1);continue}if(!qt[ur]||!qt[ur].length){tn.splice(sn,1);continue}var hn="".concat(Ht.id,"-").concat(cn.id),vn=f[hn],cr=qt[ur].length-1,Wi=qt[ur][cr];if(vn>Wi){tn.splice(sn,1);continue}if(n){var yr="".concat(cn.id,"-").concat(Ht.id),sl=f[yr];cr=Nr[ur].length-1;var pu=Nr[ur][cr];if(sl>pu){tn.splice(sn,1);continue}}var ci=de[hn]?de[hn]:tL(e,Ht,cn,g,vn,S,oe,s,o,de,U),va="".concat(Oe.id,"-").concat(ur),ls=Vt[va][Vt[va].length-1];if(ci<ls){tn.splice(sn,1);continue}var go=vE(qe,ur,b,x),hi=go.minPatternNodeLabelDegree,ja=go.minPatternNodeLabelInDegree,Ns=go.minPatternNodeLabelOutDegree;if(g[cn.id].degree<hi){tn.splice(sn,1);continue}}yt||un.push({nodes:[Ht].concat(tn)})});var ui=ff(t,Oe.id,!1).length,_r={};n?(Object.keys(ui).forEach(function(Ht){var an=b[Ht].node[s];_r[an]?_r[an].push(ui[Ht]):_r[an]=[ui[Ht]]}),Object.keys(_r).forEach(function(Ht){_r[Ht].sort(function(an,Gt){return an-Gt})})):_r=qt;for(var Fa=un.length,Er=function(an){var Gt=un[an],tn=Gt.nodes[0],Kt={},yt={};Gt.nodes.forEach(function(Fn,Vi){yt[Fn.id]={idx:Vi,node:Fn,degree:0,inDegree:0,outDegree:0};var Mr=Fn[s];Kt[Mr]?Kt[Mr]++:Kt[Mr]=1});var sn=[],cn={};e.edges.forEach(function(Fn){yt[Fn.source]&&yt[Fn.target]&&(sn.push(Fn),cn[Fn[o]]?cn[Fn[o]]++:cn[Fn[o]]=1,yt[Fn.source].degree++,yt[Fn.target].degree++,yt[Fn.source].outDegree++,yt[Fn.target].inDegree++)});for(var ur=Object.keys(O).length,hn=!1,vn=0;vn<ur;vn++){var cr=Object.keys(O)[vn];if(!cn[cr]||cn[cr]<O[cr].length){hn=!0;break}}if(hn)return un.splice(an,1),"continue";var Wi=sn.length;if(Wi<t.edges.length)return un.splice(an,1),"break";for(var yr=!1,sl=function(Vi){var Mr=sn[Vi],us=Mr[o],ol=O[us];if(!ol||!ol.length)return cn[us]--,ol&&cn[us]<ol.length?(yr=!0,"break"):(sn.splice(Vi,1),yt[Mr.source].degree--,yt[Mr.target].degree--,yt[Mr.source].outDegree--,yt[Mr.target].inDegree--,"continue");var nA=yt[Mr.source].node[s],rA=yt[Mr.target].node[s],zy=!1;if(ol.forEach(function(iA){var aA=b[iA.source].node,sA=b[iA.target].node;aA[s]===nA&&sA[s]===rA&&(zy=!0),!n&&aA[s]===rA&&sA[s]===nA&&(zy=!0)}),!zy)return cn[us]--,ol&&cn[us]<ol.length?(yr=!0,"break"):(sn.splice(Vi,1),yt[Mr.source].degree--,yt[Mr.target].degree--,yt[Mr.source].outDegree--,yt[Mr.target].inDegree--,"continue")},vn=Wi-1;vn>=0;vn--){var pu=sl(vn);if(pu==="break")break}if(yr)return un.splice(an,1),"continue";Gt.edges=sn;var ci=ff(Gt,Gt.nodes[0].id,!1).length;if(Object.keys(ci).reverse().forEach(function(Fn){if(!(Fn===Gt.nodes[0].id||yr)){if(ci[Fn]===1/0){var Vi=yt[Fn].node[s];if(Kt[Vi]--,Kt[Vi]<x[Vi].length){yr=!0;return}var Mr=Gt.nodes.indexOf(yt[Fn].node);Gt.nodes.splice(Mr,1),yt[Fn]=void 0;return}var us=g[Fn].node[s];if(!_r[us]||!_r[us].length||ci[Fn]>_r[us][_r[us].length-1]){var Vi=yt[Fn].node[s];if(Kt[Vi]--,Kt[Vi]<x[Vi].length){yr=!0;return}var Mr=Gt.nodes.indexOf(yt[Fn].node);Gt.nodes.splice(Mr,1),yt[Fn]=void 0}}}),yr)return un.splice(an,1),"continue";for(var va=!0,ls=0;va&&!yr;){va=!1;var go=n?yt[tn.id].degree<b[Oe.id].degree||yt[tn.id].inDegree<b[Oe.id].inDegree||yt[tn.id].outDegree<b[Oe.id].outDegree:yt[tn.id].degree<b[Oe.id].degree;if(go){yr=!0;break}if(Kt[tn[s]]<x[tn[s]].length){yr=!0;break}for(var hi=Gt.nodes.length,ja=hi-1;ja>=0;ja--){var Ns=Gt.nodes[ja],eA=yt[Ns.id].degree,iV=yt[Ns.id].inDegree,aV=yt[Ns.id].outDegree,sV=Ns[s],By=vE(qe,sV,b,x),tA=By.minPatternNodeLabelDegree,oV=By.minPatternNodeLabelInDegree,lV=By.minPatternNodeLabelOutDegree,uV=n?eA<tA||iV<oV||aV<lV:eA<tA;if(uV){if(Kt[Ns[s]]--,Kt[Ns[s]]<x[Ns[s]].length){yr=!0;break}Gt.nodes.splice(ja,1),yt[Ns.id]=void 0,va=!0}}if(yr||!va&&ls!==0)break;Wi=sn.length;for(var lg=Wi-1;lg>=0;lg--){var _s=sn[lg];if(!yt[_s.source]||!yt[_s.target]){sn.splice(lg,1);var ug=_s[o];if(cn[ug]--,yt[_s.source]&&(yt[_s.source].degree--,yt[_s.source].outDegree--),yt[_s.target]&&(yt[_s.target].degree--,yt[_s.target].inDegree--),O[ug]&&cn[ug]<O[ug].length){yr=!0;break}va=!0}}ls++}if(yr||yr||Gt.nodes.length<t.nodes.length||sn.length<t.edges.length)return un.splice(an,1),"continue"},mr=Fa-1;mr>=0;mr--){var da=Er(mr);if(da==="break")break}for(var lr=un.length,Xr=function(an){var Gt=un[an],tn={};Gt.edges.forEach(function(sn){var cn="".concat(sn.source,"-").concat(sn.target,"-").concat(sn.label);tn[cn]?tn[cn]++:tn[cn]=1});for(var Kt=function(cn){var ur=un[cn],hn={};ur.edges.forEach(function(cr){var Wi="".concat(cr.source,"-").concat(cr.target,"-").concat(cr.label);hn[Wi]?hn[Wi]++:hn[Wi]=1});var vn=!0;Object.keys(hn).length!==Object.keys(tn).length?vn=!1:Object.keys(tn).forEach(function(cr){hn[cr]!==tn[cr]&&(vn=!1)}),vn&&un.splice(cn,1)},yt=lr-1;yt>an;yt--)Kt(yt);lr=un.length},mr=0;mr<=lr-1;mr++)Xr(mr);return un}}},rL=nL,iL=function(){function r(e){e===void 0&&(e=10),this.linkedList=new Cx,this.maxStep=e}return Object.defineProperty(r.prototype,"length",{get:function(){return this.linkedList.toArray().length},enumerable:!1,configurable:!0}),r.prototype.isEmpty=function(){return!this.linkedList.head},r.prototype.isMaxStack=function(){return this.toArray().length>=this.maxStep},r.prototype.peek=function(){return this.isEmpty()?null:this.linkedList.head.value},r.prototype.push=function(e){this.linkedList.prepend(e),this.length>this.maxStep&&this.linkedList.deleteTail()},r.prototype.pop=function(){var e=this.linkedList.deleteHead();return e?e.value:null},r.prototype.toArray=function(){return this.linkedList.toArray().map(function(e){return e.value})},r.prototype.clear=function(){for(;!this.isEmpty();)this.pop()},r}(),aL=iL,sL=zx,KK={getAdjMatrix:af,breadthFirstSearch:I_,connectedComponent:Rx,getDegree:Lp,getInDegree:z_,getOutDegree:F_,detectCycle:zx,detectDirectedCycle:sL,detectAllCycles:H_,detectAllDirectedCycle:Bx,detectAllUndirectedCycle:Ix,depthFirstSearch:Dx,dijkstra:ff,findAllPath:yR,findShortestPath:Hp,floydWarshall:Xp,labelPropagation:ER,louvain:qx,iLouvain:kR,kCore:NR,kMeans:RR,cosineSimilarity:eE,nodesCosineSimilarity:IR,minimumSpanningTree:WR,pageRank:nE,getNeighbors:ta,Stack:aL,GADDI:rL};function Re(r){if(r.id!==void 0)return r.id;if(r.source!==void 0&&r.target!==void 0)return`${r.source}-${r.target}`;throw new Error(bs("The datum does not have available id."))}function bf(r){return r.combo}function gE(r,e){const t={nodes:(r.nodes||[]).map(Re),edges:(r.edges||[]).map(Re),combos:(r.combos||[]).map(Re)};return e?Object.values(t).flat():t}const pE=(r,e,t)=>{var n;switch(t.type){case"degree":{const i=new Map;return(n=r.nodes)===null||n===void 0||n.forEach(a=>{const s=e(Re(a),t.direction).length;i.set(Re(a),s)}),i}case"betweenness":return oL(r,t.directed,t.weightPropertyName);case"closeness":return lL(r,t.directed,t.weightPropertyName);case"eigenvector":return cL(r,t.directed);case"pagerank":return uL(r,t.epsilon,t.linkProb);default:return mE(r)}},mE=r=>{var e;const t=new Map;return(e=r.nodes)===null||e===void 0||e.forEach(n=>{t.set(Re(n),0)}),t},oL=(r,e,t)=>{const n=mE(r),{nodes:i=[]}=r;return i.forEach(a=>{i.forEach(s=>{if(a!==s){const{allPath:o}=Hp(r,Re(a),Re(s),e,t),l=o.length;o.flat().forEach(u=>{u!==Re(a)&&u!==Re(s)&&n.set(u,n.get(u)+1/l)})}})}),n},lL=(r,e,t)=>{const n=new Map,{nodes:i=[]}=r;return i.forEach(a=>{const s=i.reduce((o,l)=>{if(a!==l){const{length:u}=Hp(r,Re(a),Re(l),e,t);o+=u}return o},0);n.set(Re(a),1/s)}),n},uL=(r,e,t)=>{var n;const i=new Map,a=nE(r,e,t);return(n=r.nodes)===null||n===void 0||n.forEach(s=>{i.set(Re(s),a[Re(s)])}),i},cL=(r,e)=>{const{nodes:t=[]}=r,n=hL(r,e),i=fL(n,t.length),a=new Map;return t.forEach((s,o)=>{a.set(Re(s),i[o])}),a},hL=(r,e)=>{const{nodes:t=[],edges:n=[]}=r,i=Array(t.length).fill(null).map(()=>Array(t.length).fill(0));return n.forEach(({source:a,target:s})=>{const o=t.findIndex(u=>Re(u)===a),l=t.findIndex(u=>Re(u)===s);e?i[o][l]=1:(i[o][l]=1,i[l][o]=1)}),i},fL=(r,e,t=100,n=1e-6)=>{let i=Array(e).fill(1),a=1/0;for(let s=0;s<t&&a>n;s++){const o=Array(e).fill(0);for(let u=0;u<e;u++)for(let c=0;c<e;c++)o[u]+=r[u][c]*i[c];const l=Math.sqrt(o.reduce((u,c)=>u+c*c,0));for(let u=0;u<e;u++)o[u]/=l;a=Math.sqrt(o.reduce((u,c,h)=>u+(c-i[h])*c,0)),i=o}return i};function Vs(r,e,t,n=dr){const i=new Map(r.map(f=>[t(f),f])),a=new Map(e.map(f=>[t(f),f])),s=new Set(i.keys()),o=new Set(a.keys()),l=[],u=[],c=[],h=[];return o.forEach(f=>{s.has(f)?n(i.get(f),a.get(f))?h.push(a.get(f)):u.push(a.get(f)):l.push(a.get(f))}),s.forEach(f=>{o.has(f)||c.push(i.get(f))}),{enter:l,exit:c,keep:h,update:u}}const tc=new WeakMap;function Lo(r,e,t=!1,n){if(e===void 0)return;const i=(a,s=e)=>{const o=(l=s)=>a.childNodes.forEach(u=>i(u,l));if(n&&!n(a))return o();if(!t&&a===r)r.style.visibility=e,tc.delete(r),o(e);else{tc.has(a)||tc.set(a,a.style.visibility);const l=s==="hidden"||dL(a)==="hidden"?"hidden":"visible";a.style.visibility=l,o(l)}};i(r)}function dL(r){return tc.has(r)?tc.get(r):r.style.visibility}function vL(r,e,t){const n={},i=a=>(a in n||(n[a]=0),`${e}-${a}-${n[a]++}`);return t.map(a=>typeof a=="string"?{type:a,key:i(a)}:typeof a=="function"?a.call(r):a.key?a:Object.assign(Object.assign({},a),{key:i(a.type)}))}class Yp{constructor(e){this.extensions=[],this.extensionMap={},this.context=e}setExtensions(e){const t=vL(this.context.graph,this.category,e),{enter:n,update:i,exit:a,keep:s}=Vs(this.extensions,t,o=>o.key);this.createExtensions(n),this.updateExtensions([...i,...s]),this.destroyExtensions(a),this.extensions=t}createExtension(e){const{category:t}=this,{key:n,type:i}=e,a=ys(t,i);if(!a)return wi.warn(`The extension ${i} of ${t} is not registered.`);const s=new a(this.context,e);this.extensionMap[n]=s}createExtensions(e){e.forEach(t=>this.createExtension(t))}updateExtension(e){const{key:t}=e,n=this.extensionMap[t];n&&n.update(e)}updateExtensions(e){e.forEach(t=>this.updateExtension(t))}destroyExtension(e){const t=this.extensionMap[e];t&&(t.destroy(),delete this.extensionMap[e])}destroyExtensions(e){e.forEach(({key:t})=>this.destroyExtension(t))}destroy(){Object.values(this.extensionMap).forEach(e=>e.destroy()),this.context={},this.extensions=[],this.extensionMap={}}}class Up{constructor(e,t){this.events=[],this.destroyed=!1,this.context=e,this.options=t}update(e){this.options=Object.assign(this.options,e)}destroy(){this.context={},this.options={},this.destroyed=!0}}class Ni extends Up{}class xf extends Ni{constructor(e,t){super(e,Object.assign({},xf.defaultOptions,t)),this.isOverlapping=(n,i)=>i.some(a=>n.intersects(a)),this.occupiedBounds=[],this.detectLabelCollision=n=>{const i=this.context.viewport,a={show:[],hide:[]};return this.occupiedBounds=[],n.forEach(s=>{const o=s.getShape("label").getRenderBounds();i.isInViewport(o,!0)&&!this.isOverlapping(o,this.occupiedBounds)?(a.show.push(s),this.occupiedBounds.push(Ws(o,this.options.padding))):a.hide.push(s)}),a},this.hideLabelIfExceedViewport=(n,i)=>{const{exit:a}=Vs(n,i,s=>s.id);a==null||a.forEach(this.hideLabel)},this.nodeCentralities=new Map,this.sortNodesByCentrality=(n,i)=>{const{model:a}=this.context,s=a.getData(),o=a.getRelatedEdgesData.bind(a);return n.map(u=>(this.nodeCentralities.has(u.id)||(this.nodeCentralities=pE(s,o,i)),{node:u,centrality:this.nodeCentralities.get(u.id)})).sort((u,c)=>c.centrality-u.centrality).map(u=>u.node)},this.sortLabelElementsInView=n=>{const{sort:i,sortNode:a,sortCombo:s,sortEdge:o}=this.options,{model:l}=this.context;if(pt(i))return n.sort((g,p)=>i(l.getElementDataById(g.id),l.getElementDataById(p.id)));const{node:u=[],edge:c=[],combo:h=[]}=nf(n,g=>g.type),f=pt(s)?h.sort((g,p)=>s(...l.getComboData([g.id,p.id]))):h,d=pt(a)?u.sort((g,p)=>a(...l.getNodeData([g.id,p.id]))):this.sortNodesByCentrality(u,a),v=pt(o)?c.sort((g,p)=>o(...l.getEdgeData([g.id,p.id]))):c;return[...f,...d,...v]},this.labelElementsInView=[],this.isFirstRender=!0,this.onToggleVisibility=n=>{var i;if(((i=n.data)===null||i===void 0?void 0:i.stage)==="zIndex")return;if(!this.validate(n)){this.hiddenElements.size>0&&(this.hiddenElements.forEach(this.showLabel),this.hiddenElements.clear());return}const a=this.isFirstRender?this.getLabelElements():this.getLabelElementsInView();this.hideLabelIfExceedViewport(this.labelElementsInView,a),this.labelElementsInView=a;const s=this.sortLabelElementsInView(this.labelElementsInView),{show:o,hide:l}=this.detectLabelCollision(s);for(let u=o.length-1;u>=0;u--)this.showLabel(o[u]);l.forEach(this.hideLabel)},this.hiddenElements=new Map,this.hideLabel=n=>{const i=n.getShape("label");i&&Lo(i,"hidden"),this.hiddenElements.set(n.id,n)},this.showLabel=n=>{const i=n.getShape("label");i&&Lo(i,"visible"),n.toFront(),this.hiddenElements.delete(n.id)},this.onTransform=Ax(this.onToggleVisibility,this.options.throttle,{leading:!0}),this.enableToggle=!0,this.toggle=n=>{this.enableToggle&&this.onToggleVisibility(n)},this.onBeforeRender=()=>{this.enableToggle=!1},this.onAfterRender=n=>{this.onToggleVisibility(n),this.enableToggle=!0},this.bindEvents()}update(e){this.unbindEvents(),super.update(e),this.bindEvents(),this.onToggleVisibility({})}getLabelElements(){const{elementMap:e}=this.context.element,t=[];for(const n in e){const i=e[n];i.isVisible()&&i.getShape("label")&&t.push(i)}return t}getLabelElementsInView(){const e=this.context.viewport;return this.getLabelElements().filter(t=>e.isInViewport(t.getShape("key").getRenderBounds()))}bindEvents(){const{graph:e}=this.context;e.on(rt.BEFORE_RENDER,this.onBeforeRender),e.on(rt.AFTER_RENDER,this.onAfterRender),e.on(rt.AFTER_DRAW,this.toggle),e.on(rt.AFTER_LAYOUT,this.toggle),e.on(rt.AFTER_TRANSFORM,this.onTransform)}unbindEvents(){const{graph:e}=this.context;e.off(rt.BEFORE_RENDER,this.onBeforeRender),e.off(rt.AFTER_RENDER,this.onAfterRender),e.off(rt.AFTER_DRAW,this.toggle),e.off(rt.AFTER_LAYOUT,this.toggle),e.off(rt.AFTER_TRANSFORM,this.onTransform)}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return pt(t)?t(e):!!t}destroy(){this.unbindEvents(),super.destroy()}}xf.defaultOptions={enable:!0,throttle:100,padding:0,sortNode:{type:"degree"}};var gL=function(r){if(!Ap(r)||!p1(r,"Object"))return!1;if(Object.getPrototypeOf(r)===null)return!0;for(var e=r;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(r)===e},Il=gL,pL=5;function mL(r,e){if(Object.hasOwn)return Object.hasOwn(r,e);if(r==null)throw new TypeError("Cannot convert undefined or null to object");return Object.prototype.hasOwnProperty.call(Object(r),e)}function yE(r,e,t,n){t=t||0,n=n||pL;for(var i in e)if(mL(e,i)){var a=e[i];a!==null&&Il(a)?(Il(r[i])||(r[i]={}),t<n?yE(r[i],a,t+1,n):r[i]=e[i]):pi(a)?(r[i]=[],r[i]=r[i].concat(a)):a!==void 0&&(r[i]=a)}}var yL=function(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];for(var n=0;n<e.length;n+=1)yE(r,e[n]);return r},ri=yL;const bE=[0,0,0];function jt(r,e){return r.map((t,n)=>t+e[n])}function On(r,e){return r.map((t,n)=>t-e[n])}function xs(r,e){return typeof e=="number"?r.map(t=>t*e):r.map((t,n)=>t*e[n])}function Sa(r,e){return typeof e=="number"?r.map(t=>t/e):r.map((t,n)=>t/e[n])}function bL(r,e){return r.reduce((t,n,i)=>t+n*e[i],0)}function xL(r,e){const t=nc(r),n=nc(e);return[t[1]*n[2]-t[2]*n[1],t[2]*n[0]-t[0]*n[2],t[0]*n[1]-t[1]*n[0]]}function Ys(r,e){return r.map(t=>t*e)}function Bn(r,e){return Math.sqrt(r.reduce((t,n,i)=>t+Math.pow(n-e[i]||0,2),0))}function Ef(r,e){return r.reduce((t,n,i)=>t+Math.abs(n-e[i]),0)}function Es(r){const e=r.reduce((t,n)=>t+Math.pow(n,2),0);return r.map(t=>t/Math.sqrt(e))}function Zp(r,e,t=!1){const n=r[0]*e[1]-r[1]*e[0];let i=Math.acos(xs(r,e).reduce((a,s)=>a+s,0)/(Bn(r,bE)*Bn(e,bE)));return t&&n<0&&(i=2*Math.PI-i),i}function QK(r,e){return r.every((t,n)=>t===e[n])}function wf(r,e=!0){return e?[-r[1],r[0]]:[r[1],-r[0]]}function EL(r,e){return r.map(t=>t%e)}function Do(r){return[r[0],r[1]]}function nc(r){return E_(r)?[r[0],r[1],0]:r}function xE(r){const[e,t]=r;return!e&&!t?0:Math.atan2(t,e)}function EE(r,e){const[t,n]=r,[i,a]=e,s=On(t,n),o=On(i,a);return xL(s,o).every(l=>l===0)}function Kp(r,e,t=!1){if(EE(r,e))return;const[n,i]=r,[a,s]=e,o=((n[0]-a[0])*(a[1]-s[1])-(n[1]-a[1])*(a[0]-s[0]))/((n[0]-i[0])*(a[1]-s[1])-(n[1]-i[1])*(a[0]-s[0])),l=s[0]-a[0]?(n[0]-a[0]+o*(i[0]-n[0]))/(s[0]-a[0]):(n[1]-a[1]+o*(i[1]-n[1]))/(s[1]-a[1]);if(!(!t&&(!Qa(o,0,1)||!Qa(l,0,1))))return[n[0]+o*(i[0]-n[0]),n[1]+o*(i[1]-n[1])]}function wE(r){if(Array.isArray(r))return Qa(r[0],0,1)&&Qa(r[1],0,1)?r:[.5,.5];const e=r.split("-"),t=e.includes("left")?0:e.includes("right")?1:.5,n=e.includes("top")?0:e.includes("bottom")?1:.5;return[t,n]}function Br(r){const{x:e=0,y:t=0,z:n=0}=r.style||{};return[+e,+t,+n]}function wL(r){const{x:e,y:t,z:n}=r.style||{};return e!==void 0||t!==void 0||n!==void 0}function PE(r,e){const[t,n]=e,{min:i,max:a}=r;return[i[0]+t*(a[0]-i[0]),i[1]+n*(a[1]-i[1])]}function ws(r,e="center"){const t=wE(e);return PE(r,t)}function JK(r,e){const t=parseAnchor(e);return PE(r,t)}const qK=r=>{const[e,t]=r;return{left:Math.min(e[0],t[0]),right:Math.max(e[0],t[0]),top:Math.min(e[1],t[1]),bottom:Math.max(e[1],t[1])}};function zr(r){var e;return[r.x,r.y,(e=r.z)!==null&&e!==void 0?e:0]}function Ta(r){var e;return{x:r[0],y:r[1],z:(e=r[2])!==null&&e!==void 0?e:0}}function $K(r){return r.sort((e,t)=>e[0]-t[0]||e[1]-t[1])}function eQ(r){const e=new Set;return r.filter(t=>{const n=t.join(",");return e.has(n)?!1:(e.add(n),!0)})}function rc(r,e=0){return r.map(t=>parseFloat(t.toFixed(e)))}function Us(r,e,t,n=!1){if(dr(r,e))return r;const i=n?On(r,e):On(e,r),a=Es(i),s=[a[0]*t,a[1]*t];return jt(Do(r),s)}function ME(r,e){return r[1]===e[1]}function PL(r,e){return r[0]===e[0]}function ML(r,e){return ME(r,e)||PL(r,e)}function SL(r,e,t){return EE([r,e],[e,t])}function SE(r,e){return[2*e[0]-r[0],2*e[1]-r[1]]}function TE(r,e,t,n=!0,i=!1){for(let a=0;a<t.length;a++){let s=t[a],o=t[(a+1)%t.length];n&&(s=jt(e,s),o=jt(e,o));const l=i?SE(r,e):r,u=Kp([e,l],[s,o]);if(u)return{point:u,line:[s,o]}}return{point:e,line:void 0}}function TL(r,e,t,n){const i=r[0],a=r[1];let s=!1;t===void 0&&(t=0),n===void 0&&(n=e.length);const o=n-t;for(let l=0,u=o-1;l<o;u=l++){const c=e[l+t][0],h=e[l+t][1],f=e[u+t][0],d=e[u+t][1];h>a!=d>a&&i<(f-c)*(a-h)/(d-h)+c&&(s=!s)}return s}function AL(r,e,t=!1){const n=ws(e,"center"),i=[ws(e,"left-top"),ws(e,"right-top"),ws(e,"right-bottom"),ws(e,"left-bottom")];return TE(r,n,i,!1,t).point}function Pf(r,e,t=!1){const n=e.center,i=t?SE(r,n):r,a=On(i,e.center),s=Math.atan2(a[1],a[0]);if(isNaN(s))return n;const o=qa(e)/2,l=$a(e)/2,u=n[0]+o*Math.cos(s),c=n[1]+l*Math.sin(s);return[u,c]}function OL(r,e){let t=1/0,n=[r[0],e[0]];return r.forEach(i=>{e.forEach(a=>{const s=Bn(i,a);s<t&&(t=s,n=[i,a])})}),n}function kL(r,e){let t=1/0,n=[[0,0],[0,0]];return e.forEach(i=>{const a=CL(r,i);a<t&&(t=a,n=i)}),n}function CL(r,e){const t=AE(r,e);return Bn(r,t)}function AE(r,e){const[t,n]=e[0],[i,a]=e[1],[s,o]=r,l=i-t,u=a-n;if(l===0&&u===0)return[t,n];let c=((s-t)*l+(o-n)*u)/(l*l+u*u);c>1?c=1:c<0&&(c=0);const h=t+c*l,f=n+c*u;return[h,f]}function NL(r){const e=r.reduce((t,n)=>jt(t,n),[0,0]);return Sa(e,r.length)}function OE(r,e=!0){const t=NL(r);return r.sort(([n,i],[a,s])=>{const o=Math.atan2(i-t[1],n-t[0]),l=Math.atan2(s-t[1],a-t[0]);return e?l-o:o-l})}function kE(r,e){return[r,[r[0],e[1]],e,[e[0],r[1]]]}const CE=r=>r.map(e=>Xt(e)?e.toLocaleLowerCase():e);class Bl{constructor(e){this.map=new Map,this.recordKey=new Set,this.onKeyDown=t=>{t!=null&&t.key&&(this.recordKey.add(t.key),this.trigger(t))},this.onKeyUp=t=>{t!=null&&t.key&&this.recordKey.delete(t.key)},this.onWheel=t=>{this.triggerExtendKey(We.WHEEL,t)},this.onDrag=t=>{this.triggerExtendKey(We.DRAG,t)},this.onFocus=()=>{this.recordKey.clear()},this.emitter=e,this.bindEvents()}bind(e,t){e.length!==0&&this.map.set(e,t)}unbind(e,t){this.map.forEach((n,i)=>{dr(i,e)&&(!t||t===n)&&this.map.delete(i)})}unbindAll(){this.map.clear()}match(e){const t=CE(Array.from(this.recordKey)).sort(),n=CE(e).sort();return dr(t,n)}bindEvents(){var e;const{emitter:t}=this;t.on(We.KEY_DOWN,this.onKeyDown),t.on(We.KEY_UP,this.onKeyUp),t.on(We.WHEEL,this.onWheel),t.on(We.DRAG,this.onDrag),(e=globalThis.addEventListener)===null||e===void 0||e.call(globalThis,"focus",this.onFocus)}trigger(e){this.map.forEach((t,n)=>{this.match(n)&&t(e)})}triggerExtendKey(e,t){this.map.forEach((n,i)=>{i.includes(e)&&dr(Array.from(this.recordKey),i.filter(a=>a!==e))&&n(t)})}destroy(){var e;this.unbindAll(),this.emitter.off(We.KEY_DOWN,this.onKeyDown),this.emitter.off(We.KEY_UP,this.onKeyUp),this.emitter.off(We.WHEEL,this.onWheel),this.emitter.off(We.DRAG,this.onDrag),(e=globalThis.removeEventListener)===null||e===void 0||e.call(globalThis,"blur",this.onFocus)}}class ic extends Ni{constructor(e,t){super(e,ri({},ic.defaultOptions,t)),this.shortcut=new Bl(e.graph),this.onPointerDown=this.onPointerDown.bind(this),this.onPointerMove=this.onPointerMove.bind(this),this.onPointerUp=this.onPointerUp.bind(this),this.clearStates=this.clearStates.bind(this),this.bindEvents()}onPointerDown(e){if(!this.validate(e)||!this.isKeydown()||this.startPoint)return;const{canvas:t,graph:n}=this.context,i=Object.assign({},this.options.style);this.options.style.lineWidth&&(i.lineWidth=+this.options.style.lineWidth/n.getZoom()),this.rectShape=new wa({id:"g6-brush-select",style:i}),t.appendChild(this.rectShape),this.startPoint=[e.canvas.x,e.canvas.y]}onPointerMove(e){var t;if(!this.startPoint)return;const{immediately:n,mode:i}=this.options;this.endPoint=Mf(e),(t=this.rectShape)===null||t===void 0||t.attr({x:Math.min(this.endPoint[0],this.startPoint[0]),y:Math.min(this.endPoint[1],this.startPoint[1]),width:Math.abs(this.endPoint[0]-this.startPoint[0]),height:Math.abs(this.endPoint[1]-this.startPoint[1])}),n&&i==="default"&&this.updateElementsStates(kE(this.startPoint,this.endPoint))}onPointerUp(e){if(this.startPoint){if(!this.endPoint){this.clearBrush();return}this.endPoint=Mf(e),this.updateElementsStates(kE(this.startPoint,this.endPoint)),this.clearBrush()}}clearStates(){this.endPoint||this.clearElementsStates()}clearElementsStates(){const{graph:e}=this.context,t=Object.values(e.getData()).reduce((n,i)=>Object.assign({},n,i.reduce((a,s)=>(a[Re(s)]=[],a),{})),{});e.setElementState(t,this.options.animation)}updateElementsStates(e){const{graph:t}=this.context,{enableElements:n,state:i,mode:a,onSelect:s}=this.options,o=this.selector(t,e,n);let l={};switch(a){case"union":o.forEach(u=>{l[u]=[...t.getElementState(u),i]});break;case"diff":o.forEach(u=>{const c=t.getElementState(u);l[u]=c.includes(i)?c.filter(h=>h!==i):[...c,i]});break;case"intersect":o.forEach(u=>{const c=t.getElementState(u);l[u]=c.includes(i)?[i]:[]});break;case"default":default:o.forEach(u=>{l[u]=[i]});break}pt(s)&&(l=s(l)),t.setElementState(l,this.options.animation)}selector(e,t,n){if(!n||n.length===0)return[];const i=[],a=e.getData();if(n.forEach(s=>{a[`${s}s`].forEach(o=>{const l=Re(o);e.getElementVisibility(l)!=="hidden"&&TL(e.getElementPosition(l),t)&&i.push(l)})}),n.includes("edge")){const s=a.edges;s==null||s.forEach(o=>{const{source:l,target:u}=o;i.includes(l)&&i.includes(u)&&i.push(Re(o))})}return i}clearBrush(){var e;(e=this.rectShape)===null||e===void 0||e.remove(),this.rectShape=void 0,this.startPoint=void 0,this.endPoint=void 0}isKeydown(){const{trigger:e}=this.options,t=Array.isArray(e)?e:[e];return this.shortcut.match(t.filter(n=>n!=="drag"))}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return pt(t)?t(e):!!t}bindEvents(){const{graph:e}=this.context;e.on(We.POINTER_DOWN,this.onPointerDown),e.on(We.POINTER_MOVE,this.onPointerMove),e.on(We.POINTER_UP,this.onPointerUp),e.on(ms.CLICK,this.clearStates)}unbindEvents(){const{graph:e}=this.context;e.off(We.POINTER_DOWN,this.onPointerDown),e.off(We.POINTER_MOVE,this.onPointerMove),e.off(We.POINTER_UP,this.onPointerUp),e.off(ms.CLICK,this.clearStates)}update(e){this.unbindEvents(),this.options=ri(this.options,e),this.bindEvents()}destroy(){this.unbindEvents(),super.destroy()}}ic.defaultOptions={animation:!1,enable:!0,enableElements:["node","combo","edge"],immediately:!1,mode:"default",state:"selected",trigger:["shift"],style:{width:0,height:0,lineWidth:1,fill:"#1677FF",stroke:"#1677FF",fillOpacity:.1,zIndex:2,pointerEvents:"none"}};const Mf=r=>[r.canvas.x,r.canvas.y],Ps=.8,Io=["node","edge","combo"];function Bo(r,e,t,n,i=0){n==="TB"&&e(r,i);const a=t(r);if(a)for(const s of a)Bo(s,e,t,n,i+1);n==="BT"&&e(r,i)}function _L(r,e,t){const n=[[r,0]];for(;n.length;){const[i,a]=n.shift();e(i,a);const s=t(i);if(s)for(const o of s)n.push([o,a+1])}}function NE(r,e,t,n,i="both"){if(e==="combo"||e==="node")return Qp(r,t,n,i);const a=r.getEdgeData(t);if(!a)return[];const s=Qp(r,a.source,n-1,i),o=Qp(r,a.target,n-1,i);return Array.from(new Set([...s,...o,t]))}function Qp(r,e,t,n="both"){const i=new Set,a=new Set,s=new Set;return _L(e,(o,l)=>{l>t||(s.add(o),r.getRelatedEdgesData(o,n).forEach(u=>{const c=Re(u);!a.has(c)&&l<t&&(s.add(c),a.add(c))}))},o=>r.getRelatedEdgesData(o,n).map(l=>l.source===o?l.target:l.source).filter(l=>i.has(l)?!1:(i.add(l),!0))),Array.from(s)}function Jp(r){return r.states||[]}var Sf=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};class Tf extends Ni{constructor(e,t){super(e,Object.assign({},Tf.defaultOptions,t)),this.onClickSelect=n=>Sf(this,void 0,void 0,function*(){var i,a;this.validate(n)&&(yield this.updateState(n),(a=(i=this.options).onClick)===null||a===void 0||a.call(i,n))}),this.onClickCanvas=n=>Sf(this,void 0,void 0,function*(){var i,a;this.validate(n)&&(yield this.clearState(),(a=(i=this.options).onClick)===null||a===void 0||a.call(i,n))}),this.shortcut=new Bl(e.graph),this.bindEvents()}bindEvents(){const{graph:e}=this.context;this.unbindEvents(),Io.forEach(t=>{e.on(`${t}:${We.CLICK}`,this.onClickSelect)}),e.on(ms.CLICK,this.onClickCanvas)}get isMultipleSelect(){const{multiple:e,trigger:t}=this.options;return e&&this.shortcut.match(t)}getNeighborIds(e){const{target:t,targetType:n}=e,{graph:i}=this.context,{degree:a}=this.options;return NE(i,n,t.id,typeof a=="function"?a(e):a).filter(s=>s!==t.id)}updateState(e){return Sf(this,void 0,void 0,function*(){const{state:t,unselectedState:n,neighborState:i,animation:a}=this.options;if(!t&&!i&&!n)return;const{target:s}=e,{graph:o}=this.context,l=o.getElementData(s.id),u=Jp(l).includes(t)?"unselect":"select",c={},h=this.isMultipleSelect,f=[s.id],d=this.getNeighborIds(e);if(h)if(Object.assign(c,this.getDataStates()),u==="select"){const v=(g,p)=>{g.forEach(m=>{const b=new Set(o.getElementState(m));b.add(p),b.delete(n),c[m]=Array.from(b)})};v(f,t),v(d,i),n&&Object.keys(c).forEach(g=>{const p=c[g];!p.includes(t)&&!p.includes(i)&&!p.includes(n)&&c[g].push(n)})}else{const v=c[s.id];c[s.id]=v.filter(g=>g!==t&&g!==i),v.includes(n)||c[s.id].push(n),d.forEach(g=>{c[g]=c[g].filter(p=>p!==i),c[g].includes(t)||c[g].push(n)})}else if(u==="select"){Object.assign(c,this.getClearStates(!!n));const v=(g,p)=>{g.forEach(m=>{c[m]||(c[m]=o.getElementState(m)),c[m].push(p)})};v(f,t),v(d,i),n&&Object.keys(c).forEach(g=>{!f.includes(g)&&!d.includes(g)&&c[g].push(n)})}else Object.assign(c,this.getClearStates());yield o.setElementState(c,a)})}getDataStates(){const{graph:e}=this.context,{nodes:t,edges:n,combos:i}=e.getData(),a={};return[...t,...n,...i].forEach(s=>{a[Re(s)]=Jp(s)}),a}getClearStates(e=!1){const{graph:t}=this.context,{state:n,unselectedState:i,neighborState:a}=this.options,s=new Set([n,i,a]),{nodes:o,edges:l,combos:u}=t.getData(),c={};return[...o,...l,...u].forEach(h=>{const f=Jp(h),d=f.filter(v=>!s.has(v));(e||d.length!==f.length)&&(c[Re(h)]=d)}),c}clearState(){return Sf(this,void 0,void 0,function*(){const{graph:e}=this.context;yield e.setElementState(this.getClearStates(),this.options.animation)})}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return pt(t)?t(e):!!t}unbindEvents(){const{graph:e}=this.context;Io.forEach(t=>{e.off(`${t}:${We.CLICK}`,this.onClickSelect)}),e.off(ms.CLICK,this.onClickCanvas)}destroy(){this.unbindEvents(),super.destroy()}}Tf.defaultOptions={animation:!0,enable:!0,multiple:!1,trigger:["shift"],state:"selected",neighborState:"selected",unselectedState:void 0,degree:0};function _i(r){var e;return!!(!((e=r.style)===null||e===void 0)&&e.collapsed)}var ii=function(r,e,t){for(var n=0,i=Xt(e)?e.split("."):e;r&&n<i.length;)r=r[i[n++]];return r===void 0||n<i.length?t:r},ac=function(r,e,t){var n=r,i=Xt(e)?e.split("."):e;return i.forEach(function(a,s){s<i.length-1?(nr(n[a])||(n[a]=ht(i[s+1])?[]:{}),n=n[a]):n[a]=t}),r},RL=function(r){var e=xx(r);return e.charAt(0).toLowerCase()+e.substring(1)},LL=RL;function sc(r,e){if(!r.startsWith(e))return!1;const t=r[e.length];return t>="A"&&t<="Z"}function _E(r,e){return`${e}${ef(r)}`}function RE(r,e,t=!0){if(!e||!sc(r,e))return r;const n=r.slice(e.length);return t?LL(n):n}function br(r,e){const t=Object.entries(r).reduce((n,[i,a])=>(i==="className"||i==="class"||sc(i,e)&&Object.assign(n,{[RE(i,e)]:a}),n),{});if("opacity"in r){const n=_E("opacity",e),i=r.opacity;if(n in r){const a=r[n];Object.assign(t,{opacity:i*a})}else Object.assign(t,{opacity:i})}return t}function qp(r,e){const t=e.length;return Object.keys(r).reduce((n,i)=>{if(i.startsWith(e)){const a=i.slice(t);n[a]=r[i]}return n},{})}function $p(r,e){const t=typeof e=="string"?[e]:e,n={};return Object.keys(r).forEach(i=>{t.find(a=>i.startsWith(a))||(n[i]=r[i])}),n}function tQ(r,e,t){return Object.entries(r).reduce((n,[i,a])=>(sc(i,e)?n[_E(RE(i,e,!1),t)]=a:n[i]=a,n),{})}function ra(r=0){if(typeof r=="number")return[r,r,r];const[e,t=e,n=e]=r;return[e,t,n]}var DL=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};function LE(r,e){const{datum:t,graph:n}=e;return typeof r=="function"?r.call(n,t):Object.fromEntries(Object.entries(r).map(([i,a])=>typeof a=="function"?[i,a.call(n,t)]:[i,a]))}function Tr(r,e){const t=(r==null?void 0:r.style)||{},n=(e==null?void 0:e.style)||{};return Object.assign({},r,e,{style:r!=null&&r.style?Object.assign({},t,n):n})}function IL(r){const{x:e,y:t,z:n,class:i,className:a,transform:s,transformOrigin:o,zIndex:l,visibility:u}=r;return DL(r,["x","y","z","class","className","transform","transformOrigin","zIndex","visibility"])}const e0=new WeakMap;function Aa(r,e,t){e0.has(r)||e0.set(r,{});const n=e0.get(r);if(!n[e])return n[e]=t,!0;const i=n[e];return DE(i,t)?!1:(n[e]=t,!0)}const DE=(r,e,t=2)=>{if(typeof r!="object"||typeof e!="object")return r===e;const n=Object.keys(r),i=Object.keys(e);if(n.length!==i.length)return!1;for(const a of n){const s=r[a],o=e[a];if(t>1&&typeof s=="object"&&typeof o=="object"){if(!DE(s,o,t-1))return!1}else if(s!==o)return!1}return!0};function BL(r,e){const t=ra(r);let n={};return e.text&&!e.fontSize&&(n={fontSize:Math.min(...t)*.5}),e.src&&(!e.width||!e.height)&&(n={width:t[0]*.5,height:t[1]*.5}),n}function IE(r){if(r)return typeof r=="string"||typeof r=="function"||Array.isArray(r)?{type:"group",field:e=>e.id,color:r,invert:!1}:r}function zL(r,e){if(!e)return{};const{type:t,color:n,field:i,invert:a}=e,s=l=>{const u=typeof n=="string"?ys("palette",n):n;if(typeof u=="function"){const c={};return l.forEach(([h,f])=>{c[h]=u(a?1-f:f)}),c}else if(Array.isArray(u)){const c=a?[...u].reverse():u,h={};return l.forEach(([f,d])=>{h[f]=c[d%u.length]}),h}return{}},o=(l,u)=>{var c;return typeof l=="string"?(c=u.data)===null||c===void 0?void 0:c[l]:l==null?void 0:l(u)};if(t==="group"){const l=nf(r,f=>{if(!i)return"default";const d=o(i,f);return d?String(d):"default"}),u=Object.keys(l),c=s(u.map((f,d)=>[f,d])),h={};return Object.entries(l).forEach(([f,d])=>{d.forEach(v=>{h[Re(v)]=c[f]})}),h}else if(t==="value"){const[l,u]=r.reduce(([h,f],d)=>{const v=o(i,d);if(typeof v!="number")throw new Error(bs(`Palette field ${i} is not a number`));return[Math.min(h,v),Math.max(f,v)]},[1/0,-1/0]),c=u-l;return s(r.map(h=>[h.id,(o(i,h)-l)/c]))}}function BE(r){const e=typeof r=="string"?ys("palette",r):r;if(typeof e!="function")return e}function zE(r,e){let t=2*r;return typeof e=="string"?t=r*Number(e.replace("%",""))/100:typeof e=="number"&&(t=e),isNaN(t)&&(t=2*r),t}function FE(r,e,t=1,n=!1){const i=n?t:1,a=(r.max[0]-r.min[0])*i;return zE(a,e)}function FL(r,e,t=1){const n=Bn(r[0],r[1])*t;return zE(n,e)}var jL={}.toString,GL=function(r){return jL.call(r).replace(/^\[object /,"").replace(/]$/,"")},HL=GL,XL=Object.prototype,WL=function(r){var e=r&&r.constructor,t=typeof e=="function"&&e.prototype||XL;return r===t},VL=WL,YL=Object.prototype.hasOwnProperty;function UL(r){if(vt(r))return!0;if(Zu(r))return!r.length;var e=HL(r);if(e==="Map"||e==="Set")return!r.size;if(VL(r))return!Object.keys(r).length;for(var t in r)if(YL.call(r,t))return!1;return!0}var ts=UL;class oc extends YN{constructor(e){super(e),this.shapeMap={},this.animateMap={},this.transformPosition(this.attributes),this.render(this.attributes,this),this.setVisibility(),this.bindEvents()}get parsedAttributes(){return this.attributes}upsert(e,t,n,i,a){var s,o,l,u,c,h,f,d;const v=this.shapeMap[e];if(n===!1){v&&((s=a==null?void 0:a.beforeDestroy)===null||s===void 0||s.call(a,v),i.removeChild(v),delete this.shapeMap[e],(o=a==null?void 0:a.afterDestroy)===null||o===void 0||o.call(a,v));return}const g=typeof t=="string"?ys(Ku.SHAPE,t):t;if(!g)throw new Error(bs(`Shape ${t} not found`));if(!v||v.destroyed||!(v instanceof g)){v&&((l=a==null?void 0:a.beforeDestroy)===null||l===void 0||l.call(a,v),v==null||v.destroy(),(u=a==null?void 0:a.afterDestroy)===null||u===void 0||u.call(a,v)),(c=a==null?void 0:a.beforeCreate)===null||c===void 0||c.call(a);const p=new g({className:e,style:n});return i.appendChild(p),this.shapeMap[e]=p,(h=a==null?void 0:a.afterCreate)===null||h===void 0||h.call(a,p),p}return(f=a==null?void 0:a.beforeUpdate)===null||f===void 0||f.call(a,v),k0(v,n),(d=a==null?void 0:a.afterUpdate)===null||d===void 0||d.call(a,v),v}transformPosition(e){if("x"in e||"y"in e||"z"in e){const{x:t=0,y:n=0,z:i=0,transform:a}=e,s=Px(+t,+n,+i,a);s&&(this.style.transform=s)}}update(e={}){const t=Object.assign({},this.attributes,e);this.attr(t),this.render(t,this),this.transformPosition(t),this.setVisibility()}bindEvents(){}getGraphicStyle(e){return IL(e)}get compositeShapes(){return[["badges","badge-"],["ports","port-"]]}animate(e,t){if(e.length===0)return null;const n=[];if(e[0].x!==void 0||e[0].y!==void 0||e[0].z!==void 0){const{x:a=0,y:s=0,z:o=0}=this.attributes;e.forEach(l=>{const{x:u=a,y:c=s,z:h=o}=l;Object.assign(l,{transform:h?[["translate3d",u,c,h]]:[["translate",u,c]]})})}const i=super.animate(e,t);if(i&&(t0(this,i),n.push(i)),Array.isArray(e)&&e.length>0){const a=["transform","transformOrigin","x","y","z","zIndex"];if(Object.keys(e[0]).some(s=>!a.includes(s))){Object.entries(this.shapeMap).forEach(([o,l])=>{const u=`get${ef(o)}Style`,c=this[u];if(pt(c)){const h=e.map(d=>c.call(this,Object.assign(Object.assign({},this.attributes),d))),f=l.animate(Np(h),t);f&&(t0(l,f),n.push(f))}});const s=(o,l)=>{if(!ts(o)){const u=`get${ef(l)}Style`,c=this[u];if(pt(c)){const h=e.map(f=>c.call(this,Object.assign(Object.assign({},this.attributes),f)));Object.entries(h[0]).map(([f])=>{const d=h.map(g=>g[f]),v=o[f];if(v){const g=v.animate(Np(d),t);g&&(t0(v,g),n.push(g))}})}}};this.compositeShapes.forEach(([o,l])=>{const u=qp(this.shapeMap,l);s(u,o)})}}return Cp(n)}getShape(e){return this.shapeMap[e]}setVisibility(){const{visibility:e}=this.attributes;Lo(this,e,!0)}destroy(){this.shapeMap={},this.animateMap={},super.destroy()}}function t0(r,e){e==null||e.finished.then(()=>{const t=r.activeAnimations.findIndex(n=>n===e);t>-1&&r.activeAnimations.splice(t,1)})}var ZL=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class Zs extends oc{constructor(e){super(Tr({style:Zs.defaultStyleProps},e))}isTextStyle(e){return sc(e,"label")}isBackgroundStyle(e){return sc(e,"background")}getTextStyle(e){const t=this.getGraphicStyle(e),{padding:n}=t,i=ZL(t,["padding"]);return $p(i,"background")}getBackgroundStyle(e){if(e.background===!1)return!1;const t=this.getGraphicStyle(e),{wordWrap:n,wordWrapWidth:i,padding:a}=t,s=br(t,"background"),{min:[o,l],center:[u,c],halfExtents:[h,f]}=this.shapeMap.text.getGeometryBounds(),[d,v,g,p]=Ja(a),m=h*2+p+v,{width:b,height:x}=s;b&&x?Object.assign(s,{x:u-Number(b)/2,y:c-Number(x)/2}):Object.assign(s,{x:o-p,y:l-d,width:n?Math.min(m,i+p+v):m,height:f*2+d+g});const{radius:O}=s;if(typeof O=="string"&&O.endsWith("%")){const T=Number(O.replace("%",""))/100;s.radius=Math.min(+s.width,+s.height)*T}return s}render(e=this.parsedAttributes,t=this){this.upsert("text",Nl,this.getTextStyle(e),t),this.upsert("background",wa,this.getBackgroundStyle(e),t)}getGeometryBounds(){return(this.getShape("background")||this.getShape("text")).getGeometryBounds()}}Zs.defaultStyleProps={padding:0,fontSize:12,fontFamily:"system-ui, sans-serif",wordWrap:!0,maxLines:1,wordWrapWidth:128,textOverflow:"...",textBaseline:"middle",backgroundOpacity:.75,backgroundZIndex:-1,backgroundLineWidth:0};class zl extends oc{constructor(e){super(Tr({style:zl.defaultStyleProps},e))}getBadgeStyle(e){return this.getGraphicStyle(e)}render(e=this.parsedAttributes,t=this){this.upsert("label",Zs,this.getBadgeStyle(e),t)}getGeometryBounds(){const e=this.getShape("label");return(e.getShape("background")||e.getShape("text")).getGeometryBounds()}}zl.defaultStyleProps={padding:[2,4,2,4],fontSize:10,wordWrap:!1,backgroundRadius:"50%",backgroundOpacity:1};function KL(r,e=!0){const t=[];return r.forEach((n,i)=>{t.push([i===0?"M":"L",...n])}),e&&t.push(["Z"]),t}const jE={M:["x","y"],m:["dx","dy"],H:["x"],h:["dx"],V:["y"],v:["dy"],L:["x","y"],l:["dx","dy"],Z:[],z:[],C:["x1","y1","x2","y2","x","y"],c:["dx1","dy1","dx2","dy2","dx","dy"],S:["x2","y2","x","y"],s:["dx2","dy2","dx","dy"],Q:["x1","y1","x","y"],q:["dx1","dy1","dx","dy"],T:["x","y"],t:["dx","dy"],A:["rx","ry","rotation","large-arc","sweep","x","y"],a:["rx","ry","rotation","large-arc","sweep","dx","dy"]};function QL(r){const e=r.replace(/[\n\r]/g,"").replace(/-/g," -").replace(/(\d*\.)(\d+)(?=\.)/g,"$1$2 ").trim().split(/\s*,|\s+/),t=[];let n="",i={};for(;e.length>0;){let a=e.shift();a in jE?n=a:e.unshift(a),i={type:n},jE[n].forEach(l=>{a=e.shift(),i[l]=a}),n==="M"?n="L":n==="m"&&(n="l");const[s,...o]=Object.values(i);t.push([s,...o.map(Number)])}return t}function JL(r){const e=[];return(typeof r=="string"?QL(r):r).forEach(n=>{const i=n[0];if(i==="Z"){e.push(e[0]);return}if(i!=="A")for(let a=1;a<n.length;a=a+2)e.push([n[a],n[a+1],0]);else{const a=n.length;e.push([n[a-2],n[a-1],0])}}),e}const GE=r=>{if(r.length<2)return[["M",0,0],["L",0,0]];const e=r[0],t=r[1],n=r[r.length-1],i=r[r.length-2];r.unshift(i,n),r.push(e,t);const a=[["M",n[0],n[1]]];for(let s=1;s<r.length-2;s+=1){const[o,l]=r[s-1],[u,c]=r[s],[h,f]=r[s+1],[d,v]=s!==r.length-2?r[s+2]:[h,f],g=u+(h-o)/6,p=c+(f-l)/6,m=h-(d-u)/6,b=f-(v-c)/6;a.push(["C",g,p,m,b,h,f])}return a};function qL(r,e,t,n,i,a,s){const[o,l]=ws(r,e),u={textAlign:e==="left"?"right":e==="right"?"left":"center",textBaseline:e==="top"?"bottom":e==="bottom"?"top":"middle",transform:[["translate",o+t,l+n]]};if(e==="center"||!i)return u;const c=JL(a);if(!c||c.length<=3)return u;const h=c.map((v,g)=>{const p=v,m=c[(g+1)%c.length];return dr(p,m)?null:[p,m]}).filter(Boolean),f=kL([o,l],h),d=AE([o,l],f);if(d&&f&&(u.transform=[["translate",d[0]+t,d[1]+n]],s)){const v=Math.atan((f[0][1]-f[1][1])/(f[0][0]-f[1][0]));u.transform.push(["rotate",v/Math.PI*180]),u.textAlign="center",(e==="right"||e==="left")&&(v>0?u.textBaseline=e==="right"?"bottom":"top":u.textBaseline=e==="right"?"top":"bottom")}return u}var $L=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class lc extends oc{constructor(e){super(Tr({style:lc.defaultStyleProps},e))}getLabelStyle(e){if(!e.label||!e.d||e.d.length===0)return!1;const t=br(this.getGraphicStyle(e),"label"),{maxWidth:n,offsetX:i,offsetY:a,autoRotate:s,placement:o,closeToPath:l}=t,u=$L(t,["maxWidth","offsetX","offsetY","autoRotate","placement","closeToPath"]),c=this.shapeMap.key,h=c==null?void 0:c.getRenderBounds();return Object.assign(qL(h,o,i,a,l,e.d,s),{wordWrapWidth:FE(h,n)},u)}getKeyStyle(e){return this.getGraphicStyle(e)}render(e,t){this.upsert("key",gs,this.getKeyStyle(e),t),this.upsert("label",Zs,this.getLabelStyle(e),t)}}lc.defaultStyleProps={label:!0,labelPlacement:"bottom",labelCloseToPath:!0,labelAutoRotate:!0,labelOffsetX:0,labelOffsetY:0};function eD(r){const e=[],t=n=>{n!=null&&n.children.length&&n.children.forEach(i=>{e.push(i),t(i)})};return t(r),e}function tD(r){const e=[];let t=r.parentNode;for(;t;)e.push(t),t=t.parentNode;return e}class n0 extends Dh{constructor(e){super(e),this.onMounted=()=>{this.handleRadius()},this.onAttrModified=()=>{this.handleRadius()},Fl=this,this.isMutationObserved=!0,this.addEventListener(Qt.MOUNTED,this.onMounted),this.addEventListener(Qt.ATTR_MODIFIED,this.onAttrModified)}handleRadius(){const{radius:e,clipPath:t,width:n=0,height:i=0}=this.attributes;if(e&&n&&i){const[a,s]=this.getBounds().min,o={x:a,y:s,radius:e,width:n,height:i};if(t)Object.assign(this.parsedStyle.clipPath.style,o);else{const l=new wa({style:o});this.style.clipPath=l}}else t&&(this.style.clipPath=null)}}const r0=new WeakMap;let Fl=null;const i0=r=>{if(Fl&&tD(Fl).includes(r)){const e=r0.get(r);e?e.includes(Fl)||e.push(Fl):r0.set(r,[Fl])}},a0=r=>{const e=r0.get(r);e&&e.forEach(t=>t.handleRadius())};class HE extends oc{constructor(e){super(e)}isImage(){const{src:e}=this.attributes;return!!e}getIconStyle(e=this.attributes){const{width:t=0,height:n=0}=e,i=this.getGraphicStyle(e);return this.isImage()?Object.assign({x:-t/2,y:-n/2},i):Object.assign({textBaseline:"middle",textAlign:"center"},i)}render(e=this.attributes,t=this){this.upsert("icon",this.isImage()?n0:Nl,this.getIconStyle(e),t)}}class XE extends oc{get context(){return this.config.context}get parsedAttributes(){return this.attributes}onframe(){}animate(e,t){const n=super.animate(e,t);return n&&(n.onframe=()=>this.onframe(),n.finished.then(()=>this.onframe())),n}}var Af=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class Oa extends XE{constructor(e){super(Tr({style:Oa.defaultStyleProps},e)),this.type="node"}getSize(e=this.attributes){const{size:t}=e;return ra(t)}getKeyStyle(e){const t=this.getGraphicStyle(e);return Object.assign($p(t,["label","halo","icon","badge","port"]))}getLabelStyle(e){if(e.label===!1||!e.labelText)return!1;const t=br(this.getGraphicStyle(e),"label"),{placement:n,maxWidth:i,offsetX:a,offsetY:s}=t,o=Af(t,["placement","maxWidth","offsetX","offsetY"]),l=this.getShape("key").getLocalBounds();return Object.assign(Qw(l,n,a,s),{wordWrapWidth:FE(l,i)},o)}getHaloStyle(e){if(e.halo===!1)return!1;const t=this.getKeyStyle(e),{fill:n}=t,i=Af(t,["fill"]),a=br(this.getGraphicStyle(e),"halo");return Object.assign(Object.assign(Object.assign({},i),{stroke:n}),a)}getIconStyle(e){if(e.icon===!1||!e.iconText&&!e.iconSrc)return!1;const t=br(this.getGraphicStyle(e),"icon");return Object.assign(BL(e.size,t),t)}getBadgesStyle(e){var t;const n=qp(this.shapeMap,"badge-"),i={};if(Object.keys(n).forEach(h=>{i[h]=!1}),e.badge===!1||!(!((t=e.badges)===null||t===void 0)&&t.length))return i;const{badges:a=[],badgePalette:s,opacity:o=1}=e,l=Af(e,["badges","badgePalette","opacity"]),u=BE(s),c=br(this.getGraphicStyle(l),"badge");return a.forEach((h,f)=>{i[f]=Object.assign(Object.assign({backgroundFill:u?u[f%(u==null?void 0:u.length)]:void 0,opacity:o},c),this.getBadgeStyle(h))}),i}getBadgeStyle(e){const t=this.getShape("key"),{placement:n="top",offsetX:i,offsetY:a}=e,s=Af(e,["placement","offsetX","offsetY"]),o=Qw(t.getLocalBounds(),n,i,a,!0);return Object.assign(Object.assign({},o),s)}getPortsStyle(e){var t;const n=this.getPorts(),i={};if(Object.keys(n).forEach(o=>{i[o]=!1}),e.port===!1||!(!((t=e.ports)===null||t===void 0)&&t.length))return i;const a=br(this.getGraphicStyle(e),"port"),{ports:s=[]}=e;return s.forEach((o,l)=>{const u=o.key||l,c=Object.assign(Object.assign({},a),o);if(Uw(c))i[u]=!1;else{const[h,f]=this.getPortXY(e,o);i[u]=Object.assign({transform:[["translate",h,f]]},c)}}),i}getPortXY(e,t){const{placement:n="left"}=t,i=this.getShape("key");return T0(nD(this.context,i),n)}getPorts(){return qp(this.shapeMap,"port-")}getCenter(){return this.getShape("key").getBounds().center}getIntersectPoint(e,t=!1){const n=this.getShape("key").getBounds();return AL(e,n,t)}drawHaloShape(e,t){const n=this.getHaloStyle(e);if(!Aa(this,"halo",n))return;const i=this.getShape("key");this.upsert("halo",i.constructor,n,t)}drawIconShape(e,t){const n=this.getIconStyle(e);Aa(this,"icon",n)&&(this.upsert("icon",HE,n,t),i0(this))}drawBadgeShapes(e,t){const n=this.getBadgesStyle(e);Object.keys(n).forEach(i=>{const a=n[i];Aa(this,`badge-${i}`,a)&&this.upsert(`badge-${i}`,zl,a,t)})}drawPortShapes(e,t){const n=this.getPortsStyle(e);Object.keys(n).forEach(i=>{const a=n[i],s=`port-${i}`;Aa(this,s,a)&&this.upsert(s,Ol,a,t)})}drawLabelShape(e,t){const n=this.getLabelStyle(e);Aa(this,"label",n)&&this.upsert("label",Zs,n,t)}_drawKeyShape(e,t){return this.drawKeyShape(e,t)}render(e=this.parsedAttributes,t=this){this._drawKeyShape(e,t),this.getShape("key")&&(this.drawHaloShape(e,t),this.drawIconShape(e,t),this.drawBadgeShapes(e,t),this.drawLabelShape(e,t),this.drawPortShapes(e,t))}update(e){super.update(e),e&&("x"in e||"y"in e||"z"in e)&&a0(this)}onframe(){this.drawBadgeShapes(this.parsedAttributes,this),this.drawLabelShape(this.parsedAttributes,this)}}Oa.defaultStyleProps={x:0,y:0,size:32,droppable:!0,draggable:!0,port:!0,ports:[],portZIndex:2,portLinkToCenter:!1,badge:!0,badges:[],badgeZIndex:3,halo:!1,haloDroppable:!1,haloLineDash:0,haloLineWidth:12,haloStrokeOpacity:.25,haloPointerEvents:"none",haloZIndex:-1,icon:!0,iconZIndex:1,label:!0,labelIsBillboard:!0,labelMaxWidth:"200%",labelPlacement:"bottom",labelWordWrap:!1,labelZIndex:0};function nD(r,e){if(!r)return e.getLocalBounds();const t=r.canvas.getLayer(),n=e.cloneNode();Lo(n,"hidden"),t.appendChild(n);const i=n.getLocalBounds();return n.destroy(),i}class zo extends Oa{constructor(e){super(Tr({style:zo.defaultStyleProps},e))}drawKeyShape(e,t){return this.upsert("key",Ol,this.getKeyStyle(e),t)}getKeyStyle(e){const t=super.getKeyStyle(e);return Object.assign(Object.assign({},t),{r:Math.min(...this.getSize(e))/2})}getIconStyle(e){const t=super.getIconStyle(e),{r:n}=this.getShape("key").attributes,i=n*2*Ps;return t?Object.assign({width:i,height:i},t):!1}getIntersectPoint(e,t=!1){const n=this.getShape("key").getBounds();return Pf(e,n,t)}}zo.defaultStyleProps={size:32};class Of extends Oa{constructor(e){super(e)}get parsedAttributes(){return this.attributes}drawKeyShape(e,t){return this.upsert("key",Cl,this.getKeyStyle(e),t)}getKeyStyle(e){const t=super.getKeyStyle(e);return Object.assign(Object.assign({},t),{points:this.getPoints(e)})}getIntersectPoint(e,t=!1){var n,i;const{points:a}=this.getShape("key").attributes,s=[+(((n=this.attributes)===null||n===void 0?void 0:n.x)||0),+(((i=this.attributes)===null||i===void 0?void 0:i.y)||0)];return TE(e,s,a,!0,t).point}}class rD extends Of{constructor(e){super(e)}getPoints(e){const[t,n]=this.getSize(e);return L6(t,n)}}var iD=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class kf extends zo{constructor(e){super(Tr({style:kf.defaultStyleProps},e))}parseOuterR(){const{size:e}=this.parsedAttributes;return Math.min(...ra(e))/2}parseInnerR(){const{innerR:e}=this.parsedAttributes;return Xt(e)?parseInt(e)/100*this.parseOuterR():e}drawDonutShape(e,t){const{donuts:n}=e;if(!(n!=null&&n.length))return;const i=n.map(h=>ht(h)?{value:h}:h),a=br(this.getGraphicStyle(e),"donut"),s=BE(e.donutPalette);if(!s)return;const o=i.reduce((h,f)=>{var d;return h+((d=f.value)!==null&&d!==void 0?d:0)},0),l=this.parseOuterR(),u=this.parseInnerR();let c=0;i.forEach((h,f)=>{const{value:d=0,color:v=s[f%s.length]}=h,g=iD(h,["value","color"]),p=(o===0?1/i.length:d/o)*360;this.upsert(`round${f}`,gs,Object.assign(Object.assign(Object.assign({},a),{d:oD(l,u,c,c+p),fill:v}),g),t),c+=p})}render(e,t=this){super.render(e,t),this.drawDonutShape(e,t)}}kf.defaultStyleProps={innerR:"50%",donuts:[],donutPalette:"tableau"};const Cf=(r,e,t,n)=>[r+Math.sin(n)*t,e-Math.cos(n)*t],aD=(r,e,t,n)=>n<=0||t<=n?[["M",r-t,e],["A",t,t,0,1,1,r+t,e],["A",t,t,0,1,1,r-t,e],["Z"]]:[["M",r-t,e],["A",t,t,0,1,1,r+t,e],["A",t,t,0,1,1,r-t,e],["Z"],["M",r+n,e],["A",n,n,0,1,0,r-n,e],["A",n,n,0,1,0,r+n,e],["Z"]],sD=(r,e,t,n,i,a)=>{const[s,o]=[i/360*2*Math.PI,a/360*2*Math.PI],l=[Cf(r,e,n,s),Cf(r,e,t,s),Cf(r,e,t,o),Cf(r,e,n,o)],u=o-s>Math.PI?1:0;return[["M",l[0][0],l[0][1]],["L",l[1][0],l[1][1]],["A",t,t,0,u,1,l[2][0],l[2][1]],["L",l[3][0],l[3][1]],["A",n,n,0,u,0,l[0][0],l[0][1]],["Z"]]},oD=(r=0,e=0,t,n)=>{const[i,a]=[0,0];return Math.abs(t-n)%360<1e-6?aD(i,a,r,e):sD(i,a,r,e,t,n)};class Nf extends Oa{constructor(e){super(Tr({style:Nf.defaultStyleProps},e))}drawKeyShape(e,t){return this.upsert("key",Rh,this.getKeyStyle(e),t)}getKeyStyle(e){const t=super.getKeyStyle(e),[n,i]=this.getSize(e);return Object.assign(Object.assign({},t),{rx:n/2,ry:i/2})}getIconStyle(e){const t=super.getIconStyle(e),{rx:n,ry:i}=this.getShape("key").attributes,a=Math.min(+n,+i)*2*Ps;return t?Object.assign({width:a,height:a},t):!1}getIntersectPoint(e,t=!1){const n=this.getShape("key").getBounds();return Pf(e,n,t)}}Nf.defaultStyleProps={size:[45,35]};class lD extends Of{constructor(e){super(e)}getOuterR(e){return e.outerR||Math.min(...this.getSize(e))/2}getPoints(e){return I6(this.getOuterR(e))}getIconStyle(e){const t=super.getIconStyle(e),n=this.getOuterR(e)*Ps;return t?Object.assign({width:n,height:n},t):!1}}function jl(r){"@babel/helpers - typeof";return jl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},jl(r)}function uD(r,e){if(jl(r)!="object"||!r)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(jl(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function WE(r){var e=uD(r,"string");return jl(e)=="symbol"?e:e+""}function Ri(r,e,t){return(e=WE(e))in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function cD(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}function VE(r,e){for(var t=0;t<e.length;t++){var n=e[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(r,WE(n.key),n)}}function hD(r,e,t){return e&&VE(r.prototype,e),t&&VE(r,t),Object.defineProperty(r,"prototype",{writable:!1}),r}function _f(r){return _f=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},_f(r)}function YE(){try{var r=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(YE=function(){return!!r})()}function fD(r){if(r===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}function dD(r,e){if(e&&(jl(e)=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return fD(r)}function vD(r,e,t){return e=_f(e),dD(r,YE()?Reflect.construct(e,t||[],_f(r).constructor):e.apply(r,t))}function s0(r,e){return s0=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,n){return t.__proto__=n,t},s0(r,e)}function gD(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),Object.defineProperty(r,"prototype",{writable:!1}),e&&s0(r,e)}function pD(r){if(Array.isArray(r))return r}function mD(r,e){var t=r==null?null:typeof Symbol!="undefined"&&r[Symbol.iterator]||r["@@iterator"];if(t!=null){var n,i,a,s,o=[],l=!0,u=!1;try{if(a=(t=t.call(r)).next,e===0){if(Object(t)!==t)return;l=!1}else for(;!(l=(n=a.call(t)).done)&&(o.push(n.value),o.length!==e);l=!0);}catch(c){u=!0,i=c}finally{try{if(!l&&t.return!=null&&(s=t.return(),Object(s)!==s))return}finally{if(u)throw i}}return o}}function UE(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,n=Array(e);t<e;t++)n[t]=r[t];return n}function yD(r,e){if(r){if(typeof r=="string")return UE(r,e);var t={}.toString.call(r).slice(8,-1);return t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set"?Array.from(r):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?UE(r,e):void 0}}function bD(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function uc(r,e){return pD(r)||mD(r,e)||yD(r,e)||bD()}function xD(r,e){var t=e.cx,n=t===void 0?0:t,i=e.cy,a=i===void 0?0:i,s=e.r;r.arc(n,a,s,0,Math.PI*2,!1)}function ED(r,e){var t=e.cx,n=t===void 0?0:t,i=e.cy,a=i===void 0?0:i,s=e.rx,o=e.ry;if(r.ellipse)r.ellipse(n,a,s,o,0,0,Math.PI*2,!1);else{var l=s>o?s:o,u=s>o?1:s/o,c=s>o?o/s:1;r.save(),r.scale(u,c),r.arc(n,a,l,0,Math.PI*2)}}function wD(r,e){var t=e.x1,n=e.y1,i=e.x2,a=e.y2,s=e.markerStart,o=e.markerEnd,l=e.markerStartOffset,u=e.markerEndOffset,c=0,h=0,f=0,d=0,v=0,g,p;s&&ln(s)&&l&&(g=i-t,p=a-n,v=Math.atan2(p,g),c=Math.cos(v)*(l||0),h=Math.sin(v)*(l||0)),o&&ln(o)&&u&&(g=t-i,p=n-a,v=Math.atan2(p,g),f=Math.cos(v)*(u||0),d=Math.sin(v)*(u||0)),r.moveTo(t+c,n+h),r.lineTo(i+f,a+d)}function PD(r,e){var t=e.markerStart,n=e.markerEnd,i=e.markerStartOffset,a=e.markerEndOffset,s=e.d,o=s.absolutePath,l=s.segments,u=0,c=0,h=0,f=0,d=0,v,g;if(t&&ln(t)&&i){var p=t.parentNode.getStartTangent(),m=uc(p,2),b=m[0],x=m[1];v=b[0]-x[0],g=b[1]-x[1],d=Math.atan2(g,v),u=Math.cos(d)*(i||0),c=Math.sin(d)*(i||0)}if(n&&ln(n)&&a){var O=n.parentNode.getEndTangent(),T=uc(O,2),S=T[0],k=T[1];v=S[0]-k[0],g=S[1]-k[1],d=Math.atan2(g,v),h=Math.cos(d)*(a||0),f=Math.sin(d)*(a||0)}for(var C=0;C<o.length;C++){var W=o[C],U=W[0],J=o[C+1],te=C===0&&(u!==0||c!==0),ie=(C===o.length-1||J&&(J[0]==="M"||J[0]==="Z"))&&h!==0&&f!==0,ae=te?[u,c]:[0,0],ve=uc(ae,2),Z=ve[0],H=ve[1],X=ie?[h,f]:[0,0],q=uc(X,2),oe=q[0],de=q[1];switch(U){case"M":r.moveTo(W[1]+Z,W[2]+H);break;case"L":r.lineTo(W[1]+oe,W[2]+de);break;case"Q":r.quadraticCurveTo(W[1],W[2],W[3]+oe,W[4]+de);break;case"C":r.bezierCurveTo(W[1],W[2],W[3],W[4],W[5]+oe,W[6]+de);break;case"A":{var Oe=l[C].arcParams,Be=Oe.cx,Ge=Oe.cy,Ve=Oe.rx,qe=Oe.ry,lt=Oe.startAngle,Ct=Oe.endAngle,Vt=Oe.xRotation,qt=Oe.sweepFlag;if(r.ellipse)r.ellipse(Be,Ge,Ve,qe,Vt,lt,Ct,!!(1-qt));else{var Nr=Ve>qe?Ve:qe,un=Ve>qe?1:Ve/qe,ui=Ve>qe?qe/Ve:1;r.translate(Be,Ge),r.rotate(Vt),r.scale(un,ui),r.arc(0,0,Nr,lt,Ct,!!(1-qt)),r.scale(1/un,1/ui),r.rotate(-Vt),r.translate(-Be,-Ge)}ie&&r.lineTo(W[6]+h,W[7]+f);break}case"Z":r.closePath();break}}}function MD(r,e){var t=e.markerStart,n=e.markerEnd,i=e.markerStartOffset,a=e.markerEndOffset,s=e.points.points,o=s.length,l=s[0][0],u=s[0][1],c=s[o-1][0],h=s[o-1][1],f=0,d=0,v=0,g=0,p=0,m,b;t&&ln(t)&&i&&(m=s[1][0]-s[0][0],b=s[1][1]-s[0][1],p=Math.atan2(b,m),f=Math.cos(p)*(i||0),d=Math.sin(p)*(i||0)),n&&ln(n)&&a&&(m=s[o-1][0]-s[0][0],b=s[o-1][1]-s[0][1],p=Math.atan2(b,m),v=Math.cos(p)*(a||0),g=Math.sin(p)*(a||0)),r.moveTo(l+(f||v),u+(d||g));for(var x=1;x<o-1;x++){var O=s[x];r.lineTo(O[0],O[1])}r.lineTo(c,h)}function SD(r,e){var t=e.markerStart,n=e.markerEnd,i=e.markerStartOffset,a=e.markerEndOffset,s=e.points.points,o=s.length,l=s[0][0],u=s[0][1],c=s[o-1][0],h=s[o-1][1],f=0,d=0,v=0,g=0,p=0,m,b;t&&ln(t)&&i&&(m=s[1][0]-s[0][0],b=s[1][1]-s[0][1],p=Math.atan2(b,m),f=Math.cos(p)*(i||0),d=Math.sin(p)*(i||0)),n&&ln(n)&&a&&(m=s[o-2][0]-s[o-1][0],b=s[o-2][1]-s[o-1][1],p=Math.atan2(b,m),v=Math.cos(p)*(a||0),g=Math.sin(p)*(a||0)),r.moveTo(l+f,u+d);for(var x=1;x<o-1;x++){var O=s[x];r.lineTo(O[0],O[1])}r.lineTo(c+v,h+g)}function TD(r,e){var t=e.x,n=t===void 0?0:t,i=e.y,a=i===void 0?0:i,s=e.radius,o=e.width,l=e.height,u=o,c=l,h=s&&s.some(function(T){return T!==0});if(!h)r.rect(n,a,u,c);else{var f=o>0?1:-1,d=l>0?1:-1,v=f+d===0,g=s.map(function(T){return on(T,0,Math.min(Math.abs(u)/2,Math.abs(c)/2))}),p=uc(g,4),m=p[0],b=p[1],x=p[2],O=p[3];r.moveTo(f*m+n,a),r.lineTo(u-f*b+n,a),b!==0&&r.arc(u-f*b+n,d*b+a,b,-d*Math.PI/2,f>0?0:Math.PI,v),r.lineTo(u+n,c-d*x+a),x!==0&&r.arc(u-f*x+n,c-d*x+a,x,f>0?0:Math.PI,d>0?Math.PI/2:1.5*Math.PI,v),r.lineTo(f*O+n,c+a),O!==0&&r.arc(f*O+n,c-d*O+a,O,d>0?Math.PI/2:-Math.PI/2,f>0?Math.PI:0,v),r.lineTo(n,d*m+a),m!==0&&r.arc(f*m+n,d*m+a,m,f>0?Math.PI:0,d>0?Math.PI*1.5:Math.PI/2,v)}}var AD=function(r){function e(){var t;cD(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=vD(this,e,[].concat(i)),t.name="canvas-path-generator",t}return gD(e,r),hD(e,[{key:"init",value:function(){var n,i=(n={},Ri(Ri(Ri(Ri(Ri(Ri(Ri(Ri(Ri(Ri(n,je.CIRCLE,xD),je.ELLIPSE,ED),je.RECT,TD),je.LINE,wD),je.POLYLINE,SD),je.POLYGON,MD),je.PATH,PD),je.TEXT,void 0),je.GROUP,void 0),je.IMAGE,void 0),Ri(Ri(Ri(n,je.HTML,void 0),je.MESH,void 0),je.FRAGMENT,void 0));this.context.pathGeneratorFactory=i}},{key:"destroy",value:function(){delete this.context.pathGeneratorFactory}}])}(Is);function Ks(r){"@babel/helpers - typeof";return Ks=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ks(r)}function OD(r,e){if(Ks(r)!="object"||!r)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(Ks(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function ZE(r){var e=OD(r,"string");return Ks(e)=="symbol"?e:e+""}function Li(r,e,t){return(e=ZE(e))in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function KE(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}function QE(r,e){for(var t=0;t<e.length;t++){var n=e[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(r,ZE(n.key),n)}}function JE(r,e,t){return e&&QE(r.prototype,e),t&&QE(r,t),Object.defineProperty(r,"prototype",{writable:!1}),r}function Rf(r){return Rf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Rf(r)}function qE(){try{var r=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(qE=function(){return!!r})()}function kD(r){if(r===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}function CD(r,e){if(e&&(Ks(e)=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return kD(r)}function ND(r,e,t){return e=Rf(e),CD(r,qE()?Reflect.construct(e,t||[],Rf(r).constructor):e.apply(r,t))}function o0(r,e){return o0=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,n){return t.__proto__=n,t},o0(r,e)}function _D(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),Object.defineProperty(r,"prototype",{writable:!1}),e&&o0(r,e)}function $E(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,n=Array(e);t<e;t++)n[t]=r[t];return n}function ew(r,e){if(r){if(typeof r=="string")return $E(r,e);var t={}.toString.call(r).slice(8,-1);return t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set"?Array.from(r):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?$E(r,e):void 0}}function RD(r,e){var t=typeof Symbol!="undefined"&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=ew(r))||e&&r&&typeof r.length=="number"){t&&(r=t);var n=0,i=function(){};return{s:i,n:function(){return n>=r.length?{done:!0}:{done:!1,value:r[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,s=!0,o=!1;return{s:function(){t=t.call(r)},n:function(){var u=t.next();return s=u.done,u},e:function(u){o=!0,a=u},f:function(){try{s||t.return==null||t.return()}finally{if(o)throw a}}}}function l0(){"use strict";l0=function(){return e};var r,e={},t=Object.prototype,n=t.hasOwnProperty,i=Object.defineProperty||function(Z,H,X){Z[H]=X.value},a=typeof Symbol=="function"?Symbol:{},s=a.iterator||"@@iterator",o=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function u(Z,H,X){return Object.defineProperty(Z,H,{value:X,enumerable:!0,configurable:!0,writable:!0}),Z[H]}try{u({},"")}catch(Z){u=function(X,q,oe){return X[q]=oe}}function c(Z,H,X,q){var oe=H&&H.prototype instanceof m?H:m,de=Object.create(oe.prototype),Oe=new ae(q||[]);return i(de,"_invoke",{value:U(Z,X,Oe)}),de}function h(Z,H,X){try{return{type:"normal",arg:Z.call(H,X)}}catch(q){return{type:"throw",arg:q}}}e.wrap=c;var f="suspendedStart",d="suspendedYield",v="executing",g="completed",p={};function m(){}function b(){}function x(){}var O={};u(O,s,function(){return this});var T=Object.getPrototypeOf,S=T&&T(T(ve([])));S&&S!==t&&n.call(S,s)&&(O=S);var k=x.prototype=m.prototype=Object.create(O);function C(Z){["next","throw","return"].forEach(function(H){u(Z,H,function(X){return this._invoke(H,X)})})}function W(Z,H){function X(oe,de,Oe,Be){var Ge=h(Z[oe],Z,de);if(Ge.type!=="throw"){var Ve=Ge.arg,qe=Ve.value;return qe&&Ks(qe)=="object"&&n.call(qe,"__await")?H.resolve(qe.__await).then(function(lt){X("next",lt,Oe,Be)},function(lt){X("throw",lt,Oe,Be)}):H.resolve(qe).then(function(lt){Ve.value=lt,Oe(Ve)},function(lt){return X("throw",lt,Oe,Be)})}Be(Ge.arg)}var q;i(this,"_invoke",{value:function(de,Oe){function Be(){return new H(function(Ge,Ve){X(de,Oe,Ge,Ve)})}return q=q?q.then(Be,Be):Be()}})}function U(Z,H,X){var q=f;return function(oe,de){if(q===v)throw Error("Generator is already running");if(q===g){if(oe==="throw")throw de;return{value:r,done:!0}}for(X.method=oe,X.arg=de;;){var Oe=X.delegate;if(Oe){var Be=J(Oe,X);if(Be){if(Be===p)continue;return Be}}if(X.method==="next")X.sent=X._sent=X.arg;else if(X.method==="throw"){if(q===f)throw q=g,X.arg;X.dispatchException(X.arg)}else X.method==="return"&&X.abrupt("return",X.arg);q=v;var Ge=h(Z,H,X);if(Ge.type==="normal"){if(q=X.done?g:d,Ge.arg===p)continue;return{value:Ge.arg,done:X.done}}Ge.type==="throw"&&(q=g,X.method="throw",X.arg=Ge.arg)}}}function J(Z,H){var X=H.method,q=Z.iterator[X];if(q===r)return H.delegate=null,X==="throw"&&Z.iterator.return&&(H.method="return",H.arg=r,J(Z,H),H.method==="throw")||X!=="return"&&(H.method="throw",H.arg=new TypeError("The iterator does not provide a '"+X+"' method")),p;var oe=h(q,Z.iterator,H.arg);if(oe.type==="throw")return H.method="throw",H.arg=oe.arg,H.delegate=null,p;var de=oe.arg;return de?de.done?(H[Z.resultName]=de.value,H.next=Z.nextLoc,H.method!=="return"&&(H.method="next",H.arg=r),H.delegate=null,p):de:(H.method="throw",H.arg=new TypeError("iterator result is not an object"),H.delegate=null,p)}function te(Z){var H={tryLoc:Z[0]};1 in Z&&(H.catchLoc=Z[1]),2 in Z&&(H.finallyLoc=Z[2],H.afterLoc=Z[3]),this.tryEntries.push(H)}function ie(Z){var H=Z.completion||{};H.type="normal",delete H.arg,Z.completion=H}function ae(Z){this.tryEntries=[{tryLoc:"root"}],Z.forEach(te,this),this.reset(!0)}function ve(Z){if(Z||Z===""){var H=Z[s];if(H)return H.call(Z);if(typeof Z.next=="function")return Z;if(!isNaN(Z.length)){var X=-1,q=function oe(){for(;++X<Z.length;)if(n.call(Z,X))return oe.value=Z[X],oe.done=!1,oe;return oe.value=r,oe.done=!0,oe};return q.next=q}}throw new TypeError(Ks(Z)+" is not iterable")}return b.prototype=x,i(k,"constructor",{value:x,configurable:!0}),i(x,"constructor",{value:b,configurable:!0}),b.displayName=u(x,l,"GeneratorFunction"),e.isGeneratorFunction=function(Z){var H=typeof Z=="function"&&Z.constructor;return!!H&&(H===b||(H.displayName||H.name)==="GeneratorFunction")},e.mark=function(Z){return Object.setPrototypeOf?Object.setPrototypeOf(Z,x):(Z.__proto__=x,u(Z,l,"GeneratorFunction")),Z.prototype=Object.create(k),Z},e.awrap=function(Z){return{__await:Z}},C(W.prototype),u(W.prototype,o,function(){return this}),e.AsyncIterator=W,e.async=function(Z,H,X,q,oe){oe===void 0&&(oe=Promise);var de=new W(c(Z,H,X,q),oe);return e.isGeneratorFunction(H)?de:de.next().then(function(Oe){return Oe.done?Oe.value:de.next()})},C(k),u(k,l,"Generator"),u(k,s,function(){return this}),u(k,"toString",function(){return"[object Generator]"}),e.keys=function(Z){var H=Object(Z),X=[];for(var q in H)X.push(q);return X.reverse(),function oe(){for(;X.length;){var de=X.pop();if(de in H)return oe.value=de,oe.done=!1,oe}return oe.done=!0,oe}},e.values=ve,ae.prototype={constructor:ae,reset:function(H){if(this.prev=0,this.next=0,this.sent=this._sent=r,this.done=!1,this.delegate=null,this.method="next",this.arg=r,this.tryEntries.forEach(ie),!H)for(var X in this)X.charAt(0)==="t"&&n.call(this,X)&&!isNaN(+X.slice(1))&&(this[X]=r)},stop:function(){this.done=!0;var H=this.tryEntries[0].completion;if(H.type==="throw")throw H.arg;return this.rval},dispatchException:function(H){if(this.done)throw H;var X=this;function q(Ve,qe){return Oe.type="throw",Oe.arg=H,X.next=Ve,qe&&(X.method="next",X.arg=r),!!qe}for(var oe=this.tryEntries.length-1;oe>=0;--oe){var de=this.tryEntries[oe],Oe=de.completion;if(de.tryLoc==="root")return q("end");if(de.tryLoc<=this.prev){var Be=n.call(de,"catchLoc"),Ge=n.call(de,"finallyLoc");if(Be&&Ge){if(this.prev<de.catchLoc)return q(de.catchLoc,!0);if(this.prev<de.finallyLoc)return q(de.finallyLoc)}else if(Be){if(this.prev<de.catchLoc)return q(de.catchLoc,!0)}else{if(!Ge)throw Error("try statement without catch or finally");if(this.prev<de.finallyLoc)return q(de.finallyLoc)}}}},abrupt:function(H,X){for(var q=this.tryEntries.length-1;q>=0;--q){var oe=this.tryEntries[q];if(oe.tryLoc<=this.prev&&n.call(oe,"finallyLoc")&&this.prev<oe.finallyLoc){var de=oe;break}}de&&(H==="break"||H==="continue")&&de.tryLoc<=X&&X<=de.finallyLoc&&(de=null);var Oe=de?de.completion:{};return Oe.type=H,Oe.arg=X,de?(this.method="next",this.next=de.finallyLoc,p):this.complete(Oe)},complete:function(H,X){if(H.type==="throw")throw H.arg;return H.type==="break"||H.type==="continue"?this.next=H.arg:H.type==="return"?(this.rval=this.arg=H.arg,this.method="return",this.next="end"):H.type==="normal"&&X&&(this.next=X),p},finish:function(H){for(var X=this.tryEntries.length-1;X>=0;--X){var q=this.tryEntries[X];if(q.finallyLoc===H)return this.complete(q.completion,q.afterLoc),ie(q),p}},catch:function(H){for(var X=this.tryEntries.length-1;X>=0;--X){var q=this.tryEntries[X];if(q.tryLoc===H){var oe=q.completion;if(oe.type==="throw"){var de=oe.arg;ie(q)}return de}}throw Error("illegal catch attempt")},delegateYield:function(H,X,q){return this.delegate={iterator:ve(H),resultName:X,nextLoc:q},this.method==="next"&&(this.arg=r),p}},e}function tw(r,e,t,n,i,a,s){try{var o=r[a](s),l=o.value}catch(u){return void t(u)}o.done?e(l):Promise.resolve(l).then(n,i)}function LD(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function s(l){tw(a,n,i,s,o,"next",l)}function o(l){tw(a,n,i,s,o,"throw",l)}s(void 0)})}}function DD(r){if(Array.isArray(r))return r}function ID(r,e){var t=r==null?null:typeof Symbol!="undefined"&&r[Symbol.iterator]||r["@@iterator"];if(t!=null){var n,i,a,s,o=[],l=!0,u=!1;try{if(a=(t=t.call(r)).next,e===0){if(Object(t)!==t)return;l=!1}else for(;!(l=(n=a.call(t)).done)&&(o.push(n.value),o.length!==e);l=!0);}catch(c){u=!0,i=c}finally{try{if(!l&&t.return!=null&&(s=t.return(),Object(s)!==s))return}finally{if(u)throw i}}return o}}function BD(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Qs(r,e){return DD(r)||ID(r,e)||ew(r,e)||BD()}function nw(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function rw(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?nw(Object(t),!0).forEach(function(n){Li(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):nw(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}var zD=Me(),FD=Me(),jD=Me(),GD=mt(),iw=function(){function r(){var e=this;KE(this,r),this.isHit=function(t,n,i,a){var s=e.context.pointInPathPickerFactory[t.nodeName];if(s){var o=Ot(GD,i),l=Dn(FD,Ae(jD,n[0],n[1],0),o);if(s(t,new Ir(l[0],l[1]),a,e.isPointInPath,e.context,e.runtime))return!0}return!1},this.isPointInPath=function(t,n){var i=e.runtime.offscreenCanvasCreator.getOrCreateContext(e.context.config.offscreenCanvas),a=e.context.pathGeneratorFactory[t.nodeName];return a&&(i.beginPath(),a(i,t.parsedStyle),i.closePath()),i.isPointInPath(n.x,n.y)}}return JE(r,[{key:"apply",value:function(t,n){var i,a=this,s=t.renderingService,o=t.renderingContext;this.context=t,this.runtime=n;var l=(i=o.root)===null||i===void 0?void 0:i.ownerDocument;s.hooks.pick.tapPromise(r.tag,function(){var u=LD(l0().mark(function c(h){return l0().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:return d.abrupt("return",a.pick(l,h));case 1:case"end":return d.stop()}},c)}));return function(c){return u.apply(this,arguments)}}()),s.hooks.pickSync.tap(r.tag,function(u){return a.pick(l,u)})}},{key:"pick",value:function(t,n){var i=n.topmost,a=n.position,s=a.x,o=a.y,l=Ae(zD,s,o,0),u=t.elementsFromBBox(l[0],l[1],l[0],l[1]),c=[],h=RD(u),f;try{for(h.s();!(f=h.n()).done;){var d=f.value,v=d.getWorldTransform(),g=this.isHit(d,l,v,!1);if(g){var p=Cb(d);if(p){var m=p.parsedStyle.clipPath,b=this.isHit(m,l,m.getWorldTransform(),!0);if(b){if(i)return n.picked=[d],n;c.push(d)}}else{if(i)return n.picked=[d],n;c.push(d)}}}}catch(x){h.e(x)}finally{h.f()}return n.picked=c,n}}])}();iw.tag="CanvasPicker";function HD(r,e,t){var n=r.parsedStyle,i=n.cx,a=i===void 0?0:i,s=n.cy,o=s===void 0?0:s,l=n.r,u=n.fill,c=n.stroke,h=n.lineWidth,f=h===void 0?1:h,d=n.increasedLineWidthForHitTesting,v=d===void 0?0:d,g=n.pointerEvents,p=g===void 0?"auto":g,m=(f+v)/2,b=Vr(a,o,e.x,e.y),x=Oo(p,u,c),O=Qs(x,2),T=O[0],S=O[1];return T&&S||t?b<=l+m:T?b<=l:S?b>=l-m&&b<=l+m:!1}function Lf(r,e,t,n){return r/(t*t)+e/(n*n)}function XD(r,e,t){var n=r.parsedStyle,i=n.cx,a=i===void 0?0:i,s=n.cy,o=s===void 0?0:s,l=n.rx,u=n.ry,c=n.fill,h=n.stroke,f=n.lineWidth,d=f===void 0?1:f,v=n.increasedLineWidthForHitTesting,g=v===void 0?0:v,p=n.pointerEvents,m=p===void 0?"auto":p,b=e.x,x=e.y,O=Oo(m,c,h),T=Qs(O,2),S=T[0],k=T[1],C=(d+g)/2,W=(b-a)*(b-a),U=(x-o)*(x-o);return S&&k||t?Lf(W,U,l+C,u+C)<=1:S?Lf(W,U,l,u)<=1:k?Lf(W,U,l-C,u-C)>=1&&Lf(W,U,l+C,u+C)<=1:!1}function Fo(r,e,t,n,i,a){return i>=r&&i<=r+t&&a>=e&&a<=e+n}function WD(r,e,t,n,i,a,s){var o=i/2;return Fo(r-o,e-o,t,i,a,s)||Fo(r+t-o,e-o,i,n,a,s)||Fo(r+o,e+n-o,t,i,a,s)||Fo(r-o,e+o,i,n,a,s)}function Df(r,e,t,n,i,a,s,o){var l=(Math.atan2(o-e,s-r)+Math.PI*2)%(Math.PI*2),u={x:r+t*Math.cos(l),y:e+t*Math.sin(l)};return Vr(u.x,u.y,s,o)<=a/2}function Js(r,e,t,n,i,a,s){var o=Math.min(r,t),l=Math.max(r,t),u=Math.min(e,n),c=Math.max(e,n),h=i/2;return a>=o-h&&a<=l+h&&s>=u-h&&s<=c+h?D1(r,e,t,n,a,s)<=i/2:!1}function aw(r,e,t,n,i){var a=r.length;if(a<2)return!1;for(var s=0;s<a-1;s++){var o=r[s][0],l=r[s][1],u=r[s+1][0],c=r[s+1][1];if(Js(o,l,u,c,e,t,n))return!0}if(i){var h=r[0],f=r[a-1];if(Js(h[0],h[1],f[0],f[1],e,t,n))return!0}return!1}var VD=1e-6;function u0(r){return Math.abs(r)<VD?0:r<0?-1:1}function YD(r,e,t){return(t[0]-r[0])*(e[1]-r[1])===(e[0]-r[0])*(t[1]-r[1])&&Math.min(r[0],e[0])<=t[0]&&t[0]<=Math.max(r[0],e[0])&&Math.min(r[1],e[1])<=t[1]&&t[1]<=Math.max(r[1],e[1])}function sw(r,e,t){var n=!1,i=r.length;if(i<=2)return!1;for(var a=0;a<i;a++){var s=r[a],o=r[(a+1)%i];if(YD(s,o,[e,t]))return!0;u0(s[1]-t)>0!=u0(o[1]-t)>0&&u0(e-(t-s[1])*(s[0]-o[0])/(s[1]-o[1])-s[0])<0&&(n=!n)}return n}function ow(r,e,t){for(var n=!1,i=0;i<r.length;i++){var a=r[i];if(n=sw(a,e,t),n)break}return n}function UD(r,e,t){var n=r.parsedStyle,i=n.x1,a=n.y1,s=n.x2,o=n.y2,l=n.lineWidth,u=l===void 0?1:l,c=n.increasedLineWidthForHitTesting,h=c===void 0?0:c,f=n.pointerEvents,d=f===void 0?"auto":f,v=n.fill,g=n.stroke,p=Oo(d,v,g),m=Qs(p,2),b=m[1];return!b&&!t||!u?!1:Js(i,a,s,o,u+h,e.x,e.y)}function ZD(r,e,t,n,i){for(var a=!1,s=e/2,o=0;o<r.length;o++){var l=r[o],u=l.currentPoint,c=l.params,h=l.prePoint,f=l.box;if(!(f&&!Fo(f.x-s,f.y-s,f.width+e,f.height+e,t,n)))switch(l.command){case"L":case"Z":if(a=Js(h[0],h[1],u[0],u[1],e,t,n),a)return!0;break;case"Q":var d=BO(h[0],h[1],c[1],c[2],c[3],c[4],t,n);if(a=d<=e/2,a)return!0;break;case"C":var v=F1(h[0],h[1],c[1],c[2],c[3],c[4],c[5],c[6],t,n,i);if(a=v<=e/2,a)return!0;break;case"A":l.cubicParams||(l.cubicParams=Ag(h[0],h[1],c[1],c[2],c[3],c[4],c[5],c[6],c[7],void 0));for(var g=l.cubicParams,p=h,m=0;m<g.length;m+=6){var b=F1(p[0],p[1],g[m],g[m+1],g[m+2],g[m+3],g[m+4],g[m+5],t,n,i);if(p=[g[m+4],g[m+5]],a=b<=e/2,a)return!0}break}}return a}function KD(r,e,t,n,i,a){var s=r.parsedStyle,o=s.lineWidth,l=o===void 0?1:o,u=s.increasedLineWidthForHitTesting,c=u===void 0?0:u,h=s.stroke,f=s.fill,d=s.d,v=s.pointerEvents,g=v===void 0?"auto":v,p=d.segments,m=d.hasArc,b=d.polylines,x=d.polygons,O=Oo(g,(x==null?void 0:x.length)&&f,h),T=Qs(O,2),S=T[0],k=T[1],C=Kg(r),W=!1;return S||t?(m?W=n(r,e):W=ow(x,e.x,e.y)||ow(b,e.x,e.y),W):((k||t)&&(W=ZD(p,l+c,e.x,e.y,C)),W)}function QD(r,e,t){var n=r.parsedStyle,i=n.stroke,a=n.fill,s=n.lineWidth,o=s===void 0?1:s,l=n.increasedLineWidthForHitTesting,u=l===void 0?0:l,c=n.points,h=n.pointerEvents,f=h===void 0?"auto":h,d=Oo(f,a,i),v=Qs(d,2),g=v[0],p=v[1],m=!1;return(p||t)&&(m=aw(c.points,o+u,e.x,e.y,!0)),!m&&(g||t)&&(m=sw(c.points,e.x,e.y)),m}function JD(r,e,t){var n=r.parsedStyle,i=n.lineWidth,a=i===void 0?1:i,s=n.increasedLineWidthForHitTesting,o=s===void 0?0:s,l=n.points,u=n.pointerEvents,c=u===void 0?"auto":u,h=n.fill,f=n.stroke,d=Oo(c,h,f),v=Qs(d,2),g=v[1];return!g&&!t||!a?!1:aw(l.points,a+o,e.x,e.y,!1)}function qD(r,e,t,n,i){var a=r.parsedStyle,s=a.radius,o=a.fill,l=a.stroke,u=a.lineWidth,c=u===void 0?1:u,h=a.increasedLineWidthForHitTesting,f=h===void 0?0:h,d=a.x,v=d===void 0?0:d,g=a.y,p=g===void 0?0:g,m=a.width,b=a.height,x=a.pointerEvents,O=x===void 0?"auto":x,T=Oo(O,o,l),S=Qs(T,2),k=S[0],C=S[1],W=s&&s.some(function(ie){return ie!==0}),U=c+f;if(W){var te=!1;return(C||t)&&(te=$D(v,p,m,b,s.map(function(ie){return on(ie,0,Math.min(Math.abs(m)/2,Math.abs(b)/2))}),U,e.x,e.y)),!te&&(k||t)&&(te=n(r,e)),te}else{var J=U/2;if(k&&C||t)return Fo(v-J,p-J,m+J,b+J,e.x,e.y);if(k)return Fo(v,p,m,b,e.x,e.y);if(C)return WD(v,p,m,b,U,e.x,e.y)}return!1}function $D(r,e,t,n,i,a,s,o){var l=Qs(i,4),u=l[0],c=l[1],h=l[2],f=l[3];return Js(r+u,e,r+t-c,e,a,s,o)||Js(r+t,e+c,r+t,e+n-h,a,s,o)||Js(r+t-h,e+n,r+f,e+n,a,s,o)||Js(r,e+n-f,r,e+u,a,s,o)||Df(r+t-c,e+c,c,1.5*Math.PI,2*Math.PI,a,s,o)||Df(r+t-h,e+n-h,h,0,.5*Math.PI,a,s,o)||Df(r+f,e+n-f,f,.5*Math.PI,Math.PI,a,s,o)||Df(r+u,e+u,u,Math.PI,1.5*Math.PI,a,s,o)}function eI(r,e,t,n,i,a){var s=r.parsedStyle,o=s.pointerEvents,l=o===void 0?"auto":o,u=s.x,c=u===void 0?0:u,h=s.y,f=h===void 0?0:h,d=s.width,v=s.height;if(l==="non-transparent-pixel"){var g=i.config.offscreenCanvas,p=a.offscreenCanvasCreator.getOrCreateCanvas(g),m=a.offscreenCanvasCreator.getOrCreateContext(g,{willReadFrequently:!0});p.width=d,p.height=v,i.defaultStyleRendererFactory[je.IMAGE].render(m,rw(rw({},r.parsedStyle),{},{x:0,y:0}),r,void 0,void 0,void 0);var b=m.getImageData(e.x-c,e.y-f,1,1).data;return b.every(function(x){return x!==0})}return!0}function tI(r,e,t,n){var i=r.getGeometryBounds();return e.x>=i.min[0]&&e.y>=i.min[1]&&e.x<=i.max[0]&&e.y<=i.max[1]}var nI=function(r){function e(){var t;KE(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=ND(this,e,[].concat(i)),t.name="canvas-picker",t}return _D(e,r),JE(e,[{key:"init",value:function(){var n,i=(n={},Li(Li(Li(Li(Li(Li(Li(Li(Li(Li(n,je.CIRCLE,HD),je.ELLIPSE,XD),je.RECT,qD),je.LINE,UD),je.POLYLINE,JD),je.POLYGON,QD),je.PATH,KD),je.TEXT,tI),je.GROUP,null),je.IMAGE,eI),Li(Li(n,je.HTML,null),je.MESH,null));this.context.pointInPathPickerFactory=i,this.addRenderingPlugin(new iw)}},{key:"destroy",value:function(){delete this.context.pointInPathPickerFactory,this.removeAllRenderingPlugins()}}])}(Is);function Gl(r){"@babel/helpers - typeof";return Gl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Gl(r)}function rI(r,e){if(Gl(r)!="object"||!r)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(Gl(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function lw(r){var e=rI(r,"string");return Gl(e)=="symbol"?e:e+""}function Pi(r,e,t){return(e=lw(e))in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function uw(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function c0(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?uw(Object(t),!0).forEach(function(n){Pi(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):uw(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function Hl(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}function cw(r,e){for(var t=0;t<e.length;t++){var n=e[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(r,lw(n.key),n)}}function Xl(r,e,t){return e&&cw(r.prototype,e),t&&cw(r,t),Object.defineProperty(r,"prototype",{writable:!1}),r}function If(r){return If=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},If(r)}function hw(){try{var r=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(hw=function(){return!!r})()}function iI(r){if(r===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}function aI(r,e){if(e&&(Gl(e)=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return iI(r)}function Bf(r,e,t){return e=If(e),aI(r,hw()?Reflect.construct(e,t||[],If(r).constructor):e.apply(r,t))}function h0(r,e){return h0=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,n){return t.__proto__=n,t},h0(r,e)}function zf(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),Object.defineProperty(r,"prototype",{writable:!1}),e&&h0(r,e)}function sI(r){if(Array.isArray(r))return r}function oI(r,e){var t=r==null?null:typeof Symbol!="undefined"&&r[Symbol.iterator]||r["@@iterator"];if(t!=null){var n,i,a,s,o=[],l=!0,u=!1;try{if(a=(t=t.call(r)).next,e===0){if(Object(t)!==t)return;l=!1}else for(;!(l=(n=a.call(t)).done)&&(o.push(n.value),o.length!==e);l=!0);}catch(c){u=!0,i=c}finally{try{if(!l&&t.return!=null&&(s=t.return(),Object(s)!==s))return}finally{if(u)throw i}}return o}}function f0(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,n=Array(e);t<e;t++)n[t]=r[t];return n}function fw(r,e){if(r){if(typeof r=="string")return f0(r,e);var t={}.toString.call(r).slice(8,-1);return t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set"?Array.from(r):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?f0(r,e):void 0}}function lI(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ff(r,e){return sI(r)||oI(r,e)||fw(r,e)||lI()}function uI(r){if(Array.isArray(r))return f0(r)}function cI(r){if(typeof Symbol!="undefined"&&r[Symbol.iterator]!=null||r["@@iterator"]!=null)return Array.from(r)}function hI(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function fI(r){return uI(r)||cI(r)||fw(r)||hI()}function ns(r,e){if(!{}.hasOwnProperty.call(r,e))throw new TypeError("attempted to use private field on non-instance");return r}var dI=0;function vI(r){return"__private_"+dI+++"_"+r}function cc(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}function qs(r){"@babel/helpers - typeof";return qs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},qs(r)}function gI(r,e){if(qs(r)!="object"||!r)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(qs(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function dw(r){var e=gI(r,"string");return qs(e)=="symbol"?e:e+""}function vw(r,e){for(var t=0;t<e.length;t++){var n=e[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(r,dw(n.key),n)}}function hc(r,e,t){return e&&vw(r.prototype,e),t&&vw(r,t),Object.defineProperty(r,"prototype",{writable:!1}),r}function jf(r){return jf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},jf(r)}function gw(){try{var r=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(gw=function(){return!!r})()}function pI(r){if(r===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}function mI(r,e){if(e&&(qs(e)=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return pI(r)}function yI(r,e,t){return e=jf(e),mI(r,gw()?Reflect.construct(e,t||[],jf(r).constructor):e.apply(r,t))}function d0(r,e){return d0=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,n){return t.__proto__=n,t},d0(r,e)}function bI(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),Object.defineProperty(r,"prototype",{writable:!1}),e&&d0(r,e)}function fc(){"use strict";fc=function(){return e};var r,e={},t=Object.prototype,n=t.hasOwnProperty,i=Object.defineProperty||function(Z,H,X){Z[H]=X.value},a=typeof Symbol=="function"?Symbol:{},s=a.iterator||"@@iterator",o=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function u(Z,H,X){return Object.defineProperty(Z,H,{value:X,enumerable:!0,configurable:!0,writable:!0}),Z[H]}try{u({},"")}catch(Z){u=function(X,q,oe){return X[q]=oe}}function c(Z,H,X,q){var oe=H&&H.prototype instanceof m?H:m,de=Object.create(oe.prototype),Oe=new ae(q||[]);return i(de,"_invoke",{value:U(Z,X,Oe)}),de}function h(Z,H,X){try{return{type:"normal",arg:Z.call(H,X)}}catch(q){return{type:"throw",arg:q}}}e.wrap=c;var f="suspendedStart",d="suspendedYield",v="executing",g="completed",p={};function m(){}function b(){}function x(){}var O={};u(O,s,function(){return this});var T=Object.getPrototypeOf,S=T&&T(T(ve([])));S&&S!==t&&n.call(S,s)&&(O=S);var k=x.prototype=m.prototype=Object.create(O);function C(Z){["next","throw","return"].forEach(function(H){u(Z,H,function(X){return this._invoke(H,X)})})}function W(Z,H){function X(oe,de,Oe,Be){var Ge=h(Z[oe],Z,de);if(Ge.type!=="throw"){var Ve=Ge.arg,qe=Ve.value;return qe&&qs(qe)=="object"&&n.call(qe,"__await")?H.resolve(qe.__await).then(function(lt){X("next",lt,Oe,Be)},function(lt){X("throw",lt,Oe,Be)}):H.resolve(qe).then(function(lt){Ve.value=lt,Oe(Ve)},function(lt){return X("throw",lt,Oe,Be)})}Be(Ge.arg)}var q;i(this,"_invoke",{value:function(de,Oe){function Be(){return new H(function(Ge,Ve){X(de,Oe,Ge,Ve)})}return q=q?q.then(Be,Be):Be()}})}function U(Z,H,X){var q=f;return function(oe,de){if(q===v)throw Error("Generator is already running");if(q===g){if(oe==="throw")throw de;return{value:r,done:!0}}for(X.method=oe,X.arg=de;;){var Oe=X.delegate;if(Oe){var Be=J(Oe,X);if(Be){if(Be===p)continue;return Be}}if(X.method==="next")X.sent=X._sent=X.arg;else if(X.method==="throw"){if(q===f)throw q=g,X.arg;X.dispatchException(X.arg)}else X.method==="return"&&X.abrupt("return",X.arg);q=v;var Ge=h(Z,H,X);if(Ge.type==="normal"){if(q=X.done?g:d,Ge.arg===p)continue;return{value:Ge.arg,done:X.done}}Ge.type==="throw"&&(q=g,X.method="throw",X.arg=Ge.arg)}}}function J(Z,H){var X=H.method,q=Z.iterator[X];if(q===r)return H.delegate=null,X==="throw"&&Z.iterator.return&&(H.method="return",H.arg=r,J(Z,H),H.method==="throw")||X!=="return"&&(H.method="throw",H.arg=new TypeError("The iterator does not provide a '"+X+"' method")),p;var oe=h(q,Z.iterator,H.arg);if(oe.type==="throw")return H.method="throw",H.arg=oe.arg,H.delegate=null,p;var de=oe.arg;return de?de.done?(H[Z.resultName]=de.value,H.next=Z.nextLoc,H.method!=="return"&&(H.method="next",H.arg=r),H.delegate=null,p):de:(H.method="throw",H.arg=new TypeError("iterator result is not an object"),H.delegate=null,p)}function te(Z){var H={tryLoc:Z[0]};1 in Z&&(H.catchLoc=Z[1]),2 in Z&&(H.finallyLoc=Z[2],H.afterLoc=Z[3]),this.tryEntries.push(H)}function ie(Z){var H=Z.completion||{};H.type="normal",delete H.arg,Z.completion=H}function ae(Z){this.tryEntries=[{tryLoc:"root"}],Z.forEach(te,this),this.reset(!0)}function ve(Z){if(Z||Z===""){var H=Z[s];if(H)return H.call(Z);if(typeof Z.next=="function")return Z;if(!isNaN(Z.length)){var X=-1,q=function oe(){for(;++X<Z.length;)if(n.call(Z,X))return oe.value=Z[X],oe.done=!1,oe;return oe.value=r,oe.done=!0,oe};return q.next=q}}throw new TypeError(qs(Z)+" is not iterable")}return b.prototype=x,i(k,"constructor",{value:x,configurable:!0}),i(x,"constructor",{value:b,configurable:!0}),b.displayName=u(x,l,"GeneratorFunction"),e.isGeneratorFunction=function(Z){var H=typeof Z=="function"&&Z.constructor;return!!H&&(H===b||(H.displayName||H.name)==="GeneratorFunction")},e.mark=function(Z){return Object.setPrototypeOf?Object.setPrototypeOf(Z,x):(Z.__proto__=x,u(Z,l,"GeneratorFunction")),Z.prototype=Object.create(k),Z},e.awrap=function(Z){return{__await:Z}},C(W.prototype),u(W.prototype,o,function(){return this}),e.AsyncIterator=W,e.async=function(Z,H,X,q,oe){oe===void 0&&(oe=Promise);var de=new W(c(Z,H,X,q),oe);return e.isGeneratorFunction(H)?de:de.next().then(function(Oe){return Oe.done?Oe.value:de.next()})},C(k),u(k,l,"Generator"),u(k,s,function(){return this}),u(k,"toString",function(){return"[object Generator]"}),e.keys=function(Z){var H=Object(Z),X=[];for(var q in H)X.push(q);return X.reverse(),function oe(){for(;X.length;){var de=X.pop();if(de in H)return oe.value=de,oe.done=!1,oe}return oe.done=!0,oe}},e.values=ve,ae.prototype={constructor:ae,reset:function(H){if(this.prev=0,this.next=0,this.sent=this._sent=r,this.done=!1,this.delegate=null,this.method="next",this.arg=r,this.tryEntries.forEach(ie),!H)for(var X in this)X.charAt(0)==="t"&&n.call(this,X)&&!isNaN(+X.slice(1))&&(this[X]=r)},stop:function(){this.done=!0;var H=this.tryEntries[0].completion;if(H.type==="throw")throw H.arg;return this.rval},dispatchException:function(H){if(this.done)throw H;var X=this;function q(Ve,qe){return Oe.type="throw",Oe.arg=H,X.next=Ve,qe&&(X.method="next",X.arg=r),!!qe}for(var oe=this.tryEntries.length-1;oe>=0;--oe){var de=this.tryEntries[oe],Oe=de.completion;if(de.tryLoc==="root")return q("end");if(de.tryLoc<=this.prev){var Be=n.call(de,"catchLoc"),Ge=n.call(de,"finallyLoc");if(Be&&Ge){if(this.prev<de.catchLoc)return q(de.catchLoc,!0);if(this.prev<de.finallyLoc)return q(de.finallyLoc)}else if(Be){if(this.prev<de.catchLoc)return q(de.catchLoc,!0)}else{if(!Ge)throw Error("try statement without catch or finally");if(this.prev<de.finallyLoc)return q(de.finallyLoc)}}}},abrupt:function(H,X){for(var q=this.tryEntries.length-1;q>=0;--q){var oe=this.tryEntries[q];if(oe.tryLoc<=this.prev&&n.call(oe,"finallyLoc")&&this.prev<oe.finallyLoc){var de=oe;break}}de&&(H==="break"||H==="continue")&&de.tryLoc<=X&&X<=de.finallyLoc&&(de=null);var Oe=de?de.completion:{};return Oe.type=H,Oe.arg=X,de?(this.method="next",this.next=de.finallyLoc,p):this.complete(Oe)},complete:function(H,X){if(H.type==="throw")throw H.arg;return H.type==="break"||H.type==="continue"?this.next=H.arg:H.type==="return"?(this.rval=this.arg=H.arg,this.method="return",this.next="end"):H.type==="normal"&&X&&(this.next=X),p},finish:function(H){for(var X=this.tryEntries.length-1;X>=0;--X){var q=this.tryEntries[X];if(q.finallyLoc===H)return this.complete(q.completion,q.afterLoc),ie(q),p}},catch:function(H){for(var X=this.tryEntries.length-1;X>=0;--X){var q=this.tryEntries[X];if(q.tryLoc===H){var oe=q.completion;if(oe.type==="throw"){var de=oe.arg;ie(q)}return de}}throw Error("illegal catch attempt")},delegateYield:function(H,X,q){return this.delegate={iterator:ve(H),resultName:X,nextLoc:q},this.method==="next"&&(this.arg=r),p}},e}function xI(r,e,t){return(e=dw(e))in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function pw(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function $s(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?pw(Object(t),!0).forEach(function(n){xI(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):pw(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function EI(r){if(Array.isArray(r))return r}function wI(r,e){var t=r==null?null:typeof Symbol!="undefined"&&r[Symbol.iterator]||r["@@iterator"];if(t!=null){var n,i,a,s,o=[],l=!0,u=!1;try{if(a=(t=t.call(r)).next,e===0){if(Object(t)!==t)return;l=!1}else for(;!(l=(n=a.call(t)).done)&&(o.push(n.value),o.length!==e);l=!0);}catch(c){u=!0,i=c}finally{try{if(!l&&t.return!=null&&(s=t.return(),Object(s)!==s))return}finally{if(u)throw i}}return o}}function mw(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,n=Array(e);t<e;t++)n[t]=r[t];return n}function PI(r,e){if(r){if(typeof r=="string")return mw(r,e);var t={}.toString.call(r).slice(8,-1);return t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set"?Array.from(r):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?mw(r,e):void 0}}function MI(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function SI(r,e){return EI(r)||wI(r,e)||PI(r,e)||MI()}function yw(r,e,t,n,i,a,s){try{var o=r[a](s),l=o.value}catch(u){return void t(u)}o.done?e(l):Promise.resolve(l).then(n,i)}function bw(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function s(l){yw(a,n,i,s,o,"next",l)}function o(l){yw(a,n,i,s,o,"throw",l)}s(void 0)})}}var TI=function(){function r(){cc(this,r),this.cacheStore=new Map}return hc(r,[{key:"onRefAdded",value:function(t){}},{key:"has",value:function(t){return this.cacheStore.has(t)}},{key:"put",value:function(t,n,i){return this.cacheStore.has(t)?!1:(this.cacheStore.set(t,{value:n,counter:new Set([i])}),this.onRefAdded(i),!0)}},{key:"get",value:function(t,n){var i=this.cacheStore.get(t);return i?(i.counter.has(n)||(i.counter.add(n),this.onRefAdded(n)),i.value):null}},{key:"update",value:function(t,n,i){var a=this.cacheStore.get(t);return a?(a.value=$s($s({},a.value),n),a.counter.has(i)||(a.counter.add(i),this.onRefAdded(i)),!0):!1}},{key:"release",value:function(t,n){var i=this.cacheStore.get(t);return i?(i.counter.delete(n),i.counter.size<=0&&this.cacheStore.delete(t),!0):!1}},{key:"releaseRef",value:function(t){var n=this;Array.from(this.cacheStore.keys()).forEach(function(i){n.release(i,t)})}},{key:"getSize",value:function(){return this.cacheStore.size}},{key:"clear",value:function(){this.cacheStore.clear()}}])}(),v0=[],g0=[],p0=function(){function r(){cc(this,r)}return hc(r,null,[{key:"stop",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:r.api;r.rafId&&(t.cancelAnimationFrame(r.rafId),r.rafId=null)}},{key:"executeTask",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:r.api;v0.length<=0&&g0.length<=0||(g0.forEach(function(n){return n()}),g0=v0.splice(0,r.TASK_NUM_PER_FRAME),r.rafId=t.requestAnimationFrame(function(){r.executeTask(t)}))}},{key:"sliceImage",value:function(t,n,i,a){for(var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:r.api,l=t.naturalWidth||t.width,u=t.naturalHeight||t.height,c=n-s,h=i-s,f=Math.ceil(l/c),d=Math.ceil(u/h),v={tileSize:[n,i],gridSize:[d,f],tiles:Array(d).fill(null).map(function(){return Array(f).fill(null)})},g=function(b){for(var x=function(S){v0.push(function(){var k=S*c,C=b*h,W=[Math.min(n,l-k),Math.min(i,u-C)],U=W[0],J=W[1],te=o.createCanvas();te.width=n,te.height=i;var ie=te.getContext("2d");ie.drawImage(t,k,C,U,J,0,0,U,J),v.tiles[b][S]={x:k,y:C,tileX:S,tileY:b,data:te},a()})},O=0;O<f;O++)x(O)},p=0;p<d;p++)g(p);return r.stop(),r.executeTask(),v}}])}();p0.TASK_NUM_PER_FRAME=10;var Di=new TI;Di.onRefAdded=function(e){var t=this;e.addEventListener(Qt.DESTROY,function(){t.releaseRef(e)},{once:!0})};var m0=function(){function r(e,t){cc(this,r),this.gradientCache={},this.patternCache={},this.context=e,this.runtime=t}return hc(r,[{key:"getImageSync",value:function(t,n,i){var a=Xt(t)?t:t.src;if(Di.has(a)){var s=Di.get(a,n);if(s.img.complete)return i==null||i(s),s}return this.getOrCreateImage(t,n).then(function(o){i==null||i(o)}).catch(function(){}),null}},{key:"getOrCreateImage",value:function(t,n){var i=Xt(t)?t:t.src;if(!Xt(t)&&!Di.has(i)){var a={img:t,size:[t.naturalWidth||t.width,t.naturalHeight||t.height],tileSize:Gf(t)};Di.put(i,a,n)}if(Di.has(i)){var s=Di.get(i,n);return s.img.complete?Promise.resolve(s):new Promise(function(l,u){s.img.addEventListener("load",function(){s.size=[s.img.naturalWidth||s.img.width,s.img.naturalHeight||s.img.height],s.tileSize=Gf(s.img),l(s)}),s.img.addEventListener("error",function(c){u(c)})})}var o=this.context.config.createImage;return new Promise(function(l,u){var c;if(o?c=o(i):Gu&&(c=new window.Image),c){var h={img:c,size:[0,0],tileSize:Gf(c)};Di.put(i,h,n),c.onload=function(){h.size=[c.naturalWidth||c.width,c.naturalHeight||c.height],h.tileSize=Gf(h.img),l(h)},c.onerror=function(f){u(f)},c.crossOrigin="Anonymous",c.src=i}})}},{key:"createDownSampledImage",value:function(){var e=bw(fc().mark(function n(i,a){var s,o,l,u,c,h,f,d,v,g,p,m,b,x;return fc().wrap(function(T){for(;;)switch(T.prev=T.next){case 0:return T.next=2,this.getOrCreateImage(i,a);case 2:if(s=T.sent,typeof s.downSamplingRate=="undefined"){T.next=5;break}return T.abrupt("return",s);case 5:if(o=this.context.config.enableLargeImageOptimization,l=typeof o=="boolean"?{}:o,u=l.maxDownSampledImageSize,c=u===void 0?2048:u,h=l.downSamplingRateThreshold,f=h===void 0?.5:h,d=this.runtime.globalThis.createImageBitmap,v=SI(s.size,2),g=v[0],p=v[1],m=s.img,b=Math.min((c+c)/(g+p),Math.max(.01,Math.min(f,.5))),x=$s($s({},s),{},{downSamplingRate:b}),Di.update(s.img.src,x,a),!d){T.next=25;break}return T.prev=14,T.next=17,d(s.img,{resizeWidth:g*b,resizeHeight:p*b});case 17:m=T.sent,T.next=23;break;case 20:T.prev=20,T.t0=T.catch(14),b=1;case 23:T.next=26;break;case 25:b=1;case 26:return x=$s($s({},this.getImageSync(i,a)),{},{downSampled:m,downSamplingRate:b}),Di.update(s.img.src,x,a),T.abrupt("return",x);case 29:case"end":return T.stop()}},n,this,[[14,20]])}));function t(n,i){return e.apply(this,arguments)}return t}()},{key:"createImageTiles",value:function(){var e=bw(fc().mark(function n(i,a,s,o){var l,u,c,h,f;return fc().wrap(function(v){for(;;)switch(v.prev=v.next){case 0:return v.next=2,this.getOrCreateImage(i,o);case 2:return l=v.sent,u=o.ownerDocument.defaultView,c=u.requestAnimationFrame,h=u.cancelAnimationFrame,p0.api={requestAnimationFrame:c,cancelAnimationFrame:h,createCanvas:function(){return lp.createCanvas()}},f=$s($s({},l),p0.sliceImage(l.img,l.tileSize[0],l.tileSize[0],s)),Di.update(l.img.src,f,o),v.abrupt("return",f);case 8:case"end":return v.stop()}},n,this)}));function t(n,i,a,s){return e.apply(this,arguments)}return t}()},{key:"releaseImage",value:function(t,n){Di.release(Xt(t)?t:t.src,n)}},{key:"releaseImageRef",value:function(t){Di.releaseRef(t)}},{key:"getOrCreatePatternSync",value:function(t,n,i,a,s,o,l){var u=this.generatePatternKey(n);if(u&&this.patternCache[u])return this.patternCache[u];var c=n.image,h=n.repetition,f=n.transform,d,v=!1;if(Xt(c)){var g=this.getImageSync(c,t,l);d=g==null?void 0:g.img}else a?(d=a,v=!0):d=c;var p=d&&i.createPattern(d,h);if(p){var m;f?m=zb(Mb(f),new Qn({})):m=Zn(mt()),v&&rh(m,m,[1/s,1/s,1]),p.setTransform({a:m[0],b:m[1],c:m[4],d:m[5],e:m[12]+o[0],f:m[13]+o[1]})}return u&&p&&(this.patternCache[u]=p),p}},{key:"getOrCreateGradient",value:function(t,n){var i=this.generateGradientKey(t),a=t.type,s=t.steps,o=t.min,l=t.width,u=t.height,c=t.angle,h=t.cx,f=t.cy,d=t.size;if(this.gradientCache[i])return this.gradientCache[i];var v=null;if(a===Bs.LinearGradient){var g=xk(o,l,u,c),p=g.x1,m=g.y1,b=g.x2,x=g.y2;v=n.createLinearGradient(p,m,b,x)}else if(a===Bs.RadialGradient){var O=Ek(o,l,u,h,f,d),T=O.x,S=O.y,k=O.r;v=n.createRadialGradient(T,S,0,T,S,k)}return v&&(s.forEach(function(C){var W=C.offset,U=C.color;if(W.unit===ut.kPercentage){var J;(J=v)===null||J===void 0||J.addColorStop(W.value/100,U.toString())}}),this.gradientCache[i]=v),this.gradientCache[i]}},{key:"generateGradientKey",value:function(t){var n=t.type,i=t.min,a=t.width,s=t.height,o=t.steps,l=t.angle,u=t.cx,c=t.cy,h=t.size;return"gradient-".concat(n,"-").concat((l==null?void 0:l.toString())||0,"-").concat((u==null?void 0:u.toString())||0,"-").concat((c==null?void 0:c.toString())||0,"-").concat((h==null?void 0:h.toString())||0,"-").concat(i[0],"-").concat(i[1],"-").concat(a,"-").concat(s,"-").concat(o.map(function(f){var d=f.offset,v=f.color;return"".concat(d).concat(v)}).join("-"))}},{key:"generatePatternKey",value:function(t){var n=t.image,i=t.repetition;if(Xt(n))return"pattern-".concat(n,"-").concat(i);if(n.nodeName==="rect")return"pattern-".concat(n.entity,"-").concat(i)}}])}();m0.isSupportTile=!!lp.createCanvas();function Gf(r){if(!r.complete)return[0,0];var e=r.naturalWidth||r.width,t=r.naturalHeight||r.height,n=256;return[256,512].forEach(function(i){var a=Math.ceil(t/i),s=Math.ceil(e/i);a*s<1e3&&(n=i)}),[n,n]}var xw=function(){function r(){cc(this,r)}return hc(r,[{key:"apply",value:function(t){var n=t.renderingService,i=t.renderingContext,a=t.imagePool,s=i.root.ownerDocument.defaultView,o=function(h,f,d){var v=h.parsedStyle,g=v.width,p=v.height;g&&!p?h.setAttribute("height",d/f*g):!g&&p&&h.setAttribute("width",f/d*p)},l=function(h){var f=h.target,d=f.nodeName,v=f.attributes;if(d===je.IMAGE){var g=v.src,p=v.keepAspectRatio;a.getImageSync(g,f,function(m){var b=m.img,x=b.width,O=b.height;p&&o(f,x,O),f.renderable.dirty=!0,n.dirtify()})}},u=function(h){var f=h.target,d=h.attrName,v=h.prevValue,g=h.newValue;f.nodeName!==je.IMAGE||d!=="src"||(v!==g&&a.releaseImage(v,f),Xt(g)&&a.getOrCreateImage(g,f).then(function(p){var m=p.img,b=m.width,x=m.height;f.attributes.keepAspectRatio&&o(f,b,x),f.renderable.dirty=!0,n.dirtify()}).catch(function(){}))};n.hooks.init.tap(r.tag,function(){s.addEventListener(Qt.MOUNTED,l),s.addEventListener(Qt.ATTR_MODIFIED,u)}),n.hooks.destroy.tap(r.tag,function(){s.removeEventListener(Qt.MOUNTED,l),s.removeEventListener(Qt.ATTR_MODIFIED,u)})}}])}();xw.tag="LoadImage";var AI=function(r){function e(){var t;cc(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=yI(this,e,[].concat(i)),t.name="image-loader",t}return bI(e,r),hc(e,[{key:"init",value:function(n){this.context.imagePool=new m0(this.context,n),this.addRenderingPlugin(new xw)}},{key:"destroy",value:function(){this.removeAllRenderingPlugins()}}])}(Is);var vr=vI("renderState"),Ew=function(){function r(e){Hl(this,r),this.removedRBushNodeAABBs=[],this.renderQueue=[],Object.defineProperty(this,vr,{writable:!0,value:{restoreStack:[],prevObject:null,currentContext:new Map}}),this.clearFullScreenLastFrame=!1,this.clearFullScreen=!1,this.vpMatrix=mt(),this.dprMatrix=mt(),this.tmpMat4=mt(),this.vec3a=Me(),this.vec3b=Me(),this.vec3c=Me(),this.vec3d=Me(),this.canvasRendererPluginOptions=e}return Xl(r,[{key:"apply",value:function(t,n){var i=this;this.context=t;var a=this.context,s=a.config,o=a.camera,l=a.renderingService,u=a.renderingContext,c=a.rBushRoot,h=a.pathGeneratorFactory,f=s.renderer.getConfig().enableRenderingOptimization;s.renderer.getConfig().enableDirtyCheck=!1,s.renderer.getConfig().enableDirtyRectangleRendering=!1,this.rBush=c,this.pathGeneratorFactory=h;var d=t.contextService,v=u.root.ownerDocument.defaultView,g=function(x){var O=x.target,T=O.rBushNode;T.aabb&&i.removedRBushNodeAABBs.push(T.aabb)},p=function(x){var O=x.target,T=O.rBushNode;T.aabb&&i.removedRBushNodeAABBs.push(T.aabb)};l.hooks.init.tap(r.tag,function(){v.addEventListener(Qt.UNMOUNTED,g),v.addEventListener(Qt.CULLED,p);var b=d.getDPR(),x=s.width,O=s.height,T=d.getContext();i.clearRect(T,0,0,x*b,O*b,s.background)}),l.hooks.destroy.tap(r.tag,function(){v.removeEventListener(Qt.UNMOUNTED,g),v.removeEventListener(Qt.CULLED,p),i.renderQueue=[],i.removedRBushNodeAABBs=[],ns(i,vr)[vr]={restoreStack:[],prevObject:null,currentContext:null}}),l.hooks.beginFrame.tap(r.tag,function(){var b,x=d.getContext(),O=d.getDPR(),T=s.width,S=s.height,k=i.canvasRendererPluginOptions,C=k.dirtyObjectNumThreshold,W=k.dirtyObjectRatioThreshold,U=l.getStats(),J=U.total,te=U.rendered,ie=te/J;i.clearFullScreen=i.clearFullScreenLastFrame||!((b=v.context.renderingPlugins[1])!==null&&b!==void 0&&b.isFirstTimeRenderingFinished)||l.disableDirtyRectangleRendering()||te>C&&ie>W,x&&(typeof x.resetTransform=="function"?x.resetTransform():x.setTransform(1,0,0,1,0,0),i.clearFullScreen&&i.clearRect(x,0,0,T*O,S*O,s.background))});var m=function(x,O){for(var T=[x];T.length>0;){var S=T.pop();S.isVisible()&&!S.isCulled()&&(f?i.renderDisplayObjectOptimized(S,O,i.context,ns(i,vr)[vr],n):i.renderDisplayObject(S,O,i.context,ns(i,vr)[vr],n));for(var k=S.sortable.sorted||S.childNodes,C=k.length-1;C>=0;C--)T.push(k[C])}};l.hooks.endFrame.tap(r.tag,function(){if(u.root.childNodes.length===0){i.clearFullScreenLastFrame=!0;return}f=s.renderer.getConfig().enableRenderingOptimization,ns(i,vr)[vr]={restoreStack:[],prevObject:null,currentContext:ns(i,vr)[vr].currentContext},ns(i,vr)[vr].currentContext.clear(),i.clearFullScreenLastFrame=!1;var b=d.getContext(),x=d.getDPR();if(vi(i.dprMatrix,[x,x,1]),Ut(i.vpMatrix,i.dprMatrix,o.getOrthoMatrix()),i.clearFullScreen)f?(b.save(),m(u.root,b),b.restore()):m(u.root,b),i.removedRBushNodeAABBs=[];else{var O=i.safeMergeAABB.apply(i,[i.mergeDirtyAABBs(i.renderQueue)].concat(fI(i.removedRBushNodeAABBs.map(function(Ve){var qe=Ve.minX,lt=Ve.minY,Ct=Ve.maxX,Vt=Ve.maxY,qt=new Rn;return qt.setMinMax([qe,lt,0],[Ct,Vt,0]),qt}))));if(i.removedRBushNodeAABBs=[],Rn.isEmpty(O)){i.renderQueue=[];return}var T=i.convertAABB2Rect(O),S=T.x,k=T.y,C=T.width,W=T.height,U=Dn(i.vec3a,[S,k,0],i.vpMatrix),J=Dn(i.vec3b,[S+C,k,0],i.vpMatrix),te=Dn(i.vec3c,[S,k+W,0],i.vpMatrix),ie=Dn(i.vec3d,[S+C,k+W,0],i.vpMatrix),ae=Math.min(U[0],J[0],ie[0],te[0]),ve=Math.min(U[1],J[1],ie[1],te[1]),Z=Math.max(U[0],J[0],ie[0],te[0]),H=Math.max(U[1],J[1],ie[1],te[1]),X=Math.floor(ae),q=Math.floor(ve),oe=Math.ceil(Z-ae),de=Math.ceil(H-ve);b.save(),i.clearRect(b,X,q,oe,de,s.background),b.beginPath(),b.rect(X,q,oe,de),b.clip(),b.setTransform(i.vpMatrix[0],i.vpMatrix[1],i.vpMatrix[4],i.vpMatrix[5],i.vpMatrix[12],i.vpMatrix[13]);var Oe=s.renderer.getConfig(),Be=Oe.enableDirtyRectangleRenderingDebug;Be&&v.dispatchEvent(new Yr(Ci.DIRTY_RECTANGLE,{dirtyRect:{x:X,y:q,width:oe,height:de}}));var Ge=i.searchDirtyObjects(O);Ge.sort(function(Ve,qe){return Ve.sortable.renderOrder-qe.sortable.renderOrder}).forEach(function(Ve){Ve&&Ve.isVisible()&&!Ve.isCulled()&&i.renderDisplayObject(Ve,b,i.context,ns(i,vr)[vr],n)}),b.restore(),i.renderQueue.forEach(function(Ve){i.saveDirtyAABB(Ve)}),i.renderQueue=[]}ns(i,vr)[vr].restoreStack.forEach(function(){b.restore()}),ns(i,vr)[vr].restoreStack=[]}),l.hooks.render.tap(r.tag,function(b){i.clearFullScreen||i.renderQueue.push(b)})}},{key:"clearRect",value:function(t,n,i,a,s,o){t.clearRect(n,i,a,s),o&&(t.fillStyle=o,t.fillRect(n,i,a,s))}},{key:"renderDisplayObjectOptimized",value:function(t,n,i,a,s){var o=t.nodeName,l=!1,u=!1,c=this.context.styleRendererFactory[o],h=this.pathGeneratorFactory[o],f=t.parsedStyle.clipPath;if(f){l=!a.prevObject||!wg(f.getWorldTransform(),a.prevObject.getWorldTransform()),l&&(this.applyWorldTransform(n,f),a.prevObject=null);var d=this.pathGeneratorFactory[f.nodeName];d&&(n.save(),u=!0,n.beginPath(),d(n,f.parsedStyle),n.closePath(),n.clip())}if(c){l=!a.prevObject||!wg(t.getWorldTransform(),a.prevObject.getWorldTransform()),l&&this.applyWorldTransform(n,t);var v=!a.prevObject;if(!v){var g=a.prevObject.nodeName;o===je.TEXT?v=g!==je.TEXT:o===je.IMAGE?v=g!==je.IMAGE:v=g===je.TEXT||g===je.IMAGE}c.applyStyleToContext(n,t,v,a),a.prevObject=t}h&&(n.beginPath(),h(n,t.parsedStyle),o!==je.LINE&&o!==je.PATH&&o!==je.POLYLINE&&n.closePath()),c&&c.drawToContext(n,t,ns(this,vr)[vr],this,s),u&&n.restore(),t.renderable.dirty=!1}},{key:"renderDisplayObject",value:function(t,n,i,a,s){var o=t.nodeName,l=a.restoreStack[a.restoreStack.length-1];l&&!(t.compareDocumentPosition(l)&Kn.DOCUMENT_POSITION_CONTAINS)&&(n.restore(),a.restoreStack.pop());var u=this.context.styleRendererFactory[o],c=this.pathGeneratorFactory[o],h=t.parsedStyle.clipPath;if(h){this.applyWorldTransform(n,h);var f=this.pathGeneratorFactory[h.nodeName];f&&(n.save(),a.restoreStack.push(t),n.beginPath(),f(n,h.parsedStyle),n.closePath(),n.clip())}u&&(this.applyWorldTransform(n,t),n.save(),this.applyAttributesToContext(n,t)),c&&(n.beginPath(),c(n,t.parsedStyle),o!==je.LINE&&o!==je.PATH&&o!==je.POLYLINE&&n.closePath()),u&&(u.render(n,t.parsedStyle,t,i,this,s),n.restore()),t.renderable.dirty=!1}},{key:"applyAttributesToContext",value:function(t,n){var i=n.parsedStyle,a=i.stroke,s=i.fill,o=i.opacity,l=i.lineDash,u=i.lineDashOffset;l&&t.setLineDash(l),vt(u)||(t.lineDashOffset=u),vt(o)||(t.globalAlpha*=o),!vt(a)&&!Array.isArray(a)&&!a.isNone&&(t.strokeStyle=n.attributes.stroke),!vt(s)&&!Array.isArray(s)&&!s.isNone&&(t.fillStyle=n.attributes.fill)}},{key:"convertAABB2Rect",value:function(t){var n=t.getMin(),i=t.getMax(),a=Math.floor(n[0]),s=Math.floor(n[1]),o=Math.ceil(i[0]),l=Math.ceil(i[1]),u=o-a,c=l-s;return{x:a,y:s,width:u,height:c}}},{key:"mergeDirtyAABBs",value:function(t){var n=new Rn;return t.forEach(function(i){var a=i.getRenderBounds();n.add(a);var s=i.renderable.dirtyRenderBounds;s&&n.add(s)}),n}},{key:"searchDirtyObjects",value:function(t){var n=t.getMin(),i=Ff(n,2),a=i[0],s=i[1],o=t.getMax(),l=Ff(o,2),u=l[0],c=l[1],h=this.rBush.search({minX:a,minY:s,maxX:u,maxY:c});return h.map(function(f){var d=f.displayObject;return d})}},{key:"saveDirtyAABB",value:function(t){var n=t.renderable;n.dirtyRenderBounds||(n.dirtyRenderBounds=new Rn);var i=t.getRenderBounds();i&&n.dirtyRenderBounds.update(i.center,i.halfExtents)}},{key:"applyWorldTransform",value:function(t,n,i){i?(_n(this.tmpMat4,n.getLocalTransform()),Ut(this.tmpMat4,i,this.tmpMat4),Ut(this.tmpMat4,this.vpMatrix,this.tmpMat4)):(_n(this.tmpMat4,n.getWorldTransform()),Ut(this.tmpMat4,this.vpMatrix,this.tmpMat4)),t.setTransform(this.tmpMat4[0],this.tmpMat4[1],this.tmpMat4[4],this.tmpMat4[5],this.tmpMat4[12],this.tmpMat4[13])}},{key:"safeMergeAABB",value:function(){for(var t=new Rn,n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return i.forEach(function(s){t.add(s)}),t}}])}();Ew.tag="CanvasRenderer";function Hf(r,e,t,n,i,a,s){var o,l;if(r.image.nodeName==="rect"){var u=r.image.parsedStyle,c=u.width,h=u.height;l=n.contextService.getDPR();var f=n.config.offscreenCanvas;o=a.offscreenCanvasCreator.getOrCreateCanvas(f),o.width=c*l,o.height=h*l;var d=a.offscreenCanvasCreator.getOrCreateContext(f),v={restoreStack:[],prevObject:null,currentContext:new Map};r.image.forEach(function(p){i.renderDisplayObject(p,d,n,v,a)}),v.restoreStack.forEach(function(){d.restore()})}var g=s.getOrCreatePatternSync(e,r,t,o,l,e.getGeometryBounds().min,function(){e.renderable.dirty=!0,n.renderingService.dirtify()});return g}function Xf(r,e,t,n){var i;if(r.type===Bs.LinearGradient||r.type===Bs.RadialGradient){var a=e.getGeometryBounds(),s=a&&a.halfExtents[0]*2||1,o=a&&a.halfExtents[1]*2||1,l=a&&a.min||[0,0];i=n.getOrCreateGradient(c0(c0({type:r.type},r.value),{},{min:l,width:s,height:o}),t)}return i}var Wf=["shadowBlur","shadowOffsetX","shadowOffsetY"],ww=["lineCap","lineJoin","miterLimit"],xr={globalAlpha:1,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,shadowColor:"#000",filter:"none",globalCompositeOperation:"source-over",strokeStyle:"#000",strokeOpacity:1,lineWidth:1,lineDash:[],lineDashOffset:0,lineCap:"butt",lineJoin:"miter",miterLimit:10,fillStyle:"#000",fillOpacity:1},Pw={};function $n(r,e,t,n){var i=n.has(e)?n.get(e):xr[e];return i!==t&&(e==="lineDash"?r.setLineDash(t):r[e]=t,n.set(e,t)),i}var OI=function(){function r(e){Hl(this,r),this.imagePool=e}return Xl(r,[{key:"applyAttributesToContext",value:function(t,n){}},{key:"render",value:function(t,n,i,a,s,o){}},{key:"applyCommonStyleToContext",value:function(t,n,i,a){var s=i?Pw:a.prevObject.parsedStyle,o=n.parsedStyle;(i||o.opacity!==s.opacity)&&$n(t,"globalAlpha",vt(o.opacity)?xr.globalAlpha:o.opacity,a.currentContext),(i||o.blend!==s.blend)&&$n(t,"globalCompositeOperation",vt(o.blend)?xr.globalCompositeOperation:o.blend,a.currentContext)}},{key:"applyStrokeFillStyleToContext",value:function(t,n,i,a){var s=i?Pw:a.prevObject.parsedStyle,o=n.parsedStyle,l=o.lineWidth,u=l===void 0?xr.lineWidth:l,c=o.fill&&!o.fill.isNone,h=o.stroke&&!o.stroke.isNone&&u>0;if(h){if(i||n.attributes.stroke!==a.prevObject.attributes.stroke){var f=!vt(o.stroke)&&!Array.isArray(o.stroke)&&!o.stroke.isNone?n.attributes.stroke:xr.strokeStyle;$n(t,"strokeStyle",f,a.currentContext)}(i||o.lineWidth!==s.lineWidth)&&$n(t,"lineWidth",vt(o.lineWidth)?xr.lineWidth:o.lineWidth,a.currentContext),(i||o.lineDash!==s.lineDash)&&$n(t,"lineDash",o.lineDash||xr.lineDash,a.currentContext),(i||o.lineDashOffset!==s.lineDashOffset)&&$n(t,"lineDashOffset",vt(o.lineDashOffset)?xr.lineDashOffset:o.lineDashOffset,a.currentContext);for(var d=0;d<ww.length;d++){var v=ww[d];(i||o[v]!==s[v])&&$n(t,v,vt(o[v])?xr[v]:o[v],a.currentContext)}}if(c&&(i||n.attributes.fill!==a.prevObject.attributes.fill)){var g=!vt(o.fill)&&!Array.isArray(o.fill)&&!o.fill.isNone?n.attributes.fill:xr.fillStyle;$n(t,"fillStyle",g,a.currentContext)}}},{key:"applyStyleToContext",value:function(t,n,i,a){var s=n.nodeName;this.applyCommonStyleToContext(t,n,i,a),s===je.IMAGE||this.applyStrokeFillStyleToContext(t,n,i,a)}},{key:"applyShadowAndFilterStyleToContext",value:function(t,n,i,a){var s=n.parsedStyle;if(i){$n(t,"shadowColor",s.shadowColor.toString(),a.currentContext);for(var o=0;o<Wf.length;o++){var l=Wf[o];$n(t,l,s[l]||xr[l],a.currentContext)}}s.filter&&s.filter.length&&$n(t,"filter",n.attributes.filter,a.currentContext)}},{key:"clearShadowAndFilterStyleForContext",value:function(t,n,i,a){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;if(n){$n(t,"shadowColor",xr.shadowColor,a.currentContext);for(var o=0;o<Wf.length;o++){var l=Wf[o];$n(t,l,xr[l],a.currentContext)}}if(i)if(n&&s){var u=t.filter;!vt(u)&&u.indexOf("drop-shadow")>-1&&$n(t,"filter",u.replace(/drop-shadow\([^)]*\)/,"").trim()||xr.filter,a.currentContext)}else $n(t,"filter",xr.filter,a.currentContext)}},{key:"fillToContext",value:function(t,n,i,a,s){var o=this,l=n.parsedStyle,u=l.fill,c=l.fillRule,h=null;if(Array.isArray(u)&&u.length>0)u.forEach(function(d){var v,g=$n(t,"fillStyle",Xf(d,n,t,o.imagePool),i.currentContext);h=(v=h)!==null&&v!==void 0?v:g,c?t.fill(c):t.fill()});else{if(To(u)){var f=Hf(u,n,t,n.ownerDocument.defaultView.context,a,s,this.imagePool);f&&(t.fillStyle=f,h=!0)}c?t.fill(c):t.fill()}h!==null&&$n(t,"fillStyle",h,i.currentContext)}},{key:"strokeToContext",value:function(t,n,i,a,s){var o=this,l=n.parsedStyle.stroke,u=null;if(Array.isArray(l)&&l.length>0)l.forEach(function(d){var v,g=$n(t,"strokeStyle",Xf(d,n,t,o.imagePool),i.currentContext);u=(v=u)!==null&&v!==void 0?v:g,t.stroke()});else{if(To(l)){var c=Hf(l,n,t,n.ownerDocument.defaultView.context,a,s,this.imagePool);if(c){var h,f=$n(t,"strokeStyle",c,i.currentContext);u=(h=u)!==null&&h!==void 0?h:f}}t.stroke()}u!==null&&$n(t,"strokeStyle",u,i.currentContext)}},{key:"drawToContext",value:function(t,n,i,a,s){var o,l=n.nodeName,u=n.parsedStyle,c=u.opacity,h=c===void 0?xr.globalAlpha:c,f=u.fillOpacity,d=f===void 0?xr.fillOpacity:f,v=u.strokeOpacity,g=v===void 0?xr.strokeOpacity:v,p=u.lineWidth,m=p===void 0?xr.lineWidth:p,b=u.fill&&!u.fill.isNone,x=u.stroke&&!u.stroke.isNone&&m>0;if(!(!b&&!x)){var O=!vt(u.shadowColor)&&u.shadowBlur>0,T=u.shadowType==="inner",S=((o=u.fill)===null||o===void 0?void 0:o.alpha)===0,k=!!(u.filter&&u.filter.length),C=O&&x&&(l===je.PATH||l===je.LINE||l===je.POLYLINE||S||T),W=null;if(b){C||this.applyShadowAndFilterStyleToContext(t,n,O,i);var U=h*d;W=$n(t,"globalAlpha",U,i.currentContext),this.fillToContext(t,n,i,a,s),C||this.clearShadowAndFilterStyleForContext(t,O,k,i)}if(x){var J=!1,te=h*g,ie=$n(t,"globalAlpha",te,i.currentContext);if(W=b?W:ie,C&&(this.applyShadowAndFilterStyleToContext(t,n,O,i),J=!0,T)){var ae=t.globalCompositeOperation;t.globalCompositeOperation="source-atop",this.strokeToContext(t,n,i,a,s),t.globalCompositeOperation=ae,this.clearShadowAndFilterStyleForContext(t,O,k,i,!0)}this.strokeToContext(t,n,i,a,s),J&&this.clearShadowAndFilterStyleForContext(t,O,k,i)}W!==null&&$n(t,"globalAlpha",W,i.currentContext)}}}])}(),y0=function(r){function e(){return Hl(this,e),Bf(this,e,arguments)}return zf(e,r),Xl(e,[{key:"render",value:function(n,i,a,s,o,l){var u=i.fill,c=i.fillRule,h=i.opacity,f=h===void 0?1:h,d=i.fillOpacity,v=d===void 0?1:d,g=i.stroke,p=i.strokeOpacity,m=p===void 0?1:p,b=i.lineWidth,x=b===void 0?1:b,O=i.lineCap,T=i.lineJoin,S=i.shadowType,k=i.shadowColor,C=i.shadowBlur,W=i.filter,U=i.miterLimit,J=u&&!u.isNone,te=g&&!g.isNone&&x>0,ie=(u==null?void 0:u.alpha)===0,ae=!!(W&&W.length),ve=!vt(k)&&C>0,Z=a.nodeName,H=S==="inner",X=te&&ve&&(Z===je.PATH||Z===je.LINE||Z===je.POLYLINE||ie||H);J&&(n.globalAlpha=f*v,X||Vf(a,n,ve),Mw(n,a,u,c,s,o,l,this.imagePool),X||this.clearShadowAndFilter(n,ae,ve)),te&&(n.globalAlpha=f*m,n.lineWidth=x,vt(U)||(n.miterLimit=U),vt(O)||(n.lineCap=O),vt(T)||(n.lineJoin=T),X&&(H&&(n.globalCompositeOperation="source-atop"),Vf(a,n,!0),H&&(b0(n,a,g,s,o,l,this.imagePool),n.globalCompositeOperation=xr.globalCompositeOperation,this.clearShadowAndFilter(n,ae,!0))),b0(n,a,g,s,o,l,this.imagePool))}},{key:"clearShadowAndFilter",value:function(n,i,a){if(a&&(n.shadowColor="transparent",n.shadowBlur=0),i){var s=n.filter;!vt(s)&&s.indexOf("drop-shadow")>-1&&(n.filter=s.replace(/drop-shadow\([^)]*\)/,"").trim()||"none")}}}])}(OI);function Vf(r,e,t){var n=r.parsedStyle,i=n.filter,a=n.shadowColor,s=n.shadowBlur,o=n.shadowOffsetX,l=n.shadowOffsetY;i&&i.length&&(e.filter=r.style.filter),t&&(e.shadowColor=a.toString(),e.shadowBlur=s||0,e.shadowOffsetX=o||0,e.shadowOffsetY=l||0)}function Mw(r,e,t,n,i,a,s,o){var l=arguments.length>8&&arguments[8]!==void 0?arguments[8]:!1;Array.isArray(t)?t.forEach(function(u){r.fillStyle=Xf(u,e,r,o),l||(n?r.fill(n):r.fill())}):(To(t)&&(r.fillStyle=Hf(t,e,r,i,a,s,o)),l||(n?r.fill(n):r.fill()))}function b0(r,e,t,n,i,a,s){var o=arguments.length>7&&arguments[7]!==void 0?arguments[7]:!1;Array.isArray(t)?t.forEach(function(l){r.strokeStyle=Xf(l,e,r,s),o||r.stroke()}):(To(t)&&(r.strokeStyle=Hf(t,e,r,n,i,a,s)),o||r.stroke())}function kI(r,e){var t=Ff(r,4),n=t[0],i=t[1],a=t[2],s=t[3],o=Ff(e,4),l=o[0],u=o[1],c=o[2],h=o[3],f=Math.max(n,l),d=Math.max(i,u),v=Math.min(n+a,l+c),g=Math.min(i+s,u+h);return v<=f||g<=d?null:[f,d,v-f,g-d]}function CI(r,e){var t=Dn(Me(),[r[0],r[1],0],e),n=Dn(Me(),[r[0]+r[2],r[1],0],e),i=Dn(Me(),[r[0],r[1]+r[3],0],e),a=Dn(Me(),[r[0]+r[2],r[1]+r[3],0],e);return[Math.min(t[0],n[0],i[0],a[0]),Math.min(t[1],n[1],i[1],a[1]),Math.max(t[0],n[0],i[0],a[0])-Math.min(t[0],n[0],i[0],a[0]),Math.max(t[1],n[1],i[1],a[1])-Math.min(t[1],n[1],i[1],a[1])]}var NI=function(r){function e(){return Hl(this,e),Bf(this,e,arguments)}return zf(e,r),Xl(e,[{key:"renderDownSampled",value:function(n,i,a,s){var o=s.src,l=s.imageCache;if(!l.downSampled){this.imagePool.createDownSampledImage(o,a).then(function(u){a.renderable.dirty=!0,a.ownerDocument.defaultView.context.renderingService.dirtify()}).catch(function(){});return}n.drawImage(l.downSampled,Math.floor(s.drawRect[0]),Math.floor(s.drawRect[1]),Math.ceil(s.drawRect[2]),Math.ceil(s.drawRect[3]))}},{key:"renderTile",value:function(n,i,a,s){var o=s.src,l=s.imageCache,u=s.imageRect,c=s.drawRect,h=l.size,f=n.getTransform(),d=f.a,v=f.b,g=f.c,p=f.d,m=f.e,b=f.f;if(n.resetTransform(),!(l!=null&&l.gridSize)){this.imagePool.createImageTiles(o,[],function(){a.renderable.dirty=!0,a.ownerDocument.defaultView.context.renderingService.dirtify()},a).catch(function(){});return}for(var x=[h[0]/u[2],h[1]/u[3]],O=[l.tileSize[0]/x[0],l.tileSize[1]/x[1]],T=[Math.floor((c[0]-u[0])/O[0]),Math.ceil((c[0]+c[2]-u[0])/O[0])],S=T[0],k=T[1],C=[Math.floor((c[1]-u[1])/O[1]),Math.ceil((c[1]+c[3]-u[1])/O[1])],W=C[0],U=C[1],J=W;J<=U;J++)for(var te=S;te<=k;te++){var ie=l.tiles[J][te];if(ie){var ae=[Math.floor(u[0]+ie.tileX*O[0]),Math.floor(u[1]+ie.tileY*O[1]),Math.ceil(O[0]),Math.ceil(O[1])];n.drawImage(ie.data,ae[0],ae[1],ae[2],ae[3])}}n.setTransform(d,v,g,p,m,b)}},{key:"render",value:function(n,i,a){var s=i.x,o=s===void 0?0:s,l=i.y,u=l===void 0?0:l,c=i.width,h=i.height,f=i.src,d=i.shadowColor,v=i.shadowBlur,g=this.imagePool.getImageSync(f,a),p=g==null?void 0:g.img,m=c,b=h;if(p){m||(m=p.width),b||(b=p.height);var x=!vt(d)&&v>0;Vf(a,n,x);try{var O=a.ownerDocument.defaultView.getContextService().getDomElement(),T=O.width,S=O.height,k=n.getTransform(),C=k.a,W=k.b,U=k.c,J=k.d,te=k.e,ie=k.f,ae=di(C,U,0,0,W,J,0,0,0,0,1,0,te,ie,0,1),ve=CI([o,u,m,b],ae),Z=kI([0,0,T,S],ve);if(!Z)return;if(!a.ownerDocument.defaultView.getConfig().enableLargeImageOptimization){e.renderFull(n,i,a,{image:p,drawRect:[o,u,m,b]});return}var H=ve[2]/g.size[0];if(H<(g.downSamplingRate||.5)){this.renderDownSampled(n,i,a,{src:f,imageCache:g,drawRect:[o,u,m,b]});return}if(!m0.isSupportTile){e.renderFull(n,i,a,{image:p,drawRect:[o,u,m,b]});return}this.renderTile(n,i,a,{src:f,imageCache:g,imageRect:ve,drawRect:Z})}catch(X){}}}},{key:"drawToContext",value:function(n,i,a,s,o){this.render(n,i.parsedStyle,i)}}],[{key:"renderFull",value:function(n,i,a,s){n.drawImage(s.image,Math.floor(s.drawRect[0]),Math.floor(s.drawRect[1]),Math.ceil(s.drawRect[2]),Math.ceil(s.drawRect[3]))}}])}(y0),_I=function(r){function e(){return Hl(this,e),Bf(this,e,arguments)}return zf(e,r),Xl(e,[{key:"render",value:function(n,i,a,s,o,l){a.getBounds();var u=i.lineWidth,c=u===void 0?1:u,h=i.textAlign,f=h===void 0?"start":h,d=i.textBaseline,v=d===void 0?"alphabetic":d,g=i.lineJoin,p=g===void 0?"miter":g,m=i.miterLimit,b=m===void 0?10:m,x=i.letterSpacing,O=x===void 0?0:x,T=i.stroke,S=i.fill,k=i.fillRule,C=i.fillOpacity,W=C===void 0?1:C,U=i.strokeOpacity,J=U===void 0?1:U,te=i.opacity,ie=te===void 0?1:te,ae=i.metrics,ve=i.x,Z=ve===void 0?0:ve,H=i.y,X=H===void 0?0:H,q=i.dx,oe=i.dy,de=i.shadowColor,Oe=i.shadowBlur,Be=ae.font,Ge=ae.lines,Ve=ae.height,qe=ae.lineHeight,lt=ae.lineMetrics;n.font=Be,n.lineWidth=c,n.textAlign=f==="middle"?"center":f;var Ct=v;Ct==="alphabetic"&&(Ct="bottom"),n.lineJoin=p,vt(b)||(n.miterLimit=b);var Vt=X;v==="middle"?Vt+=-Ve/2-qe/2:v==="bottom"||v==="alphabetic"||v==="ideographic"?Vt+=-Ve:(v==="top"||v==="hanging")&&(Vt+=-qe);var qt=Z+(q||0);Vt+=oe||0,Ge.length===1&&(Ct==="bottom"?(Ct="middle",Vt-=.5*Ve):Ct==="top"&&(Ct="middle",Vt+=.5*Ve)),n.textBaseline=Ct;var Nr=!vt(de)&&Oe>0;Vf(a,n,Nr);for(var un=0;un<Ge.length;un++){var ui=c/2+qt;Vt+=qe,!vt(T)&&!T.isNone&&c&&this.drawLetterSpacing(n,a,Ge[un],lt[un],f,ui,Vt,O,S,k,W,T,J,ie,!0,s,o,l),vt(S)||this.drawLetterSpacing(n,a,Ge[un],lt[un],f,ui,Vt,O,S,k,W,T,J,ie,!1,s,o,l)}}},{key:"drawLetterSpacing",value:function(n,i,a,s,o,l,u,c,h,f,d,v,g,p,m,b,x,O){if(c===0){m?this.strokeText(n,i,a,l,u,v,g,b,x,O):this.fillText(n,i,a,l,u,h,f,d,p,b,x,O);return}var T=n.textAlign;n.textAlign="left";var S=l;o==="center"||o==="middle"?S=l-s.width/2:(o==="right"||o==="end")&&(S=l-s.width);for(var k=Array.from(a),C=n.measureText(a).width,W=0,U=0;U<k.length;++U){var J=k[U];m?this.strokeText(n,i,J,S,u,v,g,b,x,O):this.fillText(n,i,J,S,u,h,f,d,p,b,x,O),W=n.measureText(a.substring(U+1)).width,S+=C-W+c,C=W}n.textAlign=T}},{key:"fillText",value:function(n,i,a,s,o,l,u,c,h,f,d,v){Mw(n,i,l,u,f,d,v,this.imagePool,!0);var g,p=!vt(c)&&c!==1;p&&(g=n.globalAlpha,n.globalAlpha=c*h),n.fillText(a,s,o),p&&(n.globalAlpha=g)}},{key:"strokeText",value:function(n,i,a,s,o,l,u,c,h,f){b0(n,i,l,c,h,f,this.imagePool,!0);var d,v=!vt(u)&&u!==1;v&&(d=n.globalAlpha,n.globalAlpha=u),n.strokeText(a,s,o),v&&(n.globalAlpha=d)}},{key:"drawToContext",value:function(n,i,a,s,o){this.render(n,i.parsedStyle,i,i.ownerDocument.defaultView.context,s,o)}}])}(y0),RI=function(r){function e(){var t,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return Hl(this,e),t=Bf(this,e),t.name="canvas-renderer",t.options=n,t}return zf(e,r),Xl(e,[{key:"init",value:function(){var n,i=c0({dirtyObjectNumThreshold:500,dirtyObjectRatioThreshold:.8},this.options),a=this.context.imagePool,s=new y0(a),o=(n={},Pi(Pi(Pi(Pi(Pi(Pi(Pi(Pi(Pi(Pi(n,je.CIRCLE,s),je.ELLIPSE,s),je.RECT,s),je.IMAGE,new NI(a)),je.TEXT,new _I(a)),je.LINE,s),je.POLYLINE,s),je.POLYGON,s),je.PATH,s),je.GROUP,void 0),Pi(Pi(Pi(n,je.HTML,void 0),je.MESH,void 0),je.FRAGMENT,void 0));this.context.defaultStyleRendererFactory=o,this.context.styleRendererFactory=o,this.addRenderingPlugin(new Ew(i))}},{key:"destroy",value:function(){this.removeAllRenderingPlugins(),delete this.context.defaultStyleRendererFactory,delete this.context.styleRendererFactory}}])}(Is);var Sw=function(){function r(){tt(this,r)}return nt(r,[{key:"apply",value:function(t,n){var i=this,a=t.renderingService,s=t.renderingContext,o=t.config;this.context=t;var l=s.root.ownerDocument.defaultView,u=function(C){a.hooks.pointerMove.call(C)},c=function(C){a.hooks.pointerUp.call(C)},h=function(C){a.hooks.pointerDown.call(C)},f=function(C){a.hooks.pointerOver.call(C)},d=function(C){a.hooks.pointerOut.call(C)},v=function(C){a.hooks.pointerCancel.call(C)},g=function(C){a.hooks.pointerWheel.call(C)},p=function(C){a.hooks.click.call(C)},m=function(C){n.globalThis.document.addEventListener("pointermove",u,!0),C.addEventListener("pointerdown",h,!0),C.addEventListener("pointerleave",d,!0),C.addEventListener("pointerover",f,!0),n.globalThis.addEventListener("pointerup",c,!0),n.globalThis.addEventListener("pointercancel",v,!0)},b=function(C){C.addEventListener("touchstart",h,!0),C.addEventListener("touchend",c,!0),C.addEventListener("touchmove",u,!0),C.addEventListener("touchcancel",v,!0)},x=function(C){n.globalThis.document.addEventListener("mousemove",u,!0),C.addEventListener("mousedown",h,!0),C.addEventListener("mouseout",d,!0),C.addEventListener("mouseover",f,!0),n.globalThis.addEventListener("mouseup",c,!0)},O=function(C){n.globalThis.document.removeEventListener("pointermove",u,!0),C.removeEventListener("pointerdown",h,!0),C.removeEventListener("pointerleave",d,!0),C.removeEventListener("pointerover",f,!0),n.globalThis.removeEventListener("pointerup",c,!0),n.globalThis.removeEventListener("pointercancel",v,!0)},T=function(C){C.removeEventListener("touchstart",h,!0),C.removeEventListener("touchend",c,!0),C.removeEventListener("touchmove",u,!0),C.removeEventListener("touchcancel",v,!0)},S=function(C){n.globalThis.document.removeEventListener("mousemove",u,!0),C.removeEventListener("mousedown",h,!0),C.removeEventListener("mouseout",d,!0),C.removeEventListener("mouseover",f,!0),n.globalThis.removeEventListener("mouseup",c,!0)};a.hooks.init.tap(r.tag,function(){var k=i.context.contextService.getDomElement();n.globalThis.navigator.msPointerEnabled?(k.style.msContentZooming="none",k.style.msTouchAction="none"):l.supportsPointerEvents&&(k.style.touchAction="none"),l.supportsPointerEvents?m(k):x(k),l.supportsTouchEvents&&b(k),o.useNativeClickEvent&&k.addEventListener("click",p,!0),k.addEventListener("wheel",g,{passive:!0,capture:!0})}),a.hooks.destroy.tap(r.tag,function(){var k=i.context.contextService.getDomElement();n.globalThis.navigator.msPointerEnabled?(k.style.msContentZooming="",k.style.msTouchAction=""):l.supportsPointerEvents&&(k.style.touchAction=""),l.supportsPointerEvents?O(k):S(k),l.supportsTouchEvents&&T(k),o.useNativeClickEvent&&k.removeEventListener("click",p,!0),k.removeEventListener("wheel",g,!0)})}}])}();Sw.tag="DOMInteraction";var LI=function(r){function e(){var t;tt(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=nn(this,e,[].concat(i)),t.name="dom-interaction",t}return rn(e,r),nt(e,[{key:"init",value:function(){this.addRenderingPlugin(new Sw)}},{key:"destroy",value:function(){this.removeAllRenderingPlugins()}}])}(Is);var DI="g-canvas-camera",Tw=function(){function r(){tt(this,r),this.displayObjectHTMLElementMap=new WeakMap}return nt(r,[{key:"joinTransformMatrix",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0,0,0];return"matrix(".concat([t[0],t[1],t[4],t[5],t[12]+n[0],t[13]+n[1]].join(","),")")}},{key:"apply",value:function(t,n){var i=this,a=t.camera,s=t.renderingContext,o=t.renderingService;this.context=t;var l=s.root.ownerDocument.defaultView,u=l.context.eventService.nativeHTMLMap,c=function(m,b){b.style.transform=i.joinTransformMatrix(m.getWorldTransform(),m.getOrigin())},h=function(m){var b=m.target;if(b.nodeName===je.HTML){i.$camera||(i.$camera=i.createCamera(a));var x=i.getOrCreateEl(b);i.$camera.appendChild(x),Object.keys(b.attributes).forEach(function(O){i.updateAttribute(O,b)}),c(b,x),u.set(x,b)}},f=function(m){var b=m.target;if(b.nodeName===je.HTML&&i.$camera){var x=i.getOrCreateEl(b);x&&(x.remove(),u.delete(x))}},d=function(m){var b=m.target;if(b.nodeName===je.HTML){var x=m.attrName;i.updateAttribute(x,b)}},v=function(m){var b=m.target,x=b.nodeName===je.FRAGMENT?b.childNodes:[b];x.forEach(function(O){if(O.nodeName===je.HTML){var T=i.getOrCreateEl(O);c(O,T)}})},g=function(){if(i.$camera){var m=i.context.config,b=m.width,x=m.height;i.$camera.parentElement.style.width="".concat(b||0,"px"),i.$camera.parentElement.style.height="".concat(x||0,"px")}};o.hooks.init.tap(r.tag,function(){l.addEventListener(Ci.RESIZE,g),l.addEventListener(Qt.MOUNTED,h),l.addEventListener(Qt.UNMOUNTED,f),l.addEventListener(Qt.ATTR_MODIFIED,d),l.addEventListener(Qt.BOUNDS_CHANGED,v)}),o.hooks.endFrame.tap(r.tag,function(){i.$camera&&s.renderReasons.has(Tl.CAMERA_CHANGED)&&(i.$camera.style.transform=i.joinTransformMatrix(a.getOrthoMatrix()))}),o.hooks.destroy.tap(r.tag,function(){i.$camera&&i.$camera.remove(),l.removeEventListener(Ci.RESIZE,g),l.removeEventListener(Qt.MOUNTED,h),l.removeEventListener(Qt.UNMOUNTED,f),l.removeEventListener(Qt.ATTR_MODIFIED,d),l.removeEventListener(Qt.BOUNDS_CHANGED,v)})}},{key:"createCamera",value:function(t){var n=this.context.config,i=n.document,a=n.width,s=n.height,o=this.context.contextService.getDomElement(),l=o.parentNode;if(l){var u=DI,c=l.querySelector("#".concat(u));if(!c){var h=(i||document).createElement("div");h.style.overflow="hidden",h.style.pointerEvents="none",h.style.position="absolute",h.style.left="0px",h.style.top="0px",h.style.width="".concat(a||0,"px"),h.style.height="".concat(s||0,"px");var f=(i||document).createElement("div");c=f,f.id=u,f.style.position="absolute",f.style.left="".concat(o.offsetLeft||0,"px"),f.style.top="".concat(o.offsetTop||0,"px"),f.style.transformOrigin="left top",f.style.transform=this.joinTransformMatrix(t.getOrthoMatrix()),f.style.pointerEvents="none",f.style.width="100%",f.style.height="100%",h.appendChild(f),l.appendChild(h)}return c}return null}},{key:"getOrCreateEl",value:function(t){var n=this.context.config.document,i=this.displayObjectHTMLElementMap.get(t);return i||(i=(n||document).createElement("div"),t.parsedStyle.$el=i,this.displayObjectHTMLElementMap.set(t,i),t.id&&(i.id=t.id),t.name&&i.setAttribute("name",t.name),t.className&&(i.className=t.className),i.style.position="absolute",i.style["will-change"]="transform",i.style.transform=this.joinTransformMatrix(t.getWorldTransform(),t.getOrigin())),i}},{key:"updateAttribute",value:function(t,n){var i=this.getOrCreateEl(n);switch(t){case"innerHTML":var a=n.parsedStyle.innerHTML;Xt(a)?i.innerHTML=a:(i.innerHTML="",i.appendChild(a));break;case"x":i.style.left="".concat(n.parsedStyle.x,"px");break;case"y":i.style.top="".concat(n.parsedStyle.y,"px");break;case"transformOrigin":var s=n.parsedStyle.transformOrigin;i.style["transform-origin"]="".concat(s[0].buildCSSText(null,null,"")," ").concat(s[1].buildCSSText(null,null,""));break;case"width":var o=n.parsedStyle.width;i.style.width=ht(o)?"".concat(o,"px"):o.toString();break;case"height":var l=n.parsedStyle.height;i.style.height=ht(l)?"".concat(l,"px"):l.toString();break;case"zIndex":var u=n.parsedStyle.zIndex;i.style["z-index"]="".concat(u);break;case"visibility":var c=n.parsedStyle.visibility;i.style.visibility=c;break;case"pointerEvents":var h=n.parsedStyle.pointerEvents,f=h===void 0?"auto":h;i.style.pointerEvents=f;break;case"opacity":var d=n.parsedStyle.opacity;i.style.opacity="".concat(d);break;case"fill":var v=n.parsedStyle.fill,g="";Ph(v)?v.isNone?g="transparent":g=n.getAttribute("fill"):Array.isArray(v)?g=n.getAttribute("fill"):To(v),i.style.background=g;break;case"stroke":var p=n.parsedStyle.stroke,m="";Ph(p)?p.isNone?m="transparent":m=n.getAttribute("stroke"):Array.isArray(p)?m=n.getAttribute("stroke"):To(p),i.style["border-color"]=m,i.style["border-style"]="solid";break;case"lineWidth":var b=n.parsedStyle.lineWidth;i.style["border-width"]="".concat(b||0,"px");break;case"lineDash":i.style["border-style"]="dashed";break;case"filter":var x=n.style.filter;i.style.filter=x;break;default:!vt(n.style[t])&&n.style[t]!==""&&(i.style[t]=n.style[t])}}}])}();Tw.tag="HTMLRendering";var II=function(r){function e(){var t;tt(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=nn(this,e,[].concat(i)),t.name="html-renderer",t}return rn(e,r),nt(e,[{key:"init",value:function(){this.addRenderingPlugin(new Tw)}},{key:"destroy",value:function(){this.removeAllRenderingPlugins()}}])}(Is);function dc(){"use strict";dc=function(){return e};var r,e={},t=Object.prototype,n=t.hasOwnProperty,i=Object.defineProperty||function(Z,H,X){Z[H]=X.value},a=typeof Symbol=="function"?Symbol:{},s=a.iterator||"@@iterator",o=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function u(Z,H,X){return Object.defineProperty(Z,H,{value:X,enumerable:!0,configurable:!0,writable:!0}),Z[H]}try{u({},"")}catch(Z){u=function(X,q,oe){return X[q]=oe}}function c(Z,H,X,q){var oe=H&&H.prototype instanceof m?H:m,de=Object.create(oe.prototype),Oe=new ae(q||[]);return i(de,"_invoke",{value:U(Z,X,Oe)}),de}function h(Z,H,X){try{return{type:"normal",arg:Z.call(H,X)}}catch(q){return{type:"throw",arg:q}}}e.wrap=c;var f="suspendedStart",d="suspendedYield",v="executing",g="completed",p={};function m(){}function b(){}function x(){}var O={};u(O,s,function(){return this});var T=Object.getPrototypeOf,S=T&&T(T(ve([])));S&&S!==t&&n.call(S,s)&&(O=S);var k=x.prototype=m.prototype=Object.create(O);function C(Z){["next","throw","return"].forEach(function(H){u(Z,H,function(X){return this._invoke(H,X)})})}function W(Z,H){function X(oe,de,Oe,Be){var Ge=h(Z[oe],Z,de);if(Ge.type!=="throw"){var Ve=Ge.arg,qe=Ve.value;return qe&&js(qe)=="object"&&n.call(qe,"__await")?H.resolve(qe.__await).then(function(lt){X("next",lt,Oe,Be)},function(lt){X("throw",lt,Oe,Be)}):H.resolve(qe).then(function(lt){Ve.value=lt,Oe(Ve)},function(lt){return X("throw",lt,Oe,Be)})}Be(Ge.arg)}var q;i(this,"_invoke",{value:function(de,Oe){function Be(){return new H(function(Ge,Ve){X(de,Oe,Ge,Ve)})}return q=q?q.then(Be,Be):Be()}})}function U(Z,H,X){var q=f;return function(oe,de){if(q===v)throw Error("Generator is already running");if(q===g){if(oe==="throw")throw de;return{value:r,done:!0}}for(X.method=oe,X.arg=de;;){var Oe=X.delegate;if(Oe){var Be=J(Oe,X);if(Be){if(Be===p)continue;return Be}}if(X.method==="next")X.sent=X._sent=X.arg;else if(X.method==="throw"){if(q===f)throw q=g,X.arg;X.dispatchException(X.arg)}else X.method==="return"&&X.abrupt("return",X.arg);q=v;var Ge=h(Z,H,X);if(Ge.type==="normal"){if(q=X.done?g:d,Ge.arg===p)continue;return{value:Ge.arg,done:X.done}}Ge.type==="throw"&&(q=g,X.method="throw",X.arg=Ge.arg)}}}function J(Z,H){var X=H.method,q=Z.iterator[X];if(q===r)return H.delegate=null,X==="throw"&&Z.iterator.return&&(H.method="return",H.arg=r,J(Z,H),H.method==="throw")||X!=="return"&&(H.method="throw",H.arg=new TypeError("The iterator does not provide a '"+X+"' method")),p;var oe=h(q,Z.iterator,H.arg);if(oe.type==="throw")return H.method="throw",H.arg=oe.arg,H.delegate=null,p;var de=oe.arg;return de?de.done?(H[Z.resultName]=de.value,H.next=Z.nextLoc,H.method!=="return"&&(H.method="next",H.arg=r),H.delegate=null,p):de:(H.method="throw",H.arg=new TypeError("iterator result is not an object"),H.delegate=null,p)}function te(Z){var H={tryLoc:Z[0]};1 in Z&&(H.catchLoc=Z[1]),2 in Z&&(H.finallyLoc=Z[2],H.afterLoc=Z[3]),this.tryEntries.push(H)}function ie(Z){var H=Z.completion||{};H.type="normal",delete H.arg,Z.completion=H}function ae(Z){this.tryEntries=[{tryLoc:"root"}],Z.forEach(te,this),this.reset(!0)}function ve(Z){if(Z||Z===""){var H=Z[s];if(H)return H.call(Z);if(typeof Z.next=="function")return Z;if(!isNaN(Z.length)){var X=-1,q=function oe(){for(;++X<Z.length;)if(n.call(Z,X))return oe.value=Z[X],oe.done=!1,oe;return oe.value=r,oe.done=!0,oe};return q.next=q}}throw new TypeError(js(Z)+" is not iterable")}return b.prototype=x,i(k,"constructor",{value:x,configurable:!0}),i(x,"constructor",{value:b,configurable:!0}),b.displayName=u(x,l,"GeneratorFunction"),e.isGeneratorFunction=function(Z){var H=typeof Z=="function"&&Z.constructor;return!!H&&(H===b||(H.displayName||H.name)==="GeneratorFunction")},e.mark=function(Z){return Object.setPrototypeOf?Object.setPrototypeOf(Z,x):(Z.__proto__=x,u(Z,l,"GeneratorFunction")),Z.prototype=Object.create(k),Z},e.awrap=function(Z){return{__await:Z}},C(W.prototype),u(W.prototype,o,function(){return this}),e.AsyncIterator=W,e.async=function(Z,H,X,q,oe){oe===void 0&&(oe=Promise);var de=new W(c(Z,H,X,q),oe);return e.isGeneratorFunction(H)?de:de.next().then(function(Oe){return Oe.done?Oe.value:de.next()})},C(k),u(k,l,"Generator"),u(k,s,function(){return this}),u(k,"toString",function(){return"[object Generator]"}),e.keys=function(Z){var H=Object(Z),X=[];for(var q in H)X.push(q);return X.reverse(),function oe(){for(;X.length;){var de=X.pop();if(de in H)return oe.value=de,oe.done=!1,oe}return oe.done=!0,oe}},e.values=ve,ae.prototype={constructor:ae,reset:function(H){if(this.prev=0,this.next=0,this.sent=this._sent=r,this.done=!1,this.delegate=null,this.method="next",this.arg=r,this.tryEntries.forEach(ie),!H)for(var X in this)X.charAt(0)==="t"&&n.call(this,X)&&!isNaN(+X.slice(1))&&(this[X]=r)},stop:function(){this.done=!0;var H=this.tryEntries[0].completion;if(H.type==="throw")throw H.arg;return this.rval},dispatchException:function(H){if(this.done)throw H;var X=this;function q(Ve,qe){return Oe.type="throw",Oe.arg=H,X.next=Ve,qe&&(X.method="next",X.arg=r),!!qe}for(var oe=this.tryEntries.length-1;oe>=0;--oe){var de=this.tryEntries[oe],Oe=de.completion;if(de.tryLoc==="root")return q("end");if(de.tryLoc<=this.prev){var Be=n.call(de,"catchLoc"),Ge=n.call(de,"finallyLoc");if(Be&&Ge){if(this.prev<de.catchLoc)return q(de.catchLoc,!0);if(this.prev<de.finallyLoc)return q(de.finallyLoc)}else if(Be){if(this.prev<de.catchLoc)return q(de.catchLoc,!0)}else{if(!Ge)throw Error("try statement without catch or finally");if(this.prev<de.finallyLoc)return q(de.finallyLoc)}}}},abrupt:function(H,X){for(var q=this.tryEntries.length-1;q>=0;--q){var oe=this.tryEntries[q];if(oe.tryLoc<=this.prev&&n.call(oe,"finallyLoc")&&this.prev<oe.finallyLoc){var de=oe;break}}de&&(H==="break"||H==="continue")&&de.tryLoc<=X&&X<=de.finallyLoc&&(de=null);var Oe=de?de.completion:{};return Oe.type=H,Oe.arg=X,de?(this.method="next",this.next=de.finallyLoc,p):this.complete(Oe)},complete:function(H,X){if(H.type==="throw")throw H.arg;return H.type==="break"||H.type==="continue"?this.next=H.arg:H.type==="return"?(this.rval=this.arg=H.arg,this.method="return",this.next="end"):H.type==="normal"&&X&&(this.next=X),p},finish:function(H){for(var X=this.tryEntries.length-1;X>=0;--X){var q=this.tryEntries[X];if(q.finallyLoc===H)return this.complete(q.completion,q.afterLoc),ie(q),p}},catch:function(H){for(var X=this.tryEntries.length-1;X>=0;--X){var q=this.tryEntries[X];if(q.tryLoc===H){var oe=q.completion;if(oe.type==="throw"){var de=oe.arg;ie(q)}return de}}throw Error("illegal catch attempt")},delegateYield:function(H,X,q){return this.delegate={iterator:ve(H),resultName:X,nextLoc:q},this.method==="next"&&(this.arg=r),p}},e}function Aw(r,e,t,n,i,a,s){try{var o=r[a](s),l=o.value}catch(u){return void t(u)}o.done?e(l):Promise.resolve(l).then(n,i)}function Ow(r){return function(){var e=this,t=arguments;return new Promise(function(n,i){var a=r.apply(e,t);function s(l){Aw(a,n,i,s,o,"next",l)}function o(l){Aw(a,n,i,s,o,"throw",l)}s(void 0)})}}var BI=function(){function r(e){tt(this,r),this.renderingContext=e.renderingContext,this.canvasConfig=e.config}return nt(r,[{key:"init",value:function(){var t=this.canvasConfig,n=t.container,i=t.canvas;if(i)this.$canvas=i,n&&i.parentElement!==n&&n.appendChild(i),this.$container=i.parentElement,this.canvasConfig.container=this.$container;else if(n&&(this.$container=Xt(n)?document.getElementById(n):n,this.$container)){var a=document.createElement("canvas");this.$container.appendChild(a),this.$container.style.position||(this.$container.style.position="relative"),this.$canvas=a}this.context=this.$canvas.getContext("2d"),this.resize(this.canvasConfig.width,this.canvasConfig.height)}},{key:"getContext",value:function(){return this.context}},{key:"getDomElement",value:function(){return this.$canvas}},{key:"getDPR",value:function(){return this.dpr}},{key:"getBoundingClientRect",value:function(){if(this.$canvas.getBoundingClientRect)return this.$canvas.getBoundingClientRect()}},{key:"destroy",value:function(){this.$container&&this.$canvas&&this.$canvas.parentNode&&this.$container.removeChild(this.$canvas)}},{key:"resize",value:function(t,n){var i=this.canvasConfig.devicePixelRatio,a=i||Gu&&window.devicePixelRatio||1;a=a>=1?Math.ceil(a):1,this.dpr=a,this.$canvas&&(this.$canvas.width=this.dpr*t,this.$canvas.height=this.dpr*n,RC(this.$canvas,t,n)),this.renderingContext.renderReasons.add(Tl.CAMERA_CHANGED)}},{key:"applyCursorStyle",value:function(t){this.$container&&this.$container.style&&(this.$container.style.cursor=t)}},{key:"toDataURL",value:function(){var e=Ow(dc().mark(function n(){var i,a,s,o=arguments;return dc().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:return i=o.length>0&&o[0]!==void 0?o[0]:{},a=i.type,s=i.encoderOptions,u.abrupt("return",this.context.canvas.toDataURL(a,s));case 3:case"end":return u.stop()}},n,this)}));function t(){return e.apply(this,arguments)}return t}()}])}(),zI=function(r){function e(){var t;tt(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=nn(this,e,[].concat(i)),t.name="canvas-context-register",t}return rn(e,r),nt(e,[{key:"init",value:function(){this.context.ContextService=BI}},{key:"destroy",value:function(){delete this.context.ContextService}}])}(Is),Yf=function(r){function e(t){var n;return tt(this,e),n=nn(this,e,[t]),n.registerPlugin(new zI),n.registerPlugin(new AI),n.registerPlugin(new AD),n.registerPlugin(new RI),n.registerPlugin(new LI),n.registerPlugin(new nI),n.registerPlugin(new II),n}return rn(e,r),nt(e)}(GO);function FI(r,e){if(r){var t;if(pi(r))for(var n=0,i=r.length;n<i&&(t=e(r[n],n),t!==!1);n++);else if(nr(r)){for(var a in r)if(r.hasOwnProperty(a)&&(t=e(r[a],a),t===!1))break}}}var kw=FI,jI=Object.prototype.hasOwnProperty,jo=function(r,e){if(r===null||!Il(r))return{};var t={};return kw(e,function(n){jI.call(r,n)&&(t[n]=r[n])}),t},GI=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class Uf extends Oa{constructor(e){super(Object.assign(Object.assign({},e),{style:Object.assign({},Uf.defaultStyleProps,e.style)})),this.rootPointerEvent=new kh(null),this.forwardEvents=t=>{const n=this.context.canvas,i=n.context.renderingContext.root.ownerDocument.defaultView;this.normalizeToPointerEvent(t,i).forEach(s=>{const o=this.bootstrapEvent(this.rootPointerEvent,s,i,t);ac(n.context.eventService,"mappingTable.pointerupoutside",[]),n.context.eventService.mapEvent(o)})}}get eventService(){return this.context.canvas.context.eventService}get events(){return[We.CLICK,We.POINTER_DOWN,We.POINTER_MOVE,We.POINTER_UP,We.POINTER_OVER,We.POINTER_LEAVE]}getDomElement(){return this.getShape("key").getDomElement()}getKeyStyle(e){const t=jo(e,["dx","dy","innerHTML","pointerEvents","cursor"]),{dx:n=0,dy:i=0}=t,a=GI(t,["dx","dy"]),[s,o]=this.getSize(e);return Object.assign(Object.assign({x:n,y:i},a),{width:s,height:o})}drawKeyShape(e,t){const n=this.getKeyStyle(e),{x:i,y:a,width:s=0,height:o=0}=n,l=this.upsert("key-container",wa,{x:i,y:a,width:s,height:o,opacity:0},t);return this.upsert("key",Lh,n,l)}connectedCallback(){if(!(this.context.canvas.getRenderer("main")instanceof Yf))return;const n=this.getDomElement();this.events.forEach(i=>{n.addEventListener(i,this.forwardEvents)})}attributeChangedCallback(e,t,n){e==="zIndex"&&t!==n&&(this.getDomElement().style.zIndex=n)}destroy(){const e=this.getDomElement();this.events.forEach(t=>{e.removeEventListener(t,this.forwardEvents)}),super.destroy()}normalizeToPointerEvent(e,t){const n=[];if(t.isTouchEvent(e))for(let i=0;i<e.changedTouches.length;i++){const a=e.changedTouches[i];Et(a.button)&&(a.button=0),Et(a.buttons)&&(a.buttons=1),Et(a.isPrimary)&&(a.isPrimary=e.touches.length===1&&e.type==="touchstart"),Et(a.width)&&(a.width=a.radiusX||1),Et(a.height)&&(a.height=a.radiusY||1),Et(a.tiltX)&&(a.tiltX=0),Et(a.tiltY)&&(a.tiltY=0),Et(a.pointerType)&&(a.pointerType="touch"),Et(a.pointerId)&&(a.pointerId=a.identifier||0),Et(a.pressure)&&(a.pressure=a.force||.5),Et(a.twist)&&(a.twist=0),Et(a.tangentialPressure)&&(a.tangentialPressure=0),a.isNormalized=!0,a.type=e.type,n.push(a)}else if(t.isMouseEvent(e)){const i=e;Et(i.isPrimary)&&(i.isPrimary=!0),Et(i.width)&&(i.width=1),Et(i.height)&&(i.height=1),Et(i.tiltX)&&(i.tiltX=0),Et(i.tiltY)&&(i.tiltY=0),Et(i.pointerType)&&(i.pointerType="mouse"),Et(i.pointerId)&&(i.pointerId=1),Et(i.pressure)&&(i.pressure=.5),Et(i.twist)&&(i.twist=0),Et(i.tangentialPressure)&&(i.tangentialPressure=0),i.isNormalized=!0,n.push(i)}else n.push(e);return n}transferMouseData(e,t){e.isTrusted=t.isTrusted,e.srcElement=t.srcElement,e.timeStamp=performance.now(),e.type=t.type,e.altKey=t.altKey,e.metaKey=t.metaKey,e.shiftKey=t.shiftKey,e.ctrlKey=t.ctrlKey,e.button=t.button,e.buttons=t.buttons,e.client.x=t.clientX,e.client.y=t.clientY,e.movement.x=t.movementX,e.movement.y=t.movementY,e.page.x=t.pageX,e.page.y=t.pageY,e.screen.x=t.screenX,e.screen.y=t.screenY,e.relatedTarget=null}bootstrapEvent(e,t,n,i){e.view=n,e.originalEvent=null,e.nativeEvent=i,e.pointerId=t.pointerId,e.width=t.width,e.height=t.height,e.isPrimary=t.isPrimary,e.pointerType=t.pointerType,e.pressure=t.pressure,e.tangentialPressure=t.tangentialPressure,e.tiltX=t.tiltX,e.tiltY=t.tiltY,e.twist=t.twist,this.transferMouseData(e,t);const{x:a,y:s}=this.getViewportXY(t);e.viewport.x=a,e.viewport.y=s;const[o,l]=this.context.canvas.getCanvasByViewport([a,s]);return e.canvas.x=o,e.canvas.y=l,e.global.copyFrom(e.canvas),e.offset.copyFrom(e.canvas),e.isTrusted=i.isTrusted,e.type==="pointerleave"&&(e.type="pointerout"),e}getViewportXY(e){let t,n;const{offsetX:i,offsetY:a,clientX:s,clientY:o}=e;if(this.context.canvas.context.config.supportsCSSTransform&&!vt(i)&&!vt(a))t=i,n=a;else{const l=this.eventService.client2Viewport({x:s,y:o});t=l.x,n=l.y}return{x:t,y:n}}onframe(){super.onframe();const{opacity:e}=this.attributes;this.getDomElement().style.opacity=`${e}`}}Uf.defaultStyleProps={size:[160,80],halo:!1,icon:!1,label:!1,pointerEvents:"auto"};var Cw=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class Zf extends Oa{constructor(e){super(Tr({style:Zf.defaultStyleProps},e))}getKeyStyle(e){const[t,n]=this.getSize(e),i=super.getKeyStyle(e),{fillOpacity:a,opacity:s=a}=i,o=Cw(i,["fillOpacity","opacity"]);return Object.assign(Object.assign({opacity:s},o),{width:t,height:n,x:-t/2,y:-n/2})}getHaloStyle(e){if(e.halo===!1)return!1;const t=this.getShape("key").attributes,{fill:n,stroke:i}=t,a=Cw(t,["fill","stroke"]),s=br(this.getGraphicStyle(e),"halo"),o=Number(s.lineWidth),[l,u]=jt(this.getSize(e),[o,o]);return Object.assign(Object.assign({},s),{width:l,height:u,fill:"transparent",x:-l/2,y:-u/2})}getIconStyle(e){const t=super.getIconStyle(e),[n,i]=this.getSize(e);return t?Object.assign({width:n*Ps,height:i*Ps},t):!1}drawKeyShape(e,t){const n=this.upsert("key",n0,this.getKeyStyle(e),t);return i0(this),n}drawHaloShape(e,t){this.upsert("halo",wa,this.getHaloStyle(e),t)}update(e){super.update(e),e&&("x"in e||"y"in e||"z"in e)&&a0(this)}}Zf.defaultStyleProps={size:32};class HI extends Oa{constructor(e){super(e)}getKeyStyle(e){const[t,n]=this.getSize(e);return Object.assign(Object.assign({},super.getKeyStyle(e)),{width:t,height:n,x:-t/2,y:-n/2})}getIconStyle(e){const t=super.getIconStyle(e),{width:n,height:i}=this.getShape("key").attributes;return t?Object.assign({width:n*Ps,height:i*Ps},t):!1}drawKeyShape(e,t){return this.upsert("key",wa,this.getKeyStyle(e),t)}}class XI extends Of{constructor(e){super(e)}getInnerR(e){return e.innerR||this.getOuterR(e)*3/8}getOuterR(e){return Math.min(...this.getSize(e))/2}getPoints(e){return C6(this.getOuterR(e),this.getInnerR(e))}getIconStyle(e){const t=super.getIconStyle(e),n=this.getInnerR(e)*2*Ps;return t?Object.assign({width:n,height:n},t):!1}getPortXY(e,t){const{placement:n="top"}=t,i=this.getShape("key").getLocalBounds(),a=N6(this.getOuterR(e),this.getInnerR(e));return T0(i,n,a,!1)}}class Kf extends Of{constructor(e){super(Tr({style:Kf.defaultStyleProps},e))}getPoints(e){const{direction:t}=e,[n,i]=this.getSize(e);return _6(n,i,t)}getPortXY(e,t){const{direction:n}=e,{placement:i="top"}=t,a=this.getShape("key").getLocalBounds(),[s,o]=this.getSize(e),l=R6(s,o,n);return T0(a,i,l,!1)}getIconStyle(e){const{icon:t,iconText:n,iconSrc:i,direction:a}=e;if(t===!1||ts(n||i))return!1;const s=br(this.getGraphicStyle(e),"icon"),o=this.getShape("key").getLocalBounds(),[l,u]=S_(o,a),c=T_(o,a)*2*Ps;return Object.assign({x:l,y:u,width:c,height:c},s)}}Kf.defaultStyleProps={size:40,direction:"up"};var Nw=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class Wl extends Oa{constructor(e){super(Tr({style:Wl.defaultStyleProps},e)),this.type="combo",this.updateComboPosition(this.parsedAttributes)}getKeySize(e){const{collapsed:t,childrenNode:n=[]}=e;return n.length===0?this.getEmptyKeySize(e):t?this.getCollapsedKeySize(e):this.getExpandedKeySize(e)}getEmptyKeySize(e){const{padding:t,collapsedSize:n}=e,[i,a,s,o]=Ja(t);return jt(ra(n),[o+a,i+s,0])}getCollapsedKeySize(e){return ra(e.collapsedSize)}getExpandedKeySize(e){const t=this.getContentBBox(e);return[qa(t),$a(t),0]}getContentBBox(e){const{childrenNode:t=[],padding:n}=e,i=t.map(s=>this.context.element.getElement(s)).filter(Boolean);if(i.length===0){const s=new Rn,{x:o=0,y:l=0,size:u}=e,[c,h]=ra(u);return s.setMinMax([o-c/2,l-h/2,0],[o+c/2,l+h/2,0]),s}const a=Ju(i.map(s=>s.getBounds()));return n?Ws(a,n):a}drawCollapsedMarkerShape(e,t){const n=this.getCollapsedMarkerStyle(e);Aa(this,"collapsedMarker",n)&&(this.upsert("collapsed-marker",HE,n,t),i0(this))}getCollapsedMarkerStyle(e){if(!e.collapsed||!e.collapsedMarker)return!1;const t=br(this.getGraphicStyle(e),"collapsedMarker"),{type:n}=t,i=Nw(t,["type"]),a=this.getShape("key"),[s,o]=ws(a.getLocalBounds(),"center"),l=Object.assign(Object.assign({},i),{x:s,y:o});if(n){const u=this.getCollapsedMarkerText(n,e);Object.assign(l,{text:u})}return l}getCollapsedMarkerText(e,t){const{childrenData:n=[]}=t,{model:i}=this.context;return e==="descendant-count"?i.getDescendantsData(this.id).length.toString():e==="child-count"?n.length.toString():e==="node-count"?i.getDescendantsData(this.id).filter(a=>i.getElementType(Re(a))==="node").length.toString():pt(e)?e(n):""}getComboPosition(e){const{x:t=0,y:n=0,collapsed:i,childrenData:a=[]}=e;if(a.length===0)return[+t,+n,0];if(i){const{model:s}=this.context,o=s.getDescendantsData(this.id).filter(l=>!s.isCombo(Re(l)));if(o.length>0&&o.some(wL)){const l=o.reduce((u,c)=>jt(u,Br(c)),[0,0,0]);return Sa(l,o.length)}return[+t,+n,0]}return this.getContentBBox(e).center}getComboStyle(e){const[t,n]=this.getComboPosition(e);return{x:t,y:n,transform:[["translate",t,n]]}}updateComboPosition(e){const t=this.getComboStyle(e);Object.assign(this.style,t);const{x:n,y:i}=t;this.context.model.syncComboDatum({id:this.id,style:{x:n,y:i}}),a0(this)}render(e,t=this){super.render(e,t),this.drawCollapsedMarkerShape(e,t)}update(e={}){super.update(e),this.updateComboPosition(this.parsedAttributes)}onframe(){super.onframe(),this.attributes.collapsed||this.updateComboPosition(this.parsedAttributes),this.drawKeyShape(this.parsedAttributes,this)}animate(e,t){const n=super.animate(this.attributes.collapsed?e:e.map(i=>{var{x:a,y:s,z:o,transform:l}=i,u=Nw(i,["x","y","z","transform"]);return u}),t);return n&&new Proxy(n,{set:(i,a,s)=>(a==="currentTime"&&Promise.resolve().then(()=>this.onframe()),Reflect.set(i,a,s))})}}Wl.defaultStyleProps={childrenNode:[],droppable:!0,draggable:!0,collapsed:!1,collapsedSize:32,collapsedMarker:!0,collapsedMarkerZIndex:1,collapsedMarkerFontSize:12,collapsedMarkerTextAlign:"center",collapsedMarkerTextBaseline:"middle",collapsedMarkerType:"child-count"};class WI extends Wl{constructor(e){super(e)}drawKeyShape(e,t){return this.upsert("key",Ol,this.getKeyStyle(e),t)}getKeyStyle(e){const{collapsed:t}=e,n=super.getKeyStyle(e),[i]=this.getKeySize(e);return Object.assign(Object.assign(Object.assign({},n),t&&br(n,"collapsed")),{r:i/2})}getCollapsedKeySize(e){const[t,n]=ra(e.collapsedSize),i=Math.max(t,n)/2;return[i*2,i*2,0]}getExpandedKeySize(e){const t=this.getContentBBox(e),[n,i]=Hs(t),a=Math.sqrt(Math.pow(n,2)+Math.pow(i,2))/2;return[a*2,a*2,0]}getIntersectPoint(e,t=!1){const n=this.getShape("key").getBounds();return Pf(e,n,t)}}class VI extends Wl{constructor(e){super(e)}drawKeyShape(e,t){return this.upsert("key",wa,this.getKeyStyle(e),t)}getKeyStyle(e){const t=super.getKeyStyle(e),[n,i]=this.getKeySize(e);return Object.assign(Object.assign(Object.assign({},t),e.collapsed&&br(t,"collapsed")),{width:n,height:i,x:-n/2,y:-i/2})}}var YI=function(r,e){if(!Zu(r))return r;for(var t=[],n=0;n<r.length;n++){var i=r[n];e(i,n)&&t.push(i)}return t},UI=YI,ZI=function(r,e){return Zu(r)?r.indexOf(e)>-1:!1},KI=ZI,QI=function(r,e){return e===void 0&&(e=[]),UI(r,function(t){return!KI(e,t)})},JI=QI;const qI={padding:10};function _w(r,e,t,n,i,a){const{padding:s}=Object.assign(qI,a),o=Xs(t,s),l=Xs(n,s),u=[r,...i,e];let c=null;const h=[];for(let f=0,d=u.length;f<d-1;f++){const v=f+1,g=u[f],p=u[v],m=ML(g,p);let b=null;if(f===0)if(v===d-1)if(o.intersects(l))b=E0(g,p,o,l);else if(!rf(g,o)&&!rf(p,l)){const x=_o(g,o),O=_o(p,l);b=Lw(x,O,ai(x,O)),b.points.unshift(x),b.points.push(O)}else m||(b=e6(g,p,o,l));else Pa(p,o)?b=E0(g,p,o,Xs(p,s),c):m||(b=Qf(g,p,o));else v===d-1?Pa(g,l)?b=E0(g,p,Xs(g,s),l,c):m||(b=Dw(g,p,l,c)):m||(b=Lw(g,p,c));b?(h.push(...b.points),c=b.direction):c=ai(g,p),v<d-1&&h.push(p)}return h.map(Do)}const $I={N:"S",S:"N",W:"E",E:"W"},Rw={N:-Math.PI/2,S:Math.PI/2,E:0,W:Math.PI};function ai(r,e){const[t,n]=r,[i,a]=e;return t===i?n>a?"N":"S":n===a?t>i?"W":"E":null}function x0(r,e){return e==="N"||e==="S"?$a(r):qa(r)}function Lw(r,e,t){const n=[r[0],e[1]],i=[e[0],r[1]],a=ai(r,n),s=ai(r,i),o=t?$I[t]:null,l=a===t||a!==o&&s!==t?n:i;return{points:[l],direction:ai(l,e)}}function Qf(r,e,t){if(rf(r,t)){const n=vc(r,e,t);return{points:[n],direction:ai(n,e)}}else{const n=_o(r,t),a=["left","right"].includes(qu(r,t))?[e[0],n[1]]:[n[0],e[1]];return{points:[a],direction:ai(a,e)}}}function Dw(r,e,t,n){const i=rf(e,t)?e:_o(e,t),a=[[i[0],r[1]],[r[0],i[1]]],s=a.filter(l=>M_(l,t)&&!Ox(l,t,!0)),o=s.filter(l=>ai(l,r)!==n);if(o.length>0){const l=o.find(u=>ai(r,u)===n)||o[0];return{points:[l],direction:ai(l,e)}}else{const l=JI(a,s)[0],u=Us(e,l,x0(t,n)/2);return{points:[vc(u,r,t),u],direction:ai(u,e)}}}function e6(r,e,t,n){let i=Qf(r,e,t);const a=nc(i.points[0]);if(Pa(a,n)){i=Qf(e,r,n);const s=nc(i.points[0]);if(Pa(s,t)){const o=Us(r,a,x0(t,ai(r,a))/2),l=Us(e,s,x0(n,ai(e,s))/2),u=[(o[0]+l[0])/2,(o[1]+l[1])/2],c=Qf(r,u,t),h=Dw(u,e,n,c.direction);i.points=[c.points[0],h.points[0]],i.direction=h.direction}}return i}function E0(r,e,t,n,i){const s=Ju([t,n]),o=Bn(e,s.center)>Bn(r,s.center),[l,u]=o?[e,r]:[r,e],c=$a(s)+qa(s);let h;if(i){const v=[l[0]+c*Math.cos(Rw[i]),l[1]+c*Math.sin(Rw[i])];h=Us(_o(v,s),v,.01)}else h=Us(_o(l,s),l,-.01);let f=vc(h,u,s),d=[rc(h,2),rc(f,2)];if(dr(rc(h),rc(f))){const v=Zp(On(h,l),[1,0,0])+Math.PI/2;f=[u[0]+c*Math.cos(v),u[1]+c*Math.sin(v),0],f=rc(Us(_o(f,s),u,-.01),2);const g=vc(h,f,s);d=[h,g,f]}return{points:o?d.reverse():d,direction:ai(o?h:f,e)}}function vc(r,e,t){let n=[r[0],e[1]];return Pa(n,t)&&(n=[e[0],r[1]]),n}function Iw(r,e,t,n,i){let l=typeof e=="number"?e:.5;e==="start"&&(l=0),e==="end"&&(l=.99);const u=zr(r.getPoint(l)),c=zr(r.getPoint(l+.01));let h=e==="start"?"left":e==="end"?"right":"center";if(ME(u,c)||!t){const[m,b]=Bw(r,l,n,i);return{transform:[["translate",m,b]],textAlign:h}}let f=Math.atan2(c[1]-u[1],c[0]-u[0]);c[0]<u[0]&&(h=h==="center"?h:h==="left"?"right":"left",n*=-1,f+=Math.PI);const[v,g]=Bw(r,l,n,i,f),p=[["translate",v,g],["rotate",f/Math.PI*180]];return{textAlign:h,transform:p}}function t6(r,e,t,n,i){var a,s;const o=((a=r.badge)===null||a===void 0?void 0:a.getGeometryBounds().halfExtents[0])*2||0,l=((s=r.label)===null||s===void 0?void 0:s.getGeometryBounds().halfExtents[0])*2||0;return Iw(r.key,t,!0,(l?(l/2+o/2)*(e==="suffix"?1:-1):0)+n,i)}function Bw(r,e,t,n,i){const[a,s]=zr(r.getPoint(e));let o=t,l=n;return i&&(o=t*Math.cos(i)-n*Math.sin(i),l=t*Math.sin(i)+n*Math.cos(i)),[a+o,s+l]}function w0(r,e,t,n){if(dr(r,e))return r;const i=On(e,r),a=[r[0]+t*i[0],r[1]+t*i[1]],s=Es(wf(i,!1));return a[0]+=n*s[0],a[1]+=n*s[1],a}function n6(r){return ht(r)?[r,-r]:r}function r6(r){return ht(r)?[r,1-r]:r}function i6(r,e,t){return[["M",r[0],r[1]],["Q",t[0],t[1],e[0],e[1]]]}function zw(r,e,t){return[["M",r[0],r[1]],["C",t[0][0],t[0][1],t[1][0],t[1][1],e[0],e[1]]]}function P0(r,e=0,t=!1){const n=r[0],i=r[r.length-1],a=r.slice(1,r.length-1),s=[["M",n[0],n[1]]];return a.forEach((o,l)=>{const u=a[l-1]||n,c=a[l+1]||i;if(!SL(u,o,c)&&e){const[h,f]=a6(u,o,c,e);s.push(["L",h[0],h[1]],["Q",o[0],o[1],f[0],f[1]],["L",f[0],f[1]])}else s.push(["L",o[0],o[1]])}),s.push(["L",i[0],i[1]]),t&&s.push(["Z"]),s}function a6(r,e,t,n){const i=Ef(r,e),a=Ef(t,e),s=Math.min(n,Math.min(i,a)/2),o=[e[0]-s/i*(e[0]-r[0]),e[1]-s/i*(e[1]-r[1])],l=[e[0]-s/a*(e[0]-t[0]),e[1]-s/a*(e[1]-t[1])];return[o,l]}const s6=r=>{const e=Math.PI/2,t=$a(r)/2,n=qa(r)/2,i=Math.atan2(t,n)/2,a=Math.atan2(n,t)/2;return{top:[-e-a,-e+a],"top-right":[-e+a,-i],"right-top":[-e+a,-i],right:[-i,i],"bottom-right":[i,e-a],"right-bottom":[i,e-a],bottom:[e-a,e+a],"bottom-left":[e+a,Math.PI-i],"left-bottom":[e+a,Math.PI-i],left:[Math.PI-i,Math.PI+i],"top-left":[Math.PI+i,-e-a],"left-top":[Math.PI+i,-e-a]}};function Fw(r,e,t,n,i){const a=Xs(r),s=r.getCenter();let o=n&&to(n),l=i&&to(i);if(!o||!l){const u=s6(a),c=u[e][0],h=u[e][1],[f,d]=Hs(a),v=Math.max(f,d),g=jt(s,[v*Math.cos(c),v*Math.sin(c),0]),p=jt(s,[v*Math.cos(h),v*Math.sin(h),0]);o=O0(r,g),l=O0(r,p),t||([o,l]=[l,o])}return[o,l]}function o6(r,e,t,n,i,a){const s=r.getPorts()[i||a],o=r.getPorts()[a||i];let[l,u]=Fw(r,e,t,s,o);const c=l6(r,l,u,n);return s&&(l=pc(s,c[0])),o&&(u=pc(o,c[c.length-1])),zw(l,u,c)}function l6(r,e,t,n){const i=r.getCenter();if(dr(e,t)){const a=On(e,i),s=[n*Math.sign(a[0])||n/2,n*Math.sign(a[1])||-n/2,0];return[jt(e,s),jt(t,xs(s,[1,-1,1]))]}return[Us(i,e,Bn(i,e)+n),Us(i,t,Bn(i,t)+n)]}function u6(r,e,t,n,i,a,s){const o=A0(r),l=o[a||s],u=o[s||a];let[c,h]=Fw(r,t,n,l,u);const f=c6(r,c,h,i);return l&&(c=pc(l,f[0])),u&&(h=pc(u,f[f.length-1])),P0([c,...f,h],e)}function c6(r,e,t,n){const i=[],a=Xs(r);if(dr(e,t))switch(qu(e,a)){case"left":i.push([e[0]-n,e[1]]),i.push([e[0]-n,e[1]+n]),i.push([e[0],e[1]+n]);break;case"right":i.push([e[0]+n,e[1]]),i.push([e[0]+n,e[1]+n]),i.push([e[0],e[1]+n]);break;case"top":i.push([e[0],e[1]-n]),i.push([e[0]+n,e[1]-n]),i.push([e[0]+n,e[1]]);break;case"bottom":i.push([e[0],e[1]+n]),i.push([e[0]+n,e[1]+n]),i.push([e[0]+n,e[1]]);break}else{const s=qu(e,a),o=qu(t,a);if(s===o){const l=s;let u,c;switch(l){case"left":u=Math.min(e[0],t[0])-n,i.push([u,e[1]]),i.push([u,t[1]]);break;case"right":u=Math.max(e[0],t[0])+n,i.push([u,e[1]]),i.push([u,t[1]]);break;case"top":c=Math.min(e[1],t[1])-n,i.push([e[0],c]),i.push([t[0],c]);break;case"bottom":c=Math.max(e[1],t[1])+n,i.push([e[0],c]),i.push([t[0],c]);break}}else{const l=(f,d)=>({left:[d[0]-n,d[1]],right:[d[0]+n,d[1]],top:[d[0],d[1]-n],bottom:[d[0],d[1]+n]})[f],u=l(s,e),c=l(o,t),h=vc(u,c,a);i.push(u,h,c)}}return i}function M0(r,e){const t=new Set,n=new Set,i=new Set;return r.forEach(a=>{e(a).forEach(o=>{t.add(o),r.includes(o.source)&&r.includes(o.target)?n.add(o):i.add(o)})}),{edges:Array.from(t),internal:Array.from(n),external:Array.from(i)}}function jw(r,e){const t=[];let n=r;for(;n;){t.push(n);const i=e(Re(n));if(i)n=i;else break}if(t.some(i=>{var a;return(a=i.style)===null||a===void 0?void 0:a.collapsed})){const i=t.reverse().findIndex(_i);return t[i]||t.at(-1)}return r}function h6(r,e){return e||(r<4?10:r===4?12:r*2.5)}const f6=(r,e)=>{const t=Math.max(r,e)/2;return[["M",-r/2,0],["A",t,t,0,1,0,2*t-r/2,0],["A",t,t,0,1,0,-r/2,0],["Z"]]},Gw=(r,e)=>[["M",-r/2,0],["L",r/2,-e/2],["L",r/2,e/2],["Z"]],d6=(r,e)=>[["M",-r/2,0],["L",0,-e/2],["L",r/2,0],["L",0,e/2],["Z"]],v6=(r,e)=>[["M",-r/2,0],["L",r/2,-e/2],["L",4*r/5-r/2,0],["L",r/2,e/2],["Z"]],g6=(r,e)=>[["M",-r/2,-e/2],["L",r/2,-e/2],["L",r/2,e/2],["L",-r/2,e/2],["Z"]],p6=(r,e)=>{const t=r/2,n=r/7,i=r-n;return[["M",-t,0],["L",0,-e/2],["L",0,e/2],["Z"],["M",i-t,-e/2],["L",i+n-t,-e/2],["L",i+n-t,e/2],["L",i-t,e/2],["Z"]]},m6=(r,e)=>[["M",r/2,-e/2],["L",-r/2,0],["L",r/2,0],["L",-r/2,0],["L",r/2,e/2]];var Jf=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class eo extends XE{constructor(e){super(Tr({style:eo.defaultStyleProps},e)),this.type="edge"}get sourceNode(){const{sourceNode:e}=this.parsedAttributes;return this.context.element.getElement(e)}get targetNode(){const{targetNode:e}=this.parsedAttributes;return this.context.element.getElement(e)}getKeyStyle(e){const t=this.getGraphicStyle(e),{loop:n}=t,i=Jf(t,["loop"]),{sourceNode:a,targetNode:s}=this,o=n&&T6(a,s)?this.getLoopPath(e):this.getKeyPath(e);return Object.assign({d:o},$p(i,["halo","label","startArrow","endArrow"]))}getLoopPath(e){const{sourcePort:t,targetPort:n}=e,i=this.sourceNode,a=Xs(i),s=Math.max(qa(a),$a(a)),{placement:o,clockwise:l,dist:u=s}=br(this.getGraphicStyle(e),"loop");return o6(i,o,l,u,t,n)}getEndpoints(e,t=!0,n=[]){const{sourcePort:i,targetPort:a}=e,{sourceNode:s,targetNode:o}=this,[l,u]=O6(s,o,i,a);if(!t){const d=l?to(l):s.getCenter(),v=u?to(u):o.getCenter();return[d,v]}const c=typeof n=="function"?n():n,h=Kw(l||s,c[0]||u||o),f=Kw(u||o,c[c.length-1]||l||s);return[h,f]}getHaloStyle(e){if(e.halo===!1)return!1;const t=this.getKeyStyle(e),n=br(this.getGraphicStyle(e),"halo");return Object.assign(Object.assign({},t),n)}getLabelStyle(e){if(e.label===!1||!e.labelText)return!1;const t=br(this.getGraphicStyle(e),"label"),{placement:n,offsetX:i,offsetY:a,autoRotate:s,maxWidth:o}=t,l=Jf(t,["placement","offsetX","offsetY","autoRotate","maxWidth"]),u=Iw(this.shapeMap.key,n,s,i,a),c=this.shapeMap.key.getLocalBounds(),h=FL([c.min,c.max],o);return Object.assign({wordWrapWidth:h},u,l)}getBadgeStyle(e){if(e.badge===!1||!e.badgeText)return!1;const t=br(e,"badge"),{offsetX:n,offsetY:i,placement:a}=t,s=Jf(t,["offsetX","offsetY","placement"]);return Object.assign(s,t6(this.shapeMap,a,e.labelPlacement,n,i))}drawArrow(e,t){var n;const i=t==="start",s=e[t==="start"?"startArrow":"endArrow"],o=this.shapeMap.key;if(s){const l=this.getArrowStyle(e,i);if(!Aa(this,`arrow-${t}`,l))return;const[u,c,h]=i?["markerStart","markerStartOffset","startArrowOffset"]:["markerEnd","markerEndOffset","endArrowOffset"],f=o.parsedStyle[u];if(f)f.attr(l);else{const d=l.src?Dh:gs,v=new d({style:l});o.style[u]=v}o.style[c]=e[h]||l.width/2+ +l.lineWidth}else{const l=i?"markerStart":"markerEnd";(n=o.style[l])===null||n===void 0||n.destroy(),o.style[l]=null}}getArrowStyle(e,t){const n=this.getShape("key").attributes,i=t?"startArrow":"endArrow",a=br(this.getGraphicStyle(e),i),{size:s,type:o}=a,l=Jf(a,["size","type"]),[u,c]=ra(h6(n.lineWidth,s)),f=(pt(o)?o:G[o]||Gw)(u,c);return Object.assign(jo(n,["stroke","strokeOpacity","fillOpacity"]),{width:u,height:c},Object.assign({},f&&{d:f,fill:o==="simple"?"":n.stroke}),l)}drawLabelShape(e,t){const n=this.getLabelStyle(e);Aa(this,"label",n)&&this.upsert("label",Zs,n,t)}drawHaloShape(e,t){const n=this.getHaloStyle(e);Aa(this,"halo",n)&&this.upsert("halo",gs,n,t)}drawBadgeShape(e,t){const n=this.getBadgeStyle(e);Aa(this,"badge",n)&&this.upsert("badge",zl,n,t)}drawSourceArrow(e){this.drawArrow(e,"start")}drawTargetArrow(e){this.drawArrow(e,"end")}drawKeyShape(e,t){const n=this.getKeyStyle(e);if(Aa(this,"key",n))return this.upsert("key",gs,n,t)}render(e=this.parsedAttributes,t=this){this.drawKeyShape(e,t),this.getShape("key")&&(this.drawSourceArrow(e),this.drawTargetArrow(e),this.drawLabelShape(e,t),this.drawHaloShape(e,t),this.drawBadgeShape(e,t))}onframe(){this.drawKeyShape(this.parsedAttributes,this),this.drawSourceArrow(this.parsedAttributes),this.drawTargetArrow(this.parsedAttributes),this.drawHaloShape(this.parsedAttributes,this),this.drawLabelShape(this.parsedAttributes,this),this.drawBadgeShape(this.parsedAttributes,this)}animate(e,t){const n=super.animate(e,t);return n&&new Proxy(n,{set:(i,a,s)=>(a==="currentTime"&&Promise.resolve().then(()=>this.onframe()),Reflect.set(i,a,s))})}}eo.defaultStyleProps={badge:!0,badgeOffsetX:0,badgeOffsetY:0,badgePlacement:"suffix",isBillboard:!0,label:!0,labelAutoRotate:!0,labelIsBillboard:!0,labelMaxWidth:"80%",labelOffsetX:4,labelOffsetY:0,labelPlacement:"center",labelTextBaseline:"middle",labelWordWrap:!1,halo:!1,haloDroppable:!1,haloLineDash:0,haloLineWidth:12,haloPointerEvents:"none",haloStrokeOpacity:.25,haloZIndex:-1,loop:!0,startArrow:!1,startArrowLineDash:0,startArrowLineJoin:"round",startArrowLineWidth:1,startArrowTransformOrigin:"center",startArrowType:"vee",endArrow:!1,endArrowLineDash:0,endArrowLineJoin:"round",endArrowLineWidth:1,endArrowTransformOrigin:"center",endArrowType:"vee",loopPlacement:"top",loopClockwise:!0};class Go extends eo{constructor(e){super(Tr({style:Go.defaultStyleProps},e))}getKeyPath(e){const[t,n]=this.getEndpoints(e),{controlPoints:i,curvePosition:a,curveOffset:s}=e,o=this.getControlPoints(t,n,r6(a),n6(s),i);return zw(t,n,o)}getControlPoints(e,t,n,i,a){return(a==null?void 0:a.length)===2?a:[w0(e,t,n[0],i[0]),w0(e,t,n[1],i[1])]}}Go.defaultStyleProps={curvePosition:.5,curveOffset:20};class qf extends Go{constructor(e){super(Tr({style:qf.defaultStyleProps},e))}getControlPoints(e,t,n,i){const a=t[0]-e[0];return[[e[0]+a*n[0]+i[0],e[1]],[t[0]-a*n[1]+i[1],t[1]]]}}qf.defaultStyleProps={curvePosition:[.5,.5],curveOffset:[0,0]};class $f extends Go{constructor(e){super(Tr({style:$f.defaultStyleProps},e))}get ref(){return this.context.model.getRootsData()[0]}getEndpoints(e){if(this.sourceNode.id===this.ref.id)return super.getEndpoints(e);const t=Br(this.ref),n=this.sourceNode.getIntersectPoint(t,!0),i=this.targetNode.getIntersectPoint(t);return[n,i]}toRadialCoordinate(e){const t=Br(this.ref),n=Bn(e,t),i=xE(On(e,t));return[n,i]}getControlPoints(e,t,n,i){const[a,s]=this.toRadialCoordinate(e),[o]=this.toRadialCoordinate(t),l=o-a;return[[e[0]+(l*n[0]+i[0])*Math.cos(s),e[1]+(l*n[0]+i[0])*Math.sin(s)],[t[0]-(l*n[1]-i[0])*Math.cos(s),t[1]-(l*n[1]-i[0])*Math.sin(s)]]}}$f.defaultStyleProps={curvePosition:.5,curveOffset:20};class ed extends Go{constructor(e){super(Tr({style:ed.defaultStyleProps},e))}getControlPoints(e,t,n,i){const a=t[1]-e[1];return[[e[0],e[1]+a*n[0]+i[0]],[t[0],t[1]-a*n[1]+i[1]]]}}ed.defaultStyleProps={curvePosition:[.5,.5],curveOffset:[0,0]};class td extends eo{constructor(e){super(Tr({style:td.defaultStyleProps},e))}getKeyPath(e){const[t,n]=this.getEndpoints(e);return[["M",t[0],t[1]],["L",n[0],n[1]]]}}td.defaultStyleProps={};const y6={enableObstacleAvoidance:!1,offset:10,maxAllowedDirectionChange:Math.PI/2,maximumLoops:3e3,gridSize:5,startDirections:["top","right","bottom","left"],endDirections:["top","right","bottom","left"],directionMap:{right:{stepX:1,stepY:0},left:{stepX:-1,stepY:0},bottom:{stepX:0,stepY:1},top:{stepX:0,stepY:-1}},penalties:{0:0,90:0},distFunc:Ef},Ms=r=>`${Math.round(r[0])}|||${Math.round(r[1])}`;function Ho(r,e){const t=n=>Math.round(n/e);return ht(r)?t(r):r.map(t)}function b6(r,e){const t=Math.abs(r-e);return t>Math.PI?2*Math.PI-t:t}function Hw(r,e){const t=e[0]-r[0],n=e[1]-r[1];return!t&&!n?0:Math.atan2(n,t)}function Xw(r,e,t,n){const i=Hw(r,e),a=t[Ms(r)],o=Hw(a||n,r);return b6(o,i)}const x6=(r,e)=>{const{offset:t,gridSize:n}=e,i={};return r.forEach(a=>{if(!a||a.destroyed||!a.isVisible())return;const s=Ws(a.getRenderBounds(),t);for(let o=Ho(s.min[0],n);o<=Ho(s.max[0],n);o+=1)for(let l=Ho(s.min[1],n);l<=Ho(s.max[1],n);l+=1)i[`${o}|||${l}`]=!0}),i};function Ww(r,e,t){return Math.min(...e.map(n=>t(r,n)))}function E6(r,e,t){let n=r[0],i=t(r[0],e);for(let a=0;a<r.length;a++){const s=r[a],o=t(s,e);o<i&&(n=s,i=o)}return n}const Vw=(r,e,t,n)=>{if(!e)return[r];const{directionMap:i,offset:a}=n,s=Ws(e.getRenderBounds(),a),o=Object.keys(i).reduce((l,u)=>{if(t.includes(u)){const c=i[u],[h,f]=Hs(s),d=[r[0]+c.stepX*h,r[1]+c.stepY*f],v=A_(s);for(let g=0;g<v.length;g++){const p=Kp([r,d],v[g]);p&&Ox(p,s)&&l.push(p)}}return l},[]);return Pa(r,s)||o.push(r),o.map(l=>Ho(l,n.gridSize))},w6=(r,e,t,n,i,a,s)=>{const o=[];let l=[a[0]===n[0]?n[0]:r[0]*s,a[1]===n[1]?n[1]:r[1]*s];o.unshift(l);let u=r,c=e[Ms(u)];for(;c;){const d=c,v=u;Xw(d,v,e,t)&&(l=[d[0]===v[0]?l[0]:d[0]*s,d[1]===v[1]?l[1]:d[1]*s],o.unshift(l)),c=e[Ms(d)],u=d}const h=i.map(d=>[d[0]*s,d[1]*s]),f=E6(h,l,Ef);return o.unshift(f),o};function P6(r,e,t,n){const i=Do(r.getCenter()),a=Do(e.getCenter()),s=Object.assign(y6,n),{gridSize:o}=s,l=s.enableObstacleAvoidance?t:[r,e],u=x6(l,s),c=Ho(i,o),h=Ho(a,o),f=Vw(i,r,s.startDirections,s),d=Vw(a,e,s.endDirections,s);f.forEach(C=>delete u[Ms(C)]),d.forEach(C=>delete u[Ms(C)]);const v={},g={},p={},m={},b={},x=new M6;for(let C=0;C<f.length;C++){const W=f[C],U=Ms(W);v[U]=W,m[U]=0,b[U]=Ww(W,d,s.distFunc),x.add({id:U,value:b[U]})}const O=d.map(C=>Ms(C));let T=s.maximumLoops,S,k=1/0;for(const[C,W]of Object.entries(v))b[C]<=k&&(k=b[C],S=W);for(;Object.keys(v).length>0&&T>0;){const C=x.minId(!1);if(C)S=v[C];else break;const W=Ms(S);if(O.includes(W))return w6(S,p,c,a,f,h,o);delete v[W],x.remove(W),g[W]=!0;for(const U of Object.values(s.directionMap)){const J=jt(S,[U.stepX,U.stepY]),te=Ms(J);if(g[te])continue;const ie=Xw(S,J,p,c);if(ie>s.maxAllowedDirectionChange||u[te])continue;v[te]||(v[te]=J);const ae=s.penalties[ie],ve=s.distFunc(S,J)+(isNaN(ae)?o:ae),Z=m[W]+ve,H=m[te];H&&Z>=H||(p[te]=S,m[te]=Z,b[te]=Z+Ww(J,d,s.distFunc),x.add({id:te,value:b[te]}))}T-=1}return[]}class M6{constructor(){this.arr=[],this.map={},this.arr=[],this.map={}}_innerAdd(e,t){let n=0,i=t-1;for(;i-n>1;){const a=Math.floor((n+i)/2);if(this.arr[a].value>e.value)i=a;else if(this.arr[a].value<e.value)n=a;else{this.arr.splice(a,0,e),this.map[e.id]=!0;return}}this.arr.splice(i,0,e),this.map[e.id]=!0}add(e){delete this.map[e.id];const t=this.arr.length;if(!t||this.arr[t-1].value<e.value){this.arr.push(e),this.map[e.id]=!0;return}this._innerAdd(e,t)}remove(e){this.map[e]&&delete this.map[e]}_clearAndGetMinId(){let e;for(let t=this.arr.length-1;t>=0;t--)this.map[this.arr[t].id]?e=this.arr[t].id:this.arr.splice(t,1);return e}_findFirstId(){for(;this.arr.length;){const e=this.arr.shift();if(this.map[e.id])return e.id}}minId(e){return e?this._clearAndGetMinId():this._findFirstId()}}class nd extends eo{constructor(e){super(Tr({style:nd.defaultStyleProps},e))}getControlPoints(e){const{router:t}=e,{sourceNode:n,targetNode:i}=this,[a,s]=this.getEndpoints(e,!1);let o=[];if(!t)o=e.controlPoints;else if(t.type==="shortest-path"){const l=this.context.element.getNodes();o=P6(n,i,l,t),o.length||(o=_w(a,s,n,i,e.controlPoints,{padding:t.offset}))}else t.type==="orth"&&(o=_w(a,s,n,i,e.controlPoints,t));return o}getPoints(e){const t=this.getControlPoints(e),[n,i]=this.getEndpoints(e,!0,t);return[n,...t,i]}getKeyPath(e){const t=this.getPoints(e);return P0(t,e.radius)}getLoopPath(e){const{sourcePort:t,targetPort:n,radius:i}=e,a=this.sourceNode,s=Xs(a),o=Math.max(qa(s),$a(s))/4,{placement:l,clockwise:u,dist:c=o}=br(this.getGraphicStyle(e),"loop");return u6(a,i,l,u,c,t,n)}}nd.defaultStyleProps={radius:0,controlPoints:[],router:!1};class rd extends eo{constructor(e){super(Tr({style:rd.defaultStyleProps},e))}getKeyPath(e){const{curvePosition:t,curveOffset:n}=e,[i,a]=this.getEndpoints(e),s=e.controlPoint||w0(i,a,t,n);return i6(i,a,s)}}rd.defaultStyleProps={curvePosition:.5,curveOffset:30};function gc(r){return r instanceof Oa&&r.type==="node"}function Yw(r){return r instanceof eo}function S0(r){return r instanceof Wl}function S6(r){return gc(r)||Yw(r)||S0(r)}function T6(r,e){return!r||!e?!1:r===e}const A6={top:[.5,0],right:[1,.5],bottom:[.5,1],left:[0,.5],default:[.5,.5]};function T0(r,e,t=A6,n=!0){const i=[.5,.5],a=Xt(e)?ii(t,e.toLocaleLowerCase(),i):e;if(!n&&Xt(e))return a;const[s,o]=a||i;return[r.min[0]+qa(r)*s,r.min[1]+$a(r)*o]}function A0(r){if(!r)return{};const e=r.getPorts();return(r.attributes.ports||[]).forEach((n,i)=>{var a;const{key:s,placement:o}=n;Uw(n)&&(e[a=s||i]||(e[a]=ws(r.getShape("key").getBounds(),o)))}),e}function Uw(r){const{r:e}=r;return!e||Number(e)===0}function to(r){return Dl(r)?r:r.getPosition()}function O6(r,e,t,n){const i=Zw(r,e,t,n),a=Zw(e,r,n,t);return[i,a]}function Zw(r,e,t,n){const i=A0(r);if(t)return i[t];const a=Object.values(i);if(a.length===0)return;const s=a.map(u=>to(u)),o=k6(e,n),[l]=OL(s,o);return a.find(u=>to(u)===l)}function k6(r,e){const t=A0(r);if(e)return[to(t[e])];const n=Object.values(t);return n.length>0?n.map(i=>to(i)):[r.getCenter()]}function Kw(r,e){return S0(r)||gc(r)?O0(r,e):pc(r,e)}function pc(r,e){if(!r||!e)return[0,0,0];if(Dl(r))return r;if(r.attributes.linkToCenter)return r.getPosition();const t=Dl(e)?e:gc(e)?e.getCenter():e.getPosition();return Pf(t,r.getBounds())}function O0(r,e){if(!r||!e)return[0,0,0];const t=Dl(e)?e:gc(e)?e.getCenter():e.getPosition();return r.getIntersectPoint(t)||r.getCenter()}function Qw(r,e="bottom",t=0,n=0,i=!1){const a=e.split("-"),[s,o]=ws(r,e),l=a.includes("left")?"right":a.includes("right")?"left":"center";let u=a.includes("top")?"bottom":a.includes("bottom")?"top":"middle";return i&&(u=u==="top"?"bottom":u==="bottom"?"top":u),{transform:[["translate",s+t,o+n]],textBaseline:u,textAlign:l}}function C6(r,e){return[[0,-r],[e*Math.cos(3*Math.PI/10),-e*Math.sin(3*Math.PI/10)],[r*Math.cos(Math.PI/10),-r*Math.sin(Math.PI/10)],[e*Math.cos(Math.PI/10),e*Math.sin(Math.PI/10)],[r*Math.cos(3*Math.PI/10),r*Math.sin(3*Math.PI/10)],[0,e],[-r*Math.cos(3*Math.PI/10),r*Math.sin(3*Math.PI/10)],[-e*Math.cos(Math.PI/10),e*Math.sin(Math.PI/10)],[-r*Math.cos(Math.PI/10),-r*Math.sin(Math.PI/10)],[-e*Math.cos(3*Math.PI/10),-e*Math.sin(3*Math.PI/10)]]}function N6(r,e){const t={};return t.top=[0,-r],t.left=[-r*Math.cos(Math.PI/10),-r*Math.sin(Math.PI/10)],t["left-bottom"]=[-r*Math.cos(3*Math.PI/10),r*Math.sin(3*Math.PI/10)],t.bottom=[0,e],t["right-bottom"]=[r*Math.cos(3*Math.PI/10),r*Math.sin(3*Math.PI/10)],t.right=t.default=[r*Math.cos(Math.PI/10),-r*Math.sin(Math.PI/10)],t}function _6(r,e,t){const n=e/2,i=r/2,a={up:[[-i,n],[i,n],[0,-n]],left:[[-i,0],[i,n],[i,-n]],right:[[-i,n],[-i,-n],[i,0]],down:[[-i,-n],[i,-n],[0,n]]};return a[t]||a.up}function R6(r,e,t){const n=e/2,i=r/2,a={};return t==="down"?(a.bottom=a.default=[0,n],a.right=[i,-n],a.left=[-i,-n]):t==="left"?(a.top=[i,-n],a.bottom=[i,n],a.left=a.default=[-i,0]):t==="right"?(a.top=[-i,-n],a.bottom=[-i,n],a.right=a.default=[i,0]):(a.left=[-i,n],a.top=a.default=[0,-n],a.right=[i,n]),a}function nQ(r,e){return[[r/2,-e/2],[r/2,e/2],[-r/2,e/2],[-r/2,-e/2]]}function L6(r,e){return[[0,-e/2],[r/2,0],[0,e/2],[-r/2,0]]}function D6(r){return ii(r,["style","visibility"])!=="hidden"}function k0(r,e){"update"in r?r.update(e):r.attr(e)}function I6(r){return[[0,r],[r*Math.sqrt(3)/2,r/2],[r*Math.sqrt(3)/2,-r/2],[0,-r],[-r*Math.sqrt(3)/2,-r/2],[-r*Math.sqrt(3)/2,r/2]]}function B6(r){ac(r,"__to_be_destroyed__",!0)}function id(r){return ii(r,"__to_be_destroyed__",!1)}var z6=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};class ad extends Ni{constructor(e,t){super(e,Object.assign({},ad.defaultOptions,t)),this.onCollapseExpand=n=>z6(this,void 0,void 0,function*(){if(!this.validate(n))return;const{target:i}=n;if(!S6(i))return;const a=i.id,{model:s,graph:o}=this.context,l=s.getElementDataById(a);if(!l)return!1;const{onCollapse:u,onExpand:c,animation:h}=this.options;_i(l)?(yield o.expandElement(a,h),c==null||c(a)):(yield o.collapseElement(a,h),u==null||u(a))}),this.bindEvents()}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}bindEvents(){const{graph:e}=this.context,{trigger:t}=this.options;e.on(`node:${t}`,this.onCollapseExpand),e.on(`combo:${t}`,this.onCollapseExpand)}unbindEvents(){const{graph:e}=this.context,{trigger:t}=this.options;e.off(`node:${t}`,this.onCollapseExpand),e.off(`combo:${t}`,this.onCollapseExpand)}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return pt(t)?t(e):!!t}destroy(){this.unbindEvents(),super.destroy()}}ad.defaultOptions={enable:!0,animation:!0,trigger:We.DBLCLICK};var sd={},F6=function(r){return r=r||"g",sd[r]?sd[r]+=1:sd[r]=1,r+sd[r]},od=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};const j6="g6-create-edge-assist-edge-id",ld="g6-create-edge-assist-node-id";class ud extends Ni{constructor(e,t){super(e,Object.assign({},ud.defaultOptions,t)),this.drop=n=>od(this,void 0,void 0,function*(){const{targetType:i}=n;["combo","node"].includes(i)&&this.source?yield this.handleCreateEdge(n):yield this.cancelEdge()}),this.handleCreateEdge=n=>od(this,void 0,void 0,function*(){var i,a,s;if(!this.validate(n))return;const{graph:o,canvas:l,batch:u,element:c}=this.context,{style:h}=this.options;if(this.source){this.createEdge(n),yield this.cancelEdge();return}u.startBatch(),l.setCursor("crosshair"),this.source=this.getSelectedNodeIDs([n.target.id])[0];const f=o.getElementData(this.source);o.addNodeData([{id:ld,style:{visibility:"hidden",ports:[{key:"port-1",placement:[.5,.5]}],x:(i=f.style)===null||i===void 0?void 0:i.x,y:(a=f.style)===null||a===void 0?void 0:a.y}}]),o.addEdgeData([{id:j6,source:this.source,target:ld,style:Object.assign({pointerEvents:"none"},h)}]),yield(s=c.draw({animation:!1}))===null||s===void 0?void 0:s.finished}),this.updateAssistEdge=n=>od(this,void 0,void 0,function*(){var i;if(!this.source)return;const{model:a,element:s}=this.context;a.translateNodeTo(ld,[n.canvas.x,n.canvas.y]),yield(i=s.draw({animation:!1,silence:!0}))===null||i===void 0?void 0:i.finished}),this.createEdge=n=>{var i,a;const{graph:s}=this.context,{style:o,onFinish:l,onCreate:u}=this.options;if(((i=n.target)===null||i===void 0?void 0:i.id)===void 0||this.source===void 0)return;const h=(a=this.getSelectedNodeIDs([n.target.id]))===null||a===void 0?void 0:a[0],f=`${this.source}-${h}-${F6()}`,d=u({id:f,source:this.source,target:h,style:o});s.addEdgeData([d]),l(d)},this.cancelEdge=()=>od(this,void 0,void 0,function*(){var n;if(!this.source)return;const{graph:i,element:a,batch:s}=this.context;i.removeNodeData([ld]),this.source=void 0,yield(n=a.draw({animation:!1}))===null||n===void 0?void 0:n.finished,s.endBatch()}),this.bindEvents()}update(e){super.update(e),this.bindEvents()}bindEvents(){const{graph:e}=this.context,{trigger:t}=this.options;this.unbindEvents(),t==="click"?(e.on($i.CLICK,this.handleCreateEdge),e.on(No.CLICK,this.handleCreateEdge),e.on(ms.CLICK,this.cancelEdge),e.on(tf.CLICK,this.cancelEdge)):(e.on($i.DRAG_START,this.handleCreateEdge),e.on(No.DRAG_START,this.handleCreateEdge),e.on(We.POINTER_UP,this.drop)),e.on(We.POINTER_MOVE,this.updateAssistEdge)}getSelectedNodeIDs(e){return Array.from(new Set(this.context.graph.getElementDataByState("node",this.options.state).map(t=>t.id).concat(e)))}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return pt(t)?t(e):!!t}unbindEvents(){const{graph:e}=this.context;e.off($i.CLICK,this.handleCreateEdge),e.off(No.CLICK,this.handleCreateEdge),e.off(ms.CLICK,this.cancelEdge),e.off(tf.CLICK,this.cancelEdge),e.off($i.DRAG_START,this.handleCreateEdge),e.off(No.DRAG_START,this.handleCreateEdge),e.off(We.POINTER_UP,this.drop),e.off(We.POINTER_MOVE,this.updateAssistEdge)}destroy(){this.unbindEvents(),super.destroy()}}ud.defaultOptions={animation:!0,enable:!0,style:{},trigger:"drag",onCreate:r=>r,onFinish:()=>{}};function G6(r,e,t){var n;return function(){var i=this,a=arguments,s=function(){n=null,t||r.apply(i,a)},o=t&&!n;clearTimeout(n),n=setTimeout(s,e),o&&r.apply(i,a)}}var mc=G6,Jw=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};class cd extends Ni{constructor(e,t){super(e,Object.assign({},cd.defaultOptions,t)),this.isDragging=!1,this.onDragStart=n=>{this.validate(n)&&(this.isDragging=!0,this.context.canvas.setCursor("grabbing"))},this.onDrag=n=>{if(!this.isDragging)return;const{x:i,y:a}=n.movement;i|a&&this.translate([i,a],!1)},this.onDragEnd=()=>{var n,i;this.isDragging=!1,this.context.canvas.setCursor(this.defaultCursor),(i=(n=this.options).onFinish)===null||i===void 0||i.call(n)},this.invokeOnFinish=mc(()=>{var n,i;(i=(n=this.options).onFinish)===null||i===void 0||i.call(n)},300),this.shortcut=new Bl(e.graph),this.bindEvents(),this.defaultCursor=this.context.canvas.getConfig().cursor||"default"}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}bindEvents(){const{trigger:e}=this.options;if(nr(e)){const{up:t=[],down:n=[],left:i=[],right:a=[]}=e;this.shortcut.bind(t,s=>this.onTranslate([0,1],s)),this.shortcut.bind(n,s=>this.onTranslate([0,-1],s)),this.shortcut.bind(i,s=>this.onTranslate([1,0],s)),this.shortcut.bind(a,s=>this.onTranslate([-1,0],s))}else{const{graph:t}=this.context;t.on(We.DRAG_START,this.onDragStart),t.on(We.DRAG,this.onDrag),t.on(We.DRAG_END,this.onDragEnd)}}onTranslate(e,t){return Jw(this,void 0,void 0,function*(){if(!this.validate(t))return;const{sensitivity:n}=this.options,i=n*-1;yield this.translate(xs(e,i),this.options.animation),this.invokeOnFinish()})}translate(e,t){return Jw(this,void 0,void 0,function*(){e=this.clampByDirection(e),e=this.clampByRange(e),yield this.context.graph.translateBy(e,t)})}clampByDirection([e,t]){const{direction:n}=this.options;return n==="x"?t=0:n==="y"&&(e=0),[e,t]}clampByRange([e,t]){const{viewport:n,canvas:i}=this.context,[a,s]=i.getSize(),[o,l,u,c]=Ja(this.options.range),h=[s*o,a*l,s*u,a*c],f=Ws(Rp(n.getCanvasCenter()),h),d=On(n.getViewportCenter(),[e,t,0]);if(!Pa(d,f)){const{min:[v,g],max:[p,m]}=f;(d[0]<v&&e>0||d[0]>p&&e<0)&&(e=0),(d[1]<g&&t>0||d[1]>m&&t<0)&&(t=0)}return[e,t]}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return typeof t=="function"?t(e):!!t}unbindEvents(){this.shortcut.unbindAll();const{graph:e}=this.context;e.off(We.DRAG_START,this.onDragStart),e.off(We.DRAG,this.onDrag),e.off(We.DRAG_END,this.onDragEnd)}destroy(){this.shortcut.destroy(),this.unbindEvents(),this.context.canvas.setCursor(this.defaultCursor),super.destroy()}}cd.defaultOptions={enable:r=>"targetType"in r?r.targetType==="canvas":!0,sensitivity:10,direction:"both",range:1/0};var qw=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};class yc extends Ni{constructor(e,t){super(e,Object.assign({},yc.defaultOptions,t)),this.enable=!1,this.enableElements=["node","combo"],this.target=[],this.shadowOrigin=[0,0],this.hiddenEdges=[],this.isDragging=!1,this.onDrop=n=>qw(this,void 0,void 0,function*(){var i;if(this.options.dropEffect!=="link")return;const{model:a,element:s}=this.context,o=n.target.id;this.target.forEach(l=>{const u=a.getParentData(l,An);u&&Re(u)===o&&a.refreshComboData(o),a.setParent(l,o,An)}),yield(i=s==null?void 0:s.draw({animation:!0}))===null||i===void 0?void 0:i.finished}),this.setCursor=n=>{if(this.isDragging)return;const{type:i}=n,{canvas:a}=this.context,{cursor:s}=this.options;i===We.POINTER_ENTER?a.setCursor((s==null?void 0:s.grab)||"grab"):a.setCursor((s==null?void 0:s.default)||"default")},this.onDragStart=this.onDragStart.bind(this),this.onDrag=this.onDrag.bind(this),this.onDragEnd=this.onDragEnd.bind(this),this.onDrop=this.onDrop.bind(this),this.bindEvents()}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}bindEvents(){const{graph:e,canvas:t}=this.context,n=t.getLayer().getContextService().$canvas;n&&(n.addEventListener("blur",this.onDragEnd),n.addEventListener("contextmenu",this.onDragEnd)),this.enableElements.forEach(i=>{e.on(`${i}:${We.DRAG_START}`,this.onDragStart),e.on(`${i}:${We.DRAG}`,this.onDrag),e.on(`${i}:${We.DRAG_END}`,this.onDragEnd),e.on(`${i}:${We.POINTER_ENTER}`,this.setCursor),e.on(`${i}:${We.POINTER_LEAVE}`,this.setCursor)}),["link"].includes(this.options.dropEffect)&&(e.on(No.DROP,this.onDrop),e.on(ms.DROP,this.onDrop))}getSelectedNodeIDs(e){return Array.from(new Set(this.context.graph.getElementDataByState("node",this.options.state).map(t=>t.id).concat(e)))}getDelta(e){const t=this.context.graph.getZoom();return Sa([e.dx,e.dy],t)}onDragStart(e){var t;if(this.enable=this.validate(e),!this.enable)return;const{batch:n,canvas:i}=this.context;i.setCursor(((t=this.options.cursor)===null||t===void 0?void 0:t.grabbing)||"grabbing"),this.isDragging=!0,n.startBatch(),this.target=this.getSelectedNodeIDs([e.target.id]),this.hideEdge(),this.context.graph.frontElement(this.target),this.options.shadow&&this.createShadow(this.target)}onDrag(e){if(!this.enable)return;const t=this.getDelta(e);this.options.shadow?this.moveShadow(t):this.moveElement(this.target,t)}onDragEnd(){var e,t,n;if(this.enable=!1,this.options.shadow){if(!this.shadow)return;this.shadow.style.visibility="hidden";const{x:s=0,y:o=0}=this.shadow.attributes,[l,u]=On([+s,+o],this.shadowOrigin);this.moveElement(this.target,[l,u])}this.showEdges(),(t=(e=this.options).onFinish)===null||t===void 0||t.call(e,this.target);const{batch:i,canvas:a}=this.context;i.endBatch(),a.setCursor(((n=this.options.cursor)===null||n===void 0?void 0:n.grab)||"grab"),this.isDragging=!1,this.target=[]}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return pt(t)?t(e):!!t}moveElement(e,t){return qw(this,void 0,void 0,function*(){const{graph:n,model:i}=this.context,{dropEffect:a}=this.options;a==="move"&&e.forEach(s=>i.refreshComboData(s)),n.translateElementBy(Object.fromEntries(e.map(s=>[s,t])),!1)})}moveShadow(e){if(!this.shadow)return;const{x:t=0,y:n=0}=this.shadow.attributes,[i,a]=e;this.shadow.attr({x:+t+i,y:+n+a})}createShadow(e){const t=br(this.options,"shadow"),n=Ju(e.map(u=>this.context.element.getElement(u).getBounds())),[i,a]=n.min;this.shadowOrigin=[i,a];const[s,o]=Hs(n),l={width:s,height:o,x:i,y:a};this.shadow?this.shadow.attr(Object.assign(Object.assign(Object.assign({},t),l),{visibility:"visible"})):(this.shadow=new wa({style:Object.assign(Object.assign(Object.assign({$layer:"transient"},t),l),{pointerEvents:"none"})}),this.context.canvas.appendChild(this.shadow))}showEdges(){this.options.shadow||this.hiddenEdges.length===0||(this.context.graph.showElement(this.hiddenEdges),this.hiddenEdges=[])}hideEdge(){const{hideEdge:e,shadow:t}=this.options;if(e==="none"||t)return;const{graph:n}=this.context;e==="all"?this.hiddenEdges=n.getEdgeData().map(Re):this.hiddenEdges=Array.from(new Set(this.target.map(i=>n.getRelatedEdgesData(i,e).map(Re)).flat())),n.hideElement(this.hiddenEdges)}unbindEvents(){const{graph:e,canvas:t}=this.context,n=t.getLayer().getContextService().$canvas;n&&(n.removeEventListener("blur",this.onDragEnd),n.removeEventListener("contextmenu",this.onDragEnd)),this.enableElements.forEach(i=>{e.off(`${i}:${We.DRAG_START}`,this.onDragStart),e.off(`${i}:${We.DRAG}`,this.onDrag),e.off(`${i}:${We.DRAG_END}`,this.onDragEnd),e.off(`${i}:${We.POINTER_ENTER}`,this.setCursor),e.off(`${i}:${We.POINTER_LEAVE}`,this.setCursor)}),e.off(`combo:${We.DROP}`,this.onDrop),e.off(`canvas:${We.DROP}`,this.onDrop)}destroy(){var e;this.unbindEvents(),(e=this.shadow)===null||e===void 0||e.destroy(),super.destroy()}}yc.defaultOptions={animation:!0,enable:r=>["node","combo"].includes(r.targetType),dropEffect:"move",state:"selected",hideEdge:"none",shadow:!1,shadowZIndex:100,shadowFill:"#F3F9FF",shadowFillOpacity:.5,shadowStroke:"#1890FF",shadowStrokeOpacity:.9,shadowLineDash:[5,5],cursor:{default:"default",grab:"grab",grabbing:"grabbing"}};var H6="*",X6=function(){function r(){this._events={}}return r.prototype.on=function(e,t,n){return this._events[e]||(this._events[e]=[]),this._events[e].push({callback:t,once:!!n}),this},r.prototype.once=function(e,t){return this.on(e,t,!0)},r.prototype.emit=function(e){for(var t=this,n=[],i=1;i<arguments.length;i++)n[i-1]=arguments[i];var a=this._events[e]||[],s=this._events[H6]||[],o=function(l){for(var u=l.length,c=0;c<u;c++)if(l[c]){var h=l[c],f=h.callback,d=h.once;d&&(l.splice(c,1),l.length===0&&delete t._events[e],u--,c--),f.apply(t,n)}};o(a),o(s)},r.prototype.off=function(e,t){if(!e)this._events={};else if(!t)delete this._events[e];else{for(var n=this._events[e]||[],i=n.length,a=0;a<i;a++)n[a].callback===t&&(n.splice(a,1),i--,a--);n.length===0&&delete this._events[e]}return this},r.prototype.getEvents=function(){return this._events},r}(),hd=X6;function C0(r,e,t,n){for(;r.length;){const i=r.shift();if(t(i))return!0;e.add(i.id),n(i.id).forEach(s=>{e.has(s.id)||(e.add(s.id),r.push(s))})}return!1}function fd(r,e,t,n){if(t(r))return!0;e.add(r.id);for(const a of n(r.id))if(!e.has(a.id)&&fd(a,e,t,n))return!0;return!1}const $w=()=>!0;class W6{constructor(e){Jn(this,"graph");Jn(this,"nodeFilter");Jn(this,"edgeFilter");Jn(this,"cacheEnabled");Jn(this,"inEdgesMap",new Map);Jn(this,"outEdgesMap",new Map);Jn(this,"bothEdgesMap",new Map);Jn(this,"allNodesMap",new Map);Jn(this,"allEdgesMap",new Map);Jn(this,"clearCache",()=>{this.inEdgesMap.clear(),this.outEdgesMap.clear(),this.bothEdgesMap.clear(),this.allNodesMap.clear(),this.allEdgesMap.clear()});Jn(this,"refreshCache",()=>{this.clearCache(),this.updateCache(this.graph.getAllNodes().map(e=>e.id))});Jn(this,"updateCache",e=>{const t=new Set;e.forEach(n=>{const i=this.bothEdgesMap.get(n);if(i&&i.forEach(a=>t.add(a.id)),!this.hasNode(n))this.inEdgesMap.delete(n),this.outEdgesMap.delete(n),this.bothEdgesMap.delete(n),this.allNodesMap.delete(n);else{const a=this.graph.getRelatedEdges(n,"in").filter(this.edgeFilter),s=this.graph.getRelatedEdges(n,"out").filter(this.edgeFilter),o=Array.from(new Set([...a,...s]));o.forEach(l=>t.add(l.id)),this.inEdgesMap.set(n,a),this.outEdgesMap.set(n,s),this.bothEdgesMap.set(n,o),this.allNodesMap.set(n,this.graph.getNode(n))}}),t.forEach(n=>{this.hasEdge(n)?this.allEdgesMap.set(n,this.graph.getEdge(n)):this.allEdgesMap.delete(n)})});Jn(this,"handleGraphChanged",e=>{const t=new Set;e.changes.forEach(n=>{switch(n.type){case"NodeAdded":t.add(n.value.id);break;case"NodeDataUpdated":t.add(n.id);break;case"EdgeAdded":t.add(n.value.source),t.add(n.value.target);break;case"EdgeUpdated":(n.propertyName==="source"||n.propertyName==="target")&&(t.add(n.oldValue),t.add(n.newValue));break;case"EdgeDataUpdated":if(e.graph.hasEdge(n.id)){const i=e.graph.getEdge(n.id);t.add(i.source),t.add(i.target)}break;case"EdgeRemoved":t.add(n.value.source),t.add(n.value.target);break;case"NodeRemoved":t.add(n.value.id);break;default:break}}),this.updateCache(t)});this.graph=e.graph;const t=e.nodeFilter||$w,n=e.edgeFilter||$w;this.nodeFilter=t,this.edgeFilter=i=>{const{source:a,target:s}=this.graph.getEdgeDetail(i.id);return!t(a)||!t(s)?!1:n(i,a,s)},e.cache==="auto"?(this.cacheEnabled=!0,this.startAutoCache()):e.cache==="manual"?this.cacheEnabled=!0:this.cacheEnabled=!1}startAutoCache(){this.refreshCache(),this.graph.on("changed",this.handleGraphChanged)}stopAutoCache(){this.graph.off("changed",this.handleGraphChanged)}checkNodeExistence(e){this.getNode(e)}hasNode(e){if(!this.graph.hasNode(e))return!1;const t=this.graph.getNode(e);return this.nodeFilter(t)}areNeighbors(e,t){return this.checkNodeExistence(e),this.getNeighbors(t).some(n=>n.id===e)}getNode(e){const t=this.graph.getNode(e);if(!this.nodeFilter(t))throw new Error("Node not found for id: "+e);return t}getRelatedEdges(e,t){return this.checkNodeExistence(e),this.cacheEnabled?t==="in"?this.inEdgesMap.get(e):t==="out"?this.outEdgesMap.get(e):this.bothEdgesMap.get(e):this.graph.getRelatedEdges(e,t).filter(this.edgeFilter)}getDegree(e,t){return this.getRelatedEdges(e,t).length}getSuccessors(e){const n=this.getRelatedEdges(e,"out").map(i=>this.getNode(i.target));return Array.from(new Set(n))}getPredecessors(e){const n=this.getRelatedEdges(e,"in").map(i=>this.getNode(i.source));return Array.from(new Set(n))}getNeighbors(e){const t=this.getPredecessors(e),n=this.getSuccessors(e);return Array.from(new Set([...t,...n]))}hasEdge(e){if(!this.graph.hasEdge(e))return!1;const t=this.graph.getEdge(e);return this.edgeFilter(t)}getEdge(e){const t=this.graph.getEdge(e);if(!this.edgeFilter(t))throw new Error("Edge not found for id: "+e);return t}getEdgeDetail(e){const t=this.getEdge(e);return{edge:t,source:this.getNode(t.source),target:this.getNode(t.target)}}hasTreeStructure(e){return this.graph.hasTreeStructure(e)}getRoots(e){return this.graph.getRoots(e).filter(this.nodeFilter)}getChildren(e,t){return this.checkNodeExistence(e),this.graph.getChildren(e,t).filter(this.nodeFilter)}getParent(e,t){this.checkNodeExistence(e);const n=this.graph.getParent(e,t);return!n||!this.nodeFilter(n)?null:n}getAllNodes(){return this.cacheEnabled?Array.from(this.allNodesMap.values()):this.graph.getAllNodes().filter(this.nodeFilter)}getAllEdges(){return this.cacheEnabled?Array.from(this.allEdgesMap.values()):this.graph.getAllEdges().filter(this.edgeFilter)}bfs(e,t,n="out"){const i={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[n];C0([this.getNode(e)],new Set,t,i)}dfs(e,t,n="out"){const i={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[n];fd(this.getNode(e),new Set,t,i)}}class gr extends hd{constructor(t){super();Jn(this,"nodeMap",new Map);Jn(this,"edgeMap",new Map);Jn(this,"inEdgesMap",new Map);Jn(this,"outEdgesMap",new Map);Jn(this,"bothEdgesMap",new Map);Jn(this,"treeIndices",new Map);Jn(this,"changes",[]);Jn(this,"batchCount",0);Jn(this,"onChanged",()=>{});Jn(this,"batch",t=>{this.batchCount+=1,t(),this.batchCount-=1,this.batchCount||this.commit()});t&&(t.nodes&&this.addNodes(t.nodes),t.edges&&this.addEdges(t.edges),t.tree&&this.addTree(t.tree),t.onChanged&&(this.onChanged=t.onChanged))}commit(){const t=this.changes;this.changes=[];const n={graph:this,changes:t};this.emit("changed",n),this.onChanged(n)}reduceChanges(t){let n=[];return t.forEach(i=>{switch(i.type){case"NodeRemoved":{let a=!1;n=n.filter(s=>{if(s.type==="NodeAdded"){const o=s.value.id===i.value.id;return o&&(a=!0),!o}else{if(s.type==="NodeDataUpdated")return s.id!==i.value.id;if(s.type==="TreeStructureChanged")return s.nodeId!==i.value.id}return!0}),a||n.push(i);break}case"EdgeRemoved":{let a=!1;n=n.filter(s=>{if(s.type==="EdgeAdded"){const o=s.value.id===i.value.id;return o&&(a=!0),!o}else if(s.type==="EdgeDataUpdated"||s.type==="EdgeUpdated")return s.id!==i.value.id;return!0}),a||n.push(i);break}case"NodeDataUpdated":case"EdgeDataUpdated":case"EdgeUpdated":{const a=n.findIndex(o=>o.type===i.type&&o.id===i.id&&(i.propertyName===void 0||o.propertyName===i.propertyName)),s=n[a];s?i.propertyName!==void 0?s.newValue=i.newValue:(n.splice(a,1),n.push(i)):n.push(i);break}case"TreeStructureDetached":{n=n.filter(a=>a.type==="TreeStructureAttached"||a.type==="TreeStructureChanged"?a.treeKey!==i.treeKey:!0),n.push(i);break}case"TreeStructureChanged":{const a=n.find(s=>s.type==="TreeStructureChanged"&&s.treeKey===i.treeKey&&s.nodeId===i.nodeId);a?a.newParentId=i.newParentId:n.push(i);break}default:n.push(i);break}}),n}checkNodeExistence(t){this.getNode(t)}hasNode(t){return this.nodeMap.has(t)}areNeighbors(t,n){return this.getNeighbors(n).some(i=>i.id===t)}getNode(t){const n=this.nodeMap.get(t);if(!n)throw new Error("Node not found for id: "+t);return n}getRelatedEdges(t,n){if(this.checkNodeExistence(t),n==="in"){const i=this.inEdgesMap.get(t);return Array.from(i)}else if(n==="out"){const i=this.outEdgesMap.get(t);return Array.from(i)}else{const i=this.bothEdgesMap.get(t);return Array.from(i)}}getDegree(t,n){return this.getRelatedEdges(t,n).length}getSuccessors(t){const i=this.getRelatedEdges(t,"out").map(a=>this.getNode(a.target));return Array.from(new Set(i))}getPredecessors(t){const i=this.getRelatedEdges(t,"in").map(a=>this.getNode(a.source));return Array.from(new Set(i))}getNeighbors(t){const n=this.getPredecessors(t),i=this.getSuccessors(t);return Array.from(new Set([...n,...i]))}doAddNode(t){if(this.hasNode(t.id))throw new Error("Node already exists: "+t.id);this.nodeMap.set(t.id,t),this.inEdgesMap.set(t.id,new Set),this.outEdgesMap.set(t.id,new Set),this.bothEdgesMap.set(t.id,new Set),this.treeIndices.forEach(n=>{n.childrenMap.set(t.id,new Set)}),this.changes.push({type:"NodeAdded",value:t})}addNodes(t){this.batch(()=>{for(const n of t)this.doAddNode(n)})}addNode(t){this.addNodes([t])}doRemoveNode(t){const n=this.getNode(t),i=this.bothEdgesMap.get(t);i==null||i.forEach(a=>this.doRemoveEdge(a.id)),this.nodeMap.delete(t),this.treeIndices.forEach(a=>{var o,l;(o=a.childrenMap.get(t))==null||o.forEach(u=>{a.parentMap.delete(u.id)});const s=a.parentMap.get(t);s&&((l=a.childrenMap.get(s.id))==null||l.delete(n)),a.parentMap.delete(t),a.childrenMap.delete(t)}),this.bothEdgesMap.delete(t),this.inEdgesMap.delete(t),this.outEdgesMap.delete(t),this.changes.push({type:"NodeRemoved",value:n})}removeNodes(t){this.batch(()=>{t.forEach(n=>this.doRemoveNode(n))})}removeNode(t){this.removeNodes([t])}updateNodeDataProperty(t,n,i){const a=this.getNode(t);this.batch(()=>{const s=a.data[n],o=i;a.data[n]=o,this.changes.push({type:"NodeDataUpdated",id:t,propertyName:n,oldValue:s,newValue:o})})}mergeNodeData(t,n){this.batch(()=>{Object.entries(n).forEach(([i,a])=>{this.updateNodeDataProperty(t,i,a)})})}updateNodeData(...t){const n=t[0],i=this.getNode(n);if(typeof t[1]=="string"){this.updateNodeDataProperty(n,t[1],t[2]);return}let a;if(typeof t[1]=="function"){const s=t[1];a=s(i.data)}else typeof t[1]=="object"&&(a=t[1]);this.batch(()=>{const s=i.data,o=a;i.data=a,this.changes.push({type:"NodeDataUpdated",id:n,oldValue:s,newValue:o})})}checkEdgeExistence(t){if(!this.hasEdge(t))throw new Error("Edge not found for id: "+t)}hasEdge(t){return this.edgeMap.has(t)}getEdge(t){return this.checkEdgeExistence(t),this.edgeMap.get(t)}getEdgeDetail(t){const n=this.getEdge(t);return{edge:n,source:this.getNode(n.source),target:this.getNode(n.target)}}doAddEdge(t){if(this.hasEdge(t.id))throw new Error("Edge already exists: "+t.id);this.checkNodeExistence(t.source),this.checkNodeExistence(t.target),this.edgeMap.set(t.id,t);const n=this.inEdgesMap.get(t.target),i=this.outEdgesMap.get(t.source),a=this.bothEdgesMap.get(t.source),s=this.bothEdgesMap.get(t.target);n.add(t),i.add(t),a.add(t),s.add(t),this.changes.push({type:"EdgeAdded",value:t})}addEdges(t){this.batch(()=>{for(const n of t)this.doAddEdge(n)})}addEdge(t){this.addEdges([t])}doRemoveEdge(t){const n=this.getEdge(t),i=this.outEdgesMap.get(n.source),a=this.inEdgesMap.get(n.target),s=this.bothEdgesMap.get(n.source),o=this.bothEdgesMap.get(n.target);i.delete(n),a.delete(n),s.delete(n),o.delete(n),this.edgeMap.delete(t),this.changes.push({type:"EdgeRemoved",value:n})}removeEdges(t){this.batch(()=>{t.forEach(n=>this.doRemoveEdge(n))})}removeEdge(t){this.removeEdges([t])}updateEdgeSource(t,n){const i=this.getEdge(t);this.checkNodeExistence(n);const a=i.source,s=n;this.outEdgesMap.get(a).delete(i),this.bothEdgesMap.get(a).delete(i),this.outEdgesMap.get(s).add(i),this.bothEdgesMap.get(s).add(i),i.source=n,this.batch(()=>{this.changes.push({type:"EdgeUpdated",id:t,propertyName:"source",oldValue:a,newValue:s})})}updateEdgeTarget(t,n){const i=this.getEdge(t);this.checkNodeExistence(n);const a=i.target,s=n;this.inEdgesMap.get(a).delete(i),this.bothEdgesMap.get(a).delete(i),this.inEdgesMap.get(s).add(i),this.bothEdgesMap.get(s).add(i),i.target=n,this.batch(()=>{this.changes.push({type:"EdgeUpdated",id:t,propertyName:"target",oldValue:a,newValue:s})})}updateEdgeDataProperty(t,n,i){const a=this.getEdge(t);this.batch(()=>{const s=a.data[n],o=i;a.data[n]=o,this.changes.push({type:"EdgeDataUpdated",id:t,propertyName:n,oldValue:s,newValue:o})})}updateEdgeData(...t){const n=t[0],i=this.getEdge(n);if(typeof t[1]=="string"){this.updateEdgeDataProperty(n,t[1],t[2]);return}let a;if(typeof t[1]=="function"){const s=t[1];a=s(i.data)}else typeof t[1]=="object"&&(a=t[1]);this.batch(()=>{const s=i.data,o=a;i.data=a,this.changes.push({type:"EdgeDataUpdated",id:n,oldValue:s,newValue:o})})}mergeEdgeData(t,n){this.batch(()=>{Object.entries(n).forEach(([i,a])=>{this.updateEdgeDataProperty(t,i,a)})})}checkTreeExistence(t){if(!this.hasTreeStructure(t))throw new Error("Tree structure not found for treeKey: "+t)}hasTreeStructure(t){return this.treeIndices.has(t)}attachTreeStructure(t){this.treeIndices.has(t)||(this.treeIndices.set(t,{parentMap:new Map,childrenMap:new Map}),this.batch(()=>{this.changes.push({type:"TreeStructureAttached",treeKey:t})}))}detachTreeStructure(t){this.checkTreeExistence(t),this.treeIndices.delete(t),this.batch(()=>{this.changes.push({type:"TreeStructureDetached",treeKey:t})})}addTree(t,n){this.batch(()=>{this.attachTreeStructure(n);const i=[],a=Array.isArray(t)?t:[t];for(;a.length;){const s=a.shift();i.push(s),s.children&&a.push(...s.children)}this.addNodes(i),i.forEach(s=>{var o;(o=s.children)==null||o.forEach(l=>{this.setParent(l.id,s.id,n)})})})}getRoots(t){return this.checkTreeExistence(t),this.getAllNodes().filter(n=>!this.getParent(n.id,t))}getChildren(t,n){this.checkNodeExistence(t),this.checkTreeExistence(n);const a=this.treeIndices.get(n).childrenMap.get(t);return Array.from(a||[])}getParent(t,n){return this.checkNodeExistence(t),this.checkTreeExistence(n),this.treeIndices.get(n).parentMap.get(t)||null}getAncestors(t,n){const i=[];let a=this.getNode(t),s;for(;s=this.getParent(a.id,n);)i.push(s),a=s;return i}setParent(t,n,i){var c,h;this.checkTreeExistence(i);const a=this.treeIndices.get(i),s=this.getNode(t),o=a.parentMap.get(t);if((o==null?void 0:o.id)===n)return;if(n===void 0){o&&((c=a.childrenMap.get(o.id))==null||c.delete(s)),a.parentMap.delete(t);return}const l=this.getNode(n);a.parentMap.set(t,l),o&&((h=a.childrenMap.get(o.id))==null||h.delete(s));let u=a.childrenMap.get(l.id);u||(u=new Set,a.childrenMap.set(l.id,u)),u.add(s),this.batch(()=>{this.changes.push({type:"TreeStructureChanged",treeKey:i,nodeId:t,oldParentId:o==null?void 0:o.id,newParentId:l.id})})}dfsTree(t,n,i){const a=s=>this.getChildren(s,i);return fd(this.getNode(t),new Set,n,a)}bfsTree(t,n,i){const a=s=>this.getChildren(s,i);return C0([this.getNode(t)],new Set,n,a)}getAllNodes(){return Array.from(this.nodeMap.values())}getAllEdges(){return Array.from(this.edgeMap.values())}bfs(t,n,i="out"){const a={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[i];return C0([this.getNode(t)],new Set,n,a)}dfs(t,n,i="out"){const a={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[i];return fd(this.getNode(t),new Set,n,a)}clone(){const t=this.getAllNodes().map(a=>jy(mu({},a),{data:mu({},a.data)})),n=this.getAllEdges().map(a=>jy(mu({},a),{data:mu({},a.data)})),i=new gr({nodes:t,edges:n});return this.treeIndices.forEach(({parentMap:a,childrenMap:s},o)=>{const l=new Map;a.forEach((c,h)=>{l.set(h,i.getNode(c.id))});const u=new Map;s.forEach((c,h)=>{u.set(h,new Set(Array.from(c).map(f=>i.getNode(f.id))))}),i.treeIndices.set(o,{parentMap:l,childrenMap:u})}),i}toJSON(){return JSON.stringify({nodes:this.getAllNodes(),edges:this.getAllEdges()})}createView(t){return new W6(mu({graph:this},t))}}class N0{constructor(e,t){this.context=e,this.options=t||{}}}var V6=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,e||[])).next())})},Y6=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};function rQ(r){const{type:e}=r;return!!(["comboCombined","comboForce"].includes(e)||e==="antv-dagre"&&r.sortByCombo)}function U6(r){const{type:e}=r;return["compact-box","mindmap","dendrogram","indented"].includes(e)}function iQ(r){return isNumber(r.x)&&isNumber(r.y)}function dd(r){const{nodes:e,edges:t}=r,n={nodes:[],edges:[],combos:[]};return e.forEach(i=>{const a=i.data._isCombo?n.combos:n.nodes,{x:s,y:o,z:l=0}=i.data;a==null||a.push({id:i.id,style:{x:s,y:o,z:l}})}),t.forEach(i=>{const{id:a,source:s,target:o,data:{points:l=[],controlPoints:u=l.slice(1,l.length-1)}}=i;n.edges.push({id:a,source:s,target:o,style:Object.assign({},u!=null&&u.length?{controlPoints:u.map(zr)}:{})})}),n}function Z6(r,e){class t extends N0{constructor(i,a){if(super(i,a),this.instance=new r({}),this.id=this.instance.id,"stop"in this.instance&&"tick"in this.instance){const s=this.instance;this.stop=s.stop.bind(s),this.tick=o=>{const l=s.tick(o);return dd(l)}}}execute(i,a){return V6(this,void 0,void 0,function*(){return dd(yield this.instance.execute(this.graphData2LayoutModel(i),this.transformOptions(ri({},this.options,a))))})}transformOptions(i){const{onTick:a}=i;return a&&(i.onTick=s=>a(dd(s))),i}graphData2LayoutModel(i){const{nodes:a=[],edges:s=[],combos:o=[]}=i,l=a.map(d=>{const v=Re(d),{data:g,style:p,combo:m}=d,b=Y6(d,["data","style","combo"]),x={id:v,data:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},g),{data:g}),m?{parentId:m}:{}),{style:p}),b)};return p!=null&&p.x&&Object.assign(x.data,{x:p.x}),p!=null&&p.y&&Object.assign(x.data,{y:p.y}),p!=null&&p.z&&Object.assign(x.data,{z:p.z}),x}),u=new Map(l.map(d=>[d.id,d])),c=s.filter(d=>{const{source:v,target:g}=d;return u.has(v)&&u.has(g)}).map(d=>{const{source:v,target:g,data:p,style:m}=d;return{id:Re(d),source:v,target:g,data:Object.assign({},p),style:Object.assign({},m)}}),h=o.map(d=>({id:Re(d),data:Object.assign({_isCombo:!0},d.data),style:Object.assign({},d.style)})),f=new gr({nodes:[...l,...h],edges:c});return e.model.model.hasTreeStructure(An)&&(f.attachTreeStructure(An),l.forEach(d=>{const v=e.model.model.getParent(d.id,An);v&&f.hasNode(v.id)&&f.setParent(d.id,v.id,An)})),f}}return t}function _0(r,e,...t){if(e in r)return r[e](...t);if("instance"in r){const n=r.instance;if(e in n)return n[e](...t)}return null}function e2(r,e){if(e in r)return r[e];if("instance"in r){const t=r.instance;if(e in t)return t[e]}return null}var K6=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};class Q6 extends yc{get forceLayoutInstance(){return this.context.layout.getLayoutInstance().find(e=>["d3-force","d3-force-3d"].includes(e==null?void 0:e.id))}validate(e){return this.context.layout?this.forceLayoutInstance?super.validate(e):(wi.warn("DragElementForce only works with d3-force or d3-force-3d layout"),!1):!1}moveElement(e,t){return K6(this,void 0,void 0,function*(){const n=this.forceLayoutInstance;this.context.graph.getNodeData(e).forEach((i,a)=>{const{x:s=0,y:o=0}=i.style||{};n&&_0(n,"setFixedPosition",e[a],[...jt([+s,+o],t)])})})}onDragStart(e){if(this.enable=this.validate(e),!this.enable)return;this.target=this.getSelectedNodeIDs([e.target.id]),this.hideEdge(),this.context.graph.frontElement(this.target);const t=this.forceLayoutInstance;t&&e2(t,"simulation").alphaTarget(.3).restart(),this.context.graph.getNodeData(this.target).forEach(n=>{const{x:i=0,y:a=0}=n.style||{};t&&_0(t,"setFixedPosition",Re(n),[+i,+a])})}onDrag(e){if(!this.enable)return;const t=this.getDelta(e);this.moveElement(this.target,t)}onDragEnd(){const e=this.forceLayoutInstance;e&&e2(e,"simulation").alphaTarget(0),this.context.graph.getNodeData(this.target).forEach(t=>{e&&_0(e,"setFixedPosition",Re(t),[null,null,null])})}}var t2=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};class vd extends Ni{constructor(e,t){super(e,Object.assign({},vd.defaultOptions,t)),this.isZoomEvent=n=>!!(n.data&&"scale"in n.data),this.relatedEdgeToUpdate=new Set,this.zoom=this.context.graph.getZoom(),this.fixElementSize=n=>t2(this,void 0,void 0,function*(){if(!this.validate(n))return;const{graph:i}=this.context,{state:a,nodeFilter:s,edgeFilter:o,comboFilter:l}=this.options,u=(a?i.getElementDataByState("node",a):i.getNodeData()).filter(s),c=(a?i.getElementDataByState("edge",a):i.getEdgeData()).filter(o),h=(a?i.getElementDataByState("combo",a):i.getComboData()).filter(l),f=this.isZoomEvent(n)?this.zoom=Math.max(.01,Math.min(n.data.scale,10)):this.zoom,d=[...u,...h];d.length>0&&d.forEach(v=>this.fixNodeLike(v,f)),this.updateRelatedEdges(),c.length>0&&c.forEach(v=>this.fixEdge(v,f))}),this.cachedStyles=new Map,this.getOriginalFieldValue=(n,i,a)=>{var s;const o=this.cachedStyles.get(n)||[],l=((s=o.find(u=>u.shape===i))===null||s===void 0?void 0:s.style)||{};return a in l||(l[a]=i.attributes[a],this.cachedStyles.set(n,[...o.filter(u=>u.shape!==i),{shape:i,style:l}])),l[a]},this.scaleEntireElement=(n,i,a)=>{i.setLocalScale(1/a);const s=this.cachedStyles.get(n)||[];s.push({shape:i}),this.cachedStyles.set(n,s)},this.scaleSpecificShapes=(n,i,a)=>{const s=eD(n);(Array.isArray(a)?a:[a]).forEach(l=>{const{shape:u,fields:c}=l,h=typeof u=="function"?u(s):n.getShape(u);if(h){if(!c){this.scaleEntireElement(n.id,h,i);return}c.forEach(f=>{const d=this.getOriginalFieldValue(n.id,h,f);ht(d)&&(h.style[f]=d/i)})}})},this.skipIfExceedViewport=n=>{const{viewport:i}=this.context;return!(i!=null&&i.isInViewport(n.getRenderBounds(),!1,30))},this.fixNodeLike=(n,i)=>{const a=Re(n),{element:s,model:o}=this.context,l=s.getElement(a);if(!l||this.skipIfExceedViewport(l))return;o.getRelatedEdgesData(a).forEach(h=>this.relatedEdgeToUpdate.add(Re(h)));const c=this.options[l.type];if(!c){this.scaleEntireElement(a,l,i);return}this.scaleSpecificShapes(l,i,c)},this.fixEdge=(n,i)=>{const a=Re(n),s=this.context.element.getElement(a);if(!s||this.skipIfExceedViewport(s))return;const o=this.options.edge;if(!o){s.style.transformOrigin="center",this.scaleEntireElement(a,s,i);return}this.scaleSpecificShapes(s,i,o)},this.updateRelatedEdges=()=>{const{element:n}=this.context;this.relatedEdgeToUpdate.size>0&&this.relatedEdgeToUpdate.forEach(i=>{const a=n.getElement(i);a==null||a.update({})}),this.relatedEdgeToUpdate.clear()},this.resetTransform=n=>t2(this,void 0,void 0,function*(){var i;!((i=n.data)===null||i===void 0)&&i.firstRender||(this.options.reset?this.restoreCachedStyles():this.fixElementSize({data:{scale:this.zoom}}))}),this.bindEvents()}restoreCachedStyles(){if(this.cachedStyles.size>0){this.cachedStyles.forEach(i=>{i.forEach(({shape:a,style:s})=>{if(ts(s))a.setLocalScale(1);else{if(this.options.state)return;Object.entries(s).forEach(([o,l])=>a.style[o]=l)}})});const{graph:e,element:t}=this.context,n=Object.keys(Object.fromEntries(this.cachedStyles)).filter(i=>i&&e.getElementType(i)==="node");if(n.length>0){const i=new Set;n.forEach(a=>{e.getRelatedEdgesData(a).forEach(s=>i.add(Re(s)))}),i.forEach(a=>{const s=t==null?void 0:t.getElement(a);s==null||s.update({})})}}}bindEvents(){const{graph:e}=this.context;e.on(rt.AFTER_DRAW,this.resetTransform),e.on(rt.AFTER_TRANSFORM,this.fixElementSize)}unbindEvents(){const{graph:e}=this.context;e.off(rt.AFTER_DRAW,this.resetTransform),e.off(rt.AFTER_TRANSFORM,this.fixElementSize)}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return pt(t)?t(e):!!t}destroy(){this.unbindEvents(),super.destroy()}}vd.defaultOptions={enable:r=>r.data.scale<1,nodeFilter:()=>!0,edgeFilter:()=>!0,comboFilter:()=>!0,edge:[{shape:"key",fields:["lineWidth"]},{shape:"halo",fields:["lineWidth"]},{shape:"label"}],reset:!1};var J6=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};class gd extends Ni{constructor(e,t){super(e,Object.assign({},gd.defaultOptions,t)),this.focus=n=>J6(this,void 0,void 0,function*(){if(!this.validate(n))return;const{graph:i}=this.context;yield i.focusElement(n.target.id,this.options.animation)}),this.bindEvents()}bindEvents(){const{graph:e}=this.context;this.unbindEvents(),Io.forEach(t=>{e.on(`${t}:${We.CLICK}`,this.focus)})}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return pt(t)?t(e):!!t}unbindEvents(){const{graph:e}=this.context;Io.forEach(t=>{e.off(`${t}:${We.CLICK}`,this.focus)})}destroy(){this.unbindEvents(),super.destroy()}}gd.defaultOptions={animation:{easing:"ease-in",duration:500},enable:!0};class pd extends Ni{constructor(e,t){super(e,Object.assign({},pd.defaultOptions,t)),this.isFrozen=!1,this.toggleFrozen=n=>{this.isFrozen=n.type==="dragstart"},this.hoverElement=n=>{if(!this.validate(n))return;const i=n.type===We.POINTER_ENTER;this.updateElementsState(n,i);const{onHover:a,onHoverEnd:s}=this.options;i?a==null||a(n):s==null||s(n)},this.updateElementsState=(n,i)=>{if(!this.options.state&&!this.options.inactiveState)return;const{graph:a}=this.context,{state:s,animation:o,inactiveState:l}=this.options,u=this.getActiveIds(n),c={};if(s&&Object.assign(c,this.getElementsState(u,s,i)),l){const h=gE(a.getData(),!0).filter(f=>!u.includes(f));Object.assign(c,this.getElementsState(h,l,i))}a.setElementState(c,o)},this.getElementsState=(n,i,a)=>{const{graph:s}=this.context,o={};return n.forEach(l=>{const u=s.getElementState(l);a?o[l]=u.includes(i)?u:[...u,i]:o[l]=u.filter(c=>c!==i)}),o},this.bindEvents()}bindEvents(){const{graph:e}=this.context;this.unbindEvents(),Io.forEach(n=>{e.on(`${n}:${We.POINTER_ENTER}`,this.hoverElement),e.on(`${n}:${We.POINTER_LEAVE}`,this.hoverElement)});const t=this.context.canvas.document;t.addEventListener(`${We.DRAG_START}`,this.toggleFrozen),t.addEventListener(`${We.DRAG_END}`,this.toggleFrozen)}getActiveIds(e){const{graph:t}=this.context,{degree:n,direction:i}=this.options,a=e.target.id;return n?NE(t,e.targetType,a,typeof n=="function"?n(e):n,i):[a]}validate(e){if(this.destroyed||this.isFrozen||id(e.target)||this.context.graph.isCollapsingExpanding)return!1;const{enable:t}=this.options;return pt(t)?t(e):!!t}unbindEvents(){const{graph:e}=this.context;Io.forEach(n=>{e.off(`${n}:${We.POINTER_ENTER}`,this.hoverElement),e.off(`${n}:${We.POINTER_LEAVE}`,this.hoverElement)});const t=this.context.canvas.document;t.removeEventListener(`${We.DRAG_START}`,this.toggleFrozen),t.removeEventListener(`${We.DRAG_END}`,this.toggleFrozen)}destroy(){this.unbindEvents(),super.destroy()}}pd.defaultOptions={animation:!1,enable:!0,degree:0,direction:"both",state:"active",inactiveState:void 0};class q6 extends ic{onPointerDown(e){if(!super.validate(e)||!super.isKeydown()||this.points)return;const{canvas:t}=this.context;this.pathShape=new gs({id:"g6-lasso-select",style:this.options.style}),t.appendChild(this.pathShape),this.points=[Mf(e)]}onPointerMove(e){var t;if(!this.points)return;const{immediately:n,mode:i}=this.options;this.points.push(Mf(e)),(t=this.pathShape)===null||t===void 0||t.setAttribute("d",KL(this.points)),n&&i==="default"&&this.points.length>2&&super.updateElementsStates(this.points)}onPointerUp(){if(this.points){if(this.points.length<2){this.clearLasso();return}super.updateElementsStates(this.points),this.clearLasso()}}clearLasso(){var e;(e=this.pathShape)===null||e===void 0||e.remove(),this.pathShape=void 0,this.points=void 0}}class md extends Ni{constructor(e,t){super(e,Object.assign({},md.defaultOptions,t)),this.hiddenShapes=[],this.isVisible=!0,this.setElementsVisibility=(n,i,a)=>{n.filter(Boolean).forEach(s=>{i==="hidden"&&!s.isVisible()?this.hiddenShapes.push(s):i==="visible"&&this.hiddenShapes.includes(s)?this.hiddenShapes.splice(this.hiddenShapes.indexOf(s),1):Lo(s,i,!1,a)})},this.filterShapes=(n,i)=>{if(pt(i))return s=>!i(n,s);const a=i==null?void 0:i[n];return s=>s.className?!(a!=null&&a.includes(s.className)):!0},this.hideShapes=n=>{if(!this.validate(n)||!this.isVisible)return;const{element:i}=this.context,{shapes:a={}}=this.options;this.setElementsVisibility(i.getNodes(),"hidden",this.filterShapes("node",a)),this.setElementsVisibility(i.getEdges(),"hidden",this.filterShapes("edge",a)),this.setElementsVisibility(i.getCombos(),"hidden",this.filterShapes("combo",a)),this.isVisible=!1},this.showShapes=mc(n=>{if(!this.validate(n)||this.isVisible)return;const{element:i}=this.context;this.setElementsVisibility(i.getNodes(),"visible"),this.setElementsVisibility(i.getEdges(),"visible"),this.setElementsVisibility(i.getCombos(),"visible"),this.isVisible=!0},this.options.debounce),this.bindEvents()}bindEvents(){const{graph:e}=this.context;e.on(rt.BEFORE_TRANSFORM,this.hideShapes),e.on(rt.AFTER_TRANSFORM,this.showShapes)}unbindEvents(){const{graph:e}=this.context;e.off(rt.BEFORE_TRANSFORM,this.hideShapes),e.off(rt.AFTER_TRANSFORM,this.showShapes)}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return pt(t)?t(e):!!t}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}destroy(){this.unbindEvents(),super.destroy()}}md.defaultOptions={enable:!0,debounce:200,shapes:r=>r==="node"};var n2=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};class yd extends Ni{constructor(e,t){super(e,Object.assign({},yd.defaultOptions,t)),this.onWheel=n=>n2(this,void 0,void 0,function*(){this.options.preventDefault&&n.preventDefault();const i=n.deltaX,a=n.deltaY;yield this.scroll([-i,-a],n)}),this.shortcut=new Bl(e.graph),this.bindEvents()}update(e){super.update(e),this.bindEvents()}bindEvents(){var e,t;const{trigger:n}=this.options;if(this.shortcut.unbindAll(),nr(n)){(e=this.graphDom)===null||e===void 0||e.removeEventListener(We.WHEEL,this.onWheel);const{up:i=[],down:a=[],left:s=[],right:o=[]}=n;this.shortcut.bind(i,l=>this.scroll([0,-10],l)),this.shortcut.bind(a,l=>this.scroll([0,10],l)),this.shortcut.bind(s,l=>this.scroll([-10,0],l)),this.shortcut.bind(o,l=>this.scroll([10,0],l))}else(t=this.graphDom)===null||t===void 0||t.addEventListener(We.WHEEL,this.onWheel,{passive:!1})}get graphDom(){return this.context.graph.getCanvas().getContextService().getDomElement()}formatDisplacement(e){const{sensitivity:t}=this.options;return e=xs(e,t),e=this.clampByDirection(e),e=this.clampByRange(e),e}clampByDirection([e,t]){const{direction:n}=this.options;return n==="x"?t=0:n==="y"&&(e=0),[e,t]}clampByRange([e,t]){const{viewport:n,canvas:i}=this.context,[a,s]=i.getSize(),[o,l,u,c]=Ja(this.options.range),h=[s*o,a*l,s*u,a*c],f=Ws(Rp(n.getCanvasCenter()),h),d=On(n.getViewportCenter(),[e,t,0]);if(!Pa(d,f)){const{min:[v,g],max:[p,m]}=f;(d[0]<v&&e>0||d[0]>p&&e<0)&&(e=0),(d[1]<g&&t>0||d[1]>m&&t<0)&&(t=0)}return[e,t]}scroll(e,t){return n2(this,void 0,void 0,function*(){if(!this.validate(t))return;const{onFinish:n}=this.options,i=this.context.graph,a=this.formatDisplacement(e);yield i.translateBy(a,!1),n==null||n()})}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return pt(t)?t(e):!!t}destroy(){var e;this.shortcut.destroy(),(e=this.graphDom)===null||e===void 0||e.removeEventListener(We.WHEEL,this.onWheel),super.destroy()}}yd.defaultOptions={enable:!0,sensitivity:1,preventDefault:!0,range:1/0};var r2=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};class bd extends Ni{constructor(e,t){super(e,Object.assign({},bd.defaultOptions,t)),this.zoom=(n,i,a)=>r2(this,void 0,void 0,function*(){if(!this.validate(i))return;const{graph:s}=this.context;let o;"viewport"in i&&(o=zr(i.viewport));const{sensitivity:l,onFinish:u}=this.options,c=1+on(n,-50,50)*l/100,h=s.getZoom();yield s.zoomTo(h*c,a,o),u==null||u()}),this.onReset=()=>r2(this,void 0,void 0,function*(){yield this.context.graph.zoomTo(1,this.options.animation)}),this.preventDefault=n=>{this.options.preventDefault&&n.preventDefault()},this.shortcut=new Bl(e.graph),this.bindEvents()}update(e){super.update(e),this.bindEvents()}bindEvents(){var e;const{trigger:t}=this.options;if(this.shortcut.unbindAll(),Array.isArray(t)&&((e=this.context.canvas.getContainer())===null||e===void 0||e.addEventListener(We.WHEEL,this.preventDefault),this.shortcut.bind([...t,We.WHEEL],n=>{const{deltaX:i,deltaY:a}=n;this.zoom(-(a!=null?a:i),n,!1)})),typeof t=="object"){const{zoomIn:n=[],zoomOut:i=[],reset:a=[]}=t;this.shortcut.bind(n,s=>this.zoom(10,s,this.options.animation)),this.shortcut.bind(i,s=>this.zoom(-10,s,this.options.animation)),this.shortcut.bind(a,this.onReset)}}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return pt(t)?t(e):!!t}destroy(){var e;this.shortcut.destroy(),(e=this.context.canvas.getContainer())===null||e===void 0||e.removeEventListener(We.WHEEL,this.preventDefault),super.destroy()}}bd.defaultOptions={animation:{duration:200},enable:!0,sensitivity:1,trigger:[],preventDefault:!0};var xd=w(81746),R0=function(r,e){return R0=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])},R0(r,e)};function aQ(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");R0(r,e);function t(){this.constructor=r}r.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}var i2=function(){return i2=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++){t=arguments[n];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},i2.apply(this,arguments)};function a2(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t}function sQ(r,e,t,n){var i=arguments.length,a=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(r,e,t,n);else for(var o=r.length-1;o>=0;o--)(s=r[o])&&(a=(i<3?s(a):i>3?s(e,t,a):s(e,t))||a);return i>3&&a&&Object.defineProperty(e,t,a),a}function oQ(r,e){return function(t,n){e(t,n,r)}}function lQ(r,e,t,n,i,a){function s(m){if(m!==void 0&&typeof m!="function")throw new TypeError("Function expected");return m}for(var o=n.kind,l=o==="getter"?"get":o==="setter"?"set":"value",u=!e&&r?n.static?r:r.prototype:null,c=e||(u?Object.getOwnPropertyDescriptor(u,n.name):{}),h,f=!1,d=t.length-1;d>=0;d--){var v={};for(var g in n)v[g]=g==="access"?{}:n[g];for(var g in n.access)v.access[g]=n.access[g];v.addInitializer=function(m){if(f)throw new TypeError("Cannot add initializers after decoration has completed");a.push(s(m||null))};var p=(0,t[d])(o==="accessor"?{get:c.get,set:c.set}:c[l],v);if(o==="accessor"){if(p===void 0)continue;if(p===null||typeof p!="object")throw new TypeError("Object expected");(h=s(p.get))&&(c.get=h),(h=s(p.set))&&(c.set=h),(h=s(p.init))&&i.push(h)}else(h=s(p))&&(o==="field"?i.push(h):c[l]=h)}u&&Object.defineProperty(u,n.name,c),f=!0}function uQ(r,e,t){for(var n=arguments.length>2,i=0;i<e.length;i++)t=n?e[i].call(r,t):e[i].call(r);return n?t:void 0}function cQ(r){return typeof r=="symbol"?r:"".concat(r)}function hQ(r,e,t){return typeof e=="symbol"&&(e=e.description?"[".concat(e.description,"]"):""),Object.defineProperty(r,"name",{configurable:!0,value:t?"".concat(t," ",e):e})}function fQ(r,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(r,e)}function Wt(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,e||[])).next())})}function dQ(r,e){var t={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},n,i,a,s;return s={next:o(0),throw:o(1),return:o(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function o(u){return function(c){return l([u,c])}}function l(u){if(n)throw new TypeError("Generator is already executing.");for(;s&&(s=0,u[0]&&(t=0)),t;)try{if(n=1,i&&(a=u[0]&2?i.return:u[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,u[1])).done)return a;switch(i=0,a&&(u=[u[0]&2,a.value]),u[0]){case 0:case 1:a=u;break;case 4:return t.label++,{value:u[1],done:!1};case 5:t.label++,i=u[1],u=[0];continue;case 7:u=t.ops.pop(),t.trys.pop();continue;default:if(a=t.trys,!(a=a.length>0&&a[a.length-1])&&(u[0]===6||u[0]===2)){t=0;continue}if(u[0]===3&&(!a||u[1]>a[0]&&u[1]<a[3])){t.label=u[1];break}if(u[0]===6&&t.label<a[1]){t.label=a[1],a=u;break}if(a&&t.label<a[2]){t.label=a[2],t.ops.push(u);break}a[2]&&t.ops.pop(),t.trys.pop();continue}u=e.call(r,t)}catch(c){u=[6,c],i=0}finally{n=a=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}var s2=Object.create?function(r,e,t,n){n===void 0&&(n=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,i)}:function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]};function vQ(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&s2(e,r,t)}function o2(r){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&r[e],n=0;if(t)return t.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function $6(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var n=t.call(r),i,a=[],s;try{for(;(e===void 0||e-- >0)&&!(i=n.next()).done;)a.push(i.value)}catch(o){s={error:o}}finally{try{i&&!i.done&&(t=n.return)&&t.call(n)}finally{if(s)throw s.error}}return a}function gQ(){for(var r=[],e=0;e<arguments.length;e++)r=r.concat($6(arguments[e]));return r}function pQ(){for(var r=0,e=0,t=arguments.length;e<t;e++)r+=arguments[e].length;for(var n=Array(r),i=0,e=0;e<t;e++)for(var a=arguments[e],s=0,o=a.length;s<o;s++,i++)n[i]=a[s];return n}function mQ(r,e,t){if(t||arguments.length===2)for(var n=0,i=e.length,a;n<i;n++)(a||!(n in e))&&(a||(a=Array.prototype.slice.call(e,0,n)),a[n]=e[n]);return r.concat(a||Array.prototype.slice.call(e))}function Ed(r){return this instanceof Ed?(this.v=r,this):new Ed(r)}function yQ(r,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=t.apply(r,e||[]),i,a=[];return i={},s("next"),s("throw"),s("return"),i[Symbol.asyncIterator]=function(){return this},i;function s(f){n[f]&&(i[f]=function(d){return new Promise(function(v,g){a.push([f,d,v,g])>1||o(f,d)})})}function o(f,d){try{l(n[f](d))}catch(v){h(a[0][3],v)}}function l(f){f.value instanceof Ed?Promise.resolve(f.value.v).then(u,c):h(a[0][2],f)}function u(f){o("next",f)}function c(f){o("throw",f)}function h(f,d){f(d),a.shift(),a.length&&o(a[0][0],a[0][1])}}function bQ(r){var e,t;return e={},n("next"),n("throw",function(i){throw i}),n("return"),e[Symbol.iterator]=function(){return this},e;function n(i,a){e[i]=r[i]?function(s){return(t=!t)?{value:Ed(r[i](s)),done:!1}:a?a(s):s}:a}}function xQ(r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=r[Symbol.asyncIterator],t;return e?e.call(r):(r=typeof o2=="function"?o2(r):r[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(a){t[a]=r[a]&&function(s){return new Promise(function(o,l){s=r[a](s),i(o,l,s.done,s.value)})}}function i(a,s,o,l){Promise.resolve(l).then(function(u){a({value:u,done:o})},s)}}function EQ(r,e){return Object.defineProperty?Object.defineProperty(r,"raw",{value:e}):r.raw=e,r}var e5=Object.create?function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}:function(r,e){r.default=e};function wQ(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&s2(e,r,t);return e5(e,r),e}function PQ(r){return r&&r.__esModule?r:{default:r}}function MQ(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)}function SQ(r,e,t,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!i:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(r,t):i?i.value=t:e.set(r,t),t}function TQ(r,e){if(e===null||typeof e!="object"&&typeof e!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof r=="function"?e===r:r.has(e)}const t5=(r,e)=>{if(r!=="next"&&r!=="prev")return e},l2=r=>{r.prev.next=r.next,r.next.prev=r.prev,delete r.next,delete r.prev};class n5{constructor(){const e={};e.prev=e,e.next=e.prev,this.shortcut=e}dequeue(){const e=this.shortcut,t=e.prev;if(t&&t!==e)return l2(t),t}enqueue(e){const t=this.shortcut;e.prev&&e.next&&l2(e),e.next=t.next,t.next.prev=e,t.next=e,e.prev=t}toString(){const e=[],t=this.shortcut;let n=t.prev;for(;n!==t;)e.push(JSON.stringify(n,t5)),n=n==null?void 0:n.prev;return`[${e.join(", ")}]`}}class r5 extends n5{}const i5=()=>1,a5=(r,e)=>{var t;if(r.getAllNodes().length<=1)return[];const n=o5(r,e||i5);return(t=s5(n.graph,n.buckets,n.zeroIdx).map(a=>r.getRelatedEdges(a.v,"out").filter(({target:s})=>s===a.w)))===null||t===void 0?void 0:t.flat()},s5=(r,e,t)=>{let n=[];const i=e[e.length-1],a=e[0];let s;for(;r.getAllNodes().length;){for(;s=a.dequeue();)L0(r,e,t,s);for(;s=i.dequeue();)L0(r,e,t,s);if(r.getAllNodes().length){for(let o=e.length-2;o>0;--o)if(s=e[o].dequeue(),s){n=n.concat(L0(r,e,t,s,!0));break}}}return n},L0=(r,e,t,n,i)=>{var a,s;const o=[];return r.hasNode(n.v)&&((a=r.getRelatedEdges(n.v,"in"))===null||a===void 0||a.forEach(l=>{const u=l.data.weight,c=r.getNode(l.source);i&&o.push({v:l.source,w:l.target,in:0,out:0}),c.data.out===void 0&&(c.data.out=0),c.data.out-=u,D0(e,t,Object.assign({v:c.id},c.data))}),(s=r.getRelatedEdges(n.v,"out"))===null||s===void 0||s.forEach(l=>{const u=l.data.weight,c=l.target,h=r.getNode(c);h.data.in===void 0&&(h.data.in=0),h.data.in-=u,D0(e,t,Object.assign({v:h.id},h.data))}),r.removeNode(n.v)),i?o:void 0},o5=(r,e)=>{const t=new gr;let n=0,i=0;r.getAllNodes().forEach(l=>{t.addNode({id:l.id,data:{v:l.id,in:0,out:0}})}),r.getAllEdges().forEach(l=>{const u=t.getRelatedEdges(l.source,"out").find(h=>h.target===l.target),c=(e==null?void 0:e(l))||1;u?t.updateEdgeData(u==null?void 0:u.id,Object.assign(Object.assign({},u.data),{weight:u.data.weight+c})):t.addEdge({id:l.id,source:l.source,target:l.target,data:{weight:c}}),i=Math.max(i,t.getNode(l.source).data.out+=c),n=Math.max(n,t.getNode(l.target).data.in+=c)});const a=[],s=i+n+3;for(let l=0;l<s;l++)a.push(new r5);const o=n+1;return t.getAllNodes().forEach(l=>{D0(a,o,Object.assign({v:l.id},t.getNode(l.id).data))}),{buckets:a,zeroIdx:o,graph:t}},D0=(r,e,t)=>{t.out?t.in?r[t.out-t.in+e].enqueue(t):r[r.length-1].enqueue(t):r[0].enqueue(t)},l5=(r,e)=>{const n=e==="greedy"?a5(r,(i=>a=>a.data.weight||1)(r)):u5(r);n==null||n.forEach(i=>{const a=i.data;r.removeEdge(i.id),a.forwardName=i.data.name,a.reversed=!0,r.addEdge({id:i.id,source:i.target,target:i.source,data:Object.assign({},a)})})},u5=r=>{const e=[],t={},n={},i=a=>{n[a]||(n[a]=!0,t[a]=!0,r.getRelatedEdges(a,"out").forEach(s=>{t[s.target]?e.push(s):i(s.target)}),delete t[a])};return r.getAllNodes().forEach(a=>i(a.id)),e},c5=r=>{r.getAllEdges().forEach(e=>{const t=e.data;if(t.reversed){r.removeEdge(e.id);const n=t.forwardName;delete t.reversed,delete t.forwardName,r.addEdge({id:e.id,source:e.target,target:e.source,data:Object.assign(Object.assign({},t),{forwardName:n})})}})},h5=(r,e)=>Number(r)-Number(e),Vl=(r,e,t,n)=>{let i;do i=`${n}${Math.random()}`;while(r.hasNode(i));return t.dummy=e,r.addNode({id:i,data:t}),i},f5=r=>{const e=new gr;return r.getAllNodes().forEach(t=>{e.addNode(Object.assign({},t))}),r.getAllEdges().forEach(t=>{const n=e.getRelatedEdges(t.source,"out").find(i=>i.target===t.target);n?e.updateEdgeData(n==null?void 0:n.id,Object.assign(Object.assign({},n.data),{weight:n.data.weight+t.data.weight||0,minlen:Math.max(n.data.minlen,t.data.minlen||1)})):e.addEdge({id:t.id,source:t.source,target:t.target,data:{weight:t.data.weight||0,minlen:t.data.minlen||1}})}),e},u2=r=>{const e=new gr;return r.getAllNodes().forEach(t=>{r.getChildren(t.id).length||e.addNode(Object.assign({},t))}),r.getAllEdges().forEach(t=>{e.addEdge(t)}),e},c2=(r,e)=>r==null?void 0:r.reduce((t,n,i)=>(t[n]=e[i],t),{}),AQ=r=>{const e={};return r.getAllNodes().forEach(t=>{const n={};r.getRelatedEdges(t.id,"out").forEach(i=>{n[i.target]=(n[i.target]||0)+(i.data.weight||0)}),e[t.id]=n}),e},OQ=r=>{const e=r.getAllNodes(),t=e.map(n=>{const i={};return r.getRelatedEdges(n.id,"in").forEach(a=>{i[a.source]=(i[a.source]||0)+a.data.weight}),i});return c2(e.map(n=>n.id),t)},h2=(r,e)=>{const t=Number(r.x),n=Number(r.y),i=Number(e.x)-t,a=Number(e.y)-n;let s=Number(r.width)/2,o=Number(r.height)/2;if(!i&&!a)return{x:0,y:0};let l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=o*i/a,u=o):(i<0&&(s=-s),l=s,u=s*a/i),{x:t+l,y:n+u}},bc=r=>{const e=[],t=d2(r)+1;for(let n=0;n<t;n++)e.push([]);r.getAllNodes().forEach(n=>{const i=n.data.rank;i!==void 0&&e[i]&&e[i].push(n.id)});for(let n=0;n<t;n++)e[n]=e[n].sort((i,a)=>h5(r.getNode(i).data.order,r.getNode(a).data.order));return e},d5=r=>{const e=r.getAllNodes().filter(n=>n.data.rank!==void 0).map(n=>n.data.rank),t=Math.min(...e);r.getAllNodes().forEach(n=>{n.data.hasOwnProperty("rank")&&t!==1/0&&(n.data.rank-=t)})},v5=(r,e=0)=>{const t=r.getAllNodes(),n=t.filter(o=>o.data.rank!==void 0).map(o=>o.data.rank),i=Math.min(...n),a=[];t.forEach(o=>{const l=(o.data.rank||0)-i;a[l]||(a[l]=[]),a[l].push(o.id)});let s=0;for(let o=0;o<a.length;o++){const l=a[o];l===void 0?o%e!==0&&(s-=1):s&&(l==null||l.forEach(u=>{const c=r.getNode(u);c&&(c.data.rank=c.data.rank||0,c.data.rank+=s)}))}},f2=(r,e,t,n)=>{const i={width:0,height:0};return ht(t)&&ht(n)&&(i.rank=t,i.order=n),Vl(r,"border",i,e)},d2=r=>{let e;return r.getAllNodes().forEach(t=>{const n=t.data.rank;n!==void 0&&(e===void 0||n>e)&&(e=n)}),e||(e=0),e},g5=(r,e)=>{const t={lhs:[],rhs:[]};return r==null||r.forEach(n=>{e(n)?t.lhs.push(n):t.rhs.push(n)}),t},I0=(r,e)=>r.reduce((t,n)=>{const i=e(t),a=e(n);return i>a?n:t}),v2=(r,e,t,n,i,a)=>{n.includes(e.id)||(n.push(e.id),t||a.push(e.id),i(e.id).forEach(s=>v2(r,s,t,n,i,a)),t&&a.push(e.id))},g2=(r,e,t,n)=>{const i=Array.isArray(e)?e:[e],a=l=>n?r.getSuccessors(l):r.getNeighbors(l),s=[],o=[];return i.forEach(l=>{if(r.hasNode(l.id))v2(r,l,t==="post",o,a,s);else throw new Error(`Graph does not have node: ${l}`)}),s},p5=r=>{const e=t=>{const n=r.getChildren(t),i=r.getNode(t);if(n!=null&&n.length&&n.forEach(a=>e(a.id)),i.data.hasOwnProperty("minRank")){i.data.borderLeft=[],i.data.borderRight=[];for(let a=i.data.minRank,s=i.data.maxRank+1;a<s;a+=1)p2(r,"borderLeft","_bl",t,i,a),p2(r,"borderRight","_br",t,i,a)}};r.getRoots().forEach(t=>e(t.id))},p2=(r,e,t,n,i,a)=>{const s={rank:a,borderType:e,width:0,height:0},o=i.data[e][a-1],l=Vl(r,"border",s,t);i.data[e][a]=l,r.setParent(l,n),o&&r.addEdge({id:`e${Math.random()}`,source:o,target:l,data:{weight:1}})},m5=(r,e)=>{const t=e.toLowerCase();(t==="lr"||t==="rl")&&m2(r)},y5=(r,e)=>{const t=e.toLowerCase();(t==="bt"||t==="rl")&&b5(r),(t==="lr"||t==="rl")&&(x5(r),m2(r))},m2=r=>{r.getAllNodes().forEach(e=>{y2(e)}),r.getAllEdges().forEach(e=>{y2(e)})},y2=r=>{const e=r.data.width;r.data.width=r.data.height,r.data.height=e},b5=r=>{r.getAllNodes().forEach(e=>{B0(e.data)}),r.getAllEdges().forEach(e=>{var t;(t=e.data.points)===null||t===void 0||t.forEach(n=>B0(n)),e.data.hasOwnProperty("y")&&B0(e.data)})},B0=r=>{r!=null&&r.y&&(r.y=-r.y)},x5=r=>{r.getAllNodes().forEach(e=>{z0(e.data)}),r.getAllEdges().forEach(e=>{var t;(t=e.data.points)===null||t===void 0||t.forEach(n=>z0(n)),e.data.hasOwnProperty("x")&&z0(e.data)})},z0=r=>{const e=r.x;r.x=r.y,r.y=e},E5=r=>{const e=Vl(r,"root",{},"_root"),t=w5(r);let n=Math.max(...Object.values(t));Math.abs(n)===1/0&&(n=1);const i=n-1,a=2*i+1;r.getAllEdges().forEach(o=>{o.data.minlen*=a});const s=P5(r)+1;return r.getRoots().forEach(o=>{b2(r,e,a,s,i,t,o.id)}),{nestingRoot:e,nodeRankFactor:a}},b2=(r,e,t,n,i,a,s)=>{const o=r.getChildren(s);if(!(o!=null&&o.length)){s!==e&&r.addEdge({id:`e${Math.random()}`,source:e,target:s,data:{weight:0,minlen:t}});return}const l=f2(r,"_bt"),u=f2(r,"_bb"),c=r.getNode(s);r.setParent(l,s),c.data.borderTop=l,r.setParent(u,s),c.data.borderBottom=u,o==null||o.forEach(h=>{b2(r,e,t,n,i,a,h.id);const f=h.data.borderTop?h.data.borderTop:h.id,d=h.data.borderBottom?h.data.borderBottom:h.id,v=h.data.borderTop?n:2*n,g=f!==d?1:i-a[s]+1;r.addEdge({id:`e${Math.random()}`,source:l,target:f,data:{minlen:g,weight:v,nestingEdge:!0}}),r.addEdge({id:`e${Math.random()}`,source:d,target:u,data:{minlen:g,weight:v,nestingEdge:!0}})}),r.getParent(s)||r.addEdge({id:`e${Math.random()}`,source:e,target:l,data:{weight:0,minlen:i+a[s]}})},w5=r=>{const e={},t=(n,i)=>{const a=r.getChildren(n);a==null||a.forEach(s=>t(s.id,i+1)),e[n]=i};return r.getRoots().forEach(n=>t(n.id,1)),e},P5=r=>{let e=0;return r.getAllEdges().forEach(t=>{e+=t.data.weight}),e},M5=(r,e)=>{e&&r.removeNode(e),r.getAllEdges().forEach(t=>{t.data.nestingEdge&&r.removeEdge(t.id)})},S5="edge",x2="edge-label",T5=(r,e)=>{r.getAllEdges().forEach(t=>A5(r,t,e))},A5=(r,e,t)=>{let n=e.source,i=r.getNode(n).data.rank;const a=e.target,s=r.getNode(a).data.rank,o=e.data.labelRank;if(s===i+1)return;r.removeEdge(e.id);let l,u,c;for(c=0,++i;i<s;++c,++i)e.data.points=[],u={originalEdge:e,width:0,height:0,rank:i},l=Vl(r,S5,u,"_d"),i===o&&(u.width=e.data.width,u.height=e.data.height,u.dummy=x2,u.labelpos=e.data.labelpos),r.addEdge({id:`e${Math.random()}`,source:n,target:l,data:{weight:e.data.weight}}),c===0&&t.push(l),n=l;r.addEdge({id:`e${Math.random()}`,source:n,target:a,data:{weight:e.data.weight}})},O5=(r,e)=>{e.forEach(t=>{let n=r.getNode(t);const{data:i}=n,a=i.originalEdge;let s;a&&r.addEdge(a);let o=t;for(;n.data.dummy;)s=r.getSuccessors(o)[0],r.removeNode(o),a.data.points.push({x:n.data.x,y:n.data.y}),n.data.dummy===x2&&(a.data.x=n.data.x,a.data.y=n.data.y,a.data.width=n.data.width,a.data.height=n.data.height),o=s.id,n=r.getNode(o)})},k5=(r,e,t)=>{const n={};let i;t==null||t.forEach(a=>{let s=r.getParent(a),o,l;for(;s;){if(o=r.getParent(s.id),o?(l=n[o.id],n[o.id]=s.id):(l=i,i=s.id),l&&l!==s.id){e.hasNode(l)||e.addNode({id:l,data:{}}),e.hasNode(s.id)||e.addNode({id:s.id,data:{}}),e.hasEdge(`e${l}-${s.id}`)||e.addEdge({id:`e${l}-${s.id}`,source:l,target:s.id,data:{}});return}s=o}})},C5=(r,e,t)=>{const n=N5(r),i=new gr({tree:[{id:n,children:[],data:{}}]});return r.getAllNodes().forEach(a=>{const s=r.getParent(a.id);(a.data.rank===e||a.data.minRank<=e&&e<=a.data.maxRank)&&(i.hasNode(a.id)||i.addNode(Object.assign({},a)),s!=null&&s.id&&!i.hasNode(s==null?void 0:s.id)&&i.addNode(Object.assign({},s)),i.setParent(a.id,(s==null?void 0:s.id)||n),r.getRelatedEdges(a.id,t).forEach(o=>{const l=o.source===a.id?o.target:o.source;i.hasNode(l)||i.addNode(Object.assign({},r.getNode(l)));const u=i.getRelatedEdges(l,"out").find(({target:h})=>h===a.id),c=u!==void 0?u.data.weight:0;u?i.updateEdgeData(u.id,Object.assign(Object.assign({},u.data),{weight:o.data.weight+c})):i.addEdge({id:o.id,source:l,target:a.id,data:{weight:o.data.weight+c}})}),a.data.hasOwnProperty("minRank")&&i.updateNodeData(a.id,Object.assign(Object.assign({},a.data),{borderLeft:a.data.borderLeft[e],borderRight:a.data.borderRight[e]})))}),i},N5=r=>{let e;for(;r.hasNode(e=`_root${Math.random()}`););return e},_5=(r,e,t)=>{const n=c2(t,t.map((c,h)=>h)),a=e.map(c=>{const h=r.getRelatedEdges(c,"out").map(f=>({pos:n[f.target]||0,weight:f.data.weight}));return h==null?void 0:h.sort((f,d)=>f.pos-d.pos)}).flat().filter(c=>c!==void 0);let s=1;for(;s<t.length;)s<<=1;const o=2*s-1;s-=1;const l=Array(o).fill(0,0,o);let u=0;return a==null||a.forEach(c=>{if(c){let h=c.pos+s;l[h]+=c.weight;let f=0;for(;h>0;)h%2&&(f+=l[h+1]),h=h-1>>1,l[h]+=c.weight;u+=c.weight*f}}),u},E2=(r,e)=>{let t=0;for(let n=1;n<(e==null?void 0:e.length);n+=1)t+=_5(r,e[n-1],e[n]);return t},w2=r=>{const e={},t=r.getAllNodes(),n=t.map(u=>{var c;return(c=u.data.rank)!==null&&c!==void 0?c:-1/0}),i=Math.max(...n),a=[];for(let u=0;u<i+1;u++)a.push([]);const s=t.sort((u,c)=>r.getNode(u.id).data.rank-r.getNode(c.id).data.rank),l=s.filter(u=>r.getNode(u.id).data.fixorder!==void 0).sort((u,c)=>r.getNode(u.id).data.fixorder-r.getNode(c.id).data.fixorder);return l==null||l.forEach(u=>{isNaN(r.getNode(u.id).data.rank)||a[r.getNode(u.id).data.rank].push(u.id),e[u.id]=!0}),s==null||s.forEach(u=>r.dfsTree(u.id,c=>{if(e.hasOwnProperty(c.id))return!0;e[c.id]=!0,isNaN(c.data.rank)||a[c.data.rank].push(c.id)})),a},R5=(r,e)=>e.map(t=>{const n=r.getRelatedEdges(t,"in");if(!(n!=null&&n.length))return{v:t};const i={sum:0,weight:0};return n==null||n.forEach(a=>{const s=r.getNode(a.source);i.sum+=a.data.weight*s.data.order,i.weight+=a.data.weight}),{v:t,barycenter:i.sum/i.weight,weight:i.weight}}),L5=(r,e)=>{var t,n,i;const a={};r==null||r.forEach((o,l)=>{a[o.v]={i:l,indegree:0,in:[],out:[],vs:[o.v]};const u=a[o.v];o.barycenter!==void 0&&(u.barycenter=o.barycenter,u.weight=o.weight)}),(t=e.getAllEdges())===null||t===void 0||t.forEach(o=>{const l=a[o.source],u=a[o.target];l!==void 0&&u!==void 0&&(u.indegree++,l.out.push(a[o.target]))});const s=(i=(n=Object.values(a)).filter)===null||i===void 0?void 0:i.call(n,o=>!o.indegree);return D5(s)},D5=r=>{var e,t;const n=[],i=l=>u=>{u.merged||(u.barycenter===void 0||l.barycenter===void 0||u.barycenter>=l.barycenter)&&I5(l,u)},a=l=>u=>{u.in.push(l),--u.indegree===0&&r.push(u)};for(;r!=null&&r.length;){const l=r.pop();n.push(l),(e=l.in.reverse())===null||e===void 0||e.forEach(u=>i(l)(u)),(t=l.out)===null||t===void 0||t.forEach(u=>a(l)(u))}const s=n.filter(l=>!l.merged),o=["vs","i","barycenter","weight"];return s.map(l=>{const u={};return o==null||o.forEach(c=>{l[c]!==void 0&&(u[c]=l[c])}),u})},I5=(r,e)=>{var t;let n=0,i=0;r.weight&&(n+=r.barycenter*r.weight,i+=r.weight),e.weight&&(n+=e.barycenter*e.weight,i+=e.weight),r.vs=(t=e.vs)===null||t===void 0?void 0:t.concat(r.vs),r.barycenter=n/i,r.weight=i,r.i=Math.min(e.i,r.i),e.merged=!0};var B5=L5;const z5=(r,e,t,n)=>{const i=g5(r,f=>{const d=f.hasOwnProperty("fixorder")&&!isNaN(f.fixorder);return n?!d&&f.hasOwnProperty("barycenter"):d||f.hasOwnProperty("barycenter")}),a=i.lhs,s=i.rhs.sort((f,d)=>-f.i- -d.i),o=[];let l=0,u=0,c=0;a==null||a.sort(F5(!!e,!!t)),c=P2(o,s,c),a==null||a.forEach(f=>{var d;c+=(d=f.vs)===null||d===void 0?void 0:d.length,o.push(f.vs),l+=f.barycenter*f.weight,u+=f.weight,c=P2(o,s,c)});const h={vs:o.flat()};return u&&(h.barycenter=l/u,h.weight=u),h},P2=(r,e,t)=>{let n=t,i;for(;e.length&&(i=e[e.length-1]).i<=n;)e.pop(),r==null||r.push(i.vs),n++;return n},F5=(r,e)=>(t,n)=>{if(t.fixorder!==void 0&&n.fixorder!==void 0)return t.fixorder-n.fixorder;if(t.barycenter<n.barycenter)return-1;if(t.barycenter>n.barycenter)return 1;if(e&&t.order!==void 0&&n.order!==void 0){if(t.order<n.order)return-1;if(t.order>n.order)return 1}return r?n.i-t.i:t.i-n.i},M2=(r,e,t,n,i,a)=>{var s,o,l,u;let c=r.getChildren(e).map(b=>b.id);const h=r.getNode(e),f=h?h.data.borderLeft:void 0,d=h?h.data.borderRight:void 0,v={};f&&(c=c==null?void 0:c.filter(b=>b!==f&&b!==d));const g=R5(r,c||[]);g==null||g.forEach(b=>{var x;if(!((x=r.getChildren(b.v))===null||x===void 0)&&x.length){const O=M2(r,b.v,t,n,a);v[b.v]=O,O.hasOwnProperty("barycenter")&&G5(b,O)}});const p=B5(g,t);j5(p,v),(s=p.filter(b=>b.vs.length>0))===null||s===void 0||s.forEach(b=>{const x=r.getNode(b.vs[0]);x&&(b.fixorder=x.data.fixorder,b.order=x.data.order)});const m=z5(p,n,i,a);if(f&&(m.vs=[f,m.vs,d].flat(),!((o=r.getPredecessors(f))===null||o===void 0)&&o.length)){const b=r.getNode(((l=r.getPredecessors(f))===null||l===void 0?void 0:l[0].id)||""),x=r.getNode(((u=r.getPredecessors(d))===null||u===void 0?void 0:u[0].id)||"");m.hasOwnProperty("barycenter")||(m.barycenter=0,m.weight=0),m.barycenter=(m.barycenter*m.weight+b.data.order+x.data.order)/(m.weight+2),m.weight+=2}return m},j5=(r,e)=>{r==null||r.forEach(t=>{var n;const i=(n=t.vs)===null||n===void 0?void 0:n.map(a=>e[a]?e[a].vs:a);t.vs=i.flat()})},G5=(r,e)=>{r.barycenter!==void 0?(r.barycenter=(r.barycenter*r.weight+e.barycenter*e.weight)/(r.weight+e.weight),r.weight+=e.weight):(r.barycenter=e.barycenter,r.weight=e.weight)},H5=(r,e)=>{const t=d2(r),n=[],i=[];for(let c=1;c<t+1;c++)n.push(c);for(let c=t-1;c>-1;c--)i.push(c);const a=S2(r,n,"in"),s=S2(r,i,"out");let o=w2(r);F0(r,o);let l=Number.POSITIVE_INFINITY,u;for(let c=0,h=0;h<4;++c,++h){T2(c%2?a:s,c%4>=2,!1,e),o=bc(r);const f=E2(r,o);f<l&&(h=0,u=Ll(o),l=f)}o=w2(r),F0(r,o);for(let c=0,h=0;h<4;++c,++h){T2(c%2?a:s,c%4>=2,!0,e),o=bc(r);const f=E2(r,o);f<l&&(h=0,u=Ll(o),l=f)}F0(r,u)},S2=(r,e,t)=>e.map(n=>C5(r,n,t)),T2=(r,e,t,n)=>{const i=new gr;r==null||r.forEach(a=>{var s;const o=a.getRoots()[0].id,l=M2(a,o,i,e,t,n);for(let u=0;u<((s=l.vs)===null||s===void 0?void 0:s.length);u++){const c=a.getNode(l.vs[u]);c&&(c.data.order=u)}k5(a,i,l.vs)})},F0=(r,e)=>{e==null||e.forEach(t=>{t==null||t.forEach((n,i)=>{r.getNode(n).data.order=i})})},X5=(r,e)=>{const n=r.getAllNodes().filter(s=>{var o;return!(!((o=r.getChildren(s.id))===null||o===void 0)&&o.length)}).map(s=>s.data.rank),i=Math.max(...n),a=[];for(let s=0;s<i+1;s++)a[s]=[];e==null||e.forEach(s=>{const o=r.getNode(s);!o||o.data.dummy||isNaN(o.data.rank)||(o.data.fixorder=a[o.data.rank].length,a[o.data.rank].push(s))})},W5=r=>{const e={};let t=0;const n=i=>{const a=t;r.getChildren(i).forEach(s=>n(s.id)),e[i]={low:a,lim:t++}};return r.getRoots().forEach(i=>n(i.id)),e},V5=(r,e,t,n)=>{var i,a;const s=[],o=[],l=Math.min(e[t].low,e[n].low),u=Math.max(e[t].lim,e[n].lim);let c,h;c=t;do c=(i=r.getParent(c))===null||i===void 0?void 0:i.id,s.push(c);while(c&&(e[c].low>l||u>e[c].lim));for(h=c,c=n;c&&c!==h;)o.push(c),c=(a=r.getParent(c))===null||a===void 0?void 0:a.id;return{lca:h,path:s.concat(o.reverse())}},Y5=(r,e)=>{const t=W5(r);e.forEach(n=>{var i,a;let s=n,o=r.getNode(s);const l=o.data.originalEdge;if(!l)return;const u=V5(r,t,l.source,l.target),c=u.path,h=u.lca;let f=0,d=c[f],v=!0;for(;s!==l.target;){if(o=r.getNode(s),v){for(;d!==h&&((i=r.getNode(d))===null||i===void 0?void 0:i.data.maxRank)<o.data.rank;)f++,d=c[f];d===h&&(v=!1)}if(!v){for(;f<c.length-1&&((a=r.getNode(c[f+1]))===null||a===void 0?void 0:a.data.minRank)<=o.data.rank;)f++;d=c[f]}r.hasNode(d)&&r.setParent(s,d),s=r.getSuccessors(s)[0].id}})},A2=(r,e)=>{const t={},n=(i,a)=>{let s=0,o=0;const l=i.length,u=a==null?void 0:a[(a==null?void 0:a.length)-1];return a==null||a.forEach((c,h)=>{var f;const d=U5(r,c),v=d?r.getNode(d.id).data.order:l;(d||c===u)&&((f=a.slice(o,h+1))===null||f===void 0||f.forEach(g=>{var p;(p=r.getPredecessors(g))===null||p===void 0||p.forEach(m=>{var b;const x=r.getNode(m.id),O=x.data.order;(O<s||v<O)&&!(x.data.dummy&&(!((b=r.getNode(g))===null||b===void 0)&&b.data.dummy))&&k2(t,m.id,g)})}),o=h+1,s=v)}),a};return e!=null&&e.length&&e.reduce(n),t},O2=(r,e)=>{const t={};function n(o,l,u,c,h){var f,d;let v;for(let g=l;g<u;g++)v=o[g],!((f=r.getNode(v))===null||f===void 0)&&f.data.dummy&&((d=r.getPredecessors(v))===null||d===void 0||d.forEach(p=>{const m=r.getNode(p.id);m.data.dummy&&(m.data.order<c||m.data.order>h)&&k2(t,p.id,v)}))}function i(o){return JSON.stringify(o.slice(1))}function a(o,l){const u=i(o);l.get(u)||(n(...o),l.set(u,!0))}const s=(o,l)=>{let u=-1,c,h=0;const f=new Map;return l==null||l.forEach((d,v)=>{var g;if(((g=r.getNode(d))===null||g===void 0?void 0:g.data.dummy)==="border"){const p=r.getPredecessors(d)||[];p.length&&(c=r.getNode(p[0].id).data.order,a([l,h,v,u,c],f),h=v,u=c)}a([l,h,l.length,c,o.length],f)}),l};return e!=null&&e.length&&e.reduce(s),t},U5=(r,e)=>{var t,n;if(!((t=r.getNode(e))===null||t===void 0)&&t.data.dummy)return(n=r.getPredecessors(e))===null||n===void 0?void 0:n.find(i=>r.getNode(i.id).data.dummy)},k2=(r,e,t)=>{let n=e,i=t;if(n>i){const s=n;n=i,i=s}let a=r[n];a||(r[n]=a={}),a[i]=!0},Z5=(r,e,t)=>{let n=e,i=t;if(n>i){const a=e;n=i,i=a}return!!r[n]},C2=(r,e,t,n)=>{const i={},a={},s={};return e==null||e.forEach(o=>{o==null||o.forEach((l,u)=>{i[l]=l,a[l]=l,s[l]=u})}),e==null||e.forEach(o=>{let l=-1;o==null||o.forEach(u=>{let c=n(u).map(h=>h.id);if(c.length){c=c.sort((f,d)=>s[f]-s[d]);const h=(c.length-1)/2;for(let f=Math.floor(h),d=Math.ceil(h);f<=d;++f){const v=c[f];a[u]===u&&l<s[v]&&!Z5(t,u,v)&&(a[v]=u,a[u]=i[u]=i[v],l=s[v])}}})}),{root:i,align:a}},N2=(r,e,t,n,i,a,s)=>{var o;const l={},u=K5(r,e,t,i,a,s),c=s?"borderLeft":"borderRight",h=(v,g)=>{let p=u.getAllNodes(),m=p.pop();const b={};for(;m;)b[m.id]?v(m.id):(b[m.id]=!0,p.push(m),p=p.concat(g(m.id))),m=p.pop()},f=v=>{l[v]=(u.getRelatedEdges(v,"in")||[]).reduce((g,p)=>Math.max(g,(l[p.source]||0)+p.data.weight),0)},d=v=>{const g=(u.getRelatedEdges(v,"out")||[]).reduce((m,b)=>Math.min(m,(l[b.target]||0)-b.data.weight),Number.POSITIVE_INFINITY),p=r.getNode(v);g!==Number.POSITIVE_INFINITY&&p.data.borderType!==c&&(l[v]=Math.max(l[v],g))};return h(f,u.getPredecessors.bind(u)),h(d,u.getSuccessors.bind(u)),(o=Object.values(n))===null||o===void 0||o.forEach(v=>{l[v]=l[t[v]]}),l},K5=(r,e,t,n,i,a)=>{const s=new gr,o=Q5(n,i,a);return e==null||e.forEach(l=>{let u;l==null||l.forEach(c=>{const h=t[c];if(s.hasNode(h)||s.addNode({id:h,data:{}}),u){const f=t[u],d=s.getRelatedEdges(f,"out").find(v=>v.target===h);d?s.updateEdgeData(d.id,Object.assign(Object.assign({},d.data),{weight:Math.max(o(r,c,u),d.data.weight||0)})):s.addEdge({id:`e${Math.random()}`,source:f,target:h,data:{weight:Math.max(o(r,c,u),0)}})}u=c})}),s},_2=(r,e)=>I0(Object.values(e),t=>{var n;let i=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY;return(n=Object.keys(t))===null||n===void 0||n.forEach(s=>{const o=t[s],l=J5(r,s)/2;i=Math.max(o+l,i),a=Math.min(o-l,a)}),i-a});function R2(r,e){const t=Object.values(e),n=Math.min(...t),i=Math.max(...t);["u","d"].forEach(a=>{["l","r"].forEach(s=>{const o=a+s,l=r[o];let u;if(l===e)return;const c=Object.values(l);u=s==="l"?n-Math.min(...c):i-Math.max(...c),u&&(r[o]={},Object.keys(l).forEach(h=>{r[o][h]=l[h]+u}))})})}const L2=(r,e)=>{const t={};return Object.keys(r.ul).forEach(n=>{if(e)t[n]=r[e.toLowerCase()][n];else{const i=Object.values(r).map(a=>a[n]);t[n]=(i[0]+i[1])/2}}),t},kQ=(r,e)=>{const{align:t,nodesep:n=0,edgesep:i=0}=e||{},a=buildLayerMatrix(r),s=Object.assign(A2(r,a),O2(r,a)),o={};let l;["u","d"].forEach(c=>{l=c==="u"?a:Object.values(a).reverse(),["l","r"].forEach(h=>{h==="r"&&(l=l.map(g=>Object.values(g).reverse()));const f=(c==="u"?r.getPredecessors:r.getSuccessors).bind(r),d=C2(r,l,s,f),v=N2(r,l,d.root,d.align,n,i,h==="r");h==="r"&&Object.keys(v).forEach(g=>{v[g]=-v[g]}),o[c+h]=v})});const u=_2(r,o);return R2(o,u),L2(o,t)},Q5=(r,e,t)=>(n,i,a)=>{const s=n.getNode(i),o=n.getNode(a);let l=0,u=0;if(l+=s.data.width/2,s.data.hasOwnProperty("labelpos"))switch((s.data.labelpos||"").toLowerCase()){case"l":u=-s.data.width/2;break;case"r":u=s.data.width/2;break}if(u&&(l+=t?u:-u),u=0,l+=(s.data.dummy?e:r)/2,l+=(o.data.dummy?e:r)/2,l+=o.data.width/2,o.data.labelpos)switch((o.data.labelpos||"").toLowerCase()){case"l":u=o.data.width/2;break;case"r":u=-o.data.width/2;break}return u&&(l+=t?u:-u),u=0,l},J5=(r,e)=>r.getNode(e).data.width||0,q5=(r,e)=>{const{ranksep:t=0}=e||{},n=bc(r);let i=0;n==null||n.forEach(a=>{const s=a.map(l=>r.getNode(l).data.height),o=Math.max(...s,0);a==null||a.forEach(l=>{r.getNode(l).data.y=i+o/2}),i+=o+t})},$5=(r,e)=>{const{align:t,nodesep:n=0,edgesep:i=0}=e||{},a=bc(r),s=Object.assign(A2(r,a),O2(r,a)),o={};let l=[];["u","d"].forEach(c=>{l=c==="u"?a:Object.values(a).reverse(),["l","r"].forEach(h=>{h==="r"&&(l=l.map(g=>Object.values(g).reverse()));const f=(c==="u"?r.getPredecessors:r.getSuccessors).bind(r),d=C2(r,l,s,f),v=N2(r,l,d.root,d.align,n,i,h==="r");h==="r"&&Object.keys(v).forEach(g=>v[g]=-v[g]),o[c+h]=v})});const u=_2(r,o);return u&&R2(o,u),L2(o,t)},e4=(r,e)=>{var t;const n=u2(r);q5(n,e);const i=$5(n,e);(t=Object.keys(i))===null||t===void 0||t.forEach(a=>{n.getNode(a).data.x=i[a]})},D2=r=>{const e={},t=n=>{var i;const a=r.getNode(n);if(!a)return 0;if(e[n])return a.data.rank;e[n]=!0;let s;return(i=r.getRelatedEdges(n,"out"))===null||i===void 0||i.forEach(o=>{const l=t(o.target),u=o.data.minlen,c=l-u;c&&(s===void 0||c<s)&&(s=c)}),s||(s=0),a.data.rank=s,s};r.getAllNodes().filter(n=>r.getRelatedEdges(n.id,"in").length===0).forEach(n=>t(n.id))},t4=r=>{const e={};let t;const n=s=>{var o;const l=r.getNode(s);if(!l)return 0;if(e[s])return l.data.rank;e[s]=!0;let u;return(o=r.getRelatedEdges(s,"out"))===null||o===void 0||o.forEach(c=>{const h=n(c.target),f=c.data.minlen,d=h-f;d&&(u===void 0||d<u)&&(u=d)}),u||(u=0),(t===void 0||u<t)&&(t=u),l.data.rank=u,u};r.getAllNodes().filter(s=>r.getRelatedEdges(s.id,"in").length===0).forEach(s=>{s&&n(s.id)}),t===void 0&&(t=0);const i={},a=(s,o)=>{var l;const u=r.getNode(s),c=isNaN(u.data.layer)?o:u.data.layer;(u.data.rank===void 0||u.data.rank<c)&&(u.data.rank=c),!i[s]&&(i[s]=!0,(l=r.getRelatedEdges(s,"out"))===null||l===void 0||l.forEach(h=>{a(h.target,c+h.data.minlen)}))};r.getAllNodes().forEach(s=>{const o=s.data;o&&(isNaN(o.layer)?o.rank-=t:a(s.id,o.layer))})},no=(r,e)=>r.getNode(e.target).data.rank-r.getNode(e.source).data.rank-e.data.minlen,n4=r=>{const e=new gr({tree:[]}),t=r.getAllNodes()[0],n=r.getAllNodes().length;e.addNode(t);let i,a;for(;r4(e,r)<n;)i=I2(e,r),a=e.hasNode(i.source)?no(r,i):-no(r,i),B2(e,r,a);return e},r4=(r,e)=>{const t=n=>{e.getRelatedEdges(n,"both").forEach(i=>{const a=i.source,s=n===a?i.target:a;!r.hasNode(s)&&!no(e,i)&&(r.addNode({id:s,data:{}}),r.addEdge({id:i.id,source:n,target:s,data:{}}),t(s))})};return r.getAllNodes().forEach(n=>t(n.id)),r.getAllNodes().length},i4=r=>{const e=new gr({tree:[]}),t=r.getAllNodes()[0],n=r.getAllNodes().length;e.addNode(t);let i,a;for(;a4(e,r)<n;)i=I2(e,r),a=e.hasNode(i.source)?no(r,i):-no(r,i),B2(e,r,a);return e},a4=(r,e)=>{const t=n=>{var i;(i=e.getRelatedEdges(n,"both"))===null||i===void 0||i.forEach(a=>{const s=a.source,o=n===s?a.target:s;!r.hasNode(o)&&(e.getNode(o).data.layer!==void 0||!no(e,a))&&(r.addNode({id:o,data:{}}),r.addEdge({id:a.id,source:n,target:o,data:{}}),t(o))})};return r.getAllNodes().forEach(n=>t(n.id)),r.getAllNodes().length},I2=(r,e)=>I0(e.getAllEdges(),t=>r.hasNode(t.source)!==r.hasNode(t.target)?no(e,t):1/0),B2=(r,e,t)=>{r.getAllNodes().forEach(n=>{const i=e.getNode(n.id);i.data.rank||(i.data.rank=0),i.data.rank+=t})},s4=r=>{const e=f5(r);D2(e);const t=n4(e);F2(t),z2(t,e);let n,i;for(;n=u4(t);)i=c4(t,e,n),h4(t,e,n,i)},z2=(r,e)=>{let t=g2(r,r.getAllNodes(),"post",!1);t=t.slice(0,(t==null?void 0:t.length)-1),t.forEach(n=>{o4(r,e,n)})},o4=(r,e,t)=>{const i=r.getNode(t).data.parent,a=r.getRelatedEdges(t,"both").find(s=>s.target===i||s.source===i);a.data.cutvalue=l4(r,e,t)},l4=(r,e,t)=>{const i=r.getNode(t).data.parent;let a=!0,s=e.getRelatedEdges(t,"out").find(l=>l.target===i),o=0;return s||(a=!1,s=e.getRelatedEdges(i,"out").find(l=>l.target===t)),o=s.data.weight,e.getRelatedEdges(t,"both").forEach(l=>{const u=l.source===t,c=u?l.target:l.source;if(c!==i){const h=u===a,f=l.data.weight;if(o+=h?f:-f,d4(r,t,c)){const d=r.getRelatedEdges(t,"both").find(v=>v.source===c||v.target===c).data.cutvalue;o+=h?-d:d}}}),o},F2=(r,e=r.getAllNodes()[0].id)=>{j2(r,{},1,e)},j2=(r,e,t,n,i)=>{var a;const s=t;let o=t;const l=r.getNode(n);return e[n]=!0,(a=r.getNeighbors(n))===null||a===void 0||a.forEach(u=>{e[u.id]||(o=j2(r,e,o,u.id,n))}),l.data.low=s,l.data.lim=o++,i?l.data.parent=i:delete l.data.parent,o},u4=r=>r.getAllEdges().find(e=>e.data.cutvalue<0),c4=(r,e,t)=>{let n=t.source,i=t.target;e.getRelatedEdges(n,"out").find(c=>c.target===i)||(n=t.target,i=t.source);const a=r.getNode(n),s=r.getNode(i);let o=a,l=!1;a.data.lim>s.data.lim&&(o=s,l=!0);const u=e.getAllEdges().filter(c=>l===G2(r.getNode(c.source),o)&&l!==G2(r.getNode(c.target),o));return I0(u,c=>no(e,c))},h4=(r,e,t,n)=>{const i=r.getRelatedEdges(t.source,"both").find(a=>a.source===t.target||a.target===t.target);i&&r.removeEdge(i.id),r.addEdge({id:`e${Math.random()}`,source:n.source,target:n.target,data:{}}),F2(r),z2(r,e),f4(r,e)},f4=(r,e)=>{const t=r.getAllNodes().find(i=>!i.data.parent);let n=g2(r,t,"pre",!1);n=n.slice(1),n.forEach(i=>{const a=r.getNode(i).data.parent;let s=e.getRelatedEdges(i,"out").find(l=>l.target===a),o=!1;!s&&e.hasNode(a)&&(s=e.getRelatedEdges(a,"out").find(l=>l.target===i),o=!0),e.getNode(i).data.rank=(e.hasNode(a)&&e.getNode(a).data.rank||0)+(o?s==null?void 0:s.data.minlen:-(s==null?void 0:s.data.minlen))})},d4=(r,e,t)=>r.getRelatedEdges(e,"both").find(n=>n.source===t||n.target===t),G2=(r,e)=>e.data.low<=r.data.lim&&r.data.lim<=e.data.lim,v4=(r,e)=>{switch(e){case"network-simplex":p4(r);break;case"tight-tree":H2(r);break;case"longest-path":g4(r);break;default:H2(r)}},g4=D2,H2=r=>{t4(r),i4(r)},p4=r=>{s4(r)},m4=(r,e)=>{const{edgeLabelSpace:t,keepNodeOrder:n,prevGraph:i,rankdir:a,ranksep:s}=e;!n&&i&&b4(r,i);const o=S4(r);t&&(e.ranksep=T4(o,{rankdir:a,ranksep:s}));let l;try{l=y4(o,e)}catch(u){if(u.message==="Not possible to find intersection inside of the rectangle"){console.error(`The following error may be caused by improper layer setting, please make sure your manual layer setting does not violate the graph's structure:
|
|
|
`,u);return}throw u}return x4(r,o),l},y4=(r,e)=>{const{acyclicer:t,ranker:n,rankdir:i="tb",nodeOrder:a,keepNodeOrder:s,align:o,nodesep:l=50,edgesep:u=20,ranksep:c=50}=e;D4(r),l5(r,t);const{nestingRoot:h,nodeRankFactor:f}=E5(r);v4(u2(r),n),A4(r),v5(r,f),M5(r,h),d5(r),O4(r),k4(r);const d=[];T5(r,d),Y5(r,d),p5(r),s&&X5(r,a),H5(r,s),I4(r),m5(r,i),e4(r,{align:o,nodesep:l,edgesep:u,ranksep:c}),B4(r),L4(r),O5(r,d),_4(r),y5(r,i);const{width:v,height:g}=C4(r);return N4(r),R4(r),c5(r),{width:v,height:g}},b4=(r,e)=>{r.getAllNodes().forEach(t=>{const n=r.getNode(t.id);if(e.hasNode(t.id)){const i=e.getNode(t.id);n.data.fixorder=i.data._order,delete i.data._order}else delete n.data.fixorder})},x4=(r,e)=>{r.getAllNodes().forEach(t=>{var n;const i=r.getNode(t.id);if(i){const a=e.getNode(t.id);i.data.x=a.data.x,i.data.y=a.data.y,i.data._order=a.data.order,i.data._rank=a.data.rank,!((n=e.getChildren(t.id))===null||n===void 0)&&n.length&&(i.data.width=a.data.width,i.data.height=a.data.height)}}),r.getAllEdges().forEach(t=>{const n=r.getEdge(t.id),i=e.getEdge(t.id);n.data.points=i?i.data.points:[],i&&i.data.hasOwnProperty("x")&&(n.data.x=i.data.x,n.data.y=i.data.y)})},E4=["width","height","layer","fixorder"],w4={width:0,height:0},P4=["minlen","weight","width","height","labeloffset"],M4={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},j0=["labelpos"],S4=r=>{const e=new gr({tree:[]});return r.getAllNodes().forEach(t=>{const n=W2(r.getNode(t.id).data),i=Object.assign(Object.assign({},w4),n),a=X2(i,E4);e.hasNode(t.id)||e.addNode({id:t.id,data:Object.assign({},a)});const s=r.hasTreeStructure("combo")?r.getParent(t.id,"combo"):r.getParent(t.id);vt(s)||(e.hasNode(s.id)||e.addNode(Object.assign({},s)),e.setParent(t.id,s.id))}),r.getAllEdges().forEach(t=>{const n=W2(r.getEdge(t.id).data),i={};j0==null||j0.forEach(a=>{n[a]!==void 0&&(i[a]=n[a])}),e.addEdge({id:t.id,source:t.source,target:t.target,data:Object.assign({},M4,X2(n,P4),i)})}),e},T4=(r,e)=>{const{ranksep:t=0,rankdir:n}=e;return r.getAllNodes().forEach(i=>{isNaN(i.data.layer)||i.data.layer||(i.data.layer=0)}),r.getAllEdges().forEach(i=>{var a;i.data.minlen*=2,((a=i.data.labelpos)===null||a===void 0?void 0:a.toLowerCase())!=="c"&&(n==="TB"||n==="BT"?i.data.width+=i.data.labeloffset:i.data.height+=i.data.labeloffset)}),t/2},A4=r=>{r.getAllEdges().forEach(e=>{if(e.data.width&&e.data.height){const t=r.getNode(e.source),n=r.getNode(e.target),i={e,rank:(n.data.rank-t.data.rank)/2+t.data.rank};Vl(r,"edge-proxy",i,"_ep")}})},O4=r=>{let e=0;return r.getAllNodes().forEach(t=>{var n,i;t.data.borderTop&&(t.data.minRank=(n=r.getNode(t.data.borderTop))===null||n===void 0?void 0:n.data.rank,t.data.maxRank=(i=r.getNode(t.data.borderBottom))===null||i===void 0?void 0:i.data.rank,e=Math.max(e,t.data.maxRank||-1/0))}),e},k4=r=>{r.getAllNodes().forEach(e=>{e.data.dummy==="edge-proxy"&&(r.getEdge(e.data.e.id).data.labelRank=e.data.rank,r.removeNode(e.id))})},C4=(r,e)=>{let t,n=0,i,a=0;const{marginx:s=0,marginy:o=0}=e||{},l=u=>{if(!u.data)return;const c=u.data.x,h=u.data.y,f=u.data.width,d=u.data.height;!isNaN(c)&&!isNaN(f)&&(t===void 0&&(t=c-f/2),t=Math.min(t,c-f/2),n=Math.max(n,c+f/2)),!isNaN(h)&&!isNaN(d)&&(i===void 0&&(i=h-d/2),i=Math.min(i,h-d/2),a=Math.max(a,h+d/2))};return r.getAllNodes().forEach(u=>{l(u)}),r.getAllEdges().forEach(u=>{u!=null&&u.data.hasOwnProperty("x")&&l(u)}),t-=s,i-=o,r.getAllNodes().forEach(u=>{u.data.x-=t,u.data.y-=i}),r.getAllEdges().forEach(u=>{var c;(c=u.data.points)===null||c===void 0||c.forEach(h=>{h.x-=t,h.y-=i}),u.data.hasOwnProperty("x")&&(u.data.x-=t),u.data.hasOwnProperty("y")&&(u.data.y-=i)}),{width:n-t+s,height:a-i+o}},N4=r=>{r.getAllEdges().forEach(e=>{const t=r.getNode(e.source),n=r.getNode(e.target);let i,a;e.data.points?(i=e.data.points[0],a=e.data.points[e.data.points.length-1]):(e.data.points=[],i={x:n.data.x,y:n.data.y},a={x:t.data.x,y:t.data.y}),e.data.points.unshift(h2(t.data,i)),e.data.points.push(h2(n.data,a))})},_4=r=>{r.getAllEdges().forEach(e=>{if(e.data.hasOwnProperty("x"))switch((e.data.labelpos==="l"||e.data.labelpos==="r")&&(e.data.width-=e.data.labeloffset),e.data.labelpos){case"l":e.data.x-=e.data.width/2+e.data.labeloffset;break;case"r":e.data.x+=e.data.width/2+e.data.labeloffset;break}})},R4=r=>{r.getAllEdges().forEach(e=>{var t;e.data.reversed&&((t=e.data.points)===null||t===void 0||t.reverse())})},L4=r=>{r.getAllNodes().forEach(e=>{var t,n,i;if(!((t=r.getChildren(e.id))===null||t===void 0)&&t.length){const a=r.getNode(e.id),s=r.getNode(a.data.borderTop),o=r.getNode(a.data.borderBottom),l=r.getNode(a.data.borderLeft[((n=a.data.borderLeft)===null||n===void 0?void 0:n.length)-1]),u=r.getNode(a.data.borderRight[((i=a.data.borderRight)===null||i===void 0?void 0:i.length)-1]);a.data.width=Math.abs((u==null?void 0:u.data.x)-(l==null?void 0:l.data.x))||10,a.data.height=Math.abs((o==null?void 0:o.data.y)-(s==null?void 0:s.data.y))||10,a.data.x=((l==null?void 0:l.data.x)||0)+a.data.width/2,a.data.y=((s==null?void 0:s.data.y)||0)+a.data.height/2}}),r.getAllNodes().forEach(e=>{e.data.dummy==="border"&&r.removeNode(e.id)})},D4=r=>{r.getAllEdges().forEach(e=>{if(e.source===e.target){const t=r.getNode(e.source);t.data.selfEdges||(t.data.selfEdges=[]),t.data.selfEdges.push(e),r.removeEdge(e.id)}})},I4=r=>{const e=bc(r);e==null||e.forEach(t=>{let n=0;t==null||t.forEach((i,a)=>{var s;const o=r.getNode(i);o.data.order=a+n,(s=o.data.selfEdges)===null||s===void 0||s.forEach(l=>{Vl(r,"selfedge",{width:l.data.width,height:l.data.height,rank:o.data.rank,order:a+ ++n,e:l},"_se")}),delete o.data.selfEdges})})},B4=r=>{r.getAllNodes().forEach(e=>{const t=r.getNode(e.id);if(t.data.dummy==="selfedge"){const n=r.getNode(t.data.e.source),i=n.data.x+n.data.width/2,a=n.data.y,s=t.data.x-i,o=n.data.height/2;r.hasEdge(t.data.e.id)?r.updateEdgeData(t.data.e.id,t.data.e.data):r.addEdge({id:t.data.e.id,source:t.data.e.source,target:t.data.e.target,data:t.data.e.data}),r.removeNode(e.id),t.data.e.data.points=[{x:i+2*s/3,y:a-o},{x:i+5*s/6,y:a-o},{y:a,x:i+s},{x:i+5*s/6,y:a+o},{x:i+2*s/3,y:a+o}],t.data.e.data.x=t.data.x,t.data.e.data.y=t.data.y}})},X2=(r,e)=>{const t={};return e==null||e.forEach(n=>{r[n]!==void 0&&(t[n]=+r[n])}),t},W2=(r={})=>{const e={};return Object.keys(r).forEach(t=>{e[t.toLowerCase()]=r[t]}),e};function xc(r){if(!r)return[0,0,0];if(ht(r))return[r,r,r];if(r.length===0)return[0,0,0];const[e,t=e,n=e]=r;return[e,t,n]}function Xo(r,e){let t;return pt(e)?t=e:ht(e)?t=()=>e:t=()=>r,t}function G0(r,e,t=!0){return!e&&e!==0?n=>{const{size:i}=n.data||{};return i?Array.isArray(i)?t?Math.max(...i)||r:i:nr(i)&&i.width&&i.height?t?Math.max(i.width,i.height)||r:[i.width,i.height]:i:r}:pt(e)?e:ht(e)?()=>e:Array.isArray(e)?()=>t?Math.max(...e)||r:e:nr(e)&&e.width&&e.height?()=>t?Math.max(e.width,e.height)||r:[e.width,e.height]:()=>r}const H0=(r,e,t=10)=>{let n;const i=typeof e=="function"?e:()=>e||0;return r?Array.isArray(r)?n=s=>r:pt(r)?n=r:n=s=>r:n=s=>{var o,l,u;if(!((o=s.data)===null||o===void 0)&&o.bboxSize)return(l=s.data)===null||l===void 0?void 0:l.bboxSize;if(!((u=s.data)===null||u===void 0)&&u.size){const c=s.data.size;return Array.isArray(c)?c:nr(c)?[c.width,c.height]:c}return t},s=>{const o=n(s),l=i(s);return Math.max(...xc(o))+l}},X0=r=>{if(r===null)return r;if(r instanceof Date)return new Date(r.getTime());if(r instanceof Array){const e=[];return r.forEach(t=>{e.push(t)}),e.map(t=>X0(t))}if(typeof r=="object"){const e={};return Object.keys(r).forEach(t=>{e[t]=X0(r[t])}),e}return r},Ii=(r,e)=>{const t=X0(r);return t.data=t.data||{},e&&(ht(t.data.x)||(t.data.x=Math.random()*e[0]),ht(t.data.y)||(t.data.y=Math.random()*e[1])),t},z4={rankdir:"TB",nodesep:50,ranksep:50,edgeLabelSpace:!0,ranker:"tight-tree",controlPoints:!1,radial:!1,focusNode:null};class F4{constructor(e={}){this.options=e,this.id="antv-dagre",this.options=Object.assign(Object.assign({},z4),e)}execute(e,t){return Wt(this,void 0,void 0,function*(){return this.genericDagreLayout(!1,e,t)})}assign(e,t){return Wt(this,void 0,void 0,function*(){yield this.genericDagreLayout(!0,e,t)})}genericDagreLayout(e,t,n){return Wt(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{nodeSize:a,align:s,rankdir:o="TB",ranksep:l,nodesep:u,ranksepFunc:c,nodesepFunc:h,edgeLabelSpace:f,ranker:d,nodeOrder:v,begin:g,controlPoints:p,radial:m,sortByCombo:b,preset:x}=i,O=new gr({tree:[]}),T=Xo(l||50,c),S=Xo(u||50,h);let k=S,C=T;(o==="LR"||o==="RL")&&(k=T,C=S);const W=G0(10,a,!1),U=t.getAllNodes(),J=t.getAllEdges();U.forEach(X=>{const q=xc(W(X)),oe=C(X),de=k(X),Oe=q[0]+2*de,Be=q[1]+2*oe,Ge=X.data.layer;ht(Ge)?O.addNode({id:X.id,data:{width:Oe,height:Be,layer:Ge}}):O.addNode({id:X.id,data:{width:Oe,height:Be}})}),b&&(O.attachTreeStructure("combo"),U.forEach(X=>{const{parentId:q}=X.data;q!==void 0&&O.hasNode(q)&&O.setParent(X.id,q,"combo")})),J.forEach(X=>{O.addEdge({id:X.id,source:X.source,target:X.target,data:{weight:X.data.weight||1}})});let te;x!=null&&x.length&&(te=new gr({nodes:x})),m4(O,{prevGraph:te,edgeLabelSpace:f,keepNodeOrder:!!v,nodeOrder:v||[],acyclicer:"greedy",ranker:d,rankdir:o,nodesep:u,align:s});const ie=[0,0];if(g){let X=1/0,q=1/0;O.getAllNodes().forEach(oe=>{X>oe.data.x&&(X=oe.data.x),q>oe.data.y&&(q=oe.data.y)}),O.getAllEdges().forEach(oe=>{var de;(de=oe.data.points)===null||de===void 0||de.forEach(Oe=>{X>Oe.x&&(X=Oe.x),q>Oe.y&&(q=Oe.y)})}),ie[0]=g[0]-X,ie[1]=g[1]-q}const ae=o==="LR"||o==="RL";if(!m){const X=new Set,oe=o==="BT"||o==="RL"?(Ge,Ve)=>Ve-Ge:(Ge,Ve)=>Ge-Ve;O.getAllNodes().forEach(Ge=>{Ge.data.x=Ge.data.x+ie[0],Ge.data.y=Ge.data.y+ie[1],X.add(ae?Ge.data.x:Ge.data.y)});const de=Array.from(X).sort(oe),Oe=ae?(Ge,Ve)=>Ge.x!==Ve.x:(Ge,Ve)=>Ge.y!==Ve.y,Be=ae?(Ge,Ve,qe)=>{const lt=Math.max(Ve.y,qe.y),Ct=Math.min(Ve.y,qe.y);return Ge.filter(Vt=>Vt.y<=lt&&Vt.y>=Ct)}:(Ge,Ve,qe)=>{const lt=Math.max(Ve.x,qe.x),Ct=Math.min(Ve.x,qe.x);return Ge.filter(Vt=>Vt.x<=lt&&Vt.x>=Ct)};O.getAllEdges().forEach((Ge,Ve)=>{var qe;f&&p&&Ge.data.type!=="loop"&&(Ge.data.controlPoints=j4((qe=Ge.data.points)===null||qe===void 0?void 0:qe.map(({x:lt,y:Ct})=>({x:lt+ie[0],y:Ct+ie[1]})),O.getNode(Ge.source),O.getNode(Ge.target),de,ae,Oe,Be))})}let ve=[];ve=O.getAllNodes().map(X=>Ii(X));const Z=O.getAllEdges();return e&&(ve.forEach(X=>{t.mergeNodeData(X.id,{x:X.data.x,y:X.data.y})}),Z.forEach(X=>{t.mergeEdgeData(X.id,{controlPoints:X.data.controlPoints})})),{nodes:ve,edges:Z}})}}const j4=(r,e,t,n,i,a,s)=>{let o=(r==null?void 0:r.slice(1,r.length-1))||[];if(e&&t){let{x:l,y:u}=e.data,{x:c,y:h}=t.data;if(i&&(l=e.data.y,u=e.data.x,c=t.data.y,h=t.data.x),h!==u&&l!==c){const f=n.indexOf(u),d=n[f+1];if(d){const p=o[0],m=i?{x:(u+d)/2,y:(p==null?void 0:p.y)||c}:{x:(p==null?void 0:p.x)||c,y:(u+d)/2};(!p||a(p,m))&&o.unshift(m)}const v=n.indexOf(h),g=Math.abs(v-f);if(g===1)o=s(o,e.data,t.data),o.length||o.push(i?{x:(u+h)/2,y:l}:{x:l,y:(u+h)/2});else if(g>1){const p=n[v-1];if(p){const m=o[o.length-1],b=i?{x:(h+p)/2,y:(m==null?void 0:m.y)||c}:{x:(m==null?void 0:m.x)||l,y:(h+p)/2};(!m||a(m,b))&&o.push(b)}}}}return o},Wo=(r,e,t)=>{const n=r.getAllNodes(),i=r.getAllEdges();if(!(n!=null&&n.length))return{nodes:[],edges:i};if(n.length===1)return e&&r.mergeNodeData(n[0].id,{x:t[0],y:t[1]}),{nodes:[Object.assign(Object.assign({},n[0]),{data:Object.assign(Object.assign({},n[0].data),{x:t[0],y:t[1]})})],edges:i}},G4={radius:null,startRadius:null,endRadius:null,startAngle:0,endAngle:2*Math.PI,clockwise:!0,divisions:1,ordering:null,angleRatio:1};class H4{constructor(e={}){this.options=e,this.id="circular",this.options=Object.assign(Object.assign({},G4),e)}execute(e,t){return Wt(this,void 0,void 0,function*(){return this.genericCircularLayout(!1,e,t)})}assign(e,t){return Wt(this,void 0,void 0,function*(){yield this.genericCircularLayout(!0,e,t)})}genericCircularLayout(e,t,n){return Wt(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{width:a,height:s,center:o,divisions:l,startAngle:u=0,endAngle:c=2*Math.PI,angleRatio:h,ordering:f,clockwise:d,nodeSpacing:v,nodeSize:g}=i,p=t.getAllNodes(),m=t.getAllEdges(),[b,x,O]=W4(a,s,o),T=p==null?void 0:p.length;if(!T||T===1)return Wo(t,e,O);const S=(c-u)/T;let{radius:k,startRadius:C,endRadius:W}=i;if(v){const ae=Xo(10,v),ve=G0(10,g);let Z=-1/0;p.forEach(X=>{const q=ve(X);Z<q&&(Z=q)});let H=0;p.forEach((X,q)=>{q===0?H+=Z||10:H+=(ae(X)||0)+(Z||10)}),k=H/(2*Math.PI)}else!k&&!C&&!W?k=Math.min(x,b)/2:!C&&W?C=W:C&&!W&&(W=C);const U=S*h;let J=[];f==="topology"?J=V2(t,p):f==="topology-directed"?J=V2(t,p,!0):f==="degree"?J=X4(t,p):J=p.map(ae=>Ii(ae));const te=Math.ceil(T/l);for(let ae=0;ae<T;++ae){let ve=k;!ve&&C!==null&&W!==null&&(ve=C+ae*(W-C)/(T-1)),ve||(ve=10+ae*100/(T-1));let Z=u+ae%te*U+2*Math.PI/l*Math.floor(ae/te);d||(Z=c-ae%te*U-2*Math.PI/l*Math.floor(ae/te)),J[ae].data.x=O[0]+Math.cos(Z)*ve,J[ae].data.y=O[1]+Math.sin(Z)*ve}return e&&J.forEach(ae=>{t.mergeNodeData(ae.id,{x:ae.data.x,y:ae.data.y})}),{nodes:J,edges:m}})}}const V2=(r,e,t=!1)=>{const n=[Ii(e[0])],i={},a=e.length;i[e[0].id]=!0;let s=0;return e.forEach((o,l)=>{if(l!==0)if((l===a-1||r.getDegree(o.id,"both")!==r.getDegree(e[l+1].id,"both")||r.areNeighbors(n[s].id,o.id))&&!i[o.id])n.push(Ii(o)),i[o.id]=!0,s++;else{const u=t?r.getSuccessors(n[s].id):r.getNeighbors(n[s].id);let c=!1;for(let f=0;f<u.length;f++){const d=u[f];if(r.getDegree(d.id)===r.getDegree(o.id)&&!i[d.id]){n.push(Ii(d)),i[d.id]=!0,c=!0;break}}let h=0;for(;!c&&(i[e[h].id]||(n.push(Ii(e[h])),i[e[h].id]=!0,c=!0),h++,h!==a););}}),n};function X4(r,e){const t=[];return e.forEach((n,i)=>{t.push(Ii(n))}),t.sort((n,i)=>r.getDegree(n.id,"both")-r.getDegree(i.id,"both")),t}const W4=(r,e,t)=>{let n=r,i=e,a=t;return!n&&typeof window!="undefined"&&(n=window.innerWidth),!i&&typeof window!="undefined"&&(i=window.innerHeight),a||(a=[n/2,i/2]),[n,i,a]},Ss=Array.isArray,V4={nodeSize:30,nodeSpacing:10,preventOverlap:!1,sweep:void 0,equidistant:!1,startAngle:3/2*Math.PI,clockwise:!0,maxLevelDiff:void 0,sortBy:"degree"};class W0{constructor(e={}){this.options=e,this.id="concentric",this.options=Object.assign(Object.assign({},V4),e)}execute(e,t){return Wt(this,void 0,void 0,function*(){return this.genericConcentricLayout(!1,e,t)})}assign(e,t){return Wt(this,void 0,void 0,function*(){yield this.genericConcentricLayout(!0,e,t)})}genericConcentricLayout(e,t,n){return Wt(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{center:a,width:s,height:o,sortBy:l,maxLevelDiff:u,sweep:c,clockwise:h,equidistant:f,preventOverlap:d,startAngle:v=3/2*Math.PI,nodeSize:g,nodeSpacing:p}=i,m=t.getAllNodes(),b=t.getAllEdges(),x=!s&&typeof window!="undefined"?window.innerWidth:s,O=!o&&typeof window!="undefined"?window.innerHeight:o,T=a||[x/2,O/2];if(!(m!=null&&m.length)||m.length===1)return Wo(t,e,T);const S=[];let k,C=0;Ss(g)?k=Math.max(g[0],g[1]):pt(g)?(k=-1/0,m.forEach(X=>{const q=Math.max(...xc(g(X)));q>k&&(k=q)})):k=g,Ss(p)?C=Math.max(p[0],p[1]):ht(p)&&(C=p),m.forEach(X=>{const q=Ii(X);S.push(q);let oe=k;const{data:de}=q;Ss(de.size)?oe=Math.max(de.size[0],de.size[1]):ht(de.size)?oe=de.size:nr(de.size)&&(oe=Math.max(de.size.width,de.size.height)),k=Math.max(k,oe),pt(p)&&(C=Math.max(p(X),C))});const W={};S.forEach((X,q)=>{W[X.id]=q});let U=l;(!Xt(U)||S[0].data[U]===void 0)&&(U="degree"),U==="degree"?S.sort((X,q)=>t.getDegree(q.id,"both")-t.getDegree(X.id,"both")):S.sort((X,q)=>q.data[U]-X.data[U]);const J=S[0],te=(u||(U==="degree"?t.getDegree(J.id,"both"):J.data[U]))/4,ie=[{nodes:[]}];let ae=ie[0];S.forEach(X=>{if(ae.nodes.length>0){const q=Math.abs(U==="degree"?t.getDegree(ae.nodes[0].id,"both")-t.getDegree(X.id,"both"):ae.nodes[0].data[U]-X.data[U]);te&&q>=te&&(ae={nodes:[]},ie.push(ae))}ae.nodes.push(X)});let ve=k+C;if(!d){const X=ie.length>0&&ie[0].nodes.length>1,oe=(Math.min(x,O)/2-ve)/(ie.length+(X?1:0));ve=Math.min(ve,oe)}let Z=0;if(ie.forEach(X=>{const q=c===void 0?2*Math.PI-2*Math.PI/X.nodes.length:c;if(X.dTheta=q/Math.max(1,X.nodes.length-1),X.nodes.length>1&&d){const oe=Math.cos(X.dTheta)-Math.cos(0),de=Math.sin(X.dTheta)-Math.sin(0),Oe=Math.sqrt(ve*ve/(oe*oe+de*de));Z=Math.max(Oe,Z)}X.r=Z,Z+=ve}),f){let X=0,q=0;for(let oe=0;oe<ie.length;oe++){const Oe=(ie[oe].r||0)-q;X=Math.max(X,Oe)}q=0,ie.forEach((oe,de)=>{de===0&&(q=oe.r||0),oe.r=q,q+=X})}return ie.forEach(X=>{const q=X.dTheta||0,oe=X.r||0;X.nodes.forEach((de,Oe)=>{const Be=v+(h?1:-1)*q*Oe;de.data.x=T[0]+oe*Math.cos(Be),de.data.y=T[1]+oe*Math.sin(Be)})}),e&&S.forEach(X=>t.mergeNodeData(X.id,{x:X.data.x,y:X.data.y})),{nodes:S,edges:b}})}}var V0=w(46632),Y4=w(67217);const U4=.81,Y0=.1;function Z4(r,e,t,n,i=2){const a=e/t,s=r.getAllNodes(),o=s.map((c,h)=>{const{nodeStrength:f,x:d,y:v,z:g,size:p}=c.data;return{x:d,y:v,z:g,size:p,index:h,id:c.id,vx:0,vy:0,vz:0,weight:a*f}}),l=(i===2?(0,V0.Z)(o,c=>c.x,c=>c.y):(0,Y4.Z)(o,c=>c.x,c=>c.y,c=>c.z)).visitAfter(K4),u=new Map;return o.forEach(c=>{u.set(c.id,c),J4(c,l,i)}),o.map((c,h)=>{const{id:f,data:d}=s[h],{mass:v=1}=d;n[f]={x:c.vx/v,y:c.vy/v,z:c.vz/v}}),n}function K4(r){let e=0,t=0,n=0,i=0,a=0;const s=r.length;if(s){for(let o=0;o<s;o++){const l=r[o];l&&l.weight&&(e+=l.weight,t+=l.x*l.weight,n+=l.y*l.weight,i+=l.z*l.weight,a+=l.size*l.weight)}r.x=t/e,r.y=n/e,r.z=i/e,r.size=a/e,r.weight=e}else{const o=r;r.x=o.data.x,r.y=o.data.y,r.z=o.data.z,r.size=o.data.size,r.weight=o.data.weight}}const Q4=(r,e,t,n,i,a,s)=>{var o;if(((o=r.data)===null||o===void 0?void 0:o.id)===a.id)return;const l=[t,n,i][s-1],u=a.x-r.x||Y0,c=a.y-r.y||Y0,h=a.z-r.z||Y0,f=[u,c,h],d=l-e;let v=0;for(let m=0;m<s;m++)v+=f[m]*f[m];const p=Math.sqrt(v)*v;if(d*d*U4<v){const m=r.weight/p;return a.vx+=u*m,a.vy+=c*m,a.vz+=h*m,!0}if(r.length)return!1;if(r.data!==a){const m=r.data.weight/p;a.vx+=u*m,a.vy+=c*m,a.vz+=h*m}};function J4(r,e,t){e.visit((n,i,a,s,o)=>Q4(n,i,a,s,o,r,t))}const q4={dimensions:2,maxIteration:500,gravity:10,factor:1,edgeStrength:50,nodeStrength:1e3,coulombDisScale:.005,damping:.9,maxSpeed:200,minMovement:.4,interval:.02,linkDistance:200,clusterNodeStrength:20,preventOverlap:!0,distanceThresholdMode:"mean"};class Y2{constructor(e={}){this.options=e,this.id="force",this.timeInterval=0,this.judgingDistance=0,this.running=!1,this.options=Object.assign(Object.assign({},q4),e)}execute(e,t){return Wt(this,void 0,void 0,function*(){return this.genericForceLayout(!1,e,t)})}assign(e,t){return Wt(this,void 0,void 0,function*(){yield this.genericForceLayout(!0,e,t)})}stop(){this.timeInterval&&typeof window!="undefined"&&window.clearInterval(this.timeInterval),this.running=!1}tick(e=this.options.maxIteration||1){if(this.lastResult)return this.lastResult;for(let n=0;(this.judgingDistance>this.lastOptions.minMovement||n<1)&&n<e;n++)this.runOneStep(this.lastCalcGraph,this.lastGraph,n,this.lastVelMap,this.lastOptions),this.updatePosition(this.lastGraph,this.lastCalcGraph,this.lastVelMap,this.lastOptions);const t={nodes:this.lastLayoutNodes,edges:this.lastLayoutEdges};return this.lastAssign&&t.nodes.forEach(n=>this.lastGraph.mergeNodeData(n.id,{x:n.data.x,y:n.data.y,z:this.options.dimensions===3?n.data.z:void 0})),t}genericForceLayout(e,t,n){return Wt(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),a=t.getAllNodes(),s=t.getAllEdges(),o=this.formatOptions(i,t),{dimensions:l,width:u,height:c,nodeSize:h,getMass:f,nodeStrength:d,edgeStrength:v,linkDistance:g}=o,p=a.map((C,W)=>Object.assign(Object.assign({},C),{data:Object.assign(Object.assign({},C.data),{x:ht(C.data.x)?C.data.x:Math.random()*u,y:ht(C.data.y)?C.data.y:Math.random()*c,z:ht(C.data.z)?C.data.z:Math.random()*Math.sqrt(u*c),size:h(C)||30,mass:f(C),nodeStrength:d(C)})})),m=s.map(C=>Object.assign(Object.assign({},C),{data:Object.assign(Object.assign({},C.data),{edgeStrength:v(C),linkDistance:g(C,t.getNode(C.source),t.getNode(C.target))})}));if(!(a!=null&&a.length))return this.lastResult={nodes:[],edges:s},{nodes:[],edges:s};const b={};a.forEach((C,W)=>{b[C.id]={x:0,y:0,z:0}});const x=new gr({nodes:p,edges:m});this.formatCentripetal(o,x);const{maxIteration:O,minMovement:T,onTick:S}=o;if(this.lastLayoutNodes=p,this.lastLayoutEdges=m,this.lastAssign=e,this.lastGraph=t,this.lastCalcGraph=x,this.lastOptions=o,this.lastVelMap=b,typeof window=="undefined")return;let k=0;return new Promise(C=>{this.timeInterval=window.setInterval(()=>{(!a||!this.running)&&C({nodes:U0(t,p),edges:s}),this.runOneStep(x,t,k,b,o),this.updatePosition(t,x,b,o),e&&p.forEach(W=>t.mergeNodeData(W.id,{x:W.data.x,y:W.data.y,z:l===3?W.data.z:void 0})),S==null||S({nodes:U0(t,p),edges:s}),k++,(k>=O||this.judgingDistance<T)&&(window.clearInterval(this.timeInterval),C({nodes:U0(t,p),edges:s}))},0),this.running=!0})})}formatOptions(e,t){const n=Object.assign({},e),{width:i,height:a,getMass:s}=e;n.width=!i&&typeof window!="undefined"?window.innerWidth:i,n.height=!a&&typeof window!="undefined"?window.innerHeight:a,e.center||(n.center=[n.width/2,n.height/2]),s||(n.getMass=l=>{let u=1;ht(l==null?void 0:l.data.mass)&&(u=l==null?void 0:l.data.mass);const c=t.getDegree(l.id,"both");return!c||c<5?u:c*5*u}),n.nodeSize=H0(e.nodeSize,e.nodeSpacing);const o=e.linkDistance?Xo(1,e.linkDistance):l=>1+n.nodeSize(t.getNode(l.source))+n.nodeSize(t.getNode(l.target));return n.linkDistance=o,n.nodeStrength=Xo(1,e.nodeStrength),n.edgeStrength=Xo(1,e.edgeStrength),n}formatCentripetal(e,t){const{dimensions:n,centripetalOptions:i,center:a,clusterNodeStrength:s,leafCluster:o,clustering:l,nodeClusterBy:u}=e,c=t.getAllNodes(),h=i||{leaf:2,single:2,others:1,center:m=>({x:a[0],y:a[1],z:n===3?a[2]:void 0})};typeof s!="function"&&(e.clusterNodeStrength=m=>s);let f,d;if(o&&u&&(f=U2(t,u),d=Array.from(new Set(c==null?void 0:c.map(m=>m.data[u])))||[],e.centripetalOptions=Object.assign(h,{single:100,leaf:m=>{const{siblingLeaves:b,sameTypeLeaves:x}=f[m.id]||{};return(x==null?void 0:x.length)===(b==null?void 0:b.length)||(d==null?void 0:d.length)===1?1:e.clusterNodeStrength(m)},others:1,center:m=>{const b=t.getDegree(m.id,"both");if(!b)return{x:100,y:100,z:0};let x;if(b===1){const{sameTypeLeaves:O=[]}=f[m.id]||{};O.length===1?x=void 0:O.length>1&&(x=Z2(O))}else x=void 0;return{x:x==null?void 0:x.x,y:x==null?void 0:x.y,z:x==null?void 0:x.z}}})),l&&u){f||(f=U2(t,u)),d||(d=Array.from(new Set(c.map(b=>b.data[u])))),d=d.filter(b=>b!==void 0);const m={};d.forEach(b=>{const x=c.filter(O=>O.data[u]===b).map(O=>t.getNode(O.id));m[b]=Z2(x)}),e.centripetalOptions=Object.assign(h,{single:b=>e.clusterNodeStrength(b),leaf:b=>e.clusterNodeStrength(b),others:b=>e.clusterNodeStrength(b),center:b=>{const x=m[b.data[u]];return{x:x==null?void 0:x.x,y:x==null?void 0:x.y,z:x==null?void 0:x.z}}})}const{leaf:v,single:g,others:p}=e.centripetalOptions||{};v&&typeof v!="function"&&(e.centripetalOptions.leaf=()=>v),g&&typeof g!="function"&&(e.centripetalOptions.single=()=>g),p&&typeof p!="function"&&(e.centripetalOptions.others=()=>p)}runOneStep(e,t,n,i,a){const s={},o=e.getAllNodes(),l=e.getAllEdges();if(!(o!=null&&o.length))return;const{monitor:u}=a;if(this.calRepulsive(e,s,a),l&&this.calAttractive(e,s,a),this.calGravity(e,t,s,a),this.updateVelocity(e,s,i,a),u){const c=this.calTotalEnergy(s,o);u({energy:c,nodes:t.getAllNodes(),edges:t.getAllEdges(),iterations:n})}}calTotalEnergy(e,t){if(!(t!=null&&t.length))return 0;let n=0;return t.forEach((i,a)=>{const s=e[i.id].x,o=e[i.id].y,l=this.options.dimensions===3?e[i.id].z:0,u=s*s+o*o+l*l,{mass:c=1}=i.data;n+=c*u*.5}),n}calRepulsive(e,t,n){const{dimensions:i,factor:a,coulombDisScale:s}=n;Z4(e,a,s*s,t,i)}calAttractive(e,t,n){const{dimensions:i,nodeSize:a}=n;e.getAllEdges().forEach((s,o)=>{const{source:l,target:u}=s,c=e.getNode(l),h=e.getNode(u);if(!c||!h)return;let f=h.data.x-c.data.x,d=h.data.y-c.data.y,v=i===3?h.data.z-c.data.z:0;!f&&!d&&(f=Math.random()*.01,d=Math.random()*.01,i===3&&!v&&(v=Math.random()*.01));const g=Math.sqrt(f*f+d*d+v*v);if(g<a(c)+a(h))return;const p=f/g,m=d/g,b=v/g,{linkDistance:x=200,edgeStrength:O=200}=s.data||{},S=(x-g)*O,k=c.data.mass||1,C=h.data.mass||1,W=1/k,U=1/C,J=p*S,te=m*S,ie=b*S;t[l].x-=J*W,t[l].y-=te*W,t[l].z-=ie*W,t[u].x+=J*U,t[u].y+=te*U,t[u].z+=ie*U})}calGravity(e,t,n,i){const{getCenter:a}=i,s=e.getAllNodes(),o=t.getAllNodes(),l=t.getAllEdges(),{width:u,height:c,center:h,gravity:f,centripetalOptions:d}=i;s&&s.forEach(v=>{const{id:g,data:p}=v,{mass:m,x:b,y:x,z:O}=p,T=t.getNode(g);let S=0,k=0,C=0,W=f;const U=e.getDegree(g,"in"),J=e.getDegree(g,"out"),te=e.getDegree(g,"both"),ie=a==null?void 0:a(T,te);if(ie){const[ae,ve,Z]=ie;S=b-ae,k=x-ve,W=Z}else S=b-h[0],k=x-h[1],C=O-h[2];if(W&&(n[g].x-=W*S/m,n[g].y-=W*k/m,n[g].z-=W*C/m),d){const{leaf:ae,single:ve,others:Z,center:H}=d,{x:X,y:q,z:oe,centerStrength:de}=(H==null?void 0:H(T,o,l,u,c))||{x:0,y:0,z:0,centerStrength:0};if(!ht(X)||!ht(q))return;const Oe=(b-X)/m,Be=(x-q)/m,Ge=(O-oe)/m;if(de&&(n[g].x-=de*Oe,n[g].y-=de*Be,n[g].z-=de*Ge),te===0){const qe=ve(T);if(!qe)return;n[g].x-=qe*Oe,n[g].y-=qe*Be,n[g].z-=qe*Ge;return}if(U===0||J===0){const qe=ae(T,o,l);if(!qe)return;n[g].x-=qe*Oe,n[g].y-=qe*Be,n[g].z-=qe*Ge;return}const Ve=Z(T);if(!Ve)return;n[g].x-=Ve*Oe,n[g].y-=Ve*Be,n[g].z-=Ve*Ge}})}updateVelocity(e,t,n,i){const{damping:a,maxSpeed:s,interval:o,dimensions:l}=i,u=e.getAllNodes();u!=null&&u.length&&u.forEach(c=>{const{id:h}=c;let f=(n[h].x+t[h].x*o)*a||.01,d=(n[h].y+t[h].y*o)*a||.01,v=l===3?(n[h].z+t[h].z*o)*a||.01:0;const g=Math.sqrt(f*f+d*d+v*v);if(g>s){const p=s/g;f=p*f,d=p*d,v=p*v}n[h]={x:f,y:d,z:v}})}updatePosition(e,t,n,i){const{distanceThresholdMode:a,interval:s,dimensions:o}=i,l=t.getAllNodes();if(!(l!=null&&l.length)){this.judgingDistance=0;return}let u=0;a==="max"?this.judgingDistance=-1/0:a==="min"&&(this.judgingDistance=1/0),l.forEach(c=>{const{id:h}=c,f=e.getNode(h);if(ht(f.data.fx)&&ht(f.data.fy)){t.mergeNodeData(h,{x:f.data.fx,y:f.data.fy,z:o===3?f.data.fz:void 0});return}const d=n[h].x*s,v=n[h].y*s,g=o===3?n[h].z*s:0;t.mergeNodeData(h,{x:c.data.x+d,y:c.data.y+v,z:c.data.z+g});const p=Math.sqrt(d*d+v*v+g*g);switch(a){case"max":this.judgingDistance<p&&(this.judgingDistance=p);break;case"min":this.judgingDistance>p&&(this.judgingDistance=p);break;default:u=u+p;break}}),(!a||a==="mean")&&(this.judgingDistance=u/l.length)}}const U2=(r,e)=>{const t=r.getAllNodes();if(!(t!=null&&t.length))return{};const n={};return t.forEach((i,a)=>{r.getDegree(i.id,"both")===1&&(n[i.id]=$4(r,"leaf",i,e))}),n},$4=(r,e,t,n)=>{const i=r.getDegree(t.id,"in"),a=r.getDegree(t.id,"out");let s=t,o=[];i===0?(s=r.getSuccessors(t.id)[0],o=r.getNeighbors(s.id)):a===0&&(s=r.getPredecessors(t.id)[0],o=r.getNeighbors(s.id)),o=o.filter(u=>r.getDegree(u.id,"in")===0||r.getDegree(u.id,"out")===0);const l=e8(r,e,n,t,o);return{coreNode:s,siblingLeaves:o,sameTypeLeaves:l}},e8=(r,e,t,n,i)=>{const a=n.data[t]||"";let s=(i==null?void 0:i.filter(o=>o.data[t]===a))||[];return e==="leaf"&&(s=s.filter(o=>r.getDegree(o.id,"in")===0||r.getDegree(o.id,"out")===0)),s},Z2=r=>{const e={x:0,y:0};r.forEach(n=>{const{x:i,y:a}=n.data;e.x+=i||0,e.y+=a||0});const t=r.length||1;return{x:e.x/t,y:e.y/t}},U0=(r,e)=>e.map(t=>{const{id:n,data:i}=t,a=r.getNode(n);return Object.assign(Object.assign({},a),{data:Object.assign(Object.assign({},a.data),{x:i.x,y:i.y,z:i.z})})});var Zt=w(48202);const CQ=Zt.XA,NQ=Zt.a_,_Q=Zt.yQ,RQ=Zt.Hs,LQ=Zt.Ec,DQ=Zt.dx,IQ=Zt.LU,BQ=Zt.Rm,ro=Zt.y3,zQ=Zt.qK,FQ=Zt.pb,jQ=Zt.j,GQ=Zt.sO,HQ=Zt.BZ,XQ=Zt.EK,WQ=Zt.Db,VQ=Zt.Fx,YQ=Zt.tU,UQ=Zt.Ym,ZQ=Zt.rs,KQ=Zt.QR,QQ=Zt.TB,JQ=Zt.oH,K2=Zt.Sc,qQ=Zt.BN,$Q=Zt.it,eJ=Zt.$r,tJ=Zt.QM,nJ=Zt.AV;var rJ=(Zt.y3,Zt.y3);const iJ=Zt.GH,aJ=Zt.SO,sJ=Zt.uZ,oJ=Zt.yU,lJ=Zt.F1,uJ=Zt.re,Q2=r=>{const e=[],t=r.length;for(let n=0;n<t;n+=1){e[n]=[];for(let i=0;i<t;i+=1)n===i?e[n][i]=0:r[n][i]===0||!r[n][i]?e[n][i]=1/0:e[n][i]=r[n][i]}for(let n=0;n<t;n+=1)for(let i=0;i<t;i+=1)for(let a=0;a<t;a+=1)e[i][a]>e[i][n]+e[n][a]&&(e[i][a]=e[i][n]+e[n][a]);return e},J2=(r,e)=>{const{nodes:t,edges:n}=r,i=[],a={};if(!t)throw new Error("invalid nodes data!");return t&&t.forEach((s,o)=>{a[s.id]=o;const l=[];i.push(l)}),n==null||n.forEach(s=>{const{source:o,target:l}=s,u=a[o],c=a[l];u===void 0||c===void 0||(i[u][c]=1,e||(i[c][u]=1))}),i},t8=(r,e)=>{const t=[];return r.forEach(n=>{const i=[];n.forEach(a=>{i.push(a*e)}),t.push(i)}),t},n8=r=>{let e=1/0,t=1/0,n=-1/0,i=-1/0;return r.forEach(a=>{let s=a.data.size;Ss(s)?s.length===1&&(s=[s[0],s[0]]):ht(s)?s=[s,s]:(s===void 0||isNaN(s))&&(s=[30,30]);const o=[s[0]/2,s[1]/2],l=a.data.x-o[0],u=a.data.x+o[0],c=a.data.y-o[1],h=a.data.y+o[1];e>l&&(e=l),t>c&&(t=c),n<u&&(n=u),i<h&&(i=h)}),{minX:e,minY:t,maxX:n,maxY:i}},q2=(r,e)=>Math.sqrt((r.x-e.x)*(r.x-e.x)+(r.y-e.y)*(r.y-e.y)),Z0=(r,e,t,n="TB",i,a={})=>{if(!(e!=null&&e.length))return;const{stopBranchFn:s,stopAllFn:o}=a;for(let l=0;l<e.length;l++){const u=e[l];if(r.hasNode(u.id)&&!(s!=null&&s(u))){if(o!=null&&o(u))return;n==="TB"&&t(u),Z0(r,r.getChildren(u.id,i),t,n,i,a),n!=="TB"&&t(u)}}},r8={center:[0,0],linkDistance:50};class $2{constructor(e={}){this.options=e,this.id="mds",this.options=Object.assign(Object.assign({},r8),e)}execute(e,t){return Wt(this,void 0,void 0,function*(){return this.genericMDSLayout(!1,e,t)})}assign(e,t){return Wt(this,void 0,void 0,function*(){yield this.genericMDSLayout(!0,e,t)})}genericMDSLayout(e,t,n){return Wt(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{center:a=[0,0],linkDistance:s=50}=i,o=t.getAllNodes(),l=t.getAllEdges();if(!(o!=null&&o.length)||o.length===1)return Wo(t,e,a);const u=J2({nodes:o,edges:l},!1),c=Q2(u);i8(c);const h=t8(c,s),f=a8(h),d=[];return f.forEach((g,p)=>{const m=Ii(o[p]);m.data.x=g[0]+a[0],m.data.y=g[1]+a[1],d.push(m)}),e&&d.forEach(g=>t.mergeNodeData(g.id,{x:g.data.x,y:g.data.y})),{nodes:d,edges:l}})}}const i8=r=>{let e=-999999;r.forEach(t=>{t.forEach(n=>{n!==1/0&&e<n&&(e=n)})}),r.forEach((t,n)=>{t.forEach((i,a)=>{i===1/0&&(r[n][a]=e)})})},a8=r=>{const t=ro.mul(ro.pow(r,2),-.5),n=t.mean("row"),i=t.mean("column"),a=t.mean();t.add(a).subRowVector(n).subColumnVector(i);const s=new K2(t),o=ro.sqrt(s.diagonalMatrix).diagonal();return s.leftSingularVectors.toJSON().map(l=>ro.mul([l],[o]).toJSON()[0].splice(0,2))};function K0(r){return!!r.tick&&!!r.stop}const s8={gForce:!0,force2:!0,d3force:!0,fruchterman:!0,forceAtlas2:!0,force:!0,"graphin-force":!0},o8={center:[0,0],comboPadding:10,treeKey:"combo"};class l8{constructor(e={}){this.options=e,this.id="comboCombined",this.options=Object.assign(Object.assign({},o8),e)}execute(e,t){return Wt(this,void 0,void 0,function*(){return this.genericComboCombinedLayout(!1,e,t)})}assign(e,t){return Wt(this,void 0,void 0,function*(){yield this.genericComboCombinedLayout(!0,e,t)})}genericComboCombinedLayout(e,t,n){return Wt(this,void 0,void 0,function*(){const i=this.initVals(Object.assign(Object.assign({},this.options),n)),{center:a,treeKey:s,outerLayout:o}=i,l=t.getAllNodes().filter(C=>!C.data._isCombo),u=t.getAllNodes().filter(C=>C.data._isCombo),c=t.getAllEdges(),h=l==null?void 0:l.length;if(!h||h===1)return Wo(t,e,a);const f=[],d=new Map;l.forEach(C=>{d.set(C.id,C)});const v=new Map;u.forEach(C=>{v.set(C.id,C)});const g=new Map,p=this.getInnerGraphs(t,s,d,v,c,i,g);yield Promise.all(p);const m=new Map,b=[],x=new Map;let O=!0;t.getRoots(s).forEach(C=>{const W=g.get(C.id),U=v.get(C.id)||d.get(C.id),J={id:C.id,data:Object.assign(Object.assign({},C.data),{x:W.data.x||U.data.x,y:W.data.y||U.data.y,fx:W.data.fx||U.data.fx,fy:W.data.fy||U.data.fy,mass:W.data.mass||U.data.mass,size:W.data.size})};b.push(J),m.set(C.id,!0),!isNaN(J.data.x)&&J.data.x!==0&&!isNaN(J.data.y)&&J.data.y!==0?O=!1:(J.data.x=Math.random()*100,J.data.y=Math.random()*100),Z0(t,[C],te=>{te.id!==C.id&&x.set(te.id,C.id)},"TB",s)});const T=[];c.forEach(C=>{const W=x.get(C.source)||C.source,U=x.get(C.target)||C.target;W!==U&&m.has(W)&&m.has(U)&&T.push({id:C.id,source:W,target:U,data:{}})});let S;if(b!=null&&b.length){if(b.length===1)b[0].data.x=a[0],b[0].data.y=a[1];else{const C=new gr({nodes:b,edges:T}),W=o||new Y2;O&&s8[W.id]&&(yield(b.length<100?new $2:new W0).assign(C));const U=Object.assign({center:a,kg:5,preventOverlap:!0,animate:!1},W.id==="force"?{gravity:1,factor:4,linkDistance:(J,te,ie)=>{const ae=Math.max(...te.data.size)||32,ve=Math.max(...ie.data.size)||32;return ae/2+ve/2+200}}:{});S=yield eP(W,C,U)}g.forEach(C=>{var W;const U=S.nodes.find(ie=>ie.id===C.id);if(U){const{x:ie,y:ae}=U.data;C.data.visited=!0,C.data.x=ie,C.data.y=ae,f.push({id:C.id,data:{x:ie,y:ae}})}const{x:J,y:te}=C.data;(W=C.data.nodes)===null||W===void 0||W.forEach(ie=>{f.push({id:ie.id,data:{x:ie.data.x+J,y:ie.data.y+te}})})}),g.forEach(({data:C})=>{const{x:W,y:U,visited:J,nodes:te}=C;te==null||te.forEach(ie=>{if(!J){const ae=f.find(ve=>ve.id===ie.id);ae.data.x+=W||0,ae.data.y+=U||0}})})}return e&&f.forEach(C=>{t.mergeNodeData(C.id,{x:C.data.x,y:C.data.y})}),{nodes:f,edges:c}})}initVals(e){const t=Object.assign({},e),{nodeSize:n,spacing:i,comboPadding:a}=e;let s,o;if(ht(i)?o=()=>i:pt(i)?o=i:o=()=>0,t.spacing=o,!n)s=u=>{const c=o(u);return u.size?Ss(u.size)?((u.size[0]>u.size[1]?u.size[0]:u.size[1])+c)/2:nr(u.size)?((u.size.width>u.size.height?u.size.width:u.size.height)+c)/2:(u.size+c)/2:32+c/2};else if(pt(n))s=u=>{const c=n(u),h=o(u);return Ss(u.size)?((u.size[0]>u.size[1]?u.size[0]:u.size[1])+h)/2:((c||32)+h)/2};else if(Ss(n)){const c=(n[0]>n[1]?n[0]:n[1])/2;s=h=>c+o(h)/2}else{const u=n/2;s=c=>u+o(c)/2}t.nodeSize=s;let l;return ht(a)?l=()=>a:Ss(a)?l=()=>Math.max.apply(null,a):pt(a)?l=a:l=()=>0,t.comboPadding=l,t}getInnerGraphs(e,t,n,i,a,s,o){const{nodeSize:l,comboPadding:u,spacing:c,innerLayout:h}=s,f=h||new W0({}),d={center:[0,0],preventOverlap:!0,nodeSpacing:c},v=[],g=p=>{let m=(u==null?void 0:u(p))||10;return Ss(m)&&(m=Math.max(...m)),{size:m?[m*2,m*2]:[30,30],padding:m}};return e.getRoots(t).forEach(p=>{o.set(p.id,{id:p.id,data:{nodes:[],size:g(p).size}});let m=Promise.resolve();Z0(e,[p],b=>{var x;if(!b.data._isCombo)return;const{size:O,padding:T}=g(b);if(!(!((x=e.getChildren(b.id,t))===null||x===void 0)&&x.length))o.set(b.id,{id:b.id,data:Object.assign(Object.assign({},b.data),{size:O})});else{const S=o.get(b.id);o.set(b.id,{id:b.id,data:Object.assign({nodes:[]},S==null?void 0:S.data)});const k=new Map,C=e.getChildren(b.id,t).map(J=>{if(J.data._isCombo)return o.has(J.id)||o.set(J.id,{id:J.id,data:Object.assign({},J.data)}),k.set(J.id,!0),o.get(J.id);const te=n.get(J.id)||i.get(J.id);return k.set(J.id,!0),{id:J.id,data:Object.assign(Object.assign({},te.data),J.data)}}),W={nodes:C,edges:a.filter(J=>k.has(J.source)&&k.has(J.target))};let U=1/0;C.forEach(J=>{var te;let{size:ie}=J.data;ie||(ie=((te=o.get(J.id))===null||te===void 0?void 0:te.data.size)||(l==null?void 0:l(J))||[30,30]),ht(ie)&&(ie=[ie,ie]);const[ae,ve]=ie;U>ae&&(U=ae),U>ve&&(U=ve),J.data.size=ie}),m=m.then(()=>Wt(this,void 0,void 0,function*(){const J=new gr(W);yield eP(f,J,d,!0);const{minX:te,minY:ie,maxX:ae,maxY:ve}=n8(C),Z={x:(ae+te)/2,y:(ve+ie)/2};W.nodes.forEach(X=>{X.data.x-=Z.x,X.data.y-=Z.y});const H=[Math.max(ae-te,U)+T*2,Math.max(ve-ie,U)+T*2];o.get(b.id).data.size=H,o.get(b.id).data.nodes=C}))}return!0},"BT",t),v.push(m)}),v}}function eP(r,e,t,n){var i;return Wt(this,void 0,void 0,function*(){return K0(r)?(r.execute(e,t),r.stop(),r.tick((i=t.iterations)!==null&&i!==void 0?i:300)):n?yield r.assign(e,t):yield r.execute(e,t)})}function Pr(r){return function(){return r}}function io(r){return(r()-.5)*1e-6}function u8(r){return r.index}function tP(r,e){var t=r.get(e);if(!t)throw new Error("node not found: "+e);return t}function c8(r){var e=u8,t=h,n,i=Pr(30),a,s,o,l,u,c=1;r==null&&(r=[]);function h(p){return 1/Math.min(o[p.source.index],o[p.target.index])}function f(p){for(var m=0,b=r.length;m<c;++m)for(var x=0,O,T,S,k,C,W,U;x<b;++x)O=r[x],T=O.source,S=O.target,k=S.x+S.vx-T.x-T.vx||io(u),C=S.y+S.vy-T.y-T.vy||io(u),W=Math.sqrt(k*k+C*C),W=(W-a[x])/W*p*n[x],k*=W,C*=W,S.vx-=k*(U=l[x]),S.vy-=C*U,T.vx+=k*(U=1-U),T.vy+=C*U}function d(){if(s){var p,m=s.length,b=r.length,x=new Map(s.map((T,S)=>[e(T,S,s),T])),O;for(p=0,o=new Array(m);p<b;++p)O=r[p],O.index=p,typeof O.source!="object"&&(O.source=tP(x,O.source)),typeof O.target!="object"&&(O.target=tP(x,O.target)),o[O.source.index]=(o[O.source.index]||0)+1,o[O.target.index]=(o[O.target.index]||0)+1;for(p=0,l=new Array(b);p<b;++p)O=r[p],l[p]=o[O.source.index]/(o[O.source.index]+o[O.target.index]);n=new Array(b),v(),a=new Array(b),g()}}function v(){if(s)for(var p=0,m=r.length;p<m;++p)n[p]=+t(r[p],p,r)}function g(){if(s)for(var p=0,m=r.length;p<m;++p)a[p]=+i(r[p],p,r)}return f.initialize=function(p,m){s=p,u=m,d()},f.links=function(p){return arguments.length?(r=p,d(),f):r},f.id=function(p){return arguments.length?(e=p,f):e},f.iterations=function(p){return arguments.length?(c=+p,f):c},f.strength=function(p){return arguments.length?(t=typeof p=="function"?p:Pr(+p),v(),f):t},f.distance=function(p){return arguments.length?(i=typeof p=="function"?p:Pr(+p),g(),f):i},f}var h8={value:()=>{}};function nP(){for(var r=0,e=arguments.length,t={},n;r<e;++r){if(!(n=arguments[r]+"")||n in t||/[\s.]/.test(n))throw new Error("illegal type: "+n);t[n]=[]}return new wd(t)}function wd(r){this._=r}function f8(r,e){return r.trim().split(/^|\s+/).map(function(t){var n="",i=t.indexOf(".");if(i>=0&&(n=t.slice(i+1),t=t.slice(0,i)),t&&!e.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:n}})}wd.prototype=nP.prototype={constructor:wd,on:function(r,e){var t=this._,n=f8(r+"",t),i,a=-1,s=n.length;if(arguments.length<2){for(;++a<s;)if((i=(r=n[a]).type)&&(i=d8(t[i],r.name)))return i;return}if(e!=null&&typeof e!="function")throw new Error("invalid callback: "+e);for(;++a<s;)if(i=(r=n[a]).type)t[i]=rP(t[i],r.name,e);else if(e==null)for(i in t)t[i]=rP(t[i],r.name,null);return this},copy:function(){var r={},e=this._;for(var t in e)r[t]=e[t].slice();return new wd(r)},call:function(r,e){if((i=arguments.length-2)>0)for(var t=new Array(i),n=0,i,a;n<i;++n)t[n]=arguments[n+2];if(!this._.hasOwnProperty(r))throw new Error("unknown type: "+r);for(a=this._[r],n=0,i=a.length;n<i;++n)a[n].value.apply(e,t)},apply:function(r,e,t){if(!this._.hasOwnProperty(r))throw new Error("unknown type: "+r);for(var n=this._[r],i=0,a=n.length;i<a;++i)n[i].value.apply(e,t)}};function d8(r,e){for(var t=0,n=r.length,i;t<n;++t)if((i=r[t]).name===e)return i.value}function rP(r,e,t){for(var n=0,i=r.length;n<i;++n)if(r[n].name===e){r[n]=h8,r=r.slice(0,n).concat(r.slice(n+1));break}return t!=null&&r.push({name:e,value:t}),r}var v8=nP,Yl=0,Ec=0,wc=0,iP=1e3,Pd,Pc,Md=0,Vo=0,Sd=0,Mc=typeof performance=="object"&&performance.now?performance:Date,aP=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(r){setTimeout(r,17)};function sP(){return Vo||(aP(g8),Vo=Mc.now()+Sd)}function g8(){Vo=0}function Q0(){this._call=this._time=this._next=null}Q0.prototype=oP.prototype={constructor:Q0,restart:function(r,e,t){if(typeof r!="function")throw new TypeError("callback is not a function");t=(t==null?sP():+t)+(e==null?0:+e),!this._next&&Pc!==this&&(Pc?Pc._next=this:Pd=this,Pc=this),this._call=r,this._time=t,J0()},stop:function(){this._call&&(this._call=null,this._time=1/0,J0())}};function oP(r,e,t){var n=new Q0;return n.restart(r,e,t),n}function p8(){sP(),++Yl;for(var r=Pd,e;r;)(e=Vo-r._time)>=0&&r._call.call(void 0,e),r=r._next;--Yl}function lP(){Vo=(Md=Mc.now())+Sd,Yl=Ec=0;try{p8()}finally{Yl=0,y8(),Vo=0}}function m8(){var r=Mc.now(),e=r-Md;e>iP&&(Sd-=e,Md=r)}function y8(){for(var r,e=Pd,t,n=1/0;e;)e._call?(n>e._time&&(n=e._time),r=e,e=e._next):(t=e._next,e._next=null,e=r?r._next=t:Pd=t);Pc=r,J0(n)}function J0(r){if(!Yl){Ec&&(Ec=clearTimeout(Ec));var e=r-Vo;e>24?(r<1/0&&(Ec=setTimeout(lP,r-Mc.now()-Sd)),wc&&(wc=clearInterval(wc))):(wc||(Md=Mc.now(),wc=setInterval(m8,iP)),Yl=1,aP(lP))}}const b8=1664525,x8=1013904223,uP=4294967296;function E8(){let r=1;return()=>(r=(b8*r+x8)%uP)/uP}function w8(r){return r.x}function P8(r){return r.y}var M8=10,S8=Math.PI*(3-Math.sqrt(5));function T8(r){var e,t=1,n=.001,i=1-Math.pow(n,1/300),a=0,s=.6,o=new Map,l=oP(h),u=v8("tick","end"),c=E8();r==null&&(r=[]);function h(){f(),u.call("tick",e),t<n&&(l.stop(),u.call("end",e))}function f(g){var p,m=r.length,b;g===void 0&&(g=1);for(var x=0;x<g;++x)for(t+=(a-t)*i,o.forEach(function(O){O(t)}),p=0;p<m;++p)b=r[p],b.fx==null?b.x+=b.vx*=s:(b.x=b.fx,b.vx=0),b.fy==null?b.y+=b.vy*=s:(b.y=b.fy,b.vy=0);return e}function d(){for(var g=0,p=r.length,m;g<p;++g){if(m=r[g],m.index=g,m.fx!=null&&(m.x=m.fx),m.fy!=null&&(m.y=m.fy),isNaN(m.x)||isNaN(m.y)){var b=M8*Math.sqrt(.5+g),x=g*S8;m.x=b*Math.cos(x),m.y=b*Math.sin(x)}(isNaN(m.vx)||isNaN(m.vy))&&(m.vx=m.vy=0)}}function v(g){return g.initialize&&g.initialize(r,c),g}return d(),e={tick:f,restart:function(){return l.restart(h),e},stop:function(){return l.stop(),e},nodes:function(g){return arguments.length?(r=g,d(),o.forEach(v),e):r},alpha:function(g){return arguments.length?(t=+g,e):t},alphaMin:function(g){return arguments.length?(n=+g,e):n},alphaDecay:function(g){return arguments.length?(i=+g,e):+i},alphaTarget:function(g){return arguments.length?(a=+g,e):a},velocityDecay:function(g){return arguments.length?(s=1-g,e):1-s},randomSource:function(g){return arguments.length?(c=g,o.forEach(v),e):c},force:function(g,p){return arguments.length>1?(p==null?o.delete(g):o.set(g,v(p)),e):o.get(g)},find:function(g,p,m){var b=0,x=r.length,O,T,S,k,C;for(m==null?m=1/0:m*=m,b=0;b<x;++b)k=r[b],O=g-k.x,T=p-k.y,S=O*O+T*T,S<m&&(C=k,m=S);return C},on:function(g,p){return arguments.length>1?(u.on(g,p),e):u.on(g)}}}function A8(){var r,e,t,n,i=Pr(-30),a,s=1,o=1/0,l=.81;function u(d){var v,g=r.length,p=(0,V0.Z)(r,w8,P8).visitAfter(h);for(n=d,v=0;v<g;++v)e=r[v],p.visit(f)}function c(){if(r){var d,v=r.length,g;for(a=new Array(v),d=0;d<v;++d)g=r[d],a[g.index]=+i(g,d,r)}}function h(d){var v=0,g,p,m=0,b,x,O;if(d.length){for(b=x=O=0;O<4;++O)(g=d[O])&&(p=Math.abs(g.value))&&(v+=g.value,m+=p,b+=p*g.x,x+=p*g.y);d.x=b/m,d.y=x/m}else{g=d,g.x=g.data.x,g.y=g.data.y;do v+=a[g.data.index];while(g=g.next)}d.value=v}function f(d,v,g,p){if(!d.value)return!0;var m=d.x-e.x,b=d.y-e.y,x=p-v,O=m*m+b*b;if(x*x/l<O)return O<o&&(m===0&&(m=io(t),O+=m*m),b===0&&(b=io(t),O+=b*b),O<s&&(O=Math.sqrt(s*O)),e.vx+=m*d.value*n/O,e.vy+=b*d.value*n/O),!0;if(d.length||O>=o)return;(d.data!==e||d.next)&&(m===0&&(m=io(t),O+=m*m),b===0&&(b=io(t),O+=b*b),O<s&&(O=Math.sqrt(s*O)));do d.data!==e&&(x=a[d.data.index]*n/O,e.vx+=m*x,e.vy+=b*x);while(d=d.next)}return u.initialize=function(d,v){r=d,t=v,c()},u.strength=function(d){return arguments.length?(i=typeof d=="function"?d:Pr(+d),c(),u):i},u.distanceMin=function(d){return arguments.length?(s=d*d,u):Math.sqrt(s)},u.distanceMax=function(d){return arguments.length?(o=d*d,u):Math.sqrt(o)},u.theta=function(d){return arguments.length?(l=d*d,u):Math.sqrt(l)},u}function O8(r,e){var t,n=1;r==null&&(r=0),e==null&&(e=0);function i(){var a,s=t.length,o,l=0,u=0;for(a=0;a<s;++a)o=t[a],l+=o.x,u+=o.y;for(l=(l/s-r)*n,u=(u/s-e)*n,a=0;a<s;++a)o=t[a],o.x-=l,o.y-=u}return i.initialize=function(a){t=a},i.x=function(a){return arguments.length?(r=+a,i):r},i.y=function(a){return arguments.length?(e=+a,i):e},i.strength=function(a){return arguments.length?(n=+a,i):n},i}function k8(r){return r.x+r.vx}function C8(r){return r.y+r.vy}function N8(r){var e,t,n,i=1,a=1;typeof r!="function"&&(r=Pr(r==null?1:+r));function s(){for(var u,c=e.length,h,f,d,v,g,p,m=0;m<a;++m)for(h=(0,V0.Z)(e,k8,C8).visitAfter(o),u=0;u<c;++u)f=e[u],g=t[f.index],p=g*g,d=f.x+f.vx,v=f.y+f.vy,h.visit(b);function b(x,O,T,S,k){var C=x.data,W=x.r,U=g+W;if(C){if(C.index>f.index){var J=d-C.x-C.vx,te=v-C.y-C.vy,ie=J*J+te*te;ie<U*U&&(J===0&&(J=io(n),ie+=J*J),te===0&&(te=io(n),ie+=te*te),ie=(U-(ie=Math.sqrt(ie)))/ie*i,f.vx+=(J*=ie)*(U=(W*=W)/(p+W)),f.vy+=(te*=ie)*U,C.vx-=J*(U=1-U),C.vy-=te*U)}return}return O>d+U||S<d-U||T>v+U||k<v-U}}function o(u){if(u.data)return u.r=t[u.data.index];for(var c=u.r=0;c<4;++c)u[c]&&u[c].r>u.r&&(u.r=u[c].r)}function l(){if(e){var u,c=e.length,h;for(t=new Array(c),u=0;u<c;++u)h=e[u],t[h.index]=+r(h,u,e)}}return s.initialize=function(u,c){e=u,n=c,l()},s.iterations=function(u){return arguments.length?(a=+u,s):a},s.strength=function(u){return arguments.length?(i=+u,s):i},s.radius=function(u){return arguments.length?(r=typeof u=="function"?u:Pr(+u),l(),s):r},s}function _8(r,e,t){var n,i=Pr(.1),a,s;typeof r!="function"&&(r=Pr(+r)),e==null&&(e=0),t==null&&(t=0);function o(u){for(var c=0,h=n.length;c<h;++c){var f=n[c],d=f.x-e||1e-6,v=f.y-t||1e-6,g=Math.sqrt(d*d+v*v),p=(s[c]-g)*a[c]*u/g;f.vx+=d*p,f.vy+=v*p}}function l(){if(n){var u,c=n.length;for(a=new Array(c),s=new Array(c),u=0;u<c;++u)s[u]=+r(n[u],u,n),a[u]=isNaN(s[u])?0:+i(n[u],u,n)}}return o.initialize=function(u){n=u,l()},o.strength=function(u){return arguments.length?(i=typeof u=="function"?u:Pr(+u),l(),o):i},o.radius=function(u){return arguments.length?(r=typeof u=="function"?u:Pr(+u),l(),o):r},o.x=function(u){return arguments.length?(e=+u,o):e},o.y=function(u){return arguments.length?(t=+u,o):t},o}function R8(r){var e=Pr(.1),t,n,i;typeof r!="function"&&(r=Pr(r==null?0:+r));function a(o){for(var l=0,u=t.length,c;l<u;++l)c=t[l],c.vx+=(i[l]-c.x)*n[l]*o}function s(){if(t){var o,l=t.length;for(n=new Array(l),i=new Array(l),o=0;o<l;++o)n[o]=isNaN(i[o]=+r(t[o],o,t))?0:+e(t[o],o,t)}}return a.initialize=function(o){t=o,s()},a.strength=function(o){return arguments.length?(e=typeof o=="function"?o:Pr(+o),s(),a):e},a.x=function(o){return arguments.length?(r=typeof o=="function"?o:Pr(+o),s(),a):r},a}function L8(r){var e=Pr(.1),t,n,i;typeof r!="function"&&(r=Pr(r==null?0:+r));function a(o){for(var l=0,u=t.length,c;l<u;++l)c=t[l],c.vy+=(i[l]-c.y)*n[l]*o}function s(){if(t){var o,l=t.length;for(n=new Array(l),i=new Array(l),o=0;o<l;++o)n[o]=isNaN(i[o]=+r(t[o],o,t))?0:+e(t[o],o,t)}}return a.initialize=function(o){t=o,s()},a.strength=function(o){return arguments.length?(e=typeof o=="function"?o:Pr(+o),s(),a):e},a.y=function(o){return arguments.length?(r=typeof o=="function"?o:Pr(+o),s(),a):r},a}class D8{constructor(e){this.id="d3-force",this.config={inputNodeAttrs:["x","y","vx","vy","fx","fy"],outputNodeAttrs:["x","y","vx","vy"],simulationAttrs:["alpha","alphaMin","alphaDecay","alphaTarget","velocityDecay","randomSource"]},this.forceMap={link:c8,manyBody:A8,center:O8,collide:N8,radial:_8,x:R8,y:L8},this.options={link:{id:t=>t.id},manyBody:{},center:{x:0,y:0}},this.context={options:{},assign:!1,nodes:[],edges:[]},ri(this.options,e),this.options.forceSimulation&&(this.simulation=this.options.forceSimulation)}execute(e,t){return Wt(this,void 0,void 0,function*(){return this.genericLayout(!1,e,t)})}assign(e,t){return Wt(this,void 0,void 0,function*(){yield this.genericLayout(!0,e,t)})}stop(){this.simulation.stop()}tick(e){return this.simulation.tick(e),this.getResult()}restart(){this.simulation.restart()}setFixedPosition(e,t){const n=this.context.nodes.find(i=>i.id===e);n&&t.forEach((i,a)=>{if(typeof i=="number"||i===null){const s=["fx","fy","fz"][a];n[s]=i}})}getOptions(e){var t,n;const i=ri({},this.options,e);return i.collide&&((t=i.collide)===null||t===void 0?void 0:t.radius)===void 0&&(i.collide=i.collide||{},i.collide.radius=(n=i.nodeSize)!==null&&n!==void 0?n:10),i.iterations===void 0&&(i.link&&i.link.iterations===void 0&&(i.iterations=i.link.iterations),i.collide&&i.collide.iterations===void 0&&(i.iterations=i.collide.iterations)),this.context.options=i,i}genericLayout(e,t,n){var i;return Wt(this,void 0,void 0,function*(){const a=this.getOptions(n),s=t.getAllNodes().map(({id:c,data:h})=>Object.assign(Object.assign({id:c},h),jo(h.data,this.config.inputNodeAttrs))),o=t.getAllEdges().map(c=>Object.assign({},c));Object.assign(this.context,{assign:e,nodes:s,edges:o,graph:t});const l=new Promise(c=>{this.resolver=c}),u=this.setSimulation(a);return u.nodes(s),(i=u.force("link"))===null||i===void 0||i.links(o),l})}getResult(){const{assign:e,nodes:t,edges:n,graph:i}=this.context,a=t.map(o=>({id:o.id,data:Object.assign(Object.assign({},o.data),jo(o,this.config.outputNodeAttrs))})),s=n.map(({id:o,source:l,target:u,data:c})=>({id:o,source:typeof l=="object"?l.id:l,target:typeof u=="object"?u.id:u,data:c}));return e&&a.forEach(o=>i.mergeNodeData(o.id,o.data)),{nodes:a,edges:s}}initSimulation(){return T8()}setSimulation(e){const t=this.simulation||this.options.forceSimulation||this.initSimulation();return this.simulation||(this.simulation=t.on("tick",()=>{var n;return(n=e.onTick)===null||n===void 0?void 0:n.call(e,this.getResult())}).on("end",()=>{var n;return(n=this.resolver)===null||n===void 0?void 0:n.call(this,this.getResult())})),cP(t,this.config.simulationAttrs.map(n=>[n,e[n]])),Object.entries(this.forceMap).forEach(([n,i])=>{const a=n;if(e[n]){let s=t.force(a);s||(s=i(),t.force(a,s)),cP(s,Object.entries(e[a]))}else t.force(a,null)}),t}}const cP=(r,e)=>e.reduce((t,[n,i])=>!t[n]||i===void 0?t:t[n].call(r,i),r);var hP=w(70681),I8=w.n(hP);class Td{constructor(e){this.id="dagre",this.options={},Object.assign(this.options,Td.defaultOptions,e)}execute(e,t){return Wt(this,void 0,void 0,function*(){return this.genericDagreLayout(!1,e,Object.assign(Object.assign({},this.options),t))})}assign(e,t){return Wt(this,void 0,void 0,function*(){yield this.genericDagreLayout(!0,e,Object.assign(Object.assign({},this.options),t))})}genericDagreLayout(e,t,n){return Wt(this,void 0,void 0,function*(){const{nodeSize:i}=n,a=new hP.graphlib.Graph;a.setGraph(n),a.setDefaultEdgeLabel(()=>({}));const s=t.getAllNodes(),o=t.getAllEdges();[...s,...o].some(({id:u})=>ht(u))&&console.error("Dagre layout only support string id, it will convert number to string."),t.getAllNodes().forEach(u=>{const{id:c}=u,h=Object.assign({},u.data);if(i!==void 0){const[f,d]=xc(pt(i)?i(u):i);Object.assign(h,{width:f,height:d})}a.setNode(c.toString(),h)}),t.getAllEdges().forEach(({id:u,source:c,target:h})=>{a.setEdge(c.toString(),h.toString(),{id:u})}),I8().layout(a);const l={nodes:[],edges:[]};return a.nodes().forEach(u=>{const c=a.node(u);l.nodes.push({id:u,data:c}),e&&t.mergeNodeData(u,c)}),a.edges().forEach(u=>{const c=a.edge(u),{id:h}=c,f=a2(c,["id"]),{v:d,w:v}=u;l.edges.push({id:h,source:d,target:v,data:f}),e&&t.mergeEdgeData(h,f)}),l})}}Td.defaultOptions={};class q0{constructor(e){this.id=e.id||0,this.rx=e.rx,this.ry=e.ry,this.fx=0,this.fy=0,this.mass=e.mass,this.degree=e.degree,this.g=e.g||0}distanceTo(e){const t=this.rx-e.rx,n=this.ry-e.ry;return Math.hypot(t,n)}setPos(e,t){this.rx=e,this.ry=t}resetForce(){this.fx=0,this.fy=0}addForce(e){const t=e.rx-this.rx,n=e.ry-this.ry;let i=Math.hypot(t,n);i=i<1e-4?1e-4:i;const a=this.g*(this.degree+1)*(e.degree+1)/i;this.fx+=a*t/i,this.fy+=a*n/i}in(e){return e.contains(this.rx,this.ry)}add(e){const t=this.mass+e.mass,n=(this.rx*this.mass+e.rx*e.mass)/t,i=(this.ry*this.mass+e.ry*e.mass)/t,a=this.degree+e.degree,s={rx:n,ry:i,mass:t,degree:a};return new q0(s)}}class Ul{constructor(e){this.xmid=e.xmid,this.ymid=e.ymid,this.length=e.length,this.massCenter=e.massCenter||[0,0],this.mass=e.mass||1}getLength(){return this.length}contains(e,t){const n=this.length/2;return e<=this.xmid+n&&e>=this.xmid-n&&t<=this.ymid+n&&t>=this.ymid-n}NW(){const e=this.xmid-this.length/4,t=this.ymid+this.length/4,n=this.length/2,i={xmid:e,ymid:t,length:n};return new Ul(i)}NE(){const e=this.xmid+this.length/4,t=this.ymid+this.length/4,n=this.length/2,i={xmid:e,ymid:t,length:n};return new Ul(i)}SW(){const e=this.xmid-this.length/4,t=this.ymid-this.length/4,n=this.length/2,i={xmid:e,ymid:t,length:n};return new Ul(i)}SE(){const e=this.xmid+this.length/4,t=this.ymid-this.length/4,n=this.length/2,i={xmid:e,ymid:t,length:n};return new Ul(i)}}class Zl{constructor(e){this.body=null,this.quad=null,this.NW=null,this.NE=null,this.SW=null,this.SE=null,this.theta=.5,e!=null&&(this.quad=e)}insert(e){if(this.body==null){this.body=e;return}this._isExternal()?(this.quad&&(this.NW=new Zl(this.quad.NW()),this.NE=new Zl(this.quad.NE()),this.SW=new Zl(this.quad.SW()),this.SE=new Zl(this.quad.SE())),this._putBody(this.body),this._putBody(e),this.body=this.body.add(e)):(this.body=this.body.add(e),this._putBody(e))}_putBody(e){this.quad&&(e.in(this.quad.NW())&&this.NW?this.NW.insert(e):e.in(this.quad.NE())&&this.NE?this.NE.insert(e):e.in(this.quad.SW())&&this.SW?this.SW.insert(e):e.in(this.quad.SE())&&this.SE&&this.SE.insert(e))}_isExternal(){return this.NW==null&&this.NE==null&&this.SW==null&&this.SE==null}updateForce(e){if(!(this.body==null||e===this.body))if(this._isExternal())e.addForce(this.body);else{const t=this.quad?this.quad.getLength():0,n=this.body.distanceTo(e);t/n<this.theta?e.addForce(this.body):(this.NW&&this.NW.updateForce(e),this.NE&&this.NE.updateForce(e),this.SW&&this.SW.updateForce(e),this.SE&&this.SE.updateForce(e))}}}const B8={center:[0,0],width:300,height:300,kr:5,kg:1,mode:"normal",preventOverlap:!1,dissuadeHubs:!1,maxIteration:0,ks:.1,ksmax:10,tao:.1};class z8{constructor(e={}){this.options=e,this.id="forceAtlas2",this.options=Object.assign(Object.assign({},B8),e)}execute(e,t){return Wt(this,void 0,void 0,function*(){return this.genericForceAtlas2Layout(!1,e,t)})}assign(e,t){return Wt(this,void 0,void 0,function*(){yield this.genericForceAtlas2Layout(!0,e,t)})}genericForceAtlas2Layout(e,t,n){return Wt(this,void 0,void 0,function*(){const i=t.getAllEdges(),a=t.getAllNodes(),s=this.formatOptions(n,a.length),{width:o,height:l,prune:u,maxIteration:c,nodeSize:h,center:f}=s;if(!(a!=null&&a.length)||a.length===1)return Wo(t,e,f);const d=a.map(m=>Ii(m,[o,l])),v=i.filter(m=>{const{source:b,target:x}=m;return b!==x}),g=new gr({nodes:d,edges:v}),p=this.getSizes(g,h);if(this.run(g,t,c,p,e,s),u){for(let b=0;b<v.length;b+=1){const{source:x,target:O}=v[b],T=g.getDegree(x),S=g.getDegree(x);if(T<=1){const k=g.getNode(O);g.mergeNodeData(x,{x:k.data.x,y:k.data.y})}else if(S<=1){const k=g.getNode(x);g.mergeNodeData(O,{x:k.data.x,y:k.data.y})}}const m=Object.assign(Object.assign({},s),{prune:!1,barnesHut:!1});this.run(g,t,100,p,e,m)}return{nodes:d,edges:i}})}getSizes(e,t){const n=e.getAllNodes(),i={};for(let a=0;a<n.length;a+=1){const s=n[a];i[s.id]=H0(t,void 0)(s)}return i}formatOptions(e={},t){const n=Object.assign(Object.assign({},this.options),e),{center:i,width:a,height:s,barnesHut:o,prune:l,maxIteration:u,kr:c,kg:h}=n;return n.width=!a&&typeof window!="undefined"?window.innerWidth:a,n.height=!s&&typeof window!="undefined"?window.innerHeight:s,n.center=i||[n.width/2,n.height/2],o===void 0&&t>250&&(n.barnesHut=!0),l===void 0&&t>100&&(n.prune=!0),u===0&&!l?(n.maxIteration=250,t<=200&&t>100?n.maxIteration=1e3:t>200&&(n.maxIteration=1200)):u===0&&l&&(n.maxIteration=100,t<=200&&t>100?n.maxIteration=500:t>200&&(n.maxIteration=950)),c||(n.kr=50,t>100&&t<=500?n.kr=20:t>500&&(n.kr=1)),h||(n.kg=20,t>100&&t<=500?n.kg=10:t>500&&(n.kg=1)),n}run(e,t,n,i,a,s){const{kr:o,barnesHut:l,onTick:u}=s,c=e.getAllNodes();let h=0,f=n;const d={},v={},g={};for(let p=0;p<c.length;p+=1){const{data:m,id:b}=c[p];if(d[b]=[0,0],l){const x={id:p,rx:m.x,ry:m.y,mass:1,g:o,degree:e.getDegree(b)};g[b]=new q0(x)}}for(;f>0;)h=this.oneStep(e,{iter:f,preventOverlapIters:50,krPrime:100,sg:h,forces:d,preForces:v,bodies:g,sizes:i},s),f--,u==null||u({nodes:c,edges:t.getAllEdges()});return e}oneStep(e,t,n){const{iter:i,preventOverlapIters:a,krPrime:s,sg:o,preForces:l,bodies:u,sizes:c}=t;let{forces:h}=t;const{preventOverlap:f,barnesHut:d}=n,v=e.getAllNodes();for(let g=0;g<v.length;g+=1){const{id:p}=v[g];l[p]=[...h[p]],h[p]=[0,0]}return h=this.getAttrForces(e,i,a,c,h,n),d&&(f&&i>a||!f)?h=this.getOptRepGraForces(e,h,u,n):h=this.getRepGraForces(e,i,a,h,s,c,n),this.updatePos(e,h,l,o,n)}getAttrForces(e,t,n,i,a,s){const{preventOverlap:o,dissuadeHubs:l,mode:u,prune:c}=s,h=e.getAllEdges();for(let f=0;f<h.length;f+=1){const{source:d,target:v}=h[f],g=e.getNode(d),p=e.getNode(v),m=e.getDegree(d),b=e.getDegree(v);if(c&&(m<=1||b<=1))continue;const x=[p.data.x-g.data.x,p.data.y-g.data.y];let O=Math.hypot(x[0],x[1]);O=O<1e-4?1e-4:O,x[0]=x[0]/O,x[1]=x[1]/O,o&&t<n&&(O=O-i[d]-i[v]);let T=O,S=T;u==="linlog"&&(T=Math.log(1+O),S=T),l&&(T=O/m,S=O/b),o&&t<n&&O<=0?(T=0,S=0):o&&t<n&&O>0&&(T=O,S=O),a[d][0]+=T*x[0],a[v][0]-=S*x[0],a[d][1]+=T*x[1],a[v][1]-=S*x[1]}return a}getOptRepGraForces(e,t,n,i){const{kg:a,center:s,prune:o}=i,l=e.getAllNodes(),u=l.length;let c=9e10,h=-9e10,f=9e10,d=-9e10;for(let b=0;b<u;b+=1){const{id:x,data:O}=l[b];o&&e.getDegree(x)<=1||(n[x].setPos(O.x,O.y),O.x>=h&&(h=O.x),O.x<=c&&(c=O.x),O.y>=d&&(d=O.y),O.y<=f&&(f=O.y))}const v=Math.max(h-c,d-f),g={xmid:(h+c)/2,ymid:(d+f)/2,length:v,massCenter:s,mass:u},p=new Ul(g),m=new Zl(p);for(let b=0;b<u;b+=1){const{id:x}=l[b];o&&e.getDegree(x)<=1||n[x].in(p)&&m.insert(n[x])}for(let b=0;b<u;b+=1){const{id:x,data:O}=l[b],T=e.getDegree(x);if(o&&T<=1)continue;n[x].resetForce(),m.updateForce(n[x]),t[x][0]-=n[x].fx,t[x][1]-=n[x].fy;const S=[O.x-s[0],O.y-s[1]];let k=Math.hypot(S[0],S[1]);k=k<1e-4?1e-4:k,S[0]=S[0]/k,S[1]=S[1]/k;const C=a*(T+1);t[x][0]-=C*S[0],t[x][1]-=C*S[1]}return t}getRepGraForces(e,t,n,i,a,s,o){const{preventOverlap:l,kr:u,kg:c,center:h,prune:f}=o,d=e.getAllNodes(),v=d.length;for(let g=0;g<v;g+=1){const p=d[g],m=e.getDegree(p.id);for(let T=g+1;T<v;T+=1){const S=d[T],k=e.getDegree(S.id);if(f&&(m<=1||k<=1))continue;const C=[S.data.x-p.data.x,S.data.y-p.data.y];let W=Math.hypot(C[0],C[1]);W=W<1e-4?1e-4:W,C[0]=C[0]/W,C[1]=C[1]/W,l&&t<n&&(W=W-s[p.id]-s[S.id]);let U=u*(m+1)*(k+1)/W;l&&t<n&&W<0?U=a*(m+1)*(k+1):l&&t<n&&W===0?U=0:l&&t<n&&W>0&&(U=u*(m+1)*(k+1)/W),i[p.id][0]-=U*C[0],i[S.id][0]+=U*C[0],i[p.id][1]-=U*C[1],i[S.id][1]+=U*C[1]}const b=[p.data.x-h[0],p.data.y-h[1]],x=Math.hypot(b[0],b[1]);b[0]=b[0]/x,b[1]=b[1]/x;const O=c*(m+1);i[p.id][0]-=O*b[0],i[p.id][1]-=O*b[1]}return i}updatePos(e,t,n,i,a){const{ks:s,tao:o,prune:l,ksmax:u}=a,c=e.getAllNodes(),h=c.length,f=[],d=[];let v=0,g=0,p=i;for(let b=0;b<h;b+=1){const{id:x}=c[b],O=e.getDegree(x);if(l&&O<=1)continue;const T=[t[x][0]-n[x][0],t[x][1]-n[x][1]],S=Math.hypot(T[0],T[1]),k=[t[x][0]+n[x][0],t[x][1]+n[x][1]],C=Math.hypot(k[0],k[1]);f[b]=S,d[b]=C/2,v+=(O+1)*f[b],g+=(O+1)*d[b]}const m=p;p=o*g/v,m!==0&&(p=p>1.5*m?1.5*m:p);for(let b=0;b<h;b+=1){const{id:x,data:O}=c[b],T=e.getDegree(x);if(l&&T<=1||ht(O.fx)&&ht(O.fy))continue;let S=s*p/(1+p*Math.sqrt(f[b])),k=Math.hypot(t[x][0],t[x][1]);k=k<1e-4?1e-4:k;const C=u/k;S=S>C?C:S;const W=S*t[x][0],U=S*t[x][1];e.mergeNodeData(x,{x:O.x+W,y:O.y+U})}return p}}const F8={maxIteration:1e3,gravity:10,speed:5,clustering:!1,clusterGravity:10,width:300,height:300,nodeClusterBy:"cluster"},j8=800;class G8{constructor(e={}){this.options=e,this.id="fruchterman",this.timeInterval=0,this.running=!1,this.options=Object.assign(Object.assign({},F8),e)}execute(e,t){return Wt(this,void 0,void 0,function*(){return this.genericFruchtermanLayout(!1,e,t)})}assign(e,t){return Wt(this,void 0,void 0,function*(){yield this.genericFruchtermanLayout(!0,e,t)})}stop(){this.timeInterval&&typeof window!="undefined"&&window.clearInterval(this.timeInterval),this.running=!1}tick(e=this.options.maxIteration||1){if(this.lastResult)return this.lastResult;for(let n=0;n<e;n++)this.runOneStep(this.lastGraph,this.lastClusterMap,this.lastOptions);const t={nodes:this.lastLayoutNodes,edges:this.lastLayoutEdges};return this.lastAssign&&t.nodes.forEach(n=>this.lastGraph.mergeNodeData(n.id,{x:n.data.x,y:n.data.y,z:this.options.dimensions===3?n.data.z:void 0})),t}genericFruchtermanLayout(e,t,n){return Wt(this,void 0,void 0,function*(){if(this.running)return;const i=this.formatOptions(n),{dimensions:a,width:s,height:o,center:l,clustering:u,nodeClusterBy:c,maxIteration:h,onTick:f}=i,d=t.getAllNodes(),v=t.getAllEdges();if(!(d!=null&&d.length)){const x={nodes:[],edges:v};return this.lastResult=x,x}if(d.length===1){e&&t.mergeNodeData(d[0].id,{x:l[0],y:l[1],z:a===3?l[2]:void 0});const x={nodes:[Object.assign(Object.assign({},d[0]),{data:Object.assign(Object.assign({},d[0].data),{x:l[0],y:l[1],z:a===3?l[2]:void 0})})],edges:v};return this.lastResult=x,x}const g=d.map(x=>Ii(x,[s,o])),p=new gr({nodes:g,edges:v}),m={};if(u&&g.forEach(x=>{const O=x.data[c];m[O]||(m[O]={name:O,cx:0,cy:0,count:0})}),this.lastLayoutNodes=g,this.lastLayoutEdges=v,this.lastAssign=e,this.lastGraph=p,this.lastOptions=i,this.lastClusterMap=m,typeof window=="undefined")return;let b=0;return new Promise(x=>{this.timeInterval=window.setInterval(()=>{if(!this.running){x({nodes:g,edges:v});return}this.runOneStep(p,m,i),e&&g.forEach(({id:O,data:T})=>t.mergeNodeData(O,{x:T.x,y:T.y,z:a===3?T.z:void 0})),f==null||f({nodes:g,edges:v}),b++,b>=h&&(window.clearInterval(this.timeInterval),x({nodes:g,edges:v}))},0),this.running=!0})})}formatOptions(e={}){const t=Object.assign(Object.assign({},this.options),e),{clustering:n,nodeClusterBy:i}=t,{center:a,width:s,height:o}=t;return t.width=!s&&typeof window!="undefined"?window.innerWidth:s,t.height=!o&&typeof window!="undefined"?window.innerHeight:o,t.center=a||[t.width/2,t.height/2],t.clustering=n&&!!i,t}runOneStep(e,t,n){const{dimensions:i,height:a,width:s,gravity:o,center:l,speed:u,clustering:c,nodeClusterBy:h,clusterGravity:f}=n,d=a*s,v=Math.sqrt(d)/10,g=e.getAllNodes(),p=d/(g.length+1),m=Math.sqrt(p),b={};if(this.applyCalculate(e,b,m,p),c){for(const O in t)t[O].cx=0,t[O].cy=0,t[O].count=0;g.forEach(O=>{const{data:T}=O,S=t[T[h]];ht(T.x)&&(S.cx+=T.x),ht(T.y)&&(S.cy+=T.y),S.count++});for(const O in t)t[O].cx/=t[O].count,t[O].cy/=t[O].count;const x=f||o;g.forEach((O,T)=>{const{id:S,data:k}=O;if(!ht(k.x)||!ht(k.y))return;const C=t[k[h]],W=Math.sqrt((k.x-C.cx)*(k.x-C.cx)+(k.y-C.cy)*(k.y-C.cy)),U=m*x;b[S].x-=U*(k.x-C.cx)/W,b[S].y-=U*(k.y-C.cy)/W})}g.forEach((x,O)=>{const{id:T,data:S}=x;if(!ht(S.x)||!ht(S.y))return;const k=.01*m*o;b[T].x-=k*(S.x-l[0]),b[T].y-=k*(S.y-l[1]),i===3&&(b[T].z-=k*(S.z-l[2]))}),g.forEach((x,O)=>{const{id:T,data:S}=x;if(ht(S.fx)&&ht(S.fy)){S.x=S.fx,S.y=S.fy,i===3&&(S.z=S.fz);return}if(!ht(S.x)||!ht(S.y))return;const k=Math.sqrt(b[T].x*b[T].x+b[T].y*b[T].y+(i===3?b[T].z*b[T].z:0));if(k>0){const C=Math.min(v*(u/j8),k);e.mergeNodeData(T,{x:S.x+b[T].x/k*C,y:S.y+b[T].y/k*C,z:i===3?S.z+b[T].z/k*C:void 0})}})}applyCalculate(e,t,n,i){this.calRepulsive(e,t,i),this.calAttractive(e,t,n)}calRepulsive(e,t,n){const i=e.getAllNodes();i.forEach(({data:a,id:s},o)=>{t[s]={x:0,y:0,z:0},i.forEach(({data:l,id:u},c)=>{if(o<=c||!ht(a.x)||!ht(l.x)||!ht(a.y)||!ht(l.y))return;let h=a.x-l.x,f=a.y-l.y,d=this.options.dimensions===3?a.z-l.z:0,v=h*h+f*f+d*d;v===0&&(v=1,h=.01,f=.01,d=.01);const g=n/v,p=h*g,m=f*g,b=d*g;t[s].x+=p,t[s].y+=m,t[u].x-=p,t[u].y-=m,this.options.dimensions===3&&(t[s].z+=b,t[u].z-=b)})})}calAttractive(e,t,n){e.getAllEdges().forEach(a=>{const{source:s,target:o}=a;if(!s||!o||s===o)return;const{data:l}=e.getNode(s),{data:u}=e.getNode(o);if(!ht(u.x)||!ht(l.x)||!ht(u.y)||!ht(l.y))return;const c=u.x-l.x,h=u.y-l.y,f=this.options.dimensions===3?u.z-l.z:0,d=Math.sqrt(c*c+h*h+f*f)/n,v=c*d,g=h*d,p=f*d;t[s].x+=v,t[s].y+=g,t[o].x-=v,t[o].y-=g,this.options.dimensions===3&&(t[s].z+=p,t[o].z-=p)})}}const H8={begin:[0,0],preventOverlap:!0,preventOverlapPadding:10,condense:!1,rows:void 0,cols:void 0,position:void 0,sortBy:"degree",nodeSize:30,width:300,height:300};class X8{constructor(e={}){this.options=e,this.id="grid",this.options=Object.assign(Object.assign({},H8),e)}execute(e,t){return Wt(this,void 0,void 0,function*(){return this.genericGridLayout(!1,e,t)})}assign(e,t){return Wt(this,void 0,void 0,function*(){yield this.genericGridLayout(!0,e,t)})}genericGridLayout(e,t,n){return Wt(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{begin:a=[0,0],condense:s,preventOverlapPadding:o,preventOverlap:l,rows:u,cols:c,nodeSpacing:h,nodeSize:f,width:d,height:v,position:g}=i;let{sortBy:p}=i;const m=t.getAllNodes(),b=t.getAllEdges(),x=m==null?void 0:m.length;if(!x||x===1)return Wo(t,e,a);const O=m.map(ve=>Ii(ve));p!=="id"&&(!Xt(p)||O[0].data[p]===void 0)&&(p="degree"),p==="degree"?O.sort((ve,Z)=>t.getDegree(Z.id,"both")-t.getDegree(ve.id,"both")):p==="id"?O.sort((ve,Z)=>ht(Z.id)&&ht(ve.id)?Z.id-ve.id:`${ve.id}`.localeCompare(`${Z.id}`)):O.sort((ve,Z)=>Z.data[p]-ve.data[p]);const T=!d&&typeof window!="undefined"?window.innerWidth:d,S=!v&&typeof window!="undefined"?window.innerHeight:v,k=x,C={rows:u,cols:c};if(u!=null&&c!=null)C.rows=u,C.cols=c;else if(u!=null&&c==null)C.rows=u,C.cols=Math.ceil(k/C.rows);else if(u==null&&c!=null)C.cols=c,C.rows=Math.ceil(k/C.cols);else{const ve=Math.sqrt(k*S/T);C.rows=Math.round(ve),C.cols=Math.round(T/S*ve)}if(C.rows=Math.max(C.rows,1),C.cols=Math.max(C.cols,1),C.cols*C.rows>k){const ve=Ad(C),Z=Od(C);(ve-1)*Z>=k?Ad(C,ve-1):(Z-1)*ve>=k&&Od(C,Z-1)}else for(;C.cols*C.rows<k;){const ve=Ad(C),Z=Od(C);(Z+1)*ve>=k?Od(C,Z+1):Ad(C,ve+1)}let W=s?0:T/C.cols,U=s?0:S/C.rows;if(l||h){const ve=Xo(10,h),Z=G0(30,f,!1);O.forEach(H=>{(!H.data.x||!H.data.y)&&(H.data.x=0,H.data.y=0);const X=t.getNode(H.id),[q,oe]=xc(Z(X)||30),de=ve!==void 0?ve(H):o,Oe=q+de,Be=oe+de;W=Math.max(W,Oe),U=Math.max(U,Be)})}const J={},te={row:0,col:0},ie={};for(let ve=0;ve<O.length;ve++){const Z=O[ve];let H;if(g&&(H=g(t.getNode(Z.id))),H&&(H.row!==void 0||H.col!==void 0)){const X={row:H.row,col:H.col};if(X.col===void 0)for(X.col=0;$0(J,X);)X.col++;else if(X.row===void 0)for(X.row=0;$0(J,X);)X.row++;ie[Z.id]=X,fP(J,X)}W8(Z,a,W,U,ie,C,te,J)}const ae={nodes:O,edges:b};return e&&O.forEach(ve=>{t.mergeNodeData(ve.id,{x:ve.data.x,y:ve.data.y})}),ae})}}const Ad=(r,e)=>{let t;const n=r.rows||5,i=r.cols||5;return e==null?t=Math.min(n,i):Math.min(n,i)===r.rows?r.rows=e:r.cols=e,t},Od=(r,e)=>{let t;const n=r.rows||5,i=r.cols||5;return e==null?t=Math.max(n,i):Math.max(n,i)===r.rows?r.rows=e:r.cols=e,t},$0=(r,e)=>r[`c-${e.row}-${e.col}`]||!1,fP=(r,e)=>r[`c-${e.row}-${e.col}`]=!0,dP=(r,e)=>{const t=r.cols||5;e.col++,e.col>=t&&(e.col=0,e.row++)},W8=(r,e,t,n,i,a,s,o)=>{let l,u;const c=i[r.id];if(c)l=c.col*t+t/2+e[0],u=c.row*n+n/2+e[1];else{for(;$0(o,s);)dP(a,s);l=s.col*t+t/2+e[0],u=s.row*n+n/2+e[1],fP(o,s),dP(a,s)}r.data.x=l,r.data.y=u},V8=(r,e,t)=>{try{const n=ro.mul(ro.pow(e,2),-.5),i=n.mean("row"),a=n.mean("column"),s=n.mean();n.add(s).subRowVector(i).subColumnVector(a);const o=new K2(n),l=ro.sqrt(o.diagonalMatrix).diagonal();return o.leftSingularVectors.toJSON().map(u=>ro.mul([u],[l]).toJSON()[0].splice(0,r))}catch(n){const i=[];for(let a=0;a<e.length;a++){const s=Math.random()*t,o=Math.random()*t;i.push([s,o])}return i}},Y8=800,U8={iterations:10,height:10,width:10,speed:100,gravity:10,k:5},Z8=(r,e)=>{const t=Object.assign(Object.assign({},U8),e),{positions:n,iterations:i,width:a,k:s,speed:o=100,strictRadial:l,focusIdx:u,radii:c=[],nodeSizeFunc:h}=t,f=r.getAllNodes(),d=[],v=a/10;for(let g=0;g<i;g++)n.forEach((p,m)=>{d[m]={x:0,y:0}}),K8(f,n,d,s,c,h),Q8(n,d,o,l,u,v,a,c);return n},K8=(r,e,t,n,i,a)=>{e.forEach((s,o)=>{t[o]={x:0,y:0},e.forEach((l,u)=>{if(o===u||i[o]!==i[u])return;let c=s.x-l.x,h=s.y-l.y,f=Math.sqrt(c*c+h*h);if(f===0){f=1;const d=o>u?1:-1;c=.01*d,h=.01*d}if(f<a(r[o])/2+a(r[u])/2){const d=n*n/f;t[o].x+=c/f*d,t[o].y+=h/f*d}})})},Q8=(r,e,t,n,i,a,s,o)=>{const l=a||s/10;return n&&e.forEach((u,c)=>{const h=r[c].x-r[i].x,f=r[c].y-r[i].y,d=Math.sqrt(h*h+f*f);let v=f/d,g=-h/d;const p=Math.sqrt(u.x*u.x+u.y*u.y);let m=Math.acos((v*u.x+g*u.y)/p);m>Math.PI/2&&(m-=Math.PI/2,v*=-1,g*=-1);const b=Math.cos(m)*p;u.x=v*b,u.y=g*b}),r.forEach((u,c)=>{if(c===i)return;const h=Math.sqrt(e[c].x*e[c].x+e[c].y*e[c].y);if(h>0&&c!==i){const f=Math.min(l*(t/Y8),h);if(u.x+=e[c].x/h*f,u.y+=e[c].y/h*f,n){let d=u.x-r[i].x,v=u.y-r[i].y;const g=Math.sqrt(d*d+v*v);d=d/g*o[c],v=v/g*o[c],u.x=r[i].x+d,u.y=r[i].y+v}}}),r},J8={maxIteration:1e3,focusNode:null,unitRadius:null,linkDistance:50,preventOverlap:!1,strictRadial:!0,maxPreventOverlapIteration:200,sortStrength:10};class q8{constructor(e={}){this.options=e,this.id="radial",this.options=Object.assign(Object.assign({},J8),e)}execute(e,t){return Wt(this,void 0,void 0,function*(){return this.genericRadialLayout(!1,e,t)})}assign(e,t){return Wt(this,void 0,void 0,function*(){yield this.genericRadialLayout(!0,e,t)})}genericRadialLayout(e,t,n){return Wt(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{width:a,height:s,center:o,focusNode:l,unitRadius:u,nodeSize:c,nodeSpacing:h,strictRadial:f,preventOverlap:d,maxPreventOverlapIteration:v,sortBy:g,linkDistance:p=50,sortStrength:m=10,maxIteration:b=1e3}=i,x=t.getAllNodes(),O=t.getAllEdges(),T=!a&&typeof window!="undefined"?window.innerWidth:a,S=!s&&typeof window!="undefined"?window.innerHeight:s,k=o||[T/2,S/2];if(!(x!=null&&x.length)||x.length===1)return Wo(t,e,k);let C=x[0];if(Xt(l)){for(let lt=0;lt<x.length;lt++)if(x[lt].id===l){C=x[lt];break}}else C=l||x[0];const W=t9(x,C.id),U=J2({nodes:x,edges:O},!1),J=Q2(U),te=r9(J,W);n9(J,W,te+1);const ie=J[W];let ae=T-k[0]>k[0]?k[0]:T-k[0],ve=S-k[1]>k[1]?k[1]:S-k[1];ae===0&&(ae=T/2),ve===0&&(ve=S/2);const Z=Math.min(ae,ve),H=Math.max(...ie),X=[],q=u||Z/H;ie.forEach((lt,Ct)=>{X[Ct]=lt*q});const oe=$8(x,J,p,X,q,g,m),de=e9(oe),Oe=V8(p,oe,p);let Be=Oe.map(([lt,Ct])=>({x:(isNaN(lt)?Math.random()*p:lt)-Oe[W][0],y:(isNaN(Ct)?Math.random()*p:Ct)-Oe[W][1]}));this.run(b,Be,de,oe,X,W);let Ge;if(d){Ge=H0(c,h);const lt={nodes:x,nodeSizeFunc:Ge,positions:Be,radii:X,height:S,width:T,strictRadial:!!f,focusIdx:W,iterations:v||200,k:Be.length/4.5};Be=Z8(t,lt)}const Ve=[];return Be.forEach((lt,Ct)=>{const Vt=Ii(x[Ct]);Vt.data.x=lt.x+k[0],Vt.data.y=lt.y+k[1],Ve.push(Vt)}),e&&Ve.forEach(lt=>t.mergeNodeData(lt.id,{x:lt.data.x,y:lt.data.y})),{nodes:Ve,edges:O}})}run(e,t,n,i,a,s){for(let o=0;o<=e;o++){const l=o/e;this.oneIteration(l,t,a,i,n,s)}}oneIteration(e,t,n,i,a,s){const o=1-e;t.forEach((l,u)=>{const c=q2(l,{x:0,y:0}),h=c===0?0:1/c;if(u===s)return;let f=0,d=0,v=0;t.forEach((p,m)=>{if(u===m)return;const b=q2(l,p),x=b===0?0:1/b,O=i[m][u];v+=a[u][m],f+=a[u][m]*(p.x+O*(l.x-p.x)*x),d+=a[u][m]*(p.y+O*(l.y-p.y)*x)});const g=n[u]===0?0:1/n[u];v*=o,v+=e*g*g,f*=o,f+=e*g*l.x*h,l.x=f/v,d*=o,d+=e*g*l.y*h,l.y=d/v})}}const $8=(r,e,t,n,i,a,s)=>{if(!r)return[];const o=[];if(e){const l={};e.forEach((u,c)=>{const h=[];u.forEach((f,d)=>{var v,g;if(c===d)h.push(0);else if(n[c]===n[d])if(a==="data")h.push(f*(Math.abs(c-d)*s)/(n[c]/i));else if(a){let p,m;if(l[r[c].id])p=l[r[c].id];else{const b=(a==="id"?r[c].id:(v=r[c].data)===null||v===void 0?void 0:v[a])||0;Xt(b)?p=b.charCodeAt(0):p=b,l[r[c].id]=p}if(l[r[d].id])m=l[r[d].id];else{const b=(a==="id"?r[d].id:(g=r[d].data)===null||g===void 0?void 0:g[a])||0;Xt(b)?m=b.charCodeAt(0):m=b,l[r[d].id]=m}h.push(f*(Math.abs(p-m)*s)/(n[c]/i))}else h.push(f*t/(n[c]/i));else{const p=(t+i)/2;h.push(f*p)}}),o.push(h)})}return o},e9=r=>{const e=r.length,t=r[0].length,n=[];for(let i=0;i<e;i++){const a=[];for(let s=0;s<t;s++)r[i][s]!==0?a.push(1/(r[i][s]*r[i][s])):a.push(0);n.push(a)}return n},t9=(r,e)=>{let t=-1;return r.forEach((n,i)=>{n.id===e&&(t=i)}),Math.max(t,0)},n9=(r,e,t)=>{const n=r.length;for(let i=0;i<n;i++)if(r[e][i]===1/0){r[e][i]=t,r[i][e]=t;for(let a=0;a<n;a++)r[i][a]!==1/0&&r[e][a]===1/0&&(r[e][a]=t+r[i][a],r[a][e]=t+r[i][a])}for(let i=0;i<n;i++)if(i!==e){for(let a=0;a<n;a++)if(r[i][a]===1/0){let s=Math.abs(r[e][i]-r[e][a]);s=s===0?1:s,r[i][a]=s}}},r9=(r,e)=>{let t=0;for(let n=0;n<r[e].length;n++)r[e][n]!==1/0&&(t=r[e][n]>t?r[e][n]:t);return t},i9={center:[0,0],width:300,height:300};class a9{constructor(e={}){this.options=e,this.id="random",this.options=Object.assign(Object.assign({},i9),e)}execute(e,t){return Wt(this,void 0,void 0,function*(){return this.genericRandomLayout(!1,e,t)})}assign(e,t){return Wt(this,void 0,void 0,function*(){yield this.genericRandomLayout(!0,e,t)})}genericRandomLayout(e,t,n){return Wt(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{center:a,width:s,height:o}=i,l=t.getAllNodes(),u=.9,c=!s&&typeof window!="undefined"?window.innerWidth:s,h=!o&&typeof window!="undefined"?window.innerHeight:o,f=a||[c/2,h/2],d=[];return l&&l.forEach(g=>{d.push({id:g.id,data:{x:(Math.random()-.5)*u*c+f[0],y:(Math.random()-.5)*u*h+f[1]}})}),e&&d.forEach(g=>t.mergeNodeData(g.id,{x:g.data.x,y:g.data.y})),{nodes:d,edges:t.getAllEdges()}})}}function s9(r){var e,t,n,i=r||1;function a(o,l){++e>i&&(n=t,s(1),++e),t[o]=l}function s(o){e=0,t=Object.create(null),o||(n=Object.create(null))}return s(),{clear:s,has:function(o){return t[o]!==void 0||n[o]!==void 0},get:function(o){var l=t[o];if(l!==void 0)return l;if((l=n[o])!==void 0)return a(o,l),l},set:function(o,l){t[o]!==void 0?t[o]=l:a(o,l)}}}var em=new Map;function tm(r,e,t){t===void 0&&(t=128);var n=function(){for(var i=[],a=0;a<arguments.length;a++)i[a]=arguments[a];var s=e?e.apply(this,i):i[0];em.has(r)||em.set(r,s9(t));var o=em.get(r);if(o.has(s))return o.get(s);var l=r.apply(this,i);return o.set(s,l),l};return n}var o9=function(r,e,t){if(!pi(r)&&!Il(r))return r;var n=t;return kw(r,function(i,a){n=e(n,i,a)}),n},l9=o9,nm=function(r,e){return l9(r,function(t,n,i){return e.includes(i)||(t[i]=n),t},{})};class Fr extends Up{}function Kl(r,e=!0,t){const n=document.createElement("div");return n.setAttribute("class",`g6-${r}`),Object.assign(n.style,{position:"absolute",display:"block"}),e&&Object.assign(n.style,{position:"unset",gridArea:"1 / 1 / 2 / 2",inset:"0px",height:"100%",width:"100%",overflow:"hidden",pointerEvents:"none"}),t&&Object.assign(n.style,t),n}function rm(r,e="div",t={},n="",i=document.body){const a=document.getElementById(r);a&&a.remove();const s=document.createElement(e);return s.innerHTML=n,s.id=r,Object.assign(s.style,t),i.appendChild(s),s}var u9=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};class kd extends Fr{constructor(e,t){super(e,Object.assign({},kd.defaultOptions,t)),this.$element=Kl("background"),this.context.canvas.getContainer().prepend(this.$element),this.update(t)}update(e){const t=Object.create(null,{update:{get:()=>super.update}});return u9(this,void 0,void 0,function*(){t.update.call(this,e),Object.assign(this.$element.style,nm(this.options,["key","type"]))})}destroy(){super.destroy(),this.$element.remove()}}kd.defaultOptions={transition:"background 0.5s",backgroundSize:"cover"};function im(r,e,t,n,i,a){const s=r,o=e,l=t-s,u=n-o;let c=i-s,h=a-o,f=c*l+h*u,d=0;f<=0?d=0:(c=l-c,h=u-h,f=c*l+h*u,f<=0?d=0:d=f*f/(l*l+u*u));const v=c*c+h*h-d;return v<0?0:v}function ao(r,e,t,n){return(r-t)*(r-t)+(e-n)*(e-n)}function vP(r,e,t,n,i){return ao(r,e,t,n)<i*i}function c9(r){if(!Number.isFinite(r))return t=>t;if(r===0)return Math.round;const e=Math.pow(10,r);return t=>Math.round(t*e)/e}function gP(r){const e=Math.min(r.x1,r.x2),t=Math.max(r.x1,r.x2),n=Math.min(r.y1,r.y2),i=Math.max(r.y1,r.y2);return{x:e,y:n,x2:t,y2:i,width:t-e,height:i-n}}class Ar{constructor(e,t,n,i){this.x1=e,this.y1=t,this.x2=n,this.y2=i}equals(e){return this.x1===e.x1&&this.y1===e.y1&&this.x2===e.x2&&this.y2===e.y2}draw(e){e.moveTo(this.x1,this.y1),e.lineTo(this.x2,this.y2)}toString(){return`Line(from=(${this.x1},${this.y1}),to=(${this.x2},${this.y2}))`}static from(e){return new Ar(e.x1,e.y1,e.x2,e.y2)}cuts(e,t){if(this.y1===this.y2||t<this.y1&&t<=this.y2||t>this.y1&&t>=this.y2||e>this.x1&&e>=this.x2)return!1;if(e<this.x1&&e<=this.x2)return!0;const n=this.x1+(t-this.y1)*(this.x2-this.x1)/(this.y2-this.y1);return e<=n}distSquare(e,t){return im(this.x1,this.y1,this.x2,this.y2,e,t)}ptClose(e,t,n){if(this.x1<this.x2){if(e<this.x1-n||e>this.x2+n)return!1}else if(e<this.x2-n||e>this.x1+n)return!1;if(this.y1<this.y2){if(t<this.y1-n||t>this.y2+n)return!1}else if(t<this.y2-n||t>this.y1+n)return!1;return!0}}var rr;(function(r){r[r.POINT=1]="POINT",r[r.PARALLEL=2]="PARALLEL",r[r.COINCIDENT=3]="COINCIDENT",r[r.NONE=4]="NONE"})(rr||(rr={}));class am{constructor(e,t=0,n=0){this.state=e,this.x=t,this.y=n}}function Cd(r,e){const t=(e.x2-e.x1)*(r.y1-e.y1)-(e.y2-e.y1)*(r.x1-e.x1),n=(r.x2-r.x1)*(r.y1-e.y1)-(r.y2-r.y1)*(r.x1-e.x1),i=(e.y2-e.y1)*(r.x2-r.x1)-(e.x2-e.x1)*(r.y2-r.y1);if(i){const a=t/i,s=n/i;return 0<=a&&a<=1&&0<=s&&s<=1?new am(rr.POINT,r.x1+a*(r.x2-r.x1),r.y1+a*(r.y2-r.y1)):new am(rr.NONE)}return new am(t===0||n===0?rr.COINCIDENT:rr.PARALLEL)}function pP(r,e){const t=(e.x2-e.x1)*(r.y1-e.y1)-(e.y2-e.y1)*(r.x1-e.x1),n=(r.x2-r.x1)*(r.y1-e.y1)-(r.y2-r.y1)*(r.x1-e.x1),i=(e.y2-e.y1)*(r.x2-r.x1)-(e.x2-e.x1)*(r.y2-r.y1);if(i){const a=t/i,s=n/i;if(0<=a&&a<=1&&0<=s&&s<=1)return a}return Number.POSITIVE_INFINITY}function h9(r,e){function t(i,a,s,o){let l=pP(e,new Ar(i,a,s,o));return l=Math.abs(l-.5),l>=0&&l<=1?1:0}let n=t(r.x,r.y,r.x2,r.y);return n+=t(r.x,r.y,r.x,r.y2),n>1||(n+=t(r.x,r.y2,r.x2,r.y2),n>1)?!0:(n+=t(r.x2,r.y,r.x2,r.y2),n>0)}var ir;(function(r){r[r.LEFT=0]="LEFT",r[r.TOP=1]="TOP",r[r.RIGHT=2]="RIGHT",r[r.BOTTOM=3]="BOTTOM"})(ir||(ir={}));function Nd(r,e,t){const n=new Set;return r.width<=0?(n.add(ir.LEFT),n.add(ir.RIGHT)):e<r.x?n.add(ir.LEFT):e>r.x+r.width&&n.add(ir.RIGHT),r.height<=0?(n.add(ir.TOP),n.add(ir.BOTTOM)):t<r.y?n.add(ir.TOP):t>r.y+r.height&&n.add(ir.BOTTOM),n}function mP(r,e){let t=e.x1,n=e.y1;const i=e.x2,a=e.y2,s=Array.from(Nd(r,i,a));if(s.length===0)return!0;let o=Nd(r,t,n);for(;o.size!==0;){for(const l of s)if(o.has(l))return!1;if(o.has(ir.RIGHT)||o.has(ir.LEFT)){let l=r.x;o.has(ir.RIGHT)&&(l+=r.width),n=n+(l-t)*(a-n)/(i-t),t=l}else{let l=r.y;o.has(ir.BOTTOM)&&(l+=r.height),t=t+(l-n)*(i-t)/(a-n),n=l}o=Nd(r,t,n)}return!0}function f9(r,e){let t=Number.POSITIVE_INFINITY,n=0;function i(a,s,o,l){let u=pP(e,new Ar(a,s,o,l));u=Math.abs(u-.5),u>=0&&u<=1&&(n++,u<t&&(t=u))}return i(r.x,r.y,r.x2,r.y),i(r.x,r.y,r.x,r.y2),n>1||(i(r.x,r.y2,r.x2,r.y2),n>1)?t:(i(r.x2,r.y,r.x2,r.y2),n===0?-1:t)}function d9(r,e){let t=0;const n=Cd(r,new Ar(e.x,e.y,e.x2,e.y));t+=n.state===rr.POINT?1:0;const i=Cd(r,new Ar(e.x,e.y,e.x,e.y2));t+=i.state===rr.POINT?1:0;const a=Cd(r,new Ar(e.x,e.y2,e.x2,e.y2));t+=a.state===rr.POINT?1:0;const s=Cd(r,new Ar(e.x2,e.y,e.x2,e.y2));return t+=s.state===rr.POINT?1:0,{top:n,left:i,bottom:a,right:s,count:t}}class Ur{constructor(e,t,n,i){this.x=e,this.y=t,this.width=n,this.height=i}get x2(){return this.x+this.width}get y2(){return this.y+this.height}get cx(){return this.x+this.width/2}get cy(){return this.y+this.height/2}get radius(){return Math.max(this.width,this.height)/2}static from(e){return new Ur(e.x,e.y,e.width,e.height)}equals(e){return this.x===e.x&&this.y===e.y&&this.width===e.width&&this.height===e.height}clone(){return new Ur(this.x,this.y,this.width,this.height)}add(e){const t=Math.min(this.x,e.x),n=Math.min(this.y,e.y),i=Math.max(this.x2,e.x+e.width),a=Math.max(this.y2,e.y+e.height);this.x=t,this.y=n,this.width=i-t,this.height=a-n}addPoint(e){const t=Math.min(this.x,e.x),n=Math.min(this.y,e.y),i=Math.max(this.x2,e.x),a=Math.max(this.y2,e.y);this.x=t,this.y=n,this.width=i-t,this.height=a-n}toString(){return`Rectangle[x=${this.x}, y=${this.y}, w=${this.width}, h=${this.height}]`}draw(e){e.rect(this.x,this.y,this.width,this.height)}containsPt(e,t){return e>=this.x&&e<=this.x2&&t>=this.y&&t<=this.y2}get area(){return this.width*this.height}intersects(e){return this.area<=0||e.width<=0||e.height<=0?!1:e.x+e.width>this.x&&e.y+e.height>this.y&&e.x<this.x2&&e.y<this.y2}distSquare(e,t){if(this.containsPt(e,t))return 0;const n=Nd(this,e,t);return n.has(ir.TOP)?n.has(ir.LEFT)?ao(e,t,this.x,this.y):n.has(ir.RIGHT)?ao(e,t,this.x2,this.y):(this.y-t)*(this.y-t):n.has(ir.BOTTOM)?n.has(ir.LEFT)?ao(e,t,this.x,this.y2):n.has(ir.RIGHT)?ao(e,t,this.x2,this.y2):(t-this.y2)*(t-this.y2):n.has(ir.LEFT)?(this.x-e)*(this.x-e):n.has(ir.RIGHT)?(e-this.x2)*(e-this.x2):0}}function v9(r){if(r.length===0)return null;const e=r[0],t=new Ur(e.x,e.y,0,0);for(const n of r)t.addPoint(n);return t}class _d{constructor(e,t,n){this.cx=e,this.cy=t,this.radius=n}get x(){return this.cx-this.radius}get x2(){return this.cx+this.radius}get width(){return this.radius*2}get y(){return this.cy-this.radius}get y2(){return this.cy+this.radius}get height(){return this.radius*2}static from(e){return new _d(e.cx,e.cy,e.radius)}containsPt(e,t){return ao(this.cx,this.cy,e,t)<this.radius*this.radius}distSquare(e,t){const n=ao(this.cx,this.cy,e,t);if(n<this.radius*this.radius)return 0;const i=Math.sqrt(n)-this.radius;return i*i}draw(e){e.ellipse(this.cx,this.cy,this.radius,this.radius,0,0,Math.PI*2)}}class Yo{constructor(e,t=0,n=0,i=0,a=0,s=10,o=10,l=new Float32Array(Math.max(0,s*o)).fill(0)){this.pixelGroup=e,this.i=t,this.j=n,this.pixelX=i,this.pixelY=a,this.width=s,this.height=o,this.area=l}createSub(e,t){return new Yo(this.pixelGroup,e.x,e.y,t.x,t.y,e.width,e.height)}static fromPixelRegion(e,t){return new Yo(t,0,0,e.x,e.y,Math.ceil(e.width/t),Math.ceil(e.height/t))}copy(e,t){return new Yo(this.pixelGroup,this.scaleX(t.x),this.scaleY(t.y),t.x,t.y,e.width,e.height,e.area)}boundX(e){return e<this.i?this.i:e>=this.width?this.width-1:e}boundY(e){return e<this.j?this.j:e>=this.height?this.height-1:e}scaleX(e){return this.boundX(Math.floor((e-this.pixelX)/this.pixelGroup))}scaleY(e){return this.boundY(Math.floor((e-this.pixelY)/this.pixelGroup))}scale(e){const t=this.scaleX(e.x),n=this.scaleY(e.y),i=this.boundX(Math.ceil((e.x+e.width-this.pixelX)/this.pixelGroup)),a=this.boundY(Math.ceil((e.y+e.height-this.pixelY)/this.pixelGroup)),s=i-t,o=a-n;return new Ur(t,n,s,o)}invertScaleX(e){return Math.round(e*this.pixelGroup+this.pixelX)}invertScaleY(e){return Math.round(e*this.pixelGroup+this.pixelY)}addPadding(e,t){const n=Math.ceil(t/this.pixelGroup),i=this.boundX(e.x-n),a=this.boundY(e.y-n),s=this.boundX(e.x2+n),o=this.boundY(e.y2+n),l=s-i,u=o-a;return new Ur(i,a,l,u)}get(e,t){return e<0||t<0||e>=this.width||t>=this.height?Number.NaN:this.area[e+t*this.width]}inc(e,t,n){e<0||t<0||e>=this.width||t>=this.height||(this.area[e+t*this.width]+=n)}set(e,t,n){e<0||t<0||e>=this.width||t>=this.height||(this.area[e+t*this.width]=n)}incArea(e,t){if(e.width<=0||e.height<=0||t===0)return;const n=this.width,i=e.width,a=Math.max(0,e.i),s=Math.max(0,e.j),o=Math.min(e.i+e.width,n),l=Math.min(e.j+e.height,this.height);if(!(l<=0||o<=0||a>=n||l>=this.height))for(let u=s;u<l;u++){const c=(u-e.j)*i,h=u*n;for(let f=a;f<o;f++){const d=e.area[f-e.i+c];d!==0&&(this.area[f+h]+=t*d)}}}fill(e){this.area.fill(e)}fillArea(e,t){const n=e.x+e.y*this.width;for(let i=0;i<e.height;i++){const a=n+i*this.width;this.area.fill(t,a,a+e.width)}}fillHorizontalLine(e,t,n,i){const a=e+t*this.width;this.area.fill(i,a,a+n)}fillVerticalLine(e,t,n,i){const a=e+t*this.width;for(let s=0;s<n;s++)this.area[a+s*this.width]=i}clear(){this.area.fill(0)}toString(){let e="";for(let t=0;t<this.height;t++){const n=t*this.width;for(let i=0;i<this.width;i++){const a=this.area[n+i];e+=a.toFixed(1).padStart(6),e+=" "}e+=`
|
|
|
`}return e}draw(e,t=!0){if(this.width<=0||this.height<=0)return;e.save(),t&&e.translate(this.pixelX,this.pixelY);const n=this.area.reduce((s,o)=>Math.min(s,o),Number.POSITIVE_INFINITY),i=this.area.reduce((s,o)=>Math.max(s,o),Number.NEGATIVE_INFINITY),a=s=>(s-n)/(i-n);e.scale(this.pixelGroup,this.pixelGroup);for(let s=0;s<this.width;s++)for(let o=0;o<this.height;o++){const l=this.area[s+o*this.width];e.fillStyle=`rgba(0, 0, 0, ${a(l)})`,e.fillRect(s,o,1,1)}e.restore()}drawThreshold(e,t,n=!0){if(!(this.width<=0||this.height<=0)){e.save(),n&&e.translate(this.pixelX,this.pixelY),e.scale(this.pixelGroup,this.pixelGroup);for(let i=0;i<this.width;i++)for(let a=0;a<this.height;a++){const s=this.area[i+a*this.width];e.fillStyle=s>t?"black":"white",e.fillRect(i,a,1,1)}e.restore()}}}function yP(r,e){const t=n=>({x:n.x-e,y:n.y-e,width:n.width+2*e,height:n.height+2*e});return Array.isArray(r)?r.map(t):t(r)}function bP(r,e,t){return xP(Object.assign(gP(r),{distSquare:(n,i)=>im(r.x1,r.y1,r.x2,r.y2,n,i)}),e,t)}function xP(r,e,t){const n=yP(r,t),i=e.scale(n),a=e.createSub(i,n);return g9(a,e,t,(s,o)=>r.distSquare(s,o)),a}function g9(r,e,t,n){const i=t*t;for(let a=0;a<r.height;a++)for(let s=0;s<r.width;s++){const o=e.invertScaleX(r.i+s),l=e.invertScaleY(r.j+a),u=n(o,l);if(u===0){r.set(s,a,i);continue}if(u<i){const c=t-Math.sqrt(u);r.set(s,a,c*c)}}return r}function p9(r,e,t){const n=e.scale(r),i=e.addPadding(n,t),a=e.createSub(i,{x:r.x-t,y:r.y-t}),s=n.x-i.x,o=n.y-i.y,l=i.x2-n.x2,u=i.y2-n.y2,c=i.width-s-l,h=i.height-o-u,f=t*t;a.fillArea({x:s,y:o,width:c+1,height:h+1},f);const d=[0],v=Math.max(o,s,l,u);{const b=e.invertScaleX(n.x+n.width/2);for(let x=1;x<v;x++){const O=e.invertScaleY(n.y-x),T=r.distSquare(b,O);if(T<f){const S=t-Math.sqrt(T);d.push(S*S)}else break}}const g=[],p=Math.max(s,l),m=Math.max(o,l);for(let b=1;b<p;b++){const x=e.invertScaleX(n.x-b),O=[];for(let T=1;T<m;T++){const S=e.invertScaleY(n.y-T),k=r.distSquare(x,S);if(k<f){const C=t-Math.sqrt(k);O.push(C*C)}else O.push(0)}g.push(O)}for(let b=1;b<Math.min(o,d.length);b++){const x=d[b];a.fillHorizontalLine(s,o-b,c+1,x)}for(let b=1;b<Math.min(u,d.length);b++){const x=d[b];a.fillHorizontalLine(s,o+h+b,c+1,x)}for(let b=1;b<Math.min(s,d.length);b++){const x=d[b];a.fillVerticalLine(s-b,o,h+1,x)}for(let b=1;b<Math.min(u,d.length);b++){const x=d[b];a.fillVerticalLine(s+c+b,o,h+1,x)}for(let b=1;b<s;b++){const x=g[b-1],O=s-b;for(let T=1;T<o;T++)a.set(O,o-T,x[T-1]);for(let T=1;T<u;T++)a.set(O,o+h+T,x[T-1])}for(let b=1;b<l;b++){const x=g[b-1],O=s+c+b;for(let T=1;T<o;T++)a.set(O,o-T,x[T-1]);for(let T=1;T<u;T++)a.set(O,o+h+T,x[T-1])}return a}function cJ(r,e,t,n){return{x:r,y:e,width:t,height:n}}function hJ(r,e,t){return{cx:r,cy:e,radius:t}}function fJ(r,e,t,n){return{x1:r,y1:e,x2:t,y2:n}}function Vn(r,e){return{x:r,y:e}}function m9(r,e,t,n){if(r.length===0)return[];const i=w9(r);return i.map((a,s)=>{const o=i.slice(0,s);return y9(e,a,o,t,n)}).flat()}function y9(r,e,t,n,i){const a=Vn(e.cx,e.cy),s=E9(a,t,r);if(s==null)return[];const o=new Ar(a.x,a.y,s.cx,s.cy),l=b9(o,r,n,i);return x9(l,r)}function b9(r,e,t,n){const i=[],a=[];a.push(r);let s=!0;for(let o=0;o<t&&s;o++)for(s=!1;!s&&a.length>0;){const l=a.pop(),u=EP(e,l),c=u?d9(l,u):null;if(!u||!c||c.count!==2){s||i.push(l);continue}let h=n,f=Ld(u,h,c,!0),d=so(f,a)||so(f,i),v=Rd(f,e);for(;!d&&v&&h>=1;)h/=1.5,f=Ld(u,h,c,!0),d=so(f,a)||so(f,i),v=Rd(f,e);if(f&&!d&&!v&&(a.push(new Ar(l.x1,l.y1,f.x,f.y)),a.push(new Ar(f.x,f.y,l.x2,l.y2)),s=!0),s)continue;h=n,f=Ld(u,h,c,!1);let g=so(f,a)||so(f,i);for(v=Rd(f,e);!g&&v&&h>=1;)h/=1.5,f=Ld(u,h,c,!1),g=so(f,a)||so(f,i),v=Rd(f,e);f&&!g&&(a.push(new Ar(l.x1,l.y1,f.x,f.y)),a.push(new Ar(f.x,f.y,l.x2,l.y2)),s=!0),s||i.push(l)}for(;a.length>0;)i.push(a.pop());return i}function x9(r,e){const t=[];for(;r.length>0;){const n=r.pop();if(r.length===0){t.push(n);break}const i=r.pop(),a=new Ar(n.x1,n.y1,i.x2,i.y2);EP(e,a)?(t.push(n),r.push(i)):r.push(a)}return t}function E9(r,e,t){let n=Number.POSITIVE_INFINITY;return e.reduce((i,a)=>{const s=ao(r.x,r.y,a.cx,a.cy);if(s>n)return i;const o=new Ar(r.x,r.y,a.cx,a.cy),l=P9(t,o);return s*(l+1)*(l+1)<n&&(i=a,n=s*(l+1)*(l+1)),i},null)}function w9(r){if(r.length<2)return r;let e=0,t=0;return r.forEach(n=>{e+=n.cx,t+=n.cy}),e/=r.length,t/=r.length,r.map(n=>{const i=e-n.cx,a=t-n.cy,s=i*i+a*a;return[n,s]}).sort((n,i)=>n[1]-i[1]).map(n=>n[0])}function Rd(r,e){return e.some(t=>t.containsPt(r.x,r.y))}function so(r,e){return e.some(t=>!!(vP(t.x1,t.y1,r.x,r.y,.001)||vP(t.x2,t.y2,r.x,r.y,.001)))}function EP(r,e){let t=Number.POSITIVE_INFINITY,n=null;for(const i of r){if(!mP(i,e))continue;const a=f9(i,e);a>=0&&a<t&&(n=i,t=a)}return n}function P9(r,e){return r.reduce((t,n)=>mP(n,e)&&h9(n,e)?t+1:t,0)}function Ld(r,e,t,n){const i=t.top,a=t.left,s=t.bottom,o=t.right;if(n){if(a.state===rr.POINT){if(i.state===rr.POINT)return Vn(r.x-e,r.y-e);if(s.state===rr.POINT)return Vn(r.x-e,r.y2+e);const f=r.width*r.height;return r.width*((a.y-r.y+(o.y-r.y))*.5)<f*.5?a.y>o.y?Vn(r.x-e,r.y-e):Vn(r.x2+e,r.y-e):a.y<o.y?Vn(r.x-e,r.y2+e):Vn(r.x2+e,r.y2+e)}if(o.state===rr.POINT){if(i.state===rr.POINT)return Vn(r.x2+e,r.y-e);if(s.state===rr.POINT)return Vn(r.x2+e,r.y2+e)}const c=r.height*r.width;return r.height*((i.x-r.x+(o.x-r.x))*.5)<c*.5?i.x>s.x?Vn(r.x-e,r.y-e):Vn(r.x-e,r.y2+e):i.x<s.x?Vn(r.x2+e,r.y-e):Vn(r.x2+e,r.y2+e)}if(a.state===rr.POINT){if(i.state===rr.POINT)return Vn(r.x2+e,r.y2+e);if(s.state===rr.POINT)return Vn(r.x2+e,r.y-e);const c=r.height*r.width;return r.width*((a.y-r.y+(o.y-r.y))*.5)<c*.5?a.y>o.y?Vn(r.x2+e,r.y2+e):Vn(r.x-e,r.y2+e):a.y<o.y?Vn(r.x2+e,r.y-e):Vn(r.x-e,r.y-e)}if(o.state===rr.POINT){if(i.state===rr.POINT)return Vn(r.x-e,r.y2+e);if(s.state===rr.POINT)return Vn(r.x-e,r.y-e)}const l=r.height*r.width;return r.height*((i.x-r.x+(o.x-r.x))*.5)<l*.5?i.x>s.x?Vn(r.x2+e,r.y2+e):Vn(r.x2+e,r.y-e):i.x<s.x?Vn(r.x-e,r.y2+e):Vn(r.x-e,r.y-e)}function M9(r,e,t,n){if(!(r.closed?t<r.length:t<r.length-1))return!1;const a=r.get(e),s=r.get(t+1);for(let o=e+1;o<=t;o++){const l=r.get(o);if(im(a.x,a.y,s.x,s.y,l.x,l.y)>n)return!1}return!0}function S9(r=0){return e=>{if(r<0||e.length<3)return e;const t=[];let n=0;const i=r*r;for(;n<e.length;){let a=n+1;for(;M9(e,n,a,i);)a++;t.push(e.get(n)),n=a}return new Uo(t)}}function T9(r,e){switch(r){case-2:return(((-e+3)*e-3)*e+1)/6;case-1:return((3*e-6)*e*e+4)/6;case 0:return(((-3*e+3)*e+3)*e+1)/6;case 1:return e*e*e/6;default:throw new Error("unknown error")}}function A9(r=6){function a(s,o,l){let u=0,c=0;for(let h=-2;h<=1;h++){const f=s.get(o+h),d=T9(h,l);u+=d*f.x,c+=d*f.y}return{x:u,y:c}}return s=>{if(s.length<3)return s;const o=[],l=s.closed,u=s.length+3-1+(l?0:2);o.push(a(s,2-(l?0:2),0));for(let c=2-(l?0:2);c<u;c++)for(let h=1;h<=r;h++)o.push(a(s,c,h/r));return new Uo(o)}}function O9(r=8){return e=>{let t=r,n=e.length;if(t>1)for(n=Math.floor(e.length/t);n<3&&t>1;)t-=1,n=Math.floor(e.length/t);const i=[];for(let a=0,s=0;s<n;s++,a+=t)i.push(e.get(a));return new Uo(i)}}class Uo{constructor(e=[],t=!0){this.points=e,this.closed=t}get(e){const t=e,n=this.points.length;return e<0?this.closed?this.get(e+n):this.points[0]:e>=n?this.closed?this.get(e-n):this.points[n-1]:this.points[t]}get length(){return this.points.length}toString(e=1/0){const t=this.points;if(t.length===0)return"";const n=typeof e=="function"?e:c9(e);let i="M";for(const a of t)i+=`${n(a.x)},${n(a.y)} L`;return i=i.slice(0,-1),this.closed&&(i+=" Z"),i}draw(e){const t=this.points;if(t.length!==0){e.beginPath(),e.moveTo(t[0].x,t[0].y);for(const n of t)e.lineTo(n.x,n.y);this.closed&&e.closePath()}}sample(e){return O9(e)(this)}simplify(e){return S9(e)(this)}bSplines(e){return A9(e)(this)}apply(e){return e(this)}containsElements(e){const t=v9(this.points);return t?e.every(n=>t.containsPt(n.cx,n.cy)&&this.withinArea(n.cx,n.cy)):!1}withinArea(e,t){if(this.length===0)return!1;let n=0;const i=this.points[0],a=new Ar(i.x,i.y,i.x,i.y);for(let s=1;s<this.points.length;s++){const o=this.points[s];a.x1=a.x2,a.y1=a.y2,a.x2=o.x,a.y2=o.y,a.cuts(e,t)&&n++}return a.x1=a.x2,a.y1=a.y2,a.x2=i.x,a.y2=i.y,a.cuts(e,t)&&n++,n%2===1}}class k9{constructor(e=0){this.count=0,this.arr=[],this.set=new Set,this.arr.length=e}add(e){this.set.add(`${e.x}x${e.y}`),this.arr[this.count++]=e}contains(e){return this.set.has(`${e.x}x${e.y}`)}isFirst(e){if(this.count===0)return!1;const t=this.arr[0];return t!=null&&t.x===e.x&&t.y===e.y}path(){return new Uo(this.arr.slice(0,this.count))}clear(){this.set.clear(),this.count=0}get(e){return this.arr[e]}get length(){return this.count}}const Sc=0,Dd=1,Id=2,sm=3;function C9(r,e){const t=(Math.floor(r.width)+Math.floor(r.height))*2,n=new k9(t);function i(l,u,c,h){const f=r.get(l,u);return Number.isNaN(f)?Number.NaN:f>e?c+h:c}function a(l,u){let c=Sc;return c=i(l,u,c,1),c=i(l+1,u,c,2),c=i(l,u+1,c,4),c=i(l+1,u+1,c,8),Number.isNaN(c)?-1:c}let s=Dd;function o(l,u){let c=l,h=u,f=r.invertScaleX(c),d=r.invertScaleY(h);for(let v=0;v<r.width*r.height;v++){const g={x:f,y:d};if(n.contains(g)){if(n.isFirst(g))return!0}else n.add(g);const p=a(c,h);switch(p){case-1:return!0;case 0:case 3:case 2:case 7:s=Id;break;case 12:case 14:case 4:s=sm;break;case 6:s=s===Sc?sm:Id;break;case 1:case 13:case 5:s=Sc;break;case 9:s=s===Id?Sc:Dd;break;case 10:case 8:case 11:s=Dd;break;default:return console.warn("Marching squares invalid state: "+p),!0}switch(s){case Sc:h--,d-=r.pixelGroup;break;case Dd:h++,d+=r.pixelGroup;break;case sm:c--,f-=r.pixelGroup;break;case Id:c++,f+=r.pixelGroup;break;default:return console.warn("Marching squares invalid state: "+p),!0}}return!0}for(let l=0;l<r.width;l++)for(let u=0;u<r.height;u++){if(r.get(l,u)<=e)continue;const c=a(l,u);if(!(c<0||c===15)&&o(l,u))return n.path()}return null}const Bd={maxRoutingIterations:100,maxMarchingIterations:20,pixelGroup:4,edgeR0:10,edgeR1:20,nodeR0:15,nodeR1:50,morphBuffer:10,threshold:1,memberInfluenceFactor:1,edgeInfluenceFactor:1,nonMemberInfluenceFactor:-.8,virtualEdges:!0};function Tc(r){return r!=null&&typeof r.radius=="number"}function wP(r,e){if(Tc(r)!==Tc(e))return!1;if(Tc(r)){const n=e;return r.cx===n.cx&&r.cy===n.cy&&r.radius===n.radius}const t=e;return r.x===t.x&&r.y===t.y&&r.width===t.width&&r.height===t.height}var ka;(function(r){r[r.MEMBERS=0]="MEMBERS",r[r.NON_MEMBERS=1]="NON_MEMBERS",r[r.EDGES=2]="EDGES"})(ka||(ka={}));class om{constructor(e={}){this.dirty=new Set,this.members=[],this.nonMembers=[],this.virtualEdges=[],this.edges=[],this.activeRegion=new Ur(0,0,0,0),this.potentialArea=new Yo(1,0,0,0,0,0,0),this.o=Object.assign({},Bd,e)}pushMember(...e){if(e.length!==0){this.dirty.add(ka.MEMBERS);for(const t of e)this.members.push({raw:t,obj:Tc(t)?_d.from(t):Ur.from(t),area:null})}}removeMember(e){const t=this.members.findIndex(n=>wP(n.raw,e));return t<0?!1:(this.members.splice(t,1),this.dirty.add(ka.MEMBERS),!0)}removeNonMember(e){const t=this.nonMembers.findIndex(n=>wP(n.raw,e));return t<0?!1:(this.nonMembers.splice(t,1),this.dirty.add(ka.NON_MEMBERS),!0)}removeEdge(e){const t=this.edges.findIndex(n=>n.obj.equals(e));return t<0?!1:(this.edges.splice(t,1),this.dirty.add(ka.NON_MEMBERS),!0)}pushNonMember(...e){if(e.length!==0){this.dirty.add(ka.NON_MEMBERS);for(const t of e)this.nonMembers.push({raw:t,obj:Tc(t)?_d.from(t):Ur.from(t),area:null})}}pushEdge(...e){if(e.length!==0){this.dirty.add(ka.EDGES);for(const t of e)this.edges.push({raw:t,obj:Ar.from(t),area:null})}}update(){const e=this.dirty.has(ka.MEMBERS),t=this.dirty.has(ka.NON_MEMBERS);let n=this.dirty.has(ka.EDGES);this.dirty.clear();const i=this.members.map(u=>u.obj);if(this.o.virtualEdges&&(e||t)){const u=this.nonMembers.map(f=>f.obj),c=m9(i,u,this.o.maxRoutingIterations,this.o.morphBuffer),h=new Map(this.virtualEdges.map(f=>[f.obj.toString(),f.area]));this.virtualEdges=c.map(f=>{var d;return{raw:f,obj:f,area:(d=h.get(f.toString()))!==null&&d!==void 0?d:null}}),n=!0}let a=!1;if(e||n){const u=this.virtualEdges.concat(this.edges).map(d=>d.obj),c=_9(i,u),h=Math.max(this.o.edgeR1,this.o.nodeR1)+this.o.morphBuffer,f=Ur.from(yP(c,h));f.equals(this.activeRegion)||(a=!0,this.activeRegion=f)}if(a){const u=Math.ceil(this.activeRegion.width/this.o.pixelGroup),c=Math.ceil(this.activeRegion.height/this.o.pixelGroup);this.activeRegion.x!==this.potentialArea.pixelX||this.activeRegion.y!==this.potentialArea.pixelY?(this.potentialArea=Yo.fromPixelRegion(this.activeRegion,this.o.pixelGroup),this.members.forEach(h=>h.area=null),this.nonMembers.forEach(h=>h.area=null),this.edges.forEach(h=>h.area=null),this.virtualEdges.forEach(h=>h.area=null)):(u!==this.potentialArea.width||c!==this.potentialArea.height)&&(this.potentialArea=Yo.fromPixelRegion(this.activeRegion,this.o.pixelGroup))}const s=new Map,o=u=>{if(u.area){const c=`${u.obj.width}x${u.obj.height}x${u.obj instanceof Ur?"R":"C"}`;s.set(c,u.area)}},l=u=>{if(u.area)return;const c=`${u.obj.width}x${u.obj.height}x${u.obj instanceof Ur?"R":"C"}`;if(s.has(c)){const f=s.get(c);u.area=this.potentialArea.copy(f,{x:u.obj.x-this.o.nodeR1,y:u.obj.y-this.o.nodeR1});return}const h=u.obj instanceof Ur?p9(u.obj,this.potentialArea,this.o.nodeR1):xP(u.obj,this.potentialArea,this.o.nodeR1);u.area=h,s.set(c,h)};this.members.forEach(o),this.nonMembers.forEach(o),this.members.forEach(l),this.nonMembers.forEach(u=>{this.activeRegion.intersects(u.obj)?l(u):u.area=null}),this.edges.forEach(u=>{u.area||(u.area=bP(u.obj,this.potentialArea,this.o.edgeR1))}),this.virtualEdges.forEach(u=>{u.area||(u.area=bP(u.obj,this.potentialArea,this.o.edgeR1))})}drawMembers(e){for(const t of this.members)t.obj.draw(e)}drawNonMembers(e){for(const t of this.nonMembers)t.obj.draw(e)}drawEdges(e){for(const t of this.edges)t.obj.draw(e)}drawPotentialArea(e,t=!0){this.potentialArea.draw(e,t)}compute(){if(this.members.length===0)return new Uo([]);this.dirty.size>0&&this.update();const{o:e,potentialArea:t}=this,n=this.members.map(o=>o.area),i=this.virtualEdges.concat(this.edges).map(o=>o.area),a=this.nonMembers.filter(o=>o.area!=null).map(o=>o.area),s=this.members.map(o=>o.obj);return N9(t,n,i,a,o=>o.containsElements(s),e)}}function N9(r,e,t,n,i,a={}){const s=Object.assign({},Bd,a);let o=s.threshold,l=s.memberInfluenceFactor,u=s.edgeInfluenceFactor,c=s.nonMemberInfluenceFactor;const h=(s.nodeR0-s.nodeR1)*(s.nodeR0-s.nodeR1),f=(s.edgeR0-s.edgeR1)*(s.edgeR0-s.edgeR1);for(let d=0;d<s.maxMarchingIterations;d++){if(r.clear(),l!==0){const g=l/h;for(const p of e)r.incArea(p,g)}if(u!==0){const g=u/f;for(const p of t)r.incArea(p,g)}if(c!==0){const g=c/h;for(const p of n)r.incArea(p,g)}const v=C9(r,o);if(v&&i(v))return v;if(o*=.95,d<=s.maxMarchingIterations*.5)l*=1.2,u*=1.2;else if(c!==0&&n.length>0)c*=.8;else break}return new Uo([])}function _9(r,e){if(r.length===0)return new Ur(0,0,0,0);const t=Ur.from(r[0]);for(const n of r)t.add(n);for(const n of e)t.add(gP(n));return t}function dJ(r,e=[],t=[],n={}){if(r.length===0)return new Uo([]);const i=new om(n);return i.pushMember(...r),i.pushNonMember(...e),i.pushEdge(...t),i.compute()}var R9=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class zd extends Fr{constructor(e,t){super(e,ri({},zd.defaultOptions,t)),this.members=new Map,this.avoidMembers=new Map,this.bubbleSetOptions={},this.drawBubbleSets=()=>{const{style:n,bubbleSetOptions:i}=this.parseOptions();dr(this.bubbleSetOptions,i)||this.init(),this.bubbleSetOptions=Object.assign({},i);const a=Object.assign(Object.assign({},n),{d:this.getPath()});this.shape?this.shape.update(a):(this.shape=new lc({style:a}),this.context.canvas.appendChild(this.shape))},this.updateBubbleSetsPath=n=>{if(!this.shape)return;const i=Re(n.data);[...this.options.members,...this.options.avoidMembers].includes(i)&&this.shape.update(Object.assign(Object.assign({},this.parseOptions().style),{d:this.getPath(i)}))},this.getPath=n=>{const{graph:i}=this.context,a=this.options.members,s=[...this.members.keys()],o=this.options.avoidMembers,l=[...this.avoidMembers.keys()];if(!n&&dr(a,s)&&dr(o,l))return this.path;const{enter:u=[],exit:c=[]}=Vs(s,a,p=>p),{enter:h=[],exit:f=[]}=Vs(l,o,p=>p);n&&(c.push(n),u.push(n));const d=(p,m,b)=>{p.forEach(x=>{const O=b?this.members:this.avoidMembers,T=b?"pushMember":"pushNonMember",S=b?"removeMember":"removeNonMember";if(m){let k;i.getElementType(x)==="edge"?([k]=D9(i,x),this.bubbleSets.pushEdge(k)):([k]=L9(i,x),this.bubbleSets[T](k)),O.set(x,k)}else{const k=O.get(x);k&&(i.getElementType(x)==="edge"?this.bubbleSets.removeEdge(k):this.bubbleSets[S](k),O.delete(x))}})};d(c,!1,!0),d(u,!0,!0),d(f,!1,!1),d(h,!0,!1);const g=this.bubbleSets.compute().sample(8).simplify(0).bSplines().simplify(0);return this.path=GE(g.points.map(zr)),this.path},this.bindEvents(),this.bubbleSets=new om(this.options)}bindEvents(){this.context.graph.on(rt.AFTER_RENDER,this.drawBubbleSets),this.context.graph.on(rt.AFTER_ELEMENT_UPDATE,this.updateBubbleSetsPath)}init(){this.bubbleSets=new om(this.options),this.members=new Map,this.avoidMembers=new Map}parseOptions(){const e=this.options,{type:t,key:n,members:i,avoidMembers:a}=e,s=R9(e,["type","key","members","avoidMembers"]),o=Object.keys(s).reduce((l,u)=>(u in Bd?l.bubbleSetOptions[u]=s[u]:l.style[u]=s[u],l),{style:{},bubbleSetOptions:{}});return Object.assign({type:t,key:n,members:i,avoidMembers:a},o)}addMember(e){const t=Array.isArray(e)?e:[e];t.some(n=>this.options.avoidMembers.includes(n))&&(this.options.avoidMembers=this.options.avoidMembers.filter(n=>!t.includes(n))),this.options.members=[...new Set([...this.options.members,...t])],this.drawBubbleSets()}removeMember(e){const t=Array.isArray(e)?e:[e];this.options.members=this.options.members.filter(n=>!t.includes(n)),this.drawBubbleSets()}updateMember(e){this.options.members=pt(e)?e(this.options.members):e,this.drawBubbleSets()}getMember(){return this.options.members}addAvoidMember(e){const t=Array.isArray(e)?e:[e];t.some(n=>this.options.members.includes(n))&&(this.options.members=this.options.members.filter(n=>!t.includes(n))),this.options.avoidMembers=[...new Set([...this.options.avoidMembers,...t])],this.drawBubbleSets()}removeAvoidMember(e){const t=Array.isArray(e)?e:[e];this.options.avoidMembers.some(n=>t.includes(n))&&(this.options.avoidMembers=this.options.avoidMembers.filter(n=>!t.includes(n)),this.drawBubbleSets())}updateAvoidMember(e){this.options.avoidMembers=Array.isArray(e)?e:[e],this.drawBubbleSets()}getAvoidMember(){return this.options.avoidMembers}destroy(){this.context.graph.off(rt.AFTER_RENDER,this.drawBubbleSets),this.context.graph.off(rt.AFTER_ELEMENT_UPDATE,this.updateBubbleSetsPath),this.shape.destroy(),super.destroy()}}zd.defaultOptions=Object.assign({members:[],avoidMembers:[],fill:"lightblue",fillOpacity:.2,stroke:"blue",strokeOpacity:.2},Bd);const L9=(r,e)=>(Array.isArray(e)?e:[e]).map(n=>{const i=r.getElementRenderBounds(n);return new Ur(i.min[0],i.min[1],qa(i),$a(i))}),D9=(r,e)=>(Array.isArray(e)?e:[e]).map(n=>{const i=r.getEdgeData(n),a=r.getElementPosition(i.source),s=r.getElementPosition(i.target);return Ar.from({x1:a[0],y1:a[1],x2:s[0],y2:s[1]})});class vJ extends null{constructor(e,t){super(e,t),this.setOptions=n=>{const i={cameraType:"setType",near:"setNear",far:"setFar",fov:"setFov",aspect:"setAspect",projectionMode:"setProjectionMode",distance:"setDistance",minDistance:"setMinDistance",maxDistance:"setMaxDistance",roll:"setRoll",elevation:"setElevation",azimuth:"setAzimuth"},a=(s,o)=>{switch(s){case"projectionMode":return o==="perspective"?1:0;case"cameraType":return{orbiting:0,exploring:1,tracking:2}[o];case"aspect":return typeof o=="number"?o:this.getCanvasAspect();default:return o}};Object.entries(i).forEach(([s,o])=>{const l=n[s];if(l!==void 0){const u=a(s,l);this.context.canvas.getCamera()[o](u)}})},this.bindEvents()}update(e){this.setOptions(e),super.update(e)}bindEvents(){this.context.graph.once(GraphEvent.BEFORE_DRAW,()=>this.setOptions(this.options))}getCanvasAspect(){const[e,t]=this.context.viewport.getCanvasSize();return e/t}}function I9(r){return`
|
|
|
<ul class="g6-contextmenu-ul">
|
|
|
${r.map(e=>`<li class="g6-contextmenu-li" value="${e.value}">${e.name}</li>`).join("")}
|
|
|
</ul>
|
|
|
`}const B9=`
|
|
|
.g6-contextmenu {
|
|
|
font-size: 12px;
|
|
|
background-color: rgba(255, 255, 255, 0.96);
|
|
|
border-radius: 4px;
|
|
|
overflow: hidden;
|
|
|
box-shadow: rgba(0, 0, 0, 0.12) 0px 6px 12px 0px;
|
|
|
transition: visibility 0.2s cubic-bezier(0.23, 1, 0.32, 1) 0s, left 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s, top 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s;
|
|
|
}
|
|
|
|
|
|
.g6-contextmenu-ul {
|
|
|
max-width: 256px;
|
|
|
min-width: 96px;
|
|
|
list-style: none;
|
|
|
padding: 0;
|
|
|
margin: 0;
|
|
|
}
|
|
|
|
|
|
.g6-contextmenu-li {
|
|
|
padding: 8px 12px;
|
|
|
cursor: pointer;
|
|
|
user-select: none;
|
|
|
}
|
|
|
|
|
|
.g6-contextmenu-li:hover {
|
|
|
background-color: #f5f5f5;
|
|
|
cursor: pointer;
|
|
|
}
|
|
|
`;var PP=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};class Fd extends Fr{constructor(e,t){super(e,Object.assign({},Fd.defaultOptions,t)),this.targetElement=null,this.onTriggerEvent=n=>{var i;(i=n.preventDefault)===null||i===void 0||i.call(n),this.show(n)},this.onMenuItemClick=n=>{const{onClick:i,trigger:a}=this.options;if(n.target instanceof HTMLElement&&n.target.className.includes("g6-contextmenu-li")){const s=n.target.getAttribute("value");i==null||i(s,n.target,this.targetElement),this.hide()}a!=="click"&&this.hide()},this.initElement(),this.update(t)}initElement(){this.$element=Kl("contextmenu",!1,{zIndex:"99"});const{className:e}=this.options;e&&this.$element.classList.add(e),this.context.canvas.getContainer().appendChild(this.$element),rm("g6-contextmenu-css","style",{},B9,document.head)}show(e){return PP(this,void 0,void 0,function*(){const{enable:t,offset:n}=this.options;if(typeof t=="function"&&!t(e)||!t){this.hide();return}const i=yield this.getDOMContent(e);i instanceof HTMLElement?(this.$element.innerHTML="",this.$element.appendChild(i)):this.$element.innerHTML=i;const a=this.context.graph.getCanvas().getContainer().getBoundingClientRect();this.$element.style.left=`${e.client.x-a.left+n[0]}px`,this.$element.style.top=`${e.client.y-a.top+n[1]}px`,this.$element.style.display="block",this.targetElement=e.target})}hide(){this.$element.style.display="none",this.targetElement=null}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}destroy(){this.unbindEvents(),super.destroy(),this.$element.remove()}getDOMContent(e){return PP(this,void 0,void 0,function*(){const{getContent:t,getItems:n}=this.options;return n?I9(yield n(e)):yield t(e)})}bindEvents(){const{graph:e}=this.context,{trigger:t}=this.options;e.on(`canvas:${t}`,this.onTriggerEvent),e.on(`node:${t}`,this.onTriggerEvent),e.on(`edge:${t}`,this.onTriggerEvent),e.on(`combo:${t}`,this.onTriggerEvent),document.addEventListener("click",this.onMenuItemClick)}unbindEvents(){const{graph:e}=this.context,{trigger:t}=this.options;e.off(`canvas:${t}`,this.onTriggerEvent),e.off(`node:${t}`,this.onTriggerEvent),e.off(`edge:${t}`,this.onTriggerEvent),e.off(`combo:${t}`,this.onTriggerEvent),document.removeEventListener("click",this.onMenuItemClick)}}Fd.defaultOptions={trigger:"contextmenu",offset:[4,4],loadingContent:'<div class="g6-contextmenu-loading">Loading...</div>',getContent:()=>"It is a empty context menu.",enable:()=>!0};class jd extends Fr{constructor(e,t){super(e,Object.assign({},jd.defaultOptions,t)),this.edgeBundles={},this.edgePoints={},this.onBundle=()=>{const{model:n,element:i}=this.context,a=n.getEdgeData();this.divideEdges(this.options.divisions);const{cycles:s,iterRate:o,divRate:l}=this.options;let{lambda:u,divisions:c,iterations:h}=this.options;for(let f=0;f<s;f++){for(let d=0;d<h;d++){const v={};a.forEach(g=>{var p;if(g.source===g.target)return;const m=Re(g);v[m]=this.getEdgeForces(g,c,u);for(let b=0;b<c+1;b++)(p=this.edgePoints)[m]||(p[m]=[]),this.edgePoints[m][b]=jt(this.edgePoints[m][b],v[m][b])})}u/=2,c*=l,h*=o,this.divideEdges(c)}a.forEach(f=>{const d=Re(f),v=i.getElement(d);v==null||v.update({d:P0(this.edgePoints[d])})})},this.bindEvents()}get nodeMap(){const e=this.context.model.getNodeData();return Object.fromEntries(e.map(t=>[Re(t),Do(Br(t))]))}divideEdges(e){this.context.model.getEdgeData().forEach(n=>{var i;const a=Re(n);(i=this.edgePoints)[a]||(i[a]=[]);const s=this.nodeMap[n.source],o=this.nodeMap[n.target];if(e===1)this.edgePoints[a].push(s),this.edgePoints[a].push(Sa(jt(s,o),2)),this.edgePoints[a].push(o);else{const u=(this.edgePoints[a].length===0?Bn(s,o):H9(this.edgePoints[a]))/(e+1);let c=u;const h=[s];for(let f=1;f<this.edgePoints[a].length;f++){const d=this.edgePoints[a][f-1],v=this.edgePoints[a][f];let g=Bn(v,d);for(;g>c;){const p=c/g,m=jt(d,xs(On(v,d),p));h.push(m),g-=c,c=u}c-=g}h.push(o),this.edgePoints[a]=h}})}getVectorPosition(e){const t=this.nodeMap[e.source],n=this.nodeMap[e.target],[i,a]=On(n,t),s=Bn(t,n);return{source:t,target:n,vx:i,vy:a,length:s}}measureEdgeCompatibility(e,t){const n=this.getVectorPosition(e),i=this.getVectorPosition(t),a=z9(n,i),s=F9(n,i),o=j9(n,i),l=G9(n,i);return a*s*o*l}getEdgeBundles(){const e={},t=this.options.bundleThreshold,n=this.context.model.getEdgeData();return n.forEach((i,a)=>{n.forEach((s,o)=>{var l,u;if(o<=a)return;this.measureEdgeCompatibility(i,s)>=t&&(e[l=Re(i)]||(e[l]=[]),e[Re(i)].push(s),e[u=Re(s)]||(e[u]=[]),e[Re(s)].push(i))})}),e}getSpringForce(e,t){const{pre:n,cur:i,next:a}=e;return xs(On(jt(n,a),xs(i,2)),t)}getElectrostaticForce(e,t){ts(this.edgeBundles)&&(this.edgeBundles=this.getEdgeBundles());const n=this.edgeBundles[Re(t)];let i=[0,0];return n==null||n.forEach(a=>{const s=this.edgePoints[Re(a)][e],o=this.edgePoints[Re(t)][e],l=On(s,o),u=Bn(s,o);i=jt(i,xs(l,1/u))}),i}getEdgeForces(e,t,n){const i=this.nodeMap[e.source],a=this.nodeMap[e.target],s=this.options.K/(Bn(i,a)*(t+1)),o=[[0,0]],l=Re(e);for(let u=1;u<t;u++){const c=this.getSpringForce({pre:this.edgePoints[l][u-1],cur:this.edgePoints[l][u],next:this.edgePoints[l][u+1]||[0,0]},s),h=this.getElectrostaticForce(u,e);o.push(xs(jt(c,h),n))}return o.push([0,0]),o}bindEvents(){const{graph:e}=this.context;e.on(rt.AFTER_RENDER,this.onBundle)}unbindEvents(){const{graph:e}=this.context;e.off(rt.AFTER_RENDER,this.onBundle)}destroy(){this.unbindEvents(),super.destroy()}}jd.defaultOptions={K:.1,lambda:.1,divisions:1,divRate:2,cycles:6,iterations:90,iterRate:2/3,bundleThreshold:.6};const z9=(r,e)=>Math.abs(bL([r.vx,r.vy],[e.vx,e.vy])/(r.length*e.length)),F9=(r,e)=>{const t=(r.length+e.length)/2;return 2/(t/Math.min(r.length,e.length)+Math.max(r.length,e.length)/t)},j9=(r,e)=>{const t=(r.length+e.length)/2,n=Sa(jt(r.source,r.target),2),i=Sa(jt(e.source,e.target),2);return t/(t+Bn(n,i))},MP=(r,e)=>{if(e.source[0]===e.target[0])return[e.source[0],r[1]];if(e.source[1]===e.target[1])return[r[0],e.source[1]];const t=(e.source[1]-e.target[1])/(e.source[0]-e.target[0]),n=(t*t*e.source[0]+t*(r[1]-e.source[1])+r[0])/(t*t+1),i=t*(n-e.source[0])+e.source[1];return[n,i]},SP=(r,e)=>{const t=MP(e.source,r),n=MP(e.target,r),i=Sa(jt(t,n),2),a=Sa(jt(r.source,r.target),2);return Bn(t,n)===0?0:Math.max(0,1-2*Bn(a,i)/Bn(t,n))},G9=(r,e)=>Math.min(SP(r,e),SP(e,r)),H9=r=>{let e=0;for(let t=1;t<r.length;t++)e+=Bn(r[t],r[t-1]);return e},X9={fill:"#fff",fillOpacity:1,lineWidth:1,stroke:"#000",strokeOpacity:.8,zIndex:-1/0},TP=.05;class Gd extends Fr{constructor(e,t){super(e,Object.assign({},Gd.defaultOptions,t)),this.shapes=new Map,this.r=this.options.r,this.onEdgeFilter=n=>{if(this.options.trigger==="drag"&&this.isLensOn)return;const i=zr(n.canvas);this.renderLens(i),this.renderFocusElements()},this.renderLens=n=>{const i=Object.assign({},X9,this.options.style);this.isLensOn||(this.lens=new zo({style:i}),this.canvas.appendChild(this.lens)),Object.assign(i,Ta(n),{size:this.r*2}),this.lens.update(i)},this.getFilterData=()=>{const{filter:n}=this.options,{model:i}=this.context,a=i.getData();if(!n)return a;const{nodes:s,edges:o,combos:l}=a;return{nodes:s.filter(u=>n(Re(u),"node")),edges:o.filter(u=>n(Re(u),"edge")),combos:l.filter(u=>n(Re(u),"combo"))}},this.getFocusElements=n=>{const{nodes:i,edges:a}=this.getFilterData(),s=i.filter(u=>Bn(Br(u),n)<this.r),o=s.map(u=>Re(u)),l=a.filter(u=>{const{source:c,target:h}=u,f=o.includes(c),d=o.includes(h);switch(this.options.nodeType){case"both":return f&&d;case"either":return f!==d;case"source":return f&&!d;case"target":return!f&&d;default:return!1}});return{nodes:s,edges:l}},this.renderFocusElements=()=>{const{element:n,graph:i}=this.context;if(!this.isLensOn)return;const a=this.lens.getCenter(),{nodes:s,edges:o}=this.getFocusElements(a),l=new Set,u=c=>{const h=Re(c);l.add(h);const f=n.getElement(h);if(!f)return;const d=this.shapes.get(h)||f.cloneNode();d.setPosition(f.getPosition()),d.id=f.id,this.shapes.has(h)?Object.entries(f.attributes).forEach(([p,m])=>{d.style[p]!==m&&(d.style[p]=m)}):(this.canvas.appendChild(d),this.shapes.set(h,d));const v=i.getElementType(h),g=this.getElementStyle(v,c);d.update(g)};s.forEach(u),o.forEach(u),this.shapes.forEach((c,h)=>{l.has(h)||(c.destroy(),this.shapes.delete(h))})},this.scaleRByWheel=n=>{var i;this.options.preventDefault&&n.preventDefault();const{clientX:a,clientY:s,deltaX:o,deltaY:l}=n,{graph:u,canvas:c}=this.context,h=u.getCanvasByClient([a,s]),f=(i=this.lens)===null||i===void 0?void 0:i.getCenter();if(!this.isLensOn||Bn(h,f)>this.r)return;const{maxR:d,minR:v}=this.options,g=o+l>0?1/(1-TP):1-TP,p=Math.min(...c.getSize())/2;this.r=Math.max(v||0,Math.min(d||p,this.r*g)),this.renderLens(f),this.renderFocusElements()},this.isLensDragging=!1,this.onDragStart=n=>{var i;const a=zr(n.canvas),s=(i=this.lens)===null||i===void 0?void 0:i.getCenter();!this.isLensOn||Bn(a,s)>this.r||(this.isLensDragging=!0)},this.onDrag=n=>{if(!this.isLensDragging)return;const i=zr(n.canvas);this.renderLens(i),this.renderFocusElements()},this.onDragEnd=()=>{this.isLensDragging=!1},this.bindEvents()}get canvas(){return this.context.canvas.getLayer("transient")}get isLensOn(){return this.lens&&!this.lens.destroyed}getElementStyle(e,t){const n=e==="node"?this.options.nodeStyle:this.options.edgeStyle;return typeof n=="function"?n(t):n}get graphDom(){return this.context.graph.getCanvas().getContextService().getDomElement()}bindEvents(){var e;const{graph:t}=this.context,{trigger:n,scaleRBy:i}=this.options,a=t.getCanvas().getLayer();["click","drag"].includes(n)&&a.addEventListener(We.CLICK,this.onEdgeFilter),n==="pointermove"?a.addEventListener(We.POINTER_MOVE,this.onEdgeFilter):n==="drag"&&(a.addEventListener(We.DRAG_START,this.onDragStart),a.addEventListener(We.DRAG,this.onDrag),a.addEventListener(We.DRAG_END,this.onDragEnd)),i==="wheel"&&((e=this.graphDom)===null||e===void 0||e.addEventListener(We.WHEEL,this.scaleRByWheel,{passive:!1}))}unbindEvents(){var e;const{graph:t}=this.context,{trigger:n,scaleRBy:i}=this.options,a=t.getCanvas().getLayer();["click","drag"].includes(n)&&a.removeEventListener(We.CLICK,this.onEdgeFilter),n==="pointermove"?a.removeEventListener(We.POINTER_MOVE,this.onEdgeFilter):n==="drag"&&(a.removeEventListener(We.DRAG_START,this.onDragStart),a.removeEventListener(We.DRAG,this.onDrag),a.removeEventListener(We.DRAG_END,this.onDragEnd)),i==="wheel"&&((e=this.graphDom)===null||e===void 0||e.removeEventListener(We.WHEEL,this.scaleRByWheel))}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}destroy(){this.unbindEvents(),this.isLensOn&&this.lens.destroy(),this.shapes.forEach((e,t)=>{e.destroy(),this.shapes.delete(t)}),super.destroy()}}Gd.defaultOptions={trigger:"pointermove",r:60,nodeType:"both",filter:()=>!0,style:{lineWidth:2},nodeStyle:{label:!1},edgeStyle:{label:!0},scaleRBy:"wheel",preventDefault:!0};const W9={fill:"#ccc",fillOpacity:.1,lineWidth:2,stroke:"#000",strokeOpacity:.8,labelFontSize:12},AP=.05,OP=.1;class Hd extends Fr{constructor(e,t){super(e,Object.assign({},Hd.defaultOptions,t)),this.r=this.options.r,this.d=this.options.d,this.onCreateFisheye=n=>{if(this.options.trigger==="drag"&&this.isLensOn)return;const i=zr(n.canvas);this.onMagnify(i)},this.onMagnify=n=>{n.some(isNaN)||(this.renderLens(n),this.renderFocusElements())},this.renderLens=n=>{const i=Object.assign({},W9,this.options.style);this.isLensOn||(this.lens=new zo({style:i}),this.canvas.appendChild(this.lens)),Object.assign(i,Ta(n),{size:this.r*2,label:this.options.showDPercent,labelText:this.getDPercent()}),this.lens.update(i)},this.getDPercent=()=>{const{minD:n,maxD:i}=this.options;return`${Math.round((this.d-n)/(i-n)*100)}%`},this.prevMagnifiedStyleMap=new Map,this.prevOriginStyleMap=new Map,this.renderFocusElements=()=>{if(!this.isLensOn)return;const{graph:n}=this.context,i=this.lens.getCenter(),a=(this.d+1)*this.r,s=new Map,o=new Map;n.getNodeData().forEach(u=>{const c=Br(u),h=Bn(c,i);if(h>this.r)return;const f=a*h/(this.d*h+this.r),[d,v]=c,[g,p]=i,m=(d-g)/h,b=(v-p)/h,x=[g+f*m,p+f*b],O=Re(u),T=this.getNodeStyle(u),S=jo(n.getElementRenderStyle(O),Object.keys(T));s.set(O,Object.assign(Object.assign({},Ta(x)),T)),o.set(O,Object.assign(Object.assign({},Ta(c)),S))}),this.updateStyle(s,o)},this.getNodeStyle=n=>{const{nodeStyle:i}=this.options;return typeof i=="function"?i(n):i},this.updateStyle=(n,i)=>{const{graph:a,element:s}=this.context,{enter:o,exit:l,keep:u}=Vs(Array.from(this.prevMagnifiedStyleMap.keys()),Array.from(n.keys()),f=>f),c=new Set,h=(f,d)=>{const v=s.getElement(f);v==null||v.update(d),a.getRelatedEdgesData(f).forEach(g=>{c.add(Re(g))})};[...o,...u].forEach(f=>{h(f,n.get(f))}),l.forEach(f=>{h(f,this.prevOriginStyleMap.get(f)),this.prevOriginStyleMap.delete(f)}),c.forEach(f=>{const d=s.getElement(f);d==null||d.update({})}),this.prevMagnifiedStyleMap=n,i.forEach((f,d)=>{this.prevOriginStyleMap.has(d)||this.prevOriginStyleMap.set(d,f)})},this.isWheelValid=n=>{if(this.options.preventDefault&&n.preventDefault(),!this.isLensOn)return!1;const{clientX:i,clientY:a}=n,s=this.context.graph.getCanvasByClient([i,a]),o=this.lens.getCenter();return!(Bn(s,o)>this.r)},this.scaleR=n=>{const{maxR:i,minR:a}=this.options,s=n?1/(1-AP):1-AP,o=Math.min(...this.context.canvas.getSize())/2;this.r=Math.max(a||0,Math.min(i||o,this.r*s))},this.scaleD=n=>{const{maxD:i,minD:a}=this.options,s=n?this.d+OP:this.d-OP;this.d=Math.max(a,Math.min(i,s))},this.scaleRByWheel=n=>{if(!this.isWheelValid(n))return;const{deltaX:i,deltaY:a}=n;this.scaleR(i+a>0);const s=this.lens.getCenter();this.onMagnify(s)},this.scaleDByWheel=n=>{if(!this.isWheelValid(n))return;const{deltaX:i,deltaY:a}=n;this.scaleD(i+a>0);const s=this.lens.getCenter();this.onMagnify(s)},this.isDragValid=n=>{if(this.options.preventDefault&&n.preventDefault(),!this.isLensOn)return!1;const i=zr(n.canvas),a=this.lens.getCenter();return!(Bn(i,a)>this.r)},this.isLensDragging=!1,this.onDragStart=n=>{this.isDragValid(n)&&(this.isLensDragging=!0)},this.onDrag=n=>{if(!this.isLensDragging)return;const i=zr(n.canvas);this.onMagnify(i)},this.onDragEnd=()=>{this.isLensDragging=!1},this.scaleRByDrag=n=>{if(!this.isLensDragging)return;const{dx:i,dy:a}=n;this.scaleR(i-a>0);const s=this.lens.getCenter();this.onMagnify(s)},this.scaleDByDrag=n=>{if(!this.isLensDragging)return;const{dx:i,dy:a}=n;this.scaleD(i-a>0);const s=this.lens.getCenter();this.onMagnify(s)},this.bindEvents()}get canvas(){return this.context.canvas.getLayer("transient")}get isLensOn(){return this.lens&&!this.lens.destroyed}get graphDom(){return this.context.graph.getCanvas().getContextService().getDomElement()}bindEvents(){var e;const{graph:t}=this.context,{trigger:n,scaleRBy:i,scaleDBy:a}=this.options,s=t.getCanvas().getLayer();if(["click","drag"].includes(n)&&s.addEventListener(We.CLICK,this.onCreateFisheye),n==="pointermove"&&s.addEventListener(We.POINTER_MOVE,this.onCreateFisheye),n==="drag"||i==="drag"||a==="drag"){s.addEventListener(We.DRAG_START,this.onDragStart),s.addEventListener(We.DRAG_END,this.onDragEnd);const o=n==="drag"?this.onDrag:i==="drag"?this.scaleRByDrag:this.scaleDByDrag;s.addEventListener(We.DRAG,o)}if(i==="wheel"||a==="wheel"){const o=i==="wheel"?this.scaleRByWheel:this.scaleDByWheel;(e=this.graphDom)===null||e===void 0||e.addEventListener(We.WHEEL,o,{passive:!1})}}unbindEvents(){var e;const{graph:t}=this.context,{trigger:n,scaleRBy:i,scaleDBy:a}=this.options,s=t.getCanvas().getLayer();if(["click","drag"].includes(n)&&s.removeEventListener(We.CLICK,this.onCreateFisheye),n==="pointermove"&&s.removeEventListener(We.POINTER_MOVE,this.onCreateFisheye),n==="drag"||i==="drag"||a==="drag"){s.removeEventListener(We.DRAG_START,this.onDragStart),s.removeEventListener(We.DRAG_END,this.onDragEnd);const o=n==="drag"?this.onDrag:i==="drag"?this.scaleRByDrag:this.scaleDByDrag;s.removeEventListener(We.DRAG,o)}if(i==="wheel"||a==="wheel"){const o=i==="wheel"?this.scaleRByWheel:this.scaleDByWheel;(e=this.graphDom)===null||e===void 0||e.removeEventListener(We.WHEEL,o)}}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}destroy(){var e;this.unbindEvents(),this.isLensOn&&((e=this.lens)===null||e===void 0||e.destroy()),this.prevMagnifiedStyleMap.clear(),this.prevOriginStyleMap.clear(),super.destroy()}}Hd.defaultOptions={trigger:"pointermove",r:120,d:1.5,maxD:5,minD:0,showDPercent:!0,style:{},nodeStyle:{label:!0},preventDefault:!0};class Xd extends Fr{constructor(e,t){super(e,Object.assign({},Xd.defaultOptions,t)),this.$el=this.context.canvas.getContainer(),this.graphSize=[0,0],this.onFullscreenChange=()=>{var n,i,a,s;const o=!!document.fullscreenElement;this.options.autoFit&&this.setGraphSize(o),o?(i=(n=this.options).onEnter)===null||i===void 0||i.call(n):(s=(a=this.options).onExit)===null||s===void 0||s.call(a)},this.shortcut=new Bl(e.graph),this.bindEvents(),this.style=document.createElement("style"),document.head.appendChild(this.style),this.style.innerHTML=`
|
|
|
:not(:root):fullscreen::backdrop {
|
|
|
background: transparent;
|
|
|
}
|
|
|
`}bindEvents(){this.unbindEvents(),this.shortcut.unbindAll();const{request:e=[],exit:t=[]}=this.options.trigger;this.shortcut.bind(e,this.request),this.shortcut.bind(t,this.exit),["webkitfullscreenchange","mozfullscreenchange","fullscreenchange","MSFullscreenChange"].forEach(i=>{document.addEventListener(i,this.onFullscreenChange,!1)})}unbindEvents(){this.shortcut.unbindAll(),["webkitfullscreenchange","mozfullscreenchange","fullscreenchange","MSFullscreenChange"].forEach(t=>{document.removeEventListener(t,this.onFullscreenChange,!1)})}setGraphSize(e=!0){var t,n;let i,a;e?(i=((t=globalThis.screen)===null||t===void 0?void 0:t.width)||0,a=((n=globalThis.screen)===null||n===void 0?void 0:n.height)||0,this.graphSize=this.context.graph.getSize()):[i,a]=this.graphSize,this.context.graph.setSize(i,a),this.context.graph.render()}request(){document.fullscreenElement||!V9()||this.$el.requestFullscreen().catch(e=>{wi.warn(`Error attempting to enable full-screen: ${e.message} (${e.name})`)})}exit(){document.fullscreenElement&&document.exitFullscreen()}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}destroy(){this.exit(),this.style.remove(),super.destroy()}}Xd.defaultOptions={trigger:{},autoFit:!0};function V9(){return document.fullscreenEnabled||Reflect.get(document,"webkitFullscreenEnabled")||Reflect.get(document,"mozFullscreenEnabled")||Reflect.get(document,"msFullscreenEnabled")}class Wd extends Fr{constructor(e,t){super(e,Object.assign({},Wd.defaultOptions,t)),this.$element=Kl("grid-line",!0),this.offset=[0,0],this.onTransform=i=>{if(!this.options.follow)return;const{data:{translate:a}}=i;a&&this.updateOffset(a)},this.context.canvas.getContainer().prepend(this.$element),this.updateStyle(),this.bindEvents()}update(e){super.update(e),this.updateStyle()}bindEvents(){const{graph:e}=this.context;e.on(rt.AFTER_TRANSFORM,this.onTransform)}updateStyle(){const{size:e,stroke:t,lineWidth:n,border:i,borderLineWidth:a,borderStroke:s,borderStyle:o}=this.options;Object.assign(this.$element.style,{border:i?`${a}px ${o} ${s}`:"none",backgroundImage:`linear-gradient(${t} ${n}px, transparent ${n}px), linear-gradient(90deg, ${t} ${n}px, transparent ${n}px)`,backgroundSize:`${e}px ${e}px`})}updateOffset(e){this.offset=EL(jt(this.offset,e),this.options.size),this.$element.style.backgroundPosition=`${this.offset[0]}px ${this.offset[1]}px`}destroy(){this.context.graph.off(rt.AFTER_TRANSFORM,this.onTransform),this.$element.remove(),super.destroy()}}Wd.defaultOptions={border:!0,borderLineWidth:1,borderStroke:"#eee",borderStyle:"solid",lineWidth:1,size:20,stroke:"#eee"};function lm(r){const e={Added:new Map,Updated:new Map,Removed:new Map};return r.forEach(t=>{const{type:n,value:i}=t,a=Re(i);if(n==="NodeAdded"||n==="EdgeAdded"||n==="ComboAdded")e.Added.set(a,t);else if(n==="NodeUpdated"||n==="EdgeUpdated"||n==="ComboUpdated")if(e.Added.has(a))e.Added.set(a,{type:n.replace("Updated","Added"),value:i});else if(e.Updated.has(a)){const{original:s}=e.Updated.get(a);e.Updated.set(a,{type:n,value:i,original:s})}else e.Removed.has(a)||e.Updated.set(a,t);else(n==="NodeRemoved"||n==="EdgeRemoved"||n==="ComboRemoved")&&(e.Added.has(a)?e.Added.delete(a):(e.Updated.has(a)&&e.Updated.delete(a),e.Removed.set(a,t)))}),[...Array.from(e.Added.values()),...Array.from(e.Updated.values()),...Array.from(e.Removed.values())]}function kP(r){const{NodeAdded:e=[],NodeUpdated:t=[],NodeRemoved:n=[],EdgeAdded:i=[],EdgeUpdated:a=[],EdgeRemoved:s=[],ComboAdded:o=[],ComboUpdated:l=[],ComboRemoved:u=[]}=nf(r,c=>c.type);return{add:{nodes:e,edges:i,combos:o},update:{nodes:t,edges:a,combos:l},remove:{nodes:n,edges:s,combos:u}}}function CP(r,e){for(const t in r)nr(r[t])&&!Array.isArray(r[t])&&r[t]!==null?(e[t]||(e[t]={}),CP(r[t],e[t])):e[t]===void 0&&(e[t]=Qu(t))}function Y9(r,e=!1,t){const n={animation:e,current:{add:{},update:{},remove:{}},original:{add:{},update:{},remove:{}}},{add:i,update:a,remove:s}=kP(lm(r));return["nodes","edges","combos"].forEach(o=>{a[o]&&a[o].forEach(l=>{var u,c;const h=Object.assign({},l.value);let f=Object.assign({},l.original);if(t){const d=t.graph.getElementType(Re(l.original)),v=d==="edge"?"stroke":"fill",g=t.element.getElementComputedStyle(d,l.original);f=Object.assign(Object.assign({},l.original),{style:Object.assign({[v]:g[v]},l.original.style)})}CP(h,f),(u=n.current.update)[o]||(u[o]=[]),n.current.update[o].push(h),(c=n.original.update)[o]||(c[o]=[]),n.original.update[o].push(f)}),i[o]&&i[o].forEach(l=>{var u,c;const h=Object.assign({},l.value);(u=n.current.add)[o]||(u[o]=[]),n.current.add[o].push(h),(c=n.original.remove)[o]||(c[o]=[]),n.original.remove[o].push(h)}),s[o]&&s[o].forEach(l=>{var u,c;const h=Object.assign({},l.value);(u=n.current.remove)[o]||(u[o]=[]),n.current.remove[o].push(h),(c=n.original.add)[o]||(c[o]=[]),n.original.add[o].push(h)})}),n}class Vd extends Fr{constructor(e,t){super(e,Object.assign({},Vd.defaultOptions,t)),this.batchChanges=null,this.batchAnimation=!1,this.undoStack=[],this.redoStack=[],this.freezed=!1,this.executeCommand=(i,a=!0)=>{var s,o,l;this.freezed=!0,(o=(s=this.options).executeCommand)===null||o===void 0||o.call(s,i);const u=a?i.original:i.current;this.context.graph.addData(u.add),this.context.graph.updateData(u.update),this.context.graph.removeData(gE(u.remove,!1)),(l=this.context.element)===null||l===void 0||l.draw({silence:!0,animation:i.animation}),this.freezed=!1},this.addCommand=i=>{var a;if(!this.freezed){if(i.type===rt.AFTER_DRAW){const{dataChanges:s=[],animation:o=!0}=i.data;if(!((a=this.context.batch)===null||a===void 0)&&a.isBatching){if(!this.batchChanges)return;this.batchChanges.push(s),this.batchAnimation&&(this.batchAnimation=o);return}this.batchChanges=[s],this.batchAnimation=o}this.undoStackPush(Y9(this.batchChanges.flat(),this.batchAnimation,this.context)),this.notify(Gs.ADD,this.undoStack[this.undoStack.length-1])}},this.initBatchCommand=i=>{const{initiate:a}=i.data;this.batchAnimation=!1,a?this.batchChanges=[]:this.undoStack.pop()||(this.batchChanges=null)},this.emitter=new hd;const{graph:n}=this.context;n.on(rt.AFTER_DRAW,this.addCommand),n.on(rt.BATCH_START,this.initBatchCommand),n.on(rt.BATCH_END,this.addCommand)}canUndo(){return this.undoStack.length>0}canRedo(){return this.redoStack.length>0}undo(){var e,t,n,i;const a=this.undoStack.pop();if(a){if(this.executeCommand(a),((t=(e=this.options).beforeAddCommand)===null||t===void 0?void 0:t.call(e,a,!1))===!1)return;this.redoStack.push(a),(i=(n=this.options).afterAddCommand)===null||i===void 0||i.call(n,a,!1),this.notify(Gs.UNDO,a)}return this}redo(){const e=this.redoStack.pop();return e&&(this.executeCommand(e,!1),this.undoStackPush(e),this.notify(Gs.REDO,e)),this}undoAndCancel(){const e=this.undoStack.pop();return e&&(this.executeCommand(e,!1),this.redoStack=[],this.notify(Gs.CANCEL,e)),this}undoStackPush(e){var t,n,i,a;const{stackSize:s}=this.options;s!==0&&this.undoStack.length>=s&&this.undoStack.shift(),((n=(t=this.options).beforeAddCommand)===null||n===void 0?void 0:n.call(t,e,!0))!==!1&&(this.undoStack.push(e),(a=(i=this.options).afterAddCommand)===null||a===void 0||a.call(i,e,!0))}clear(){this.undoStack=[],this.redoStack=[],this.batchChanges=null,this.batchAnimation=!1,this.notify(Gs.CLEAR,null)}notify(e,t){this.emitter.emit(e,{cmd:t}),this.emitter.emit(Gs.CHANGE,{cmd:t})}on(e,t){this.emitter.on(e,t)}destroy(){const{graph:e}=this.context;e.off(rt.AFTER_DRAW,this.addCommand),e.off(rt.BATCH_START,this.initBatchCommand),e.off(rt.BATCH_END,this.addCommand),this.emitter.off(),super.destroy(),this.undoStack=[],this.redoStack=[]}}Vd.defaultOptions={stackSize:0};var U9=w(1344),Z9=w.n(U9);function K9(r,e,t){if(r.length===1)return Q9(r[0],e,t);if(r.length===2)return J9(r,e,t);switch(t){case"smooth":return $9(r,e);case"sharp":return eB(r,e);case"rounded":default:return q9(r,e)}}const Q9=(r,e,t)=>{if(t==="sharp")return[["M",r[0]-e,r[1]-e],["L",r[0]+e,r[1]-e],["L",r[0]+e,r[1]+e],["L",r[0]-e,r[1]+e],["Z"]];const n=[e,e,0,0,0];return[["M",r[0],r[1]-e],["A",...n,r[0],r[1]+e],["A",...n,r[0],r[1]-e]]},J9=(r,e,t)=>{const n=[e,e,0,0,0],i=t==="sharp"?jt(r[0],Ys(Es(On(r[0],r[1])),e)):r[0],a=t==="sharp"?jt(r[1],Ys(Es(On(r[1],r[0])),e)):r[1],s=Ys(Es(wf(On(i,a),!1)),e),o=Ys(s,-1),l=jt(i,s),u=jt(a,s),c=jt(a,o),h=jt(i,o);return t==="sharp"?[["M",l[0],l[1]],["L",u[0],u[1]],["L",c[0],c[1]],["L",h[0],h[1]],["Z"]]:[["M",l[0],l[1]],["L",u[0],u[1]],["A",...n,c[0],c[1]],["L",h[0],h[1]],["A",...n,l[0],l[1]]]},q9=(r,e)=>{const t=OE(r).map((o,l)=>{const u=(l-2+r.length)%r.length,c=(l-1+r.length)%r.length,h=(l+1)%r.length,f=r[u],d=r[c],v=r[h],g=On(f,d),p=On(d,o),m=On(o,v),b=(k,C)=>Zp(k,C,!0)<Math.PI,x=b(g,p),O=b(p,m),T=k=>Ys(Es(wf(k,!1)),e),S=T(p);return[{p:Do(x?jt(d,T(g)):jt(d,S)),concave:x&&d},{p:Do(O?jt(o,T(m)):jt(o,S)),concave:O&&o}]}),n=[e,e,0,0,0],i=t.findIndex((o,l)=>!t[(l-1+t.length)%t.length][0].concave&&!t[(l-1+t.length)%t.length][1].concave&&!o[0].concave&&!o[0].concave&&!o[1].concave),a=t.slice(i).concat(t.slice(0,i));let s=[];return a.flatMap((o,l)=>{const u=[],c=a[t.length-1];return l===0&&u.push(["M",...c[1].p]),o[0].concave?s.push(o[0].p,o[1].p):u.push(["A",...n,...o[0].p]),o[1].concave?s.unshift(o[1].p):u.push(["L",...o[1].p]),s.length===3&&(u.pop(),u.push(["C",...s.flat()]),s=[]),u})},$9=(r,e)=>{const t=OE(r).map((n,i)=>{const a=r[(i+1)%r.length];return{p:n,v:Es(On(a,n))}});return t.forEach((n,i)=>{const a=i>0?i-1:r.length-1,s=t[a].v,o=Es(jt(s,Ys(n.v,Zp(s,n.v,!0)<Math.PI?1:-1)));n.p=jt(n.p,Ys(o,e))}),GE(t.map(n=>n.p))},eB=(r,e)=>{const n=r.map((a,s)=>{const o=r[s===0?r.length-1:s-1],l=nc(Ys(Es(wf(On(o,a),!1)),e));return[jt(o,l),jt(a,l)]}).flat();return n.map((a,s)=>{if(s%2===0)return null;const o=[n[(s-1)%n.length],n[s%n.length]],l=[n[(s+1)%n.length],n[(s+2)%n.length]];return Kp(o,l,!0)}).filter(Boolean).map((a,s)=>[s===0?"M":"L",a[0],a[1]]).concat([["Z"]])};var tB=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class Yd extends Fr{constructor(e,t){super(e,Object.assign({},Yd.defaultOptions,t)),this.hullMemberIds=[],this.drawHull=()=>{if(!this.shape)this.shape=new lc({style:this.getHullStyle()}),this.context.canvas.appendChild(this.shape);else{const n=!dr(this.optionsCache,this.options);this.shape.update(this.getHullStyle(n))}this.optionsCache=Object.assign({},this.options)},this.updateHullPath=n=>{this.shape&&this.options.members.includes(Re(n.data))&&this.shape.update({d:this.getHullPath(!0)})},this.getHullPath=(n=!1)=>{const{graph:i}=this.context,a=this.getMember();if(a.length===0)return"";const s=a.map(u=>i.getNodeData(u)),o=Z9()(s.map(Br),this.options.concavity).slice(1).reverse(),l=o.flatMap(u=>s.filter(c=>dr(Br(c),u)).map(Re));return dr(l,this.hullMemberIds)&&!n?this.path:(this.hullMemberIds=l,this.path=K9(o,this.getPadding(),this.options.corner),this.path)},this.bindEvents()}bindEvents(){this.context.graph.on(rt.AFTER_RENDER,this.drawHull),this.context.graph.on(rt.AFTER_ELEMENT_UPDATE,this.updateHullPath)}getHullStyle(e){const t=this.options,{members:n,padding:i,corner:a}=t,s=tB(t,["members","padding","corner"]);return Object.assign(Object.assign({},s),{d:this.getHullPath(e)})}getPadding(){const{graph:e}=this.context;return this.hullMemberIds.reduce((n,i)=>{const{halfExtents:a}=e.getElementRenderBounds(i),s=Math.max(a[0],a[1]);return Math.max(n,s)},0)+this.options.padding}addMember(e){const t=Array.isArray(e)?e:[e];this.options.members=[...new Set([...this.options.members,...t])],this.shape.update({d:this.getHullPath()})}removeMember(e){const t=Array.isArray(e)?e:[e];this.options.members=this.options.members.filter(n=>!t.includes(n)),t.some(n=>this.hullMemberIds.includes(n))&&this.shape.update({d:this.getHullPath()})}updateMember(e){this.options.members=pt(e)?e(this.options.members):e,this.shape.update(this.getHullStyle(!0))}getMember(){return this.options.members}destroy(){this.context.graph.off(rt.AFTER_DRAW,this.drawHull),this.shape.destroy(),this.hullMemberIds=[],super.destroy()}}Yd.defaultOptions={members:[],padding:10,corner:"rounded",concavity:1/0,fill:"lightblue",fillOpacity:.2,labelOpacity:1,stroke:"blue",strokeOpacity:.2};function Jt(r,e,t){return(e=ex(e))in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function NP(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function ar(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?NP(Object(t),!0).forEach(function(n){Jt(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):NP(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function nB(r,e){for(;!{}.hasOwnProperty.call(r,e)&&(r=_l(r))!==null;);return r}function um(){return um=typeof Reflect!="undefined"&&Reflect.get?Reflect.get.bind():function(r,e,t){var n=nB(r,e);if(n){var i=Object.getOwnPropertyDescriptor(n,e);return i.get?i.get.call(arguments.length<3?r:t):i.value}},um.apply(null,arguments)}function _P(r,e,t,n){var i=um(_l(1&n?r.prototype:r),e,t);return 2&n&&typeof i=="function"?function(a){return i.apply(t,a)}:i}function cm(r,e,t){r.prototype=e.prototype=t,t.constructor=r}function RP(r,e){var t=Object.create(r.prototype);for(var n in e)t[n]=e[n];return t}function Ac(){}var Oc=.7,Ud=1/Oc,Ql="\\s*([+-]?\\d+)\\s*",kc="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",rs="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",rB=/^#([0-9a-f]{3,8})$/,iB=new RegExp(`^rgb\\(${Ql},${Ql},${Ql}\\)$`),aB=new RegExp(`^rgb\\(${rs},${rs},${rs}\\)$`),sB=new RegExp(`^rgba\\(${Ql},${Ql},${Ql},${kc}\\)$`),oB=new RegExp(`^rgba\\(${rs},${rs},${rs},${kc}\\)$`),lB=new RegExp(`^hsl\\(${kc},${rs},${rs}\\)$`),uB=new RegExp(`^hsla\\(${kc},${rs},${rs},${kc}\\)$`),LP={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};cm(Ac,Zd,{copy(r){return Object.assign(new this.constructor,this,r)},displayable(){return this.rgb().displayable()},hex:DP,formatHex:DP,formatHex8:cB,formatHsl:hB,formatRgb:IP,toString:IP});function DP(){return this.rgb().formatHex()}function cB(){return this.rgb().formatHex8()}function hB(){return GP(this).formatHsl()}function IP(){return this.rgb().formatRgb()}function Zd(r){var e,t;return r=(r+"").trim().toLowerCase(),(e=rB.exec(r))?(t=e[1].length,e=parseInt(e[1],16),t===6?BP(e):t===3?new Mi(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):t===8?Kd(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):t===4?Kd(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=iB.exec(r))?new Mi(e[1],e[2],e[3],1):(e=aB.exec(r))?new Mi(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=sB.exec(r))?Kd(e[1],e[2],e[3],e[4]):(e=oB.exec(r))?Kd(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=lB.exec(r))?jP(e[1],e[2]/100,e[3]/100,1):(e=uB.exec(r))?jP(e[1],e[2]/100,e[3]/100,e[4]):LP.hasOwnProperty(r)?BP(LP[r]):r==="transparent"?new Mi(NaN,NaN,NaN,0):null}function BP(r){return new Mi(r>>16&255,r>>8&255,r&255,1)}function Kd(r,e,t,n){return n<=0&&(r=e=t=NaN),new Mi(r,e,t,n)}function fB(r){return r instanceof Ac||(r=Zd(r)),r?(r=r.rgb(),new Mi(r.r,r.g,r.b,r.opacity)):new Mi}function dB(r,e,t,n){return arguments.length===1?fB(r):new Mi(r,e,t,n==null?1:n)}function Mi(r,e,t,n){this.r=+r,this.g=+e,this.b=+t,this.opacity=+n}cm(Mi,dB,RP(Ac,{brighter(r){return r=r==null?Ud:Math.pow(Ud,r),new Mi(this.r*r,this.g*r,this.b*r,this.opacity)},darker(r){return r=r==null?Oc:Math.pow(Oc,r),new Mi(this.r*r,this.g*r,this.b*r,this.opacity)},rgb(){return this},clamp(){return new Mi(Zo(this.r),Zo(this.g),Zo(this.b),Qd(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:zP,formatHex:zP,formatHex8:vB,formatRgb:FP,toString:FP}));function zP(){return`#${Ko(this.r)}${Ko(this.g)}${Ko(this.b)}`}function vB(){return`#${Ko(this.r)}${Ko(this.g)}${Ko(this.b)}${Ko((isNaN(this.opacity)?1:this.opacity)*255)}`}function FP(){const r=Qd(this.opacity);return`${r===1?"rgb(":"rgba("}${Zo(this.r)}, ${Zo(this.g)}, ${Zo(this.b)}${r===1?")":`, ${r})`}`}function Qd(r){return isNaN(r)?1:Math.max(0,Math.min(1,r))}function Zo(r){return Math.max(0,Math.min(255,Math.round(r)||0))}function Ko(r){return r=Zo(r),(r<16?"0":"")+r.toString(16)}function jP(r,e,t,n){return n<=0?r=e=t=NaN:t<=0||t>=1?r=e=NaN:e<=0&&(r=NaN),new Ca(r,e,t,n)}function GP(r){if(r instanceof Ca)return new Ca(r.h,r.s,r.l,r.opacity);if(r instanceof Ac||(r=Zd(r)),!r)return new Ca;if(r instanceof Ca)return r;r=r.rgb();var e=r.r/255,t=r.g/255,n=r.b/255,i=Math.min(e,t,n),a=Math.max(e,t,n),s=NaN,o=a-i,l=(a+i)/2;return o?(e===a?s=(t-n)/o+(t<n)*6:t===a?s=(n-e)/o+2:s=(e-t)/o+4,o/=l<.5?a+i:2-a-i,s*=60):o=l>0&&l<1?0:s,new Ca(s,o,l,r.opacity)}function gB(r,e,t,n){return arguments.length===1?GP(r):new Ca(r,e,t,n==null?1:n)}function Ca(r,e,t,n){this.h=+r,this.s=+e,this.l=+t,this.opacity=+n}cm(Ca,gB,RP(Ac,{brighter(r){return r=r==null?Ud:Math.pow(Ud,r),new Ca(this.h,this.s,this.l*r,this.opacity)},darker(r){return r=r==null?Oc:Math.pow(Oc,r),new Ca(this.h,this.s,this.l*r,this.opacity)},rgb(){var r=this.h%360+(this.h<0)*360,e=isNaN(r)||isNaN(this.s)?0:this.s,t=this.l,n=t+(t<.5?t:1-t)*e,i=2*t-n;return new Mi(hm(r>=240?r-240:r+120,i,n),hm(r,i,n),hm(r<120?r+240:r-120,i,n),this.opacity)},clamp(){return new Ca(HP(this.h),Jd(this.s),Jd(this.l),Qd(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const r=Qd(this.opacity);return`${r===1?"hsl(":"hsla("}${HP(this.h)}, ${Jd(this.s)*100}%, ${Jd(this.l)*100}%${r===1?")":`, ${r})`}`}}));function HP(r){return r=(r||0)%360,r<0?r+360:r}function Jd(r){return Math.max(0,Math.min(1,r||0))}function hm(r,e,t){return(r<60?e+(t-e)*r/60:r<180?t:r<240?e+(t-e)*(240-r)/60:e)*255}function Jl(r,e){var t=typeof Symbol!="undefined"&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=Ep(r))||e&&r&&typeof r.length=="number"){t&&(r=t);var n=0,i=function(){};return{s:i,n:function(){return n>=r.length?{done:!0}:{done:!1,value:r[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,s=!0,o=!1;return{s:function(){t=t.call(r)},n:function(){var u=t.next();return s=u.done,u},e:function(u){o=!0,a=u},f:function(){try{s||t.return==null||t.return()}finally{if(o)throw a}}}}function pB(r,e){if(r==null)return{};var t={};for(var n in r)if({}.hasOwnProperty.call(r,n)){if(e.includes(n))continue;t[n]=r[n]}return t}function Qo(r,e){if(r==null)return{};var t,n,i=pB(r,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(r);for(n=0;n<a.length;n++)t=a[n],e.includes(t)||{}.propertyIsEnumerable.call(r,t)&&(i[t]=r[t])}return i}var mB=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof w.g!="undefined"?w.g:typeof self!="undefined"?self:{},XP={exports:{}};(function(r,e){(function(t,n){r.exports=n()})(mB,function(){function t(T,S,k,C,W){n(T,S,k||0,C||T.length-1,W||a)}function n(T,S,k,C,W){for(;C>k;){if(C-k>600){var U=C-k+1,J=S-k+1,te=Math.log(U),ie=.5*Math.exp(2*te/3),ae=.5*Math.sqrt(te*ie*(U-ie)/U)*(J-U/2<0?-1:1),ve=Math.max(k,Math.floor(S-J*ie/U+ae)),Z=Math.min(C,Math.floor(S+(U-J)*ie/U+ae));n(T,S,ve,Z,W)}var H=T[S],X=k,q=C;for(i(T,k,S),W(T[C],H)>0&&i(T,k,C);X<q;){for(i(T,X,q),X++,q--;W(T[X],H)<0;)X++;for(;W(T[q],H)>0;)q--}W(T[k],H)===0?i(T,k,q):(q++,i(T,q,C)),q<=S&&(k=q+1),S<=q&&(C=q-1)}}function i(T,S,k){var C=T[S];T[S]=T[k],T[k]=C}function a(T,S){return T<S?-1:T>S?1:0}var s=function(S){S===void 0&&(S=9),this._maxEntries=Math.max(4,S),this._minEntries=Math.max(2,Math.ceil(this._maxEntries*.4)),this.clear()};s.prototype.all=function(){return this._all(this.data,[])},s.prototype.search=function(S){var k=this.data,C=[];if(!b(S,k))return C;for(var W=this.toBBox,U=[];k;){for(var J=0;J<k.children.length;J++){var te=k.children[J],ie=k.leaf?W(te):te;b(S,ie)&&(k.leaf?C.push(te):m(S,ie)?this._all(te,C):U.push(te))}k=U.pop()}return C},s.prototype.collides=function(S){var k=this.data;if(!b(S,k))return!1;for(var C=[];k;){for(var W=0;W<k.children.length;W++){var U=k.children[W],J=k.leaf?this.toBBox(U):U;if(b(S,J)){if(k.leaf||m(S,J))return!0;C.push(U)}}k=C.pop()}return!1},s.prototype.load=function(S){if(!(S&&S.length))return this;if(S.length<this._minEntries){for(var k=0;k<S.length;k++)this.insert(S[k]);return this}var C=this._build(S.slice(),0,S.length-1,0);if(!this.data.children.length)this.data=C;else if(this.data.height===C.height)this._splitRoot(this.data,C);else{if(this.data.height<C.height){var W=this.data;this.data=C,C=W}this._insert(C,this.data.height-C.height-1,!0)}return this},s.prototype.insert=function(S){return S&&this._insert(S,this.data.height-1),this},s.prototype.clear=function(){return this.data=x([]),this},s.prototype.remove=function(S,k){if(!S)return this;for(var C=this.data,W=this.toBBox(S),U=[],J=[],te,ie,ae;C||U.length;){if(C||(C=U.pop(),ie=U[U.length-1],te=J.pop(),ae=!0),C.leaf){var ve=o(S,C.children,k);if(ve!==-1)return C.children.splice(ve,1),U.push(C),this._condense(U),this}!ae&&!C.leaf&&m(C,W)?(U.push(C),J.push(te),te=0,ie=C,C=C.children[0]):ie?(te++,C=ie.children[te],ae=!1):C=null}return this},s.prototype.toBBox=function(S){return S},s.prototype.compareMinX=function(S,k){return S.minX-k.minX},s.prototype.compareMinY=function(S,k){return S.minY-k.minY},s.prototype.toJSON=function(){return this.data},s.prototype.fromJSON=function(S){return this.data=S,this},s.prototype._all=function(S,k){for(var C=[];S;)S.leaf?k.push.apply(k,S.children):C.push.apply(C,S.children),S=C.pop();return k},s.prototype._build=function(S,k,C,W){var U=C-k+1,J=this._maxEntries,te;if(U<=J)return te=x(S.slice(k,C+1)),l(te,this.toBBox),te;W||(W=Math.ceil(Math.log(U)/Math.log(J)),J=Math.ceil(U/Math.pow(J,W-1))),te=x([]),te.leaf=!1,te.height=W;var ie=Math.ceil(U/J),ae=ie*Math.ceil(Math.sqrt(J));O(S,k,C,ae,this.compareMinX);for(var ve=k;ve<=C;ve+=ae){var Z=Math.min(ve+ae-1,C);O(S,ve,Z,ie,this.compareMinY);for(var H=ve;H<=Z;H+=ie){var X=Math.min(H+ie-1,Z);te.children.push(this._build(S,H,X,W-1))}}return l(te,this.toBBox),te},s.prototype._chooseSubtree=function(S,k,C,W){for(;W.push(k),!(k.leaf||W.length-1===C);){for(var U=1/0,J=1/0,te=void 0,ie=0;ie<k.children.length;ie++){var ae=k.children[ie],ve=d(ae),Z=g(S,ae)-ve;Z<J?(J=Z,U=ve<U?ve:U,te=ae):Z===J&&ve<U&&(U=ve,te=ae)}k=te||k.children[0]}return k},s.prototype._insert=function(S,k,C){var W=C?S:this.toBBox(S),U=[],J=this._chooseSubtree(W,this.data,k,U);for(J.children.push(S),c(J,W);k>=0&&U[k].children.length>this._maxEntries;)this._split(U,k),k--;this._adjustParentBBoxes(W,U,k)},s.prototype._split=function(S,k){var C=S[k],W=C.children.length,U=this._minEntries;this._chooseSplitAxis(C,U,W);var J=this._chooseSplitIndex(C,U,W),te=x(C.children.splice(J,C.children.length-J));te.height=C.height,te.leaf=C.leaf,l(C,this.toBBox),l(te,this.toBBox),k?S[k-1].children.push(te):this._splitRoot(C,te)},s.prototype._splitRoot=function(S,k){this.data=x([S,k]),this.data.height=S.height+1,this.data.leaf=!1,l(this.data,this.toBBox)},s.prototype._chooseSplitIndex=function(S,k,C){for(var W,U=1/0,J=1/0,te=k;te<=C-k;te++){var ie=u(S,0,te,this.toBBox),ae=u(S,te,C,this.toBBox),ve=p(ie,ae),Z=d(ie)+d(ae);ve<U?(U=ve,W=te,J=Z<J?Z:J):ve===U&&Z<J&&(J=Z,W=te)}return W||C-k},s.prototype._chooseSplitAxis=function(S,k,C){var W=S.leaf?this.compareMinX:h,U=S.leaf?this.compareMinY:f,J=this._allDistMargin(S,k,C,W),te=this._allDistMargin(S,k,C,U);J<te&&S.children.sort(W)},s.prototype._allDistMargin=function(S,k,C,W){S.children.sort(W);for(var U=this.toBBox,J=u(S,0,k,U),te=u(S,C-k,C,U),ie=v(J)+v(te),ae=k;ae<C-k;ae++){var ve=S.children[ae];c(J,S.leaf?U(ve):ve),ie+=v(J)}for(var Z=C-k-1;Z>=k;Z--){var H=S.children[Z];c(te,S.leaf?U(H):H),ie+=v(te)}return ie},s.prototype._adjustParentBBoxes=function(S,k,C){for(var W=C;W>=0;W--)c(k[W],S)},s.prototype._condense=function(S){for(var k=S.length-1,C=void 0;k>=0;k--)S[k].children.length===0?k>0?(C=S[k-1].children,C.splice(C.indexOf(S[k]),1)):this.clear():l(S[k],this.toBBox)};function o(T,S,k){if(!k)return S.indexOf(T);for(var C=0;C<S.length;C++)if(k(T,S[C]))return C;return-1}function l(T,S){u(T,0,T.children.length,S,T)}function u(T,S,k,C,W){W||(W=x(null)),W.minX=1/0,W.minY=1/0,W.maxX=-1/0,W.maxY=-1/0;for(var U=S;U<k;U++){var J=T.children[U];c(W,T.leaf?C(J):J)}return W}function c(T,S){return T.minX=Math.min(T.minX,S.minX),T.minY=Math.min(T.minY,S.minY),T.maxX=Math.max(T.maxX,S.maxX),T.maxY=Math.max(T.maxY,S.maxY),T}function h(T,S){return T.minX-S.minX}function f(T,S){return T.minY-S.minY}function d(T){return(T.maxX-T.minX)*(T.maxY-T.minY)}function v(T){return T.maxX-T.minX+(T.maxY-T.minY)}function g(T,S){return(Math.max(S.maxX,T.maxX)-Math.min(S.minX,T.minX))*(Math.max(S.maxY,T.maxY)-Math.min(S.minY,T.minY))}function p(T,S){var k=Math.max(T.minX,S.minX),C=Math.max(T.minY,S.minY),W=Math.min(T.maxX,S.maxX),U=Math.min(T.maxY,S.maxY);return Math.max(0,W-k)*Math.max(0,U-C)}function m(T,S){return T.minX<=S.minX&&T.minY<=S.minY&&S.maxX<=T.maxX&&S.maxY<=T.maxY}function b(T,S){return S.minX<=T.maxX&&S.minY<=T.maxY&&S.maxX>=T.minX&&S.maxY>=T.minY}function x(T){return{children:T,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function O(T,S,k,C,W){for(var U=[S,k];U.length;)if(k=U.pop(),S=U.pop(),!(k-S<=C)){var J=S+Math.ceil((k-S)/C/2)*C;t(T,J,S,k,W),U.push(S,J,J,k)}}return s})})(XP);var gJ=XP.exports,Tt=function(r){return r.GROUP="g",r.FRAGMENT="fragment",r.CIRCLE="circle",r.ELLIPSE="ellipse",r.IMAGE="image",r.RECT="rect",r.LINE="line",r.POLYLINE="polyline",r.POLYGON="polygon",r.TEXT="text",r.PATH="path",r.HTML="html",r.MESH="mesh",r}({}),fm=function(r){return r[r.ZERO=0]="ZERO",r[r.NEGATIVE_ONE=1]="NEGATIVE_ONE",r}({}),pJ=null,mJ=null,dm=He,ql=Te,yB=Dt,bB=jn,WP=wt,vm=th,Si=function(){function r(){tt(this,r),this.center=[0,0,0],this.halfExtents=[0,0,0],this.min=[0,0,0],this.max=[0,0,0]}return nt(r,[{key:"update",value:function(t,n){ql(this.center,t),ql(this.halfExtents,n),vm(this.min,this.center,this.halfExtents),dm(this.max,this.center,this.halfExtents)}},{key:"setMinMax",value:function(t,n){dm(this.center,n,t),WP(this.center,this.center,.5),vm(this.halfExtents,n,t),WP(this.halfExtents,this.halfExtents,.5),ql(this.min,t),ql(this.max,n)}},{key:"getMin",value:function(){return this.min}},{key:"getMax",value:function(){return this.max}},{key:"add",value:function(t){if(!r.isEmpty(t)){if(r.isEmpty(this)){this.setMinMax(t.getMin(),t.getMax());return}var n=this.center,i=n[0],a=n[1],s=n[2],o=this.halfExtents,l=o[0],u=o[1],c=o[2],h=i-l,f=i+l,d=a-u,v=a+u,g=s-c,p=s+c,m=t.center,b=m[0],x=m[1],O=m[2],T=t.halfExtents,S=T[0],k=T[1],C=T[2],W=b-S,U=b+S,J=x-k,te=x+k,ie=O-C,ae=O+C;W<h&&(h=W),U>f&&(f=U),J<d&&(d=J),te>v&&(v=te),ie<g&&(g=ie),ae>p&&(p=ae),n[0]=(h+f)*.5,n[1]=(d+v)*.5,n[2]=(g+p)*.5,o[0]=(f-h)*.5,o[1]=(v-d)*.5,o[2]=(p-g)*.5,this.min[0]=h,this.min[1]=d,this.min[2]=g,this.max[0]=f,this.max[1]=v,this.max[2]=p}}},{key:"setFromTransformedAABB",value:function(t,n){var i=this.center,a=this.halfExtents,s=t.center,o=t.halfExtents,l=n[0],u=n[4],c=n[8],h=n[1],f=n[5],d=n[9],v=n[2],g=n[6],p=n[10],m=Math.abs(l),b=Math.abs(u),x=Math.abs(c),O=Math.abs(h),T=Math.abs(f),S=Math.abs(d),k=Math.abs(v),C=Math.abs(g),W=Math.abs(p);i[0]=n[12]+l*s[0]+u*s[1]+c*s[2],i[1]=n[13]+h*s[0]+f*s[1]+d*s[2],i[2]=n[14]+v*s[0]+g*s[1]+p*s[2],a[0]=m*o[0]+b*o[1]+x*o[2],a[1]=O*o[0]+T*o[1]+S*o[2],a[2]=k*o[0]+C*o[1]+W*o[2],vm(this.min,i,a),dm(this.max,i,a)}},{key:"intersects",value:function(t){var n=this.getMax(),i=this.getMin(),a=t.getMax(),s=t.getMin();return i[0]<=a[0]&&n[0]>=s[0]&&i[1]<=a[1]&&n[1]>=s[1]&&i[2]<=a[2]&&n[2]>=s[2]}},{key:"intersection",value:function(t){if(!this.intersects(t))return null;var n=new r,i=yB([0,0,0],this.getMin(),t.getMin()),a=bB([0,0,0],this.getMax(),t.getMax());return n.setMinMax(i,a),n}},{key:"getNegativeFarPoint",value:function(t){return t.pnVertexFlag===273?ql([0,0,0],this.min):t.pnVertexFlag===272?[this.min[0],this.min[1],this.max[2]]:t.pnVertexFlag===257?[this.min[0],this.max[1],this.min[2]]:t.pnVertexFlag===256?[this.min[0],this.max[1],this.max[2]]:t.pnVertexFlag===17?[this.max[0],this.min[1],this.min[2]]:t.pnVertexFlag===16?[this.max[0],this.min[1],this.max[2]]:t.pnVertexFlag===1?[this.max[0],this.max[1],this.min[2]]:[this.max[0],this.max[1],this.max[2]]}},{key:"getPositiveFarPoint",value:function(t){return t.pnVertexFlag===273?ql([0,0,0],this.max):t.pnVertexFlag===272?[this.max[0],this.max[1],this.min[2]]:t.pnVertexFlag===257?[this.max[0],this.min[1],this.max[2]]:t.pnVertexFlag===256?[this.max[0],this.min[1],this.min[2]]:t.pnVertexFlag===17?[this.min[0],this.max[1],this.max[2]]:t.pnVertexFlag===16?[this.min[0],this.max[1],this.min[2]]:t.pnVertexFlag===1?[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||t.halfExtents[0]===0&&t.halfExtents[1]===0&&t.halfExtents[2]===0}}])}(),xB=function(){function r(e,t){tt(this,r),this.distance=e||0,this.normal=t||me(0,1,0),this.updatePNVertexFlag()}return nt(r,[{key:"updatePNVertexFlag",value:function(){this.pnVertexFlag=(+(this.normal[0]>=0)<<8)+(+(this.normal[1]>=0)<<4)+ +(this.normal[2]>=0)}},{key:"distanceToPoint",value:function(t){return dn(t,this.normal)-this.distance}},{key:"normalize",value:function(){var t=1/wu(this.normal);wt(this.normal,this.normal,t),this.distance*=t}},{key:"intersectsLine",value:function(t,n,i){var a=this.distanceToPoint(t),s=this.distanceToPoint(n),o=a/(a-s),l=o>=0&&o<=1;return l&&i&&Ha(i,t,n,o),l}}])}(),yJ=function(r){return r[r.OUTSIDE=4294967295]="OUTSIDE",r[r.INSIDE=0]="INSIDE",r[r.INDETERMINATE=2147483647]="INDETERMINATE",r}({}),EB=function(){function r(e){if(tt(this,r),this.planes=[],e)this.planes=e;else for(var t=0;t<6;t++)this.planes.push(new xB)}return nt(r,[{key:"extractFromVPMatrix",value:function(t){var n=pn(t,16),i=n[0],a=n[1],s=n[2],o=n[3],l=n[4],u=n[5],c=n[6],h=n[7],f=n[8],d=n[9],v=n[10],g=n[11],p=n[12],m=n[13],b=n[14],x=n[15];Ae(this.planes[0].normal,o-i,h-l,g-f),this.planes[0].distance=x-p,Ae(this.planes[1].normal,o+i,h+l,g+f),this.planes[1].distance=x+p,Ae(this.planes[2].normal,o+a,h+u,g+d),this.planes[2].distance=x+m,Ae(this.planes[3].normal,o-a,h-u,g-d),this.planes[3].distance=x-m,Ae(this.planes[4].normal,o-s,h-c,g-v),this.planes[4].distance=x-b,Ae(this.planes[5].normal,o+s,h+c,g+v),this.planes[5].distance=x+b,this.planes.forEach(function(O){O.normalize(),O.updatePNVertexFlag()})}}])}(),ia=function(){function r(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;tt(this,r),this.x=0,this.y=0,this.x=e,this.y=t}return nt(r,[{key:"clone",value:function(){return new r(this.x,this.y)}},{key:"copyFrom",value:function(t){this.x=t.x,this.y=t.y}}])}(),$l=function(){function r(e,t,n,i){tt(this,r),this.x=e,this.y=t,this.width=n,this.height=i,this.left=e,this.right=e+n,this.top=t,this.bottom=t+i}return nt(r,[{key:"toJSON",value:function(){}}],[{key:"fromRect",value:function(t){return new r(t.x,t.y,t.width,t.height)}},{key:"applyTransform",value:function(t,n){var i=ma(t.x,t.y,0,1),a=ma(t.x+t.width,t.y,0,1),s=ma(t.x,t.y+t.height,0,1),o=ma(t.x+t.width,t.y+t.height,0,1),l=hr(),u=hr(),c=hr(),h=hr();Ze(l,i,n),Ze(u,a,n),Ze(c,s,n),Ze(h,o,n);var f=Math.min(l[0],u[0],c[0],h[0]),d=Math.min(l[1],u[1],c[1],h[1]),v=Math.max(l[0],u[0],c[0],h[0]),g=Math.max(l[1],u[1],c[1],h[1]);return r.fromRect({x:f,y:d,width:v-f,height:g-d})}}])}(),kn="Method not implemented.",bJ="Use document.documentElement instead.",wB="Cannot append a destroyed element.";function eu(r){return r===void 0?0:r>360||r<-360?r%360:r}var gm=Me();function si(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;return Array.isArray(r)&&r.length===3?n?De(r):Te(gm,r):ht(r)?n?me(r,e,t):Ae(gm,r,e,t):n?me(r[0],r[1]||e,r[2]||t):Ae(gm,r[0],r[1]||e,r[2]||t)}var PB=Math.PI/180;function wn(r){return r*PB}var MB=180/Math.PI;function aa(r){return r*MB}var SB=.9;function xJ(r){return r%=400,r<0&&(r+=400),r*SB}function EJ(r){return r/360}function TB(r){return 360*r}var qd=Math.PI/2;function AB(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=t*t,o=n*n,l=i*i,u=a*a,c=s+o+l+u,h=t*a-n*i;return h>.499995*c?(r[0]=qd,r[1]=2*Math.atan2(n,t),r[2]=0):h<-.499995*c?(r[0]=-qd,r[1]=2*Math.atan2(n,t),r[2]=0):(r[0]=Math.asin(2*(t*i-a*n)),r[1]=Math.atan2(2*(t*a+n*i),1-2*(l+u)),r[2]=Math.atan2(2*(t*n+i*a),1-2*(o+l))),r}function OB(r,e){var t,n,i=Wa(Me(),e),a=pn(i,3),s=a[0],o=a[1],l=a[2],u=Math.asin(-e[2]/s);return u<qd?u>-qd?(t=Math.atan2(e[6]/o,e[10]/l),n=Math.atan2(e[1]/s,e[0]/s)):(n=0,t=-Math.atan2(e[4]/o,e[5]/o)):(n=0,t=Math.atan2(e[4]/o,e[5]/o)),r[0]=t,r[1]=u,r[2]=n,r}function pm(r,e){return e.length===16?OB(r,e):AB(r,e)}function kB(r,e,t,n,i){var a=Math.cos(r),s=Math.sin(r);return qy(n*a,i*s,0,-n*s,i*a,0,e,t,1)}function CB(r,e,t,n,i,a,s){var o=arguments.length>7&&arguments[7]!==void 0?arguments[7]:!1,l=2*a,u=t-e,c=n-i,h=l/u,f=l/c,d=(t+e)/u,v=(n+i)/c,g,p,m=s-a,b=s*a;return o?(g=-s/m,p=-b/m):(g=-(s+a)/m,p=-2*b/m),r[0]=h,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=f,r[6]=0,r[7]=0,r[8]=d,r[9]=v,r[10]=g,r[11]=-1,r[12]=0,r[13]=0,r[14]=p,r[15]=0,r}function VP(r){var e=r[0],t=r[1],n=r[3],i=r[4],a=Math.sqrt(e*e+t*t),s=Math.sqrt(n*n+i*i),o=e*i-t*n;if(o<0&&(e<i?a=-a:s=-s),a){var l=1/a;e*=l,t*=l}if(s){var u=1/s;n*=u,i*=u}var c=Math.atan2(t,e),h=aa(c);return[r[6],r[7],a,s,h]}var is=mt(),Na=mt(),Cc=hr(),Rt=[Me(),Me(),Me()],YP=Me();function NB(r,e,t,n,i,a){if(!_B(is,r)||(_n(Na,is),Na[3]=0,Na[7]=0,Na[11]=0,Na[15]=1,Math.abs(Lr(Na))<1e-8))return!1;var s=is[3],o=is[7],l=is[11],u=is[12],c=is[13],h=is[14],f=is[15];if(s!==0||o!==0||l!==0){Cc[0]=s,Cc[1]=o,Cc[2]=l,Cc[3]=f;var d=Ot(Na,Na);if(!d)return!1;Oi(Na,Na),Ze(i,Cc,Na)}else i[0]=i[1]=i[2]=0,i[3]=1;if(e[0]=u,e[1]=c,e[2]=h,RB(Rt,is),t[0]=ze(Rt[0]),fn(Rt[0],Rt[0]),n[0]=dn(Rt[0],Rt[1]),mm(Rt[1],Rt[1],Rt[0],1,-n[0]),t[1]=ze(Rt[1]),fn(Rt[1],Rt[1]),n[0]/=t[1],n[1]=dn(Rt[0],Rt[2]),mm(Rt[2],Rt[2],Rt[0],1,-n[1]),n[2]=dn(Rt[1],Rt[2]),mm(Rt[2],Rt[2],Rt[1],1,-n[2]),t[2]=ze(Rt[2]),fn(Rt[2],Rt[2]),n[1]/=t[2],n[2]/=t[2],Yi(YP,Rt[1],Rt[2]),dn(Rt[0],YP)<0)for(var v=0;v<3;v++)t[v]*=-1,Rt[v][0]*=-1,Rt[v][1]*=-1,Rt[v][2]*=-1;return a[0]=.5*Math.sqrt(Math.max(1+Rt[0][0]-Rt[1][1]-Rt[2][2],0)),a[1]=.5*Math.sqrt(Math.max(1-Rt[0][0]+Rt[1][1]-Rt[2][2],0)),a[2]=.5*Math.sqrt(Math.max(1-Rt[0][0]-Rt[1][1]+Rt[2][2],0)),a[3]=.5*Math.sqrt(Math.max(1+Rt[0][0]+Rt[1][1]+Rt[2][2],0)),Rt[2][1]>Rt[1][2]&&(a[0]=-a[0]),Rt[0][2]>Rt[2][0]&&(a[1]=-a[1]),Rt[1][0]>Rt[0][1]&&(a[2]=-a[2]),!0}function _B(r,e){var t=e[15];if(t===0)return!1;for(var n=1/t,i=0;i<16;i++)r[i]=e[i]*n;return!0}function RB(r,e){r[0][0]=e[0],r[0][1]=e[1],r[0][2]=e[2],r[1][0]=e[4],r[1][1]=e[5],r[1][2]=e[6],r[2][0]=e[8],r[2][1]=e[9],r[2][2]=e[10]}function mm(r,e,t,n,i){r[0]=e[0]*n+t[0]*i,r[1]=e[1]*n+t[1]*i,r[2]=e[2]*n+t[2]*i}var Cn=function(r){return r[r.ORBITING=0]="ORBITING",r[r.EXPLORING=1]="EXPLORING",r[r.TRACKING=2]="TRACKING",r}({}),UP=function(r){return r[r.DEFAULT=0]="DEFAULT",r[r.ROTATIONAL=1]="ROTATIONAL",r[r.TRANSLATIONAL=2]="TRANSLATIONAL",r[r.CINEMATIC=3]="CINEMATIC",r}({}),_a=function(r){return r[r.ORTHOGRAPHIC=0]="ORTHOGRAPHIC",r[r.PERSPECTIVE=1]="PERSPECTIVE",r}({}),LB={UPDATED:"updated"},ZP=2e-4,KP=function(){function r(){tt(this,r),this.clipSpaceNearZ=fm.NEGATIVE_ONE,this.eventEmitter=new Je,this.matrix=mt(),this.right=me(1,0,0),this.up=me(0,1,0),this.forward=me(0,0,1),this.position=me(0,0,1),this.focalPoint=me(0,0,0),this.distanceVector=me(0,0,-1),this.distance=1,this.azimuth=0,this.elevation=0,this.roll=0,this.relAzimuth=0,this.relElevation=0,this.relRoll=0,this.dollyingStep=0,this.maxDistance=1/0,this.minDistance=-1/0,this.zoom=1,this.rotateWorld=!1,this.fov=30,this.near=.1,this.far=1e3,this.aspect=1,this.projectionMatrix=mt(),this.projectionMatrixInverse=mt(),this.jitteredProjectionMatrix=void 0,this.enableUpdate=!0,this.type=Cn.EXPLORING,this.trackingMode=UP.DEFAULT,this.projectionMode=_a.PERSPECTIVE,this.frustum=new EB,this.orthoMatrix=mt()}return nt(r,[{key:"isOrtho",value:function(){return this.projectionMode===_a.ORTHOGRAPHIC}},{key:"getProjectionMode",value:function(){return this.projectionMode}},{key:"getPerspective",value:function(){return this.jitteredProjectionMatrix||this.projectionMatrix}},{key:"getPerspectiveInverse",value:function(){return this.projectionMatrixInverse}},{key:"getFrustum",value:function(){return this.frustum}},{key:"getPosition",value:function(){return this.position}},{key:"getFocalPoint",value:function(){return this.focalPoint}},{key:"getDollyingStep",value:function(){return this.dollyingStep}},{key:"getNear",value:function(){return this.near}},{key:"getFar",value:function(){return this.far}},{key:"getZoom",value:function(){return this.zoom}},{key:"getOrthoMatrix",value:function(){return this.orthoMatrix}},{key:"getView",value:function(){return this.view}},{key:"setEnableUpdate",value:function(t){this.enableUpdate=t}},{key:"setType",value:function(t,n){return this.type=t,this.type===Cn.EXPLORING?this.setWorldRotation(!0):this.setWorldRotation(!1),this._getAngles(),this.type===Cn.TRACKING&&n!==void 0&&this.setTrackingMode(n),this}},{key:"setProjectionMode",value:function(t){return this.projectionMode=t,this}},{key:"setTrackingMode",value:function(t){if(this.type!==Cn.TRACKING)throw new Error("Impossible to set a tracking mode if the camera is not of tracking type");return this.trackingMode=t,this}},{key:"setWorldRotation",value:function(t){return this.rotateWorld=t,this._getAngles(),this}},{key:"getViewTransform",value:function(){return Ot(mt(),this.matrix)}},{key:"getWorldTransform",value:function(){return this.matrix}},{key:"jitterProjectionMatrix",value:function(t,n){var i=Dr(mt(),[t,n,0]);this.jitteredProjectionMatrix=Ut(mt(),i,this.projectionMatrix)}},{key:"clearJitterProjectionMatrix",value:function(){this.jitteredProjectionMatrix=void 0}},{key:"setMatrix",value:function(t){return this.matrix=t,this._update(),this}},{key:"setProjectionMatrix",value:function(t){this.projectionMatrix=t}},{key:"setFov",value:function(t){return this.setPerspective(this.near,this.far,t,this.aspect),this}},{key:"setAspect",value:function(t){return this.setPerspective(this.near,this.far,this.fov,t),this}},{key:"setNear",value:function(t){return this.projectionMode===_a.PERSPECTIVE?this.setPerspective(t,this.far,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,t,this.far),this}},{key:"setFar",value:function(t){return this.projectionMode===_a.PERSPECTIVE?this.setPerspective(this.near,t,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,t),this}},{key:"setViewOffset",value:function(t,n,i,a,s,o){return this.aspect=t/n,this.view===void 0&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=n,this.view.offsetX=i,this.view.offsetY=a,this.view.width=s,this.view.height=o,this.projectionMode===_a.PERSPECTIVE?this.setPerspective(this.near,this.far,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,this.far),this}},{key:"clearViewOffset",value:function(){return this.view!==void 0&&(this.view.enabled=!1),this.projectionMode===_a.PERSPECTIVE?this.setPerspective(this.near,this.far,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,this.far),this}},{key:"setZoom",value:function(t){return this.zoom=t,this.projectionMode===_a.ORTHOGRAPHIC?this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,this.far):this.projectionMode===_a.PERSPECTIVE&&this.setPerspective(this.near,this.far,this.fov,this.aspect),this}},{key:"setZoomByViewportPoint",value:function(t,n){var i=this.canvas.viewport2Canvas({x:n[0],y:n[1]}),a=i.x,s=i.y,o=this.roll;this.rotate(0,0,-o),this.setPosition(a,s),this.setFocalPoint(a,s),this.setZoom(t),this.rotate(0,0,o);var l=this.canvas.viewport2Canvas({x:n[0],y:n[1]}),u=l.x,c=l.y,h=me(u-a,c-s,0),f=dn(h,this.right)/ze(this.right),d=dn(h,this.up)/ze(this.up),v=this.getPosition(),g=pn(v,2),p=g[0],m=g[1],b=this.getFocalPoint(),x=pn(b,2),O=x[0],T=x[1];return this.setPosition(p-f,m-d),this.setFocalPoint(O-f,T-d),this}},{key:"setPerspective",value:function(t,n,i,a){var s;this.projectionMode=_a.PERSPECTIVE,this.fov=i,this.near=t,this.far=n,this.aspect=a;var o=this.near*Math.tan(wn(.5*this.fov))/this.zoom,l=2*o,u=this.aspect*l,c=-.5*u;if((s=this.view)!==null&&s!==void 0&&s.enabled){var h=this.view.fullWidth,f=this.view.fullHeight;c+=this.view.offsetX*u/h,o-=this.view.offsetY*l/f,u*=this.view.width/h,l*=this.view.height/f}return CB(this.projectionMatrix,c,c+u,o-l,o,t,this.far,this.clipSpaceNearZ===fm.ZERO),Ot(this.projectionMatrixInverse,this.projectionMatrix),this.triggerUpdate(),this}},{key:"setOrthographic",value:function(t,n,i,a,s,o){var l;this.projectionMode=_a.ORTHOGRAPHIC,this.rright=n,this.left=t,this.top=i,this.bottom=a,this.near=s,this.far=o;var u=(this.rright-this.left)/(2*this.zoom),c=(this.top-this.bottom)/(2*this.zoom),h=(this.rright+this.left)/2,f=(this.top+this.bottom)/2,d=h-u,v=h+u,g=f+c,p=f-c;if((l=this.view)!==null&&l!==void 0&&l.enabled){var m=(this.rright-this.left)/this.view.fullWidth/this.zoom,b=(this.top-this.bottom)/this.view.fullHeight/this.zoom;d+=m*this.view.offsetX,v=d+m*this.view.width,g-=b*this.view.offsetY,p=g-b*this.view.height}return this.clipSpaceNearZ===fm.NEGATIVE_ONE?bg(this.projectionMatrix,d,v,g,p,s,o):xg(this.projectionMatrix,d,v,g,p,s,o),Ot(this.projectionMatrixInverse,this.projectionMatrix),this._getOrthoMatrix(),this.triggerUpdate(),this}},{key:"setPosition",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.position[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.position[2],a=si(t,n,i);return this._setPosition(a),this.setFocalPoint(this.focalPoint),this.triggerUpdate(),this}},{key:"setFocalPoint",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.focalPoint[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.focalPoint[2],a=me(0,1,0);if(this.focalPoint=si(t,n,i),this.trackingMode===UP.CINEMATIC){var s=xt(Me(),this.focalPoint,this.position);t=s[0],n=s[1],i=s[2];var o=ze(s),l=aa(Math.asin(n/o)),u=90+aa(Math.atan2(i,t)),c=mt();Su(c,c,wn(u)),Mu(c,c,wn(l)),a=Dn(Me(),[0,1,0],c)}return Ot(this.matrix,Eg(mt(),this.position,this.focalPoint,a)),this._getAxes(),this._getDistance(),this._getAngles(),this.triggerUpdate(),this}},{key:"getDistance",value:function(){return this.distance}},{key:"getDistanceVector",value:function(){return this.distanceVector}},{key:"setDistance",value:function(t){if(this.distance===t||t<0)return this;this.distance=t,this.distance<ZP&&(this.distance=ZP),this.dollyingStep=this.distance/100;var n=Me();t=this.distance;var i=this.forward,a=this.focalPoint;return n[0]=t*i[0]+a[0],n[1]=t*i[1]+a[1],n[2]=t*i[2]+a[2],this._setPosition(n),this.triggerUpdate(),this}},{key:"setMaxDistance",value:function(t){return this.maxDistance=t,this}},{key:"setMinDistance",value:function(t){return this.minDistance=t,this}},{key:"setAzimuth",value:function(t){return this.azimuth=eu(t),this.computeMatrix(),this._getAxes(),this.type===Cn.ORBITING||this.type===Cn.EXPLORING?this._getPosition():this.type===Cn.TRACKING&&this._getFocalPoint(),this.triggerUpdate(),this}},{key:"getAzimuth",value:function(){return this.azimuth}},{key:"setElevation",value:function(t){return this.elevation=eu(t),this.computeMatrix(),this._getAxes(),this.type===Cn.ORBITING||this.type===Cn.EXPLORING?this._getPosition():this.type===Cn.TRACKING&&this._getFocalPoint(),this.triggerUpdate(),this}},{key:"getElevation",value:function(){return this.elevation}},{key:"setRoll",value:function(t){return this.roll=eu(t),this.computeMatrix(),this._getAxes(),this.type===Cn.ORBITING||this.type===Cn.EXPLORING?this._getPosition():this.type===Cn.TRACKING&&this._getFocalPoint(),this.triggerUpdate(),this}},{key:"getRoll",value:function(){return this.roll}},{key:"_update",value:function(){this._getAxes(),this._getPosition(),this._getDistance(),this._getAngles(),this._getOrthoMatrix(),this.triggerUpdate()}},{key:"computeMatrix",value:function(){var t=Jr(en(),[0,0,1],wn(this.roll));Zn(this.matrix);var n=Jr(en(),[1,0,0],wn((this.rotateWorld&&this.type!==Cn.TRACKING||this.type===Cn.TRACKING?1:-1)*this.elevation)),i=Jr(en(),[0,1,0],wn((this.rotateWorld&&this.type!==Cn.TRACKING||this.type===Cn.TRACKING?1:-1)*this.azimuth)),a=qr(en(),i,n);a=qr(en(),a,t);var s=ku(mt(),a);this.type===Cn.ORBITING||this.type===Cn.EXPLORING?(gn(this.matrix,this.matrix,this.focalPoint),Ut(this.matrix,this.matrix,s),gn(this.matrix,this.matrix,[0,0,this.distance])):this.type===Cn.TRACKING&&(gn(this.matrix,this.matrix,this.position),Ut(this.matrix,this.matrix,s))}},{key:"_setPosition",value:function(t,n,i){this.position=si(t,n,i);var a=this.matrix;a[12]=this.position[0],a[13]=this.position[1],a[14]=this.position[2],a[15]=1,this._getOrthoMatrix()}},{key:"_getAxes",value:function(){Te(this.right,si(Ze(hr(),[1,0,0,0],this.matrix))),Te(this.up,si(Ze(hr(),[0,1,0,0],this.matrix))),Te(this.forward,si(Ze(hr(),[0,0,1,0],this.matrix))),fn(this.right,this.right),fn(this.up,this.up),fn(this.forward,this.forward)}},{key:"_getAngles",value:function(){var t=this.distanceVector[0],n=this.distanceVector[1],i=this.distanceVector[2],a=ze(this.distanceVector);if(a===0){this.elevation=0,this.azimuth=0;return}this.type===Cn.TRACKING?(this.elevation=aa(Math.asin(n/a)),this.azimuth=aa(Math.atan2(-t,-i))):this.rotateWorld?(this.elevation=aa(Math.asin(n/a)),this.azimuth=aa(Math.atan2(-t,-i))):(this.elevation=-aa(Math.asin(n/a)),this.azimuth=-aa(Math.atan2(-t,-i)))}},{key:"_getPosition",value:function(){Te(this.position,si(Ze(hr(),[0,0,0,1],this.matrix))),this._getDistance()}},{key:"_getFocalPoint",value:function(){ds(this.distanceVector,[0,0,-this.distance],Jy(Mg(),this.matrix)),He(this.focalPoint,this.position,this.distanceVector),this._getDistance()}},{key:"_getDistance",value:function(){this.distanceVector=xt(Me(),this.focalPoint,this.position),this.distance=ze(this.distanceVector),this.dollyingStep=this.distance/100}},{key:"_getOrthoMatrix",value:function(){if(this.projectionMode===_a.ORTHOGRAPHIC){var t=this.position,n=Jr(en(),[0,0,1],-this.roll*Math.PI/180);vs(this.orthoMatrix,n,me((this.rright-this.left)/2-t[0],(this.top-this.bottom)/2-t[1],0),me(this.zoom,this.zoom,1),t)}}},{key:"triggerUpdate",value:function(){if(this.enableUpdate){var t=this.getViewTransform(),n=Ut(mt(),this.getPerspective(),t);this.getFrustum().extractFromVPMatrix(n),this.eventEmitter.emit(LB.UPDATED)}}},{key:"rotate",value:function(t,n,i){throw new Error(kn)}},{key:"pan",value:function(t,n){throw new Error(kn)}},{key:"dolly",value:function(t){throw new Error(kn)}},{key:"createLandmark",value:function(t,n){throw new Error(kn)}},{key:"gotoLandmark",value:function(t,n){throw new Error(kn)}},{key:"cancelLandmarkAnimation",value:function(){throw new Error(kn)}}])}(),DB=function(r){return r[r.Standard=0]="Standard",r}({}),ym=function(r){return r[r.ADDED=0]="ADDED",r[r.REMOVED=1]="REMOVED",r[r.Z_INDEX_CHANGED=2]="Z_INDEX_CHANGED",r}({}),QP={absolutePath:[],hasArc:!1,segments:[],polygons:[],polylines:[],curve:null,totalLength:0,rect:new $l(0,0,0,0)},ot=function(r){return r.COORDINATE="<coordinate>",r.COLOR="<color>",r.PAINT="<paint>",r.NUMBER="<number>",r.ANGLE="<angle>",r.OPACITY_VALUE="<opacity-value>",r.SHADOW_BLUR="<shadow-blur>",r.LENGTH="<length>",r.PERCENTAGE="<percentage>",r.LENGTH_PERCENTAGE="<length> | <percentage>",r.LENGTH_PERCENTAGE_12="[<length> | <percentage>]{1,2}",r.LENGTH_PERCENTAGE_14="[<length> | <percentage>]{1,4}",r.LIST_OF_POINTS="<list-of-points>",r.PATH="<path>",r.FILTER="<filter>",r.Z_INDEX="<z-index>",r.OFFSET_DISTANCE="<offset-distance>",r.DEFINED_PATH="<defined-path>",r.MARKER="<marker>",r.TRANSFORM="<transform>",r.TRANSFORM_ORIGIN="<transform-origin>",r.TEXT="<text>",r.TEXT_TRANSFORM="<text-transform>",r}({});function oi(r,e){if(typeof r!="function"||e!=null&&typeof e!="function")throw new TypeError("Expected a function");var t=function(){for(var i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];var o=e?e.apply(this,a):a[0],l=t.cache;if(l.has(o))return l.get(o);var u=r.apply(this,a);return t.cache=l.set(o,u)||l,u};return t.cache=new(oi.Cache||Map),t}oi.Cache=Map;var ct=function(r){return r[r.kUnknown=0]="kUnknown",r[r.kNumber=1]="kNumber",r[r.kPercentage=2]="kPercentage",r[r.kEms=3]="kEms",r[r.kPixels=4]="kPixels",r[r.kRems=5]="kRems",r[r.kDegrees=6]="kDegrees",r[r.kRadians=7]="kRadians",r[r.kGradians=8]="kGradians",r[r.kTurns=9]="kTurns",r[r.kMilliseconds=10]="kMilliseconds",r[r.kSeconds=11]="kSeconds",r[r.kInteger=12]="kInteger",r}({}),Ra=function(r){return r[r.kUNumber=0]="kUNumber",r[r.kUPercent=1]="kUPercent",r[r.kULength=2]="kULength",r[r.kUAngle=3]="kUAngle",r[r.kUTime=4]="kUTime",r[r.kUOther=5]="kUOther",r}({}),IB=function(r){return r[r.kYes=0]="kYes",r[r.kNo=1]="kNo",r}({}),BB=function(r){return r[r.kYes=0]="kYes",r[r.kNo=1]="kNo",r}({}),zB=[{name:"em",unit_type:ct.kEms},{name:"px",unit_type:ct.kPixels},{name:"deg",unit_type:ct.kDegrees},{name:"rad",unit_type:ct.kRadians},{name:"grad",unit_type:ct.kGradians},{name:"ms",unit_type:ct.kMilliseconds},{name:"s",unit_type:ct.kSeconds},{name:"rem",unit_type:ct.kRems},{name:"turn",unit_type:ct.kTurns}],tu=function(r){return r[r.kUnknownType=0]="kUnknownType",r[r.kUnparsedType=1]="kUnparsedType",r[r.kKeywordType=2]="kKeywordType",r[r.kUnitType=3]="kUnitType",r[r.kSumType=4]="kSumType",r[r.kProductType=5]="kProductType",r[r.kNegateType=6]="kNegateType",r[r.kInvertType=7]="kInvertType",r[r.kMinType=8]="kMinType",r[r.kMaxType=9]="kMaxType",r[r.kClampType=10]="kClampType",r[r.kTransformType=11]="kTransformType",r[r.kPositionType=12]="kPositionType",r[r.kURLImageType=13]="kURLImageType",r[r.kColorType=14]="kColorType",r[r.kUnsupportedColorType=15]="kUnsupportedColorType",r}({}),FB=function(e){return zB.find(function(t){return t.name===e}).unit_type},jB=function(e){return e?e==="number"?ct.kNumber:e==="percent"||e==="%"?ct.kPercentage:FB(e):ct.kUnknown},GB=function(e){switch(e){case ct.kNumber:case ct.kInteger:return Ra.kUNumber;case ct.kPercentage:return Ra.kUPercent;case ct.kPixels:return Ra.kULength;case ct.kMilliseconds:case ct.kSeconds:return Ra.kUTime;case ct.kDegrees:case ct.kRadians:case ct.kGradians:case ct.kTurns:return Ra.kUAngle;default:return Ra.kUOther}},HB=function(e){switch(e){case Ra.kUNumber:return ct.kNumber;case Ra.kULength:return ct.kPixels;case Ra.kUPercent:return ct.kPercentage;case Ra.kUTime:return ct.kSeconds;case Ra.kUAngle:return ct.kDegrees;default:return ct.kUnknown}},JP=function(e){var t=1;switch(e){case ct.kPixels:case ct.kDegrees:case ct.kSeconds:break;case ct.kMilliseconds:t=.001;break;case ct.kRadians:t=180/Math.PI;break;case ct.kGradians:t=.9;break;case ct.kTurns:t=360;break}return t},bm=function(e){switch(e){case ct.kNumber:case ct.kInteger:return"";case ct.kPercentage:return"%";case ct.kEms:return"em";case ct.kRems:return"rem";case ct.kPixels:return"px";case ct.kDegrees:return"deg";case ct.kRadians:return"rad";case ct.kGradians:return"grad";case ct.kMilliseconds:return"ms";case ct.kSeconds:return"s";case ct.kTurns:return"turn"}return""},$d=function(){function r(){tt(this,r)}return nt(r,[{key:"toString",value:function(){return this.buildCSSText(IB.kNo,BB.kNo,"")}},{key:"isNumericValue",value:function(){return this.getType()>=tu.kUnitType&&this.getType()<=tu.kClampType}}],[{key:"isAngle",value:function(t){return t===ct.kDegrees||t===ct.kRadians||t===ct.kGradians||t===ct.kTurns}},{key:"isLength",value:function(t){return t>=ct.kEms&&t<ct.kDegrees}},{key:"isRelativeUnit",value:function(t){return t===ct.kPercentage||t===ct.kEms||t===ct.kRems}},{key:"isTime",value:function(t){return t===ct.kSeconds||t===ct.kMilliseconds}}])}(),XB=function(r){function e(t){var n;return tt(this,e),n=nn(this,e),n.colorSpace=t,n}return rn(e,r),nt(e,[{key:"getType",value:function(){return tu.kColorType}},{key:"to",value:function(n){return this}}])}($d),ev=function(r){return r[r.Constant=0]="Constant",r[r.LinearGradient=1]="LinearGradient",r[r.RadialGradient=2]="RadialGradient",r}({}),tv=function(r){function e(t,n){var i;return tt(this,e),i=nn(this,e),i.type=t,i.value=n,i}return rn(e,r),nt(e,[{key:"clone",value:function(){return new e(this.type,this.value)}},{key:"buildCSSText",value:function(n,i,a){return a}},{key:"getType",value:function(){return tu.kColorType}}])}($d),sa=function(r){function e(t){var n;return tt(this,e),n=nn(this,e),n.value=t,n}return rn(e,r),nt(e,[{key:"clone",value:function(){return new e(this.value)}},{key:"getType",value:function(){return tu.kKeywordType}},{key:"buildCSSText",value:function(n,i,a){return a+this.value}}])}($d),WB=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",n="";return Number.isFinite(e)?n="NaN":e>0?n="infinity":n="-infinity",n+=t},xm=function(e){return HB(GB(e))},Pn=function(r){function e(t){var n,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ct.kNumber;tt(this,e),n=nn(this,e);var a;return typeof i=="string"?a=jB(i):a=i,n.unit=a,n.value=t,n}return rn(e,r),nt(e,[{key:"clone",value:function(){return new e(this.value,this.unit)}},{key:"equals",value:function(n){var i=n;return this.value===i.value&&this.unit===i.unit}},{key:"getType",value:function(){return tu.kUnitType}},{key:"convertTo",value:function(n){if(this.unit===n)return new e(this.value,this.unit);var i=xm(this.unit);if(i!==xm(n)||i===ct.kUnknown)return null;var a=JP(this.unit)/JP(n);return new e(this.value*a,n)}},{key:"buildCSSText",value:function(n,i,a){var s;switch(this.unit){case ct.kUnknown:break;case ct.kInteger:s=Number(this.value).toFixed(0);break;case ct.kNumber:case ct.kPercentage:case ct.kEms:case ct.kRems:case ct.kPixels:case ct.kDegrees:case ct.kRadians:case ct.kGradians:case ct.kMilliseconds:case ct.kSeconds:case ct.kTurns:{var o=-999999,l=999999,u=this.value,c=bm(this.unit);if(u<o||u>l){var h=bm(this.unit);!Number.isFinite(u)||Number.isNaN(u)?s=WB(u,h):s=u+(h||"")}else s="".concat(u).concat(c)}}return a+=s,a}}])}($d),La=new Pn(0,"px");new Pn(1,"px");var Jo=new Pn(0,"deg"),Em=function(r){function e(t,n,i){var a,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;return tt(this,e),a=nn(this,e,["rgb"]),a.r=t,a.g=n,a.b=i,a.alpha=s,a.isNone=o,a}return rn(e,r),nt(e,[{key:"clone",value:function(){return new e(this.r,this.g,this.b,this.alpha)}},{key:"buildCSSText",value:function(n,i,a){return"".concat(a,"rgba(").concat(this.r,",").concat(this.g,",").concat(this.b,",").concat(this.alpha,")")}}])}(XB),qP=new sa("unset"),VB=new sa("initial"),YB=new sa("inherit"),wm={"":qP,unset:qP,initial:VB,inherit:YB},UB=function(e){return wm[e]||(wm[e]=new sa(e)),wm[e]},$P=new Em(0,0,0,0,!0),eM=new Em(0,0,0,0),ZB=oi(function(r,e,t,n){return new Em(r,e,t,n)},function(r,e,t,n){return"rgba(".concat(r,",").concat(e,",").concat(t,",").concat(n,")")}),Yn=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ct.kNumber;return new Pn(e,t)};new Pn(50,"%");function KB(r){var e=r.type,t=r.value;return e==="hex"?"#".concat(t):e==="literal"?t:e==="rgb"?"rgb(".concat(t.join(","),")"):"rgba(".concat(t.join(","),")")}var QB=function(){var r={linearGradient:/^(linear\-gradient)/i,repeatingLinearGradient:/^(repeating\-linear\-gradient)/i,radialGradient:/^(radial\-gradient)/i,repeatingRadialGradient:/^(repeating\-radial\-gradient)/i,conicGradient:/^(conic\-gradient)/i,sideOrCorner:/^to (left (top|bottom)|right (top|bottom)|top (left|right)|bottom (left|right)|left|right|top|bottom)/i,extentKeywords:/^(closest\-side|closest\-corner|farthest\-side|farthest\-corner|contain|cover)/,positionKeywords:/^(left|center|right|top|bottom)/i,pixelValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))px/,percentageValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))\%/,emValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))em/,angleValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))deg/,startCall:/^\(/,endCall:/^\)/,comma:/^,/,hexColor:/^\#([0-9a-fA-F]+)/,literalColor:/^([a-zA-Z]+)/,rgbColor:/^rgb/i,rgbaColor:/^rgba/i,number:/^(([0-9]*\.[0-9]+)|([0-9]+\.?))/},e="";function t(H){throw new Error("".concat(e,": ").concat(H))}function n(){var H=i();return e.length>0&&t("Invalid input not EOF"),H}function i(){return x(a)}function a(){return s("linear-gradient",r.linearGradient,l)||s("repeating-linear-gradient",r.repeatingLinearGradient,l)||s("radial-gradient",r.radialGradient,h)||s("repeating-radial-gradient",r.repeatingRadialGradient,h)||s("conic-gradient",r.conicGradient,h)}function s(H,X,q){return o(X,function(oe){var de=q();return de&&(ve(r.comma)||t("Missing comma before color stops")),{type:H,orientation:de,colorStops:x(O)}})}function o(H,X){var q=ve(H);if(q){ve(r.startCall)||t("Missing (");var oe=X(q);return ve(r.endCall)||t("Missing )"),oe}}function l(){return u()||c()}function u(){return ae("directional",r.sideOrCorner,1)}function c(){return ae("angular",r.angleValue,1)}function h(){var H,X=f(),q;return X&&(H=[],H.push(X),q=e,ve(r.comma)&&(X=f(),X?H.push(X):e=q)),H}function f(){var H=d()||v();if(H)H.at=p();else{var X=g();if(X){H=X;var q=p();q&&(H.at=q)}else{var oe=m();oe&&(H={type:"default-radial",at:oe})}}return H}function d(){var H=ae("shape",/^(circle)/i,0);return H&&(H.style=ie()||g()),H}function v(){var H=ae("shape",/^(ellipse)/i,0);return H&&(H.style=J()||g()),H}function g(){return ae("extent-keyword",r.extentKeywords,1)}function p(){if(ae("position",/^at/,0)){var H=m();return H||t("Missing positioning value"),H}}function m(){var H=b();if(H.x||H.y)return{type:"position",value:H}}function b(){return{x:J(),y:J()}}function x(H){var X=H(),q=[];if(X)for(q.push(X);ve(r.comma);)X=H(),X?q.push(X):t("One extra comma");return q}function O(){var H=T();return H||t("Expected color definition"),H.length=J(),H}function T(){return k()||W()||C()||S()}function S(){return ae("literal",r.literalColor,0)}function k(){return ae("hex",r.hexColor,1)}function C(){return o(r.rgbColor,function(){return{type:"rgb",value:x(U)}})}function W(){return o(r.rgbaColor,function(){return{type:"rgba",value:x(U)}})}function U(){return ve(r.number)[1]}function J(){return ae("%",r.percentageValue,1)||te()||ie()}function te(){return ae("position-keyword",r.positionKeywords,1)}function ie(){return ae("px",r.pixelValue,1)||ae("em",r.emValue,1)}function ae(H,X,q){var oe=ve(X);if(oe)return{type:H,value:oe[q]}}function ve(H){var X=/^[\n\r\t\s]+/.exec(e);X&&Z(X[0].length);var q=H.exec(e);return q&&Z(q[0].length),q}function Z(H){e=e.substring(H)}return function(H){return e=H,n()}}();function wJ(r,e,t,n){var i=wn(n.value),a=0,s=0,o=a+e/2,l=s+t/2,u=Math.abs(e*Math.cos(i))+Math.abs(t*Math.sin(i)),c=r[0]+o-Math.cos(i)*u/2,h=r[1]+l-Math.sin(i)*u/2,f=r[0]+o+Math.cos(i)*u/2,d=r[1]+l+Math.sin(i)*u/2;return{x1:c,y1:h,x2:f,y2:d}}function PJ(r,e,t,n,i,a){var s=n.value,o=i.value;n.unit===ct.kPercentage&&(s=n.value/100*e),i.unit===ct.kPercentage&&(o=i.value/100*t);var l=Math.max(distanceSquareRoot([0,0],[s,o]),distanceSquareRoot([0,t],[s,o]),distanceSquareRoot([e,t],[s,o]),distanceSquareRoot([e,0],[s,o]));return a&&(a instanceof Pn?l=a.value:a instanceof sa&&(a.value==="closest-side"?l=Math.min(s,e-s,o,t-o):a.value==="farthest-side"?l=Math.max(s,e-s,o,t-o):a.value==="closest-corner"&&(l=Math.min(distanceSquareRoot([0,0],[s,o]),distanceSquareRoot([0,t],[s,o]),distanceSquareRoot([e,t],[s,o]),distanceSquareRoot([e,0],[s,o]))))),{x:s+r[0],y:o+r[1],r:l}}var JB=/^l\s*\(\s*([\d.]+)\s*\)\s*(.*)/i,qB=/^r\s*\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*\)\s*(.*)/i,$B=/^p\s*\(\s*([axyn])\s*\)\s*(.*)/i,tM=/[\d.]+:(#[^\s]+|[^\)]+\))/gi;function e7(r){var e,t=r.length;if(r[t-1].length=(e=r[t-1].length)!==null&&e!==void 0?e:{type:"%",value:"100"},t>1){var n;r[0].length=(n=r[0].length)!==null&&n!==void 0?n:{type:"%",value:"0"}}for(var i=0,a=Number(r[0].length.value),s=1;s<t;s++){var o,l=(o=r[s].length)===null||o===void 0?void 0:o.value;if(!vt(l)&&!vt(a)){for(var u=1;u<s-i;u++)r[i+u].length={type:"%",value:"".concat(a+(Number(l)-a)*u/(s-i))};i=s,a=Number(l)}}}var t7={left:180,top:-90,bottom:90,right:0,"left top":225,"top left":225,"left bottom":135,"bottom left":135,"right top":-45,"top right":-45,"right bottom":45,"bottom right":45},n7=oi(function(r){var e;return r.type==="angular"?e=Number(r.value):e=t7[r.value]||0,Yn(e,"deg")}),r7=oi(function(r){var e=50,t=50,n="%",i="%";if((r==null?void 0:r.type)==="position"){var a=r.value,s=a.x,o=a.y;(s==null?void 0:s.type)==="position-keyword"&&(s.value==="left"?e=0:s.value==="center"?e=50:s.value==="right"?e=100:s.value==="top"?t=0:s.value==="bottom"&&(t=100)),(o==null?void 0:o.type)==="position-keyword"&&(o.value==="left"?e=0:o.value==="center"?t=50:o.value==="right"?e=100:o.value==="top"?t=0:o.value==="bottom"&&(t=100)),((s==null?void 0:s.type)==="px"||(s==null?void 0:s.type)==="%"||(s==null?void 0:s.type)==="em")&&(n=s==null?void 0:s.type,e=Number(s.value)),((o==null?void 0:o.type)==="px"||(o==null?void 0:o.type)==="%"||(o==null?void 0:o.type)==="em")&&(i=o==null?void 0:o.type,t=Number(o.value))}return{cx:Yn(e,n),cy:Yn(t,i)}}),i7=oi(function(r){if(r.indexOf("linear")>-1||r.indexOf("radial")>-1){var e=QB(r);return e.map(function(o){var l=o.type,u=o.orientation,c=o.colorStops;e7(c);var h=c.map(function(x){return{offset:Yn(Number(x.length.value),"%"),color:KB(x)}});if(l==="linear-gradient")return new tv(ev.LinearGradient,{angle:u?n7(u):Jo,steps:h});if(l==="radial-gradient"&&(u||(u=[{type:"shape",value:"circle"}]),u[0].type==="shape"&&u[0].value==="circle")){var f=r7(u[0].at),d=f.cx,v=f.cy,g;if(u[0].style){var p=u[0].style,m=p.type,b=p.value;m==="extent-keyword"?g=UB(b):g=Yn(b,m)}return new tv(ev.RadialGradient,{cx:d,cy:v,size:g,steps:h})}})}var t=r[0];if(r[1]==="("||r[2]==="("){if(t==="l"){var n=JB.exec(r);if(n){var i,a=((i=n[2].match(tM))===null||i===void 0?void 0:i.map(function(o){return o.split(":")}))||[];return[new tv(ev.LinearGradient,{angle:Yn(parseFloat(n[1]),"deg"),steps:a.map(function(o){var l=pn(o,2),u=l[0],c=l[1];return{offset:Yn(Number(u)*100,"%"),color:c}})})]}}else if(t==="r"){var s=a7(r);if(s)if(Xt(s))r=s;else return[new tv(ev.RadialGradient,s)]}else if(t==="p")return s7(r)}});function a7(r){var e=qB.exec(r);if(e){var t,n=((t=e[4].match(tM))===null||t===void 0?void 0:t.map(function(i){return i.split(":")}))||[];return{cx:Yn(50,"%"),cy:Yn(50,"%"),steps:n.map(function(i){var a=pn(i,2),s=a[0],o=a[1];return{offset:Yn(Number(s)*100,"%"),color:o}})}}return null}function s7(r){var e=$B.exec(r);if(e){var t=e[1],n=e[2];switch(t){case"a":t="repeat";break;case"x":t="repeat-x";break;case"y":t="repeat-y";break;case"n":t="no-repeat";break;default:t="no-repeat"}return{image:n,repetition:t}}return null}function MJ(r){return!!r.type&&!!r.value}function o7(r){return r&&!!r.image}function nM(r){return r&&!vt(r.r)&&!vt(r.g)&&!vt(r.b)}var Nc=oi(function(r){if(o7(r))return ar({repetition:"repeat"},r);if(vt(r)&&(r=""),r==="transparent")return eM;if(r==="currentColor")r="black";else if(r==="none")return $P;var e=i7(r);if(e)return e;var t=Zd(r),n=[0,0,0,0];return t!==null&&(n[0]=t.r||0,n[1]=t.g||0,n[2]=t.b||0,n[3]=t.opacity),ZB.apply(void 0,n)});function l7(r,e){if(!(!nM(r)||!nM(e)))return[[Number(r.r),Number(r.g),Number(r.b),Number(r.alpha)],[Number(e.r),Number(e.g),Number(e.b),Number(e.alpha)],function(t){var n=t.slice();if(n[3])for(var i=0;i<3;i++)n[i]=Math.round(on(n[i],0,255));return n[3]=on(n[3],0,1),"rgba(".concat(n.join(","),")")}]}function _c(r,e){if(vt(e))return Yn(0,"px");if(e="".concat(e).trim().toLowerCase(),isFinite(Number(e))){if("px".search(r)>=0)return Yn(Number(e),"px");if("deg".search(r)>=0)return Yn(Number(e),"deg")}var t=[];e=e.replace(r,function(i){return t.push(i),"U".concat(i)});var n="U(".concat(r.source,")");return t.map(function(i){return Yn(Number(e.replace(new RegExp("U".concat(i),"g"),"").replace(new RegExp(n,"g"),"*0")),i)})[0]}var rM=function(e){return _c(new RegExp("px","g"),e)},u7=oi(rM),c7=function(e){return _c(new RegExp("%","g"),e)};oi(c7);var iM=function(e){return ht(e)||isFinite(Number(e))?Yn(Number(e)||0,"px"):_c(new RegExp("px|%|em|rem","g"),e)},Pm=oi(iM),aM=function(e){return _c(new RegExp("deg|rad|grad|turn","g"),e)},h7=oi(aM);function f7(r,e,t,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,a="",s=r.value||0,o=e.value||0,l=xm(r.unit),u=r.convertTo(l),c=e.convertTo(l);return u&&c?(s=u.value,o=c.value,a=bm(r.unit)):(Pn.isLength(r.unit)||Pn.isLength(e.unit))&&(s=Bi(r,i,t),o=Bi(e,i,t),a="px"),[s,o,function(h){return n&&(h=Math.max(h,0)),h+a}]}function Ti(r){var e=0;return r.unit===ct.kDegrees?e=r.value:r.unit===ct.kRadians?e=aa(Number(r.value)):r.unit===ct.kTurns?e=TB(Number(r.value)):r.value&&(e=r.value),e}function sM(r,e){var t;return Array.isArray(r)?t=r.map(function(n){return Number(n)}):Xt(r)?t=r.split(" ").map(function(n){return Number(n)}):ht(r)&&(t=[r]),e===2?t.length===1?[t[0],t[0]]:[t[0],t[1]]:t.length===1?[t[0],t[0],t[0],t[0]]:t.length===2?[t[0],t[1],t[0],t[1]]:t.length===3?[t[0],t[1],t[2],t[1]]:[t[0],t[1],t[2],t[3]]}function Bi(r,e,t){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(r.unit===ct.kPixels)return Number(r.value);if(r.unit===ct.kPercentage&&t){var i=t.nodeName===Tt.GROUP?t.getLocalBounds():t.getGeometryBounds();return(n?i.min[e]:0)+r.value/100*i.halfExtents[e]*2}return 0}var d7=function(e){return _c(/deg|rad|grad|turn|px|%/g,e)},v7=["blur","brightness","drop-shadow","contrast","grayscale","sepia","saturate","hue-rotate","invert"];function g7(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";if(r=r.toLowerCase().trim(),r==="none")return[];for(var e=/\s*([\w-]+)\(([^)]*)\)/g,t=[],n,i=0;n=e.exec(r);){if(n.index!==i)return[];if(i=n.index+n[0].length,v7.indexOf(n[1])>-1&&t.push({name:n[1],params:n[2].split(" ").map(function(a){return d7(a)||Nc(a)})}),e.lastIndex===r.length)return t}return[]}function oM(r){return r.toString()}var lM=function(e){return typeof e=="number"?Yn(e):/^\s*[-+]?(\d*\.)?\d+\s*$/.test(e)?Yn(Number(e)):Yn(0)},Mm=oi(lM);oi(function(r){return Xt(r)?r.split(" ").map(Mm):r.map(Mm)});function Sm(r,e){return[r,e,oM]}function Tm(r,e){return function(t,n){return[t,n,function(i){return oM(on(i,r,e))}]}}function uM(r,e){if(r.length===e.length)return[r,e,function(t){return t}]}function cM(r){return r.parsedStyle.d.totalLength===0&&(r.parsedStyle.d.totalLength=c1(r.parsedStyle.d.absolutePath)),r.parsedStyle.d.totalLength}function p7(r){return r.parsedStyle.points.totalLength===0&&(r.parsedStyle.points.totalLength=V1(r.parsedStyle.points.points)),r.parsedStyle.points.totalLength}function m7(r){for(var e=0;e<r.length;e++){var t=r[e-1],n=r[e],i=n[0];if(i==="M"&&t){var a=t[0],s=[n[1],n[2]],o=void 0;a==="L"||a==="M"?o=[t[1],t[2]]:(a==="C"||a==="A"||a==="Q")&&(o=[t[t.length-2],t[t.length-1]]),o&&nv(s,o)&&(r.splice(e,1),e--)}}}function y7(r){for(var e=!1,t=r.length,n=0;n<t;n++){var i=r[n],a=i[0];if(a==="C"||a==="A"||a==="Q"){e=!0;break}}return e}function b7(r){for(var e=[],t=[],n=[],i=0;i<r.length;i++){var a=r[i],s=a[0];s==="M"?(n.length&&(t.push(n),n=[]),n.push([a[1],a[2]])):s==="Z"?n.length&&(e.push(n),n=[]):n.push([a[1],a[2]])}return n.length>0&&t.push(n),{polygons:e,polylines:t}}function nv(r,e){return r[0]===e[0]&&r[1]===e[1]}function x7(r,e){for(var t=[],n=[],i=[],a=0;a<r.length;a++){var s=r[a],o=s.currentPoint,l=s.params,u=s.prePoint,c=void 0;switch(s.command){case"Q":c=U1(u[0],u[1],l[1],l[2],l[3],l[4]);break;case"C":c=z1(u[0],u[1],l[1],l[2],l[3],l[4],l[5],l[6]);break;case"A":var h=s.arcParams;c=R1(h.cx,h.cy,h.rx,h.ry,h.xRotation,h.startAngle,h.endAngle);break;default:t.push(o[0]),n.push(o[1]);break}c&&(s.box=c,t.push(c.x,c.x+c.width),n.push(c.y,c.y+c.height)),e&&(s.command==="L"||s.command==="M")&&s.prePoint&&s.nextPoint&&i.push(s)}t=t.filter(function(O){return!Number.isNaN(O)&&O!==1/0&&O!==-1/0}),n=n.filter(function(O){return!Number.isNaN(O)&&O!==1/0&&O!==-1/0});var f=dl(t),d=dl(n),v=vl(t),g=vl(n);if(i.length===0)return{x:f,y:d,width:v-f,height:g-d};for(var p=0;p<i.length;p++){var m=i[p],b=m.currentPoint,x=void 0;b[0]===f?(x=rv(m,e),f-=x.xExtra):b[0]===v&&(x=rv(m,e),v+=x.xExtra),b[1]===d?(x=rv(m,e),d-=x.yExtra):b[1]===g&&(x=rv(m,e),g+=x.yExtra)}return{x:f,y:d,width:v-f,height:g-d}}function rv(r,e){var t=r.prePoint,n=r.currentPoint,i=r.nextPoint,a=Math.pow(n[0]-t[0],2)+Math.pow(n[1]-t[1],2),s=Math.pow(n[0]-i[0],2)+Math.pow(n[1]-i[1],2),o=Math.pow(t[0]-i[0],2)+Math.pow(t[1]-i[1],2),l=Math.acos((a+s-o)/(2*Math.sqrt(a)*Math.sqrt(s)));if(!l||Math.sin(l)===0||gl(l,0))return{xExtra:0,yExtra:0};var u=Math.abs(Math.atan2(i[1]-n[1],i[0]-n[0])),c=Math.abs(Math.atan2(i[0]-n[0],i[1]-n[1]));u=u>Math.PI/2?Math.PI-u:u,c=c>Math.PI/2?Math.PI-c:c;var h={xExtra:Math.cos(l/2-u)*(e/2*(1/Math.sin(l/2)))-e/2||0,yExtra:Math.cos(c-l/2)*(e/2*(1/Math.sin(l/2)))-e/2||0};return h}function hM(r,e){return[e[0]+(e[0]-r[0]),e[1]+(e[1]-r[1])]}var fM=function(e,t){var n=e.x*t.x+e.y*t.y,i=Math.sqrt((Math.pow(e.x,2)+Math.pow(e.y,2))*(Math.pow(t.x,2)+Math.pow(t.y,2))),a=e.x*t.y-e.y*t.x<0?-1:1,s=a*Math.acos(n/i);return s},dM=function(e,t,n,i,a,s,o,l){t=Math.abs(t),n=Math.abs(n),i=oh(i,360);var u=wn(i);if(e.x===o.x&&e.y===o.y)return{x:e.x,y:e.y,ellipticalArcAngle:0};if(t===0||n===0)return{x:0,y:0,ellipticalArcAngle:0};var c=(e.x-o.x)/2,h=(e.y-o.y)/2,f={x:Math.cos(u)*c+Math.sin(u)*h,y:-Math.sin(u)*c+Math.cos(u)*h},d=Math.pow(f.x,2)/Math.pow(t,2)+Math.pow(f.y,2)/Math.pow(n,2);d>1&&(t*=Math.sqrt(d),n*=Math.sqrt(d));var v=Math.pow(t,2)*Math.pow(n,2)-Math.pow(t,2)*Math.pow(f.y,2)-Math.pow(n,2)*Math.pow(f.x,2),g=Math.pow(t,2)*Math.pow(f.y,2)+Math.pow(n,2)*Math.pow(f.x,2),p=v/g;p=p<0?0:p;var m=(a!==s?1:-1)*Math.sqrt(p),b={x:m*(t*f.y/n),y:m*(-(n*f.x)/t)},x={x:Math.cos(u)*b.x-Math.sin(u)*b.y+(e.x+o.x)/2,y:Math.sin(u)*b.x+Math.cos(u)*b.y+(e.y+o.y)/2},O={x:(f.x-b.x)/t,y:(f.y-b.y)/n},T=fM({x:1,y:0},O),S={x:(-f.x-b.x)/t,y:(-f.y-b.y)/n},k=fM(O,S);!s&&k>0?k-=2*Math.PI:s&&k<0&&(k+=2*Math.PI),k%=2*Math.PI;var C=T+k*l,W=t*Math.cos(C),U=n*Math.sin(C),J={x:Math.cos(u)*W-Math.sin(u)*U+x.x,y:Math.sin(u)*W+Math.cos(u)*U+x.y,ellipticalArcStartAngle:T,ellipticalArcEndAngle:T+k,ellipticalArcAngle:C,ellipticalArcCenter:x,resultantRx:t,resultantRy:n};return J};function E7(r){for(var e=[],t=null,n=null,i=null,a=0,s=r.length,o=0;o<s;o++){var l=r[o];n=r[o+1];var u=l[0],c={command:u,prePoint:t,params:l,startTangent:null,endTangent:null,currentPoint:null,nextPoint:null,arcParams:null,box:null,cubicParams:null};switch(u){case"M":i=[l[1],l[2]],a=o;break;case"A":var h=w7(t,l);c.arcParams=h;break}if(u==="Z")t=i,n=r[a+1];else{var f=l.length;t=[l[f-2],l[f-1]]}n&&n[0]==="Z"&&(n=r[a],e[a]&&(e[a].prePoint=t)),c.currentPoint=t,e[a]&&nv(t,e[a].currentPoint)&&(e[a].prePoint=c.prePoint);var d=n?[n[n.length-2],n[n.length-1]]:null;c.nextPoint=d;var v=c.prePoint;if(["L","H","V"].includes(u))c.startTangent=[v[0]-t[0],v[1]-t[1]],c.endTangent=[t[0]-v[0],t[1]-v[1]];else if(u==="Q"){var g=[l[1],l[2]];c.startTangent=[v[0]-g[0],v[1]-g[1]],c.endTangent=[t[0]-g[0],t[1]-g[1]]}else if(u==="T"){var p=e[o-1],m=hM(p.currentPoint,v);p.command==="Q"?(c.command="Q",c.startTangent=[v[0]-m[0],v[1]-m[1]],c.endTangent=[t[0]-m[0],t[1]-m[1]]):(c.command="TL",c.startTangent=[v[0]-t[0],v[1]-t[1]],c.endTangent=[t[0]-v[0],t[1]-v[1]])}else if(u==="C"){var b=[l[1],l[2]],x=[l[3],l[4]];c.startTangent=[v[0]-b[0],v[1]-b[1]],c.endTangent=[t[0]-x[0],t[1]-x[1]],c.startTangent[0]===0&&c.startTangent[1]===0&&(c.startTangent=[b[0]-x[0],b[1]-x[1]]),c.endTangent[0]===0&&c.endTangent[1]===0&&(c.endTangent=[x[0]-b[0],x[1]-b[1]])}else if(u==="S"){var O=e[o-1],T=hM(O.currentPoint,v),S=[l[1],l[2]];O.command==="C"?(c.command="C",c.startTangent=[v[0]-T[0],v[1]-T[1]],c.endTangent=[t[0]-S[0],t[1]-S[1]]):(c.command="SQ",c.startTangent=[v[0]-S[0],v[1]-S[1]],c.endTangent=[t[0]-S[0],t[1]-S[1]])}else if(u==="A"){var k=vM(c,0),C=k.x,W=k.y,U=vM(c,1,!1),J=U.x,te=U.y;c.startTangent=[C,W],c.endTangent=[J,te]}e.push(c)}return e}function vM(r,e){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,n=r.arcParams,i=n.rx,a=i===void 0?0:i,s=n.ry,o=s===void 0?0:s,l=n.xRotation,u=n.arcFlag,c=n.sweepFlag,h=dM({x:r.prePoint[0],y:r.prePoint[1]},a,o,l,!!u,!!c,{x:r.currentPoint[0],y:r.currentPoint[1]},e),f=dM({x:r.prePoint[0],y:r.prePoint[1]},a,o,l,!!u,!!c,{x:r.currentPoint[0],y:r.currentPoint[1]},t?e+.005:e-.005),d=f.x-h.x,v=f.y-h.y,g=Math.sqrt(d*d+v*v);return{x:-d/g,y:-v/g}}function iv(r){return Math.sqrt(r[0]*r[0]+r[1]*r[1])}function Am(r,e){return iv(r)*iv(e)?(r[0]*e[0]+r[1]*e[1])/(iv(r)*iv(e)):1}function gM(r,e){return(r[0]*e[1]<r[1]*e[0]?-1:1)*Math.acos(Am(r,e))}function w7(r,e){var t=e[1],n=e[2],i=oh(wn(e[3]),Math.PI*2),a=e[4],s=e[5],o=r[0],l=r[1],u=e[6],c=e[7],h=Math.cos(i)*(o-u)/2+Math.sin(i)*(l-c)/2,f=-1*Math.sin(i)*(o-u)/2+Math.cos(i)*(l-c)/2,d=h*h/(t*t)+f*f/(n*n);d>1&&(t*=Math.sqrt(d),n*=Math.sqrt(d));var v=t*t*(f*f)+n*n*(h*h),g=v?Math.sqrt((t*t*(n*n)-v)/v):1;a===s&&(g*=-1),isNaN(g)&&(g=0);var p=n?g*t*f/n:0,m=t?g*-n*h/t:0,b=(o+u)/2+Math.cos(i)*p-Math.sin(i)*m,x=(l+c)/2+Math.sin(i)*p+Math.cos(i)*m,O=[(h-p)/t,(f-m)/n],T=[(-1*h-p)/t,(-1*f-m)/n],S=gM([1,0],O),k=gM(O,T);return Am(O,T)<=-1&&(k=Math.PI),Am(O,T)>=1&&(k=0),s===0&&k>0&&(k-=2*Math.PI),s===1&&k<0&&(k+=2*Math.PI),{cx:b,cy:x,rx:nv(r,[u,c])?0:t,ry:nv(r,[u,c])?0:n,startAngle:S,endAngle:S+k,xRotation:i,arcFlag:a,sweepFlag:s}}function P7(r,e,t){return r.reduce(function(n,i){var a="";if(i[0]==="M"||i[0]==="L"){var s=vec3.fromValues(i[1],i[2],0);t&&vec3.transformMat4(s,s,t),a="".concat(i[0]).concat(s[0],",").concat(s[1])}else if(i[0]==="Z")a=i[0];else if(i[0]==="C"){var o=vec3.fromValues(i[1],i[2],0),l=vec3.fromValues(i[3],i[4],0),u=vec3.fromValues(i[5],i[6],0);t&&(vec3.transformMat4(o,o,t),vec3.transformMat4(l,l,t),vec3.transformMat4(u,u,t)),a="".concat(i[0]).concat(o[0],",").concat(o[1],",").concat(l[0],",").concat(l[1],",").concat(u[0],",").concat(u[1])}else if(i[0]==="A"){var c=vec3.fromValues(i[6],i[7],0);t&&vec3.transformMat4(c,c,t),a="".concat(i[0]).concat(i[1],",").concat(i[2],",").concat(i[3],",").concat(i[4],",").concat(i[5],",").concat(c[0],",").concat(c[1])}else if(i[0]==="Q"){var h=vec3.fromValues(i[1],i[2],0),f=vec3.fromValues(i[3],i[4],0);t&&(vec3.transformMat4(h,h,t),vec3.transformMat4(f,f,t)),a="".concat(i[0]).concat(i[1],",").concat(i[2],",").concat(i[3],",").concat(i[4],"}")}return n+=a},"")}function M7(r,e,t,n){return[["M",r,e],["L",t,n]]}function pM(r,e,t,n){var i=(-1+Math.sqrt(2))/3*4,a=r*i,s=e*i,o=t-r,l=t+r,u=n-e,c=n+e;return[["M",o,n],["C",o,n-s,t-a,u,t,u],["C",t+a,u,l,n-s,l,n],["C",l,n+s,t+a,c,t,c],["C",t-a,c,o,n+s,o,n],["Z"]]}function S7(r,e){var t=r.map(function(n,i){return[i===0?"M":"L",n[0],n[1]]});return e&&t.push(["Z"]),t}function T7(r,e,t,n,i){if(i){var a=_slicedToArray(i,4),s=a[0],o=a[1],l=a[2],u=a[3],c=r>0?1:-1,h=e>0?1:-1,f=c+h!==0?1:0;return[["M",c*s+t,n],["L",r-c*o+t,n],o?["A",o,o,0,0,f,r+t,h*o+n]:null,["L",r+t,e-h*l+n],l?["A",l,l,0,0,f,r+t-c*l,e+n]:null,["L",t+c*u,e+n],u?["A",u,u,0,0,f,t,e+n-h*u]:null,["L",t,h*s+n],s?["A",s,s,0,0,f,c*s+t,n]:null,["Z"]].filter(function(d){return d})}return[["M",t,n],["L",t+r,n],["L",t+r,n+e],["L",t,n+e],["Z"]]}function SJ(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:r.getLocalTransform(),t=[];switch(r.nodeName){case Tt.LINE:var n=r.parsedStyle,i=n.x1,a=i===void 0?0:i,s=n.y1,o=s===void 0?0:s,l=n.x2,u=l===void 0?0:l,c=n.y2,h=c===void 0?0:c;t=M7(a,o,u,h);break;case Tt.CIRCLE:{var f=r.parsedStyle,d=f.r,v=d===void 0?0:d,g=f.cx,p=g===void 0?0:g,m=f.cy,b=m===void 0?0:m;t=pM(v,v,p,b);break}case Tt.ELLIPSE:{var x=r.parsedStyle,O=x.rx,T=O===void 0?0:O,S=x.ry,k=S===void 0?0:S,C=x.cx,W=C===void 0?0:C,U=x.cy,J=U===void 0?0:U;t=pM(T,k,W,J);break}case Tt.POLYLINE:case Tt.POLYGON:var te=r.parsedStyle.points;t=S7(te.points,r.nodeName===Tt.POLYGON);break;case Tt.RECT:var ie=r.parsedStyle,ae=ie.width,ve=ae===void 0?0:ae,Z=ie.height,H=Z===void 0?0:Z,X=ie.x,q=X===void 0?0:X,oe=ie.y,de=oe===void 0?0:oe,Oe=ie.radius,Be=Oe&&Oe.some(function(Ve){return Ve!==0});t=T7(ve,H,q,de,Be&&Oe.map(function(Ve){return clamp(Ve,0,Math.min(Math.abs(ve)/2,Math.abs(H)/2))}));break;case Tt.PATH:var Ge=r.parsedStyle.d.absolutePath;t=_toConsumableArray(Ge);break}if(t.length)return P7(t,r,e)}function TJ(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,a=r.map(function(s,o){var l=s[0],u=r[o+1],c=o===0&&(e!==0||t!==0),h=(o===r.length-1||u&&(u[0]==="M"||u[0]==="Z"))&&n!==0&&i!==0,f=c?[e,t]:[0,0],d=_slicedToArray(f,2),v=d[0],g=d[1],p=h?[n,i]:[0,0],m=_slicedToArray(p,2),b=m[0],x=m[1];switch(l){case"M":return"M ".concat(s[1]+v,",").concat(s[2]+g);case"L":return"L ".concat(s[1]+b,",").concat(s[2]+x);case"Q":return"Q ".concat(s[1]," ").concat(s[2],",").concat(s[3]+b," ").concat(s[4]+x);case"C":return"C ".concat(s[1]," ").concat(s[2],",").concat(s[3]," ").concat(s[4],",").concat(s[5]+b," ").concat(s[6]+x);case"A":return"A ".concat(s[1]," ").concat(s[2]," ").concat(s[3]," ").concat(s[4]," ").concat(s[5]," ").concat(s[6]+b," ").concat(s[7]+x);case"Z":return"Z";default:return null}}).filter(function(s){return s!==null}).join(" ");return~a.indexOf("NaN")?"":a}var mM=function(e){if(e===""||Array.isArray(e)&&e.length===0)return{absolutePath:[],hasArc:!1,segments:[],polygons:[],polylines:[],curve:null,totalLength:0,rect:{x:0,y:0,width:0,height:0}};var t;try{t=fl(e)}catch(d){t=fl(""),console.error("[g]: Invalid SVG Path definition: ".concat(e))}m7(t);var n=y7(t),i=b7(t),a=i.polygons,s=i.polylines,o=E7(t),l=x7(o,0),u=l.x,c=l.y,h=l.width,f=l.height;return{absolutePath:t,hasArc:n,segments:o,polygons:a,polylines:s,totalLength:0,rect:{x:Number.isFinite(u)?u:0,y:Number.isFinite(c)?c:0,width:Number.isFinite(h)?h:0,height:Number.isFinite(f)?f:0}}},A7=oi(mM);function yM(r){return Xt(r)?A7(r):mM(r)}function O7(r,e,t){var n=r.curve,i=e.curve;(!n||n.length===0)&&(n=_u(r.absolutePath,!1),r.curve=n),(!i||i.length===0)&&(i=_u(e.absolutePath,!1),e.curve=i);var a=[n,i];n.length!==i.length&&(a=Og(n,i));var s=uh(a[0])!==uh(a[1])?d1(a[0]):v1(a[0]);return[s,g1(a[1],s),function(o){return o}]}function k7(r,e){var t;return Xt(r)?t=r.split(" ").map(function(n){var i=n.split(","),a=pn(i,2),s=a[0],o=a[1];return[Number(s),Number(o)]}):t=r,{points:t,totalLength:0,segments:[]}}function C7(r,e){return[r.points,e.points,function(t){return t}]}var er=null,nu=/\s*(\w+)\(([^)]*)\)/g;function Ai(r){return function(e){var t=0;return r.map(function(n){return n===er?e[t++]:n})}}function qo(r){return r}var Rc={matrix:["NNNNNN",[er,er,0,0,er,er,0,0,0,0,1,0,er,er,0,1],qo],matrix3d:["NNNNNNNNNNNNNNNN",qo],rotate:["A"],rotateX:["A"],rotateY:["A"],rotateZ:["A"],rotate3d:["NNNA"],perspective:["L"],scale:["Nn",Ai([er,er,new Pn(1)]),qo],scaleX:["N",Ai([er,new Pn(1),new Pn(1)]),Ai([er,new Pn(1)])],scaleY:["N",Ai([new Pn(1),er,new Pn(1)]),Ai([new Pn(1),er])],scaleZ:["N",Ai([new Pn(1),new Pn(1),er])],scale3d:["NNN",qo],skew:["Aa",null,qo],skewX:["A",null,Ai([er,Jo])],skewY:["A",null,Ai([Jo,er])],translate:["Tt",Ai([er,er,La]),qo],translateX:["T",Ai([er,La,La]),Ai([er,La])],translateY:["T",Ai([La,er,La]),Ai([La,er])],translateZ:["L",Ai([La,La,er])],translate3d:["TTL",qo]};function bM(r){for(var e=[],t=r.length,n=0;n<t;n++){var i=r[n],a=i[0],s=i.slice(1);a==="translate"||a==="skew"?s.length===1&&s.push(0):a==="scale"&&s.length===1&&s.push(s[0]);var o=Rc[a];if(!o)return[];var l=s.map(function(u){return Yn(u)});e.push({t:a,d:l})}return e}function N7(r){if(Array.isArray(r))return bM(r);if(r=(r||"none").trim(),r==="none")return[];var e=[],t,n=0;for(nu.lastIndex=0;t=nu.exec(r);){if(t.index!==n)return[];n=t.index+t[0].length;var i=t[1],a=Rc[i];if(!a)return[];var s=t[2].split(","),o=a[0];if(o.length<s.length)return[];for(var l=[],u=0;u<o.length;u++){var c=s[u],h=o[u],f=void 0;if(c?f={A:function(v){return v.trim()==="0"?Jo:h7(v)},N:Mm,T:Pm,L:u7}[h.toUpperCase()](c):f={a:Jo,n:l[0],t:La}[h],f===void 0)return[];l.push(f)}if(e.push({t:i,d:l}),nu.lastIndex===r.length)return e}return[]}function _7(r){if(Array.isArray(r))return bM(r);if(r=(r||"none").trim(),r==="none")return[];var e=[],t,n=0;for(nu.lastIndex=0;t=nu.exec(r);){if(t.index!==n)return[];n=t.index+t[0].length;var i=t[1],a=Rc[i];if(!a)return[];var s=t[2].split(","),o=a[0];if(o.length<s.length)return[];for(var l=[],u=0;u<o.length;u++){var c=s[u],h=o[u],f=void 0;if(c?f={A:function(v){return v.trim()==="0"?Jo:aM(v)},N:lM,T:iM,L:rM}[h.toUpperCase()](c):f={a:Jo,n:l[0],t:La}[h],f===void 0)return[];l.push(f)}if(e.push({t:i,d:l}),nu.lastIndex===r.length)return e}return[]}function R7(r){var e,t,n,i;switch(r.t){case"rotateX":return i=wn(Ti(r.d[0])),[1,0,0,0,0,Math.cos(i),Math.sin(i),0,0,-Math.sin(i),Math.cos(i),0,0,0,0,1];case"rotateY":return i=wn(Ti(r.d[0])),[Math.cos(i),0,-Math.sin(i),0,0,1,0,0,Math.sin(i),0,Math.cos(i),0,0,0,0,1];case"rotate":case"rotateZ":return i=wn(Ti(r.d[0])),[Math.cos(i),Math.sin(i),0,0,-Math.sin(i),Math.cos(i),0,0,0,0,1,0,0,0,0,1];case"rotate3d":e=r.d[0].value,t=r.d[1].value,n=r.d[2].value,i=wn(Ti(r.d[3]));var a=e*e+t*t+n*n;if(a===0)e=1,t=0,n=0;else if(a!==1){var s=Math.sqrt(a);e/=s,t/=s,n/=s}var o=Math.sin(i/2),l=o*Math.cos(i/2),u=o*o;return[1-2*(t*t+n*n)*u,2*(e*t*u+n*l),2*(e*n*u-t*l),0,2*(e*t*u-n*l),1-2*(e*e+n*n)*u,2*(t*n*u+e*l),0,2*(e*n*u+t*l),2*(t*n*u-e*l),1-2*(e*e+t*t)*u,0,0,0,0,1];case"scale":return[r.d[0].value,0,0,0,0,r.d[1].value,0,0,0,0,1,0,0,0,0,1];case"scaleX":return[r.d[0].value,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];case"scaleY":return[1,0,0,0,0,r.d[0].value,0,0,0,0,1,0,0,0,0,1];case"scaleZ":return[1,0,0,0,0,1,0,0,0,0,r.d[0].value,0,0,0,0,1];case"scale3d":return[r.d[0].value,0,0,0,0,r.d[1].value,0,0,0,0,r.d[2].value,0,0,0,0,1];case"skew":var c=wn(Ti(r.d[0])),h=wn(Ti(r.d[1]));return[1,Math.tan(h),0,0,Math.tan(c),1,0,0,0,0,1,0,0,0,0,1];case"skewX":return i=wn(Ti(r.d[0])),[1,0,0,0,Math.tan(i),1,0,0,0,0,1,0,0,0,0,1];case"skewY":return i=wn(Ti(r.d[0])),[1,Math.tan(i),0,0,0,1,0,0,0,0,1,0,0,0,0,1];case"translate":return e=Bi(r.d[0],0,null)||0,t=Bi(r.d[1],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,e,t,0,1];case"translateX":return e=Bi(r.d[0],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,e,0,0,1];case"translateY":return t=Bi(r.d[0],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,0,t,0,1];case"translateZ":return n=Bi(r.d[0],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,n,1];case"translate3d":return e=Bi(r.d[0],0,null)||0,t=Bi(r.d[1],0,null)||0,n=Bi(r.d[2],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,e,t,n,1];case"perspective":var f=Bi(r.d[0],0,null)||0,d=f?-1/f:0;return[1,0,0,0,0,1,0,0,0,0,1,d,0,0,0,1];case"matrix":return[r.d[0].value,r.d[1].value,0,0,r.d[2].value,r.d[3].value,0,0,0,0,1,0,r.d[4].value,r.d[5].value,0,1];case"matrix3d":return r.d.map(function(v){return v.value})}}function L7(r,e){return[r[0]*e[0]+r[4]*e[1]+r[8]*e[2]+r[12]*e[3],r[1]*e[0]+r[5]*e[1]+r[9]*e[2]+r[13]*e[3],r[2]*e[0]+r[6]*e[1]+r[10]*e[2]+r[14]*e[3],r[3]*e[0]+r[7]*e[1]+r[11]*e[2]+r[15]*e[3],r[0]*e[4]+r[4]*e[5]+r[8]*e[6]+r[12]*e[7],r[1]*e[4]+r[5]*e[5]+r[9]*e[6]+r[13]*e[7],r[2]*e[4]+r[6]*e[5]+r[10]*e[6]+r[14]*e[7],r[3]*e[4]+r[7]*e[5]+r[11]*e[6]+r[15]*e[7],r[0]*e[8]+r[4]*e[9]+r[8]*e[10]+r[12]*e[11],r[1]*e[8]+r[5]*e[9]+r[9]*e[10]+r[13]*e[11],r[2]*e[8]+r[6]*e[9]+r[10]*e[10]+r[14]*e[11],r[3]*e[8]+r[7]*e[9]+r[11]*e[10]+r[15]*e[11],r[0]*e[12]+r[4]*e[13]+r[8]*e[14]+r[12]*e[15],r[1]*e[12]+r[5]*e[13]+r[9]*e[14]+r[13]*e[15],r[2]*e[12]+r[6]*e[13]+r[10]*e[14]+r[14]*e[15],r[3]*e[12]+r[7]*e[13]+r[11]*e[14]+r[15]*e[15]]}function D7(r){return r.length===0?[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]:r.map(R7).reduce(L7)}function xM(r){var e=[0,0,0],t=[1,1,1],n=[0,0,0],i=[0,0,0,1],a=[0,0,0,1];return NB(D7(r),e,t,n,i,a),[[e,t,n,a,i]]}var I7=function(){function r(n,i){for(var a=[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],s=0;s<4;s++)for(var o=0;o<4;o++)for(var l=0;l<4;l++)a[s][o]+=i[s][l]*n[l][o];return a}function e(n){return n[0][2]===0&&n[0][3]===0&&n[1][2]===0&&n[1][3]===0&&n[2][0]===0&&n[2][1]===0&&n[2][2]===1&&n[2][3]===0&&n[3][2]===0&&n[3][3]===1}function t(n,i,a,s,o){for(var l=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]],u=0;u<4;u++)l[u][3]=o[u];for(var c=0;c<3;c++)for(var h=0;h<3;h++)l[3][c]+=n[h]*l[h][c];var f=s[0],d=s[1],v=s[2],g=s[3],p=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]];p[0][0]=1-2*(d*d+v*v),p[0][1]=2*(f*d-v*g),p[0][2]=2*(f*v+d*g),p[1][0]=2*(f*d+v*g),p[1][1]=1-2*(f*f+v*v),p[1][2]=2*(d*v-f*g),p[2][0]=2*(f*v-d*g),p[2][1]=2*(d*v+f*g),p[2][2]=1-2*(f*f+d*d),l=r(l,p);var m=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]];a[2]&&(m[2][1]=a[2],l=r(l,m)),a[1]&&(m[2][1]=0,m[2][0]=a[0],l=r(l,m)),a[0]&&(m[2][0]=0,m[1][0]=a[0],l=r(l,m));for(var b=0;b<3;b++)for(var x=0;x<3;x++)l[b][x]*=i[b];return e(l)?[l[0][0],l[0][1],l[1][0],l[1][1],l[3][0],l[3][1]]:l[0].concat(l[1],l[2],l[3])}return t}();function B7(r){return r.toFixed(6).replace(".000000","")}function Om(r,e){var t,n;return r.decompositionPair!==e&&(r.decompositionPair=e,t=xM(r)),e.decompositionPair!==r&&(e.decompositionPair=r,n=xM(e)),t[0]===null||n[0]===null?[[!1],[!0],function(i){return i?e[0].d:r[0].d}]:(t[0].push(0),n[0].push(1),[t,n,function(i){var a=F7(t[0][3],n[0][3],i[5]),s=I7(i[0],i[1],i[2],a,i[4]),o=s.map(B7).join(",");return o}])}function z7(r,e){for(var t=0,n=0;n<r.length;n++)t+=r[n]*e[n];return t}function F7(r,e,t){var n=z7(r,e);n=on(n,-1,1);var i=[];if(n===1)i=r;else for(var a=Math.acos(n),s=Math.sin(t*a)*1/Math.sqrt(1-n*n),o=0;o<4;o++)i.push(r[o]*(Math.cos(t*a)-n*s)+e[o]*s);return i}function km(r){return r.replace(/[XY]/,"")}function Cm(r){return r.replace(/(X|Y|Z|3d)?$/,"3d")}var j7=function(e,t){return e==="perspective"&&t==="perspective"||(e==="matrix"||e==="matrix3d")&&(t==="matrix"||t==="matrix3d")};function G7(r,e,t){var n=!1;if(!r.length||!e.length){r.length||(n=!0,r=e,e=[]);for(var i=function(){var J=r[a],te=J.t,ie=J.d,ae=te.substring(0,5)==="scale"?1:0;e.push({t:te,d:ie.map(function(ve){return typeof ve=="number"?Yn(ae):Yn(ae,ve.unit)})})},a=0;a<r.length;a++)i()}var s=[],o=[],l=[];if(r.length!==e.length){var u=Om(r,e);s=[u[0]],o=[u[1]],l=[["matrix",[u[2]]]]}else for(var c=0;c<r.length;c++){var h=r[c].t,f=e[c].t,d=r[c].d,v=e[c].d,g=Rc[h],p=Rc[f],m=void 0;if(j7(h,f)){var b=Om([r[c]],[e[c]]);s.push(b[0]),o.push(b[1]),l.push(["matrix",[b[2]]]);continue}else if(h===f)m=h;else if(g[2]&&p[2]&&km(h)===km(f))m=km(h),d=g[2](d),v=p[2](v);else if(g[1]&&p[1]&&Cm(h)===Cm(f))m=Cm(h),d=g[1](d),v=p[1](v);else{var x=Om(r,e);s=[x[0]],o=[x[1]],l=[["matrix",[x[2]]]];break}for(var O=[],T=[],S=[],k=0;k<d.length;k++){var C=f7(d[k],v[k],t,!1,k);O[k]=C[0],T[k]=C[1],S.push(C[2])}s.push(O),o.push(T),l.push([m,S])}if(n){var W=s;s=o,o=W}return[s,o,function(U){return U.map(function(J,te){var ie=J.map(function(ae,ve){return l[te][1][ve](ae)}).join(",");return l[te][0]==="matrix"&&ie.split(",").length===16&&(l[te][0]="matrix3d"),l[te][0]==="matrix3d"&&ie.split(",").length===6&&(l[te][0]="matrix"),"".concat(l[te][0],"(").concat(ie,")")}).join(" ")}]}var H7=oi(function(r){if(Xt(r)){if(r==="text-anchor")return[Yn(0,"px"),Yn(0,"px")];var e=r.split(" ");return e.length===1&&(e[0]==="top"||e[0]==="bottom"?(e[1]=e[0],e[0]="center"):e[1]="center"),e.length!==2?null:[Pm(EM(e[0])),Pm(EM(e[1]))]}return[Yn(r[0]||0,"px"),Yn(r[1]||0,"px")]});function EM(r){return r==="center"?"50%":r==="left"||r==="top"?"0%":r==="right"||r==="bottom"?"100%":r}var wM=[{n:"display",k:["none"]},{n:"opacity",int:!0,inh:!0,d:"1",syntax:ot.OPACITY_VALUE},{n:"fillOpacity",int:!0,inh:!0,d:"1",syntax:ot.OPACITY_VALUE},{n:"strokeOpacity",int:!0,inh:!0,d:"1",syntax:ot.OPACITY_VALUE},{n:"fill",int:!0,k:["none"],d:"none",syntax:ot.PAINT},{n:"fillRule",k:["nonzero","evenodd"],d:"nonzero"},{n:"stroke",int:!0,k:["none"],d:"none",syntax:ot.PAINT,l:!0},{n:"shadowType",k:["inner","outer","both"],d:"outer",l:!0},{n:"shadowColor",int:!0,syntax:ot.COLOR},{n:"shadowOffsetX",int:!0,l:!0,d:"0",syntax:ot.LENGTH_PERCENTAGE},{n:"shadowOffsetY",int:!0,l:!0,d:"0",syntax:ot.LENGTH_PERCENTAGE},{n:"shadowBlur",int:!0,l:!0,d:"0",syntax:ot.SHADOW_BLUR},{n:"lineWidth",int:!0,inh:!0,d:"1",l:!0,a:["strokeWidth"],syntax:ot.LENGTH_PERCENTAGE},{n:"increasedLineWidthForHitTesting",inh:!0,d:"0",l:!0,syntax:ot.LENGTH_PERCENTAGE},{n:"lineJoin",inh:!0,l:!0,a:["strokeLinejoin"],k:["miter","bevel","round"],d:"miter"},{n:"lineCap",inh:!0,l:!0,a:["strokeLinecap"],k:["butt","round","square"],d:"butt"},{n:"lineDash",int:!0,inh:!0,k:["none"],a:["strokeDasharray"],syntax:ot.LENGTH_PERCENTAGE_12},{n:"lineDashOffset",int:!0,inh:!0,d:"0",a:["strokeDashoffset"],syntax:ot.LENGTH_PERCENTAGE},{n:"offsetPath",syntax:ot.DEFINED_PATH},{n:"offsetDistance",int:!0,syntax:ot.OFFSET_DISTANCE},{n:"dx",int:!0,l:!0,d:"0",syntax:ot.LENGTH_PERCENTAGE},{n:"dy",int:!0,l:!0,d:"0",syntax:ot.LENGTH_PERCENTAGE},{n:"zIndex",ind:!0,int:!0,d:"0",k:["auto"],syntax:ot.Z_INDEX},{n:"visibility",k:["visible","hidden"],ind:!0,inh:!0,int:!0,d:"visible"},{n:"pointerEvents",inh:!0,k:["none","auto","stroke","fill","painted","visible","visiblestroke","visiblefill","visiblepainted","all"],d:"auto"},{n:"filter",ind:!0,l:!0,k:["none"],d:"none",syntax:ot.FILTER},{n:"clipPath",syntax:ot.DEFINED_PATH},{n:"textPath",syntax:ot.DEFINED_PATH},{n:"textPathSide",k:["left","right"],d:"left"},{n:"textPathStartOffset",l:!0,d:"0",syntax:ot.LENGTH_PERCENTAGE},{n:"transform",p:100,int:!0,k:["none"],d:"none",syntax:ot.TRANSFORM},{n:"transformOrigin",p:100,d:"0 0",l:!0,syntax:ot.TRANSFORM_ORIGIN},{n:"cx",int:!0,l:!0,d:"0",syntax:ot.COORDINATE},{n:"cy",int:!0,l:!0,d:"0",syntax:ot.COORDINATE},{n:"cz",int:!0,l:!0,d:"0",syntax:ot.COORDINATE},{n:"r",int:!0,l:!0,d:"0",syntax:ot.LENGTH_PERCENTAGE},{n:"rx",int:!0,l:!0,d:"0",syntax:ot.LENGTH_PERCENTAGE},{n:"ry",int:!0,l:!0,d:"0",syntax:ot.LENGTH_PERCENTAGE},{n:"x",int:!0,l:!0,d:"0",syntax:ot.COORDINATE},{n:"y",int:!0,l:!0,d:"0",syntax:ot.COORDINATE},{n:"z",int:!0,l:!0,d:"0",syntax:ot.COORDINATE},{n:"width",int:!0,l:!0,k:["auto","fit-content","min-content","max-content"],d:"0",syntax:ot.LENGTH_PERCENTAGE},{n:"height",int:!0,l:!0,k:["auto","fit-content","min-content","max-content"],d:"0",syntax:ot.LENGTH_PERCENTAGE},{n:"radius",int:!0,l:!0,d:"0",syntax:ot.LENGTH_PERCENTAGE_14},{n:"x1",int:!0,l:!0,syntax:ot.COORDINATE},{n:"y1",int:!0,l:!0,syntax:ot.COORDINATE},{n:"z1",int:!0,l:!0,syntax:ot.COORDINATE},{n:"x2",int:!0,l:!0,syntax:ot.COORDINATE},{n:"y2",int:!0,l:!0,syntax:ot.COORDINATE},{n:"z2",int:!0,l:!0,syntax:ot.COORDINATE},{n:"d",int:!0,l:!0,d:"",syntax:ot.PATH,p:50},{n:"points",int:!0,l:!0,syntax:ot.LIST_OF_POINTS,p:50},{n:"text",l:!0,d:"",syntax:ot.TEXT,p:50},{n:"textTransform",l:!0,inh:!0,k:["capitalize","uppercase","lowercase","none"],d:"none",syntax:ot.TEXT_TRANSFORM,p:51},{n:"font",l:!0},{n:"fontSize",int:!0,inh:!0,d:"16px",l:!0,syntax:ot.LENGTH_PERCENTAGE},{n:"fontFamily",l:!0,inh:!0,d:"sans-serif"},{n:"fontStyle",l:!0,inh:!0,k:["normal","italic","oblique"],d:"normal"},{n:"fontWeight",l:!0,inh:!0,k:["normal","bold","bolder","lighter"],d:"normal"},{n:"fontVariant",l:!0,inh:!0,k:["normal","small-caps"],d:"normal"},{n:"lineHeight",l:!0,syntax:ot.LENGTH,int:!0,d:"0"},{n:"letterSpacing",l:!0,syntax:ot.LENGTH,int:!0,d:"0"},{n:"miterLimit",l:!0,syntax:ot.NUMBER,d:function(e){return e===Tt.PATH||e===Tt.POLYGON||e===Tt.POLYLINE?"4":"10"}},{n:"wordWrap",l:!0},{n:"wordWrapWidth",l:!0},{n:"maxLines",l:!0},{n:"textOverflow",l:!0,d:"clip"},{n:"leading",l:!0},{n:"textBaseline",l:!0,inh:!0,k:["top","hanging","middle","alphabetic","ideographic","bottom"],d:"alphabetic"},{n:"textAlign",l:!0,inh:!0,k:["start","center","middle","end","left","right"],d:"start"},{n:"markerStart",syntax:ot.MARKER},{n:"markerEnd",syntax:ot.MARKER},{n:"markerMid",syntax:ot.MARKER},{n:"markerStartOffset",syntax:ot.LENGTH,l:!0,int:!0,d:"0"},{n:"markerEndOffset",syntax:ot.LENGTH,l:!0,int:!0,d:"0"}],X7=new Set(wM.filter(function(r){return!!r.l}).map(function(r){return r.n})),PM={},W7=function(){function r(e){var t=this;tt(this,r),this.runtime=e,wM.forEach(function(n){t.registerMetadata(n)})}return nt(r,[{key:"registerMetadata",value:function(t){[t.n].concat(ni(t.a||[])).forEach(function(n){PM[n]=t})}},{key:"getPropertySyntax",value:function(t){return this.runtime.CSSPropertySyntaxFactory[t]}},{key:"processProperties",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{skipUpdateAttribute:!1,skipParse:!1,forceUpdateGeometry:!1,usedAttributes:[],memoize:!0};Object.assign(t.attributes,n);var a=t.parsedStyle.clipPath,s=t.parsedStyle.offsetPath;Object.assign(t.parsedStyle,n);var o=!!i.forceUpdateGeometry;if(!o){for(var l in n)if(X7.has(l)){o=!0;break}}n.fill&&(t.parsedStyle.fill=Nc(n.fill)),n.stroke&&(t.parsedStyle.stroke=Nc(n.stroke)),n.shadowColor&&(t.parsedStyle.shadowColor=Nc(n.shadowColor)),n.filter&&(t.parsedStyle.filter=g7(n.filter)),vt(n.radius)||(t.parsedStyle.radius=sM(n.radius,4)),vt(n.lineDash)||(t.parsedStyle.lineDash=sM(n.lineDash,2)),n.points&&(t.parsedStyle.points=k7(n.points)),n.d===""&&(t.parsedStyle.d=ar({},QP)),n.d&&(t.parsedStyle.d=yM(n.d)),n.textTransform&&this.runtime.CSSPropertySyntaxFactory[ot.TEXT_TRANSFORM].calculator(null,null,{value:n.textTransform},t,null),Et(n.clipPath)||this.runtime.CSSPropertySyntaxFactory[ot.DEFINED_PATH].calculator("clipPath",a,n.clipPath,t,this.runtime),n.offsetPath&&this.runtime.CSSPropertySyntaxFactory[ot.DEFINED_PATH].calculator("offsetPath",s,n.offsetPath,t,this.runtime),n.transform&&(t.parsedStyle.transform=N7(n.transform)),n.transformOrigin&&(t.parsedStyle.transformOrigin=H7(n.transformOrigin)),n.markerStart&&(t.parsedStyle.markerStart=this.runtime.CSSPropertySyntaxFactory[ot.MARKER].calculator(null,n.markerStart,n.markerStart,null,null)),n.markerEnd&&(t.parsedStyle.markerEnd=this.runtime.CSSPropertySyntaxFactory[ot.MARKER].calculator(null,n.markerEnd,n.markerEnd,null,null)),n.markerMid&&(t.parsedStyle.markerMid=this.runtime.CSSPropertySyntaxFactory[ot.MARKER].calculator("",n.markerMid,n.markerMid,null,null)),vt(n.zIndex)||this.runtime.CSSPropertySyntaxFactory[ot.Z_INDEX].postProcessor(t),vt(n.offsetDistance)||this.runtime.CSSPropertySyntaxFactory[ot.OFFSET_DISTANCE].postProcessor(t),n.transform&&this.runtime.CSSPropertySyntaxFactory[ot.TRANSFORM].postProcessor(t),n.transformOrigin&&this.runtime.CSSPropertySyntaxFactory[ot.TRANSFORM_ORIGIN].postProcessor(t),o&&(t.geometry.dirty=!0,t.renderable.boundsDirty=!0,t.renderable.renderBoundsDirty=!0,i.forceUpdateGeometry||this.runtime.sceneGraphService.dirtifyToRoot(t))}},{key:"updateGeometry",value:function(t){var n=t.nodeName,i=this.runtime.geometryUpdaterFactory[n];if(i){var a=t.geometry;a.contentBounds||(a.contentBounds=new Si),a.renderBounds||(a.renderBounds=new Si);var s=t.parsedStyle,o=i.update(s,t),l=o.cx,u=l===void 0?0:l,c=o.cy,h=c===void 0?0:c,f=o.cz,d=f===void 0?0:f,v=o.hwidth,g=v===void 0?0:v,p=o.hheight,m=p===void 0?0:p,b=o.hdepth,x=b===void 0?0:b,O=[Math.abs(g),Math.abs(m),x],T=s.stroke,S=s.lineWidth,k=S===void 0?1:S,C=s.increasedLineWidthForHitTesting,W=C===void 0?0:C,U=s.shadowType,J=U===void 0?"outer":U,te=s.shadowColor,ie=s.filter,ae=ie===void 0?[]:ie,ve=s.transformOrigin,Z=[u,h,d];a.contentBounds.update(Z,O);var H=n===Tt.POLYLINE||n===Tt.POLYGON||n===Tt.PATH?Math.SQRT2:.5,X=T&&!T.isNone;if(X){var q=((k||0)+(W||0))*H;O[0]+=q,O[1]+=q}if(a.renderBounds.update(Z,O),te&&J&&J!=="inner"){var oe=a.renderBounds,de=oe.min,Oe=oe.max,Be=s.shadowBlur,Ge=s.shadowOffsetX,Ve=s.shadowOffsetY,qe=Be||0,lt=Ge||0,Ct=Ve||0,Vt=de[0]-qe+lt,qt=Oe[0]+qe+lt,Nr=de[1]-qe+Ct,un=Oe[1]+qe+Ct;de[0]=Math.min(de[0],Vt),Oe[0]=Math.max(Oe[0],qt),de[1]=Math.min(de[1],Nr),Oe[1]=Math.max(Oe[1],un),a.renderBounds.setMinMax(de,Oe)}ae.forEach(function(mr){var da=mr.name,lr=mr.params;if(da==="blur"){var Xr=lr[0].value;a.renderBounds.update(a.renderBounds.center,He(a.renderBounds.halfExtents,a.renderBounds.halfExtents,[Xr,Xr,0]))}else if(da==="drop-shadow"){var Ht=lr[0].value,an=lr[1].value,Gt=lr[2].value,tn=a.renderBounds,Kt=tn.min,yt=tn.max,sn=Kt[0]-Gt+Ht,cn=yt[0]+Gt+Ht,ur=Kt[1]-Gt+an,hn=yt[1]+Gt+an;Kt[0]=Math.min(Kt[0],sn),yt[0]=Math.max(yt[0],cn),Kt[1]=Math.min(Kt[1],ur),yt[1]=Math.max(yt[1],hn),a.renderBounds.setMinMax(Kt,yt)}}),t.geometry.dirty=!1;var ui=g<0,_r=m<0,Fa=(ui?-1:1)*(ve?Bi(ve[0],0,t,!0):0),Er=(_r?-1:1)*(ve?Bi(ve[1],1,t,!0):0);(Fa||Er)&&t.setOrigin(Fa,Er)}}},{key:"updateSizeAttenuation",value:function(t,n){t.style.isSizeAttenuation?(t.style.rawLineWidth||(t.style.rawLineWidth=t.style.lineWidth),t.style.lineWidth=(t.style.rawLineWidth||1)/n,t.nodeName===Tt.CIRCLE&&(t.style.rawR||(t.style.rawR=t.style.r),t.style.r=(t.style.rawR||1)/n)):(t.style.rawLineWidth&&(t.style.lineWidth=t.style.rawLineWidth,delete t.style.rawLineWidth),t.nodeName===Tt.CIRCLE&&t.style.rawR&&(t.style.r=t.style.rawR,delete t.style.rawR))}}])}(),V7=function(){function r(){tt(this,r),this.mixer=Sm}return nt(r,[{key:"calculator",value:function(t,n,i,a){return Ti(i)}}])}(),Y7=function(){function r(){tt(this,r)}return nt(r,[{key:"calculator",value:function(t,n,i,a,s){return i instanceof sa&&(i=null),s.sceneGraphService.updateDisplayObjectDependency(t,n,i,a),t==="clipPath"&&a.forEach(function(o){o.childNodes.length===0&&s.sceneGraphService.dirtifyToRoot(o)}),i}}])}(),U7=function(){function r(){tt(this,r),this.parser=Nc,this.mixer=l7}return nt(r,[{key:"calculator",value:function(t,n,i,a){return i instanceof sa?i.value==="none"?$P:eM:i}}])}(),Z7=function(){function r(){tt(this,r)}return nt(r,[{key:"calculator",value:function(t,n,i){return i instanceof sa?[]:i}}])}();function MM(r){var e=r.parsedStyle,t=e.fontSize;return vt(t)?null:t}var Nm=function(){function r(){tt(this,r),this.mixer=Sm}return nt(r,[{key:"calculator",value:function(t,n,i,a,s){if(ht(i))return i;if(Pn.isRelativeUnit(i.unit)){if(i.unit===ct.kPercentage)return 0;if(i.unit===ct.kEms){if(a.parentNode){var o=MM(a.parentNode);if(o)return o*=i.value,o}return 0}if(i.unit===ct.kRems){var l;if(a!=null&&(l=a.ownerDocument)!==null&&l!==void 0&&l.documentElement){var u=MM(a.ownerDocument.documentElement);if(u)return u*=i.value,u}return 0}}else return i.value}}])}(),K7=function(){function r(){tt(this,r),this.mixer=uM}return nt(r,[{key:"calculator",value:function(t,n,i){return i.map(function(a){return a.value})}}])}(),Q7=function(){function r(){tt(this,r),this.mixer=uM}return nt(r,[{key:"calculator",value:function(t,n,i){return i.map(function(a){return a.value})}}])}(),J7=function(){function r(){tt(this,r)}return nt(r,[{key:"calculator",value:function(t,n,i,a){var s;i instanceof sa&&(i=null);var o=(s=i)===null||s===void 0?void 0:s.cloneNode(!0);return o&&(o.style.isMarker=!0),o}}])}(),q7=function(){function r(){tt(this,r),this.mixer=Sm}return nt(r,[{key:"calculator",value:function(t,n,i){return i.value}}])}(),$7=function(){function r(){tt(this,r),this.mixer=Tm(0,1)}return nt(r,[{key:"calculator",value:function(t,n,i){return i.value}},{key:"postProcessor",value:function(t){var n=t.parsedStyle,i=n.offsetPath,a=n.offsetDistance;if(i){var s=i.nodeName;if(s===Tt.LINE||s===Tt.PATH||s===Tt.POLYLINE){var o=i.getPoint(a);o&&t.setLocalPosition(o.x,o.y)}}}}])}(),ez=function(){function r(){tt(this,r),this.mixer=Tm(0,1)}return nt(r,[{key:"calculator",value:function(t,n,i){return i.value}}])}(),tz=function(){function r(){tt(this,r),this.parser=yM,this.mixer=O7}return nt(r,[{key:"calculator",value:function(t,n,i){return i instanceof sa&&i.value==="unset"?{absolutePath:[],hasArc:!1,segments:[],polygons:[],polylines:[],curve:null,totalLength:0,rect:new $l(0,0,0,0)}:i}}])}(),nz=nt(function r(){tt(this,r),this.mixer=C7}),rz=function(r){function e(){var t;tt(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=nn(this,e,[].concat(i)),t.mixer=Tm(0,1/0),t}return rn(e,r),nt(e)}(Nm),iz=function(){function r(){tt(this,r)}return nt(r,[{key:"calculator",value:function(t,n,i,a){return i instanceof sa?i.value==="unset"?"":i.value:"".concat(i)}},{key:"postProcessor",value:function(t){t.nodeValue="".concat(t.parsedStyle.text)||""}}])}(),az=function(){function r(){tt(this,r)}return nt(r,[{key:"calculator",value:function(t,n,i,a){var s=a.getAttribute("text");if(s){var o=s;i.value==="capitalize"?o=s.charAt(0).toUpperCase()+s.slice(1):i.value==="lowercase"?o=s.toLowerCase():i.value==="uppercase"&&(o=s.toUpperCase()),a.parsedStyle.text=o}return i.value}}])}(),AJ=function(e){return Object.fromEntries(Object.entries(e).filter(function(t){var n=_slicedToArray(t,2),i=n[1];return i!==void 0}))},_m=new WeakMap;function OJ(r,e,t){if(r){var n=typeof r=="string"?document.getElementById(r):r;_m.has(n)&&_m.get(n).destroy(t),_m.set(n,e)}}var SM=typeof window!="undefined"&&typeof window.document!="undefined";function kJ(r){return!!r.getAttribute}function CJ(r,e){for(var t=0,n=r.length;t<n;){var i=t+n>>>1;sz(r[i],e)<0?t=i+1:n=i}return t}function sz(r,e){var t=Number(r.parsedStyle.zIndex||0),n=Number(e.parsedStyle.zIndex||0);if(t===n){var i=r.parentNode;if(i){var a=i.childNodes||[];return a.indexOf(r)-a.indexOf(e)}}return t-n}function oz(r){var e=r;do{var t,n=(t=e.parsedStyle)===null||t===void 0?void 0:t.clipPath;if(n)return e;e=e.parentElement}while(e!==null);return null}var TM="px";function NJ(r,e,t){SM&&r.style&&(r.style.width=e+TM,r.style.height=t+TM)}function AM(r,e){if(SM)return document.defaultView.getComputedStyle(r,null).getPropertyValue(e)}function _J(r){var e=AM(r,"width");return e==="auto"?r.offsetWidth:parseFloat(e)}function RJ(r){var e=AM(r,"height");return e==="auto"?r.offsetHeight:parseFloat(e)}var lz=1,uz={touchstart:"pointerdown",touchend:"pointerup",touchendoutside:"pointerupoutside",touchmove:"pointermove",touchcancel:"pointercancel"},cz=typeof performance=="object"&&performance.now?performance:Date;function Rm(r){return r.nodeName===Tt.FRAGMENT?!0:r.getRootNode().nodeName===Tt.FRAGMENT}function LJ(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"auto",e=arguments.length>1?arguments[1]:void 0,t=arguments.length>2?arguments[2]:void 0,n=!1,i=!1,a=!!e&&!e.isNone,s=!!t&&!t.isNone;return r==="visiblepainted"||r==="painted"||r==="auto"?(n=a,i=s):r==="visiblefill"||r==="fill"?n=!0:r==="visiblestroke"||r==="stroke"?i=!0:(r==="visible"||r==="all")&&(n=!0,i=!0),[n,i]}var hz=1,fz=function(){return hz++},as=typeof self=="object"&&self.self===self?self:typeof w.g=="object"&&w.g.global===w.g?w.g:{},dz=Date.now(),vz=function(){return as.performance&&typeof as.performance.now=="function"?as.performance.now():Date.now()-dz},Lc={},OM=Date.now(),gz=function(e){if(typeof e!="function")throw new TypeError("".concat(e," is not a function"));var t=Date.now(),n=t-OM,i=n>16?0:16-n,a=fz();return Lc[a]=e,Object.keys(Lc).length>1||setTimeout(function(){OM=t;var s=Lc;Lc={},Object.keys(s).forEach(function(o){return s[o](vz())})},i),a},pz=function(e){delete Lc[e]},mz=["","webkit","moz","ms","o"],kM=function(e){return typeof e!="string"?gz:e===""?as.requestAnimationFrame:as["".concat(e,"RequestAnimationFrame")]},yz=function(e){return typeof e!="string"?pz:e===""?as.cancelAnimationFrame:as["".concat(e,"CancelAnimationFrame")]||as["".concat(e,"CancelRequestAnimationFrame")]},bz=function(e,t){for(var n=0;e[n]!==void 0;){if(t(e[n]))return e[n];n+=1}},CM=bz(mz,function(r){return!!kM(r)}),NM=kM(CM),xz=yz(CM);as.requestAnimationFrame=NM,as.cancelAnimationFrame=xz;var DJ=null,IJ=null,BJ=null,zJ=null,Ez=["serif","sans-serif","monospace","cursive","fantasy","system-ui"],wz=/([\"\'])[^\'\"]+\1/;function Pz(r){for(var e=r.fontSize,t=e===void 0?16:e,n=r.fontFamily,i=n===void 0?"sans-serif":n,a=r.fontStyle,s=a===void 0?"normal":a,o=r.fontVariant,l=o===void 0?"normal":o,u=r.fontWeight,c=u===void 0?"normal":u,h=ht(t)&&"".concat(t,"px")||"16px",f=i.split(","),d=f.length-1;d>=0;d--){var v=f[d].trim();!wz.test(v)&&Ez.indexOf(v)<0&&(v='"'.concat(v,'"')),f[d]=v}return"".concat(s," ").concat(l," ").concat(c," ").concat(h," ").concat(f.join(","))}function Lm(r,e,t){return Zn(r),r[4]=Math.tan(e),r[1]=Math.tan(t),r}var pr=mt(),Mz=mt(),Sz={scale:function(e){vi(pr,[e[0].value,e[1].value,1])},scaleX:function(e){vi(pr,[e[0].value,1,1])},scaleY:function(e){vi(pr,[1,e[0].value,1])},scaleZ:function(e){vi(pr,[1,1,e[0].value])},scale3d:function(e){vi(pr,[e[0].value,e[1].value,e[2].value])},translate:function(e){Dr(pr,[e[0].value,e[1].value,0])},translateX:function(e){Dr(pr,[e[0].value,0,0])},translateY:function(e){Dr(pr,[0,e[0].value,0])},translateZ:function(e){Dr(pr,[0,0,e[0].value])},translate3d:function(e){Dr(pr,[e[0].value,e[1].value,e[2].value])},rotate:function(e){Ou(pr,wn(Ti(e[0])))},rotateX:function(e){Au(pr,wn(Ti(e[0])))},rotateY:function(e){yg(pr,wn(Ti(e[0])))},rotateZ:function(e){Ou(pr,wn(Ti(e[0])))},rotate3d:function(e){Tu(pr,wn(Ti(e[3])),[e[0].value,e[1].value,e[2].value])},skew:function(e){Lm(pr,wn(e[0].value),wn(e[1].value))},skewX:function(e){Lm(pr,wn(e[0].value),0)},skewY:function(e){Lm(pr,0,wn(e[0].value))},matrix:function(e){Hn(pr,e[0].value,e[1].value,0,0,e[2].value,e[3].value,0,0,0,0,1,0,e[4].value,e[5].value,0,1)},matrix3d:function(e){Hn.apply(M,[pr].concat(ni(e.map(function(t){return t.value}))))}},Tz=me(1,1,1),Az=Me(),_M={translate:function(e,t){it.sceneGraphService.setLocalScale(e,Tz,!1),it.sceneGraphService.setLocalEulerAngles(e,Az,void 0,void 0,!1),it.sceneGraphService.setLocalPosition(e,[t[0].value,t[1].value,0],!1),it.sceneGraphService.dirtifyLocal(e,e.transformable)}};function Oz(r,e){if(r.length){if(r.length===1&&_M[r[0].t]){_M[r[0].t](e,r[0].d);return}for(var t=Zn(Mz),n=0;n<r.length;n++){var i=r[n],a=i.t,s=i.d,o=Sz[a];o&&(o(s),Pg(t,t,pr))}e.setLocalTransform(t)}else e.resetLocalTransform();return e.getLocalTransform()}var kz=function(){function r(){tt(this,r),this.parser=_7,this.mixer=G7}return nt(r,[{key:"calculator",value:function(t,n,i,a){return i instanceof sa?[]:i}},{key:"postProcessor",value:function(t){Oz(t.parsedStyle.transform,t)}}])}(),Cz=function(){function r(){tt(this,r)}return nt(r,[{key:"postProcessor",value:function(t){var n=t.parsedStyle.transformOrigin;n[0].unit===ct.kPixels&&n[1].unit===ct.kPixels?t.setOrigin(n[0].value,n[1].value):t.getGeometryBounds()}}])}(),Nz=function(){function r(){tt(this,r)}return nt(r,[{key:"calculator",value:function(t,n,i,a){return i.value}},{key:"postProcessor",value:function(t){if(t.parentNode){var n=t.parentNode,i=n.renderable,a=n.sortable;i&&(i.dirty=!0),a&&(a.dirty=!0,a.dirtyReason=ym.Z_INDEX_CHANGED)}}}])}(),_z=function(){function r(){tt(this,r)}return nt(r,[{key:"update",value:function(t,n){var i=t.cx,a=i===void 0?0:i,s=t.cy,o=s===void 0?0:s,l=t.r,u=l===void 0?0:l;return{cx:a,cy:o,hwidth:u,hheight:u}}}])}(),Rz=function(){function r(){tt(this,r)}return nt(r,[{key:"update",value:function(t,n){var i=t.cx,a=i===void 0?0:i,s=t.cy,o=s===void 0?0:s,l=t.rx,u=l===void 0?0:l,c=t.ry,h=c===void 0?0:c;return{cx:a,cy:o,hwidth:u,hheight:h}}}])}(),Lz=function(){function r(){tt(this,r)}return nt(r,[{key:"update",value:function(t){var n=t.x1,i=t.y1,a=t.x2,s=t.y2,o=Math.min(n,a),l=Math.max(n,a),u=Math.min(i,s),c=Math.max(i,s),h=l-o,f=c-u,d=h/2,v=f/2;return{cx:o+d,cy:u+v,hwidth:d,hheight:v}}}])}(),Dz=function(){function r(){tt(this,r)}return nt(r,[{key:"update",value:function(t){var n=t.d,i=n.rect,a=i.x,s=i.y,o=i.width,l=i.height,u=o/2,c=l/2;return{cx:a+u,cy:s+c,hwidth:u,hheight:c}}}])}(),Iz=function(){function r(){tt(this,r)}return nt(r,[{key:"update",value:function(t){if(t.points&&pi(t.points.points)){var n=t.points.points,i=Math.min.apply(Math,ni(n.map(function(f){return f[0]}))),a=Math.max.apply(Math,ni(n.map(function(f){return f[0]}))),s=Math.min.apply(Math,ni(n.map(function(f){return f[1]}))),o=Math.max.apply(Math,ni(n.map(function(f){return f[1]}))),l=a-i,u=o-s,c=l/2,h=u/2;return{cx:i+c,cy:s+h,hwidth:c,hheight:h}}return{cx:0,cy:0,hwidth:0,hheight:0}}}])}(),Bz=function(){function r(){tt(this,r)}return nt(r,[{key:"update",value:function(t,n){var i=t.x,a=i===void 0?0:i,s=t.y,o=s===void 0?0:s,l=t.src,u=t.width,c=u===void 0?0:u,h=t.height,f=h===void 0?0:h,d=c,v=f;return l&&!Xt(l)&&(d||(d=l.width,t.width=d),v||(v=l.height,t.height=v)),{cx:a+d/2,cy:o+v/2,hwidth:d/2,hheight:v/2}}}])}(),zz=function(){function r(e){tt(this,r),this.globalRuntime=e}return nt(r,[{key:"isReadyToMeasure",value:function(t,n){var i=t.text;return i}},{key:"update",value:function(t,n){var i,a=t.text,s=t.textAlign,o=s===void 0?"start":s,l=t.lineWidth,u=l===void 0?1:l,c=t.textBaseline,h=c===void 0?"alphabetic":c,f=t.dx,d=f===void 0?0:f,v=t.dy,g=v===void 0?0:v,p=t.x,m=p===void 0?0:p,b=t.y,x=b===void 0?0:b;if(!this.isReadyToMeasure(t,n))return t.metrics={font:"",width:0,height:0,lines:[],lineWidths:[],lineHeight:0,maxLineWidth:0,fontProperties:{ascent:0,descent:0,fontSize:0},lineMetrics:[]},{hwidth:0,hheight:0,cx:0,cy:0};var O=(n==null||(i=n.ownerDocument)===null||i===void 0||(i=i.defaultView)===null||i===void 0?void 0:i.getConfig())||{},T=O.offscreenCanvas,S=this.globalRuntime.textService.measureText(a,t,T);t.metrics=S;var k=S.width,C=S.height,W=k/2,U=C/2,J=m+W;o==="center"||o==="middle"?J+=u/2-W:(o==="right"||o==="end")&&(J+=u-W*2);var te=x-U;return h==="middle"?te+=U:h==="top"||h==="hanging"?te+=U*2:h==="alphabetic"||(h==="bottom"||h==="ideographic")&&(te+=0),d&&(J+=d),g&&(te+=g),{cx:J,cy:te,hwidth:W,hheight:U}}}])}(),Fz=function(){function r(){tt(this,r)}return nt(r,[{key:"update",value:function(t,n){return{cx:0,cy:0,hwidth:0,hheight:0}}}])}(),jz=function(){function r(){tt(this,r)}return nt(r,[{key:"update",value:function(t,n){var i=t.x,a=i===void 0?0:i,s=t.y,o=s===void 0?0:s,l=t.width,u=l===void 0?0:l,c=t.height,h=c===void 0?0:c;return{cx:a+u/2,cy:o+h/2,hwidth:u/2,hheight:h/2}}}])}();function FJ(r){return!!r.type}var av=function(){function r(e){tt(this,r),this.eventPhase=r.prototype.NONE,this.bubbles=!0,this.cancelBubble=!0,this.cancelable=!1,this.defaultPrevented=!1,this.propagationStopped=!1,this.propagationImmediatelyStopped=!1,this.layer=new ia,this.page=new ia,this.canvas=new ia,this.viewport=new ia,this.composed=!1,this.NONE=0,this.CAPTURING_PHASE=1,this.AT_TARGET=2,this.BUBBLING_PHASE=3,this.manager=e}return nt(r,[{key:"name",get:function(){return this.type}},{key:"layerX",get:function(){return this.layer.x}},{key:"layerY",get:function(){return this.layer.y}},{key:"pageX",get:function(){return this.page.x}},{key:"pageY",get:function(){return this.page.y}},{key:"x",get:function(){return this.canvas.x}},{key:"y",get:function(){return this.canvas.y}},{key:"canvasX",get:function(){return this.canvas.x}},{key:"canvasY",get:function(){return this.canvas.y}},{key:"viewportX",get:function(){return this.viewport.x}},{key:"viewportY",get:function(){return this.viewport.y}},{key:"composedPath",value:function(){return this.manager&&(!this.path||this.path[0]!==this.target)&&(this.path=this.target?this.manager.propagationPath(this.target):[]),this.path}},{key:"propagationPath",get:function(){return this.composedPath()}},{key:"preventDefault",value:function(){this.nativeEvent instanceof Event&&this.nativeEvent.cancelable&&this.nativeEvent.preventDefault(),this.defaultPrevented=!0}},{key:"stopImmediatePropagation",value:function(){this.propagationImmediatelyStopped=!0}},{key:"stopPropagation",value:function(){this.propagationStopped=!0}},{key:"initEvent",value:function(){}},{key:"initUIEvent",value:function(){}},{key:"clone",value:function(){throw new Error(kn)}}])}(),RM=function(r){function e(){var t;tt(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=nn(this,e,[].concat(i)),t.client=new ia,t.movement=new ia,t.offset=new ia,t.global=new ia,t.screen=new ia,t}return rn(e,r),nt(e,[{key:"clientX",get:function(){return this.client.x}},{key:"clientY",get:function(){return this.client.y}},{key:"movementX",get:function(){return this.movement.x}},{key:"movementY",get:function(){return this.movement.y}},{key:"offsetX",get:function(){return this.offset.x}},{key:"offsetY",get:function(){return this.offset.y}},{key:"globalX",get:function(){return this.global.x}},{key:"globalY",get:function(){return this.global.y}},{key:"screenX",get:function(){return this.screen.x}},{key:"screenY",get:function(){return this.screen.y}},{key:"getModifierState",value:function(n){return"getModifierState"in this.nativeEvent&&this.nativeEvent.getModifierState(n)}},{key:"initMouseEvent",value:function(){throw new Error(kn)}}])}(av),Gz=function(r){function e(){var t;tt(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=nn(this,e,[].concat(i)),t.width=0,t.height=0,t.isPrimary=!1,t}return rn(e,r),nt(e,[{key:"getCoalescedEvents",value:function(){return this.type==="pointermove"||this.type==="mousemove"||this.type==="touchmove"?[this]:[]}},{key:"getPredictedEvents",value:function(){throw new Error("getPredictedEvents is not supported!")}},{key:"clone",value:function(){return this.manager.clonePointerEvent(this)}}])}(RM),Hz=function(r){function e(){return tt(this,e),nn(this,e,arguments)}return rn(e,r),nt(e,[{key:"clone",value:function(){return this.manager.cloneWheelEvent(this)}}])}(RM),zi=function(r){function e(t,n){var i;return tt(this,e),i=nn(this,e,[null]),i.type=t,i.detail=n,Object.assign(i,n),i}return rn(e,r),nt(e)}(av),LM=new WeakMap,Xz=function(){function r(){tt(this,r),this.emitter=new Je}return nt(r,[{key:"on",value:function(t,n,i){return this.addEventListener(t,n,i),this}},{key:"addEventListener",value:function(t,n,i){var a=!1,s=!1;if(pl(i))a=i;else if(i){var o=i.capture;a=o===void 0?!1:o;var l=i.once;s=l===void 0?!1:l}a&&(t+="capture"),n=pt(n)?n:n.handleEvent;var u=pt(n)?void 0:n;return s?this.emitter.once(t,n,u):this.emitter.on(t,n,u),this}},{key:"off",value:function(t,n,i){return t?this.removeEventListener(t,n,i):this.removeAllEventListeners(),this}},{key:"removeAllEventListeners",value:function(){var t;(t=this.emitter)===null||t===void 0||t.removeAllListeners()}},{key:"removeEventListener",value:function(t,n,i){var a;if(!this.emitter)return this;var s=pl(i)?i:i==null?void 0:i.capture;s&&(t+="capture"),n=pt(n)?n:(a=n)===null||a===void 0?void 0:a.handleEvent;var o=pt(n)?void 0:n;return this.emitter.off(t,n,o),this}},{key:"emit",value:function(t,n){this.dispatchEvent(new zi(t,n))}},{key:"dispatchEvent",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,i=LM.get(this);if(!i){var a;this.document?i=this:this.defaultView?i=this.defaultView:i=(a=this.ownerDocument)===null||a===void 0?void 0:a.defaultView,i&&LM.set(this,i)}if(i){if(t.manager=i.getEventService(),!t.manager)return!1;t.defaultPrevented=!1,t.path?t.path.length=0:t.page=[],n||(t.target=this),t.manager.dispatchEvent(t,t.type,n)}else this.emitter.emit(t.type,t);return!t.defaultPrevented}}])}(),$o=function(r){function e(){var t;tt(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=nn(this,e,[].concat(i)),t.shadow=!1,t.ownerDocument=null,t.isConnected=!1,t.baseURI="",t.childNodes=[],t.nodeType=0,t.nodeName="",t.nodeValue=null,t.parentNode=null,t}return rn(e,r),nt(e,[{key:"textContent",get:function(){var n="";this.nodeName===Tt.TEXT&&(n+=this.style.text);var i=Jl(this.childNodes),a;try{for(i.s();!(a=i.n()).done;){var s=a.value;s.nodeName===Tt.TEXT?n+=s.nodeValue:n+=s.textContent}}catch(o){i.e(o)}finally{i.f()}return n},set:function(n){var i=this;this.childNodes.slice().forEach(function(a){i.removeChild(a)}),this.nodeName===Tt.TEXT&&(this.style.text="".concat(n))}},{key:"getRootNode",value:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.parentNode?this.parentNode.getRootNode(n):n.composed&&this.host?this.host.getRootNode(n):this}},{key:"hasChildNodes",value:function(){return this.childNodes.length>0}},{key:"isDefaultNamespace",value:function(n){throw new Error(kn)}},{key:"lookupNamespaceURI",value:function(n){throw new Error(kn)}},{key:"lookupPrefix",value:function(n){throw new Error(kn)}},{key:"normalize",value:function(){throw new Error(kn)}},{key:"isEqualNode",value:function(n){return this===n}},{key:"isSameNode",value:function(n){return this.isEqualNode(n)}},{key:"parent",get:function(){return this.parentNode}},{key:"parentElement",get:function(){return null}},{key:"nextSibling",get:function(){return null}},{key:"previousSibling",get:function(){return null}},{key:"firstChild",get:function(){return this.childNodes.length>0?this.childNodes[0]:null}},{key:"lastChild",get:function(){return this.childNodes.length>0?this.childNodes[this.childNodes.length-1]:null}},{key:"compareDocumentPosition",value:function(n){if(n===this)return 0;for(var i=n,a=this,s=[i],o=[a];(l=i.parentNode)!==null&&l!==void 0?l:a.parentNode;){var l;i=i.parentNode?(s.push(i.parentNode),i.parentNode):i,a=a.parentNode?(o.push(a.parentNode),a.parentNode):a}if(i!==a)return e.DOCUMENT_POSITION_DISCONNECTED|e.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC|e.DOCUMENT_POSITION_PRECEDING;var u=s.length>o.length?s:o,c=u===s?o:s;if(u[u.length-c.length]===c[0])return u===s?e.DOCUMENT_POSITION_CONTAINED_BY|e.DOCUMENT_POSITION_FOLLOWING:e.DOCUMENT_POSITION_CONTAINS|e.DOCUMENT_POSITION_PRECEDING;for(var h=u.length-c.length,f=c.length-1;f>=0;f--){var d=c[f],v=u[h+f];if(v!==d){var g=d.parentNode.childNodes;return g.indexOf(d)<g.indexOf(v)?c===s?e.DOCUMENT_POSITION_PRECEDING:e.DOCUMENT_POSITION_FOLLOWING:u===s?e.DOCUMENT_POSITION_PRECEDING:e.DOCUMENT_POSITION_FOLLOWING}}return e.DOCUMENT_POSITION_FOLLOWING}},{key:"contain",value:function(n){return this.contains(n)}},{key:"contains",value:function(n){for(var i=n;i&&this!==i;)i=i.parentNode;return!!i}},{key:"getAncestor",value:function(n){for(var i=this;n>0&&i;)i=i.parentNode,n--;return i}},{key:"forEach",value:function(n){for(var i=[this];i.length>0;){var a=i.pop(),s=n(a);if(s===!1)break;for(var o=a.childNodes.length-1;o>=0;o--)i.push(a.childNodes[o])}}}],[{key:"isNode",value:function(n){return!!n.childNodes}}])}(Xz);$o.DOCUMENT_POSITION_DISCONNECTED=1,$o.DOCUMENT_POSITION_PRECEDING=2,$o.DOCUMENT_POSITION_FOLLOWING=4,$o.DOCUMENT_POSITION_CONTAINS=8,$o.DOCUMENT_POSITION_CONTAINED_BY=16,$o.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC=32;var jJ=2048,GJ=null,Wz=function(){function r(){tt(this,r)}return nt(r,[{key:"getOrCreateCanvas",value:function(t,n){if(this.canvas)return this.canvas;if(t||it.offscreenCanvas)this.canvas=t||it.offscreenCanvas,this.context=this.canvas.getContext("2d",ar({willReadFrequently:!0},n));else try{this.canvas=new window.OffscreenCanvas(0,0),this.context=this.canvas.getContext("2d",ar({willReadFrequently:!0},n)),(!this.context||!this.context.measureText)&&(this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d"))}catch(i){this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d",ar({willReadFrequently:!0},n))}return this.canvas.width=10,this.canvas.height=10,this.canvas}},{key:"getOrCreateContext",value:function(t,n){return this.context?this.context:(this.getOrCreateCanvas(t,n),this.context)}}],[{key:"createCanvas",value:function(){try{return new window.OffscreenCanvas(0,0)}catch(t){}try{return document.createElement("canvas")}catch(t){}return null}}])}(),HJ=function(r){return r[r.CAMERA_CHANGED=0]="CAMERA_CHANGED",r[r.DISPLAY_OBJECT_CHANGED=1]="DISPLAY_OBJECT_CHANGED",r[r.NONE=2]="NONE",r}({}),XJ=null,Vz=/\[\s*(.*)=(.*)\s*\]/,Yz=function(){function r(){tt(this,r)}return nt(r,[{key:"selectOne",value:function(t,n){var i=this;if(t.startsWith("."))return n.find(function(l){return((l==null?void 0:l.classList)||[]).indexOf(i.getIdOrClassname(t))>-1});if(t.startsWith("#"))return n.find(function(l){return l.id===i.getIdOrClassname(t)});if(t.startsWith("[")){var a=this.getAttribute(t),s=a.name,o=a.value;return s?n.find(function(l){return n!==l&&(s==="name"?l.name===o:i.attributeToString(l,s)===o)}):null}return n.find(function(l){return n!==l&&l.nodeName===t})}},{key:"selectAll",value:function(t,n){var i=this;if(t.startsWith("."))return n.findAll(function(l){return n!==l&&((l==null?void 0:l.classList)||[]).indexOf(i.getIdOrClassname(t))>-1});if(t.startsWith("#"))return n.findAll(function(l){return n!==l&&l.id===i.getIdOrClassname(t)});if(t.startsWith("[")){var a=this.getAttribute(t),s=a.name,o=a.value;return s?n.findAll(function(l){return n!==l&&(s==="name"?l.name===o:i.attributeToString(l,s)===o)}):[]}return n.findAll(function(l){return n!==l&&l.nodeName===t})}},{key:"is",value:function(t,n){if(t.startsWith("."))return n.className===this.getIdOrClassname(t);if(t.startsWith("#"))return n.id===this.getIdOrClassname(t);if(t.startsWith("[")){var i=this.getAttribute(t),a=i.name,s=i.value;return a==="name"?n.name===s:this.attributeToString(n,a)===s}return n.nodeName===t}},{key:"getIdOrClassname",value:function(t){return t.substring(1)}},{key:"getAttribute",value:function(t){var n=t.match(Vz),i="",a="";return n&&n.length>2&&(i=n[1].replace(/"/g,""),a=n[2].replace(/"/g,"")),{name:i,value:a}}},{key:"attributeToString",value:function(t,n){if(!t.getAttribute)return"";var i=t.getAttribute(n);return vt(i)?"":i.toString?i.toString():""}}])}(),sr=function(r){return r.REPARENT="reparent",r.DESTROY="destroy",r.ATTR_MODIFIED="DOMAttrModified",r.INSERTED="DOMNodeInserted",r.REMOVED="removed",r.MOUNTED="DOMNodeInsertedIntoDocument",r.UNMOUNTED="DOMNodeRemovedFromDocument",r.BOUNDS_CHANGED="bounds-changed",r.CULLED="culled",r}({}),ss=function(r){function e(t,n,i,a,s,o,l,u){var c;return tt(this,e),c=nn(this,e,[null]),c.relatedNode=n,c.prevValue=i,c.newValue=a,c.attrName=s,c.attrChange=o,c.prevParsedValue=l,c.newParsedValue=u,c.type=t,c}return rn(e,r),nt(e)}(av);ss.ADDITION=2,ss.MODIFICATION=1,ss.REMOVAL=3;function DM(r){var e=r.renderable;e&&(e.renderBoundsDirty=!0,e.boundsDirty=!0)}var Uz=new ss(sr.REPARENT,null,"","","",0,"",""),Zz=Cu(),sv=Me(),Kz=me(1,1,1),Qz=mt(),Jz=Cu(),oo=Me(),ru=mt(),lo=en(),qz=Me(),$z=en(),eF=Me(),Dc=Me(),el=Me(),ov=mt(),IM=en(),BM=en(),lv=en(),Dm={affectChildren:!0},tF=function(){function r(e){tt(this,r),this.pendingEvents=new Map,this.boundsChangedEvent=new zi(sr.BOUNDS_CHANGED),this.displayObjectDependencyMap=new WeakMap,this.runtime=e}return nt(r,[{key:"matches",value:function(t,n){return this.runtime.sceneGraphSelector.is(t,n)}},{key:"querySelector",value:function(t,n){return this.runtime.sceneGraphSelector.selectOne(t,n)}},{key:"querySelectorAll",value:function(t,n){return this.runtime.sceneGraphSelector.selectAll(t,n)}},{key:"attach",value:function(t,n,i){var a,s=!1;t.parentNode&&(s=t.parentNode!==n,this.detach(t));var o=t.nodeName===Tt.FRAGMENT,l=Rm(n);t.parentNode=n;var u=o?t.childNodes:[t];ht(i)?u.forEach(function(d){n.childNodes.splice(i,0,d),d.parentNode=n}):u.forEach(function(d){n.childNodes.push(d),d.parentNode=n});var c=n,h=c.sortable;if((h!=null&&(a=h.sorted)!==null&&a!==void 0&&a.length||t.parsedStyle.zIndex)&&(h.dirtyChildren.indexOf(t)===-1&&h.dirtyChildren.push(t),h.dirty=!0,h.dirtyReason=ym.ADDED),!l){if(o)this.dirtifyFragment(t);else{var f=t.transformable;f&&this.dirtifyWorld(t,f)}s&&t.dispatchEvent(Uz)}}},{key:"detach",value:function(t){if(t.parentNode){var n,i,a=t.transformable,s=t.parentNode,o=s.sortable;(o!=null&&(n=o.sorted)!==null&&n!==void 0&&n.length||(i=t.style)!==null&&i!==void 0&&i.zIndex)&&(o.dirtyChildren.indexOf(t)===-1&&o.dirtyChildren.push(t),o.dirty=!0,o.dirtyReason=ym.REMOVED);var l=t.parentNode.childNodes.indexOf(t);l>-1&&t.parentNode.childNodes.splice(l,1),a&&this.dirtifyWorld(t,a),t.parentNode=null}}},{key:"getOrigin",value:function(t){return t.getGeometryBounds(),t.transformable.origin}},{key:"setOrigin",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof n=="number"&&(n=[n,i,a]);var s=t.transformable;if(!(n[0]===s.origin[0]&&n[1]===s.origin[1]&&n[2]===s.origin[2])){var o=s.origin;o[0]=n[0],o[1]=n[1],o[2]=n[2]||0,this.dirtifyLocal(t,s)}}},{key:"rotate",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof n=="number"&&(n=me(n,i,a));var s=t.transformable;if(t.parentNode===null||!t.parentNode.transformable)this.rotateLocal(t,n);else{var o=lo;Rs(o,n[0],n[1],n[2]);var l=this.getRotation(t),u=this.getRotation(t.parentNode);Ls(lv,u),ul(lv,lv),qr(o,lv,o),qr(s.localRotation,o,l),cl(s.localRotation,s.localRotation),this.dirtifyLocal(t,s)}}},{key:"rotateLocal",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof n=="number"&&(n=me(n,i,a));var s=t.transformable;Rs(BM,n[0],n[1],n[2]),ah(s.localRotation,s.localRotation,BM),this.dirtifyLocal(t,s)}},{key:"setEulerAngles",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof n=="number"&&(n=me(n,i,a));var s=t.transformable;if(t.parentNode===null||!t.parentNode.transformable)this.setLocalEulerAngles(t,n);else{Rs(s.localRotation,n[0],n[1],n[2]);var o=this.getRotation(t.parentNode);Ls(IM,ul(lo,o)),ah(s.localRotation,s.localRotation,IM),this.dirtifyLocal(t,s)}}},{key:"setLocalEulerAngles",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;typeof n=="number"&&(n=me(n,i,a));var o=t.transformable;Rs(o.localRotation,n[0],n[1],n[2]),s&&this.dirtifyLocal(t,o)}},{key:"translateLocal",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof n=="number"&&(n=me(n,i,a));var s=t.transformable;Rr(n,sv)||(mo(n,n,s.localRotation),He(s.localPosition,s.localPosition,n),this.dirtifyLocal(t,s))}},{key:"setPosition",value:function(t,n){var i,a=t.transformable;if(el[0]=n[0],el[1]=n[1],el[2]=(i=n[2])!==null&&i!==void 0?i:0,!Rr(this.getPosition(t),el)){if(Te(a.position,el),t.parentNode===null||!t.parentNode.transformable)Te(a.localPosition,el);else{var s=t.parentNode.transformable;_n(ov,s.worldTransform),Ot(ov,ov),Dn(a.localPosition,el,ov)}this.dirtifyLocal(t,a)}}},{key:"setLocalPosition",value:function(t,n){var i,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,s=t.transformable;Dc[0]=n[0],Dc[1]=n[1],Dc[2]=(i=n[2])!==null&&i!==void 0?i:0,!Rr(s.localPosition,Dc)&&(Te(s.localPosition,Dc),a&&this.dirtifyLocal(t,s))}},{key:"scaleLocal",value:function(t,n){var i,a=t.transformable;Ft(a.localScale,a.localScale,Ae(oo,n[0],n[1],(i=n[2])!==null&&i!==void 0?i:1)),this.dirtifyLocal(t,a)}},{key:"setLocalScale",value:function(t,n){var i,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,s=t.transformable;Ae(oo,n[0],n[1],(i=n[2])!==null&&i!==void 0?i:s.localScale[2]),!Rr(oo,s.localScale)&&(Te(s.localScale,oo),a&&this.dirtifyLocal(t,s))}},{key:"translate",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof n=="number"&&(n=Ae(oo,n,i,a)),!Rr(n,sv)&&(He(oo,this.getPosition(t),n),this.setPosition(t,oo))}},{key:"setRotation",value:function(t,n,i,a,s){var o=t.transformable;if(typeof n=="number"&&(n=$y(n,i,a,s)),t.parentNode===null||!t.parentNode.transformable)this.setLocalRotation(t,n);else{var l=this.getRotation(t.parentNode);Ls(lo,l),ul(lo,lo),qr(o.localRotation,lo,n),cl(o.localRotation,o.localRotation),this.dirtifyLocal(t,o)}}},{key:"setLocalRotation",value:function(t,n,i,a,s){var o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;typeof n=="number"&&(n=ih(lo,n,i,a,s));var l=t.transformable;Ls(l.localRotation,n),o&&this.dirtifyLocal(t,l)}},{key:"setLocalSkew",value:function(t,n,i){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;typeof n=="number"&&(n=t1(Jz,n,i));var s=t.transformable;e1(s.localSkew,n),a&&this.dirtifyLocal(t,s)}},{key:"dirtifyLocal",value:function(t,n){Rm(t)||n.localDirtyFlag||(n.localDirtyFlag=!0,n.dirtyFlag||this.dirtifyWorld(t,n))}},{key:"dirtifyWorld",value:function(t,n){n.dirtyFlag||this.unfreezeParentToRoot(t),this.dirtifyWorldInternal(t,n),this.dirtifyToRoot(t,!0)}},{key:"dirtifyFragment",value:function(t){var n=t.transformable;n&&(n.frozen=!1,n.dirtyFlag=!0,n.localDirtyFlag=!0);var i=t.renderable;i&&(i.renderBoundsDirty=!0,i.boundsDirty=!0,i.dirty=!0);for(var a=t.childNodes.length,s=0;s<a;s++)this.dirtifyFragment(t.childNodes[s]);t.nodeName===Tt.FRAGMENT&&this.pendingEvents.set(t,!1)}},{key:"triggerPendingEvents",value:function(){var t=this,n=new Set,i=function(s,o){!s.isConnected||n.has(s)||s.nodeName===Tt.FRAGMENT||(t.boundsChangedEvent.detail=o,t.boundsChangedEvent.target=s,s.isMutationObserved?s.dispatchEvent(t.boundsChangedEvent):s.ownerDocument.defaultView.dispatchEvent(t.boundsChangedEvent,!0),n.add(s))};this.pendingEvents.forEach(function(a,s){s.nodeName!==Tt.FRAGMENT&&(Dm.affectChildren=a,a?s.forEach(function(o){i(o,Dm)}):i(s,Dm))}),n.clear(),this.clearPendingEvents()}},{key:"clearPendingEvents",value:function(){this.pendingEvents.clear()}},{key:"dirtifyToRoot",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,i=t;for(i.renderable&&(i.renderable.dirty=!0);i;)DM(i),i=i.parentNode;n&&t.forEach(function(a){DM(a)}),this.informDependentDisplayObjects(t),this.pendingEvents.set(t,n)}},{key:"updateDisplayObjectDependency",value:function(t,n,i,a){if(n&&n!==i){var s=this.displayObjectDependencyMap.get(n);if(s&&s[t]){var o=s[t].indexOf(a);s[t].splice(o,1)}}if(i){var l=this.displayObjectDependencyMap.get(i);l||(this.displayObjectDependencyMap.set(i,{}),l=this.displayObjectDependencyMap.get(i)),l[t]||(l[t]=[]),l[t].push(a)}}},{key:"informDependentDisplayObjects",value:function(t){var n=this,i=this.displayObjectDependencyMap.get(t);i&&Object.keys(i).forEach(function(a){i[a].forEach(function(s){n.dirtifyToRoot(s,!0),s.dispatchEvent(new ss(sr.ATTR_MODIFIED,s,n,n,a,ss.MODIFICATION,n,n)),s.isCustomElement&&s.isConnected&&s.attributeChangedCallback&&s.attributeChangedCallback(a,n,n)})})}},{key:"getPosition",value:function(t){var n=t.transformable;return yo(n.position,this.getWorldTransform(t,n))}},{key:"getRotation",value:function(t){var n=t.transformable;return bo(n.rotation,this.getWorldTransform(t,n))}},{key:"getScale",value:function(t){var n=t.transformable;return Wa(n.scaling,this.getWorldTransform(t,n))}},{key:"getWorldTransform",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t.transformable;return!n.localDirtyFlag&&!n.dirtyFlag||(t.parentNode&&t.parentNode.transformable&&this.getWorldTransform(t.parentNode),this.sync(t,n)),n.worldTransform}},{key:"getLocalPosition",value:function(t){return t.transformable.localPosition}},{key:"getLocalRotation",value:function(t){return t.transformable.localRotation}},{key:"getLocalScale",value:function(t){return t.transformable.localScale}},{key:"getLocalSkew",value:function(t){return t.transformable.localSkew}},{key:"calcLocalTransform",value:function(t){var n=t.localSkew[0]!==0||t.localSkew[1]!==0;if(n){vs(t.localTransform,t.localRotation,t.localPosition,me(1,1,1),t.origin),(t.localSkew[0]!==0||t.localSkew[1]!==0)&&(Zn(ru),ru[4]=Math.tan(t.localSkew[0]),ru[1]=Math.tan(t.localSkew[1]),Ut(t.localTransform,t.localTransform,ru));var i=vs(ru,ih(lo,0,0,0,1),Ae(oo,1,1,1),t.localScale,t.origin);Ut(t.localTransform,t.localTransform,i)}else{var a=t.localTransform,s=t.localPosition,o=t.localRotation,l=t.localScale,u=t.origin,c=s[0]!==0||s[1]!==0||s[2]!==0,h=o[3]!==1||o[0]!==0||o[1]!==0||o[2]!==0,f=l[0]!==1||l[1]!==1||l[2]!==1,d=u[0]!==0||u[1]!==0||u[2]!==0;!h&&!f&&!d?c?Dr(a,s):Zn(a):vs(a,o,s,l,u)}}},{key:"getLocalTransform",value:function(t){var n=t.transformable;return n.localDirtyFlag&&(this.calcLocalTransform(n),n.localDirtyFlag=!1),n.localTransform}},{key:"setLocalTransform",value:function(t,n){var i=yo(qz,n),a=bo($z,n),s=Wa(eF,n);this.setLocalScale(t,s,!1),this.setLocalPosition(t,i,!1),this.setLocalRotation(t,a,void 0,void 0,void 0,!1),this.dirtifyLocal(t,t.transformable)}},{key:"resetLocalTransform",value:function(t){this.setLocalScale(t,Kz,!1),this.setLocalPosition(t,sv,!1),this.setLocalEulerAngles(t,sv,void 0,void 0,!1),this.setLocalSkew(t,Zz,void 0,!1),this.dirtifyLocal(t,t.transformable)}},{key:"getTransformedGeometryBounds",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,i=arguments.length>2?arguments[2]:void 0,a=this.getGeometryBounds(t,n);if(!Si.isEmpty(a)){var s=i||new Si;return s.setFromTransformedAABB(a,this.getWorldTransform(t)),s}return null}},{key:"getGeometryBounds",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,i=t,a=i.geometry;a.dirty&&it.styleValueRegistry.updateGeometry(t);var s=n?a.renderBounds:a.contentBounds||null;return s||new Si}},{key:"getBounds",value:function(t){var n=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a=t,s=a.renderable;if(!s.boundsDirty&&!i&&s.bounds)return s.bounds;if(!s.renderBoundsDirty&&i&&s.renderBounds)return s.renderBounds;var o=i?s.renderBounds:s.bounds,l=this.getTransformedGeometryBounds(t,i,o),u=t.childNodes;if(u.forEach(function(f){var d=n.getBounds(f,i);d&&(l?l.add(d):(l=o||new Si,l.update(d.center,d.halfExtents)))}),l||(l=new Si),i){var c=oz(t);if(c){var h=c.parsedStyle.clipPath.getBounds(i);l?h&&(l=h.intersection(l)):l.update(h.center,h.halfExtents)}}return i?(s.renderBounds=l,s.renderBoundsDirty=!1):(s.bounds=l,s.boundsDirty=!1),l}},{key:"getLocalBounds",value:function(t){if(t.parentNode){var n=Qz;t.parentNode.transformable&&(n=Ot(ru,this.getWorldTransform(t.parentNode)));var i=this.getBounds(t);if(!Si.isEmpty(i)){var a=new Si;return a.setFromTransformedAABB(i,n),a}}return this.getBounds(t)}},{key:"getBoundingClientRect",value:function(t){var n,i,a=this.getGeometryBounds(t);Si.isEmpty(a)||(i=new Si,i.setFromTransformedAABB(a,this.getWorldTransform(t)));var s=(n=t.ownerDocument)===null||n===void 0||(n=n.defaultView)===null||n===void 0?void 0:n.getContextService().getBoundingClientRect();if(i){var o=i.getMin(),l=pn(o,2),u=l[0],c=l[1],h=i.getMax(),f=pn(h,2),d=f[0],v=f[1];return new $l(u+((s==null?void 0:s.left)||0),c+((s==null?void 0:s.top)||0),d-u,v-c)}return new $l((s==null?void 0:s.left)||0,(s==null?void 0:s.top)||0,0,0)}},{key:"dirtifyWorldInternal",value:function(t,n){var i=this;if(!n.dirtyFlag){n.dirtyFlag=!0,n.frozen=!1,t.childNodes.forEach(function(o){var l=o.transformable;l.dirtyFlag||i.dirtifyWorldInternal(o,l)});var a=t,s=a.renderable;s&&(s.renderBoundsDirty=!0,s.boundsDirty=!0,s.dirty=!0)}}},{key:"syncHierarchy",value:function(t){var n=t.transformable;if(!n.frozen){n.frozen=!0,(n.localDirtyFlag||n.dirtyFlag)&&this.sync(t,n);for(var i=t.childNodes,a=0;a<i.length;a++)this.syncHierarchy(i[a])}}},{key:"sync",value:function(t,n){if(n.localDirtyFlag&&(this.calcLocalTransform(n),n.localDirtyFlag=!1),n.dirtyFlag){var i=t.parentNode,a=i&&i.transformable;i===null||!a?_n(n.worldTransform,n.localTransform):Ut(n.worldTransform,a.worldTransform,n.localTransform),n.dirtyFlag=!1}}},{key:"unfreezeParentToRoot",value:function(t){for(var n=t.parentNode;n;){var i=n.transformable;i&&(i.frozen=!1),n=n.parentNode}}}])}(),tl={MetricsString:"|\xC9q\xC5",BaselineSymbol:"M",BaselineMultiplier:1.4,HeightMultiplier:2,Newlines:[10,13],BreakingSpaces:[9,32,8192,8193,8194,8195,8196,8197,8198,8200,8201,8202,8287,12288]},zM=/[a-zA-Z0-9\u00C0-\u00D6\u00D8-\u00f6\u00f8-\u00ff!"#$%&'()*+,-./:;]/,nF=/[!%),.:;?\]}¢°·'""†‡›℃∶、。〃〆〕〗〞﹚﹜!"%'),.:;?!]}~]/,rF=/[$(£¥·'"〈《「『【〔〖〝﹙﹛$(.[{£¥]/,iF=/[!),.:;?\]}¢·–—'"•"、。〆〞〕〉》」︰︱︲︳﹐﹑﹒﹔﹕﹖﹘﹚﹜!),.:;?︶︸︺︼︾﹀﹂﹗]|}、]/,aF=/[([{£¥'"‵〈《「『〔〝︴﹙﹛({︵︷︹︻︽︿﹁﹃﹏]/,sF=/[)\]}〕〉》」』】〙〗〟'"⦆»ヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻‐゠–〜?!‼⁇⁈⁉・、:;,。.]/,oF=/[([{〔〈《「『【〘〖〝'"⦅«—...‥〳〴〵]/,lF=/[!%),.:;?\]}¢°'"†‡℃〆〈《「『〕!%),.:;?]}]/,uF=/[$([{£¥'"々〇〉》」〔$([{⦆¥₩#]/,cF=new RegExp("".concat(nF.source,"|").concat(iF.source,"|").concat(sF.source,"|").concat(lF.source)),hF=new RegExp("".concat(rF.source,"|").concat(aF.source,"|").concat(oF.source,"|").concat(uF.source)),fF=function(){function r(e){var t=this;tt(this,r),this.fontMetricsCache={},this.shouldBreakByKinsokuShorui=function(n,i){return t.isBreakingSpace(i)?!1:!!(n&&(hF.exec(i)||cF.exec(n)))},this.trimByKinsokuShorui=function(n){var i=ni(n),a=i[i.length-2];if(!a)return n;var s=a[a.length-1];return i[i.length-2]=a.slice(0,-1),i[i.length-1]=s+i[i.length-1],i},this.runtime=e}return nt(r,[{key:"measureFont",value:function(t,n){if(this.fontMetricsCache[t])return this.fontMetricsCache[t];var i={ascent:0,descent:0,fontSize:0},a=this.runtime.offscreenCanvasCreator.getOrCreateCanvas(n),s=this.runtime.offscreenCanvasCreator.getOrCreateContext(n,{willReadFrequently:!0});s.font=t;var o=tl.MetricsString+tl.BaselineSymbol,l=Math.ceil(s.measureText(o).width),u=Math.ceil(s.measureText(tl.BaselineSymbol).width),c=tl.HeightMultiplier*u;u=u*tl.BaselineMultiplier|0,a.width=l,a.height=c,s.fillStyle="#f00",s.fillRect(0,0,l,c),s.font=t,s.textBaseline="alphabetic",s.fillStyle="#000",s.fillText(o,0,u);var h=s.getImageData(0,0,l||1,c||1).data,f=h.length,d=l*4,v=0,g=0,p=!1;for(v=0;v<u;++v){for(var m=0;m<d;m+=4)if(h[g+m]!==255){p=!0;break}if(!p)g+=d;else break}for(i.ascent=u-v,g=f-d,p=!1,v=c;v>u;--v){for(var b=0;b<d;b+=4)if(h[g+b]!==255){p=!0;break}if(!p)g-=d;else break}return i.descent=v-u,i.fontSize=i.ascent+i.descent,this.fontMetricsCache[t]=i,i}},{key:"measureText",value:function(t,n,i){var a=n.fontSize,s=a===void 0?16:a,o=n.wordWrap,l=o===void 0?!1:o,u=n.lineHeight,c=n.lineWidth,h=c===void 0?1:c,f=n.textBaseline,d=f===void 0?"alphabetic":f,v=n.textAlign,g=v===void 0?"start":v,p=n.letterSpacing,m=p===void 0?0:p,b=n.textPath;n.textPathSide,n.textPathStartOffset;var x=n.leading,O=x===void 0?0:x,T=Pz(n),S=this.measureFont(T,i);S.fontSize===0&&(S.fontSize=s,S.ascent=s);var k=this.runtime.offscreenCanvasCreator.getOrCreateContext(i);k.font=T,n.isOverflowing=!1;var C=l?this.wordWrap(t,n,i):t,W=C.split(/(?:\r\n|\r|\n)/),U=new Array(W.length),J=0;if(b){b.getTotalLength();for(var te=0;te<W.length;te++)k.measureText(W[te]).width+(W[te].length-1)*m}else{for(var ie=0;ie<W.length;ie++){var ae=k.measureText(W[ie]).width+(W[ie].length-1)*m;U[ie]=ae,J=Math.max(J,ae)}var ve=J+h,Z=u||S.fontSize+h,H=Math.max(Z,S.fontSize+h)+(W.length-1)*(Z+O);Z+=O;var X=0;return d==="middle"?X=-H/2:d==="bottom"||d==="alphabetic"||d==="ideographic"?X=-H:(d==="top"||d==="hanging")&&(X=0),{font:T,width:ve,height:H,lines:W,lineWidths:U,lineHeight:Z,maxLineWidth:J,fontProperties:S,lineMetrics:U.map(function(q,oe){var de=0;return g==="center"||g==="middle"?de-=q/2:(g==="right"||g==="end")&&(de-=q),new $l(de-h/2,X+oe*Z,q+h,Z)})}}}},{key:"setGraphemeOnPath",value:function(){}},{key:"wordWrap",value:function(t,n,i){var a=this,s=n.wordWrapWidth,o=s===void 0?0:s,l=n.letterSpacing,u=l===void 0?0:l,c=n.maxLines,h=c===void 0?1/0:c,f=n.textOverflow,d=this.runtime.offscreenCanvasCreator.getOrCreateContext(i),v=o+u,g="";f==="ellipsis"?g="...":f&&f!=="clip"&&(g=f);for(var p=[],m=0,b=0,x={},O=function(X){return a.getFromCache(X,u,x,d)},T=Array.from(g).reduce(function(H,X){return H+O(X)},0),S=Array.from(t),k=0;k<S.length;k++){var C=S[k],W=t[k-1],U=t[k+1],J=O(C);if(this.isNewline(C)){if(m++,m>=h){n.isOverflowing=!0;break}b=0,p[m]="";continue}if(b>0&&b+J>v){if(m+1>=h){if(n.isOverflowing=!0,T>0&&T<=v){for(var te=p[m].length,ie=0,ae=te,ve=0;ve<te;ve++){var Z=O(p[m][ve]);if(ie+Z+T>v){ae=ve;break}ie+=Z}p[m]=(p[m]||"").slice(0,ae)+g}break}if(m++,b=0,p[m]="",this.isBreakingSpace(C))continue;this.canBreakInLastChar(C)||(p=this.trimToBreakable(p),b=this.sumTextWidthByCache(p[m]||"",x)),this.shouldBreakByKinsokuShorui(C,U)&&(p=this.trimByKinsokuShorui(p),b+=O(W||""))}b+=J,p[m]=(p[m]||"")+C}return p.join(`
|
|
|
`)}},{key:"isBreakingSpace",value:function(t){return typeof t!="string"?!1:tl.BreakingSpaces.indexOf(t.charCodeAt(0))>=0}},{key:"isNewline",value:function(t){return typeof t!="string"?!1:tl.Newlines.indexOf(t.charCodeAt(0))>=0}},{key:"trimToBreakable",value:function(t){var n=ni(t),i=n[n.length-2],a=this.findBreakableIndex(i);if(a===-1||!i)return n;var s=i.slice(a,a+1),o=this.isBreakingSpace(s),l=a+1,u=a+(o?0:1);return n[n.length-1]+=i.slice(l,i.length),n[n.length-2]=i.slice(0,u),n}},{key:"canBreakInLastChar",value:function(t){return!(t&&zM.test(t))}},{key:"sumTextWidthByCache",value:function(t,n){return t.split("").reduce(function(i,a){if(!n[a])throw Error("cannot count the word without cache");return i+n[a]},0)}},{key:"findBreakableIndex",value:function(t){for(var n=t.length-1;n>=0;n--)if(!zM.test(t[n]))return n;return-1}},{key:"getFromCache",value:function(t,n,i,a){var s=i[t];if(typeof s!="number"){var o=t.length*n;s=a.measureText(t).width+o,i[t]=s}return s}}])}(),it={},dF=function(r){var e=new Bz,t=new Iz;return r={},Jt(Jt(Jt(Jt(Jt(Jt(Jt(Jt(Jt(Jt(r,Tt.CIRCLE,new _z),Tt.ELLIPSE,new Rz),Tt.RECT,e),Tt.IMAGE,e),Tt.GROUP,new Fz),Tt.LINE,new Lz),Tt.TEXT,new zz(it)),Tt.POLYLINE,t),Tt.POLYGON,t),Tt.PATH,new Dz),Jt(Jt(r,Tt.HTML,new jz),Tt.MESH,null)}(),vF=function(r){var e=new U7,t=new Nm;return r={},Jt(Jt(Jt(Jt(Jt(Jt(Jt(Jt(Jt(Jt(r,ot.PERCENTAGE,null),ot.NUMBER,new q7),ot.ANGLE,new V7),ot.DEFINED_PATH,new Y7),ot.PAINT,e),ot.COLOR,e),ot.FILTER,new Z7),ot.LENGTH,t),ot.LENGTH_PERCENTAGE,t),ot.LENGTH_PERCENTAGE_12,new K7),Jt(Jt(Jt(Jt(Jt(Jt(Jt(Jt(Jt(Jt(r,ot.LENGTH_PERCENTAGE_14,new Q7),ot.COORDINATE,new Nm),ot.OFFSET_DISTANCE,new $7),ot.OPACITY_VALUE,new ez),ot.PATH,new tz),ot.LIST_OF_POINTS,new nz),ot.SHADOW_BLUR,new rz),ot.TEXT,new iz),ot.TEXT_TRANSFORM,new az),ot.TRANSFORM,new kz),Jt(Jt(Jt(r,ot.TRANSFORM_ORIGIN,new Cz),ot.Z_INDEX,new Nz),ot.MARKER,new J7)}(),gF=function(){return typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:typeof window!="undefined"?window:typeof w.g!="undefined"?w.g:{}};it.CameraContribution=KP,it.AnimationTimeline=null,it.EasingFunction=null,it.offscreenCanvasCreator=new Wz,it.sceneGraphSelector=new Yz,it.sceneGraphService=new tF(it),it.textService=new fF(it),it.geometryUpdaterFactory=dF,it.CSSPropertySyntaxFactory=vF,it.styleValueRegistry=new W7(it),it.layoutRegistry=null,it.globalThis=gF(),it.enableStyleSyntax=!0,it.enableSizeAttenuation=!1;var FM=0;function WJ(){FM=0}var jM=new ss(sr.INSERTED,null,"","","",0,"",""),GM=new ss(sr.REMOVED,null,"","","",0,"",""),pF=new zi(sr.DESTROY),mF=function(r){function e(){var t;tt(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=nn(this,e,[].concat(i)),t.entity=FM++,t.renderable={bounds:void 0,boundsDirty:!0,renderBounds:void 0,renderBoundsDirty:!0,dirtyRenderBounds:void 0,dirty:!1},t.cullable={strategy:DB.Standard,visibilityPlaneMask:-1,visible:!0,enable:!0},t.transformable={dirtyFlag:!1,localDirtyFlag:!1,frozen:!1,localPosition:[0,0,0],localRotation:[0,0,0,1],localScale:[1,1,1],localTransform:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],localSkew:[0,0],position:[0,0,0],rotation:[0,0,0,1],scaling:[1,1,1],worldTransform:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],origin:[0,0,0]},t.sortable={dirty:!1,sorted:void 0,renderOrder:0,dirtyChildren:[],dirtyReason:void 0},t.geometry={contentBounds:void 0,renderBounds:void 0,dirty:!0},t.rBushNode={aabb:void 0},t.namespaceURI="g",t.scrollLeft=0,t.scrollTop=0,t.clientTop=0,t.clientLeft=0,t.destroyed=!1,t.style={},t.computedStyle={},t.parsedStyle={},t.attributes={},t}return rn(e,r),nt(e,[{key:"className",get:function(){return this.getAttribute("class")||""},set:function(n){this.setAttribute("class",n)}},{key:"classList",get:function(){return this.className.split(" ").filter(function(n){return n!==""})}},{key:"tagName",get:function(){return this.nodeName}},{key:"children",get:function(){return this.childNodes}},{key:"childElementCount",get:function(){return this.childNodes.length}},{key:"firstElementChild",get:function(){return this.firstChild}},{key:"lastElementChild",get:function(){return this.lastChild}},{key:"parentElement",get:function(){return this.parentNode}},{key:"nextSibling",get:function(){if(this.parentNode){var n=this.parentNode.childNodes.indexOf(this);return this.parentNode.childNodes[n+1]||null}return null}},{key:"previousSibling",get:function(){if(this.parentNode){var n=this.parentNode.childNodes.indexOf(this);return this.parentNode.childNodes[n-1]||null}return null}},{key:"cloneNode",value:function(n){throw new Error(kn)}},{key:"appendChild",value:function(n,i){var a;if(n.destroyed)throw new Error(wB);return it.sceneGraphService.attach(n,this,i),(a=this.ownerDocument)!==null&&a!==void 0&&a.defaultView&&(!Rm(this)&&n.nodeName===Tt.FRAGMENT?this.ownerDocument.defaultView.mountFragment(n):this.ownerDocument.defaultView.mountChildren(n)),this.isMutationObserved&&(jM.relatedNode=this,n.dispatchEvent(jM)),n}},{key:"insertBefore",value:function(n,i){if(!i)this.appendChild(n);else{n.parentElement&&n.parentElement.removeChild(n);var a=this.childNodes.indexOf(i);a===-1?this.appendChild(n):this.appendChild(n,a)}return n}},{key:"replaceChild",value:function(n,i){var a=this.childNodes.indexOf(i);return this.removeChild(i),this.appendChild(n,a),i}},{key:"removeChild",value:function(n){var i;return GM.relatedNode=this,n.dispatchEvent(GM),(i=n.ownerDocument)!==null&&i!==void 0&&i.defaultView&&n.ownerDocument.defaultView.unmountChildren(n),it.sceneGraphService.detach(n),n}},{key:"removeChildren",value:function(){for(var n=this.childNodes.length-1;n>=0;n--){var i=this.childNodes[n];this.removeChild(i)}}},{key:"destroyChildren",value:function(){for(var n=this.childNodes.length-1;n>=0;n--){var i=this.childNodes[n];i.childNodes.length>0&&i.destroyChildren(),i.destroy()}}},{key:"matches",value:function(n){return it.sceneGraphService.matches(n,this)}},{key:"getElementById",value:function(n){return it.sceneGraphService.querySelector("#".concat(n),this)}},{key:"getElementsByName",value:function(n){return it.sceneGraphService.querySelectorAll('[name="'.concat(n,'"]'),this)}},{key:"getElementsByClassName",value:function(n){return it.sceneGraphService.querySelectorAll(".".concat(n),this)}},{key:"getElementsByTagName",value:function(n){return it.sceneGraphService.querySelectorAll(n,this)}},{key:"querySelector",value:function(n){return it.sceneGraphService.querySelector(n,this)}},{key:"querySelectorAll",value:function(n){return it.sceneGraphService.querySelectorAll(n,this)}},{key:"closest",value:function(n){var i=this;do{if(it.sceneGraphService.matches(n,i))return i;i=i.parentElement}while(i!==null);return null}},{key:"find",value:function(n){var i=this,a=null;return this.forEach(function(s){return s!==i&&n(s)?(a=s,!1):!0}),a}},{key:"findAll",value:function(n){var i=this,a=[];return this.forEach(function(s){s!==i&&n(s)&&a.push(s)}),a}},{key:"after",value:function(){var n=this;if(this.parentNode){for(var i=this.parentNode.childNodes.indexOf(this),a=arguments.length,s=new Array(a),o=0;o<a;o++)s[o]=arguments[o];s.forEach(function(l,u){var c;return(c=n.parentNode)===null||c===void 0?void 0:c.appendChild(l,i+u+1)})}}},{key:"before",value:function(){if(this.parentNode){for(var n,i=this.parentNode.childNodes.indexOf(this),a=arguments.length,s=new Array(a),o=0;o<a;o++)s[o]=arguments[o];var l=s[0],u=s.slice(1);this.parentNode.appendChild(l,i),(n=l).after.apply(n,ni(u))}}},{key:"replaceWith",value:function(){this.after.apply(this,arguments),this.remove()}},{key:"append",value:function(){for(var n=this,i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];a.forEach(function(o){return n.appendChild(o)})}},{key:"prepend",value:function(){for(var n=this,i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];a.forEach(function(o,l){return n.appendChild(o,l)})}},{key:"replaceChildren",value:function(){for(;this.childNodes.length&&this.firstChild;)this.removeChild(this.firstChild);this.append.apply(this,arguments)}},{key:"remove",value:function(){return this.parentNode?this.parentNode.removeChild(this):this}},{key:"destroy",value:function(){this.dispatchEvent(pF),this.remove(),this.emitter.removeAllListeners(),this.destroyed=!0}},{key:"getGeometryBounds",value:function(){return it.sceneGraphService.getGeometryBounds(this)}},{key:"getRenderBounds",value:function(){return it.sceneGraphService.getBounds(this,!0)}},{key:"getBounds",value:function(){return it.sceneGraphService.getBounds(this)}},{key:"getLocalBounds",value:function(){return it.sceneGraphService.getLocalBounds(this)}},{key:"getBoundingClientRect",value:function(){return it.sceneGraphService.getBoundingClientRect(this)}},{key:"getClientRects",value:function(){return[this.getBoundingClientRect()]}},{key:"computedStyleMap",value:function(){return new Map(Object.entries(this.computedStyle))}},{key:"getAttributeNames",value:function(){return Object.keys(this.attributes)}},{key:"getAttribute",value:function(n){if(typeof n!="symbol"){var i=this.attributes[n];return i}}},{key:"hasAttribute",value:function(n){return this.getAttributeNames().includes(n)}},{key:"hasAttributes",value:function(){return!!this.getAttributeNames().length}},{key:"removeAttribute",value:function(n){this.setAttribute(n,null),delete this.attributes[n]}},{key:"setAttribute",value:function(n,i,a,s){this.attributes[n]=i}},{key:"getAttributeNS",value:function(n,i){throw new Error(kn)}},{key:"getAttributeNode",value:function(n){throw new Error(kn)}},{key:"getAttributeNodeNS",value:function(n,i){throw new Error(kn)}},{key:"hasAttributeNS",value:function(n,i){throw new Error(kn)}},{key:"removeAttributeNS",value:function(n,i){throw new Error(kn)}},{key:"removeAttributeNode",value:function(n){throw new Error(kn)}},{key:"setAttributeNS",value:function(n,i,a){throw new Error(kn)}},{key:"setAttributeNode",value:function(n){throw new Error(kn)}},{key:"setAttributeNodeNS",value:function(n){throw new Error(kn)}},{key:"toggleAttribute",value:function(n,i){throw new Error(kn)}}])}($o);function zn(r){return!!(r!=null&&r.nodeName)}var yF=it.globalThis.Proxy?it.globalThis.Proxy:function(){},Ts=new ss(sr.ATTR_MODIFIED,null,null,null,null,ss.MODIFICATION,null,null),Ic=Me(),bF=en(),Fi=function(r){function e(t){var n;return tt(this,e),n=nn(this,e),n.isCustomElement=!1,n.isMutationObserved=!1,n.activeAnimations=[],n.config=t,n.id=t.id||"",n.name=t.name||"",(t.className||t.class)&&(n.className=t.className||t.class),n.nodeName=t.type||Tt.GROUP,t.initialParsedStyle&&Object.assign(n.parsedStyle,t.initialParsedStyle),n.initAttributes(t.style),it.enableStyleSyntax&&(n.style=new yF({setProperty:function(a,s){n.setAttribute(a,s)},getPropertyValue:function(a){return n.getAttribute(a)},removeProperty:function(a){n.removeAttribute(a)},item:function(){return""}},{get:function(a,s){return a[s]!==void 0?a[s]:n.getAttribute(s)},set:function(a,s,o){return n.setAttribute(s,o),!0}})),n}return rn(e,r),nt(e,[{key:"destroy",value:function(){_P(e,"destroy",this,3)([]),this.getAnimations().forEach(function(n){n.cancel()})}},{key:"cloneNode",value:function(n,i){var a=ar({},this.attributes);for(var s in a){var o=a[s];zn(o)&&s!=="clipPath"&&s!=="offsetPath"&&s!=="textPath"&&(a[s]=o.cloneNode(n)),i&&(a[s]=i(s,o))}var l=new this.constructor({id:this.id,name:this.name,className:this.name,interactive:this.interactive,style:a});return l.setLocalTransform(this.getLocalTransform()),n&&this.children.forEach(function(u){if(!u.style.isMarker){var c=u.cloneNode(n);l.appendChild(c)}}),l}},{key:"initAttributes",value:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i={forceUpdateGeometry:!0};it.styleValueRegistry.processProperties(this,n,i),this.renderable.dirty=!0}},{key:"setAttribute",value:function(n,i){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;Et(i)||(a||i!==this.attributes[n])&&(this.internalSetAttribute(n,i,{memoize:s}),_P(e,"setAttribute",this,3)([n,i]))}},{key:"internalSetAttribute",value:function(n,i){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s=this.renderable,o=this.attributes[n],l=this.parsedStyle[n];it.styleValueRegistry.processProperties(this,Jt({},n,i),a),s.dirty=!0;var u=this.parsedStyle[n];if(this.isConnected&&(Ts.relatedNode=this,Ts.prevValue=o,Ts.newValue=i,Ts.attrName=n,Ts.prevParsedValue=l,Ts.newParsedValue=u,this.isMutationObserved?this.dispatchEvent(Ts):(Ts.target=this,this.ownerDocument.defaultView.dispatchEvent(Ts,!0))),this.isCustomElement&&this.isConnected||!this.isCustomElement){var c,h;(c=(h=this).attributeChangedCallback)===null||c===void 0||c.call(h,n,o,i,l,u)}}},{key:"getBBox",value:function(){var n=this.getBounds(),i=n.getMin(),a=pn(i,2),s=a[0],o=a[1],l=n.getMax(),u=pn(l,2),c=u[0],h=u[1];return new $l(s,o,c-s,h-o)}},{key:"setOrigin",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return it.sceneGraphService.setOrigin(this,si(n,i,a,!1)),this}},{key:"getOrigin",value:function(){return it.sceneGraphService.getOrigin(this)}},{key:"setPosition",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return it.sceneGraphService.setPosition(this,si(n,i,a,!1)),this}},{key:"setLocalPosition",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return it.sceneGraphService.setLocalPosition(this,si(n,i,a,!1)),this}},{key:"translate",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return it.sceneGraphService.translate(this,si(n,i,a,!1)),this}},{key:"translateLocal",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return it.sceneGraphService.translateLocal(this,si(n,i,a,!1)),this}},{key:"getPosition",value:function(){return it.sceneGraphService.getPosition(this)}},{key:"getLocalPosition",value:function(){return it.sceneGraphService.getLocalPosition(this)}},{key:"scale",value:function(n,i,a){return this.scaleLocal(n,i,a)}},{key:"scaleLocal",value:function(n,i,a){return typeof n=="number"&&(i=i||n,a=a||n,n=si(n,i,a,!1)),it.sceneGraphService.scaleLocal(this,n),this}},{key:"setLocalScale",value:function(n,i,a){return typeof n=="number"&&(i=i||n,a=a||n,n=si(n,i,a,!1)),it.sceneGraphService.setLocalScale(this,n),this}},{key:"getLocalScale",value:function(){return it.sceneGraphService.getLocalScale(this)}},{key:"getScale",value:function(){return it.sceneGraphService.getScale(this)}},{key:"getEulerAngles",value:function(){var n=pm(Ic,it.sceneGraphService.getWorldTransform(this)),i=pn(n,3),a=i[2];return aa(a)}},{key:"getLocalEulerAngles",value:function(){var n=pm(Ic,it.sceneGraphService.getLocalRotation(this)),i=pn(n,3),a=i[2];return aa(a)}},{key:"setEulerAngles",value:function(n){return it.sceneGraphService.setEulerAngles(this,0,0,n),this}},{key:"setLocalEulerAngles",value:function(n){return it.sceneGraphService.setLocalEulerAngles(this,0,0,n),this}},{key:"rotateLocal",value:function(n,i,a){return vt(i)&&vt(a)?it.sceneGraphService.rotateLocal(this,0,0,n):it.sceneGraphService.rotateLocal(this,n,i,a),this}},{key:"rotate",value:function(n,i,a){return vt(i)&&vt(a)?it.sceneGraphService.rotate(this,0,0,n):it.sceneGraphService.rotate(this,n,i,a),this}},{key:"setRotation",value:function(n,i,a,s){return it.sceneGraphService.setRotation(this,n,i,a,s),this}},{key:"setLocalRotation",value:function(n,i,a,s){return it.sceneGraphService.setLocalRotation(this,n,i,a,s),this}},{key:"setLocalSkew",value:function(n,i){return it.sceneGraphService.setLocalSkew(this,n,i),this}},{key:"getRotation",value:function(){return it.sceneGraphService.getRotation(this)}},{key:"getLocalRotation",value:function(){return it.sceneGraphService.getLocalRotation(this)}},{key:"getLocalSkew",value:function(){return it.sceneGraphService.getLocalSkew(this)}},{key:"getLocalTransform",value:function(){return it.sceneGraphService.getLocalTransform(this)}},{key:"getWorldTransform",value:function(){return it.sceneGraphService.getWorldTransform(this)}},{key:"setLocalTransform",value:function(n){return it.sceneGraphService.setLocalTransform(this,n),this}},{key:"resetLocalTransform",value:function(){it.sceneGraphService.resetLocalTransform(this)}},{key:"getAnimations",value:function(){return this.activeAnimations}},{key:"animate",value:function(n,i){var a,s=(a=this.ownerDocument)===null||a===void 0?void 0:a.timeline;return s?s.play(this,n,i):null}},{key:"isVisible",value:function(){var n;return((n=this.parsedStyle)===null||n===void 0?void 0:n.visibility)!=="hidden"}},{key:"interactive",get:function(){return this.isInteractive()},set:function(n){this.style.pointerEvents=n?"auto":"none"}},{key:"isInteractive",value:function(){var n;return((n=this.parsedStyle)===null||n===void 0?void 0:n.pointerEvents)!=="none"}},{key:"isCulled",value:function(){return!!(this.cullable&&this.cullable.enable&&!this.cullable.visible)}},{key:"toFront",value:function(){return this.parentNode&&(this.style.zIndex=Math.max.apply(Math,ni(this.parentNode.children.map(function(n){return Number(n.style.zIndex)})))+1),this}},{key:"toBack",value:function(){return this.parentNode&&(this.style.zIndex=Math.min.apply(Math,ni(this.parentNode.children.map(function(n){return Number(n.style.zIndex)})))-1),this}},{key:"getConfig",value:function(){return this.config}},{key:"attr",value:function(){for(var n=this,i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];var o=a[0],l=a[1];return o?nr(o)?(Object.keys(o).forEach(function(u){n.setAttribute(u,o[u])}),this):a.length===2?(this.setAttribute(o,l),this):this.attributes[o]:this.attributes}},{key:"getMatrix",value:function(n){var i=n||this.getWorldTransform(),a=yo(Ic,i),s=pn(a,2),o=s[0],l=s[1],u=Wa(Ic,i),c=pn(u,2),h=c[0],f=c[1],d=bo(bF,i),v=pm(Ic,d),g=pn(v,3),p=g[0],m=g[2];return kB(p||m,o,l,h,f)}},{key:"getLocalMatrix",value:function(){return this.getMatrix(this.getLocalTransform())}},{key:"setMatrix",value:function(n){var i=VP(n),a=pn(i,5),s=a[0],o=a[1],l=a[2],u=a[3],c=a[4];this.setEulerAngles(c).setPosition(s,o).setLocalScale(l,u)}},{key:"setLocalMatrix",value:function(n){var i=VP(n),a=pn(i,5),s=a[0],o=a[1],l=a[2],u=a[3],c=a[4];this.setLocalEulerAngles(c).setLocalPosition(s,o).setLocalScale(l,u)}},{key:"show",value:function(){this.forEach(function(n){n.style.visibility="visible"})}},{key:"hide",value:function(){this.forEach(function(n){n.style.visibility="hidden"})}},{key:"getCount",value:function(){return this.childElementCount}},{key:"getParent",value:function(){return this.parentElement}},{key:"getChildren",value:function(){return this.children}},{key:"getFirst",value:function(){return this.firstElementChild}},{key:"getLast",value:function(){return this.lastElementChild}},{key:"getChildByIndex",value:function(n){return this.children[n]||null}},{key:"add",value:function(n,i){return this.appendChild(n,i)}},{key:"set",value:function(n,i){this.config[n]=i}},{key:"get",value:function(n){return this.config[n]}},{key:"moveTo",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return this.setPosition(n,i,a),this}},{key:"move",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return this.setPosition(n,i,a),this}},{key:"setZIndex",value:function(n){return this.style.zIndex=n,this}}])}(mF),Im=function(r){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return tt(this,e),nn(this,e,[ar({type:Tt.CIRCLE},t)])}return rn(e,r),nt(e)}(Fi),xF=["style"],EF=function(r){function e(){var t,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=n.style,a=Qo(n,xF);return tt(this,e),t=nn(this,e,[ar({style:i},a)]),t.isCustomElement=!0,t}return rn(e,r),nt(e)}(Fi),wF=function(r){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return tt(this,e),nn(this,e,[ar({type:Tt.ELLIPSE},t)])}return rn(e,r),nt(e)}(Fi),VJ=null,ji=function(r){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return tt(this,e),nn(this,e,[ar({type:Tt.GROUP},t)])}return rn(e,r),nt(e)}(Fi),PF=["style"],MF=function(r){function e(){var t,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=n.style,a=Qo(n,PF);return tt(this,e),t=nn(this,e,[ar({type:Tt.HTML,style:i},a)]),t.cullable.enable=!1,t}return rn(e,r),nt(e,[{key:"getDomElement",value:function(){return this.parsedStyle.$el}},{key:"getClientRects",value:function(){return[this.getBoundingClientRect()]}},{key:"getLocalBounds",value:function(){if(this.parentNode){var n=Ot(mt(),this.parentNode.getWorldTransform()),i=this.getBounds();if(!Si.isEmpty(i)){var a=new Si;return a.setFromTransformedAABB(i,n),a}}return this.getBounds()}}])}(Fi),SF=function(r){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return tt(this,e),nn(this,e,[ar({type:Tt.IMAGE},t)])}return rn(e,r),nt(e)}(Fi),TF=["style"],HM=function(r){function e(){var t,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=n.style,a=Qo(n,TF);tt(this,e),t=nn(this,e,[ar({type:Tt.LINE,style:ar({x1:0,y1:0,x2:0,y2:0,z1:0,z2:0},i)},a)]),t.markerStartAngle=0,t.markerEndAngle=0;var s=t.parsedStyle,o=s.markerStart,l=s.markerEnd;return o&&zn(o)&&(t.markerStartAngle=o.getLocalEulerAngles(),t.appendChild(o)),l&&zn(l)&&(t.markerEndAngle=l.getLocalEulerAngles(),t.appendChild(l)),t.transformMarker(!0),t.transformMarker(!1),t}return rn(e,r),nt(e,[{key:"attributeChangedCallback",value:function(n,i,a,s,o){n==="x1"||n==="y1"||n==="x2"||n==="y2"||n==="markerStartOffset"||n==="markerEndOffset"?(this.transformMarker(!0),this.transformMarker(!1)):n==="markerStart"?(s&&zn(s)&&(this.markerStartAngle=0,s.remove()),o&&zn(o)&&(this.markerStartAngle=o.getLocalEulerAngles(),this.appendChild(o),this.transformMarker(!0))):n==="markerEnd"&&(s&&zn(s)&&(this.markerEndAngle=0,s.remove()),o&&zn(o)&&(this.markerEndAngle=o.getLocalEulerAngles(),this.appendChild(o),this.transformMarker(!1)))}},{key:"transformMarker",value:function(n){var i=this.parsedStyle,a=i.markerStart,s=i.markerEnd,o=i.markerStartOffset,l=i.markerEndOffset,u=i.x1,c=i.x2,h=i.y1,f=i.y2,d=n?a:s;if(!(!d||!zn(d))){var v=0,g,p,m,b,x,O;n?(m=u,b=h,g=c-u,p=f-h,x=o||0,O=this.markerStartAngle):(m=c,b=f,g=u-c,p=h-f,x=l||0,O=this.markerEndAngle),v=Math.atan2(p,g),d.setLocalEulerAngles(v*180/Math.PI+O),d.setLocalPosition(m+Math.cos(v)*x,b+Math.sin(v)*x)}}},{key:"getPoint",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a=this.parsedStyle,s=a.x1,o=a.y1,l=a.x2,u=a.y2,c=Ui(s,o,l,u,n),h=c.x,f=c.y,d=Dn(Me(),me(h,f,0),i?this.getWorldTransform():this.getLocalTransform());return new ia(d[0],d[1])}},{key:"getPointAtLength",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return this.getPoint(n/this.getTotalLength(),i)}},{key:"getTotalLength",value:function(){var n=this.parsedStyle,i=n.x1,a=n.y1,s=n.x2,o=n.y2;return ph(i,a,s,o)}}])}(Fi),AF=["style"],Bm=function(r){function e(){var t,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=n.style,a=Qo(n,AF);tt(this,e),t=nn(this,e,[ar({type:Tt.PATH,style:i,initialParsedStyle:{miterLimit:4,d:ar({},QP)}},a)]),t.markerStartAngle=0,t.markerEndAngle=0,t.markerMidList=[];var s=t.parsedStyle,o=s.markerStart,l=s.markerEnd,u=s.markerMid;return o&&zn(o)&&(t.markerStartAngle=o.getLocalEulerAngles(),t.appendChild(o)),u&&zn(u)&&t.placeMarkerMid(u),l&&zn(l)&&(t.markerEndAngle=l.getLocalEulerAngles(),t.appendChild(l)),t.transformMarker(!0),t.transformMarker(!1),t}return rn(e,r),nt(e,[{key:"attributeChangedCallback",value:function(n,i,a,s,o){n==="d"?(this.transformMarker(!0),this.transformMarker(!1),this.placeMarkerMid(this.parsedStyle.markerMid)):n==="markerStartOffset"||n==="markerEndOffset"?(this.transformMarker(!0),this.transformMarker(!1)):n==="markerStart"?(s&&zn(s)&&(this.markerStartAngle=0,s.remove()),o&&zn(o)&&(this.markerStartAngle=o.getLocalEulerAngles(),this.appendChild(o),this.transformMarker(!0))):n==="markerEnd"?(s&&zn(s)&&(this.markerEndAngle=0,s.remove()),o&&zn(o)&&(this.markerEndAngle=o.getLocalEulerAngles(),this.appendChild(o),this.transformMarker(!1))):n==="markerMid"&&this.placeMarkerMid(o)}},{key:"transformMarker",value:function(n){var i=this.parsedStyle,a=i.markerStart,s=i.markerEnd,o=i.markerStartOffset,l=i.markerEndOffset,u=n?a:s;if(!(!u||!zn(u))){var c=0,h,f,d,v,g,p;if(n){var m=this.getStartTangent(),b=pn(m,2),x=b[0],O=b[1];d=O[0],v=O[1],h=x[0]-O[0],f=x[1]-O[1],g=o||0,p=this.markerStartAngle}else{var T=this.getEndTangent(),S=pn(T,2),k=S[0],C=S[1];d=C[0],v=C[1],h=k[0]-C[0],f=k[1]-C[1],g=l||0,p=this.markerEndAngle}c=Math.atan2(f,h),u.setLocalEulerAngles(c*180/Math.PI+p),u.setLocalPosition(d+Math.cos(c)*g,v+Math.sin(c)*g)}}},{key:"placeMarkerMid",value:function(n){var i=this.parsedStyle.d.segments;if(this.markerMidList.forEach(function(c){c.remove()}),n&&zn(n))for(var a=1;a<i.length-1;a++){var s=pn(i[a].currentPoint,2),o=s[0],l=s[1],u=a===1?n:n.cloneNode(!0);this.markerMidList.push(u),this.appendChild(u),u.setLocalPosition(o,l)}}},{key:"getTotalLength",value:function(){return cM(this)}},{key:"getPointAtLength",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a=this.parsedStyle.d.absolutePath,s=m1(a,n),o=s.x,l=s.y,u=Dn(Me(),me(o,l,0),i?this.getWorldTransform():this.getLocalTransform());return new ia(u[0],u[1])}},{key:"getPoint",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return this.getPointAtLength(n*cM(this),i)}},{key:"getStartTangent",value:function(){var n=this.parsedStyle.d.segments,i=[];if(n.length>1){var a=n[0].currentPoint,s=n[1].currentPoint,o=n[1].startTangent;i=[],o?(i.push([a[0]-o[0],a[1]-o[1]]),i.push([a[0],a[1]])):(i.push([s[0],s[1]]),i.push([a[0],a[1]]))}return i}},{key:"getEndTangent",value:function(){var n=this.parsedStyle.d.segments,i=n.length,a=[];if(i>1){var s=n[i-2].currentPoint,o=n[i-1].currentPoint,l=n[i-1].endTangent;a=[],l?(a.push([o[0]-l[0],o[1]-l[1]]),a.push([o[0],o[1]])):(a.push([s[0],s[1]]),a.push([o[0],o[1]]))}return a}}])}(Fi),OF=["style"],XM=function(r){function e(){var t,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=n.style,a=Qo(n,OF);tt(this,e),t=nn(this,e,[ar({type:Tt.POLYGON,style:i,initialParsedStyle:{points:{points:[],totalLength:0,segments:[]},miterLimit:4,isClosed:!0}},a)]),t.markerStartAngle=0,t.markerEndAngle=0,t.markerMidList=[];var s=t.parsedStyle,o=s.markerStart,l=s.markerEnd,u=s.markerMid;return o&&zn(o)&&(t.markerStartAngle=o.getLocalEulerAngles(),t.appendChild(o)),u&&zn(u)&&t.placeMarkerMid(u),l&&zn(l)&&(t.markerEndAngle=l.getLocalEulerAngles(),t.appendChild(l)),t.transformMarker(!0),t.transformMarker(!1),t}return rn(e,r),nt(e,[{key:"attributeChangedCallback",value:function(n,i,a,s,o){n==="points"?(this.transformMarker(!0),this.transformMarker(!1),this.placeMarkerMid(this.parsedStyle.markerMid)):n==="markerStartOffset"||n==="markerEndOffset"?(this.transformMarker(!0),this.transformMarker(!1)):n==="markerStart"?(s&&zn(s)&&(this.markerStartAngle=0,s.remove()),o&&zn(o)&&(this.markerStartAngle=o.getLocalEulerAngles(),this.appendChild(o),this.transformMarker(!0))):n==="markerEnd"?(s&&zn(s)&&(this.markerEndAngle=0,s.remove()),o&&zn(o)&&(this.markerEndAngle=o.getLocalEulerAngles(),this.appendChild(o),this.transformMarker(!1))):n==="markerMid"&&this.placeMarkerMid(o)}},{key:"transformMarker",value:function(n){var i=this.parsedStyle,a=i.markerStart,s=i.markerEnd,o=i.markerStartOffset,l=i.markerEndOffset,u=i.points,c=u||{},h=c.points,f=n?a:s;if(!(!f||!zn(f)||!h)){var d=0,v,g,p,m,b,x;if(p=h[0][0],m=h[0][1],n)v=h[1][0]-h[0][0],g=h[1][1]-h[0][1],b=o||0,x=this.markerStartAngle;else{var O=h.length;this.parsedStyle.isClosed?(v=h[O-1][0]-h[0][0],g=h[O-1][1]-h[0][1]):(p=h[O-1][0],m=h[O-1][1],v=h[O-2][0]-h[O-1][0],g=h[O-2][1]-h[O-1][1]),b=l||0,x=this.markerEndAngle}d=Math.atan2(g,v),f.setLocalEulerAngles(d*180/Math.PI+x),f.setLocalPosition(p+Math.cos(d)*b,m+Math.sin(d)*b)}}},{key:"placeMarkerMid",value:function(n){var i=this.parsedStyle.points,a=i||{},s=a.points;if(this.markerMidList.forEach(function(h){h.remove()}),this.markerMidList=[],n&&zn(n)&&s)for(var o=1;o<(this.parsedStyle.isClosed?s.length:s.length-1);o++){var l=s[o][0],u=s[o][1],c=o===1?n:n.cloneNode(!0);this.markerMidList.push(c),this.appendChild(c),c.setLocalPosition(l,u)}}}])}(Fi),kF=["style"],CF=function(r){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=t.style,i=Qo(t,kF);return tt(this,e),nn(this,e,[ar({type:Tt.POLYLINE,style:n,initialParsedStyle:{points:{points:[],totalLength:0,segments:[]},miterLimit:4,isClosed:!1}},i)])}return rn(e,r),nt(e,[{key:"getTotalLength",value:function(){return p7(this)}},{key:"getPointAtLength",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return this.getPoint(n/this.getTotalLength(),i)}},{key:"getPoint",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a=this.parsedStyle.points.points;if(this.parsedStyle.points.segments.length===0){var s=[],o=0,l,u,c=this.getTotalLength();a.forEach(function(m,b){a[b+1]&&(l=[0,0],l[0]=o/c,u=ph(m[0],m[1],a[b+1][0],a[b+1][1]),o+=u,l[1]=o/c,s.push(l))}),this.parsedStyle.points.segments=s}var h=0,f=0;this.parsedStyle.points.segments.forEach(function(m,b){n>=m[0]&&n<=m[1]&&(h=(n-m[0])/(m[1]-m[0]),f=b)});var d=Ui(a[f][0],a[f][1],a[f+1][0],a[f+1][1],h),v=d.x,g=d.y,p=Dn(Me(),me(v,g,0),i?this.getWorldTransform():this.getLocalTransform());return new ia(p[0],p[1])}},{key:"getStartTangent",value:function(){var n=this.parsedStyle.points.points,i=[];return i.push([n[1][0],n[1][1]]),i.push([n[0][0],n[0][1]]),i}},{key:"getEndTangent",value:function(){var n=this.parsedStyle.points.points,i=n.length-1,a=[];return a.push([n[i-1][0],n[i-1][1]]),a.push([n[i][0],n[i][1]]),a}}])}(XM),iu=function(r){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return tt(this,e),nn(this,e,[ar({type:Tt.RECT},t)])}return rn(e,r),nt(e)}(Fi),NF=["style"],_F=function(r){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=t.style,i=Qo(t,NF);return tt(this,e),nn(this,e,[ar({type:Tt.TEXT,style:ar({fill:"black"},n)},i)])}return rn(e,r),nt(e,[{key:"getComputedTextLength",value:function(){var n;return this.getGeometryBounds(),((n=this.parsedStyle.metrics)===null||n===void 0?void 0:n.maxLineWidth)||0}},{key:"getLineBoundingRects",value:function(){var n;return this.getGeometryBounds(),((n=this.parsedStyle.metrics)===null||n===void 0?void 0:n.lineMetrics)||[]}},{key:"isOverflowing",value:function(){return this.getGeometryBounds(),!!this.parsedStyle.isOverflowing}}])}(Fi),YJ=null,UJ={number:function(e){return new Pn(e)},percent:function(e){return new Pn(e,"%")},px:function(e){return new Pn(e,"px")},em:function(e){return new Pn(e,"em")},rem:function(e){return new Pn(e,"rem")},deg:function(e){return new Pn(e,"deg")},grad:function(e){return new Pn(e,"grad")},rad:function(e){return new Pn(e,"rad")},turn:function(e){return new Pn(e,"turn")},s:function(e){return new Pn(e,"s")},ms:function(e){return new Pn(e,"ms")},registerProperty:function(e){var t=e.name,n=e.inherits,i=e.interpolable,a=e.initialValue,s=e.syntax;it.styleValueRegistry.registerMetadata({n:t,inh:n,int:i,d:a,syntax:s})},registerLayout:function(e,t){it.layoutRegistry.registerLayout(e,t)}},ZJ=null,RF=function(){function r(e){tt(this,r),this.strategies=e}return nt(r,[{key:"apply",value:function(t){var n=t.camera,i=t.renderingService,a=t.renderingContext,s=this.strategies;i.hooks.cull.tap(r.tag,function(o){if(o){var l=o.cullable;return s.length===0?l.visible=a.unculledEntities.indexOf(o.entity)>-1:l.visible=s.every(function(u){return u.isVisible(n,o)}),!o.isCulled()&&o.isVisible()?o:(o.dispatchEvent(new zi(sr.CULLED)),null)}return o}),i.hooks.afterRender.tap(r.tag,function(o){o.cullable.visibilityPlaneMask=-1})}}])}();RF.tag="Culling";var LF=function(){function r(){var e=this;tt(this,r),this.autoPreventDefault=!1,this.rootPointerEvent=new Gz(null),this.rootWheelEvent=new Hz(null),this.onPointerMove=function(t){var n,i=(n=e.context.renderingContext.root)===null||n===void 0||(n=n.ownerDocument)===null||n===void 0?void 0:n.defaultView;if(!(i.supportsTouchEvents&&t.pointerType==="touch")){var a=e.normalizeToPointerEvent(t,i),s=Jl(a),o;try{for(s.s();!(o=s.n()).done;){var l=o.value,u=e.bootstrapEvent(e.rootPointerEvent,l,i,t);e.context.eventService.mapEvent(u)}}catch(c){s.e(c)}finally{s.f()}e.setCursor(e.context.eventService.cursor)}},this.onClick=function(t){var n,i=(n=e.context.renderingContext.root)===null||n===void 0||(n=n.ownerDocument)===null||n===void 0?void 0:n.defaultView,a=e.normalizeToPointerEvent(t,i),s=Jl(a),o;try{for(s.s();!(o=s.n()).done;){var l=o.value,u=e.bootstrapEvent(e.rootPointerEvent,l,i,t);e.context.eventService.mapEvent(u)}}catch(c){s.e(c)}finally{s.f()}e.setCursor(e.context.eventService.cursor)}}return nt(r,[{key:"apply",value:function(t){var n=this;this.context=t;var i=t.renderingService,a=this.context.renderingContext.root.ownerDocument.defaultView;this.context.eventService.setPickHandler(function(s){var o=n.context.renderingService.hooks.pickSync.call({position:s,picked:[],topmost:!0}),l=o.picked;return l[0]||null}),i.hooks.pointerWheel.tap(r.tag,function(s){var o=n.normalizeWheelEvent(s);n.context.eventService.mapEvent(o)}),i.hooks.pointerDown.tap(r.tag,function(s){if(!(a.supportsTouchEvents&&s.pointerType==="touch")){var o=n.normalizeToPointerEvent(s,a);if(n.autoPreventDefault&&o[0].isNormalized){var l=s.cancelable||!("cancelable"in s);l&&s.preventDefault()}var u=Jl(o),c;try{for(u.s();!(c=u.n()).done;){var h=c.value,f=n.bootstrapEvent(n.rootPointerEvent,h,a,s);n.context.eventService.mapEvent(f)}}catch(d){u.e(d)}finally{u.f()}n.setCursor(n.context.eventService.cursor)}}),i.hooks.pointerUp.tap(r.tag,function(s){if(!(a.supportsTouchEvents&&s.pointerType==="touch")){var o=n.context.contextService.getDomElement(),l=n.context.eventService.isNativeEventFromCanvas(o,s),u=l?"":"outside",c=n.normalizeToPointerEvent(s,a),h=Jl(c),f;try{for(h.s();!(f=h.n()).done;){var d=f.value,v=n.bootstrapEvent(n.rootPointerEvent,d,a,s);v.type+=u,n.context.eventService.mapEvent(v)}}catch(g){h.e(g)}finally{h.f()}n.setCursor(n.context.eventService.cursor)}}),i.hooks.pointerMove.tap(r.tag,this.onPointerMove),i.hooks.pointerOver.tap(r.tag,this.onPointerMove),i.hooks.pointerOut.tap(r.tag,this.onPointerMove),i.hooks.click.tap(r.tag,this.onClick),i.hooks.pointerCancel.tap(r.tag,function(s){var o=n.normalizeToPointerEvent(s,a),l=Jl(o),u;try{for(l.s();!(u=l.n()).done;){var c=u.value,h=n.bootstrapEvent(n.rootPointerEvent,c,a,s);n.context.eventService.mapEvent(h)}}catch(f){l.e(f)}finally{l.f()}n.setCursor(n.context.eventService.cursor)})}},{key:"bootstrapEvent",value:function(t,n,i,a){t.view=i,t.originalEvent=null,t.nativeEvent=a,t.pointerId=n.pointerId,t.width=n.width,t.height=n.height,t.isPrimary=n.isPrimary,t.pointerType=n.pointerType,t.pressure=n.pressure,t.tangentialPressure=n.tangentialPressure,t.tiltX=n.tiltX,t.tiltY=n.tiltY,t.twist=n.twist,this.transferMouseData(t,n);var s=this.context.eventService.client2Viewport({x:n.clientX,y:n.clientY}),o=s.x,l=s.y;t.viewport.x=o,t.viewport.y=l;var u=this.context.eventService.viewport2Canvas(t.viewport),c=u.x,h=u.y;return t.canvas.x=c,t.canvas.y=h,t.global.copyFrom(t.canvas),t.offset.copyFrom(t.canvas),t.isTrusted=a.isTrusted,t.type==="pointerleave"&&(t.type="pointerout"),t.type.startsWith("mouse")&&(t.type=t.type.replace("mouse","pointer")),t.type.startsWith("touch")&&(t.type=uz[t.type]||t.type),t}},{key:"normalizeWheelEvent",value:function(t){var n=this.rootWheelEvent;this.transferMouseData(n,t),n.deltaMode=t.deltaMode,n.deltaX=t.deltaX,n.deltaY=t.deltaY,n.deltaZ=t.deltaZ;var i=this.context.eventService.client2Viewport({x:t.clientX,y:t.clientY}),a=i.x,s=i.y;n.viewport.x=a,n.viewport.y=s;var o=this.context.eventService.viewport2Canvas(n.viewport),l=o.x,u=o.y;return n.canvas.x=l,n.canvas.y=u,n.global.copyFrom(n.canvas),n.offset.copyFrom(n.canvas),n.nativeEvent=t,n.type=t.type,n}},{key:"transferMouseData",value:function(t,n){t.isTrusted=n.isTrusted,t.srcElement=n.srcElement,t.timeStamp=cz.now(),t.type=n.type,t.altKey=n.altKey,t.metaKey=n.metaKey,t.shiftKey=n.shiftKey,t.ctrlKey=n.ctrlKey,t.button=n.button,t.buttons=n.buttons,t.client.x=n.clientX,t.client.y=n.clientY,t.movement.x=n.movementX,t.movement.y=n.movementY,t.page.x=n.pageX,t.page.y=n.pageY,t.screen.x=n.screenX,t.screen.y=n.screenY,t.relatedTarget=null}},{key:"setCursor",value:function(t){this.context.contextService.applyCursorStyle(t||this.context.config.cursor||"default")}},{key:"normalizeToPointerEvent",value:function(t,n){var i=[];if(n.isTouchEvent(t))for(var a=0;a<t.changedTouches.length;a++){var s=t.changedTouches[a];Et(s.button)&&(s.button=0),Et(s.buttons)&&(s.buttons=1),Et(s.isPrimary)&&(s.isPrimary=t.touches.length===1&&t.type==="touchstart"),Et(s.width)&&(s.width=s.radiusX||1),Et(s.height)&&(s.height=s.radiusY||1),Et(s.tiltX)&&(s.tiltX=0),Et(s.tiltY)&&(s.tiltY=0),Et(s.pointerType)&&(s.pointerType="touch"),Et(s.pointerId)&&(s.pointerId=s.identifier||0),Et(s.pressure)&&(s.pressure=s.force||.5),Et(s.twist)&&(s.twist=0),Et(s.tangentialPressure)&&(s.tangentialPressure=0),s.isNormalized=!0,s.type=t.type,i.push(s)}else if(n.isMouseEvent(t)){var o=t;Et(o.isPrimary)&&(o.isPrimary=!0),Et(o.width)&&(o.width=1),Et(o.height)&&(o.height=1),Et(o.tiltX)&&(o.tiltX=0),Et(o.tiltY)&&(o.tiltY=0),Et(o.pointerType)&&(o.pointerType="mouse"),Et(o.pointerId)&&(o.pointerId=lz),Et(o.pressure)&&(o.pressure=.5),Et(o.twist)&&(o.twist=0),Et(o.tangentialPressure)&&(o.tangentialPressure=0),o.isNormalized=!0,i.push(o)}else i.push(t);return i}}])}();LF.tag="Event";var KJ=[Tt.CIRCLE,Tt.ELLIPSE,Tt.IMAGE,Tt.RECT,Tt.LINE,Tt.POLYLINE,Tt.POLYGON,Tt.TEXT,Tt.PATH,Tt.HTML],QJ=null,DF=function(){function r(){tt(this,r),this.syncTasks=new Map,this.isFirstTimeRendering=!0,this.syncing=!1,this.isFirstTimeRenderingFinished=!1}return nt(r,[{key:"apply",value:function(t){var n=this,i,a=t.renderingService,s=t.renderingContext,o=t.rBushRoot,l=s.root.ownerDocument.defaultView;this.rBush=o;var u=function(g){var p=g.target;p.renderable.dirty=!0,a.dirtify()},c=function(g){n.syncTasks.set(g.target,g.detail.affectChildren),a.dirtify()},h=function(g){var p=g.target;it.enableSizeAttenuation&&it.styleValueRegistry.updateSizeAttenuation(p,l.getCamera().getZoom())},f=function(g){var p=g.target,m=p.rBushNode;m.aabb&&n.rBush.remove(m.aabb),n.syncTasks.delete(p),it.sceneGraphService.dirtifyToRoot(p),a.dirtify()};a.hooks.init.tap(r.tag,function(){l.addEventListener(sr.MOUNTED,h),l.addEventListener(sr.UNMOUNTED,f),l.addEventListener(sr.ATTR_MODIFIED,u),l.addEventListener(sr.BOUNDS_CHANGED,c)}),a.hooks.destroy.tap(r.tag,function(){l.removeEventListener(sr.MOUNTED,h),l.removeEventListener(sr.UNMOUNTED,f),l.removeEventListener(sr.ATTR_MODIFIED,u),l.removeEventListener(sr.BOUNDS_CHANGED,c),n.syncTasks.clear()});var d=(i=it.globalThis.requestIdleCallback)!==null&&i!==void 0?i:NM.bind(it.globalThis);a.hooks.endFrame.tap(r.tag,function(){n.isFirstTimeRendering?(n.isFirstTimeRendering=!1,n.syncing=!0,d(function(){n.syncRTree(!0),n.isFirstTimeRenderingFinished=!0})):n.syncRTree()})}},{key:"syncNode",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(t.isConnected){var i=t.rBushNode;i.aabb&&this.rBush.remove(i.aabb);var a=t.getRenderBounds();if(a){var s=t.renderable;n&&(s.dirtyRenderBounds||(s.dirtyRenderBounds=new Si),s.dirtyRenderBounds.update(a.center,a.halfExtents));var o=a.getMin(),l=pn(o,2),u=l[0],c=l[1],h=a.getMax(),f=pn(h,2),d=f[0],v=f[1];i.aabb||(i.aabb={}),i.aabb.displayObject=t,i.aabb.minX=u,i.aabb.minY=c,i.aabb.maxX=d,i.aabb.maxY=v}if(i.aabb&&!isNaN(i.aabb.maxX)&&!isNaN(i.aabb.maxX)&&!isNaN(i.aabb.minX)&&!isNaN(i.aabb.minY))return i.aabb}}},{key:"syncRTree",value:function(){var t=this,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;if(!(!n&&(this.syncing||this.syncTasks.size===0))){this.syncing=!0;var i=[],a=new Set,s=function(l){if(!a.has(l)&&l.renderable){var u=t.syncNode(l,n);u&&(i.push(u),a.add(l))}};this.syncTasks.forEach(function(o,l){o&&l.forEach(s);for(var u=l;u;)s(u),u=u.parentElement}),this.rBush.load(i),i.length=0,this.syncing=!1}}}])}();DF.tag="Prepare";function JJ(r){return!!r.document}var zm=function(r){return r.READY="ready",r.BEFORE_RENDER="beforerender",r.RERENDER="rerender",r.AFTER_RENDER="afterrender",r.BEFORE_DESTROY="beforedestroy",r.AFTER_DESTROY="afterdestroy",r.RESIZE="resize",r.DIRTY_RECTANGLE="dirtyrectangle",r.RENDERER_CHANGED="rendererchanged",r}({}),qJ=500,$J=.1,eq=1e3,tq=new zi(sr.MOUNTED),nq=new zi(sr.UNMOUNTED),rq=new zi(zm.BEFORE_RENDER),iq=new zi(zm.RERENDER),aq=new zi(zm.AFTER_RENDER),sq=null;var IF=function(r){function e(){var t;tt(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=nn(this,e,[].concat(i)),t.landmarks=[],t}return rn(e,r),nt(e,[{key:"rotate",value:function(n,i,a){if(this.relElevation=eu(i),this.relAzimuth=eu(n),this.relRoll=eu(a),this.elevation+=this.relElevation,this.azimuth+=this.relAzimuth,this.roll+=this.relRoll,this.type===Cn.EXPLORING){var s=Jr(en(),[1,0,0],wn((this.rotateWorld?1:-1)*this.relElevation)),o=Jr(en(),[0,1,0],wn((this.rotateWorld?1:-1)*this.relAzimuth)),l=Jr(en(),[0,0,1],wn(this.relRoll)),u=qr(en(),o,s);u=qr(en(),u,l);var c=ku(mt(),u);gn(this.matrix,this.matrix,[0,0,-this.distance]),Ut(this.matrix,this.matrix,c),gn(this.matrix,this.matrix,[0,0,this.distance])}else{if(Math.abs(this.elevation)>90)return this;this.computeMatrix()}return this._getAxes(),this.type===Cn.ORBITING||this.type===Cn.EXPLORING?this._getPosition():this.type===Cn.TRACKING&&this._getFocalPoint(),this._update(),this}},{key:"pan",value:function(n,i){var a=si(n,i,0),s=De(this.position);return He(s,s,wt(Me(),this.right,a[0])),He(s,s,wt(Me(),this.up,a[1])),this._setPosition(s),this.triggerUpdate(),this}},{key:"dolly",value:function(n){var i=this.forward,a=De(this.position),s=n*this.dollyingStep,o=this.distance+n*this.dollyingStep;return s=Math.max(Math.min(o,this.maxDistance),this.minDistance)-this.distance,a[0]+=s*i[0],a[1]+=s*i[1],a[2]+=s*i[2],this._setPosition(a),this.type===Cn.ORBITING||this.type===Cn.EXPLORING?this._getDistance():this.type===Cn.TRACKING&&He(this.focalPoint,a,this.distanceVector),this.triggerUpdate(),this}},{key:"cancelLandmarkAnimation",value:function(){this.landmarkAnimationID!==void 0&&this.canvas.cancelAnimationFrame(this.landmarkAnimationID)}},{key:"createLandmark",value:function(n){var i,a,s,o,l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},u=l.position,c=u===void 0?this.position:u,h=l.focalPoint,f=h===void 0?this.focalPoint:h,d=l.roll,v=l.zoom,g=new it.CameraContribution;g.setType(this.type,void 0),g.setPosition(c[0],(i=c[1])!==null&&i!==void 0?i:this.position[1],(a=c[2])!==null&&a!==void 0?a:this.position[2]),g.setFocalPoint(f[0],(s=f[1])!==null&&s!==void 0?s:this.focalPoint[1],(o=f[2])!==null&&o!==void 0?o:this.focalPoint[2]),g.setRoll(d!=null?d:this.roll),g.setZoom(v!=null?v:this.zoom);var p={name:n,matrix:Tn(g.getWorldTransform()),right:De(g.right),up:De(g.up),forward:De(g.forward),position:De(g.getPosition()),focalPoint:De(g.getFocalPoint()),distanceVector:De(g.getDistanceVector()),distance:g.getDistance(),dollyingStep:g.getDollyingStep(),azimuth:g.getAzimuth(),elevation:g.getElevation(),roll:g.getRoll(),relAzimuth:g.relAzimuth,relElevation:g.relElevation,relRoll:g.relRoll,zoom:g.getZoom()};return this.landmarks.push(p),p}},{key:"gotoLandmark",value:function(n){var i=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=Xt(n)?this.landmarks.find(function(J){return J.name===n}):n;if(s){var o=ht(a)?{duration:a}:a,l=o.easing,u=l===void 0?"linear":l,c=o.duration,h=c===void 0?100:c,f=o.easingFunction,d=f===void 0?void 0:f,v=o.onfinish,g=v===void 0?void 0:v,p=o.onframe,m=p===void 0?void 0:p,b=.01;this.cancelLandmarkAnimation();var x=s.position,O=s.focalPoint,T=s.zoom,S=s.roll,k=d||it.EasingFunction(u),C,W=function(){i.setFocalPoint(O),i.setPosition(x),i.setRoll(S),i.setZoom(T),i.computeMatrix(),i.triggerUpdate(),g==null||g()};if(h===0)return W();var U=function(te){C===void 0&&(C=te);var ie=te-C;if(ie>=h){W();return}var ae=k(ie/h),ve=Me(),Z=Me(),H=1,X=0;Ha(ve,i.focalPoint,O,ae),Ha(Z,i.position,x,ae),X=i.roll*(1-ae)+S*ae,H=i.zoom*(1-ae)+T*ae,i.setFocalPoint(ve),i.setPosition(Z),i.setRoll(X),i.setZoom(H);var q=ll(ve,O)+ll(Z,x);if(q<=b&&T===void 0&&S===void 0)return W();i.computeMatrix(),i.triggerUpdate(),ie<h&&(m==null||m(ae),i.landmarkAnimationID=i.canvas.requestAnimationFrame(U))};this.canvas.requestAnimationFrame(U)}}}])}(KP);it.CameraContribution=IF;var WM=null,oq=0,VM=new WeakMap,lq=null,uq=null,uv,As;function cq(r,e){return uv=new WM(r,e)}function hq(r){return As||(As=WM.copy(uv),As.oldValue=r,As)}function fq(){uv=As=void 0}function BF(r){return r===As||r===uv}function dq(r,e){return r===e?r:As&&BF(r)?As:null}function zF(r){r.nodes.forEach(function(e){var t=VM.get(e);t&&t.forEach(function(n){n.observer===r&&n.removeTransientObservers()})})}function vq(r,e){for(var t=r;t;t=t.parentNode){var n=VM.get(t);if(n)for(var i=0;i<n.length;i++){var a=n[i],s=a.options;if(!(t!==r&&!s.subtree)){var o=e(s);o&&a.enqueue(o)}}}}var Fm=!1,jm=null;function gq(r){jm.push(r),Fm||(Fm=!0,typeof runtime.globalThis!="undefined"?runtime.globalThis.setTimeout(Gm):Gm())}function Gm(){Fm=!1;var r=jm;jm=[],r.sort(function(t,n){return t.uid-n.uid});var e=!1;r.forEach(function(t){var n=t.takeRecords();zF(t),n.length&&(t.callback(n,t),e=!0)}),e&&Gm()}var Hm=function(r){function e(t,n,i,a){var s;return tt(this,e),s=nn(this,e,[t]),s.currentTime=i,s.timelineTime=a,s.target=n,s.type="finish",s.bubbles=!1,s.currentTarget=n,s.defaultPrevented=!1,s.eventPhase=s.AT_TARGET,s.timeStamp=Date.now(),s.currentTime=i,s.timelineTime=a,s}return rn(e,r),nt(e)}(av),FF=0,jF=function(){function r(e,t){var n;tt(this,r),this.currentTimePending=!1,this._idle=!0,this._paused=!1,this._finishedFlag=!0,this._currentTime=0,this._playbackRate=1,this._inTimeline=!0,this.effect=e,e.animation=this,this.timeline=t,this.id="".concat(FF++),this._inEffect=!!this.effect.update(0),this._totalDuration=Number((n=this.effect)===null||n===void 0?void 0:n.getComputedTiming().endTime),this._holdTime=0,this._paused=!1,this.oldPlayState="idle",this.updatePromises()}return nt(r,[{key:"pending",get:function(){return this._startTime===null&&!this._paused&&this.playbackRate!==0||this.currentTimePending}},{key:"playState",get:function(){return this._idle?"idle":this._isFinished?"finished":this._paused?"paused":"running"}},{key:"ready",get:function(){var t=this;return this.readyPromise||(this.timeline.animationsWithPromises.indexOf(this)===-1&&this.timeline.animationsWithPromises.push(this),this.readyPromise=new Promise(function(n,i){t.resolveReadyPromise=function(){n(t)},t.rejectReadyPromise=function(){i(new Error)}}),this.pending||this.resolveReadyPromise()),this.readyPromise}},{key:"finished",get:function(){var t=this;return this.finishedPromise||(this.timeline.animationsWithPromises.indexOf(this)===-1&&this.timeline.animationsWithPromises.push(this),this.finishedPromise=new Promise(function(n,i){t.resolveFinishedPromise=function(){n(t)},t.rejectFinishedPromise=function(){i(new Error)}}),this.playState==="finished"&&this.resolveFinishedPromise()),this.finishedPromise}},{key:"currentTime",get:function(){return this.updatePromises(),this._idle||this.currentTimePending?null:this._currentTime},set:function(t){if(t=Number(t),!isNaN(t)){if(this.timeline.restart(),!this._paused&&this._startTime!==null){var n;this._startTime=Number((n=this.timeline)===null||n===void 0?void 0:n.currentTime)-t/this.playbackRate}this.currentTimePending=!1,this._currentTime!==t&&(this._idle&&(this._idle=!1,this._paused=!0),this.tickCurrentTime(t,!0),this.timeline.applyDirtiedAnimation(this))}}},{key:"startTime",get:function(){return this._startTime},set:function(t){if(t!==null){if(this.updatePromises(),t=Number(t),isNaN(t)||this._paused||this._idle)return;this._startTime=t,this.tickCurrentTime((Number(this.timeline.currentTime)-this._startTime)*this.playbackRate),this.timeline.applyDirtiedAnimation(this),this.updatePromises()}}},{key:"playbackRate",get:function(){return this._playbackRate},set:function(t){if(t!==this._playbackRate){this.updatePromises();var n=this.currentTime;this._playbackRate=t,this.startTime=null,this.playState!=="paused"&&this.playState!=="idle"&&(this._finishedFlag=!1,this._idle=!1,this.ensureAlive(),this.timeline.applyDirtiedAnimation(this)),n!==null&&(this.currentTime=n),this.updatePromises()}}},{key:"_isFinished",get:function(){return!this._idle&&(this._playbackRate>0&&Number(this._currentTime)>=this._totalDuration||this._playbackRate<0&&Number(this._currentTime)<=0)}},{key:"totalDuration",get:function(){return this._totalDuration}},{key:"_needsTick",get:function(){return this.pending||this.playState==="running"||!this._finishedFlag}},{key:"updatePromises",value:function(){var t=this.oldPlayState,n=this.pending?"pending":this.playState;return this.readyPromise&&n!==t&&(n==="idle"?(this.rejectReadyPromise(),this.readyPromise=void 0):t==="pending"?this.resolveReadyPromise():n==="pending"&&(this.readyPromise=void 0)),this.finishedPromise&&n!==t&&(n==="idle"?(this.rejectFinishedPromise(),this.finishedPromise=void 0):n==="finished"?this.resolveFinishedPromise():t==="finished"&&(this.finishedPromise=void 0)),this.oldPlayState=n,this.readyPromise||this.finishedPromise}},{key:"play",value:function(){this.updatePromises(),this._paused=!1,(this._isFinished||this._idle)&&(this.rewind(),this._startTime=null),this._finishedFlag=!1,this._idle=!1,this.ensureAlive(),this.timeline.applyDirtiedAnimation(this),this.timeline.animations.indexOf(this)===-1&&this.timeline.animations.push(this),this.updatePromises()}},{key:"pause",value:function(){this.updatePromises(),this.currentTime&&(this._holdTime=this.currentTime),!this._isFinished&&!this._paused&&!this._idle?this.currentTimePending=!0:this._idle&&(this.rewind(),this._idle=!1),this._startTime=null,this._paused=!0,this.updatePromises()}},{key:"finish",value:function(){this.updatePromises(),!this._idle&&(this.currentTime=this._playbackRate>0?this._totalDuration:0,this._startTime=this._totalDuration-this.currentTime,this.currentTimePending=!1,this.timeline.applyDirtiedAnimation(this),this.updatePromises())}},{key:"cancel",value:function(){var t=this;if(this.updatePromises(),!!this._inEffect&&(this._inEffect=!1,this._idle=!0,this._paused=!1,this._finishedFlag=!0,this._currentTime=0,this._startTime=null,this.effect.update(null),this.timeline.applyDirtiedAnimation(this),this.updatePromises(),this.oncancel)){var n=new Hm(null,this,this.currentTime,null);setTimeout(function(){t.oncancel(n)})}}},{key:"reverse",value:function(){this.updatePromises();var t=this.currentTime;this.playbackRate*=-1,this.play(),t!==null&&(this.currentTime=t),this.updatePromises()}},{key:"updatePlaybackRate",value:function(t){this.playbackRate=t}},{key:"targetAnimations",value:function(){var t,n=(t=this.effect)===null||t===void 0?void 0:t.target;return n.getAnimations()}},{key:"markTarget",value:function(){var t=this.targetAnimations();t.indexOf(this)===-1&&t.push(this)}},{key:"unmarkTarget",value:function(){var t=this.targetAnimations(),n=t.indexOf(this);n!==-1&&t.splice(n,1)}},{key:"tick",value:function(t,n){!this._idle&&!this._paused&&(this._startTime===null?n&&(this.startTime=t-this._currentTime/this.playbackRate):this._isFinished||this.tickCurrentTime((t-this._startTime)*this.playbackRate)),n&&(this.currentTimePending=!1,this.fireEvents(t))}},{key:"rewind",value:function(){if(this.playbackRate>=0)this.currentTime=0;else if(this._totalDuration<1/0)this.currentTime=this._totalDuration;else throw new Error("Unable to rewind negative playback rate animation with infinite duration")}},{key:"persist",value:function(){throw new Error(kn)}},{key:"addEventListener",value:function(t,n,i){throw new Error(kn)}},{key:"removeEventListener",value:function(t,n,i){throw new Error(kn)}},{key:"dispatchEvent",value:function(t){throw new Error(kn)}},{key:"commitStyles",value:function(){throw new Error(kn)}},{key:"ensureAlive",value:function(){if(this.playbackRate<0&&this.currentTime===0){var t;this._inEffect=!!((t=this.effect)!==null&&t!==void 0&&t.update(-1))}else{var n;this._inEffect=!!((n=this.effect)!==null&&n!==void 0&&n.update(this.currentTime))}!this._inTimeline&&(this._inEffect||!this._finishedFlag)&&(this._inTimeline=!0,this.timeline.animations.push(this))}},{key:"tickCurrentTime",value:function(t,n){t!==this._currentTime&&(this._currentTime=t,this._isFinished&&!n&&(this._currentTime=this._playbackRate>0?this._totalDuration:0),this.ensureAlive())}},{key:"fireEvents",value:function(t){var n=this;if(this._isFinished){if(!this._finishedFlag){if(this.onfinish){var i=new Hm(null,this,this.currentTime,t);setTimeout(function(){n.onfinish&&n.onfinish(i)})}this._finishedFlag=!0}}else{if(this.onframe&&this.playState==="running"){var a=new Hm(null,this,this.currentTime,t);this.onframe(a)}this._finishedFlag=!1}}}])}(),GF=4,HF=.001,XF=1e-7,WF=10,Bc=11,cv=1/(Bc-1),VF=typeof Float32Array=="function",YM=function(e,t){return 1-3*t+3*e},UM=function(e,t){return 3*t-6*e},ZM=function(e){return 3*e},hv=function(e,t,n){return((YM(t,n)*e+UM(t,n))*e+ZM(t))*e},KM=function(e,t,n){return 3*YM(t,n)*e*e+2*UM(t,n)*e+ZM(t)},YF=function(e,t,n,i,a){var s,o,l=0;do o=t+(n-t)/2,s=hv(o,i,a)-e,s>0?n=o:t=o;while(Math.abs(s)>XF&&++l<WF);return o},UF=function(e,t,n,i){for(var a=0;a<GF;++a){var s=KM(t,n,i);if(s===0)return t;var o=hv(t,n,i)-e;t-=o/s}return t},Xm=function(e,t,n,i){if(!(e>=0&&e<=1&&n>=0&&n<=1))throw new Error("bezier x values must be in [0, 1] range");if(e===t&&n===i)return function(l){return l};for(var a=VF?new Float32Array(Bc):new Array(Bc),s=0;s<Bc;++s)a[s]=hv(s*cv,e,n);var o=function(u){for(var c=0,h=1,f=Bc-1;h!==f&&a[h]<=u;++h)c+=cv;--h;var d=(u-a[h])/(a[h+1]-a[h]),v=c+d*cv,g=KM(v,e,n);return g>=HF?UF(u,v,e,n):g===0?v:YF(u,c,c+cv,e,n)};return function(l){return l===0||l===1?l:hv(o(l),t,i)}},ZF=function(e){return e=e.replace(/([A-Z])/g,function(t){return"-".concat(t.toLowerCase())}),e.charAt(0)==="-"?e.substring(1):e},fv=function(e){return Math.pow(e,2)},dv=function(e){return Math.pow(e,3)},vv=function(e){return Math.pow(e,4)},gv=function(e){return Math.pow(e,5)},pv=function(e){return Math.pow(e,6)},mv=function(e){return 1-Math.cos(e*Math.PI/2)},yv=function(e){return 1-Math.sqrt(1-e*e)},bv=function(e){return e*e*(3*e-2)},xv=function(e){for(var t,n=4;e<((t=Math.pow(2,--n))-1)/11;);return 1/Math.pow(4,3-n)-7.5625*Math.pow((t*3-2)/22-e,2)},Ev=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=pn(t,2),i=n[0],a=i===void 0?1:i,s=n[1],o=s===void 0?.5:s,l=on(Number(a),1,10),u=on(Number(o),.1,2);return e===0||e===1?e:-l*Math.pow(2,10*(e-1))*Math.sin((e-1-u/(Math.PI*2)*Math.asin(1/l))*(Math.PI*2)/u)},zc=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=arguments.length>2?arguments[2]:void 0,i=pn(t,4),a=i[0],s=a===void 0?1:a,o=i[1],l=o===void 0?100:o,u=i[2],c=u===void 0?10:u,h=i[3],f=h===void 0?0:h;s=on(s,.1,1e3),l=on(l,.1,1e3),c=on(c,.1,1e3),f=on(f,.1,1e3);var d=Math.sqrt(l/s),v=c/(2*Math.sqrt(l*s)),g=v<1?d*Math.sqrt(1-v*v):0,p=1,m=v<1?(v*d+-f)/g:-f+d,b=n?n*e/1e3:e;return v<1?b=Math.exp(-b*v*d)*(p*Math.cos(g*b)+m*Math.sin(g*b)):b=(p+m*b)*Math.exp(-b*d),e===0||e===1?e:1-b},Wm=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=t,i=pn(n,2),a=i[0],s=a===void 0?10:a,o=i[1],l=o==="start"?Math.ceil:Math.floor;return l(on(e,0,1)*s)/s},QM=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=pn(t,4),i=n[0],a=n[1],s=n[2],o=n[3];return Xm(i,a,s,o)(e)},wv=Xm(.42,0,1,1),oa=function(e){return function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0;return 1-e(1-t,n,i)}},la=function(e){return function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0;return t<.5?e(t*2,n,i)/2:1-e(t*-2+2,n,i)/2}},ua=function(e){return function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0;return t<.5?(1-e(1-t*2,n,i))/2:(e(t*2-1,n,i)+1)/2}},JM={steps:Wm,"step-start":function(e){return Wm(e,[1,"start"])},"step-end":function(e){return Wm(e,[1,"end"])},linear:function(e){return e},"cubic-bezier":QM,ease:function(e){return QM(e,[.25,.1,.25,1])},in:wv,out:oa(wv),"in-out":la(wv),"out-in":ua(wv),"in-quad":fv,"out-quad":oa(fv),"in-out-quad":la(fv),"out-in-quad":ua(fv),"in-cubic":dv,"out-cubic":oa(dv),"in-out-cubic":la(dv),"out-in-cubic":ua(dv),"in-quart":vv,"out-quart":oa(vv),"in-out-quart":la(vv),"out-in-quart":ua(vv),"in-quint":gv,"out-quint":oa(gv),"in-out-quint":la(gv),"out-in-quint":ua(gv),"in-expo":pv,"out-expo":oa(pv),"in-out-expo":la(pv),"out-in-expo":ua(pv),"in-sine":mv,"out-sine":oa(mv),"in-out-sine":la(mv),"out-in-sine":ua(mv),"in-circ":yv,"out-circ":oa(yv),"in-out-circ":la(yv),"out-in-circ":ua(yv),"in-back":bv,"out-back":oa(bv),"in-out-back":la(bv),"out-in-back":ua(bv),"in-bounce":xv,"out-bounce":oa(xv),"in-out-bounce":la(xv),"out-in-bounce":ua(xv),"in-elastic":Ev,"out-elastic":oa(Ev),"in-out-elastic":la(Ev),"out-in-elastic":ua(Ev),spring:zc,"spring-in":zc,"spring-out":oa(zc),"spring-in-out":la(zc),"spring-out-in":ua(zc)},KF=function(e){return ZF(e).replace(/^ease-/,"").replace(/(\(|\s).+/,"").toLowerCase().trim()},QF=function(e){return JM[KF(e)]||JM.linear},JF=function(e){return e},qF=1,$F=.5,qM=0;function $M(r,e){return function(t){if(t>=1)return 1;var n=1/r;return t+=e*n,t-t%n}}var Pv="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s*",ej=new RegExp("cubic-bezier\\(".concat(Pv,",").concat(Pv,",").concat(Pv,",").concat(Pv,"\\)")),tj=/steps\(\s*(\d+)\s*\)/,nj=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/;function Vm(r){var e=ej.exec(r);if(e)return Xm.apply(void 0,ni(e.slice(1).map(Number)));var t=tj.exec(r);if(t)return $M(Number(t[1]),qM);var n=nj.exec(r);return n?$M(Number(n[1]),{start:qF,middle:$F,end:qM}[n[2]]):QF(r)}function rj(r){return Math.abs(ij(r)/(r.playbackRate||1))}function ij(r){var e;return r.duration===0||r.iterations===0?0:(r.duration==="auto"?0:Number(r.duration))*((e=r.iterations)!==null&&e!==void 0?e:1)}var eS=0,Ym=1,Mv=2,tS=3;function aj(r,e,t){if(e===null)return eS;var n=t.endTime;return e<Math.min(t.delay,n)?Ym:e>=Math.min(t.delay+r+t.endDelay,n)?Mv:tS}function sj(r,e,t,n,i){switch(n){case Ym:return e==="backwards"||e==="both"?0:null;case tS:return t-i;case Mv:return e==="forwards"||e==="both"?r:null;case eS:return null}}function oj(r,e,t,n,i){var a=i;return r===0?e!==Ym&&(a+=t):a+=n/r,a}function lj(r,e,t,n,i,a){var s=r===1/0?e%1:r%1;return s===0&&t===Mv&&n!==0&&(i!==0||a===0)&&(s=1),s}function uj(r,e,t,n){return r===Mv&&e===1/0?1/0:t===1?Math.floor(n)-1:Math.floor(n)}function cj(r,e,t){var n=r;if(r!=="normal"&&r!=="reverse"){var i=e;r==="alternate-reverse"&&(i+=1),n="normal",i!==1/0&&i%2!==0&&(n="reverse")}return n==="normal"?t:1-t}function hj(r,e,t){var n=aj(r,e,t),i=sj(r,t.fill,e,n,t.delay);if(i===null)return null;var a=t.duration==="auto"?0:t.duration,s=oj(a,n,t.iterations,i,t.iterationStart),o=lj(s,t.iterationStart,n,t.iterations,i,a),l=uj(n,t.iterations,o,s),u=cj(t.direction,l,o);return t.currentIteration=l,t.progress=u,t.easingFunction(u)}function fj(r,e,t){var n=dj(r,e),i=vj(n,t);return function(a,s){if(s!==null)i.filter(function(l){return s>=l.applyFrom&&s<l.applyTo}).forEach(function(l){var u=s-l.startOffset,c=l.endOffset-l.startOffset,h=c===0?0:u/c;a.setAttribute(l.property,l.interpolation(h),!1,!1)});else for(var o in n)nS(o)&&a.setAttribute(o,null)}}function nS(r){return r!=="offset"&&r!=="easing"&&r!=="composite"&&r!=="computedOffset"}function dj(r,e){for(var t={},n=0;n<r.length;n++)for(var i in r[n])if(nS(i)){var a={offset:r[n].offset,computedOffset:r[n].computedOffset,easing:r[n].easing,easingFunction:Vm(r[n].easing)||e.easingFunction,value:r[n][i]};t[i]=t[i]||[],t[i].push(a)}return t}function vj(r,e){var t=[];for(var n in r)for(var i=r[n],a=0;a<i.length-1;a++){var s=a,o=a+1,l=i[s].computedOffset,u=i[o].computedOffset,c=l,h=u;a===0&&(c=-1/0,u===0&&(o=s)),a===i.length-2&&(h=1/0,l===1&&(s=o)),t.push({applyFrom:c,applyTo:h,startOffset:i[s].computedOffset,endOffset:i[o].computedOffset,easingFunction:i[s].easingFunction,property:n,interpolation:gj(n,i[s].value,i[o].value,e)})}return t.sort(function(f,d){return f.startOffset-d.startOffset}),t}var rS=function(e,t,n){return function(i){var a=iS(e,t,i);return ht(a)?a:n(a)}};function gj(r,e,t,n){var i=PM[r];if(i&&i.syntax&&i.int){var a=it.styleValueRegistry.getPropertySyntax(i.syntax);if(a){var s=a.parser,o=s?s(e,n):e,l=s?s(t,n):t,u=a.mixer(o,l,n);if(u){var c=rS.apply(void 0,ni(u));return function(h){return h===0?e:h===1?t:c(h)}}}}return rS(!1,!0,function(h){return h?t:e})}function iS(r,e,t){if(typeof r=="number"&&typeof e=="number")return r*(1-t)+e*t;if(typeof r=="boolean"&&typeof e=="boolean"||typeof r=="string"&&typeof e=="string")return t<.5?r:e;if(Array.isArray(r)&&Array.isArray(e)){for(var n=r.length,i=e.length,a=Math.max(n,i),s=[],o=0;o<a;o++)s.push(iS(r[o<n?o:n-1],e[o<i?o:i-1],t));return s}throw new Error("Mismatched interpolation arguments ".concat(r,":").concat(e))}var pj=function(){function r(){tt(this,r),this.delay=0,this.direction="normal",this.duration="auto",this._easing="linear",this.easingFunction=JF,this.endDelay=0,this.fill="auto",this.iterationStart=0,this.iterations=1,this.currentIteration=null,this.progress=null}return nt(r,[{key:"easing",get:function(){return this._easing},set:function(t){this.easingFunction=Vm(t),this._easing=t}}])}();function mj(r){var e=[];for(var t in r)if(!(t in["easing","offset","composite"])){var n=r[t];Array.isArray(n)||(n=[n]);for(var i=n.length,a=0;a<i;a++){if(!e[a]){var s={};"offset"in r&&(s.offset=Number(r.offset)),"easing"in r&&(s.easing=r.easing),"composite"in r&&(s.composite=r.composite),e[a]=s}n[a]!==void 0&&n[a]!==null&&(e[a][t]=n[a])}}return e.sort(function(o,l){return(o.computedOffset||0)-(l.computedOffset||0)}),e}function aS(r,e){if(r===null)return[];Array.isArray(r)||(r=mj(r));for(var t=r.map(function(l){var u={};e!=null&&e.composite&&(u.composite="auto");for(var c in l){var h=l[c];if(c==="offset"){if(h!==null){if(h=Number(h),!isFinite(h))throw new Error("Keyframe offsets must be numbers.");if(h<0||h>1)throw new Error("Keyframe offsets must be between 0 and 1.");u.computedOffset=h}}else if(c==="composite"&&["replace","add","accumulate","auto"].indexOf(h)===-1)throw new Error("".concat(h," compositing is not supported"));u[c]=h}return u.offset===void 0&&(u.offset=null),u.easing===void 0&&(u.easing=(e==null?void 0:e.easing)||"linear"),u.composite===void 0&&(u.composite="auto"),u}),n=!0,i=-1/0,a=0;a<t.length;a++){var s=t[a].offset;if(vt(s))n=!1;else{if(s<i)throw new TypeError("Keyframes are not loosely sorted by offset. Sort or specify offsets.");i=s}}t=t.filter(function(l){return Number(l.offset)>=0&&Number(l.offset)<=1});function o(){var l,u=t,c=u.length;if(t[c-1].computedOffset=Number((l=t[c-1].offset)!==null&&l!==void 0?l:1),c>1){var h;t[0].computedOffset=Number((h=t[0].offset)!==null&&h!==void 0?h:0)}for(var f=0,d=Number(t[0].computedOffset),v=1;v<c;v++){var g=t[v].computedOffset;if(!vt(g)&&!vt(d)){for(var p=1;p<v-f;p++)t[f+p].computedOffset=d+(Number(g)-d)*p/(v-f);f=v,d=Number(g)}}}return n||o(),t}var yj="backwards|forwards|both|none".split("|"),bj="reverse|alternate|alternate-reverse".split("|");function xj(r,e){var t=new pj;return e&&(t.fill="both",t.duration="auto"),typeof r=="number"&&!isNaN(r)?t.duration=r:r!==void 0&&Object.keys(r).forEach(function(n){if(r[n]!==void 0&&r[n]!==null&&r[n]!=="auto"){if((typeof t[n]=="number"||n==="duration")&&(typeof r[n]!="number"||isNaN(r[n]))||n==="fill"&&yj.indexOf(r[n])===-1||n==="direction"&&bj.indexOf(r[n])===-1)return;t[n]=r[n]}}),t}function Ej(r,e){var t;return r=wj((t=r)!==null&&t!==void 0?t:{duration:"auto"}),xj(r,e)}function wj(r){return typeof r=="number"&&(isNaN(r)?r={duration:"auto"}:r={duration:r}),r}var Pj=function(){function r(e,t,n){var i=this;tt(this,r),this.composite="replace",this.iterationComposite="replace",this.target=e,this.timing=Ej(n,!1),this.timing.effect=this,this.timing.activeDuration=rj(this.timing),this.timing.endTime=Math.max(0,this.timing.delay+this.timing.activeDuration+this.timing.endDelay),this.normalizedKeyframes=aS(t,this.timing),this.interpolations=fj(this.normalizedKeyframes,this.timing,this.target);var a=it.globalThis.Proxy;this.computedTiming=a?new a(this.timing,{get:function(o,l){return l==="duration"?o.duration==="auto"?0:o.duration:l==="fill"?o.fill==="auto"?"none":o.fill:l==="localTime"?i.animation&&i.animation.currentTime||null:l==="currentIteration"?!i.animation||i.animation.playState!=="running"?null:o.currentIteration||0:l==="progress"?!i.animation||i.animation.playState!=="running"?null:o.progress||0:o[l]},set:function(){return!0}}):this.timing}return nt(r,[{key:"applyInterpolations",value:function(){this.interpolations(this.target,Number(this.timeFraction))}},{key:"update",value:function(t){return t===null?!1:(this.timeFraction=hj(this.timing.activeDuration,t,this.timing),this.timeFraction!==null)}},{key:"getKeyframes",value:function(){return this.normalizedKeyframes}},{key:"setKeyframes",value:function(t){this.normalizedKeyframes=aS(t)}},{key:"getComputedTiming",value:function(){return this.computedTiming}},{key:"getTiming",value:function(){return this.timing}},{key:"updateTiming",value:function(t){var n=this;Object.keys(t||{}).forEach(function(i){n.timing[i]=t[i]})}}])}();function sS(r,e){return Number(r.id)-Number(e.id)}var Mj=function(){function r(e){var t=this;tt(this,r),this.animations=[],this.ticking=!1,this.timelineTicking=!1,this.hasRestartedThisFrame=!1,this.animationsWithPromises=[],this.inTick=!1,this.pendingEffects=[],this.currentTime=null,this.rafId=0,this.rafCallbacks=[],this.webAnimationsNextTick=function(n){t.currentTime=n,t.discardAnimations(),t.animations.length===0?t.timelineTicking=!1:t.requestAnimationFrame(t.webAnimationsNextTick)},this.processRafCallbacks=function(n){var i=t.rafCallbacks;t.rafCallbacks=[],n<Number(t.currentTime)&&(n=Number(t.currentTime)),t.animations.sort(sS),t.animations=t.tick(n,!0,t.animations)[0],i.forEach(function(a){a[1](n)}),t.applyPendingEffects()},this.document=e}return nt(r,[{key:"getAnimations",value:function(){return this.discardAnimations(),this.animations.slice()}},{key:"isTicking",value:function(){return this.inTick}},{key:"play",value:function(t,n,i){var a=new Pj(t,n,i),s=new jF(a,this);return this.animations.push(s),this.restartWebAnimationsNextTick(),s.updatePromises(),s.play(),s.updatePromises(),s}},{key:"applyDirtiedAnimation",value:function(t){var n=this;if(!this.inTick){t.markTarget();var i=t.targetAnimations();i.sort(sS);var a=this.tick(Number(this.currentTime),!1,i.slice())[1];a.forEach(function(s){var o=n.animations.indexOf(s);o!==-1&&n.animations.splice(o,1)}),this.applyPendingEffects()}}},{key:"restart",value:function(){return this.ticking||(this.ticking=!0,this.requestAnimationFrame(function(){}),this.hasRestartedThisFrame=!0),this.hasRestartedThisFrame}},{key:"destroy",value:function(){this.document.defaultView.cancelAnimationFrame(this.frameId)}},{key:"applyPendingEffects",value:function(){this.pendingEffects.forEach(function(t){t==null||t.applyInterpolations()}),this.pendingEffects=[]}},{key:"updateAnimationsPromises",value:function(){this.animationsWithPromises=this.animationsWithPromises.filter(function(t){return t.updatePromises()})}},{key:"discardAnimations",value:function(){this.updateAnimationsPromises(),this.animations=this.animations.filter(function(t){return t.playState!=="finished"&&t.playState!=="idle"})}},{key:"restartWebAnimationsNextTick",value:function(){this.timelineTicking||(this.timelineTicking=!0,this.requestAnimationFrame(this.webAnimationsNextTick))}},{key:"rAF",value:function(t){var n=this.rafId++;return this.rafCallbacks.length===0&&(this.frameId=this.document.defaultView.requestAnimationFrame(this.processRafCallbacks)),this.rafCallbacks.push([n,t]),n}},{key:"requestAnimationFrame",value:function(t){var n=this;return this.rAF(function(i){n.updateAnimationsPromises(),t(i),n.updateAnimationsPromises()})}},{key:"tick",value:function(t,n,i){var a=this,s,o;this.inTick=!0,this.hasRestartedThisFrame=!1,this.currentTime=t,this.ticking=!1;var l=[],u=[],c=[],h=[];return i.forEach(function(f){f.tick(t,n),f._inEffect?(u.push(f.effect),f.markTarget()):(l.push(f.effect),f.unmarkTarget()),f._needsTick&&(a.ticking=!0);var d=f._inEffect||f._needsTick;f._inTimeline=d,d?c.push(f):h.push(f)}),(s=this.pendingEffects).push.apply(s,l),(o=this.pendingEffects).push.apply(o,u),this.ticking&&this.requestAnimationFrame(function(){}),this.inTick=!1,[c,h]}}])}();it.EasingFunction=Vm,it.AnimationTimeline=Mj;function oS(r,e){e(r),r.children&&r.children.forEach(function(t){t&&oS(t,e)})}function Fc(r){Sv(r,!0)}function Da(r){Sv(r,!1)}function Sv(r,e){var t=e?"visible":"hidden";oS(r,function(n){n.attr("visibility",t)})}var Sj=5,lS=function(r,e,t,n){t===void 0&&(t=0),n===void 0&&(n=Sj),Object.entries(e).forEach(function(i){var a=(0,Y.CR)(i,2),s=a[0],o=a[1],l=r;Object.prototype.hasOwnProperty.call(e,s)&&(o?Il(o)?(Il(r[s])||(l[s]={}),t<n?lS(r[s],o,t+1,n):l[s]=e[s]):pi(o)?(l[s]=[],l[s]=l[s].concat(o)):l[s]=o:l[s]=o)})},Or=function(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];for(var n=0;n<e.length;n+=1)lS(r,e[n]);return r},Tj=function(r){(0,Y.ZT)(e,r);function e(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var i=r.apply(this,(0,Y.ev)([],(0,Y.CR)(t),!1))||this;return i.isMutationObserved=!0,i.addEventListener(sr.INSERTED,function(){Da(i)}),i}return e}(ji);function uS(r){var e=r.appendChild(new Tj({class:"offscreen"}));return Da(e),e}function Aj(r){for(var e=r;e;){if(e.className==="offscreen")return!0;e=e.parent}return!1}function Oj(){Sv(this,this.attributes.visibility!=="hidden")}var or=function(r){(0,Y.ZT)(e,r);function e(t,n){n===void 0&&(n={});var i=r.call(this,Or({},{style:n},t))||this;return i.initialized=!1,i._defaultOptions=n,i}return Object.defineProperty(e.prototype,"offscreenGroup",{get:function(){return this._offscreen||(this._offscreen=uS(this)),this._offscreen},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"defaultOptions",{get:function(){return this._defaultOptions},enumerable:!1,configurable:!0}),e.prototype.connectedCallback=function(){this.render(this.attributes,this),this.bindEvents(this.attributes,this),this.initialized=!0},e.prototype.disconnectedCallback=function(){var t;(t=this._offscreen)===null||t===void 0||t.destroy()},e.prototype.attributeChangedCallback=function(t){t==="visibility"&&Oj.call(this)},e.prototype.update=function(t,n){var i;return this.attr(Or({},this.attributes,t||{})),(i=this.render)===null||i===void 0?void 0:i.call(this,this.attributes,this,n)},e.prototype.clear=function(){this.removeChildren()},e.prototype.bindEvents=function(t,n){},e.prototype.getSubShapeStyle=function(t){var n=t.x,i=t.y,a=t.transform,s=t.transformOrigin,o=t.class,l=t.className,u=t.zIndex,c=(0,Y._T)(t,["x","y","transform","transformOrigin","class","className","zIndex"]);return c},e}(EF);function Um(r){return r.toString().charAt(0).toUpperCase()+r.toString().slice(1)}function kj(r){return r.toString().charAt(0).toLowerCase()+r.toString().slice(1)}function Cj(r,e){return"".concat(e).concat(Um(r))}function cS(r,e,t){var n;t===void 0&&(t=!0);var i=e||((n=r.match(/^([a-z][a-z0-9]+)/))===null||n===void 0?void 0:n[0])||"",a=r.replace(new RegExp("^(".concat(i,")")),"");return t?kj(a):a}function Nj(r,e){Object.entries(e).forEach(function(t){var n=(0,Y.CR)(t,2),i=n[0],a=n[1];(0,Y.ev)([r],(0,Y.CR)(r.querySelectorAll(i)),!1).filter(function(s){return s.matches(i)}).forEach(function(s){if(s){var o=s;o.style.cssText+=Object.entries(a).reduce(function(l,u){return"".concat(l).concat(u.join(":"),";")},"")}})})}var Tv=function(r,e){if(!(r!=null&&r.startsWith(e)))return!1;var t=r[e.length];return t>="A"&&t<="Z"};function zt(r,e,t){t===void 0&&(t=!1);var n={};return Object.entries(r).forEach(function(i){var a=(0,Y.CR)(i,2),s=a[0],o=a[1];if(!(s==="className"||s==="class")){if(Tv(s,"show")&&Tv(cS(s,"show"),e)!==t)s===Cj(e,"show")?n[s]=o:n[s.replace(new RegExp(Um(e)),"")]=o;else if(!Tv(s,"show")&&Tv(s,e)!==t){var l=cS(s,e);l==="filter"&&typeof o=="function"||(n[l]=o)}}}),n}function au(r,e){return Object.entries(r).reduce(function(t,n){var i=(0,Y.CR)(n,2),a=i[0],s=i[1];return a.startsWith("show")?t["show".concat(e).concat(a.slice(4))]=s:t["".concat(e).concat(Um(a))]=s,t},{})}function Os(r,e){e===void 0&&(e=["x","y","class","className"]);var t=["transform","transformOrigin","anchor","visibility","pointerEvents","zIndex","cursor","clipPath","clipPathTargets","offsetPath","offsetPathTargets","offsetDistance","draggable","droppable"],n={},i={};return Object.entries(r).forEach(function(a){var s=(0,Y.CR)(a,2),o=s[0],l=s[1];e.includes(o)||(t.indexOf(o)!==-1?i[o]=l:n[o]=l)}),[n,i]}var Zm=function(r){(0,Y.ZT)(e,r);function e(t){t===void 0&&(t={});var n=t.style,i=(0,Y._T)(t,["style"]);return r.call(this,(0,Y.pi)({style:(0,Y.pi)({text:"",fill:"black",fontFamily:"sans-serif",fontSize:16,fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",lineWidth:1,textAlign:"start",textBaseline:"middle"},n)},i))||this}return Object.defineProperty(e.prototype,"offscreenGroup",{get:function(){return this._offscreen||(this._offscreen=uS(this)),this._offscreen},enumerable:!1,configurable:!0}),e.prototype.disconnectedCallback=function(){var t;(t=this._offscreen)===null||t===void 0||t.destroy()},e}(_F);function _j(r,e){var t=new Map;return r.forEach(function(n){var i=e(n);t.has(i)||t.set(i,[]),t.get(i).push(n)}),t}function Rj(r){throw new Error(r)}var Lj=function(){function r(i,a,s,o,l,u,c){i===void 0&&(i=null),a===void 0&&(a=null),s===void 0&&(s=null),o===void 0&&(o=null),l===void 0&&(l=[null,null,null,null,null]),u===void 0&&(u=[]),c===void 0&&(c=[]),e.add(this),this._elements=Array.from(i),this._data=a,this._parent=s,this._document=o,this._enter=l[0],this._update=l[1],this._exit=l[2],this._merge=l[3],this._split=l[4],this._transitions=u,this._facetElements=c}r.prototype.selectAll=function(i){var a=typeof i=="string"?this._parent.querySelectorAll(i):i;return new t(a,null,this._elements[0],this._document)},r.prototype.selectFacetAll=function(i){var a=typeof i=="string"?this._parent.querySelectorAll(i):i;return new t(this._elements,null,this._parent,this._document,void 0,void 0,a)},r.prototype.select=function(i){var a=typeof i=="string"?this._parent.querySelectorAll(i)[0]||null:i;return new t([a],null,a,this._document)},r.prototype.append=function(i){var a=this,s=typeof i=="function"?i:function(){return a.createElement(i)},o=[];if(this._data!==null){for(var l=0;l<this._data.length;l++){var u=this._data[l],c=(0,Y.CR)(Array.isArray(u)?u:[u,null],2),h=c[0],f=c[1],d=s(h,l);d.__data__=h,f!==null&&(d.__fromElements__=f),this._parent.appendChild(d),o.push(d)}return new t(o,null,this._parent,this._document)}for(var l=0;l<this._elements.length;l++){var v=this._elements[l],h=v.__data__,d=s(h,l);v.appendChild(d),o.push(d)}return new t(o,null,o[0],this._document)},r.prototype.maybeAppend=function(i,a){var s=(0,Y.Q_)(this,e,"m",n).call(this,i[0]==="#"?i:"#".concat(i),a);return s.attr("id",i),s},r.prototype.maybeAppendByClassName=function(i,a){var s=i.toString(),o=(0,Y.Q_)(this,e,"m",n).call(this,s[0]==="."?s:".".concat(s),a);return o.attr("className",s),o},r.prototype.maybeAppendByName=function(i,a){var s=(0,Y.Q_)(this,e,"m",n).call(this,'[name="'.concat(i,'"]'),a);return s.attr("name",i),s},r.prototype.data=function(i,a,s){var o,l;a===void 0&&(a=function(U){return U}),s===void 0&&(s=function(){return null});for(var u=[],c=[],h=new Set(this._elements),f=[],d=new Set,v=new Map(this._elements.map(function(U,J){return[a(U.__data__,J),U]})),g=new Map(this._facetElements.map(function(U,J){return[a(U.__data__,J),U]})),p=_j(this._elements,function(U){return s(U.__data__)}),m=0;m<i.length;m++){var b=i[m],x=a(b,m),O=s(b,m);if(v.has(x)){var T=v.get(x);T.__data__=b,T.__facet__=!1,c.push(T),h.delete(T),v.delete(x)}else if(g.has(x)){var T=g.get(x);T.__data__=b,T.__facet__=!0,c.push(T),g.delete(x)}else if(p.has(x)){var S=p.get(x);f.push([b,S]);try{for(var k=(o=void 0,(0,Y.XA)(S)),C=k.next();!C.done;C=k.next()){var T=C.value;h.delete(T)}}catch(U){o={error:U}}finally{try{C&&!C.done&&(l=k.return)&&l.call(k)}finally{if(o)throw o.error}}p.delete(x)}else if(v.has(O)){var T=v.get(O);T.__toData__?T.__toData__.push(b):T.__toData__=[b],d.add(T),h.delete(T)}else u.push(b)}var W=[new t([],u,this._parent,this._document),new t(c,null,this._parent,this._document),new t(h,null,this._parent,this._document),new t([],f,this._parent,this._document),new t(d,null,this._parent,this._document)];return new t(this._elements,null,this._parent,this._document,W)},r.prototype.merge=function(i){var a=(0,Y.ev)((0,Y.ev)([],(0,Y.CR)(this._elements),!1),(0,Y.CR)(i._elements),!1),s=(0,Y.ev)((0,Y.ev)([],(0,Y.CR)(this._transitions),!1),(0,Y.CR)(i._transitions),!1);return new t(a,null,this._parent,this._document,void 0,s)},r.prototype.createElement=function(i){if(this._document)return this._document.createElement(i,{});var a=t.registry[i];return a?new a:Rj("Unknown node type: ".concat(i))},r.prototype.join=function(i,a,s,o,l){i===void 0&&(i=function(v){return v}),a===void 0&&(a=function(v){return v}),s===void 0&&(s=function(v){return v.remove()}),o===void 0&&(o=function(v){return v}),l===void 0&&(l=function(v){return v.remove()});var u=i(this._enter),c=a(this._update),h=s(this._exit),f=o(this._merge),d=l(this._split);return c.merge(u).merge(h).merge(f).merge(d)},r.prototype.remove=function(){for(var i=function(o){var l=a._elements[o],u=a._transitions[o];u?u.then(function(){return l.remove()}):l.remove()},a=this,s=0;s<this._elements.length;s++)i(s);return new t([],null,this._parent,this._document,void 0,this._transitions)},r.prototype.each=function(i){for(var a=0;a<this._elements.length;a++){var s=this._elements[a],o=s.__data__;i.call(s,o,a)}return this},r.prototype.attr=function(i,a){var s=typeof a!="function"?function(){return a}:a;return this.each(function(o,l){a!==void 0&&(this[i]=s.call(this,o,l))})},r.prototype.style=function(i,a,s){s===void 0&&(s=!0);var o=typeof a!="function"||!s?function(){return a}:a;return this.each(function(l,u){a!==void 0&&(this.style[i]=o.call(this,l,u))})},r.prototype.styles=function(i,a){return i===void 0&&(i={}),a===void 0&&(a=!0),this.each(function(s,o){var l=this;Object.entries(i).forEach(function(u){var c=(0,Y.CR)(u,2),h=c[0],f=c[1],d=typeof f!="function"||!a?function(){return f}:f;f!==void 0&&l.attr(h,d.call(l,s,o))})})},r.prototype.update=function(i,a){a===void 0&&(a=!0);var s=typeof i!="function"||!a?function(){return i}:i;return this.each(function(o,l){i&&this.update&&this.update(s.call(this,o,l))})},r.prototype.maybeUpdate=function(i,a){a===void 0&&(a=!0);var s=typeof i!="function"||!a?function(){return i}:i;return this.each(function(o,l){i&&this.update&&this.update(s.call(this,o,l))})},r.prototype.transition=function(i){var a=this._transitions;return this.each(function(s,o){a[o]=i.call(this,s,o)})},r.prototype.on=function(i,a){return this.each(function(){this.addEventListener(i,a)}),this},r.prototype.call=function(i){for(var a=[],s=1;s<arguments.length;s++)a[s-1]=arguments[s];return i.call.apply(i,(0,Y.ev)([this._parent,this],(0,Y.CR)(a),!1)),this},r.prototype.node=function(){return this._elements[0]},r.prototype.nodes=function(){return this._elements},r.prototype.transitions=function(){return this._transitions.filter(function(i){return!!i})},r.prototype.parent=function(){return this._parent};var e,t,n;return t=r,e=new WeakSet,n=function(a,s){var o=this._elements[0],l=o.querySelector(a);if(l)return new t([l],null,this._parent,this._document);var u=typeof s=="string"?this.createElement(s):s();return o.appendChild(u),new t([u],null,this._parent,this._document)},r.registry={g:ji,rect:iu,circle:Im,path:Bm,text:Zm,ellipse:wF,image:SF,line:HM,polygon:XM,polyline:CF,html:MF},r}();function Mt(r){return new Lj([r],null,r,r.ownerDocument)}function Dj(r,e,t){return r.querySelector(e)?Mt(r).select(e):Mt(r).append(t)}var Zr=function(){function r(e,t,n,i){e===void 0&&(e=0),t===void 0&&(t=0),n===void 0&&(n=0),i===void 0&&(i=0),this.x=0,this.y=0,this.width=0,this.height=0,this.x=e,this.y=t,this.width=n,this.height=i}return Object.defineProperty(r.prototype,"bottom",{get:function(){return this.y+this.height},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"left",{get:function(){return this.x},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"right",{get:function(){return this.x+this.width},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"top",{get:function(){return this.y},enumerable:!1,configurable:!0}),r.fromRect=function(e){return new r(e.x,e.y,e.width,e.height)},r.prototype.toJSON=function(){return{x:this.x,y:this.y,width:this.width,height:this.height,top:this.top,right:this.right,bottom:this.bottom,left:this.left}},r.prototype.isPointIn=function(e,t){return e>=this.left&&e<=this.right&&t>=this.top&&t<=this.bottom},r}();function pq(r){var e=r.getRenderBounds(),t=__read(e.min,2),n=t[0],i=t[1],a=__read(e.max,2),s=a[0],o=a[1],l=s-n,u=o-i;return new Zr(n,i,l,u)}var Ia=function(r,e){var t=function(i){return"".concat(e,"-").concat(i)},n=Object.fromEntries(Object.entries(r).map(function(i){var a=(0,Y.CR)(i,2),s=a[0],o=a[1],l=t(o);return[s,{name:l,class:".".concat(l),id:"#".concat(l),toString:function(){return l}}]}));return Object.assign(n,{prefix:t}),n};function jr(r){if(ht(r))return[r,r,r,r];if(pi(r)){var e=r.length;if(e===1)return[r[0],r[0],r[0],r[0]];if(e===2)return[r[0],r[1],r[0],r[1]];if(e===3)return[r[0],r[1],r[2],r[1]];if(e===4)return r}return[0,0,0,0]}function Gi(r,e,t,n,i){return n===void 0&&(n=!0),i===void 0&&(i=function(a){a.node().removeChildren()}),r?t(e):(n&&i(e),null)}var hS=Ia({text:"text"},"title");function Av(r){return/\S+-\S+/g.test(r)?r.split("-").map(function(e){return e[0]}):r.length>2?[r[0]]:r.split("")}function Ij(r,e){var t=r.attributes,n=t.position,i=t.spacing,a=t.inset,s=t.text,o=r.getBBox(),l=e.getBBox(),u=Av(n),c=(0,Y.CR)(jr(s?i:0),4),h=c[0],f=c[1],d=c[2],v=c[3],g=(0,Y.CR)(jr(a),4),p=g[0],m=g[1],b=g[2],x=g[3],O=(0,Y.CR)([v+f,h+d],2),T=O[0],S=O[1],k=(0,Y.CR)([x+m,p+b],2),C=k[0],W=k[1];if(u[0]==="l")return new Zr(o.x,o.y,l.width+o.width+T+C,Math.max(l.height+W,o.height));if(u[0]==="t")return new Zr(o.x,o.y,Math.max(l.width+C,o.width),l.height+o.height+S+W);var U=(0,Y.CR)([e.attributes.width||l.width,e.attributes.height||l.height],2),J=U[0],te=U[1];return new Zr(l.x,l.y,J+o.width+T+C,te+o.height+S+W)}function Bj(r,e){var t=Object.entries(e).reduce(function(n,i){var a=(0,Y.CR)(i,2),s=a[0],o=a[1],l=r.node().attr(s);return l||(n[s]=o),n},{});r.styles(t)}function zj(r){var e,t,n,i,a=r,s=a.width,o=a.height,l=a.position,u=(0,Y.CR)([+s/2,+o/2],2),c=u[0],h=u[1],f=(0,Y.CR)([+c,+h,"center","middle"],4),d=f[0],v=f[1],g=f[2],p=f[3],m=Av(l);return m.includes("l")&&(e=(0,Y.CR)([0,"start"],2),d=e[0],g=e[1]),m.includes("r")&&(t=(0,Y.CR)([+s,"end"],2),d=t[0],g=t[1]),m.includes("t")&&(n=(0,Y.CR)([0,"top"],2),v=n[0],p=n[1]),m.includes("b")&&(i=(0,Y.CR)([+o,"bottom"],2),v=i[0],p=i[1]),{x:d,y:v,textAlign:g,textBaseline:p}}var Fj=function(r){(0,Y.ZT)(e,r);function e(t){return r.call(this,t,{text:"",width:0,height:0,fill:"#4a505a",fontWeight:"bold",fontSize:12,fontFamily:"sans-serif",inset:0,spacing:0,position:"top-left"})||this}return e.prototype.getAvailableSpace=function(){var t=this,n=this.attributes,i=n.width,a=n.height,s=n.position,o=n.spacing,l=n.inset,u=t.querySelector(hS.text.class);if(!u)return new Zr(0,0,+i,+a);var c=u.getBBox(),h=c.width,f=c.height,d=(0,Y.CR)(jr(o),4),v=d[0],g=d[1],p=d[2],m=d[3],b=(0,Y.CR)([0,0,+i,+a],4),x=b[0],O=b[1],T=b[2],S=b[3],k=Av(s);if(k.includes("i"))return new Zr(x,O,T,S);k.forEach(function(Z,H){var X,q,oe,de;Z==="t"&&(X=(0,Y.CR)(H===0?[f+p,+a-f-p]:[0,+a],2),O=X[0],S=X[1]),Z==="r"&&(q=(0,Y.CR)([+i-h-m],1),T=q[0]),Z==="b"&&(oe=(0,Y.CR)([+a-f-v],1),S=oe[0]),Z==="l"&&(de=(0,Y.CR)(H===0?[h+g,+i-h-g]:[0,+i],2),x=de[0],T=de[1])});var C=(0,Y.CR)(jr(l),4),W=C[0],U=C[1],J=C[2],te=C[3],ie=(0,Y.CR)([te+U,W+J],2),ae=ie[0],ve=ie[1];return new Zr(x+te,O+W,T-ae,S-ve)},e.prototype.getBBox=function(){return this.title?this.title.getBBox():new Zr(0,0,0,0)},e.prototype.render=function(t,n){var i=this,a=t.width,s=t.height,o=t.position,l=t.spacing,u=(0,Y._T)(t,["width","height","position","spacing"]),c=(0,Y.CR)(Os(u),1),h=c[0],f=zj(t),d=f.x,v=f.y,g=f.textAlign,p=f.textBaseline;Gi(!!u.text,Mt(n),function(m){i.title=m.maybeAppendByClassName(hS.text,"text").styles(h).call(Bj,{x:d,y:v,textAlign:g,textBaseline:p}).node()})},e}(or),Km=function(){};function ca(r,e){return pt(r)?r.apply(void 0,(0,Y.ev)([],(0,Y.CR)(e),!1)):r}function jj(r,e){return r.reduce(function(t,n){return(t[n[e]]=t[n[e]]||[]).push(n),t},{})}function Gj(r){return typeof r=="boolean"?!1:"enter"in r&&"update"in r&&"exit"in r}function fS(r){if(!r)return{enter:!1,update:!1,exit:!1};var e=["enter","update","exit"],t=Object.fromEntries(Object.entries(r).filter(function(n){var i=(0,Y.CR)(n,1),a=i[0];return!e.includes(a)}));return Object.fromEntries(e.map(function(n){return Gj(r)?r[n]===!1?[n,!1]:[n,(0,Y.pi)((0,Y.pi)({},r[n]),t)]:[n,t]}))}function su(r,e){r?r.finished.then(e):e()}function Hj(r,e){r.length===0?e():Promise.all(r.map(function(t){return t==null?void 0:t.finished})).then(e)}function dS(r,e){"update"in r?r.update(e):r.attr(e)}function vS(r,e,t){if(e.length===0)return null;if(!t){var n=e.slice(-1)[0];return dS(r,{style:n}),null}return r.animate(e,t)}function Xj(r,e){return!(r.nodeName!=="text"||e.nodeName!=="text"||r.attributes.text!==e.attributes.text)}function Wj(r,e,t,n){if(n===void 0&&(n="destroy"),Xj(r,e))return r.remove(),[null];var i=function(){n==="destroy"?r.destroy():n==="hide"&&Da(r),e.isVisible()&&Fc(e)};if(!t)return i(),[null];var a=t.duration,s=a===void 0?0:a,o=t.delay,l=o===void 0?0:o,u=Math.ceil(+s/2),c=+s/4,h=(0,Y.CR)(r.getGeometryBounds().center,2),f=h[0],d=h[1],v=(0,Y.CR)(e.getGeometryBounds().center,2),g=v[0],p=v[1],m=(0,Y.CR)([(f+g)/2-f,(d+p)/2-d],2),b=m[0],x=m[1],O=r.style.opacity,T=O===void 0?1:O,S=e.style.opacity,k=S===void 0?1:S,C=r.style.transform||"",W=e.style.transform||"",U=r.animate([{opacity:T,transform:"translate(0, 0) ".concat(C)},{opacity:0,transform:"translate(".concat(b,", ").concat(x,") ").concat(C)}],(0,Y.pi)((0,Y.pi)({fill:"both"},t),{duration:l+u+c})),J=e.animate([{opacity:0,transform:"translate(".concat(-b,", ").concat(-x,") ").concat(W),offset:.01},{opacity:k,transform:"translate(0, 0) ".concat(W)}],(0,Y.pi)((0,Y.pi)({fill:"both"},t),{duration:u+c,delay:l+u-c}));return su(J,i),[U,J]}function Ba(r,e,t){var n={},i={};return Object.entries(e).forEach(function(a){var s=(0,Y.CR)(a,2),o=s[0],l=s[1];if(!vt(l)){var u=r.style[o]||r.parsedStyle[o]||0;u!==l&&(n[o]=u,i[o]=l)}}),t?vS(r,[n,i],(0,Y.pi)({fill:"both"},t)):(dS(r,i),null)}function Vj(r){var e;return((e=r[0])===null||e===void 0?void 0:e.map(function(t,n){return r.map(function(i){return i[n]})}))||[]}function Qm(r,e,t){t===void 0&&(t=!1);var n=r.getBBox(),i=n.width,a=n.height,s=e/Math.max(i,a);return t&&(r.style.transform="scale(".concat(s,")")),s}var gS=function(r,e,t){return[["M",r-t,e],["A",t,t,0,1,0,r+t,e],["A",t,t,0,1,0,r-t,e],["Z"]]},Yj=gS,Uj=function(r,e,t){return[["M",r-t,e-t],["L",r+t,e-t],["L",r+t,e+t],["L",r-t,e+t],["Z"]]},Zj=function(r,e,t){return[["M",r-t,e],["L",r,e-t],["L",r+t,e],["L",r,e+t],["Z"]]},Kj=function(r,e,t){var n=t*Math.sin(.3333333333333333*Math.PI);return[["M",r-t,e+n],["L",r,e-n],["L",r+t,e+n],["Z"]]},Qj=function(r,e,t){var n=t*Math.sin(.3333333333333333*Math.PI);return[["M",r-t,e-n],["L",r+t,e-n],["L",r,e+n],["Z"]]},Jj=function(r,e,t){var n=t/2*Math.sqrt(3);return[["M",r,e-t],["L",r+n,e-t/2],["L",r+n,e+t/2],["L",r,e+t],["L",r-n,e+t/2],["L",r-n,e-t/2],["Z"]]},qj=function(r,e,t){var n=t-1.5;return[["M",r-t,e-n],["L",r+t,e+n],["L",r+t,e-n],["L",r-t,e+n],["Z"]]},pS=function(r,e,t){return[["M",r,e+t],["L",r,e-t]]},$j=function(r,e,t){return[["M",r-t,e-t],["L",r+t,e+t],["M",r+t,e-t],["L",r-t,e+t]]},eG=function(r,e,t){return[["M",r-t/2,e-t],["L",r+t/2,e-t],["M",r,e-t],["L",r,e+t],["M",r-t/2,e+t],["L",r+t/2,e+t]]},tG=function(r,e,t){return[["M",r-t,e],["L",r+t,e],["M",r,e-t],["L",r,e+t]]},nG=function(r,e,t){return[["M",r-t,e],["L",r+t,e]]},mS=function(r,e,t){return[["M",r-t,e],["L",r+t,e]]},rG=mS,iG=function(r,e,t){return[["M",r-t,e],["A",t/2,t/2,0,1,1,r,e],["A",t/2,t/2,0,1,0,r+t,e]]},aG=function(r,e,t){return[["M",r-t-1,e-2.5],["L",r,e-2.5],["L",r,e+2.5],["L",r+t+1,e+2.5]]},sG=function(r,e,t){return[["M",r-t-1,e+2.5],["L",r,e+2.5],["L",r,e-2.5],["L",r+t+1,e-2.5]]},oG=function(r,e,t){return[["M",r-(t+1),e+2.5],["L",r-t/2,e+2.5],["L",r-t/2,e-2.5],["L",r+t/2,e-2.5],["L",r+t/2,e+2.5],["L",r+t+1,e+2.5]]};function lG(r,e){return[["M",r-5,e+2.5],["L",r-5,e],["L",r,e],["L",r,e-3],["L",r,e+3],["L",r+6.5,e+3]]}var uG=function(r,e,t){return[["M",r-t,e-t],["L",r+t,e],["L",r-t,e+t],["Z"]]},ha=Ia({prevBtnGroup:"prev-btn-group",prevBtn:"prev-btn",nextBtnGroup:"next-btn-group",nextBtn:"next-btn",pageInfoGroup:"page-info-group",pageInfo:"page-info",playWindow:"play-window",contentGroup:"content-group",controller:"controller",clipPath:"clip-path"},"navigator"),cG=function(r){(0,Y.ZT)(e,r);function e(t){var n=r.call(this,t,{x:0,y:0,animate:{easing:"linear",duration:200,fill:"both"},buttonCursor:"pointer",buttonFill:"black",buttonD:uG(0,0,6),buttonSize:12,controllerPadding:5,controllerSpacing:5,formatter:function(i,a){return"".concat(i,"/").concat(a)},defaultPage:0,loop:!1,orientation:"horizontal",pageNumFill:"black",pageNumFontSize:12,pageNumTextAlign:"start",pageNumTextBaseline:"middle"})||this;return n.playState="idle",n.contentGroup=n.appendChild(new ji({class:ha.contentGroup.name})),n.playWindow=n.contentGroup.appendChild(new ji({class:ha.playWindow.name})),n.innerCurrPage=n.defaultPage,n}return Object.defineProperty(e.prototype,"defaultPage",{get:function(){var t=this.attributes.defaultPage;return on(t,0,Math.max(this.pageViews.length-1,0))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"pageViews",{get:function(){return this.playWindow.children},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"controllerShape",{get:function(){return this.totalPages>1?{width:55,height:0}:{width:0,height:0}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"pageShape",{get:function(){var t=this.pageViews,n=(0,Y.CR)(Vj(t.map(function(h){var f=h.getBBox(),d=f.width,v=f.height;return[d,v]})).map(function(h){return Math.max.apply(Math,(0,Y.ev)([],(0,Y.CR)(h),!1))}),2),i=n[0],a=n[1],s=this.attributes,o=s.pageWidth,l=o===void 0?i:o,u=s.pageHeight,c=u===void 0?a:u;return{pageWidth:l,pageHeight:c}},enumerable:!1,configurable:!0}),e.prototype.getContainer=function(){return this.playWindow},Object.defineProperty(e.prototype,"totalPages",{get:function(){return this.pageViews.length},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"currPage",{get:function(){return this.innerCurrPage},enumerable:!1,configurable:!0}),e.prototype.getBBox=function(){var t=r.prototype.getBBox.call(this),n=t.x,i=t.y,a=this.controllerShape,s=this.pageShape,o=s.pageWidth,l=s.pageHeight;return new Zr(n,i,o+a.width,l)},e.prototype.goTo=function(t){var n=this,i=this.attributes.animate,a=this,s=a.currPage,o=a.playState,l=a.playWindow,u=a.pageViews;if(o!=="idle"||t<0||u.length<=0||t>=u.length)return null;u[s].setLocalPosition(0,0),this.prepareFollowingPage(t);var c=(0,Y.CR)(this.getFollowingPageDiff(t),2),h=c[0],f=c[1];this.playState="running";var d=vS(l,[{transform:"translate(0, 0)"},{transform:"translate(".concat(-h,", ").concat(-f,")")}],i);return su(d,function(){n.innerCurrPage=t,n.playState="idle",n.setVisiblePages([t]),n.updatePageInfo()}),d},e.prototype.prev=function(){var t=this.attributes.loop,n=this.pageViews.length,i=this.currPage;if(!t&&i<=0)return null;var a=t?(i-1+n)%n:on(i-1,0,n);return this.goTo(a)},e.prototype.next=function(){var t=this.attributes.loop,n=this.pageViews.length,i=this.currPage;if(!t&&i>=n-1)return null;var a=t?(i+1)%n:on(i+1,0,n);return this.goTo(a)},e.prototype.renderClipPath=function(t){var n=this.pageShape,i=n.pageWidth,a=n.pageHeight;if(!i||!a){this.contentGroup.style.clipPath=void 0;return}this.clipPath=t.maybeAppendByClassName(ha.clipPath,"rect").styles({width:i,height:a}),this.contentGroup.attr("clipPath",this.clipPath.node())},e.prototype.setVisiblePages=function(t){this.playWindow.children.forEach(function(n,i){t.includes(i)?Fc(n):Da(n)})},e.prototype.adjustControllerLayout=function(){var t=this,n=t.prevBtnGroup,i=t.nextBtnGroup,a=t.pageInfoGroup,s=this.attributes,o=s.orientation,l=s.controllerPadding,u=a.getBBox(),c=u.width,h=u.height,f=(0,Y.CR)(o==="horizontal"?[-180,0]:[-90,90],2),d=f[0],v=f[1];n.setLocalEulerAngles(d),i.setLocalEulerAngles(v);var g=n.getBBox(),p=g.width,m=g.height,b=i.getBBox(),x=b.width,O=b.height,T=Math.max(p,c,x),S=o==="horizontal"?{offset:[[0,0],[p/2+l,0],[p+c+l*2,0]],textAlign:"start"}:{offset:[[T/2,-m-l],[T/2,0],[T/2,O+l]],textAlign:"center"},k=(0,Y.CR)(S.offset,3),C=(0,Y.CR)(k[0],2),W=C[0],U=C[1],J=(0,Y.CR)(k[1],2),te=J[0],ie=J[1],ae=(0,Y.CR)(k[2],2),ve=ae[0],Z=ae[1],H=S.textAlign,X=a.querySelector("text");X&&(X.style.textAlign=H),n.setLocalPosition(W,U),a.setLocalPosition(te,ie),i.setLocalPosition(ve,Z)},e.prototype.updatePageInfo=function(){var t,n=this,i=n.currPage,a=n.pageViews,s=n.attributes.formatter;a.length<2||((t=this.pageInfoGroup.querySelector(ha.pageInfo.class))===null||t===void 0||t.attr("text",s(i+1,a.length)),this.adjustControllerLayout())},e.prototype.getFollowingPageDiff=function(t){var n=this.currPage;if(n===t)return[0,0];var i=this.attributes.orientation,a=this.pageShape,s=a.pageWidth,o=a.pageHeight,l=t<n?-1:1;return i==="horizontal"?[l*s,0]:[0,l*o]},e.prototype.prepareFollowingPage=function(t){var n=this,i=n.currPage,a=n.pageViews;if(this.setVisiblePages([t,i]),t!==i){var s=(0,Y.CR)(this.getFollowingPageDiff(t),2),o=s[0],l=s[1];a[t].setLocalPosition(o,l)}},e.prototype.renderController=function(t){var n=this,i=this.attributes.controllerSpacing,a=this.pageShape,s=a.pageWidth,o=a.pageHeight,l=this.pageViews.length>=2,u=t.maybeAppendByClassName(ha.controller,"g");if(Sv(u.node(),l),!!l){var c=zt(this.attributes,"button"),h=zt(this.attributes,"pageNum"),f=(0,Y.CR)(Os(c),2),d=f[0],v=f[1],g=d.size,p=(0,Y._T)(d,["size"]),m=!u.select(ha.prevBtnGroup.class).node(),b=u.maybeAppendByClassName(ha.prevBtnGroup,"g").styles(v);this.prevBtnGroup=b.node();var x=b.maybeAppendByClassName(ha.prevBtn,"path"),O=u.maybeAppendByClassName(ha.nextBtnGroup,"g").styles(v);this.nextBtnGroup=O.node();var T=O.maybeAppendByClassName(ha.nextBtn,"path");[x,T].forEach(function(k){k.styles((0,Y.pi)((0,Y.pi)({},p),{transformOrigin:"center"})),Qm(k.node(),g,!0)});var S=u.maybeAppendByClassName(ha.pageInfoGroup,"g");this.pageInfoGroup=S.node(),S.maybeAppendByClassName(ha.pageInfo,"text").styles(h),this.updatePageInfo(),u.node().setLocalPosition(s+i,o/2),m&&(this.prevBtnGroup.addEventListener("click",function(){n.prev()}),this.nextBtnGroup.addEventListener("click",function(){n.next()}))}},e.prototype.render=function(t,n){var i=t.x,a=i===void 0?0:i,s=t.y,o=s===void 0?0:s;this.attr("transform","translate(".concat(a,", ").concat(o,")"));var l=Mt(n);this.renderClipPath(l),this.renderController(l),this.setVisiblePages([this.defaultPage]),this.goTo(this.defaultPage)},e.prototype.bindEvents=function(){var t=this,n=mc(function(){return t.render(t.attributes,t)},50);this.playWindow.addEventListener(sr.INSERTED,n),this.playWindow.addEventListener(sr.REMOVED,n)},e}(or);function hG(r){var e="default";if(nr(r)&&r instanceof Image)e="image";else if(pt(r))e="symbol";else if(Xt(r)){var t=new RegExp("data:(image|text)");r.match(t)?e="base64":/^(https?:\/\/(([a-zA-Z0-9]+-?)+[a-zA-Z0-9]+\.)+[a-zA-Z]+)(:\d+)?(\/.*)?(\?.*)?(#.*)?$/.test(r)?e="url":e="symbol"}return e}function fG(r){var e=hG(r);return["base64","url","image"].includes(e)?"image":r&&e==="symbol"?"path":null}var Nn=function(r){(0,Y.ZT)(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.render=function(t,n){var i=t.x,a=i===void 0?0:i,s=t.y,o=s===void 0?0:s,l=this.getSubShapeStyle(t),u=l.symbol,c=l.size,h=c===void 0?16:c,f=(0,Y._T)(l,["symbol","size"]),d=fG(u);Gi(!!d,Mt(n),function(v){v.maybeAppendByClassName("marker",d).attr("className","marker ".concat(d,"-marker")).call(function(g){if(d==="image"){var p=h*2;g.styles({img:u,width:p,height:p,x:a-h,y:o-h})}else{var p=h/2,m=pt(u)?u:e.getSymbol(u);g.styles((0,Y.pi)({d:m==null?void 0:m(a,o,p)},f))}})})},e.MARKER_SYMBOL_MAP=new Map,e.registerSymbol=function(t,n){e.MARKER_SYMBOL_MAP.set(t,n)},e.getSymbol=function(t){return e.MARKER_SYMBOL_MAP.get(t)},e.getSymbols=function(){return Array.from(e.MARKER_SYMBOL_MAP.keys())},e}(or);Nn.registerSymbol("cross",$j),Nn.registerSymbol("hyphen",nG),Nn.registerSymbol("line",pS),Nn.registerSymbol("plus",tG),Nn.registerSymbol("tick",eG),Nn.registerSymbol("circle",gS),Nn.registerSymbol("point",Yj),Nn.registerSymbol("bowtie",qj),Nn.registerSymbol("hexagon",Jj),Nn.registerSymbol("square",Uj),Nn.registerSymbol("diamond",Zj),Nn.registerSymbol("triangle",Kj),Nn.registerSymbol("triangle-down",Qj),Nn.registerSymbol("line",pS),Nn.registerSymbol("dot",mS),Nn.registerSymbol("dash",rG),Nn.registerSymbol("smooth",iG),Nn.registerSymbol("hv",aG),Nn.registerSymbol("vh",sG),Nn.registerSymbol("hvh",oG),Nn.registerSymbol("vhv",lG);function mq(r,e,t){var n=Math.round((r-t)/e);return t+n*e}function dG(r,e,t){var n=1.4,i=n*t;return[["M",r-t,e-i],["L",r+t,e-i],["L",r+t,e+i],["L",r-t,e+i],["Z"]]}var yS=1.4,bS=.4;function vG(r,e,t){var n=t,i=n*yS,a=n/2,s=n/6,o=r+i*bS;return[["M",r,e],["L",o,e+a],["L",r+i,e+a],["L",r+i,e-a],["L",o,e-a],["Z"],["M",o,e+s],["L",r+i-2,e+s],["M",o,e-s],["L",r+i-2,e-s]]}function gG(r,e,t){var n=t,i=n*yS,a=n/2,s=n/6,o=e+i*bS;return[["M",r,e],["L",r-a,o],["L",r-a,e+i],["L",r+a,e+i],["L",r+a,o],["Z"],["M",r-s,o],["L",r-s,e+i-2],["M",r+s,o],["L",r+s,e+i-2]]}Nn.registerSymbol("hiddenHandle",dG),Nn.registerSymbol("verticalHandle",vG),Nn.registerSymbol("horizontalHandle",gG);var yq=function(r,e,t){return r===void 0&&(r="horizontal"),r==="horizontal"?e:t};function bq(r,e,t,n){var i;n===void 0&&(n=4);var a=__read(r,2),s=a[0],o=a[1],l=__read(e,2),u=l[0],c=l[1],h=__read(t,2),f=h[0],d=h[1],v=__read([u,c],2),g=v[0],p=v[1],m=p-g;return g>p&&(i=__read([p,g],2),g=i[0],p=i[1]),m>o-s?[s,o]:g<s?f===s&&d===p?[s,p]:[s,m+s]:p>o?d===o&&f===g?[g,o]:[o-m,o]:[g,p]}function Jm(r,e,t){return r===void 0&&(r="horizontal"),r==="horizontal"?e:t}function xq(r){var e=r&&r.getRenderBounds();if(!e)return{width:0,height:0};var t=e.getMax(),n=e.getMin();return{width:t[0]-n[0],height:t[1]-n[1]}}function xS(r){var e=r.getLocalBounds(),t=e.min,n=e.max,i=(0,Y.CR)([t,n],2),a=(0,Y.CR)(i[0],2),s=a[0],o=a[1],l=(0,Y.CR)(i[1],2),u=l[0],c=l[1];return{x:s,y:o,width:u-s,height:c-o,left:s,bottom:c,top:o,right:u}}function Eq(r,e){var t=select(r).append("text").node();return t.attr(__assign(__assign({},e),{visibility:"hidden"})),t}function pG(r,e){var t=(0,Y.CR)(r,2),n=t[0],i=t[1],a=(0,Y.CR)(e,2),s=a[0],o=a[1];return n!==s&&i===o}function wq(r,e){var t=__read(r,2),n=t[0],i=t[1],a=__read(e,2),s=a[0],o=a[1];return n===s&&i!==o}function mG(r,e){var t,n,i=e.attributes;try{for(var a=(0,Y.XA)(Object.entries(i)),s=a.next();!s.done;s=a.next()){var o=(0,Y.CR)(s.value,2),l=o[0],u=o[1];l!=="id"&&l!=="className"&&r.attr(l,u)}}catch(c){t={error:c}}finally{try{s&&!s.done&&(n=a.return)&&n.call(a)}finally{if(t)throw t.error}}}function ks(r){return typeof r=="function"?r():Xt(r)||ht(r)?new Zm({style:{text:String(r)}}):r}var Ov,qm;function Pq(r){qm=r}var yG=tm(function(r,e){var t=e.fontSize,n=e.fontFamily,i=e.fontWeight,a=e.fontStyle,s=e.fontVariant;return qm?qm(r,t):(Ov||(Ov=it.offscreenCanvasCreator.getOrCreateContext(void 0)),Ov.font=[a,s,i,"".concat(t,"px"),n].join(" "),Ov.measureText(r).width)},function(r,e){return[r,Object.values(e||ES(r)).join()].join("")},4096),ES=function(r){var e=r.style.fontFamily||"sans-serif",t=r.style.fontWeight||"normal",n=r.style.fontStyle||"normal",i=r.style.fontVariant,a=r.style.fontSize;return a=typeof a=="object"?a.value:a,{fontSize:a,fontFamily:e,fontWeight:t,fontStyle:n,fontVariant:i}};function wS(r){return r.nodeName==="text"?r:r.nodeName==="g"&&r.children.length===1&&r.children[0].nodeName==="text"?r.children[0]:null}function PS(r,e){var t=wS(r);t&&t.attr(e)}function $m(r,e,t){t===void 0&&(t="..."),PS(r,{wordWrap:!0,wordWrapWidth:e,maxLines:1,textOverflow:t})}var Hi=Ia({layout:"flex",markerGroup:"marker-group",marker:"marker",labelGroup:"label-group",label:"label",valueGroup:"value-group",value:"value",backgroundGroup:"background-group",background:"background"},"legend-category-item");function bG(r){var e=r.querySelector(Hi.marker.class);return e?e.style:{}}var xG=function(r){(0,Y.ZT)(e,r);function e(t){return r.call(this,t,{span:[1,1],marker:function(){return new Im({style:{r:6}})},markerSize:10,labelFill:"#646464",valueFill:"#646464",labelFontSize:12,valueFontSize:12,labelTextBaseline:"middle",valueTextBaseline:"middle"})||this}return Object.defineProperty(e.prototype,"showValue",{get:function(){var t=this.attributes.valueText;return t?typeof t=="string"||typeof t=="number"?t!=="":typeof t=="function"?!0:t.attr("text")!=="":!1},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"actualSpace",{get:function(){var t=this.labelGroup,n=this.valueGroup,i=this.attributes.markerSize,a=t.node().getBBox(),s=a.width,o=a.height,l=n.node().getBBox(),u=l.width,c=l.height;return{markerWidth:i,labelWidth:s,valueWidth:u,height:Math.max(i,o,c)}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"span",{get:function(){var t=this.attributes.span;if(!t)return[1,1];var n=(0,Y.CR)(jr(t),2),i=n[0],a=n[1],s=this.showValue?a:0,o=i+s;return[i/o,s/o]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"shape",{get:function(){var t,n=this.attributes,i=n.markerSize,a=n.width,s=this.actualSpace,o=s.markerWidth,l=s.height,u=this.actualSpace,c=u.labelWidth,h=u.valueWidth,f=(0,Y.CR)(this.spacing,2),d=f[0],v=f[1];if(a){var g=a-i-d-v,p=(0,Y.CR)(this.span,2),m=p[0],b=p[1];t=(0,Y.CR)([m*g,b*g],2),c=t[0],h=t[1]}var x=o+c+h+d+v;return{width:x,height:l,markerWidth:o,labelWidth:c,valueWidth:h}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"spacing",{get:function(){var t=this.attributes.spacing;if(!t)return[0,0];var n=(0,Y.CR)(jr(t),2),i=n[0],a=n[1];return this.showValue?[i,a]:[i,0]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"layout",{get:function(){var t=this.shape,n=t.markerWidth,i=t.labelWidth,a=t.valueWidth,s=t.width,o=t.height,l=(0,Y.CR)(this.spacing,2),u=l[0],c=l[1];return{height:o,width:s,markerWidth:n,labelWidth:i,valueWidth:a,position:[n/2,n+u,n+i+u+c]}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"scaleSize",{get:function(){var t=bG(this.markerGroup.node()),n=this.attributes,i=n.markerSize,a=n.markerStrokeWidth,s=a===void 0?t.strokeWidth:a,o=n.markerLineWidth,l=o===void 0?t.lineWidth:o,u=n.markerStroke,c=u===void 0?t.stroke:u,h=+(s||l||(c?1:0))*Math.sqrt(2),f=this.markerGroup.node().getBBox(),d=f.width,v=f.height;return(1-h/Math.max(d,v))*i},enumerable:!1,configurable:!0}),e.prototype.renderMarker=function(t){var n=this,i=this.attributes.marker,a=zt(this.attributes,"marker");this.markerGroup=t.maybeAppendByClassName(Hi.markerGroup,"g").style("zIndex",0),Gi(!!i,this.markerGroup,function(){var s,o=n.markerGroup.node(),l=(s=o.childNodes)===null||s===void 0?void 0:s[0],u=typeof i=="string"?new Nn({style:{symbol:i},className:Hi.marker.name}):i();l?u.nodeName===l.nodeName?l instanceof Nn?l.update((0,Y.pi)((0,Y.pi)({},a),{symbol:i})):(mG(l,u),Mt(l).styles(a)):(l.remove(),Mt(u).attr("className",Hi.marker.name).styles(a),o.appendChild(u)):(u instanceof Nn||Mt(u).attr("className",Hi.marker.name).styles(a),o.appendChild(u)),n.markerGroup.node().scale(1/n.markerGroup.node().getScale()[0]);var c=Qm(n.markerGroup.node(),n.scaleSize,!0);n.markerGroup.node().style._transform="scale(".concat(c,")")})},e.prototype.renderLabel=function(t){var n=zt(this.attributes,"label"),i=n.text,a=(0,Y._T)(n,["text"]);this.labelGroup=t.maybeAppendByClassName(Hi.labelGroup,"g").style("zIndex",0),this.labelGroup.maybeAppendByClassName(Hi.label,function(){return ks(i)}).styles(a)},e.prototype.renderValue=function(t){var n=this,i=zt(this.attributes,"value"),a=i.text,s=(0,Y._T)(i,["text"]);this.valueGroup=t.maybeAppendByClassName(Hi.valueGroup,"g").style("zIndex",0),Gi(this.showValue,this.valueGroup,function(){n.valueGroup.maybeAppendByClassName(Hi.value,function(){return ks(a)}).styles(s)})},e.prototype.renderBackground=function(t){var n=this.shape,i=n.width,a=n.height,s=zt(this.attributes,"background");this.background=t.maybeAppendByClassName(Hi.backgroundGroup,"g").style("zIndex",-1),this.background.maybeAppendByClassName(Hi.background,"rect").styles((0,Y.pi)({width:i,height:a},s))},e.prototype.adjustLayout=function(){var t=this.layout,n=t.labelWidth,i=t.valueWidth,a=t.height,s=(0,Y.CR)(t.position,3),o=s[0],l=s[1],u=s[2],c=a/2;this.markerGroup.styles({transform:"translate(".concat(o,", ").concat(c,")").concat(this.markerGroup.node().style._transform)}),this.labelGroup.styles({transform:"translate(".concat(l,", ").concat(c,")")}),$m(this.labelGroup.select(Hi.label.class).node(),Math.ceil(n)),this.showValue&&(this.valueGroup.styles({transform:"translate(".concat(u,", ").concat(c,")")}),$m(this.valueGroup.select(Hi.value.class).node(),Math.ceil(i)))},e.prototype.render=function(t,n){var i=Mt(n),a=t.x,s=a===void 0?0:a,o=t.y,l=o===void 0?0:o;i.styles({transform:"translate(".concat(s,", ").concat(l,")")}),this.renderMarker(i),this.renderLabel(i),this.renderValue(i),this.renderBackground(i),this.adjustLayout()},e}(or),nl=Ia({page:"item-page",navigator:"navigator",item:"item"},"items"),MS=function(r,e,t){return t===void 0&&(t=!0),r?e(r):t},EG=function(r){(0,Y.ZT)(e,r);function e(t){var n=r.call(this,t,{data:[],gridRow:1/0,gridCol:void 0,padding:0,width:1e3,height:100,rowPadding:0,colPadding:0,layout:"flex",orientation:"horizontal",click:Km,mouseenter:Km,mouseleave:Km})||this;return n.navigatorShape=[0,0],n}return Object.defineProperty(e.prototype,"pageViews",{get:function(){return this.navigator.getContainer()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"grid",{get:function(){var t=this.attributes,n=t.gridRow,i=t.gridCol,a=t.data;if(!n&&!i)throw new Error("gridRow and gridCol can not be set null at the same time");return n&&i?[n,i]:n?[n,a.length]:[a.length,i]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"renderData",{get:function(){var t=this.attributes,n=t.data,i=t.layout,a=zt(this.attributes,"item"),s=n.map(function(o,l){var u=o.id,c=u===void 0?l:u,h=o.label,f=o.value;return{id:"".concat(c),index:l,style:(0,Y.pi)({layout:i,labelText:h,valueText:f},Object.fromEntries(Object.entries(a).map(function(d){var v=(0,Y.CR)(d,2),g=v[0],p=v[1];return[g,ca(p,[o,l,n])]})))}});return s},enumerable:!1,configurable:!0}),e.prototype.getGridLayout=function(){var t=this,n=this.attributes,i=n.orientation,a=n.width,s=n.rowPadding,o=n.colPadding,l=(0,Y.CR)(this.navigatorShape,1),u=l[0],c=(0,Y.CR)(this.grid,2),h=c[0],f=c[1],d=f*h,v=0;return this.pageViews.children.map(function(g,p){var m,b,x=Math.floor(p/d),O=p%d,T=t.ifHorizontal(f,h),S=[Math.floor(O/T),O%T];i==="vertical"&&S.reverse();var k=(0,Y.CR)(S,2),C=k[0],W=k[1],U=(a-u-(f-1)*o)/f,J=g.getBBox().height,te=(0,Y.CR)([0,0],2),ie=te[0],ae=te[1];return i==="horizontal"?(m=(0,Y.CR)([v,C*(J+s)],2),ie=m[0],ae=m[1],v=W===f-1?0:v+U+o):(b=(0,Y.CR)([W*(U+o),v],2),ie=b[0],ae=b[1],v=C===h-1?0:v+J+s),{page:x,index:p,row:C,col:W,pageIndex:O,width:U,height:J,x:ie,y:ae}})},e.prototype.getFlexLayout=function(){var t=this.attributes,n=t.width,i=t.height,a=t.rowPadding,s=t.colPadding,o=(0,Y.CR)(this.navigatorShape,1),l=o[0],u=(0,Y.CR)(this.grid,2),c=u[0],h=u[1],f=(0,Y.CR)([n-l,i],2),d=f[0],v=f[1],g=(0,Y.CR)([0,0,0,0,0,0,0,0],8),p=g[0],m=g[1],b=g[2],x=g[3],O=g[4],T=g[5],S=g[6],k=g[7];return this.pageViews.children.map(function(C,W){var U,J,te,ie,ae=C.getBBox(),ve=ae.width,Z=ae.height,H=S===0?0:s,X=S+H+ve;if(X<=d&&MS(O,function(oe){return oe<h}))return U=(0,Y.CR)([S+H,k,X],3),p=U[0],m=U[1],S=U[2],{width:ve,height:Z,x:p,y:m,page:b,index:W,pageIndex:x++,row:T,col:O++};J=(0,Y.CR)([T+1,0,0,k+Z+a],4),T=J[0],O=J[1],S=J[2],k=J[3];var q=k+Z;return q<=v&&MS(T,function(oe){return oe<c})?(te=(0,Y.CR)([S,k,ve],3),p=te[0],m=te[1],S=te[2],{width:ve,height:Z,x:p,y:m,page:b,index:W,pageIndex:x++,row:T,col:O++}):(ie=(0,Y.CR)([0,0,ve,0,b+1,0,0,0],8),p=ie[0],m=ie[1],S=ie[2],k=ie[3],b=ie[4],x=ie[5],T=ie[6],O=ie[7],{width:ve,height:Z,x:p,y:m,page:b,index:W,pageIndex:x++,row:T,col:O++})})},Object.defineProperty(e.prototype,"itemsLayout",{get:function(){this.navigatorShape=[0,0];var t=this.attributes.layout==="grid"?this.getGridLayout:this.getFlexLayout,n=t.call(this);return n.slice(-1)[0].page>0?(this.navigatorShape=[55,0],t.call(this)):n},enumerable:!1,configurable:!0}),e.prototype.ifHorizontal=function(t,n){var i=this.attributes.orientation;return Jm(i,t,n)},e.prototype.flattenPage=function(t){t.querySelectorAll(nl.item.class).forEach(function(n){t.appendChild(n)}),t.querySelectorAll(nl.page.class).forEach(function(n){var i=t.removeChild(n);i.destroy()})},e.prototype.renderItems=function(t){var n=this.attributes,i=n.click,a=n.mouseenter,s=n.mouseleave;this.flattenPage(t);var o=this.dispatchCustomEvent.bind(this);Mt(t).selectAll(nl.item.class).data(this.renderData,function(l){return l.id}).join(function(l){return l.append(function(u){var c=u.style;return new xG({style:c})}).attr("className",nl.item.name).on("click",function(){i==null||i(this),o("itemClick",{item:this})}).on("pointerenter",function(){a==null||a(this),o("itemMouseenter",{item:this})}).on("pointerleave",function(){s==null||s(this),o("itemMouseleave",{item:this})})},function(l){return l.each(function(u){var c=u.style;this.update(c)})},function(l){return l.remove()})},e.prototype.relayoutNavigator=function(){var t,n=this.attributes,i=n.layout,a=n.width,s=((t=this.pageViews.children[0])===null||t===void 0?void 0:t.getBBox().height)||0,o=(0,Y.CR)(this.navigatorShape,2),l=o[0],u=o[1];this.navigator.update(i==="grid"?{pageWidth:a-l,pageHeight:s-u}:{})},e.prototype.adjustLayout=function(){var t=this,n=Object.entries(jj(this.itemsLayout,"page")).map(function(a){var s=(0,Y.CR)(a,2),o=s[0],l=s[1];return{page:o,layouts:l}}),i=(0,Y.ev)([],(0,Y.CR)(this.navigator.getContainer().children),!1);n.forEach(function(a){var s=a.layouts,o=t.pageViews.appendChild(new ji({className:nl.page.name}));s.forEach(function(l){var u=l.x,c=l.y,h=l.index,f=l.width,d=l.height,v=i[h];o.appendChild(v),ac(v,"__layout__",l),v.update({x:u,y:c,width:f,height:d})})}),this.relayoutNavigator()},e.prototype.renderNavigator=function(t){var n=this.attributes.orientation,i=zt(this.attributes,"nav"),a=Or({orientation:n},i),s=this;return t.selectAll(nl.navigator.class).data(["nav"]).join(function(o){return o.append(function(){return new cG({style:a})}).attr("className",nl.navigator.name).each(function(){s.navigator=this})},function(o){return o.each(function(){this.update(a)})},function(o){return o.remove()}),this.navigator},e.prototype.getBBox=function(){return this.navigator.getBBox()},e.prototype.render=function(t,n){var i=this.attributes.data;if(!(!i||i.length===0)){var a=this.renderNavigator(Mt(n));this.renderItems(a.getContainer()),this.adjustLayout()}},e.prototype.dispatchCustomEvent=function(t,n){var i=new zi(t,{detail:n});this.dispatchEvent(i)},e}(or),jc=Ia({markerGroup:"marker-group",marker:"marker",labelGroup:"label-group",label:"label"},"handle"),SS={showLabel:!0,formatter:function(r){return r.toString()},markerSize:25,markerStroke:"#c5c5c5",markerFill:"#fff",markerLineWidth:1,labelFontSize:12,labelFill:"#c5c5c5",labelText:"",orientation:"vertical",spacing:0},Mq=function(r){(0,Y.ZT)(e,r);function e(t){return r.call(this,t,SS)||this}return e.prototype.render=function(t,n){var i=Mt(n).maybeAppendByClassName(jc.markerGroup,"g");this.renderMarker(i);var a=Mt(n).maybeAppendByClassName(jc.labelGroup,"g");this.renderLabel(a)},e.prototype.renderMarker=function(t){var n=this,i=this.attributes,a=i.orientation,s=i.markerSymbol,o=s===void 0?Jm(a,"horizontalHandle","verticalHandle"):s;Gi(!!o,t,function(l){var u=zt(n.attributes,"marker"),c=(0,Y.pi)({symbol:o},u);n.marker=l.maybeAppendByClassName(jc.marker,function(){return new Nn({style:c})}).update(c)})},e.prototype.renderLabel=function(t){var n=this,i=this.attributes,a=i.showLabel,s=i.orientation,o=i.spacing,l=o===void 0?0:o,u=i.formatter;Gi(a,t,function(c){var h,f=zt(n.attributes,"label"),d=f.text,v=(0,Y._T)(f,["text"]),g=((h=c.select(jc.marker.class))===null||h===void 0?void 0:h.node().getBBox())||{},p=g.width,m=p===void 0?0:p,b=g.height,x=b===void 0?0:b,O=(0,Y.CR)(Jm(s,[0,x+l,"center","top"],[m+l,0,"start","middle"]),4),T=O[0],S=O[1],k=O[2],C=O[3];c.maybeAppendByClassName(jc.label,"text").styles((0,Y.pi)((0,Y.pi)({},v),{x:T,y:S,text:u(d).toString(),textAlign:k,textBaseline:C}))})},e}(or),TS={showTitle:!0,padding:0,orientation:"horizontal",backgroundFill:"transparent",titleText:"",titleSpacing:4,titlePosition:"top-left",titleFill:"#2C3542",titleFontWeight:"bold",titleFontFamily:"sans-serif",titleFontSize:12},wG=Or({},TS,{}),Sq=Or({},TS,au(SS,"handle"),{color:["#d0e3fa","#acc7f6","#8daaf2","#6d8eea","#4d73cd","#325bb1","#5a3e75","#8c3c79","#e23455","#e7655b"],indicatorBackgroundFill:"#262626",indicatorLabelFill:"white",indicatorLabelFontSize:12,indicatorVisibility:"hidden",labelAlign:"value",labelDirection:"positive",labelSpacing:5,showHandle:!0,showIndicator:!0,showLabel:!0,slidable:!0,titleText:"",type:"continuous"}),Tq=.01,Aq=.5,Gc=Ia({title:"title",titleGroup:"title-group",items:"items",itemsGroup:"items-group",contentGroup:"content-group",ribbonGroup:"ribbon-group",ribbon:"ribbon",handlesGroup:"handles-group",handle:"handle",startHandle:"start-handle",endHandle:"end-handle",labelGroup:"label-group",label:"label",indicator:"indicator"},"legend"),PG=function(r){(0,Y.ZT)(e,r);function e(t){return r.call(this,t,wG)||this}return e.prototype.renderTitle=function(t,n,i){var a=this.attributes,s=a.showTitle,o=a.titleText,l=zt(this.attributes,"title"),u=(0,Y.CR)(Os(l),2),c=u[0],h=u[1];this.titleGroup=t.maybeAppendByClassName(Gc.titleGroup,"g").styles(h);var f=(0,Y.pi)((0,Y.pi)({width:n,height:i},c),{text:s?o:""});this.title=this.titleGroup.maybeAppendByClassName(Gc.title,function(){return new Fj({style:f})}).update(f)},e.prototype.renderItems=function(t,n){var i=n.x,a=n.y,s=n.width,o=n.height,l=zt(this.attributes,"title",!0),u=(0,Y.CR)(Os(l),2),c=u[0],h=u[1],f=(0,Y.pi)((0,Y.pi)({},c),{width:s,height:o,x:0,y:0});this.itemsGroup=t.maybeAppendByClassName(Gc.itemsGroup,"g").styles((0,Y.pi)((0,Y.pi)({},h),{transform:"translate(".concat(i,", ").concat(a,")")}));var d=this;this.itemsGroup.selectAll(Gc.items.class).data(["items"]).join(function(v){return v.append(function(){return new EG({style:f})}).attr("className",Gc.items.name).each(function(){d.items=Mt(this)})},function(v){return v.update(f)},function(v){return v.remove()})},e.prototype.adjustLayout=function(){var t=this.attributes.showTitle;if(t){var n=this.title.node().getAvailableSpace(),i=n.x,a=n.y;this.itemsGroup.node().style.transform="translate(".concat(i,", ").concat(a,")")}},Object.defineProperty(e.prototype,"availableSpace",{get:function(){var t=this.attributes,n=t.showTitle,i=t.width,a=t.height;return n?this.title.node().getAvailableSpace():new Zr(0,0,i,a)},enumerable:!1,configurable:!0}),e.prototype.getBBox=function(){var t,n,i=(t=this.title)===null||t===void 0?void 0:t.node(),a=(n=this.items)===null||n===void 0?void 0:n.node();return!i||!a?r.prototype.getBBox.call(this):Ij(i,a)},e.prototype.render=function(t,n){var i=this.attributes,a=i.width,s=i.height,o=i.x,l=o===void 0?0:o,u=i.y,c=u===void 0?0:u,h=Mt(n);n.style.transform="translate(".concat(l,", ").concat(c,")"),this.renderTitle(h,a,s),this.renderItems(h,this.availableSpace),this.adjustLayout()},e}(or);function ey(r){const{width:e,height:t,renderer:n,containerStyle:i}=r,a=MG(r),[s,o]=SG(r);Object.assign(a.style,Object.assign({position:"absolute",left:s+"px",top:o+"px",width:e+"px",height:t+"px"},i));const l=new gp({width:e,height:t,container:a,renderer:n||new Yf});return[a,l]}function MG(r){var e;const{container:t,className:n,graphCanvas:i}=r;if(t)return typeof t=="string"?document.getElementById(t):t;const a=Kl(n,!1);return(e=i.getContainer())===null||e===void 0||e.appendChild(a),a}function SG(r){const{width:e,height:t,placement:n,graphCanvas:i}=r,[a,s]=i.getSize(),[o,l]=wE(n);return[o*(a-e),l*(s-t)]}var TG=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class kv extends Fr{constructor(e,t){super(e,Object.assign({},kv.defaultOptions,t)),this.typePrefix="__data__",this.draw=!1,this.fieldMap={node:new Map,edge:new Map,combo:new Map},this.selectedItems=[],this.bindEvents=()=>{const{graph:n}=this.context;n.on(rt.AFTER_DRAW,this.createElement)},this.changeState=(n,i)=>{const{graph:a}=this.context,{typePrefix:s}=this,o=ii(n,[s,"id"]),l=ii(n,[s,"style","labelText"]),[u]=o.split("__"),c=this.fieldMap[u].get(l)||[];a.setElementState(Object.fromEntries(c==null?void 0:c.map(h=>[h,i])))},this.click=n=>{if(this.options.trigger==="hover")return;const i=ii(n,[this.typePrefix,"id"]);this.selectedItems.includes(i)?(this.selectedItems=this.selectedItems.filter(a=>a!==i),this.changeState(n,[])):(this.selectedItems.push(i),this.changeState(n,"selected"))},this.mouseleave=n=>{this.options.trigger!=="click"&&(this.selectedItems=[],this.changeState(n,[]))},this.mouseenter=n=>{if(this.options.trigger==="click")return;const i=ii(n,[this.typePrefix,"id"]);this.selectedItems.includes(i)?this.selectedItems=this.selectedItems.filter(a=>a!==i):(this.selectedItems.push(i),this.changeState(n,"active"))},this.setFieldMap=(n,i,a)=>{if(!n)return;const s=this.fieldMap[a];if(s)if(!s.has(n))s.set(n,[i]);else{const o=s.get(n);o&&(o.push(i),s.set(n,o))}},this.getEvents=()=>({mouseenter:this.mouseenter,mouseleave:this.mouseleave,click:this.click}),this.getMarkerData=(n,i)=>{if(!n)return[];const{model:a,element:s}=this.context,{nodes:o,edges:l,combos:u}=a.getData(),c={},h=p=>pt(n)?n(p):n,f={node:"circle",edge:"line",combo:"rect"},d={circle:"circle",ellipse:"circle",image:"bowtie",rect:"square",star:"cross",triangle:"triangle",diamond:"diamond",cubic:"dot",line:"hyphen",polyline:"hyphen",quadratic:"hv","cubic-horizontal":"hyphen","cubic-vertical":"line"},v=(p,m)=>s==null?void 0:s.getElementComputedStyle(p,m),g=(p,m)=>{p.forEach(b=>{const{id:x}=b,O=ii(b,["data",h(b)]),T=(s==null?void 0:s.getElementType(m,b))||"circle",S=v(m,b),k=(m==="edge"?S==null?void 0:S.stroke:S==null?void 0:S.fill)||"#1783ff";x&&O&&O.replace(/\s+/g,"")&&(this.setFieldMap(O,x,m),c[O]||(c[O]={id:`${m}__${x}`,label:O,marker:d[T]||f[m],elementType:m,lineWidth:1,stroke:k,fill:k}))})};switch(i){case"node":g(o,"node");break;case"edge":g(l,"edge");break;case"combo":g(u,"combo");break;default:return[]}return Object.values(c)},this.createElement=()=>{if(this.draw){this.updateElement();return}const n=this.options,{width:i,height:a,nodeField:s,edgeField:o,comboField:l,trigger:u,position:c,container:h,containerStyle:f,className:d}=n,v=TG(n,["width","height","nodeField","edgeField","comboField","trigger","position","container","containerStyle","className"]),g=this.getMarkerData(s,"node"),p=this.getMarkerData(o,"edge"),m=this.getMarkerData(l,"combo"),b=[...g,...m,...p],x=Object.assign({width:i,height:a,data:b,itemMarkerLineWidth:({lineWidth:S})=>S,itemMarker:({marker:S})=>S,itemMarkerStroke:({stroke:S})=>S,itemMarkerFill:({fill:S})=>S,gridCol:g.length},v,this.getEvents()),O=new PG({className:"legend",style:x});this.category=O,this.upsertCanvas().appendChild(O),this.draw=!0},this.bindEvents()}update(e){super.update(e),this.clear(),this.createElement()}clear(){var e,t;(e=this.canvas)===null||e===void 0||e.destroy(),(t=this.container)===null||t===void 0||t.remove(),this.canvas=void 0,this.container=void 0,this.draw=!1}updateElement(){this.category&&this.category.update({itemMarkerOpacity:({id:e})=>!this.selectedItems.length||this.selectedItems.includes(e)?1:.5,itemLabelOpacity:({id:e})=>!this.selectedItems.length||this.selectedItems.includes(e)?1:.5})}upsertCanvas(){if(this.canvas)return this.canvas;const e=this.context.canvas,[t,n]=e.getSize(),{width:i=t,height:a=n,position:s,container:o,containerStyle:l,className:u}=this.options,[c,h]=ey({width:i,height:a,graphCanvas:e,container:o,containerStyle:l,placement:s,className:"legend"});return this.container=c,u&&c.classList.add(u),this.canvas=h,this.canvas}destroy(){this.clear(),this.context.graph.off(rt.AFTER_DRAW,this.createElement),super.destroy()}}kv.defaultOptions={position:"bottom",trigger:"hover",orientation:"horizontal",layout:"flex",itemSpacing:4,rowPadding:10,colPadding:10,itemMarkerSize:16,itemLabelFontSize:16,width:240,height:160};class Cv extends Fr{constructor(e,t){super(e,Object.assign({},Cv.defaultOptions,t)),this.onDraw=n=>{var i;!((i=n==null?void 0:n.data)===null||i===void 0)&&i.render||this.onRender()},this.shapes=new Map,this.landmarkMap=new Map,this.mask=null,this.isMaskDragging=!1,this.onMaskDragStart=n=>{this.mask&&(this.isMaskDragging=!0,this.mask.setPointerCapture(n.pointerId),this.mask.addEventListener("pointermove",this.onMaskDrag),this.mask.addEventListener("pointerup",this.onMaskDragEnd),this.mask.addEventListener("pointercancel",this.onMaskDragEnd))},this.onMaskDrag=n=>{if(!this.mask||!this.isMaskDragging)return;const{size:[i,a]}=this.options,{movementX:s,movementY:o}=n,{left:l,top:u,width:c,height:h}=this.mask.style,[,,f,d]=this.maskBBox;let v=parseInt(l)+s,g=parseInt(u)+o,p=parseInt(c),m=parseInt(h);v<0&&(v=0),g<0&&(g=0),v+p>i&&(v=co(i-p,0)),g+m>a&&(g=co(a-m,0)),p<f&&(s>0?(v=co(v-s,0),p=uo(p+s,i)):s<0&&(p=uo(p-s,i))),m<d&&(o>0?(g=co(g-o,0),m=uo(m+o,a)):o<0&&(m=uo(m-o,a))),Object.assign(this.mask.style,{left:v+"px",top:g+"px",width:p+"px",height:m+"px"});const b=parseInt(l)-v,x=parseInt(u)-g;if(b===0&&x===0)return;const O=this.context.canvas.getCamera().getZoom(),T=this.canvas.getCamera().getZoom(),S=O/T;this.context.graph.translateBy([b*S,x*S],!1)},this.onMaskDragEnd=n=>{this.mask&&(this.isMaskDragging=!1,this.mask.releasePointerCapture(n.pointerId),this.mask.removeEventListener("pointermove",this.onMaskDrag),this.mask.removeEventListener("pointerup",this.onMaskDragEnd),this.mask.removeEventListener("pointercancel",this.onMaskDragEnd))},this.onTransform=Ax(()=>{this.isMaskDragging||(this.updateMask(),this.setCamera())},32,{leading:!0}),this.setOnRender(),this.bindEvents()}update(e){this.unbindEvents(),super.update(e),"delay"in e&&this.setOnRender(),this.bindEvents()}setOnRender(){this.onRender=mc(()=>{this.renderMinimap(),this.renderMask()},this.options.delay,!0)}bindEvents(){const{graph:e}=this.context;e.on(rt.AFTER_DRAW,this.onDraw),e.on(rt.AFTER_RENDER,this.onRender),e.on(rt.AFTER_TRANSFORM,this.onTransform)}unbindEvents(){const{graph:e}=this.context;e.off(rt.AFTER_DRAW,this.onDraw),e.off(rt.AFTER_RENDER,this.onRender),e.off(rt.AFTER_TRANSFORM,this.onTransform)}renderMinimap(){const e=this.getElements(),t=this.initCanvas();this.setShapes(t,e)}getElements(){const{filter:e}=this.options,{model:t}=this.context,n=t.getData();if(!e)return n;const{nodes:i,edges:a,combos:s}=n;return{nodes:i.filter(o=>e(Re(o),"node")),edges:a.filter(o=>e(Re(o),"edge")),combos:s.filter(o=>e(Re(o),"combo"))}}setShapes(e,t){const{nodes:n,edges:i,combos:a}=t,{shape:s}=this.options,{element:o}=this.context;if(s==="key"){const u=new Set,c=h=>{const f=Re(h);u.add(f);const d=o.getElement(f);if(!d)return;const v=d.getShape("key"),g=this.shapes.get(f)||v.cloneNode();g.setPosition(v.getPosition()),d.style.zIndex&&(g.style.zIndex=d.style.zIndex),g.id=d.id,this.shapes.has(f)?Object.entries(v.attributes).forEach(([p,m])=>{g.style[p]!==m&&(g.style[p]=m)}):(e.appendChild(g),this.shapes.set(f,g))};i.forEach(c),a.forEach(c),n.forEach(c),this.shapes.forEach((h,f)=>{u.has(f)||(e.removeChild(h),this.shapes.delete(f))});return}const l=(u,c)=>{const f=o.getElement(u).getPosition();return c.setPosition(f),c};e.removeChildren(),i.forEach(u=>e.appendChild(s(Re(u),"edge"))),a.forEach(u=>{e.appendChild(l(Re(u),s(Re(u),"combo")))}),n.forEach(u=>{e.appendChild(l(Re(u),s(Re(u),"node")))})}initCanvas(){const{renderer:e,size:[t,n]}=this.options;if(this.canvas){const{width:i,height:a}=this.canvas.getConfig();(t!==i||n!==a)&&this.canvas.resize(t,n),e&&this.canvas.setRenderer(e)}else{const{className:i,position:a,container:s,containerStyle:o}=this.options,[l,u]=ey({renderer:e,width:t,height:n,placement:a,className:"minimap",container:s,containerStyle:o,graphCanvas:this.context.canvas});i&&l.classList.add(i),this.container=l,this.canvas=u}return this.setCamera(),this.canvas}createLandmark(e,t,n){const i=`${e.join(",")}-${t.join(",")}-${n}`;if(this.landmarkMap.has(i))return this.landmarkMap.get(i);const s=this.canvas.getCamera().createLandmark(i,{position:e,focalPoint:t,zoom:n});return this.landmarkMap.set(i,s),s}setCamera(){var e;const{canvas:t}=this.context,n=(e=this.canvas)===null||e===void 0?void 0:e.getCamera();if(!n)return;const{size:[i,a],padding:s}=this.options,[o,l,u,c]=Ja(s),{min:h,max:f,center:d}=t.getBounds("elements"),v=f[0]-h[0],g=f[1]-h[1],p=i-c-l,m=a-o-u,b=p/v,x=m/g,O=Math.min(b,x),T=this.createLandmark(d,d,O);n.gotoLandmark(T,0)}get maskBBox(){const{canvas:e}=this.context,t=e.getSize(),n=e.getCanvasByViewport([0,0]),i=e.getCanvasByViewport(t),a=this.canvas.canvas2Viewport(Ta(n)),s=this.canvas.canvas2Viewport(Ta(i)),o=s.x-a.x,l=s.y-a.y;return[a.x,a.y,o,l]}calculateMaskBBox(){const{size:[e,t]}=this.options;let[n,i,a,s]=this.maskBBox;return n<0&&(a=uo(a+n,e),n=0),i<0&&(s=uo(s+i,t),i=0),n+a>e&&(a=co(e-n,0)),i+s>t&&(s=co(t-i,0)),[uo(n,e),uo(i,t),co(a,0),co(s,0)]}renderMask(){const{maskStyle:e}=this.options;this.mask||(this.mask=document.createElement("div"),this.mask.addEventListener("pointerdown",this.onMaskDragStart)),this.container.appendChild(this.mask),Object.assign(this.mask.style,Object.assign(Object.assign({},e),{cursor:"move",position:"absolute",pointerEvents:"auto"})),this.updateMask()}updateMask(){if(!this.mask)return;const[e,t,n,i]=this.calculateMaskBBox();Object.assign(this.mask.style,{top:t+"px",left:e+"px",width:n+"px",height:i+"px"})}destroy(){var e;this.unbindEvents(),this.canvas.destroy(),(e=this.mask)===null||e===void 0||e.remove(),super.destroy()}}Cv.defaultOptions={size:[240,160],shape:"key",padding:10,position:"right-bottom",maskStyle:{border:"1px solid #ddd",background:"rgba(0, 0, 0, 0.1)"},containerStyle:{border:"1px solid #ddd",background:"#fff"},delay:128};const uo=(r,e)=>Math.min(r,e),co=(r,e)=>Math.max(r,e);var ty=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};const ny={x1:0,y1:0,x2:0,y2:0,visibility:"hidden"};class Nv extends Fr{constructor(e,t){super(e,Object.assign({},Nv.defaultOptions,t)),this.initSnapline=()=>{const n=this.context.canvas.getLayer("transient");this.horizontalLine||(this.horizontalLine=n.appendChild(new Vu({style:Object.assign(Object.assign({},ny),this.options.horizontalLineStyle)}))),this.verticalLine||(this.verticalLine=n.appendChild(new Vu({style:Object.assign(Object.assign({},ny),this.options.verticalLineStyle)})))},this.isHorizontalSticking=!1,this.isVerticalSticking=!1,this.enableStick=!0,this.autoSnapToLine=(n,i,a)=>ty(this,void 0,void 0,function*(){const{verticalX:s,horizontalY:o}=a,{tolerance:l}=this.options,{min:[u,c],max:[h,f],center:[d,v]}=i;let g=0,p=0;s!==null&&(Kr(h,s)<l&&(g=s-h),Kr(u,s)<l&&(g=s-u),Kr(d,s)<l&&(g=s-d),g!==0&&(this.isVerticalSticking=!0)),o!==null&&(Kr(f,o)<l&&(p=o-f),Kr(c,o)<l&&(p=o-c),Kr(v,o)<l&&(p=o-v),p!==0&&(this.isHorizontalSticking=!0)),(g!==0||p!==0)&&(yield this.context.graph.translateElementBy({[n]:[g,p]},!1))}),this.enableSnap=n=>{const{target:i}=n,a=.5;if(this.isHorizontalSticking||this.isVerticalSticking){const[s,o]=this.getDelta(n);if(this.isHorizontalSticking&&this.isVerticalSticking&&Math.abs(s)<=a&&Math.abs(o)<=a)return this.context.graph.translateElementBy({[i.id]:[-s,-o]},!1),!1;if(this.isHorizontalSticking&&Math.abs(o)<=a)return this.context.graph.translateElementBy({[i.id]:[0,-o]},!1),!1;if(this.isVerticalSticking&&Math.abs(s)<=a)return this.context.graph.translateElementBy({[i.id]:[-s,0]},!1),!1;this.isHorizontalSticking=!1,this.isVerticalSticking=!1,this.enableStick=!1,setTimeout(()=>{this.enableStick=!0},200)}return this.enableStick},this.calcSnaplineMetadata=(n,i)=>{const{tolerance:a,shape:s}=this.options,{min:[o,l],max:[u,c],center:[h,f]}=i;let d=null,v=null,g=null,p=null,m=null,b=null;return this.getNodes().some(x=>{if(dr(n.id,x.id))return!1;const O=AS(x,s).getRenderBounds(),{min:[T,S],max:[k,C],center:[W,U]}=O;return d===null&&(Kr(W,h)<a?d=W:Kr(T,o)<a||Kr(T,u)<a?d=T:(Kr(k,u)<a||Kr(k,o)<a)&&(d=k),d!==null&&(v=Math.min(S,l),g=Math.max(C,c))),p===null&&(Kr(U,f)<a?p=U:Kr(S,l)<a||Kr(S,c)<a?p=S:(Kr(C,c)<a||Kr(C,l)<a)&&(p=C),p!==null&&(m=Math.min(T,o),b=Math.max(k,u))),d!==null&&p!==null}),{verticalX:d,verticalMinY:v,verticalMaxY:g,horizontalY:p,horizontalMinX:m,horizontalMaxX:b}},this.onDragStart=()=>{this.initSnapline()},this.onDrag=n=>ty(this,void 0,void 0,function*(){const{target:i}=n;if(this.options.autoSnap&&!this.enableSnap(n))return;const a=AS(i,this.options.shape).getRenderBounds(),s=this.calcSnaplineMetadata(i,a);this.hideSnapline(),(s.verticalX!==null||s.horizontalY!==null)&&this.updateSnapline(s),this.options.autoSnap&&(yield this.autoSnapToLine(i.id,a,s))}),this.onDragEnd=()=>{this.hideSnapline()},this.bindEvents()}getNodes(){var e;const{filter:t}=this.options,i=(((e=this.context.element)===null||e===void 0?void 0:e.getNodes())||[]).filter(a=>{var s;return D6(a)&&((s=this.context.viewport)===null||s===void 0?void 0:s.isInViewport(a.getRenderBounds()))});return t?i.filter(a=>t(a)):i}hideSnapline(){this.horizontalLine.style.visibility="hidden",this.verticalLine.style.visibility="hidden"}getLineWidth(e){const{lineWidth:t}=this.options[`${e}LineStyle`];return+(t||ny.lineWidth||1)/this.context.graph.getZoom()}updateSnapline(e){const{verticalX:t,verticalMinY:n,verticalMaxY:i,horizontalY:a,horizontalMinX:s,horizontalMaxX:o}=e,[l,u]=this.context.canvas.getSize(),{offset:c}=this.options;a!==null?Object.assign(this.horizontalLine.style,{x1:c===1/0?0:s-c,y1:a,x2:c===1/0?l:o+c,y2:a,visibility:"visible",lineWidth:this.getLineWidth("horizontal")}):this.horizontalLine.style.visibility="hidden",t!==null?Object.assign(this.verticalLine.style,{x1:t,y1:c===1/0?0:n-c,x2:t,y2:c===1/0?u:i+c,visibility:"visible",lineWidth:this.getLineWidth("vertical")}):this.verticalLine.style.visibility="hidden"}getDelta(e){const t=this.context.graph.getZoom();return Sa([e.dx,e.dy],t)}bindEvents(){return ty(this,void 0,void 0,function*(){const{graph:e}=this.context;e.on($i.DRAG_START,this.onDragStart),e.on($i.DRAG,this.onDrag),e.on($i.DRAG_END,this.onDragEnd)})}unbindEvents(){const{graph:e}=this.context;e.off($i.DRAG_START,this.onDragStart),e.off($i.DRAG,this.onDrag),e.off($i.DRAG_END,this.onDragEnd)}destroyElements(){var e,t;(e=this.horizontalLine)===null||e===void 0||e.destroy(),(t=this.verticalLine)===null||t===void 0||t.destroy()}destroy(){this.destroyElements(),this.unbindEvents(),super.destroy()}}Nv.defaultOptions={tolerance:5,offset:20,autoSnap:!0,shape:"key",verticalLineStyle:{stroke:"#1783FF"},horizontalLineStyle:{stroke:"#1783FF"},filter:()=>!0};const Kr=(r,e)=>Math.abs(r-e),AS=(r,e)=>typeof e=="function"?e(r):r.getShape(e);var OS=null,AG=null;function _v(r){return r instanceof Date?r:new Date(r)}function OG(r){for(var e=__read(r,2),t=e[0],n=e[1],i=OS.indexOf(t),a=OS.indexOf(n),s="",o=i;o<=a;o+=1)if(s+=AG[o],o<a){var l="-";o===2?l=" ":o>2&&(l=":"),s+=l}return s}function li(r,e){var t={YYYY:r.getFullYear(),MM:r.getMonth()+1,DD:r.getDate(),HH:r.getHours(),mm:r.getMinutes(),ss:r.getSeconds()},n=e;return Object.keys(t).forEach(function(i){var a=t[i];n=n.replace(i,i==="YYYY"?"".concat(a):"".concat(a).padStart(2,"0"))}),n}function Oq(r,e){return _v(r).getTime()-_v(e).getTime()}function kq(r,e){var t=__read([_v(r),_v(e)],2),n=t[0],i=t[1];return n.getFullYear()!==i.getFullYear()?"year":n.getMonth()!==i.getMonth()?"month":n.getDay()!==i.getDay()?"day":n.getHours()!==i.getHours()?"hour":n.getMinutes()!==i.getMinutes()?"minute":"second"}function Cq(r,e){var t=new Date(r),n={year:function(i){i.setMonth(0),i.setHours(0,0,0,0)},month:function(i){i.setDate(1),i.setHours(0,0,0,0)},day:function(i){return i.setHours(0,0,0,0)},hour:function(i){return i.setMinutes(0,0,0)},minute:function(i){return i.setSeconds(0,0)},second:function(i){return i.setMilliseconds(0)}};return n[e](t),li(t,OG(["year",e]))}function kG(r,e){if(r.length<=e)return r;for(var t=Math.floor(r.length/e),n=[],i=0;i<r.length;i+=t)n.push(r[i]);return n}var ry={data:[],animate:{enter:!1,update:{duration:100,easing:"ease-in-out-sine",fill:"both"},exit:{duration:100,fill:"both"}},showArrow:!0,showGrid:!0,showLabel:!0,showLine:!0,showTick:!0,showTitle:!0,showTrunc:!1,dataThreshold:100,lineLineWidth:1,lineStroke:"black",crossPadding:10,titleFill:"black",titleFontSize:12,titlePosition:"lb",titleSpacing:0,titleTextAlign:"center",titleTextBaseline:"middle",lineArrow:function(){return new Bm({style:{d:[["M",10,10],["L",-10,0],["L",10,-10],["L",0,0],["L",10,10],["Z"]],fill:"black",transformOrigin:"center"}})},labelAlign:"parallel",labelDirection:"positive",labelFontSize:12,labelSpacing:0,gridConnect:"line",gridControlAngles:[],gridDirection:"positive",gridLength:0,gridType:"segment",lineArrowOffset:15,lineArrowSize:10,tickDirection:"positive",tickLength:5,tickLineWidth:1,tickStroke:"black",labelOverlap:[]},Nq=ri({},ry,{style:{type:"arc"}}),_q=ri({},ry,{style:{}}),Mn=Ia({mainGroup:"main-group",gridGroup:"grid-group",grid:"grid",lineGroup:"line-group",line:"line",tickGroup:"tick-group",tick:"tick",tickItem:"tick-item",labelGroup:"label-group",label:"label",labelItem:"label-item",titleGroup:"title-group",title:"title",lineFirst:"line-first",lineSecond:"line-second"},"axis");function Cs(r,e){return[r[0]*e,r[1]*e]}function Hc(r,e){return[r[0]+e[0],r[1]+e[1]]}function iy(r,e){return[r[0]-e[0],r[1]-e[1]]}function rl(r,e){return[Math.min(r[0],e[0]),Math.min(r[1],e[1])]}function il(r,e){return[Math.max(r[0],e[0]),Math.max(r[1],e[1])]}function Xc(r,e){return Math.sqrt(Math.pow(r[0]-e[0],2)+Math.pow(r[1]-e[1],2))}function kS(r){if(r[0]===0&&r[1]===0)return[0,0];var e=Math.sqrt(Math.pow(r[0],2)+Math.pow(r[1],2));return[r[0]/e,r[1]/e]}function Rq(r,e,t){var n=__read(r,2),i=n[0],a=n[1],s=__read(e,2),o=s[0],l=s[1],u=i-o,c=a-l,h=Math.sin(t),f=Math.cos(t);return[u*f-c*h+o,u*h+c*f+l]}function CG(r,e){return e?[r[1],-r[0]]:[-r[1],r[0]]}function ou(r){return r*Math.PI/180}function CS(r){return Number((r*180/Math.PI).toPrecision(5))}function Rv(r,e){return r.style.opacity||(r.style.opacity=1),Ba(r,{opacity:0},e)}var NG=["$el","cx","cy","d","dx","dy","fill","fillOpacity","filter","fontFamily","fontSize","fontStyle","fontVariant","fontWeight","height","img","increasedLineWidthForHitTesting","innerHTML","isBillboard","billboardRotation","isSizeAttenuation","isClosed","isOverflowing","leading","letterSpacing","lineDash","lineHeight","lineWidth","markerEnd","markerEndOffset","markerMid","markerStart","markerStartOffset","maxLines","metrics","miterLimit","offsetX","offsetY","opacity","path","points","r","radius","rx","ry","shadowColor","src","stroke","strokeOpacity","text","textAlign","textBaseline","textDecorationColor","textDecorationLine","textDecorationStyle","textOverflow","textPath","textPathSide","textPathStartOffset","transform","transformOrigin","visibility","width","wordWrap","wordWrapWidth","x","x1","x2","y","y1","y2","z1","z2","zIndex"];function _G(r){return NG.includes(r)}function NS(r){var e={};for(var t in r)_G(t)&&(e[t]=r[t]);return e}var lu=Ia({lineGroup:"line-group",line:"line",regionGroup:"region-group",region:"region"},"grid");function _S(r){return r.reduce(function(e,t,n){return e.push((0,Y.ev)([n===0?"M":"L"],(0,Y.CR)(t),!1)),e},[])}function RG(r,e,t){var n=e.connect,i=n===void 0?"line":n,a=e.center;if(i==="line")return _S(r);if(!a)return[];var s=Xc(r[0],a),o=t?0:1;return r.reduce(function(l,u,c){return c===0?l.push((0,Y.ev)(["M"],(0,Y.CR)(u),!1)):l.push((0,Y.ev)(["A",s,s,0,0,o],(0,Y.CR)(u),!1)),l},[])}function ay(r,e,t){return e.type==="surround"?RG(r,e,t):_S(r)}function LG(r,e,t){var n=t.type,i=t.connect,a=t.center,s=t.closed,o=s?[["Z"]]:[],l=(0,Y.CR)([ay(r,t),ay(e.slice().reverse(),t,!0)],2),u=l[0],c=l[1],h=(0,Y.CR)([r[0],e.slice(-1)[0]],2),f=h[0],d=h[1],v=function(b,x){return[u,b,c,x,o].flat()};if(i==="line"||n==="surround")return v([(0,Y.ev)(["L"],(0,Y.CR)(d),!1)],[(0,Y.ev)(["L"],(0,Y.CR)(f),!1)]);if(!a)throw new Error("Arc grid need to specified center");var g=(0,Y.CR)([Xc(d,a),Xc(f,a)],2),p=g[0],m=g[1];return v([(0,Y.ev)(["A",p,p,0,0,1],(0,Y.CR)(d),!1),(0,Y.ev)(["L"],(0,Y.CR)(d),!1)],[(0,Y.ev)(["A",m,m,0,0,0],(0,Y.CR)(f),!1),(0,Y.ev)(["L"],(0,Y.CR)(f),!1)])}function DG(r,e,t,n){var i=t.animate,a=t.isBillboard,s=e.map(function(o,l){return{id:o.id||"grid-line-".concat(l),d:ay(o.points,t)}});return r.selectAll(lu.line.class).data(s,function(o){return o.id}).join(function(o){return o.append("path").each(function(l,u){var c=ca(NS((0,Y.pi)({d:l.d},n)),[l,u,s]);this.attr((0,Y.pi)({class:lu.line.name,stroke:"#D9D9D9",lineWidth:1,lineDash:[4,4],isBillboard:a},c))})},function(o){return o.transition(function(l,u){var c=ca(NS((0,Y.pi)({d:l.d},n)),[l,u,s]);return Ba(this,c,i.update)})},function(o){return o.transition(function(){var l=this,u=Rv(this,i.exit);return su(u,function(){return l.remove()}),u})}).transitions()}function IG(r,e,t){var n=t.animate,i=t.connect,a=t.areaFill;if(e.length<2||!a||!i)return[];for(var s=Array.isArray(a)?a:[a,"transparent"],o=function(v){return s[v%s.length]},l=[],u=0;u<e.length-1;u++){var c=(0,Y.CR)([e[u].points,e[u+1].points],2),h=c[0],f=c[1],d=LG(h,f,t);l.push({d,fill:o(u)})}return r.selectAll(lu.region.class).data(l,function(v,g){return g}).join(function(v){return v.append("path").each(function(g,p){var m=ca(g,[g,p,l]);this.attr(m)}).attr("className",lu.region.name)},function(v){return v.transition(function(g,p){var m=ca(g,[g,p,l]);return Ba(this,m,n.update)})},function(v){return v.transition(function(){var g=this,p=Rv(this,n.exit);return su(p,function(){return g.remove()}),p})}).transitions()}function BG(r){var e=r.data,t=e===void 0?[]:e,n=r.closed;return n?t.map(function(i){var a=i.points,s=(0,Y.CR)(a,1),o=s[0];return(0,Y.pi)((0,Y.pi)({},i),{points:(0,Y.ev)((0,Y.ev)([],(0,Y.CR)(a),!1),[o],!1)})}):t}var zG=function(r){(0,Y.ZT)(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.render=function(t,n){var i=t.type,a=t.center,s=t.areaFill,o=t.closed,l=(0,Y._T)(t,["type","center","areaFill","closed"]),u=BG(t),c=Mt(n).maybeAppendByClassName(lu.lineGroup,"g"),h=Mt(n).maybeAppendByClassName(lu.regionGroup,"g"),f=DG(c,u,t,l),d=IG(h,u,t);return(0,Y.ev)((0,Y.ev)([],(0,Y.CR)(f),!1),(0,Y.CR)(d),!1)},e}(or),FG=function(r,e){return function(t){return r*(1-t)+e*t}};function jG(r,e){var t=e?e.length:0,n=r?Math.min(t,r.length):0;return function(i){var a=new Array(n),s=new Array(t),o=0;for(o=0;o<n;++o)a[o]=sy(r[o],e[o]);for(;o<t;++o)s[o]=e[o];for(o=0;o<n;++o)s[o]=a[o](i);return s}}function GG(r,e){r===void 0&&(r={}),e===void 0&&(e={});var t={},n={};return Object.entries(e).forEach(function(i){var a=(0,Y.CR)(i,2),s=a[0],o=a[1];s in r?t[s]=sy(r[s],o):n[s]=o}),function(i){return Object.entries(t).forEach(function(a){var s=(0,Y.CR)(a,2),o=s[0],l=s[1];return n[o]=l(i)}),n}}function sy(r,e){return typeof r=="number"&&typeof e=="number"?FG(r,e):Array.isArray(r)&&Array.isArray(e)?jG(r,e):typeof r=="object"&&typeof e=="object"?GG(r,e):function(t){return r}}function HG(r,e,t,n){if(!n)return r.attr("__keyframe_data__",t),null;var i=n.duration,a=i===void 0?0:i,s=sy(e,t),o=Math.ceil(+a/16),l=new Array(o).fill(0).map(function(u,c,h){return{__keyframe_data__:s(c/(h.length-1))}});return r.animate(l,(0,Y.pi)({fill:"both"},n))}function RS(r,e){var t={},n=Array.isArray(e)?e:[e];for(var i in r)n.includes(i)||(t[i]=r[i]);return t}function LS(r,e){return Object.fromEntries(Object.entries(r).map(function(t){var n=(0,Y.CR)(t,2),i=n[0],a=n[1];return[i,ca(a,e)]}))}function Lq(r){if(r.type==="linear"){var e=r.startPos,t=r.endPos;return __spreadArray(__spreadArray([],__read(e),!1),__read(t),!1)}var n=r.startAngle,i=r.endAngle,a=r.center,s=r.radius;return __spreadArray(__spreadArray([n,i],__read(a),!1),[s],!1)}function oy(r,e){return e&&pt(e)?r.filter(e):r}function DS(r,e){var t=e.startAngle,n=e.endAngle;return(n-t)*r+t}function Lv(r,e){if(e.type==="linear"){var t=(0,Y.CR)(e.startPos,2),n=t[0],i=t[1],a=(0,Y.CR)(e.endPos,2),s=a[0],o=a[1],l=(0,Y.CR)([s-n,o-i],2),u=l[0],c=l[1];return kS([u,c])}var h=ou(DS(r,e));return[-Math.sin(h),Math.cos(h)]}function ly(r,e,t){var n=Lv(r,t);return CG(n,e!=="positive")}function Wc(r,e){return ly(r,e.labelDirection,e)}function XG(r,e){var t=(0,Y.CR)(e.startPos,2),n=t[0],i=t[1],a=(0,Y.CR)(e.endPos,2),s=a[0],o=a[1],l=(0,Y.CR)([s-n,o-i],2),u=l[0],c=l[1];return[n+u*r,i+c*r]}function WG(r,e){var t=e.radius,n=(0,Y.CR)(e.center,2),i=n[0],a=n[1],s=ou(DS(r,e));return[i+t*Math.cos(s),a+t*Math.sin(s)]}function Dv(r,e){return e.type==="linear"?XG(r,e):WG(r,e)}function IS(r){return Lv(0,r)[1]===0}function BS(r){return Lv(0,r)[0]===0}function zS(r,e){return e-r===360}function FS(r,e,t,n,i){var a=e-r,s=(0,Y.CR)([i,i],2),o=s[0],l=s[1],u=(0,Y.CR)([ou(r),ou(e)],2),c=u[0],h=u[1],f=function(U){return[t+i*Math.cos(U),n+i*Math.sin(U)]},d=(0,Y.CR)(f(c),2),v=d[0],g=d[1],p=(0,Y.CR)(f(h),2),m=p[0],b=p[1];if(zS(r,e)){var x=(h+c)/2,O=(0,Y.CR)(f(x),2),T=O[0],S=O[1];return[["M",v,g],["A",o,l,0,1,0,T,S],["A",o,l,0,1,0,m,b]]}var k=a>180?1:0,C=r>e?0:1,W=!1;return W?"M".concat(t,",").concat(n,",L").concat(v,",").concat(g,",A").concat(o,",").concat(l,",0,").concat(k,",").concat(C,",").concat(m,",").concat(b,",L").concat(t,",").concat(n):"M".concat(v,",").concat(g,",A").concat(o,",").concat(l,",0,").concat(k,",").concat(C,",").concat(m,",").concat(b)}function VG(r){var e=r.attributes,t=e.startAngle,n=e.endAngle,i=e.center,a=e.radius;return(0,Y.ev)((0,Y.ev)([t,n],(0,Y.CR)(i),!1),[a],!1)}function YG(r,e,t,n){var i=e.startAngle,a=e.endAngle,s=e.center,o=e.radius;return r.selectAll(Mn.line.class).data([{d:FS.apply(void 0,(0,Y.ev)((0,Y.ev)([i,a],(0,Y.CR)(s),!1),[o],!1))}],function(l,u){return u}).join(function(l){return l.append("path").attr("className",Mn.line.name).styles(e).styles({d:function(u){return u.d}})},function(l){return l.transition(function(){var u=this,c=HG(this,VG(this),(0,Y.ev)((0,Y.ev)([i,a],(0,Y.CR)(s),!1),[o],!1),n.update);if(c){var h=function(){var f=ii(u.attributes,"__keyframe_data__");u.style.d=FS.apply(void 0,(0,Y.ev)([],(0,Y.CR)(f),!1))};c.onframe=h,c.onfinish=h}return c}).styles(e)},function(l){return l.remove()}).styles(t).transitions()}function UG(r,e){var t=e.truncRange,n=e.truncShape,i=e.lineExtension}function ZG(r,e,t){t===void 0&&(t=[0,0]);var n=(0,Y.CR)([r,e,t],3),i=(0,Y.CR)(n[0],2),a=i[0],s=i[1],o=(0,Y.CR)(n[1],2),l=o[0],u=o[1],c=(0,Y.CR)(n[2],2),h=c[0],f=c[1],d=(0,Y.CR)([l-a,u-s],2),v=d[0],g=d[1],p=Math.sqrt(Math.pow(v,2)+Math.pow(g,2)),m=(0,Y.CR)([-h/p,f/p],2),b=m[0],x=m[1];return[b*v,b*g,x*v,x*g]}function jS(r){var e=(0,Y.CR)(r,2),t=(0,Y.CR)(e[0],2),n=t[0],i=t[1],a=(0,Y.CR)(e[1],2),s=a[0],o=a[1];return{x1:n,y1:i,x2:s,y2:o}}function KG(r,e,t,n){var i=e.showTrunc,a=e.startPos,s=e.endPos,o=e.truncRange,l=e.lineExtension,u=(0,Y.CR)([a,s],2),c=(0,Y.CR)(u[0],2),h=c[0],f=c[1],d=(0,Y.CR)(u[1],2),v=d[0],g=d[1],p=(0,Y.CR)(l?ZG(a,s,l):new Array(4).fill(0),4),m=p[0],b=p[1],x=p[2],O=p[3],T=function(X){return r.selectAll(Mn.line.class).data(X,function(q,oe){return oe}).join(function(q){return q.append("line").attr("className",function(oe){return"".concat(Mn.line.name," ").concat(oe.className)}).styles(t).transition(function(oe){return Ba(this,jS(oe.line),!1)})},function(q){return q.styles(t).transition(function(oe){var de=oe.line;return Ba(this,jS(de),n.update)})},function(q){return q.remove()}).transitions()};if(!i||!o)return T([{line:[[h+m,f+b],[v+x,g+O]],className:Mn.line.name}]);var S=(0,Y.CR)(o,2),k=S[0],C=S[1],W=v-h,U=g-f,J=(0,Y.CR)([h+W*k,f+U*k],2),te=J[0],ie=J[1],ae=(0,Y.CR)([h+W*C,f+U*C],2),ve=ae[0],Z=ae[1],H=T([{line:[[h+m,f+b],[te,ie]],className:Mn.lineFirst.name},{line:[[ve,Z],[v+x,g+O]],className:Mn.lineSecond.name}]);return UG(r,e),H}function QG(r,e,t,n){var i=t.showArrow,a=t.showTrunc,s=t.lineArrow,o=t.lineArrowOffset,l=t.lineArrowSize,u;if(e==="arc"?u=r.select(Mn.line.class):a?u=r.select(Mn.lineSecond.class):u=r.select(Mn.line.class),!i||!s||t.type==="arc"&&zS(t.startAngle,t.endAngle)){var c=u.node();c&&(c.style.markerEnd=void 0);return}var h=ks(s);h.attr(n),Qm(h,l,!0),u.style("markerEnd",h).style("markerEndOffset",-o)}function JG(r,e,t){var n=e.type,i,a=zt(e,"line");return n==="linear"?i=KG(r,e,RS(a,"arrow"),t):i=YG(r,e,RS(a,"arrow"),t),QG(r,n,e,a),i}function qG(r,e){return ly(r,e.gridDirection,e)}function GS(r){var e=r.type,t=r.gridCenter;return e==="linear"?t:t||r.center}function $G(r,e){var t=e.gridLength;return r.map(function(n,i){var a=n.value,s=(0,Y.CR)(Dv(a,e),2),o=s[0],l=s[1],u=(0,Y.CR)(Cs(qG(a,e),t),2),c=u[0],h=u[1];return{id:i,points:[[o,l],[o+c,l+h]]}})}function eH(r,e){var t=e.gridControlAngles,n=GS(e);if(!n)throw new Error("grid center is not provide");if(r.length<2)throw new Error("Invalid grid data");if(!t||t.length===0)throw new Error("Invalid gridControlAngles");var i=(0,Y.CR)(n,2),a=i[0],s=i[1];return r.map(function(o,l){var u=o.value,c=(0,Y.CR)(Dv(u,e),2),h=c[0],f=c[1],d=(0,Y.CR)([h-a,f-s],2),v=d[0],g=d[1],p=[];return t.forEach(function(m){var b=ou(m),x=(0,Y.CR)([Math.cos(b),Math.sin(b)],2),O=x[0],T=x[1],S=v*O-g*T+a,k=v*T+g*O+s;p.push([S,k])}),{points:p,id:l}})}function tH(r,e,t,n){var i=zt(t,"grid"),a=i.type,s=i.areaFill,o=GS(t),l=oy(e,t.gridFilter),u=a==="segment"?$G(l,t):eH(l,t),c=(0,Y.pi)((0,Y.pi)({},i),{center:o,areaFill:pt(s)?l.map(function(h,f){return ca(s,[h,f,l])}):s,animate:n,data:u});return r.selectAll(Mn.grid.class).data([1]).join(function(h){return h.append(function(){return new zG({style:c})}).attr("className",Mn.grid.name)},function(h){return h.transition(function(){return this.update(c)})},function(h){return h.remove()}).transitions()}function Gr(r,e,t,n,i){return n===void 0&&(n=!0),i===void 0&&(i=!1),n&&r===e||i&&r===t?!0:r>e&&r<t}function nH(r,e,t,n){t===void 0&&(t=2),n===void 0&&(n="top"),PS(r,{wordWrap:!0,wordWrapWidth:e,maxLines:t,textBaseline:n})}function rH(r,e,t){var n=r.getBBox(),i=n.width,a=n.height,s=(0,Y.CR)([e,t].map(function(u,c){var h;return u.includes("%")?parseFloat(((h=u.match(/[+-]?([0-9]*[.])?[0-9]+/))===null||h===void 0?void 0:h[0])||"0")/100*(c===0?i:a):u}),2),o=s[0],l=s[1];return[o,l]}function HS(r,e){if(e)try{var t=/translate\(([+-]*[\d]+[%]*),[ ]*([+-]*[\d]+[%]*)\)/g,n=e.replace(t,function(i,a,s){return"translate(".concat(rH(r,a,s),")")});r.attr("transform",n)}catch(i){}}var XS=function(r){return r!==void 0&&r!=null&&!Number.isNaN(r)},uy=function(){function r(e,t,n,i){this.set(e,t,n,i)}return Object.defineProperty(r.prototype,"left",{get:function(){return this.x1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"top",{get:function(){return this.y1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"right",{get:function(){return this.x2},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"bottom",{get:function(){return this.y2},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"width",{get:function(){return this.defined("x2")&&this.defined("x1")?this.x2-this.x1:void 0},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"height",{get:function(){return this.defined("y2")&&this.defined("y1")?this.y2-this.y1:void 0},enumerable:!1,configurable:!0}),r.prototype.rotatedPoints=function(e,t,n){var i=this,a=i.x1,s=i.y1,o=i.x2,l=i.y2,u=Math.cos(e),c=Math.sin(e),h=t-t*u+n*c,f=n-t*c-n*u,d=[[u*a-c*l+h,c*a+u*l+f],[u*o-c*l+h,c*o+u*l+f],[u*a-c*s+h,c*a+u*s+f],[u*o-c*s+h,c*o+u*s+f]];return d},r.prototype.set=function(e,t,n,i){return n<e?(this.x2=e,this.x1=n):(this.x1=e,this.x2=n),i<t?(this.y2=t,this.y1=i):(this.y1=t,this.y2=i),this},r.prototype.defined=function(e){return this[e]!==Number.MAX_VALUE&&this[e]!==-Number.MAX_VALUE},r}();function Iv(r,e){var t=r.getEulerAngles()||0;r.setEulerAngles(0);var n=r.getBounds(),i=(0,Y.CR)(n.min,2),a=i[0],s=i[1],o=(0,Y.CR)(n.max,2),l=o[0],u=o[1],c=r.getBBox(),h=c.width,f=c.height,d=f,v=0,g=0,p=a,m=s,b=wS(r);if(b){d-=1.5;var x=b.style.textAlign,O=b.style.textBaseline;x==="center"?p=(a+l)/2:(x==="right"||x==="end")&&(p=l),O==="middle"?m=(s+u)/2:O==="bottom"&&(m=u)}var T=(0,Y.CR)(jr(e),4),S=T[0],k=S===void 0?0:S,C=T[1],W=C===void 0?0:C,U=T[2],J=U===void 0?k:U,te=T[3],ie=te===void 0?W:te,ae=new uy((v+=a)-ie,(g+=s)-k,v+h+W,g+d+J);return r.setEulerAngles(t),ae.rotatedPoints(ou(t),p,m)}function Vc(r,e){return e[0]<=Math.max(r[0][0],r[1][0])&&e[0]<=Math.min(r[0][0],r[1][0])&&e[1]<=Math.max(r[0][1],r[1][1])&&e[1]<=Math.min(r[0][1],r[1][1])}function Yc(r,e,t){var n=(e[1]-r[1])*(t[0]-e[0])-(e[0]-r[0])*(t[1]-e[1]);return n===0?0:n<0?2:1}function iH(r,e){var t=Yc(r[0],r[1],e[0]),n=Yc(r[0],r[1],e[1]),i=Yc(e[0],e[1],r[0]),a=Yc(e[0],e[1],r[1]);return!!(t!==n&&i!==a||t===0&&Vc(r,e[0])||n===0&&Vc(r,e[1])||i===0&&Vc(e,r[0])||a===0&&Vc(e,r[1]))}function aH(r,e){var t=r.length;if(t<3)return!1;var n=[e,[9999,e[1]]],i=0,a=0;do{var s=[r[a],r[(a+1)%t]];if(iH(s,n)){if(Yc(s[0],e,s[1])===0)return Vc(s,e);i++}a=(a+1)%t}while(a!==0);return!!(i&1)}function sH(r,e){return e.every(function(t){return aH(r,t)})}function oH(r,e,t){var n=r.x1,i=r.x2,a=r.y1,s=r.y2,o=[[n,a],[i,a],[i,s],[n,s]],l=Iv(e,t);return sH(o,l)}function WS(r,e){var t=(0,Y.CR)(r,4),n=t[0],i=t[1],a=t[2],s=t[3],o=(0,Y.CR)(e,4),l=o[0],u=o[1],c=o[2],h=o[3],f=a-n,d=s-i,v=c-l,g=h-u,p=f*g-v*d;if(p===0)return!1;var m=p>0,b=n-l,x=i-u,O=f*x-d*b;if(O<0===m)return!1;var T=v*x-g*b;return!(T<0===m||O>p===m||T>p===m)}function VS(r,e){var t=[[r[0],r[1],r[2],r[3]],[r[2],r[3],r[4],r[5]],[r[4],r[5],r[6],r[7]],[r[6],r[7],r[0],r[1]]];return t.some(function(n){return WS(e,n)})}var Dq={lineToLine:WS,intersectBoxLine:VS,getBounds:Iv};function lH(r,e,t){var n,i,a=Iv(r,t).flat(1),s=Iv(e,t).flat(1),o=[[a[0],a[1],a[2],a[3]],[a[0],a[1],a[4],a[5]],[a[4],a[5],a[6],a[7]],[a[2],a[3],a[6],a[7]]];try{for(var l=(0,Y.XA)(o),u=l.next();!u.done;u=l.next()){var c=u.value;if(VS(s,c))return!0}}catch(h){n={error:h}}finally{try{u&&!u.done&&(i=l.return)&&i.call(l)}finally{if(n)throw n.error}}return!1}function uH(r,e){var t=r.type,n=r.labelDirection,i=r.crossSize;if(!i)return!1;if(t==="arc"){var a=r.center,s=r.radius,o=(0,Y.CR)(a,2),l=o[0],u=o[1],c=n==="negative"?0:i,h=-s-c,f=s+c,d=(0,Y.CR)(jr(e),4),v=d[0],g=d[1],p=d[2],m=d[3];return new uy(l+h-m,u+h-v,l+f+g,u+f+p)}var b=(0,Y.CR)(r.startPos,2),x=b[0],O=b[1],T=(0,Y.CR)(r.endPos,2),S=T[0],k=T[1],C=(0,Y.CR)(BS(r)?[-e,0,e,0]:[0,e,0,-e],4),W=C[0],U=C[1],J=C[2],te=C[3],ie=Wc(0,r),ae=Cs(ie,i),ve=new uy(x,O,S,k);return ve.x1+=te,ve.y1+=W,ve.x2+=U+ae[0],ve.y2+=J+ae[1],ve}function Bv(r,e,t){var n,i,a=e.crossPadding,s=new Set,o=null,l=uH(e,a),u=function(v){return l?oH(l,v):!0},c=function(v,g){return!v||!v.firstChild?!0:!lH(v.firstChild,g.firstChild,jr(t))};try{for(var h=(0,Y.XA)(r),f=h.next();!f.done;f=h.next()){var d=f.value;u(d)?!o||c(o,d)?o=d:(s.add(o),s.add(d)):s.add(d)}}catch(v){n={error:v}}finally{try{f&&!f.done&&(i=h.return)&&i.call(h)}finally{if(n)throw n.error}}return Array.from(s)}function cy(r,e){return e===void 0&&(e={}),vt(r)?0:typeof r=="number"?r:Math.floor(yG(r,e))}function cH(r,e,t,n){if(!(r.length<=1)){var i=e.suffix,a=i===void 0?"...":i,s=e.minLength,o=e.maxLength,l=o===void 0?1/0:o,u=e.step,c=u===void 0?" ":u,h=e.margin,f=h===void 0?[0,0,0,0]:h,d=ES(n.getTextShape(r[0])),v=cy(c,d),g=s?cy(s,d):v,p=cy(l,d);(vt(p)||p===1/0)&&(p=Math.max.apply(null,r.map(function(ae){return ae.getBBox().width})));for(var m=r.slice(),b=(0,Y.CR)(f,4),x=b[0],O=x===void 0?0:x,T=b[1],S=T===void 0?0:T,k=b[2],C=k===void 0?O:k,W=b[3],U=W===void 0?S:W,J=function(ae){if(m.forEach(function(ve){n.ellipsis(n.getTextShape(ve),ae,a)}),m=Bv(r,t,f),m.length<1)return{value:void 0}},te=p;te>g+v;te-=v){var ie=J(te);if(typeof ie=="object")return ie.value}}}var hH={parity:function(r,e){var t=e.seq,n=t===void 0?2:t;return r.filter(function(i,a){return a%n?(Da(i),!1):!0})}},fH=function(r){return r.filter(XS)};function dH(r,e,t,n){var i=r.length,a=e.keepHeader,s=e.keepTail;if(!(i<=1||i===2&&a&&s)){var o=hH.parity,l=function(x){return x.forEach(n.show),x},u=2,c=r.slice(),h=r.slice(),f=Math.min.apply(Math,(0,Y.ev)([1],(0,Y.CR)(r.map(function(x){return x.getBBox().width})),!1));if(t.type==="linear"&&(IS(t)||BS(t))){var d=xS(r[0]).left,v=xS(r[i-1]).right,g=Math.abs(v-d)||1;u=Math.max(Math.floor(i*f/g),u)}var p,m;for(a&&(p=c.splice(0,1)[0]),s&&(m=c.splice(-1,1)[0],c.reverse()),l(c);u<r.length&&Bv(fH(m?(0,Y.ev)((0,Y.ev)([m],(0,Y.CR)(h),!1),[p],!1):(0,Y.ev)([p],(0,Y.CR)(h),!1)),t,e==null?void 0:e.margin).length;){if(m&&!p&&u%2===0){var b=c.splice(0,1);b.forEach(n.hide)}else if(m&&p){var b=c.splice(0,1);b.forEach(n.hide)}h=o(l(c),{seq:u}),u++}}}function vH(r,e,t,n){var i,a,s=e.optionalAngles,o=s===void 0?[0,45,90]:s,l=e.margin,u=e.recoverWhenFailed,c=u===void 0?!0:u,h=r.map(function(m){return m.getLocalEulerAngles()}),f=function(){return Bv(r,t,l).length<1},d=function(m){return r.forEach(function(b,x){var O=Array.isArray(m)?m[x]:m;n.rotate(b,+O)})};try{for(var v=(0,Y.XA)(o),g=v.next();!g.done;g=v.next()){var p=g.value;if(d(p),f())return}}catch(m){i={error:m}}finally{try{g&&!g.done&&(a=v.return)&&a.call(v)}finally{if(i)throw i.error}}c&&d(h)}function gH(r){var e=r.type,t=r.labelDirection;return e==="linear"&&IS(r)?t==="negative"?"bottom":"top":"middle"}function pH(r,e,t,n){var i=e.wordWrapWidth,a=i===void 0?50:i,s=e.maxLines,o=s===void 0?3:s,l=e.recoverWhenFailed,u=l===void 0?!0:l,c=e.margin,h=c===void 0?[0,0,0,0]:c,f=r.map(function(b){return b.attr("maxLines")||1}),d=Math.min.apply(Math,(0,Y.ev)([],(0,Y.CR)(f),!1)),v=function(){return Bv(r,t,h).length<1},g=gH(t),p=function(b){return r.forEach(function(x,O){var T=Array.isArray(b)?b[O]:b;n.wrap(x,a,T,g)})};if(!(d>o)){for(var m=d;m<=o;m++)if(p(m),v())return;u&&p(f)}}var mH=new Map([["hide",dH],["rotate",vH],["ellipsis",cH],["wrap",pH]]);function yH(r,e,t){return e.labelOverlap.length<1?!1:t==="hide"?!Aj(r[0]):t==="rotate"?!r.some(function(n){var i;return!!(!((i=n.attr("transform"))===null||i===void 0)&&i.includes("rotate"))}):t==="ellipsis"||t==="wrap"?r.filter(function(n){return n.querySelector("text")}).length>1:!0}function bH(r,e,t){var n=e.labelOverlap,i=n===void 0?[]:n;i.length&&i.forEach(function(a){var s=a.type,o=mH.get(s);yH(r,e,s)&&(o==null||o(r,a,e,t))})}function xH(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var t=function(n){return n==="positive"?-1:1};return r.reduce(function(n,i){return n*t(i)},1)}function YS(r){for(var e=r;e<0;)e+=360;return Math.round(e%360)}function hy(r,e){var t=(0,Y.CR)(r,2),n=t[0],i=t[1],a=(0,Y.CR)(e,2),s=a[0],o=a[1],l=(0,Y.CR)([n*s+i*o,n*o-i*s],2),u=l[0],c=l[1];return Math.atan2(c,u)}function EH(r){var e=(r+360)%180;return Gr(e,-90,90)||(e+=180),e}function wH(r,e,t){var n,i=t.labelAlign,a=(n=e.style.transform)===null||n===void 0?void 0:n.includes("rotate");if(a)return e.getLocalEulerAngles();var s=0,o=Wc(r.value,t),l=Lv(r.value,t);return i==="horizontal"?0:(i==="perpendicular"?s=hy([1,0],o):s=hy([l[0]<0?-1:1,0],l),EH(CS(s)))}function US(r,e,t){var n=t.type,i=t.labelAlign,a=Wc(r,t),s=YS(e),o=YS(CS(hy([1,0],a))),l="center",u="middle";return n==="linear"?[90,270].includes(o)&&s===0?(l="center",u=a[1]===1?"top":"bottom"):!(o%180)&&[90,270].includes(s)?l="center":o===0?(Gr(s,0,90,!1,!0)||Gr(s,0,90)||Gr(s,270,360))&&(l="start"):o===90?Gr(s,0,90,!1,!0)?l="start":(Gr(s,90,180)||Gr(s,270,360))&&(l="end"):o===270?Gr(s,0,90,!1,!0)?l="end":(Gr(s,90,180)||Gr(s,270,360))&&(l="start"):o===180&&(s===90?l="start":(Gr(s,0,90)||Gr(s,270,360))&&(l="end")):i==="parallel"?Gr(o,0,180,!0)?u="top":u="bottom":i==="horizontal"?Gr(o,90,270,!1)?l="end":(Gr(o,270,360,!1)||Gr(o,0,90))&&(l="start"):i==="perpendicular"&&(Gr(o,90,270)?l="end":l="start"),{textAlign:l,textBaseline:u}}function PH(r,e,t){e.setLocalEulerAngles(r);var n=e.__data__.value,i=US(n,r,t),a=e.querySelector(Mn.labelItem.class);a&&KS(a,i)}function ZS(r,e,t){var n=t.showTick,i=t.tickLength,a=t.tickDirection,s=t.labelDirection,o=t.labelSpacing,l=e.indexOf(r),u=ca(o,[r,l,e]),c=(0,Y.CR)([Wc(r.value,t),xH(s,a)],2),h=c[0],f=c[1],d=f===1?ca(n?i:0,[r,l,e]):0,v=(0,Y.CR)(Hc(Cs(h,u+d),Dv(r.value,t)),2),g=v[0],p=v[1];return{x:g,y:p}}function MH(r,e,t,n){var i=n.labelFormatter,a=pt(i)?function(){return ks(ca(i,[r,e,t,Wc(r.value,n)]))}:function(){return ks(r.label||"")};return a}function KS(r,e){r.nodeName==="text"&&r.attr(e)}function QS(r){bH(this.node().childNodes,r,{hide:Da,show:Fc,rotate:function(e,t){PH(+t,e,r)},ellipsis:function(e,t,n){e&&$m(e,t||1/0,n)},wrap:function(e,t,n){e&&nH(e,t,n)},getTextShape:function(e){return e.querySelector("text")}})}function JS(r,e,t,n,i){var a=t.indexOf(e),s=Mt(r).append(MH(e,a,t,i)).attr("className",Mn.labelItem.name).node(),o=(0,Y.CR)(Os(LS(n,[e,a,t])),2),l=o[0],u=o[1],c=u.transform,h=(0,Y._T)(u,["transform"]);HS(s,c);var f=wH(e,s,i);return s.getLocalEulerAngles()||s.setLocalEulerAngles(f),KS(s,(0,Y.pi)((0,Y.pi)({},US(e.value,f,i)),l)),r.attr(h),s}function SH(r,e,t,n){var i=oy(e,t.labelFilter),a=zt(t,"label");return r.selectAll(Mn.label.class).data(i,function(s,o){return o}).join(function(s){return s.append("g").attr("className",Mn.label.name).transition(function(o){JS(this,o,e,a,t);var l=ZS(o,e,t),u=l.x,c=l.y;return this.style.transform="translate(".concat(u,", ").concat(c,")"),null}).call(function(){QS.call(r,t)})},function(s){return s.transition(function(o){var l=this.querySelector(Mn.labelItem.class),u=JS(this,o,e,a,t),c=Wj(l,u,n.update),h=ZS(o,e,t),f=h.x,d=h.y,v=Ba(this,{transform:"translate(".concat(f,", ").concat(d,")")},n.update);return(0,Y.ev)((0,Y.ev)([],(0,Y.CR)(c),!1),[v],!1)}).call(function(o){var l=ii(o,"_transitions").flat().filter(XS);Hj(l,function(){QS.call(r,t)})})},function(s){return s.transition(function(){var o=this,l=Rv(this.childNodes[0],n.exit);return su(l,function(){return Mt(o).remove()}),l})}).transitions()}function qS(r,e){return ly(r,e.tickDirection,e)}function TH(r,e){var t=(0,Y.CR)(r,2),n=t[0],i=t[1];return[[0,0],[n*e,i*e]]}function AH(r,e,t,n,i){var a=i.tickLength,s=(0,Y.CR)(TH(n,ca(a,[r,e,t])),2),o=(0,Y.CR)(s[0],2),l=o[0],u=o[1],c=(0,Y.CR)(s[1],2),h=c[0],f=c[1];return{x1:l,x2:h,y1:u,y2:f}}function OH(r,e,t,n,i){var a=i.tickFormatter,s=qS(e.value,i),o="line";return pt(a)&&(o=function(){return ca(a,[e,t,n,s])}),r.append(o).attr("className",Mn.tickItem.name)}function kH(r,e,t,n,i,a,s){var o=qS(r.value,a),l=AH(r,e,t,o,a),u=l.x1,c=l.x2,h=l.y1,f=l.y2,d=(0,Y.CR)(Os(LS(s,[r,e,t,o])),2),v=d[0],g=d[1];n.node().nodeName==="line"&&n.styles((0,Y.pi)({x1:u,x2:c,y1:h,y2:f},v)),i.attr(g),n.styles(v)}function $S(r,e,t,n,i,a){var s=OH(Mt(this),r,e,t,n);kH(r,e,t,s,this,n,i);var o=(0,Y.CR)(Dv(r.value,n),2),l=o[0],u=o[1];return Ba(this,{transform:"translate(".concat(l,", ").concat(u,")")},a)}function CH(r,e,t,n){var i=oy(e,t.tickFilter),a=zt(t,"tick");return r.selectAll(Mn.tick.class).data(i,function(s){return s.id||s.label}).join(function(s){return s.append("g").attr("className",Mn.tick.name).transition(function(o,l){return $S.call(this,o,l,i,t,a,!1)})},function(s){return s.transition(function(o,l){return this.removeChildren(),$S.call(this,o,l,i,t,a,n.update)})},function(s){return s.transition(function(){var o=this,l=Rv(this.childNodes[0],n.exit);return su(l,function(){return o.remove()}),l})}).transitions()}function NH(r,e,t){var n=t.titlePosition,i=n===void 0?"lb":n,a=t.titleSpacing,s=Av(i),o=r.node().getLocalBounds(),l=(0,Y.CR)(o.min,2),u=l[0],c=l[1],h=(0,Y.CR)(o.halfExtents,2),f=h[0],d=h[1],v=(0,Y.CR)(e.node().getLocalBounds().halfExtents,2),g=v[0],p=v[1],m=(0,Y.CR)([u+f,c+d],2),b=m[0],x=m[1],O=(0,Y.CR)(jr(a),4),T=O[0],S=O[1],k=O[2],C=O[3];if(["start","end"].includes(i)&&t.type==="linear"){var W=t.startPos,U=t.endPos,J=(0,Y.CR)(i==="start"?[W,U]:[U,W],2),te=J[0],ie=J[1],ae=kS([-ie[0]+te[0],-ie[1]+te[1]]),ve=(0,Y.CR)(Cs(ae,T),2),Z=ve[0],H=ve[1];return{x:te[0]+Z,y:te[1]+H}}return s.includes("t")&&(x-=d+p+T),s.includes("r")&&(b+=f+g+S),s.includes("l")&&(b-=f+g+C),s.includes("b")&&(x+=d+p+k),{x:b,y:x}}function _H(r,e,t){var n=r.getGeometryBounds().halfExtents,i=n[1]*2;if(e==="vertical"){if(t==="left")return"rotate(-90) translate(0, ".concat(i/2,")");if(t==="right")return"rotate(-90) translate(0, -".concat(i/2,")")}return""}function eT(r,e,t,n,i){var a=zt(n,"title"),s=(0,Y.CR)(Os(a),2),o=s[0],l=s[1],u=l.transform,c=l.transformOrigin,h=(0,Y._T)(l,["transform","transformOrigin"]);e.styles(h);var f=u||_H(r.node(),o.direction,o.position);r.styles((0,Y.pi)((0,Y.pi)({},o),{transformOrigin:c})),HS(r.node(),f);var d=NH(Mt(t._offscreen||t.querySelector(Mn.mainGroup.class)),e,n),v=d.x,g=d.y,p=Ba(e.node(),{transform:"translate(".concat(v,", ").concat(g,")")},i);return p}function RH(r,e,t,n){var i=t.titleText;return r.selectAll(Mn.title.class).data([{title:i}].filter(function(a){return!!a.title}),function(a,s){return a.title}).join(function(a){return a.append(function(){return ks(i)}).attr("className",Mn.title.name).transition(function(){return eT(Mt(this),r,e,t,n.enter)})},function(a){return a.transition(function(){return eT(Mt(this),r,e,t,n.update)})},function(a){return a.remove()}).transitions()}function tT(r,e,t,n){var i=r.showLine,a=r.showTick,s=r.showLabel,o=e.maybeAppendByClassName(Mn.lineGroup,"g"),l=Gi(i,o,function(d){return JG(d,r,n)})||[],u=e.maybeAppendByClassName(Mn.tickGroup,"g"),c=Gi(a,u,function(d){return CH(d,t,r,n)})||[],h=e.maybeAppendByClassName(Mn.labelGroup,"g"),f=Gi(s,h,function(d){return SH(d,t,r,n)})||[];return(0,Y.ev)((0,Y.ev)((0,Y.ev)([],(0,Y.CR)(l),!1),(0,Y.CR)(c),!1),(0,Y.CR)(f),!1).filter(function(d){return!!d})}var LH=function(r){(0,Y.ZT)(e,r);function e(t){return r.call(this,t,ry)||this}return e.prototype.render=function(t,n,i){var a=this,s=t.titleText,o=t.data,l=t.animate,u=t.showTitle,c=t.showGrid,h=t.dataThreshold,f=t.truncRange,d=kG(o,h).filter(function(T){var S=T.value;return!(f&&S>f[0]&&S<f[1])}),v=fS(i===void 0?l:i),g=Mt(n).maybeAppendByClassName(Mn.gridGroup,"g"),p=Gi(c,g,function(T){return tH(T,d,t,v)})||[],m=Mt(n).maybeAppendByClassName(Mn.mainGroup,"g");s&&(!this.initialized&&v.enter||this.initialized&&v.update)&&tT(t,Mt(this.offscreenGroup),d,fS(!1));var b=tT(t,Mt(m.node()),d,v),x=Mt(n).maybeAppendByClassName(Mn.titleGroup,"g"),O=Gi(u,x,function(T){return RH(T,a,t,v)})||[];return(0,Y.ev)((0,Y.ev)((0,Y.ev)([],(0,Y.CR)(p),!1),(0,Y.CR)(b),!1),(0,Y.CR)(O),!1).flat().filter(function(T){return!!T})},e}(or);function nT(r){var e=r.canvas,t=r.touches,n=r.offsetX,i=r.offsetY;if(e){var a=e.x,s=e.y;return[a,s]}if(t){var o=t[0],l=o.clientX,u=o.clientY;return[l,u]}return n&&i?[n,i]:[0,0]}function fy(r,e){return+r.toPrecision(e)}function Iq(r){return r.toLocaleString()}function Bq(r){return r.toExponential()}function zq(r,e){return e===void 0&&(e=0),Math.abs(r)<1e3?String(r):"".concat(fy(r/1e3,e).toLocaleString(),"K")}var Fq=function(r,e,t){return r<0&&Number.isFinite(r)?e:t},jq=function(r,e,t){return r>0&&Number.isFinite(r)?e:t},Gq=function(r,e){return r*e},Hq=function(r,e){return r/2+(e||0)/2},dy=function(r){return r};class rT{constructor(e){this.options=ri({},this.getDefaultOptions()),this.update(e)}getOptions(){return this.options}update(e={}){this.options=ri({},this.options,e),this.rescale(e)}rescale(e){}}function vy(r,e){return e-r?t=>(t-r)/(e-r):t=>.5}function zv(r,...e){return e.reduce((t,n)=>i=>t(n(i)),r)}function DH(r,e,t,n,i){let a=t||0,s=n||r.length;const o=i||(l=>l);for(;a<s;){const l=Math.floor((a+s)/2);o(r[l])>e?s=l:a=l+1}return a}var IH=w(19818),BH=w.n(IH);function gy(r,e,t){let n=t;return n<0&&(n+=1),n>1&&(n-=1),n<1/6?r+(e-r)*6*n:n<1/2?e:n<2/3?r+(e-r)*(2/3-n)*6:r}function zH(r){const e=r[0]/360,t=r[1]/100,n=r[2]/100,i=r[3];if(t===0)return[n*255,n*255,n*255,i];const a=n<.5?n*(1+t):n+t-n*t,s=2*n-a,o=gy(s,a,e+1/3),l=gy(s,a,e),u=gy(s,a,e-1/3);return[o*255,l*255,u*255,i]}function iT(r){const e=BH().get(r);if(!e)return null;const{model:t,value:n}=e;return t==="rgb"?n:t==="hsl"?zH(n):null}const Fv=(r,e)=>t=>r*(1-t)+e*t,FH=(r,e)=>{const t=iT(r),n=iT(e);return t===null||n===null?t?()=>r:()=>e:i=>{const a=new Array(4);for(let c=0;c<4;c+=1){const h=t[c],f=n[c];a[c]=h*(1-i)+f*i}const[s,o,l,u]=a;return`rgba(${Math.round(s)}, ${Math.round(o)}, ${Math.round(l)}, ${u})`}},jH=(r,e)=>typeof r=="number"&&typeof e=="number"?Fv(r,e):typeof r=="string"&&typeof e=="string"?FH(r,e):()=>r,GH=(r,e)=>{const t=Fv(r,e);return n=>Math.round(t(n))};function HH(r){return r===null}function aT(r){return!Et(r)&&!HH(r)&&!Number.isNaN(r)}const py=Math.sqrt(50),my=Math.sqrt(10),yy=Math.sqrt(2);function jv(r,e,t){const n=(e-r)/Math.max(0,t),i=Math.floor(Math.log(n)/Math.LN10),a=n/$c(10,i);return i>=0?(a>=py?10:a>=my?5:a>=yy?2:1)*$c(10,i):-$c(10,-i)/(a>=py?10:a>=my?5:a>=yy?2:1)}function Xq(r,e,t){const n=Math.abs(e-r)/Math.max(0,t);let i=$c(10,Math.floor(Math.log(n)/Math.LN10));const a=n/i;return a>=py?i*=10:a>=my?i*=5:a>=yy&&(i*=2),e<r?-i:i}const XH=(r,e,t=5)=>{const n=[r,e];let i=0,a=n.length-1,s=n[i],o=n[a],l;return o<s&&([s,o]=[o,s],[i,a]=[a,i]),l=jv(s,o,t),l>0?(s=Math.floor(s/l)*l,o=Math.ceil(o/l)*l,l=jv(s,o,t)):l<0&&(s=Math.ceil(s*l)/l,o=Math.floor(o*l)/l,l=jv(s,o,t)),l>0?(n[i]=Math.floor(s/l)*l,n[a]=Math.ceil(o/l)*l):l<0&&(n[i]=Math.ceil(s*l)/l,n[a]=Math.floor(o*l)/l),n};function WH(r,e){const t=e<r?e:r,n=r>e?r:e;return i=>Math.min(Math.max(t,i),n)}const VH=(r,e,t)=>{const[n,i]=r,[a,s]=e;let o,l;return n<i?(o=vy(n,i),l=t(a,s)):(o=vy(i,n),l=t(s,a)),zv(l,o)},YH=(r,e,t)=>{const n=Math.min(r.length,e.length)-1,i=new Array(n),a=new Array(n),s=r[0]>r[n],o=s?[...r].reverse():r,l=s?[...e].reverse():e;for(let u=0;u<n;u+=1)i[u]=vy(o[u],o[u+1]),a[u]=t(l[u],l[u+1]);return u=>{const c=DH(r,u,1,n)-1,h=i[c],f=a[c];return zv(f,h)(u)}},sT=(r,e,t,n)=>(Math.min(r.length,e.length)>2?YH:VH)(r,e,n?GH:t);class UH extends rT{getDefaultOptions(){return{domain:[0,1],range:[0,1],nice:!1,clamp:!1,round:!1,interpolate:Fv,tickCount:5}}map(e){return aT(e)?this.output(e):this.options.unknown}invert(e){return aT(e)?this.input(e):this.options.unknown}nice(){if(!this.options.nice)return;const[e,t,n,...i]=this.getTickMethodOptions();this.options.domain=this.chooseNice()(e,t,n,...i)}getTicks(){const{tickMethod:e}=this.options,[t,n,i,...a]=this.getTickMethodOptions();return e(t,n,i,...a)}getTickMethodOptions(){const{domain:e,tickCount:t}=this.options,n=e[0],i=e[e.length-1];return[n,i,t]}chooseNice(){return XH}rescale(){this.nice();const[e,t]=this.chooseTransforms();this.composeOutput(e,this.chooseClamp(e)),this.composeInput(e,t,this.chooseClamp(t))}chooseClamp(e){const{clamp:t,range:n}=this.options,i=this.options.domain.map(e),a=Math.min(i.length,n.length);return t?WH(i[0],i[a-1]):dy}composeOutput(e,t){const{domain:n,range:i,round:a,interpolate:s}=this.options,o=sT(n.map(e),i,s,a);this.output=zv(o,t,e)}composeInput(e,t,n){const{domain:i,range:a}=this.options,s=sT(a,i.map(e),Fv);this.input=zv(t,n,s)}}const ZH=(r,e,t)=>{let n,i,a=r,s=e;if(a===s&&t>0)return[a];let o=jv(a,s,t);if(o===0||!Number.isFinite(o))return[];if(o>0){a=Math.ceil(a/o),s=Math.floor(s/o),i=new Array(n=Math.ceil(s-a+1));for(let l=0;l<n;l+=1)i[l]=(a+l)*o}else{o=-o,a=Math.ceil(a*o),s=Math.floor(s*o),i=new Array(n=Math.ceil(s-a+1));for(let l=0;l<n;l+=1)i[l]=(a+l)/o}return i};class Uc extends UH{getDefaultOptions(){return{domain:[0,1],range:[0,1],unknown:void 0,nice:!1,clamp:!1,round:!1,interpolate:jH,tickMethod:ZH,tickCount:5}}chooseTransforms(){return[dy,dy]}clone(){return new Uc(this.options)}}function oT({map:r,initKey:e},t){const n=e(t);return r.has(n)?r.get(n):t}function KH({map:r,initKey:e},t){const n=e(t);return r.has(n)?r.get(n):(r.set(n,t),t)}function QH({map:r,initKey:e},t){const n=e(t);return r.has(n)&&(t=r.get(n),r.delete(n)),t}function JH(r){return typeof r=="object"?r.valueOf():r}class lT extends Map{constructor(e){if(super(),this.map=new Map,this.initKey=JH,e!==null)for(const[t,n]of e)this.set(t,n)}get(e){return super.get(oT({map:this.map,initKey:this.initKey},e))}has(e){return super.has(oT({map:this.map,initKey:this.initKey},e))}set(e,t){return super.set(KH({map:this.map,initKey:this.initKey},e),t)}delete(e){return super.delete(QH({map:this.map,initKey:this.initKey},e))}}const by=Symbol("defaultUnknown");function uT(r,e,t){for(let n=0;n<e.length;n+=1)r.has(e[n])||r.set(t(e[n]),n)}function cT(r){const{value:e,from:t,to:n,mapper:i,notFoundReturn:a}=r;let s=i.get(e);if(s===void 0){if(a!==by)return a;s=t.push(e)-1,i.set(e,s)}return n[s%n.length]}function hT(r){return r instanceof Date?e=>`${e}`:typeof r=="object"?e=>JSON.stringify(e):e=>e}class xy extends rT{getDefaultOptions(){return{domain:[],range:[],unknown:by}}constructor(e){super(e)}map(e){return this.domainIndexMap.size===0&&uT(this.domainIndexMap,this.getDomain(),this.domainKey),cT({value:this.domainKey(e),mapper:this.domainIndexMap,from:this.getDomain(),to:this.getRange(),notFoundReturn:this.options.unknown})}invert(e){return this.rangeIndexMap.size===0&&uT(this.rangeIndexMap,this.getRange(),this.rangeKey),cT({value:this.rangeKey(e),mapper:this.rangeIndexMap,from:this.getRange(),to:this.getDomain(),notFoundReturn:this.options.unknown})}rescale(e){const[t]=this.options.domain,[n]=this.options.range;if(this.domainKey=hT(t),this.rangeKey=hT(n),!this.rangeIndexMap){this.rangeIndexMap=new Map,this.domainIndexMap=new Map;return}(!e||e.range)&&this.rangeIndexMap.clear(),(!e||e.domain||e.compare)&&(this.domainIndexMap.clear(),this.sortedDomain=void 0)}clone(){return new xy(this.options)}getRange(){return this.options.range}getDomain(){if(this.sortedDomain)return this.sortedDomain;const{domain:e,compare:t}=this.options;return this.sortedDomain=t?[...e].sort(t):e,this.sortedDomain}}function qH(r){const e=Math.min(...r);return r.map(t=>t/e)}function $H(r,e){const t=r.length,n=e-t;return n>0?[...r,...new Array(n).fill(1)]:n<0?r.slice(0,e):r}function eX(r){return Math.round(r*1e12)/1e12}function tX(r){const{domain:e,range:t,paddingOuter:n,paddingInner:i,flex:a,round:s,align:o}=r,l=e.length,u=$H(a,l),[c,h]=t,f=h-c,d=2/l*n+1-1/l*i,v=f/d,g=v*i/l,p=v-l*g,m=qH(u),b=m.reduce((te,ie)=>te+ie),x=p/b,O=new lT(e.map((te,ie)=>{const ae=m[ie]*x;return[te,s?Math.floor(ae):ae]})),T=new lT(e.map((te,ie)=>{const ve=m[ie]*x+g;return[te,s?Math.floor(ve):ve]})),S=Array.from(T.values()).reduce((te,ie)=>te+ie),C=(f-(S-S/l*i))*o,W=c+C;let U=s?Math.round(W):W;const J=new Array(l);for(let te=0;te<l;te+=1){J[te]=eX(U);const ie=e[te];U+=T.get(ie)}return{valueBandWidth:O,valueStep:T,adjustedRange:J}}function nX(r){var e;const{domain:t}=r,n=t.length;if(n===0)return{valueBandWidth:void 0,valueStep:void 0,adjustedRange:[]};if(!!(!((e=r.flex)===null||e===void 0)&&e.length))return tX(r);const{range:a,paddingOuter:s,paddingInner:o,round:l,align:u}=r;let c,h,f=a[0];const v=a[1]-f,g=s*2,p=n-o;c=v/Math.max(1,g+p),l&&(c=Math.floor(c)),f+=(v-c*(n-o))*u,h=c*(1-o),l&&(f=Math.round(f),h=Math.round(h));const m=new Array(n).fill(0).map((b,x)=>f+x*c);return{valueStep:c,valueBandWidth:h,adjustedRange:m}}class Ey extends xy{getDefaultOptions(){return{domain:[],range:[0,1],align:.5,round:!1,paddingInner:0,paddingOuter:0,padding:0,unknown:by,flex:[]}}constructor(e){super(e)}clone(){return new Ey(this.options)}getStep(e){return this.valueStep===void 0?1:typeof this.valueStep=="number"?this.valueStep:e===void 0?Array.from(this.valueStep.values())[0]:this.valueStep.get(e)}getBandWidth(e){return this.valueBandWidth===void 0?1:typeof this.valueBandWidth=="number"?this.valueBandWidth:e===void 0?Array.from(this.valueBandWidth.values())[0]:this.valueBandWidth.get(e)}getRange(){return this.adjustedRange}getPaddingInner(){const{padding:e,paddingInner:t}=this.options;return e>0?e:t}getPaddingOuter(){const{padding:e,paddingOuter:t}=this.options;return e>0?e:t}rescale(){super.rescale();const{align:e,domain:t,range:n,round:i,flex:a}=this.options,{adjustedRange:s,valueBandWidth:o,valueStep:l}=nX({align:e,range:n,round:i,flex:a,paddingInner:this.getPaddingInner(),paddingOuter:this.getPaddingOuter(),domain:t});this.valueStep=l,this.valueBandWidth=o,this.adjustedRange=s}}var rX=function(r){(0,Y.ZT)(e,r);function e(t){var n=this,i=t.style,a=(0,Y._T)(t,["style"]);return n=r.call(this,ri({},{type:"column"},(0,Y.pi)({style:i},a)))||this,n.columnsGroup=new ji({name:"columns"}),n.appendChild(n.columnsGroup),n.render(),n}return e.prototype.render=function(){var t=this.attributes,n=t.columns,i=t.x,a=t.y;this.columnsGroup.style.transform="translate(".concat(i,", ").concat(a,")"),Mt(this.columnsGroup).selectAll(".column").data(n.flat()).join(function(s){return s.append("rect").attr("className","column").each(function(o){this.attr(o)})},function(s){return s.each(function(o){this.attr(o)})},function(s){return s.remove()})},e.prototype.update=function(t){this.attr(Or({},this.attributes,t)),this.render()},e.prototype.clear=function(){this.removeChildren()},e}(Fi),iX=function(r){(0,Y.ZT)(e,r);function e(t){var n=this,i=t.style,a=(0,Y._T)(t,["style"]);return n=r.call(this,ri({},{type:"lines"},(0,Y.pi)({style:i},a)))||this,n.linesGroup=n.appendChild(new ji),n.areasGroup=n.appendChild(new ji),n.render(),n}return e.prototype.render=function(){var t=this.attributes,n=t.lines,i=t.areas,a=t.x,s=t.y;this.style.transform="translate(".concat(a,", ").concat(s,")"),n&&this.renderLines(n),i&&this.renderAreas(i)},e.prototype.clear=function(){this.linesGroup.removeChildren(),this.areasGroup.removeChildren()},e.prototype.update=function(t){this.attr(Or({},this.attributes,t)),this.render()},e.prototype.renderLines=function(t){Mt(this.linesGroup).selectAll(".line").data(t).join(function(n){return n.append("path").attr("className","line").each(function(i){this.attr(i)})},function(n){return n.each(function(i){this.attr(i)})},function(n){return n.remove()})},e.prototype.renderAreas=function(t){Mt(this.linesGroup).selectAll(".area").data(t).join(function(n){return n.append("path").attr("className","area").each(function(i){this.attr(i)})},function(n){return n.each(function(i){this.style(i)})},function(n){return n.remove()})},e}(Fi);function aX(r,e,t,n){var i,a=[],s=!!n,o,l,u=[1/0,1/0],c=[-1/0,-1/0],h,f,d;if(s){i=(0,Y.CR)(n,2),u=i[0],c=i[1];for(var v=0,g=r.length;v<g;v+=1){var p=r[v];u=rl(u,p),c=il(c,p)}}for(var v=0,m=r.length;v<m;v+=1){var p=r[v];if(v===0&&!t)d=p;else if(v===m-1&&!t)f=p,a.push(d),a.push(f);else{var b=[v?v-1:m-1,v-1][t?0:1];o=r[b],l=r[t?(v+1)%m:v+1];var x=[0,0];x=iy(l,o),x=Cs(x,e);var O=Xc(p,o),T=Xc(p,l),S=O+T;S!==0&&(O/=S,T/=S);var k=Cs(x,-O),C=Cs(x,T);f=Hc(p,k),h=Hc(p,C),h=rl(h,il(l,p)),h=il(h,rl(l,p)),k=iy(h,p),k=Cs(k,-O/T),f=Hc(p,k),f=rl(f,il(o,p)),f=il(f,rl(o,p)),C=iy(p,f),C=Cs(C,T/O),h=Hc(p,C),s&&(f=il(f,u),f=rl(f,c),h=il(h,u),h=rl(h,c)),a.push(d),a.push(f),d=h}}return t&&a.push(a.shift()),a}function sX(r,e,t){var n;e===void 0&&(e=!1),t===void 0&&(t=[[0,0],[1,1]]);for(var i=!!e,a=[],s=0,o=r.length;s<o;s+=2)a.push([r[s],r[s+1]]);for(var l=aX(a,.4,i,t),u=a.length,c=[],h,f,d,s=0;s<u-1;s+=1)h=l[s*2],f=l[s*2+1],d=a[s+1],c.push(["C",h[0],h[1],f[0],f[1],d[0],d[1]]);return i&&(h=l[u],f=l[u+1],n=(0,Y.CR)(a,1),d=n[0],c.push(["C",h[0],h[1],f[0],f[1],d[0],d[1]])),c}function oX(r,e){var t,n=e.x,i=e.y,a=(0,Y.CR)(i.getOptions().range||[0,0],2),s=a[0],o=a[1];return o>s&&(t=(0,Y.CR)([s,o],2),o=t[0],s=t[1]),r.map(function(l){var u=l.map(function(c,h){return[n.map(h),on(i.map(c),o,s)]});return u})}function Zc(r,e){e===void 0&&(e=!1);var t=e?r.length-1:0,n=r.map(function(i,a){return(0,Y.ev)([a===t?"M":"L"],(0,Y.CR)(i),!1)});return e?n.reverse():n}function Gv(r,e){if(e===void 0&&(e=!1),r.length<=2)return Zc(r);for(var t=[],n=r.length,i=0;i<n;i+=1){var a=e?r[n-i-1]:r[i];dr(a,t.slice(-2))||t.push.apply(t,(0,Y.ev)([],(0,Y.CR)(a),!1))}var s=sX(t,!1);return e?s.unshift((0,Y.ev)(["M"],(0,Y.CR)(r[n-1]),!1)):s.unshift((0,Y.ev)(["M"],(0,Y.CR)(r[0]),!1)),s}function wy(r,e,t){var n=Ll(r);return n.push(["L",e,t],["L",0,t],["Z"]),n}function lX(r,e,t,n){return r.map(function(i){return wy(e?Gv(i):Zc(i),t,n)})}function uX(r,e,t){for(var n=[],i=r.length-1;i>=0;i-=1){var a=r[i],s=Zc(a),o=void 0;if(i===0)o=wy(s,e,t);else{var l=r[i-1],u=Zc(l,!0);u[0][0]="L",o=(0,Y.ev)((0,Y.ev)((0,Y.ev)([],(0,Y.CR)(s),!1),(0,Y.CR)(u),!1),[["Z"]],!1)}n.push(o)}return n}function cX(r,e,t){for(var n=[],i=r.length-1;i>=0;i-=1){var a=r[i],s=Gv(a),o=void 0;if(i===0)o=wy(s,e,t);else{var l=r[i-1],u=Gv(l,!0),c=a[0];u[0][0]="L",o=(0,Y.ev)((0,Y.ev)((0,Y.ev)([],(0,Y.CR)(s),!1),(0,Y.CR)(u),!1),[(0,Y.ev)(["M"],(0,Y.CR)(c),!1),["Z"]],!1)}n.push(o)}return n}var hX=function(r,e){if(pi(r)){for(var t,n=1/0,i=0;i<r.length;i++){var a=r[i],s=pt(e)?e(a):a[e];s<n&&(t=a,n=s)}return t}},fX=function(r,e){if(pi(r)){for(var t,n=-1/0,i=0;i<r.length;i++){var a=r[i],s=pt(e)?e(a):a[e];s>n&&(t=a,n=s)}return t}};function fT(r){return r.length===0?[0,0]:[dl(hX(r,function(e){return dl(e)||0})),vl(fX(r,function(e){return vl(e)||0}))]}function dT(r){for(var e=Ll(r),t=e[0].length,n=(0,Y.CR)([Array(t).fill(0),Array(t).fill(0)],2),i=n[0],a=n[1],s=0;s<e.length;s+=1)for(var o=e[s],l=0;l<t;l+=1)o[l]>=0?(o[l]+=i[l],i[l]=o[l]):(o[l]+=a[l],a[l]=o[l]);return e}var dX=function(r){(0,Y.ZT)(e,r);function e(t){return r.call(this,t,{type:"line",x:0,y:0,width:200,height:20,isStack:!1,color:["#83daad","#edbf45","#d2cef9","#e290b3","#6f63f4"],smooth:!0,lineLineWidth:1,areaOpacity:0,isGroup:!1,columnLineWidth:1,columnStroke:"#fff",scale:1,spacing:0})||this}return Object.defineProperty(e.prototype,"rawData",{get:function(){var t=this.attributes.data;if(!t||(t==null?void 0:t.length)===0)return[[]];var n=Ll(t);return ht(n[0])?[n]:n},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"data",{get:function(){return this.attributes.isStack?dT(this.rawData):this.rawData},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"scales",{get:function(){return this.createScales(this.data)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"baseline",{get:function(){var t=this.scales.y,n=(0,Y.CR)(t.getOptions().domain||[0,0],2),i=n[0],a=n[1];return a<0?t.map(a):t.map(i<0?0:i)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"containerShape",{get:function(){var t=this.attributes,n=t.width,i=t.height;return{width:n,height:i}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"linesStyle",{get:function(){var t=this,n=this.attributes,i=n.type,a=n.isStack,s=n.smooth;if(i!=="line")throw new Error("linesStyle can only be used in line type");var o=zt(this.attributes,"area"),l=zt(this.attributes,"line"),u=this.containerShape.width,c=this.data;if(c[0].length===0)return{lines:[],areas:[]};var h=this.scales,f=h.x,d=h.y,v=oX(c,{type:"line",x:f,y:d}),g=[];if(o){var p=this.baseline;a?g=s?cX(v,u,p):uX(v,u,p):g=lX(v,s,u,p)}return{lines:v.map(function(m,b){return(0,Y.pi)({stroke:t.getColor(b),d:s?Gv(m):Zc(m)},l)}),areas:g.map(function(m,b){return(0,Y.pi)({d:m,fill:t.getColor(b)},o)})}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"columnsStyle",{get:function(){var t=this,n=zt(this.attributes,"column"),i=this.attributes,a=i.isStack,s=i.type,o=i.scale;if(s!=="column")throw new Error("columnsStyle can only be used in column type");var l=this.containerShape.height,u=this.rawData;if(!u)return{columns:[]};a&&(u=dT(u));var c=this.createScales(u),h=c.x,f=c.y,d=(0,Y.CR)(fT(u),2),v=d[0],g=d[1],p=new Uc({domain:[0,g-(v>0?0:v)],range:[0,l*o]}),m=h.getBandWidth(),b=this.rawData;return{columns:u.map(function(x,O){return x.map(function(T,S){var k=m/u.length,C=function(){return{x:h.map(S)+k*O,y:T>=0?f.map(T):f.map(0),width:k,height:p.map(Math.abs(T))}},W=function(){return{x:h.map(S),y:f.map(T),width:m,height:p.map(b[O][S])}};return(0,Y.pi)((0,Y.pi)({fill:t.getColor(O)},n),a?W():C())})})}},enumerable:!1,configurable:!0}),e.prototype.render=function(t,n){Dj(n,".container","rect").attr("className","container").node();var i=t.type,a=t.x,s=t.y,o="spark".concat(i),l=(0,Y.pi)({x:a,y:s},i==="line"?this.linesStyle:this.columnsStyle);Mt(n).selectAll(".spark").data([i]).join(function(u){return u.append(function(c){return c==="line"?new iX({className:o,style:l}):new rX({className:o,style:l})}).attr("className","spark ".concat(o))},function(u){return u.update(l)},function(u){return u.remove()})},e.prototype.getColor=function(t){var n=this.attributes.color;return pi(n)?n[t%n.length]:pt(n)?n.call(null,t):n},e.prototype.createScales=function(t){var n,i,a=this.attributes,s=a.type,o=a.scale,l=a.range,u=l===void 0?[]:l,c=a.spacing,h=this.containerShape,f=h.width,d=h.height,v=(0,Y.CR)(fT(t),2),g=v[0],p=v[1],m=new Uc({domain:[(n=u[0])!==null&&n!==void 0?n:g,(i=u[1])!==null&&i!==void 0?i:p],range:[d,d*(1-o)]});return s==="line"?{type:s,x:new Uc({domain:[0,t[0].length-1],range:[0,f]}),y:m}:{type:s,x:new Ey({domain:t[0].map(function(b,x){return x}),range:[0,f],paddingInner:c,paddingOuter:c/2,align:.5}),y:m}},e.tag="sparkline",e}(or),vT={fill:"#fff",lineWidth:1,radius:2,size:10,stroke:"#bfbfbf",strokeOpacity:1,zIndex:0},gT={fill:"#000",fillOpacity:.45,fontSize:12,textAlign:"center",textBaseline:"middle",zIndex:1},pT={x:0,y:0,orientation:"horizontal",showLabel:!0,type:"start"},os=Ia({foreground:"foreground",handle:"handle",selection:"selection",sparkline:"sparkline",sparklineGroup:"sparkline-group",track:"track",brushArea:"brush-area"},"slider"),ho=Ia({labelGroup:"label-group",label:"label",iconGroup:"icon-group",icon:"icon",iconRect:"icon-rect",iconLine:"icon-line"},"handle"),vX=function(r){(0,Y.ZT)(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.render=function(t,n){var i=t.x,a=t.y,s=t.size,o=s===void 0?10:s,l=t.radius,u=l===void 0?o/4:l,c=t.orientation,h=(0,Y._T)(t,["x","y","size","radius","orientation"]),f=o,d=f*2.4,v=Mt(n).maybeAppendByClassName(ho.iconRect,"rect").styles((0,Y.pi)((0,Y.pi)({},h),{width:f,height:d,radius:u,x:i-f/2,y:a-d/2,transformOrigin:"center"})),g=i+1/3*f-f/2,p=i+2/3*f-f/2,m=a+1/4*d-d/2,b=a+3/4*d-d/2;v.maybeAppendByClassName("".concat(ho.iconLine,"-1"),"line").styles((0,Y.pi)({x1:g,x2:g,y1:m,y2:b},h)),v.maybeAppendByClassName("".concat(ho.iconLine,"-2"),"line").styles((0,Y.pi)({x1:p,x2:p,y1:m,y2:b},h)),c==="vertical"&&(v.node().style.transform="rotate(90)")},e}(or),gX=function(r){(0,Y.ZT)(e,r);function e(t){return r.call(this,t,pT)||this}return e.prototype.renderLabel=function(t){var n=this,i=this.attributes,a=i.x,s=i.y,o=i.showLabel,l=zt(this.attributes,"label"),u=l.x,c=u===void 0?0:u,h=l.y,f=h===void 0?0:h,d=l.transform,v=l.transformOrigin,g=(0,Y._T)(l,["x","y","transform","transformOrigin"]),p=(0,Y.CR)(Os(g,[]),2),m=p[0],b=p[1],x=Mt(t).maybeAppendByClassName(ho.labelGroup,"g").styles(b),O=(0,Y.pi)((0,Y.pi)({},gT),m),T=O.text,S=(0,Y._T)(O,["text"]);Gi(!!o,x,function(k){n.label=k.maybeAppendByClassName(ho.label,"text").styles((0,Y.pi)((0,Y.pi)({},S),{x:a+c,y:s+f,transform:d,transformOrigin:v,text:"".concat(T)})),n.label.on("mousedown",function(C){C.stopPropagation()}),n.label.on("touchstart",function(C){C.stopPropagation()})})},e.prototype.renderIcon=function(t){var n=this.attributes,i=n.x,a=n.y,s=n.orientation,o=n.type,l=(0,Y.pi)((0,Y.pi)({x:i,y:a,orientation:s},vT),zt(this.attributes,"icon")),u=this.attributes.iconShape,c=u===void 0?function(){return new vX({style:l})}:u,h=Mt(t).maybeAppendByClassName(ho.iconGroup,"g");h.selectAll(ho.icon.class).data([c]).join(function(f){return f.append(typeof c=="string"?c:function(){return c(o)}).attr("className",ho.icon.name)},function(f){return f.update(l)},function(f){return f.remove()})},e.prototype.render=function(t,n){this.renderIcon(n),this.renderLabel(n)},e}(or),pX=function(r){(0,Y.ZT)(e,r);function e(t){var n=r.call(this,t,(0,Y.pi)((0,Y.pi)((0,Y.pi)({x:0,y:0,animate:{duration:100,fill:"both"},brushable:!0,formatter:function(i){return i.toString()},handleSpacing:2,orientation:"horizontal",padding:0,autoFitLabel:!0,scrollable:!0,selectionFill:"#5B8FF9",selectionFillOpacity:.45,selectionZIndex:2,showHandle:!0,showLabel:!0,slidable:!0,trackFill:"#416180",trackLength:200,trackOpacity:.05,trackSize:20,trackZIndex:-1,values:[0,1],type:"range",selectionType:"select",handleIconOffset:0},au(pT,"handle")),au(vT,"handleIcon")),au(gT,"handleLabel")))||this;return n.range=[0,1],n.onDragStart=function(i){return function(a){a.stopPropagation(),n.target=i,n.prevPos=n.getOrientVal(nT(a));var s=n.availableSpace,o=s.x,l=s.y,u=n.getBBox(),c=u.x,h=u.y;n.selectionStartPos=n.getRatio(n.prevPos-n.getOrientVal([o,l])-n.getOrientVal([+c,+h])),n.selectionWidth=0,document.addEventListener("pointermove",n.onDragging),document.addEventListener("pointerup",n.onDragEnd)}},n.onDragging=function(i){var a=n.attributes,s=a.slidable,o=a.brushable,l=a.type;i.stopPropagation();var u=n.getOrientVal(nT(i)),c=u-n.prevPos;if(c){var h=n.getRatio(c);switch(n.target){case"start":s&&n.setValuesOffset(h);break;case"end":s&&n.setValuesOffset(0,h);break;case"selection":s&&n.setValuesOffset(h,h);break;case"track":if(!o)return;n.selectionWidth+=h,l==="range"?n.innerSetValues([n.selectionStartPos,n.selectionStartPos+n.selectionWidth].sort(),!0):n.innerSetValues([0,n.selectionStartPos+n.selectionWidth],!0);break;default:break}n.prevPos=u}},n.onDragEnd=function(){document.removeEventListener("pointermove",n.onDragging),document.removeEventListener("pointermove",n.onDragging),document.removeEventListener("pointerup",n.onDragEnd),n.target="",n.updateHandlesPosition(!1)},n.onValueChange=function(i){var a=n.attributes,s=a.onChange,o=a.type,l=o==="range"?i:i[1],u=o==="range"?n.getValues():n.getValues()[1],c=new zi("valuechange",{detail:{oldValue:l,value:u}});n.dispatchEvent(c),s==null||s(u)},n.selectionStartPos=0,n.selectionWidth=0,n.prevPos=0,n.target="",n}return Object.defineProperty(e.prototype,"values",{get:function(){return this.attributes.values},set:function(t){this.attributes.values=this.clampValues(t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"sparklineStyle",{get:function(){var t=this.attributes.orientation;if(t!=="horizontal")return null;var n=zt(this.attributes,"sparkline");return(0,Y.pi)((0,Y.pi)({zIndex:0},this.availableSpace),n)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"shape",{get:function(){var t=this.attributes,n=t.trackLength,i=t.trackSize,a=(0,Y.CR)(this.getOrientVal([[n,i],[i,n]]),2),s=a[0],o=a[1];return{width:s,height:o}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"availableSpace",{get:function(){var t=this.attributes,n=t.x,i=t.y,a=t.padding,s=(0,Y.CR)(jr(a),4),o=s[0],l=s[1],u=s[2],c=s[3],h=this.shape,f=h.width,d=h.height;return{x:c,y:o,width:f-(c+l),height:d-(o+u)}},enumerable:!1,configurable:!0}),e.prototype.getValues=function(){return this.values},e.prototype.setValues=function(t,n){t===void 0&&(t=[0,0]),n===void 0&&(n=!1),this.attributes.values=t;var i=n===!1?!1:this.attributes.animate;this.updateSelectionArea(i),this.updateHandlesPosition(i)},e.prototype.updateSelectionArea=function(t){var n=this.calcSelectionArea();this.foregroundGroup.selectAll(os.selection.class).each(function(i,a){Ba(this,n[a],t)})},e.prototype.updateHandlesPosition=function(t){this.attributes.showHandle&&(this.startHandle&&Ba(this.startHandle,this.getHandleStyle("start"),t),this.endHandle&&Ba(this.endHandle,this.getHandleStyle("end"),t))},e.prototype.innerSetValues=function(t,n){t===void 0&&(t=[0,0]),n===void 0&&(n=!1);var i=this.values,a=this.clampValues(t);this.attributes.values=a,this.setValues(a),n&&this.onValueChange(i)},e.prototype.renderTrack=function(t){var n=this.attributes,i=n.x,a=n.y,s=zt(this.attributes,"track");this.trackShape=Mt(t).maybeAppendByClassName(os.track,"rect").styles((0,Y.pi)((0,Y.pi)({x:i,y:a},this.shape),s))},e.prototype.renderBrushArea=function(t){var n=this.attributes,i=n.x,a=n.y,s=n.brushable;this.brushArea=Mt(t).maybeAppendByClassName(os.brushArea,"rect").styles((0,Y.pi)({x:i,y:a,fill:"transparent",cursor:s?"crosshair":"default"},this.shape))},e.prototype.renderSparkline=function(t){var n=this,i=this.attributes,a=i.x,s=i.y,o=i.orientation,l=Mt(t).maybeAppendByClassName(os.sparklineGroup,"g");Gi(o==="horizontal",l,function(u){var c=(0,Y.pi)((0,Y.pi)({},n.sparklineStyle),{x:a,y:s});u.maybeAppendByClassName(os.sparkline,function(){return new dX({style:c})}).update(c)})},e.prototype.renderHandles=function(){var t=this,n,i=this.attributes,a=i.showHandle,s=i.type,o=s==="range"?["start","end"]:["end"],l=a?o:[],u=this;(n=this.foregroundGroup)===null||n===void 0||n.selectAll(os.handle.class).data(l.map(function(c){return{type:c}}),function(c){return c.type}).join(function(c){return c.append(function(h){var f=h.type;return new gX({style:t.getHandleStyle(f)})}).each(function(h){var f=h.type;this.attr("class","".concat(os.handle.name," ").concat(f,"-handle"));var d="".concat(f,"Handle");u[d]=this,this.addEventListener("pointerdown",u.onDragStart(f))})},function(c){return c.each(function(h){var f=h.type;this.update(u.getHandleStyle(f))})},function(c){return c.each(function(h){var f=h.type,d="".concat(f,"Handle");u[d]=void 0}).remove()})},e.prototype.renderSelection=function(t){var n=this.attributes,i=n.x,a=n.y,s=n.type,o=n.selectionType;this.foregroundGroup=Mt(t).maybeAppendByClassName(os.foreground,"g");var l=zt(this.attributes,"selection"),u=function(h){return h.style("visibility",function(f){return f.show?"visible":"hidden"}).style("cursor",function(f){return o==="select"?"grab":o==="invert"?"crosshair":"default"}).styles((0,Y.pi)((0,Y.pi)({},l),{transform:"translate(".concat(i,", ").concat(a,")")}))},c=this;this.foregroundGroup.selectAll(os.selection.class).data(s==="value"?[]:this.calcSelectionArea().map(function(h,f){return{style:(0,Y.pi)({},h),index:f,show:o==="select"?f===1:f!==1}}),function(h){return h.index}).join(function(h){return h.append("rect").attr("className",os.selection.name).call(u).each(function(f,d){var v=this;d===1?(c.selectionShape=Mt(this),this.on("pointerdown",function(g){v.attr("cursor","grabbing"),c.onDragStart("selection")(g)}),c.dispatchCustomEvent(this,"pointerenter","selectionMouseenter"),c.dispatchCustomEvent(this,"pointerleave","selectionMouseleave"),c.dispatchCustomEvent(this,"click","selectionClick"),this.addEventListener("pointerdown",function(){v.attr("cursor","grabbing")}),this.addEventListener("pointerup",function(){v.attr("cursor","pointer")}),this.addEventListener("pointerover",function(){v.attr("cursor","pointer")})):this.on("pointerdown",c.onDragStart("track"))})},function(h){return h.call(u)},function(h){return h.remove()}),this.updateSelectionArea(!1),this.renderHandles()},e.prototype.render=function(t,n){this.renderTrack(n),this.renderSparkline(n),this.renderBrushArea(n),this.renderSelection(n)},e.prototype.clampValues=function(t,n){var i;n===void 0&&(n=4);var a=(0,Y.CR)(this.range,2),s=a[0],o=a[1],l=(0,Y.CR)(this.getValues().map(function(p){return fy(p,n)}),2),u=l[0],c=l[1],h=Array.isArray(t)?t:[u,t!=null?t:c],f=(0,Y.CR)((h||[u,c]).map(function(p){return fy(p,n)}),2),d=f[0],v=f[1];if(this.attributes.type==="value")return[0,on(v,s,o)];d>v&&(i=(0,Y.CR)([v,d],2),d=i[0],v=i[1]);var g=v-d;return g>o-s?[s,o]:d<s?u===s&&c===v?[s,v]:[s,g+s]:v>o?c===o&&u===d?[d,o]:[o-g,o]:[d,v]},e.prototype.calcSelectionArea=function(t){var n=(0,Y.CR)(this.clampValues(t),2),i=n[0],a=n[1],s=this.availableSpace,o=s.x,l=s.y,u=s.width,c=s.height;return this.getOrientVal([[{y:l,height:c,x:o,width:i*u},{y:l,height:c,x:i*u+o,width:(a-i)*u},{y:l,height:c,x:a*u,width:(1-a)*u}],[{x:o,width:u,y:l,height:i*c},{x:o,width:u,y:i*c+l,height:(a-i)*c},{x:o,width:u,y:a*c,height:(1-a)*c}]])},e.prototype.calcHandlePosition=function(t){var n=this.attributes.handleIconOffset,i=this.availableSpace,a=i.x,s=i.y,o=i.width,l=i.height,u=(0,Y.CR)(this.clampValues(),2),c=u[0],h=u[1],f=t==="start"?-n:n,d=(t==="start"?c:h)*this.getOrientVal([o,l])+f;return{x:a+this.getOrientVal([d,o/2]),y:s+this.getOrientVal([l/2,d])}},e.prototype.inferTextStyle=function(t){var n=this.attributes.orientation;return n==="horizontal"?{}:t==="start"?{transformOrigin:"left center",transform:"rotate(90)",textAlign:"start"}:t==="end"?{transformOrigin:"right center",transform:"rotate(90)",textAlign:"end"}:{}},e.prototype.calcHandleText=function(t){var n,i=this.attributes,a=i.type,s=i.orientation,o=i.formatter,l=i.autoFitLabel,u=zt(this.attributes,"handle"),c=zt(u,"label"),h=u.spacing,f=this.getHandleSize(),d=this.clampValues(),v=t==="start"?d[0]:d[1],g=o(v),p=new Zm({style:(0,Y.pi)((0,Y.pi)((0,Y.pi)({},c),this.inferTextStyle(t)),{text:g})}),m=p.getBBox(),b=m.width,x=m.height;if(p.destroy(),!l){if(a==="value")return{text:g,x:0,y:-x-h};var O=h+f+(s==="horizontal"?b/2:0);return n={text:g},n[s==="horizontal"?"x":"y"]=t==="start"?-O:O,n}var T=0,S=0,k=this.availableSpace,C=k.width,W=k.height,U=this.calcSelectionArea()[1],J=U.x,te=U.y,ie=U.width,ae=U.height,ve=h+f;if(s==="horizontal"){var Z=ve+b/2;if(t==="start"){var H=J-ve-b;T=H>0?-Z:Z}else{var X=C-J-ie-ve>b;T=X?Z:-Z}}else{var q=ve,oe=x+ve;t==="start"?S=te-f>x?-oe:q:S=W-(te+ae)-f>x?oe:-q}return{x:T,y:S,text:g}},e.prototype.getHandleLabelStyle=function(t){var n=zt(this.attributes,"handleLabel");return(0,Y.pi)((0,Y.pi)((0,Y.pi)({},n),this.calcHandleText(t)),this.inferTextStyle(t))},e.prototype.getHandleIconStyle=function(){var t=this.attributes.handleIconShape,n=zt(this.attributes,"handleIcon"),i=this.getOrientVal(["ew-resize","ns-resize"]),a=this.getHandleSize();return(0,Y.pi)({cursor:i,shape:t,size:a},n)},e.prototype.getHandleStyle=function(t){var n=this.attributes,i=n.x,a=n.y,s=n.showLabel,o=n.showLabelOnInteraction,l=n.orientation,u=this.calcHandlePosition(t),c=u.x,h=u.y,f=this.calcHandleText(t),d=s;return!s&&o&&(this.target?d=!0:d=!1),(0,Y.pi)((0,Y.pi)((0,Y.pi)({},au(this.getHandleIconStyle(),"icon")),au((0,Y.pi)((0,Y.pi)({},this.getHandleLabelStyle(t)),f),"label")),{transform:"translate(".concat(c+i,", ").concat(h+a,")"),orientation:l,showLabel:d,type:t,zIndex:3})},e.prototype.getHandleSize=function(){var t=this.attributes,n=t.handleIconSize,i=t.width,a=t.height;return n||Math.floor((this.getOrientVal([+a,+i])+4)/2.4)},e.prototype.getOrientVal=function(t){var n=(0,Y.CR)(t,2),i=n[0],a=n[1],s=this.attributes.orientation;return s==="horizontal"?i:a},e.prototype.setValuesOffset=function(t,n,i){n===void 0&&(n=0),i===void 0&&(i=!1);var a=this.attributes.type,s=(0,Y.CR)(this.getValues(),2),o=s[0],l=s[1],u=a==="range"?t:0,c=[o+u,l+n].sort();i?this.setValues(c):this.innerSetValues(c,!0)},e.prototype.getRatio=function(t){var n=this.availableSpace,i=n.width,a=n.height;return t/this.getOrientVal([i,a])},e.prototype.dispatchCustomEvent=function(t,n,i){var a=this;t.on(n,function(s){s.stopPropagation(),a.dispatchEvent(new zi(i,{detail:s}))})},e.prototype.bindEvents=function(){this.addEventListener("wheel",this.onScroll);var t=this.brushArea;this.dispatchCustomEvent(t,"click","trackClick"),this.dispatchCustomEvent(t,"pointerenter","trackMouseenter"),this.dispatchCustomEvent(t,"pointerleave","trackMouseleave"),t.on("pointerdown",this.onDragStart("track"))},e.prototype.onScroll=function(t){var n=this.attributes.scrollable;if(n){var i=t.deltaX,a=t.deltaY,s=a||i,o=this.getRatio(s);this.setValuesOffset(o,o,!0)}},e.tag="slider",e}(or),mX={backgroundFill:"#262626",backgroundLineCap:"round",backgroundLineWidth:1,backgroundStroke:"#333",backgroundZIndex:-1,formatter:function(r){return r.toString()},labelFill:"#fff",labelFontSize:12,labelTextBaseline:"middle",padding:[2,4],position:"right",radius:0,zIndex:999},Py=Ia({background:"background",labelGroup:"label-group",label:"label"},"indicator"),yX=function(r){(0,Y.ZT)(e,r);function e(t){var n=r.call(this,t,mX)||this;return n.point=[0,0],n.group=n.appendChild(new ji({})),n.isMutationObserved=!0,n}return e.prototype.renderBackground=function(){if(this.label){var t=this.attributes,n=t.position,i=t.padding,a=(0,Y.CR)(jr(i),4),s=a[0],o=a[1],l=a[2],u=a[3],c=this.label.node().getLocalBounds(),h=c.min,f=c.max,d=new Zr(h[0]-u,h[1]-s,f[0]+o-h[0]+u,f[1]+l-h[1]+s),v=this.getPath(n,d),g=zt(this.attributes,"background");this.background=Mt(this.group).maybeAppendByClassName(Py.background,"path").styles((0,Y.pi)((0,Y.pi)({},g),{d:v})),this.group.appendChild(this.label.node())}},e.prototype.renderLabel=function(){var t=this.attributes,n=t.formatter,i=t.labelText,a=zt(this.attributes,"label"),s=(0,Y.CR)(Os(a),2),o=s[0],l=s[1],u=o.text,c=(0,Y._T)(o,["text"]);if(this.label=Mt(this.group).maybeAppendByClassName(Py.labelGroup,"g").styles(l),!!i){var h=this.label.maybeAppendByClassName(Py.label,function(){return ks(n(i))}).style("text",n(i).toString());h.selectAll("text").styles(c)}},e.prototype.adjustLayout=function(){var t=(0,Y.CR)(this.point,2),n=t[0],i=t[1],a=this.attributes,s=a.x,o=a.y;this.group.attr("transform","translate(".concat(s-n,", ").concat(o-i,")"))},e.prototype.getPath=function(t,n){var i=this.attributes.radius,a=n.x,s=n.y,o=n.width,l=n.height,u=[["M",a+i,s],["L",a+o-i,s],["A",i,i,0,0,1,a+o,s+i],["L",a+o,s+l-i],["A",i,i,0,0,1,a+o-i,s+l],["L",a+i,s+l],["A",i,i,0,0,1,a,s+l-i],["L",a,s+i],["A",i,i,0,0,1,a+i,s],["Z"]],c={top:4,right:6,bottom:0,left:2},h=c[t],f=this.createCorner([u[h].slice(-2),u[h+1].slice(-2)]);return u.splice.apply(u,(0,Y.ev)([h+1,1],(0,Y.CR)(f),!1)),u[0][0]="M",u},e.prototype.createCorner=function(t,n){n===void 0&&(n=10);var i=.8,a=pG.apply(void 0,(0,Y.ev)([],(0,Y.CR)(t),!1)),s=(0,Y.CR)(t,2),o=(0,Y.CR)(s[0],2),l=o[0],u=o[1],c=(0,Y.CR)(s[1],2),h=c[0],f=c[1],d=(0,Y.CR)(a?[h-l,[l,h]]:[f-u,[u,f]],2),v=d[0],g=(0,Y.CR)(d[1],2),p=g[0],m=g[1],b=v/2,x=v/Math.abs(v),O=n*x,T=O/2,S=O*Math.sqrt(3)/2*i,k=(0,Y.CR)([p,p+b-T,p+b,p+b+T,m],5),C=k[0],W=k[1],U=k[2],J=k[3],te=k[4];return a?(this.point=[U,u-S],[["L",C,u],["L",W,u],["L",U,u-S],["L",J,u],["L",te,u]]):(this.point=[l+S,U],[["L",l,C],["L",l,W],["L",l+S,U],["L",l,J],["L",l,te]])},e.prototype.applyVisibility=function(){var t=this.attributes.visibility;t==="hidden"?Da(this):Fc(this)},e.prototype.bindEvents=function(){this.label.on(sr.BOUNDS_CHANGED,this.renderBackground)},e.prototype.render=function(){this.renderLabel(),this.renderBackground(),this.adjustLayout(),this.applyVisibility()},e}(or),bX=function(r){(0,Y.ZT)(e,r);function e(t){var n=r.call(this,Or({},e.defaultOptions,t))||this;return n.hoverColor="#f5f5f5",n.selectedColor="#e6f7ff",n.background=n.appendChild(new iu({})),n.label=n.background.appendChild(new ji({})),n}return Object.defineProperty(e.prototype,"padding",{get:function(){return jr(this.style.padding)},enumerable:!1,configurable:!0}),e.prototype.renderLabel=function(){var t=this.style,n=t.label,i=t.value,a=zt(this.attributes,"label");Mt(this.label).maybeAppend(".label",function(){return ks(n)}).attr("className","label").styles(a),this.label.attr("__data__",i)},e.prototype.renderBackground=function(){var t=this.label.getBBox(),n=(0,Y.CR)(this.padding,4),i=n[0],a=n[1],s=n[2],o=n[3],l=t.width,u=t.height,c=l+o+a,h=u+i+s,f=zt(this.attributes,"background"),d=this.style,v=d.width,g=v===void 0?0:v,p=d.height,m=p===void 0?0:p,b=d.selected;this.background.attr((0,Y.pi)((0,Y.pi)({},f),{width:Math.max(c,g),height:Math.max(h,m),fill:b?this.selectedColor:"#fff"})),this.label.attr({transform:"translate(".concat(o,", ").concat((h-u)/2,")")})},e.prototype.render=function(){this.renderLabel(),this.renderBackground()},e.prototype.bindEvents=function(){var t=this;this.addEventListener("pointerenter",function(){t.style.selected||t.background.attr("fill",t.hoverColor)}),this.addEventListener("pointerleave",function(){t.style.selected||t.background.attr("fill",t.style.backgroundFill)});var n=this;this.addEventListener("click",function(){var i=t.style,a=i.label,s=i.value,o=i.onClick;o==null||o(s,{label:a,value:s},n)})},e.defaultOptions={style:{value:"",label:"",cursor:"pointer"}},e}(or),xX=function(r){(0,Y.ZT)(e,r);function e(t){var n,i,a=r.call(this,Or({},e.defaultOptions,t))||this;a.currentValue=(n=e.defaultOptions.style)===null||n===void 0?void 0:n.defaultValue,a.isPointerInSelect=!1,a.select=a.appendChild(new iu({className:"select",style:{cursor:"pointer",width:0,height:0}})),a.dropdown=a.appendChild(new iu({className:"dropdown"}));var s=a.style.defaultValue;return s&&(!((i=a.style.options)===null||i===void 0)&&i.some(function(o){return o.value===s}))&&(a.currentValue=s),a}return e.prototype.setValue=function(t){this.currentValue=t,this.render()},e.prototype.getValue=function(){return this.currentValue},Object.defineProperty(e.prototype,"dropdownPadding",{get:function(){return jr(this.style.dropdownPadding)},enumerable:!1,configurable:!0}),e.prototype.renderSelect=function(){var t=this,n,i=this.style,a=i.x,s=i.y,o=i.width,l=i.height,u=i.bordered,c=i.showDropdownIcon,h=zt(this.attributes,"select"),f=zt(this.attributes,"placeholder");this.select.attr((0,Y.pi)((0,Y.pi)({x:a,y:s,width:o,height:l},h),{fill:"#fff",strokeWidth:u?1:0}));var d=this.dropdownPadding,v=10;c&&Mt(this.select).maybeAppend(".dropdown-icon","path").style("d","M-5,-3.5 L0,3.5 L5,-3.5").style("transform","translate(".concat(a+o-v-d[1]-d[3],", ").concat(s+l/2,")")).style("lineWidth",1).style("stroke",this.select.style.stroke);var g=(n=this.style.options)===null||n===void 0?void 0:n.find(function(x){return x.value===t.currentValue}),p=(0,Y.pi)({x:a+d[3]},f);Mt(this.select).selectAll(".placeholder").data(g?[]:[1]).join(function(x){return x.append("text").attr("className","placeholder").styles(p).style("y",function(){var O=this.getBBox();return s+(l-O.height)/2})},function(x){return x.styles(p)},function(x){return x.remove()});var m=zt(this.attributes,"optionLabel"),b=(0,Y.pi)({x:a+d[3]},m);Mt(this.select).selectAll(".value").data(g?[g]:[]).join(function(x){return x.append(function(O){return ks(O.label)}).attr("className","value").styles(b).style("y",function(){var O=this.getBBox();return s+(l-O.height)/2})},function(x){return x.styles(b)},function(x){return x.remove()})},e.prototype.renderDropdown=function(){var t=this,n,i,a=this.style,s=a.x,o=a.y,l=a.width,u=a.height,c=a.options,h=a.onSelect,f=a.open,d=zt(this.attributes,"dropdown"),v=zt(this.attributes,"option"),g=this.dropdownPadding;Mt(this.dropdown).maybeAppend(".dropdown-container","g").attr("className","dropdown-container").selectAll(".dropdown-item").data(c,function(b){return b.value}).join(function(b){return b.append(function(x){return new bX({className:"dropdown-item",style:(0,Y.pi)((0,Y.pi)((0,Y.pi)({},x),v),{width:l-g[1]-g[3],selected:x.value===t.currentValue,onClick:function(O,T,S){t.setValue(O),h==null||h(O,T,S),t.dispatchEvent(new zi("change",{detail:{value:O,option:T,item:S}})),Da(t.dropdown)}})})}).each(function(x,O){var T,S=(T=this.parentNode)===null||T===void 0?void 0:T.children,k=S.reduce(function(C,W,U){return U<O&&(C+=W.getBBox().height),C},0);this.attr("transform","translate(".concat(g[3],", ").concat(g[0]+k,")"))})},function(b){return b.update(function(x){return{selected:x.value===t.currentValue}})},function(b){return b.remove()});var p=(i=(n=this.dropdown.getElementsByClassName("dropdown-container"))===null||n===void 0?void 0:n[0])===null||i===void 0?void 0:i.getBBox(),m=d.spacing;this.dropdown.attr((0,Y.pi)({transform:"translate(".concat(s,", ").concat(o+u+m,")"),width:p.width+g[1]+g[3],height:p.height+g[0]+g[2]},d)),!f&&Da(this.dropdown)},e.prototype.render=function(){this.renderSelect(),this.renderDropdown()},e.prototype.bindEvents=function(){var t=this;this.addEventListener("click",function(n){n.stopPropagation()}),this.select.addEventListener("click",function(){t.dropdown.style.visibility==="visible"?Da(t.dropdown):Fc(t.dropdown)}),this.addEventListener("pointerenter",function(){t.isPointerInSelect=!0}),this.addEventListener("pointerleave",function(){t.isPointerInSelect=!1}),document==null||document.addEventListener("click",function(){t.isPointerInSelect||Da(t.dropdown)})},e.defaultOptions={style:{x:0,y:0,width:140,height:32,options:[],bordered:!0,defaultValue:"",selectRadius:8,selectStroke:"#d9d9d9",showDropdownIcon:!0,placeholderText:"\u8BF7\u9009\u62E9",placeholderFontSize:12,placeholderTextBaseline:"top",placeholderFill:"#c2c2c2",dropdownFill:"#fff",dropdownStroke:"#d9d9d9",dropdownRadius:8,dropdownShadowBlur:4,dropdownShadowColor:"rgba(0, 0, 0, 0.08)",dropdownPadding:8,dropdownSpacing:10,optionPadding:[8,12],optionFontSize:12,optionTextBaseline:"top",optionBackgroundFill:"#fff",optionBackgroundRadius:4,optionLabelFontSize:12,optionLabelTextBaseline:"top"}},e}(or),za=function(r){(0,Y.ZT)(e,r);function e(t){var n=r.call(this,Or({},{style:{backgroundOpacity:e.backgroundOpacities.default}},e.defaultOptions,t))||this;return n.showBackground=!0,n.background=n.appendChild(new iu({})),n.icon=n.appendChild(new ji({})),n}return Object.defineProperty(e.prototype,"label",{get:function(){return"BaseIcon"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"lineWidth",{get:function(){return Math.log10(this.attributes.size)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"padding",{get:function(){return jr(this.attributes.size/5)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"iconSize",{get:function(){var t=this.attributes.size,n=(0,Y.CR)(this.padding,4),i=n[0],a=n[1],s=n[2],o=n[3];return Math.max(t-Math.max(o+a,i+s),this.lineWidth*2+1)},enumerable:!1,configurable:!0}),e.prototype.renderBackground=function(){var t=this.attributes,n=t.x,i=t.y,a=t.size,s=a/2,o=zt(this.attributes,"background");this.background.attr((0,Y.pi)({x:n-s,y:i-s,width:a,height:a},o))},e.prototype.showIndicator=function(){if(this.label){var t=this.attributes.size,n=this.background.getBBox(),i=n.x,a=n.y;this.indicator.update({x:i+t/2,y:a-5,labelText:this.label,visibility:"visible"})}},e.prototype.hideIndicator=function(){this.indicator.update({visibility:"hidden"})},e.prototype.connectedCallback=function(){var t;r.prototype.connectedCallback.call(this);var n=this.attributes.size,i=this.background.getBBox(),a=i.x,s=i.y,o=(t=this.ownerDocument)===null||t===void 0?void 0:t.defaultView;o&&(this.indicator=o.appendChild(new yX({style:{x:a+n/2,y:s-n/2,visibility:"hidden",position:"top",radius:3,zIndex:100}})))},e.prototype.disconnectedCallback=function(){this.indicator.destroy()},e.prototype.render=function(){this.renderIcon(),this.showBackground&&this.renderBackground()},e.prototype.bindEvents=function(){var t=this,n=this.attributes.onClick;if(this.addEventListener("click",function(){n==null||n(t)}),this.showBackground){var i=function(){return t.background.attr({opacity:e.backgroundOpacities.default})},a=function(){return t.background.attr({opacity:e.backgroundOpacities.hover})},s=function(){return t.background.attr({opacity:e.backgroundOpacities.active})};this.addEventListener("pointerenter",function(){a(),t.showIndicator()}),this.addEventListener("pointerleave",function(){i(),t.hideIndicator()}),this.addEventListener("pointerdown",function(){s()}),this.addEventListener("pointerup",function(){i()})}},e.tag="IconBase",e.defaultOptions={style:{x:0,y:0,size:10,color:"#565758",backgroundRadius:4,backgroundFill:"#e2e2e2"}},e.backgroundOpacities={default:0,hover:.8,active:1},e}(or),Kc=function(r,e){return e===void 0&&(e="#565758"),new Bm({style:{fill:e,d:"M ".concat(r,",").concat(r," L -").concat(r,",0 L ").concat(r,",-").concat(r," Z"),transformOrigin:"center"}})},EX=function(r){(0,Y.ZT)(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.arcPath=function(t,n,i){var a=(0,Y.CR)([i,i],2),s=a[0],o=a[1],l=function(g){return[t+i*Math.cos(g),n+i*Math.sin(g)]},u=(0,Y.CR)(l(-5/4*Math.PI),2),c=u[0],h=u[1],f=(0,Y.CR)(l(1/4*Math.PI),2),d=f[0],v=f[1];return"M".concat(c,",").concat(h,",A").concat(s,",").concat(o,",0,1,1,").concat(d,",").concat(v)},Object.defineProperty(e.prototype,"label",{get:function(){return"\u91CD\u7F6E"},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.color,s=this.iconSize,o=this.lineWidth,l=o+.5;Mt(this.icon).maybeAppend(".reset","path").styles({stroke:a,lineWidth:o,d:this.arcPath(n,i,s/2-o),markerStart:Kc(l,a)})},e}(za),wX=function(r){(0,Y.ZT)(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return Object.defineProperty(e.prototype,"label",{get:function(){return"\u5FEB\u9000"},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.color,s=this.iconSize,o=s/2,l=s/2/Math.pow(3,.5),u=[[n,i],[n,i-l],[n-o,i],[n,i+l],[n,i],[n+o,i-l],[n+o,i+l],[n,i]];Mt(this.icon).maybeAppend(".backward","polygon").styles({points:u,fill:a})},e}(za),PX=function(r){(0,Y.ZT)(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return Object.defineProperty(e.prototype,"label",{get:function(){return"\u5FEB\u8FDB"},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.color,s=this.iconSize,o=s/2,l=s/2/Math.pow(3,.5),u=[[n,i],[n,i-l],[n+o,i],[n,i+l],[n,i],[n-o,i-l],[n-o,i+l],[n,i]];Mt(this.icon).maybeAppend(".forward","polygon").styles({points:u,fill:a})},e}(za),MX=function(r){(0,Y.ZT)(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return Object.defineProperty(e.prototype,"label",{get:function(){return"\u64AD\u653E"},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.color,s=this.iconSize,o=s/3*Math.pow(3,.5)*.8,l=[[n+o,i],[n-o/2,i-s/2*.8],[n-o/2,i+s/2*.8],[n+o,i]];Mt(this.icon).maybeAppend(".play","polygon").styles({points:l,fill:a})},e}(za),SX=function(r){(0,Y.ZT)(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return Object.defineProperty(e.prototype,"label",{get:function(){return"\u6682\u505C"},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.color,s=this.iconSize,o=s/3,l=[[n-o,i-s/2],[n-o,i+s/2],[n-o/2,i+s/2],[n-o/2,i-s/2],[n-o,i-s/2],[n+o/2,i-s/2],[n+o/2,i+s/2],[n+o,i+s/2],[n+o,i-s/2]];Mt(this.icon).maybeAppend(".pause","polygon").styles({points:l,fill:a})},e}(za),TX=function(r){(0,Y.ZT)(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return Object.defineProperty(e.prototype,"label",{get:function(){return"\u8303\u56F4\u65F6\u95F4"},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.color,s=this,o=s.iconSize,l=s.lineWidth,u=l;Mt(this.icon).maybeAppend(".left-line","line").styles({x1:n-o/2,y1:i-o/2,x2:n-o/2,y2:i+o/2,stroke:a,lineWidth:l}),Mt(this.icon).maybeAppend(".right-line","line").styles({x1:n+o/2,y1:i-o/2,x2:n+o/2,y2:i+o/2,stroke:a,lineWidth:l}),Mt(this.icon).maybeAppend(".left-arrow","line").styles({x1:n,y1:i,x2:n-o/2+u*2,y2:i,stroke:a,lineWidth:l,markerEnd:Kc(l*2,a)}),Mt(this.icon).maybeAppend(".right-arrow","line").styles({x1:n,y1:i,x2:n+o/2-u*2,y2:i,stroke:a,lineWidth:l,markerEnd:Kc(l*2,a)})},e}(za),AX=function(r){(0,Y.ZT)(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return Object.defineProperty(e.prototype,"label",{get:function(){return"\u5355\u4E00\u65F6\u95F4"},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.color,s=this,o=s.iconSize,l=s.lineWidth;Mt(this.icon).maybeAppend(".line","line").styles({x1:n,y1:i-o/2,x2:n,y2:i+o/2,stroke:a,lineWidth:l});var u=l;Mt(this.icon).maybeAppend(".left-arrow","line").styles({x1:n-o/2-u*2,y1:i,x2:n-u*2,y2:i,stroke:a,lineWidth:l,markerEnd:Kc(l*2,a)}),Mt(this.icon).maybeAppend(".right-arrow","line").styles({x1:n+o/2+u*2,y1:i,x2:n+u*2,y2:i,stroke:a,lineWidth:l,markerEnd:Kc(l*2,a)})},e}(za),mT=function(r){return[[-r/2,-r/2],[-r/2,r/2],[r/2,r/2]]},OX=function(r){(0,Y.ZT)(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return Object.defineProperty(e.prototype,"label",{get:function(){return"\u6298\u7EBF\u56FE"},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.color,s=this,o=s.iconSize,l=s.lineWidth,u=l,c=(o-u*2-l)/4,h=(o-u*2-l)/2,f=(0,Y.CR)([n-o/2+u,i+o/2-u*2],2),d=f[0],v=f[1];Mt(this.icon).maybeAppend(".coordinate","polyline").styles({points:mT(o).map(function(g){var p=(0,Y.CR)(g,2),m=p[0],b=p[1];return[m+n,b+i]}),stroke:a,lineWidth:l}),Mt(this.icon).maybeAppend(".line","polyline").styles({points:[[d,v],[d+c,v-h],[d+c*2,v],[d+c*4,v-h*2]],stroke:a,lineWidth:l})},e}(za),kX=function(r){(0,Y.ZT)(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return Object.defineProperty(e.prototype,"label",{get:function(){return"\u6761\u5F62\u56FE"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"data",{get:function(){return[1,4,2,4,3]},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.data,n=this.attributes,i=n.x,a=n.y,s=n.color,o=this,l=o.iconSize,u=o.lineWidth,c=u,h=(l-c)/t.length,f=(l-c*2)/4,d=(0,Y.CR)([i-l/2+c*2,a+l/2-c],2),v=d[0],g=d[1];Mt(this.icon).maybeAppend(".coordinate","polyline").styles({points:mT(l).map(function(p){var m=(0,Y.CR)(p,2),b=m[0],x=m[1];return[b+i,x+a]}),stroke:s,lineWidth:u}),Mt(this.icon).maybeAppend(".bars","g").selectAll(".column").data(this.data.map(function(p,m){return{value:p,index:m}})).join(function(p){return p.append("line").attr("className","column").style("x1",function(m){var b=m.index;return v+h*b}).style("y1",g).style("x2",function(m){var b=m.index;return v+h*b}).style("y2",function(m){var b=m.value;return g-f*b}).styles({y1:g,stroke:s,lineWidth:u})})},e}(za),CX=function(r){(0,Y.ZT)(e,r);function e(t){var n=r.call(this,Or({},{style:{color:"#d8d9d9"}},t))||this;return n.showBackground=!1,n}return e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.color,s=this,o=s.iconSize,l=s.lineWidth;Mt(this.icon).maybeAppend(".split","line").styles({x1:n,y1:i-o/2,x2:n,y2:i+o/2,stroke:a,lineWidth:l})},e}(za),My=function(r){(0,Y.ZT)(e,r);function e(){var t=r.apply(this,(0,Y.ev)([],(0,Y.CR)(arguments),!1))||this;return t.showBackground=!1,t}return Object.defineProperty(e.prototype,"padding",{get:function(){return jr(0)},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.iconSize,n=this.attributes,i=n.x,a=n.y,s=n.speed,o=s===void 0?1:s,l=nm(this.attributes,["x","y","transform","transformOrigin","width","height","size","color","speed"]),u=on(t,20,1/0),c=20,h=(0,Y.pi)((0,Y.pi)({},l),{x:i-u/2,y:a-c/2,width:u,height:c,defaultValue:o,bordered:!1,showDropdownIcon:!1,selectRadius:2,dropdownPadding:this.padding,dropdownRadius:2,dropdownSpacing:t/5,placeholderFontSize:t/2,optionPadding:0,optionLabelFontSize:t/2,optionBackgroundRadius:1,options:[{label:"1x",value:1},{label:"1.5x",value:1.5},{label:"2x",value:2}]});Mt(this.icon).maybeAppend(".speed",function(){return new xX({style:h})}).attr("className","speed").each(function(){this.update(h)})},e.tag="SpeedSelect",e}(za),Sy=function(r){(0,Y.ZT)(e,r);function e(t){var n=r.call(this,t)||this;return n.icon=n.appendChild(new ji({})),n.currentType=n.attributes.type,n}return e.prototype.getType=function(){return this.currentType},e.prototype.render=function(){var t=this,n=this.attributes,i=n.onChange,a=(0,Y._T)(n,["onChange"]);Mt(this.icon).selectAll(".icon").data([this.currentType]).join(function(s){return s.append(function(o){var l,u=(l=t.toggles.find(function(c){var h=(0,Y.CR)(c,1),f=h[0];return f===o}))===null||l===void 0?void 0:l[1];if(!u)throw new Error("Invalid type: ".concat(o));return new u({})}).attr("className","icon").styles(a,!1).update({})},function(s){return s.styles({restStyles:a}).update({})},function(s){return s.remove()})},e.prototype.bindEvents=function(){var t=this,n=this.attributes.onChange;this.addEventListener("click",function(i){i.preventDefault(),i.stopPropagation();var a=(t.toggles.findIndex(function(o){var l=(0,Y.CR)(o,1),u=l[0];return u===t.currentType})+1)%t.toggles.length,s=t.toggles[a][0];n==null||n(t.currentType),t.currentType=s,t.render()})},e.tag="ToggleIcon",e}(or),Ty=function(r){(0,Y.ZT)(e,r);function e(t){var n=r.call(this,Or({},{style:{type:"play"}},t))||this;return n.toggles=[["play",MX],["pause",SX]],n}return e}(Sy),Ay=function(r){(0,Y.ZT)(e,r);function e(t){var n=r.call(this,Or({},{style:{type:"range"}},t))||this;return n.toggles=[["range",TX],["value",AX]],n}return e}(Sy),Oy=function(r){(0,Y.ZT)(e,r);function e(t){var n=r.call(this,Or({},{style:{type:"column"}},t))||this;return n.toggles=[["line",OX],["column",kX]],n}return e}(Sy),NX={reset:EX,speed:My,backward:wX,playPause:Ty,forward:PX,selectionType:Ay,chartType:Oy,split:CX},_X=function(r){(0,Y.ZT)(e,r);function e(t){var n=r.call(this,Or({},e.defaultOptions,t))||this;return n.background=n.appendChild(new iu({})),n.functions=n.appendChild(new ji({})),n}return Object.defineProperty(e.prototype,"padding",{get:function(){return jr(this.attributes.padding)},enumerable:!1,configurable:!0}),e.prototype.renderBackground=function(){var t=this.style,n=t.x,i=t.y,a=t.width,s=t.height,o=zt(this.attributes,"background");this.background.attr((0,Y.pi)({x:n,y:i,width:a,height:s},o))},e.prototype.renderFunctions=function(){var t=this,n,i=this.attributes,a=i.functions,s=i.iconSize,o=i.iconSpacing,l=i.x,u=i.y,c=i.width,h=i.height,f=i.align,d=(0,Y.CR)(this.padding,4),v=d[1],g=d[3],p=a.reduce(function(x,O){return x.length&&O.length?x.concat.apply(x,(0,Y.ev)(["split"],(0,Y.CR)(O),!1)):x.concat.apply(x,(0,Y.ev)([],(0,Y.CR)(O),!1))},[]),m=p.length*(s+o)-o,b={left:g+s/2,center:(c-m)/2+s/2,right:c-m-g-v+s/2}[f]||0;(n=this.speedSelect)===null||n===void 0||n.destroy(),this.functions.removeChildren(),p.forEach(function(x,O){var T,S=NX[x],k={x:l+O*(s+o)+b,y:u+h/2,size:s};if(S===My?(k.speed=t.attributes.speed,k.onSelect=function(W){return t.handleFunctionChange(x,{value:W})}):[Ty,Ay,Oy].includes(S)?(k.onChange=function(W){return t.handleFunctionChange(x,{value:W})},S===Ty&&(k.type=t.attributes.state==="play"?"pause":"play"),S===Ay&&(k.type=t.attributes.selectionType==="range"?"value":"range"),S===Oy&&(k.type=t.attributes.chartType==="line"?"column":"line")):k.onClick=function(){return t.handleFunctionChange(x,{value:x})},S===My){var C=(T=t.ownerDocument)===null||T===void 0?void 0:T.defaultView;C&&(t.speedSelect=new S({style:(0,Y.pi)((0,Y.pi)({},k),{zIndex:100})}),C.appendChild(t.speedSelect))}else t.functions.appendChild(new S({style:k}))})},e.prototype.disconnectedCallback=function(){var t;r.prototype.disconnectedCallback.call(this),(t=this.speedSelect)===null||t===void 0||t.destroy()},e.prototype.render=function(){this.renderBackground(),this.renderFunctions()},e.prototype.handleFunctionChange=function(t,n){var i=this.attributes.onChange;i==null||i(t,n)},e.defaultOptions={style:{x:0,y:0,width:300,height:40,padding:0,align:"center",iconSize:25,iconSpacing:0,speed:1,state:"pause",chartType:"line",selectionType:"range",backgroundFill:"#fbfdff",backgroundStroke:"#ebedf0",functions:[["reset","speed"],["backward","playPause","forward"],["selectionType","chartType"]]}},e}(or),RX=function(r){(0,Y.ZT)(e,r);function e(t){var n=r.call(this,Or({},e.defaultOptions,t))||this;return n.bindEvents(),n}return e.prototype.bindEvents=function(){var t=this;this.addEventListener("mouseenter",function(){t.attr("lineWidth",Math.ceil(+(t.style.r||0)/2))}),this.addEventListener("mouseleave",function(){t.attr("lineWidth",0)})},e.defaultOptions={style:{r:5,fill:"#3f7cf7",lineWidth:0,stroke:"#3f7cf7",strokeOpacity:.5,cursor:"pointer"}},e}(Im),LX=function(r){(0,Y.ZT)(e,r);function e(t){return r.call(this,Or({},e.defaultOptions,t))||this}return e.prototype.renderBackground=function(){var t=this.attributes,n=t.x,i=t.y,a=t.width,s=t.height,o=zt(this.attributes,"background");Mt(this).maybeAppend("background","rect").attr("className","background").styles((0,Y.pi)({x:n-a/2,y:i-s/2,width:a,height:s},o))},e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.iconSize,s=zt(this.attributes,"icon"),o=1,l=a/2;Mt(this).maybeAppend("icon-left-line","line").attr("className","icon-left-line").styles((0,Y.pi)({x1:n-o,y1:i-l,x2:n-o,y2:i+l},s)),Mt(this).maybeAppend("icon-right-line","line").attr("className","icon-right-line").styles((0,Y.pi)({x1:n+o,y1:i-l,x2:n+o,y2:i+l},s))},e.prototype.renderBorder=function(){var t=this.attributes,n=t.x,i=t.y,a=t.width,s=t.height,o=t.type,l=zt(this.attributes,"border"),u=o==="start"?+a/2:-a/2;Mt(this).maybeAppend("border","line").attr("className","border").styles((0,Y.pi)({x1:u+n,y1:i-s/2,x2:u+n,y2:i+s/2},l))},e.prototype.render=function(){this.renderBackground(),this.renderIcon(),this.renderBorder()},e.defaultOptions={style:{x:0,y:0,width:10,height:50,iconSize:10,type:"start",backgroundFill:"#fff",backgroundFillOpacity:.5,iconStroke:"#9a9a9a",iconLineWidth:1,borderStroke:"#e8e8e8",borderLineWidth:1}},e}(or);function DX(r,e){return typeof r=="number"?yT(r):IX(r,e)}function IX(r,e){var t=new Date(r);switch(e){case"half-hour":case"hour":case"four-hour":return[0,6,12,18].includes(t.getHours())&&t.getMinutes()===0?li(t,`HH:mm
|
|
|
YYYY-MM-DD`):li(t,"HH:mm");case"half-day":return t.getHours()<12?`AM
|
|
|
`.concat(li(t,"YYYY-MM-DD")):"PM";case"day":return[1,10,20].includes(t.getDate())?li(t,`DD
|
|
|
YYYY-MM`):li(t,"DD");case"week":return t.getDate()<=7?li(t,`DD
|
|
|
YYYY-MM`):li(t,"DD");case"month":return[0,6].includes(t.getMonth())?li(t,`MM\u6708
|
|
|
YYYY`):li(t,"MM\u6708");case"season":return[0].includes(t.getMonth())?li(t,`MM\u6708
|
|
|
YYYY`):li(t,"MM\u6708");case"year":return li(t,"YYYY");default:return li(t,"YYYY-MM-DD HH:mm")}}function yT(r){var e=String(Math.floor(r/3600)).padStart(2,"0"),t=String(Math.floor(r%3600/60)).padStart(2,"0"),n=String(Math.floor(r%60)).padStart(2,"0");return r<3600?"".concat(t,":").concat(n):"".concat(e,":").concat(t,":").concat(n)}var BX=function(r){(0,Y.ZT)(e,r);function e(t){var n=r.call(this,Or({},e.defaultOptions,t))||this;n.axis=n.appendChild(new LH({style:{type:"linear",startPos:[0,0],endPos:[0,0],data:[],showArrow:!1,animate:!1}})),n.timeline=n.appendChild(new pX({style:{onChange:function(h){n.handleSliderChange(h)}}})),n.controller=n.appendChild(new _X({})),n.states={},n.handleSliderChange=function(h){var f=function(){var d=n.states.values;return Array.isArray(d)?(0,Y.ev)([],(0,Y.CR)(d),!1):d}();n.setBySliderValues(h),n.dispatchOnChange(f)};var i=n.attributes,a=i.selectionType,s=i.chartType,o=i.speed,l=i.state,u=i.playMode,c=i.values;return n.states={chartType:s,playMode:u,selectionType:a,speed:o,state:l},n.setByTimebarValues(c),n}return Object.defineProperty(e.prototype,"data",{get:function(){var t=this.attributes.data,n=function(i,a){return i.time<a.time?-1:i.time>a.time?1:0};return t.sort(n)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"space",{get:function(){var t=this.attributes,n=t.x,i=t.y,a=t.width,s=t.height,o=t.type,l=t.controllerHeight,u=on(+s-l,0,+s),c=new Zr(n,i+ +s-l,+a,l),h,f=0;o==="chart"?(f=35,h=new Zr(n,i+u-f,+a,f)):h=new Zr;var d=o==="time"?10:u,v=new Zr(n,i+(o==="time"?u:u-d),+a,d-f);return{axisBBox:h,controllerBBox:c,timelineBBox:v}},enumerable:!1,configurable:!0}),e.prototype.setBySliderValues=function(t){var n,i,a=this.data,s=(0,Y.CR)(Array.isArray(t)?t:[0,t],2),o=s[0],l=s[1],u=a.length,c=a[Math.floor(o*u)],h=a[Math.ceil(l*u)-(Array.isArray(t)?0:1)];this.states.values=[(n=c==null?void 0:c.time)!==null&&n!==void 0?n:a[0].time,(i=h==null?void 0:h.time)!==null&&i!==void 0?i:1/0]},e.prototype.setByTimebarValues=function(t){var n,i,a,s=this.data,o=(0,Y.CR)(Array.isArray(t)?t:[void 0,t],2),l=o[0],u=o[1],c=s.find(function(f){var d=f.time;return d===l}),h=s.find(function(f){var d=f.time;return d===u});this.states.values=[(n=c==null?void 0:c.time)!==null&&n!==void 0?n:(i=s[0])===null||i===void 0?void 0:i.time,(a=h==null?void 0:h.time)!==null&&a!==void 0?a:1/0]},e.prototype.setByIndex=function(t){var n,i,a,s,o=this.data,l=(0,Y.CR)(t,2),u=l[0],c=l[1];this.states.values=[(i=(n=o[u])===null||n===void 0?void 0:n.time)!==null&&i!==void 0?i:o[0].time,(s=(a=this.data[c])===null||a===void 0?void 0:a.time)!==null&&s!==void 0?s:1/0]},Object.defineProperty(e.prototype,"sliderValues",{get:function(){var t=this.states,n=t.values,i=t.selectionType,a=(0,Y.CR)(Array.isArray(n)?n:[void 0,n],2),s=a[0],o=a[1],l=this.data,u=l.length,c=i==="value",h=function(){var d=l.findIndex(function(v){var g=v.time;return g===s});return c?0:d>-1?d/u:0},f=function(){if(o===1/0)return 1;var d=l.findIndex(function(v){var g=v.time;return g===o});return d>-1?d/u:c?.5:1};return[h(),f()]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"values",{get:function(){var t=this.states,n=t.values,i=t.selectionType,a=(0,Y.CR)(Array.isArray(n)?n:[this.data[0].time,n],2),s=a[0],o=a[1];return i==="value"?o:[s,o]},enumerable:!1,configurable:!0}),e.prototype.getDatumByRatio=function(t){var n=this.data,i=n.length,a=Math.floor(t*(i-1));return n[a]},Object.defineProperty(e.prototype,"chartHandleIconShape",{get:function(){var t=this.states.selectionType,n=this.space.timelineBBox.height;return t==="range"?function(i){return new LX({style:{type:i,height:n,iconSize:n/6}})}:function(){return new HM({style:{x1:0,y1:-n/2,x2:0,y2:n/2,lineWidth:2,stroke:"#c8c8c8"}})}},enumerable:!1,configurable:!0}),e.prototype.getChartStyle=function(t){var n=this,i=t.x,a=t.y,s=t.width,o=t.height,l=this.states,u=l.selectionType,c=l.chartType,h=this.data,f=this.attributes,d=f.type,v=f.labelFormatter,g=zt(this.attributes,"chart"),p=g.type,m=(0,Y._T)(g,["type"]),b=u==="range";if(d==="time")return(0,Y.pi)({handleIconShape:function(){return new RX({})},selectionFill:"#2e7ff8",selectionFillOpacity:1,showLabelOnInteraction:!0,handleLabelDy:b?-15:0,autoFitLabel:b,handleSpacing:b?-15:0,trackFill:"#edeeef",trackLength:s,trackOpacity:.5,trackRadius:o/2,trackSize:o/2,type:u,values:this.sliderValues,formatter:function(T){if(v)return v(T);var S=n.getDatumByRatio(T).time;return typeof S=="number"?yT(S):li(S,"YYYY-MM-DD HH:mm:ss")},transform:"translate(".concat(i,", ").concat(a,")"),zIndex:1},m);var x=u==="range"?5:0,O=h.map(function(T){var S=T.value;return S});return(0,Y.pi)({handleIconOffset:x,handleIconShape:this.chartHandleIconShape,selectionFill:"#fff",selectionFillOpacity:.5,selectionType:"invert",sparklineSpacing:.1,sparklineColumnLineWidth:0,sparklineColor:"#d4e5fd",sparklineAreaOpacity:1,sparklineAreaLineWidth:0,sparklineData:O,sparklineType:c,sparklineScale:.8,trackLength:s,trackSize:o,type:u,values:this.sliderValues,transform:"translate(".concat(i,", ").concat(a,")"),zIndex:1},m)},e.prototype.renderChart=function(t){t===void 0&&(t=this.space.timelineBBox),this.timeline.update(this.getChartStyle(t))},e.prototype.updateSelection=function(){this.timeline.setValues(this.sliderValues,!0),this.handleSliderChange(this.sliderValues)},e.prototype.getAxisStyle=function(t){var n=this.data,i=this.attributes,a=i.interval,s=i.labelFormatter,o=zt(this.attributes,"axis"),l=t.x,u=t.y,c=t.width,h=(0,Y.ev)((0,Y.ev)([],(0,Y.CR)(n),!1),[{time:0}],!1).map(function(d,v,g){var p=d.time;return{label:"".concat(p),value:v/(g.length-1),time:p}}),f=(0,Y.pi)({startPos:[l,u],endPos:[l+c,u],data:h,labelFilter:function(d,v){return v<h.length-1},labelFormatter:function(d){var v=d.time;return s?s(v):DX(v,a)}},o);return f},e.prototype.renderAxis=function(t){t===void 0&&(t=this.space.axisBBox);var n=this.attributes.type;n==="chart"&&this.axis.update(this.getAxisStyle(t))},e.prototype.renderController=function(t){t===void 0&&(t=this.space.controllerBBox);var n=this.attributes.type,i=this.states,a=i.state,s=i.speed,o=i.selectionType,l=i.chartType,u=zt(this.attributes,"controller"),c=this,h=(0,Y.pi)((0,Y.pi)((0,Y.pi)({},t),{iconSize:20,speed:s,state:a,selectionType:o,chartType:l,onChange:function(f,d){var v=d.value;switch(f){case"reset":c.internalReset();break;case"speed":c.handleSpeedChange(v);break;case"backward":c.internalBackward();break;case"playPause":v==="play"?c.internalPlay():c.internalPause();break;case"forward":c.internalForward();break;case"selectionType":c.handleSelectionTypeChange(v);break;case"chartType":c.handleChartTypeChange(v);break;default:break}}}),u);n==="time"&&(h.functions=[["reset","speed"],["backward","playPause","forward"],["selectionType"]]),this.controller.update(h)},e.prototype.dispatchOnChange=function(t){var n=this.data,i=this.attributes.onChange,a=this.states,s=a.values,o=a.selectionType,l=(0,Y.CR)(s,2),u=l[0],c=l[1],h=c===1/0?n.at(-1).time:c,f=o==="range"?[u,h]:h,d=function(v,g){return Array.isArray(v)?Array.isArray(g)?v[0]===g[0]&&(v[1]===g[1]||v[1]===1/0||g[1]===1/0):!1:Array.isArray(g)?!1:v===g};(!t||!d(t,f))&&(i==null||i(o==="range"?[u,h]:h))},e.prototype.internalReset=function(t){var n,i,a=this.states.selectionType;this.internalPause(),this.setBySliderValues(a==="range"?[0,1]:[0,0]),this.renderController(),this.updateSelection(),t||((i=(n=this.attributes)===null||n===void 0?void 0:n.onReset)===null||i===void 0||i.call(n),this.dispatchOnChange())},e.prototype.reset=function(){this.internalReset()},e.prototype.moveSelection=function(t,n){var i=this.data,a=i.length,s=this.states,o=s.values,l=s.selectionType,u=s.playMode,c=(0,Y.CR)(o,2),h=c[0],f=c[1],d=i.findIndex(function(x){var O=x.time;return O===h}),v=i.findIndex(function(x){var O=x.time;return O===f});v===-1&&(v=a);var g=t==="backward"?-1:1,p;l==="range"?u==="acc"?(p=[d,v+g],g===-1&&d===v&&(p=[d,a])):p=[d+g,v+g]:p=[d,v+g];var m=function(x){var O=(0,Y.CR)(x.sort(function(C,W){return C-W}),2),T=O[0],S=O[1],k=function(C){return on(C,0,a)};return S>a?l==="value"?[0,0]:u==="acc"?[k(T),k(T)]:[0,k(S-T)]:T<0?u==="acc"?[0,k(S)]:[k(T+a-S),a]:[k(T),k(S)]},b=m(p);return this.setByIndex(b),this.updateSelection(),b},e.prototype.internalBackward=function(t){var n,i,a=this.moveSelection("backward",t);return t||((i=(n=this.attributes)===null||n===void 0?void 0:n.onBackward)===null||i===void 0||i.call(n),this.dispatchOnChange()),a},e.prototype.backward=function(){this.internalBackward()},e.prototype.internalPlay=function(t){var n=this,i,a,s=this.data,o=this.attributes.loop,l=this.states.speed,u=l===void 0?1:l;this.playInterval=window.setInterval(function(){var c=n.internalForward();c[1]===s.length&&!o&&(n.internalPause(),n.renderController())},1e3/u),this.states.state="play",!t&&((a=(i=this.attributes)===null||i===void 0?void 0:i.onPlay)===null||a===void 0||a.call(i))},e.prototype.play=function(){this.internalPlay()},e.prototype.internalPause=function(t){var n,i;clearInterval(this.playInterval),this.states.state="pause",!t&&((i=(n=this.attributes)===null||n===void 0?void 0:n.onPause)===null||i===void 0||i.call(n))},e.prototype.pause=function(){this.internalPause()},e.prototype.internalForward=function(t){var n,i,a=this.moveSelection("forward",t);return t||((i=(n=this.attributes)===null||n===void 0?void 0:n.onForward)===null||i===void 0||i.call(n),this.dispatchOnChange()),a},e.prototype.forward=function(){this.internalForward()},e.prototype.handleSpeedChange=function(t){var n,i;this.states.speed=t;var a=this.states.state;a==="play"&&(this.internalPause(!0),this.internalPlay(!0)),(i=(n=this.attributes)===null||n===void 0?void 0:n.onSpeedChange)===null||i===void 0||i.call(n,t)},e.prototype.handleSelectionTypeChange=function(t){var n,i;this.states.selectionType=t,this.renderChart(),(i=(n=this.attributes)===null||n===void 0?void 0:n.onSelectionTypeChange)===null||i===void 0||i.call(n,t)},e.prototype.handleChartTypeChange=function(t){var n,i;this.states.chartType=t,this.renderChart(),(i=(n=this.attributes)===null||n===void 0?void 0:n.onChartTypeChange)===null||i===void 0||i.call(n,t)},e.prototype.render=function(){var t=this.space,n=t.axisBBox,i=t.controllerBBox,a=t.timelineBBox;this.renderController(i),this.renderAxis(n),this.renderChart(a),this.states.state==="play"&&this.internalPlay()},e.prototype.destroy=function(){r.prototype.destroy.call(this),this.internalPause(!0)},e.defaultOptions={style:{x:0,y:0,axisLabelFill:"#6e6e6e",axisLabelTextAlign:"left",axisLabelTextBaseline:"top",axisLabelTransform:"translate(5, -12)",axisLineLineWidth:1,axisLineStroke:"#cacdd1",axisTickLength:15,axisTickLineWidth:1,axisTickStroke:"#cacdd1",chartShowLabel:!1,chartType:"line",controllerAlign:"center",controllerHeight:40,data:[],interval:"day",loop:!1,playMode:"acc",selectionType:"range",type:"time"}},e}(or);function zX(r){return r instanceof Date}var FX=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,e||[])).next())})},jX=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};const GX=["timestamp","time","date","datetime"];class Hv extends Fr{get padding(){return Ja(this.options.padding)}constructor(e,t){super(e,Object.assign({},Hv.defaultOptions,t)),this.backup(),this.upsertTimebar()}play(){var e;(e=this.timebar)===null||e===void 0||e.play()}pause(){var e;(e=this.timebar)===null||e===void 0||e.pause()}forward(){var e;(e=this.timebar)===null||e===void 0||e.forward()}backward(){var e;(e=this.timebar)===null||e===void 0||e.backward()}reset(){var e;(e=this.timebar)===null||e===void 0||e.reset()}update(e){super.update(e),this.backup(),this.upsertTimebar()}backup(){this.originalData=bT(this.context.graph.getData())}upsertTimebar(){const{canvas:e}=this.context,t=this.options,{onChange:n,timebarType:i,data:a,x:s,y:o,width:l,height:u,mode:c}=t,h=jX(t,["onChange","timebarType","data","x","y","width","height","mode"]),f=e.getSize(),[d]=this.padding;this.upsertCanvas().ready.then(()=>{var v;const g=Object.assign(Object.assign({x:f[0]/2-l/2,y:d,onChange:p=>{const m=(pi(p)?p:[p,p]).map(b=>zX(b)?b.getTime():b);this.options.mode==="modify"?this.filterElements(m):this.hiddenElements(m),n==null||n(m)}},h),{data:a.map(p=>ht(p)?{time:p,value:0}:p),width:l,height:u,type:i});this.timebar?this.timebar.update(g):(this.timebar=new BX({style:g}),(v=this.canvas)===null||v===void 0||v.appendChild(this.timebar))})}upsertCanvas(){if(this.canvas)return this.canvas;const{className:e,height:t,position:n}=this.options,i=this.context.canvas,[a]=i.getSize(),[s,,o]=this.padding,[l,u]=ey({width:a,height:t+s+o,graphCanvas:i,className:"timebar",placement:n});return this.container=l,e&&l.classList.add(e),this.canvas=u,this.canvas}filterElements(e){return FX(this,void 0,void 0,function*(){var t;if(!this.originalData)return;const{elementTypes:n,getTime:i}=this.options,{graph:a,element:s}=this.context,o=bT(this.originalData);n.forEach(u=>{const c=`${u}s`;o[c]=(this.originalData[c]||[]).filter(h=>{const f=i(h);return!!xT(f,e)})});const l=[...o.nodes,...o.combos].map(u=>Re(u));o.edges=o.edges.filter(u=>{const c=u.source,h=u.target;return l.includes(c)&&l.includes(h)}),a.setData(o),yield(t=s.draw({animation:!1,silence:!0}))===null||t===void 0?void 0:t.finished})}hiddenElements(e){const{graph:t}=this.context,{elementTypes:n,getTime:i}=this.options,a=[],s=[];n.forEach(o=>{var l;const u=`${o}s`;(((l=this.originalData)===null||l===void 0?void 0:l[u])||[]).forEach(h=>{const f=Re(h),d=i(h);xT(d,e)?s.push(f):a.push(f)})}),t.hideElement(a,!1),t.showElement(s,!1)}destroy(){var e,t,n;const{graph:i}=this.context;this.originalData&&i.setData(Object.assign({},this.originalData)),(e=this.timebar)===null||e===void 0||e.destroy(),(t=this.canvas)===null||t===void 0||t.destroy(),(n=this.container)===null||n===void 0||n.remove(),this.originalData=void 0,this.container=void 0,this.timebar=void 0,this.canvas=void 0,super.destroy()}}Hv.defaultOptions={position:"bottom",enable:!0,timebarType:"time",className:"g6-timebar",width:450,height:60,zIndex:3,elementTypes:["node"],padding:10,mode:"modify",getTime:r=>HX(r,GX,void 0),loop:!1};const bT=r=>{const{nodes:e=[],edges:t=[],combos:n=[]}=r;return{nodes:[...e],edges:[...t],combos:[...n]}},xT=(r,e)=>{if(ht(e))return r===e;const[t,n]=e;return r>=t&&r<=n},HX=(r,e,t)=>{var n;for(let i=0;i<e.length;i++){const a=e[i],s=(n=r.data)===null||n===void 0?void 0:n[a];if(s)return s}return t};function XX(r){const e={top:"unset",right:"unset",bottom:"unset",left:"unset"};return r.split("-").forEach(n=>{e[n]="8px"}),e.flexDirection=r.startsWith("top")||r.startsWith("bottom")?"row":"column",e}const WX=`
|
|
|
.g6-toolbar {
|
|
|
position: absolute;
|
|
|
z-index: 100;
|
|
|
display: flex;
|
|
|
flex-direction: row;
|
|
|
align-items: center;
|
|
|
justify-content: center;
|
|
|
border-radius: 4px;
|
|
|
box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.1);
|
|
|
opacity: 0.65;
|
|
|
}
|
|
|
.g6-toolbar .g6-toolbar-item {
|
|
|
display: inline-block;
|
|
|
width: 16px;
|
|
|
height: 16px;
|
|
|
padding: 4px;
|
|
|
cursor: pointer;
|
|
|
box-sizing: content-box;
|
|
|
}
|
|
|
|
|
|
.g6-toolbar .g6-toolbar-item:hover {
|
|
|
background-color: #f0f0f0;
|
|
|
}
|
|
|
|
|
|
.g6-toolbar .g6-toolbar-item svg {
|
|
|
display: inline-block;
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
|
pointer-events: none;
|
|
|
}
|
|
|
`,VX=`
|
|
|
<svg>
|
|
|
<symbol id="zoom-in" viewBox="64 64 896 896">
|
|
|
<path d="M637 443H519V309c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v134H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h118v134c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V519h118c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm284 424L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z"></path>
|
|
|
</symbol>
|
|
|
<symbol id="zoom-out" viewBox="64 64 896 896">
|
|
|
<path d="M637 443H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h312c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm284 424L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z"></path>
|
|
|
</symbol>
|
|
|
<symbol id="edit" viewBox="64 64 896 896">
|
|
|
<path d="M257.7 752c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 000-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 009.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9zm67.4-174.4L687.8 215l73.3 73.3-362.7 362.6-88.9 15.7 15.6-89zM880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32z"></path>
|
|
|
</symbol>
|
|
|
<symbol id="delete" viewBox="64 64 896 896">
|
|
|
<path d="M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"></path>
|
|
|
</symbol>
|
|
|
<symbol id="redo" viewBox="64 64 896 896">
|
|
|
<path d="M758.2 839.1C851.8 765.9 912 651.9 912 523.9 912 303 733.5 124.3 512.6 124 291.4 123.7 112 302.8 112 523.9c0 125.2 57.5 236.9 147.6 310.2 3.5 2.8 8.6 2.2 11.4-1.3l39.4-50.5c2.7-3.4 2.1-8.3-1.2-11.1-8.1-6.6-15.9-13.7-23.4-21.2a318.64 318.64 0 01-68.6-101.7C200.4 609 192 567.1 192 523.9s8.4-85.1 25.1-124.5c16.1-38.1 39.2-72.3 68.6-101.7 29.4-29.4 63.6-52.5 101.7-68.6C426.9 212.4 468.8 204 512 204s85.1 8.4 124.5 25.1c38.1 16.1 72.3 39.2 101.7 68.6 29.4 29.4 52.5 63.6 68.6 101.7 16.7 39.4 25.1 81.3 25.1 124.5s-8.4 85.1-25.1 124.5a318.64 318.64 0 01-68.6 101.7c-9.3 9.3-19.1 18-29.3 26L668.2 724a8 8 0 00-14.1 3l-39.6 162.2c-1.2 5 2.6 9.9 7.7 9.9l167 .8c6.7 0 10.5-7.7 6.3-12.9l-37.3-47.9z"></path>
|
|
|
</symbol>
|
|
|
<symbol id="undo" viewBox="64 64 896 896">
|
|
|
<path d="M511.4 124C290.5 124.3 112 303 112 523.9c0 128 60.2 242 153.8 315.2l-37.5 48c-4.1 5.3-.3 13 6.3 12.9l167-.8c5.2 0 9-4.9 7.7-9.9L369.8 727a8 8 0 00-14.1-3L315 776.1c-10.2-8-20-16.7-29.3-26a318.64 318.64 0 01-68.6-101.7C200.4 609 192 567.1 192 523.9s8.4-85.1 25.1-124.5c16.1-38.1 39.2-72.3 68.6-101.7 29.4-29.4 63.6-52.5 101.7-68.6C426.9 212.4 468.8 204 512 204s85.1 8.4 124.5 25.1c38.1 16.1 72.3 39.2 101.7 68.6 29.4 29.4 52.5 63.6 68.6 101.7 16.7 39.4 25.1 81.3 25.1 124.5s-8.4 85.1-25.1 124.5a318.64 318.64 0 01-68.6 101.7c-7.5 7.5-15.3 14.5-23.4 21.2a7.93 7.93 0 00-1.2 11.1l39.4 50.5c2.8 3.5 7.9 4.1 11.4 1.3C854.5 760.8 912 649.1 912 523.9c0-221.1-179.4-400.2-400.6-399.9z"></path>
|
|
|
</symbol>
|
|
|
<symbol id="export" viewBox="64 64 896 896">
|
|
|
<path d="M880 912H144c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32h360c4.4 0 8 3.6 8 8v56c0 4.4-3.6 8-8 8H184v656h656V520c0-4.4 3.6-8 8-8h56c4.4 0 8 3.6 8 8v360c0 17.7-14.3 32-32 32zM770.87 199.13l-52.2-52.2a8.01 8.01 0 014.7-13.6l179.4-21c5.1-.6 9.5 3.7 8.9 8.9l-21 179.4c-.8 6.6-8.9 9.4-13.6 4.7l-52.4-52.4-256.2 256.2a8.03 8.03 0 01-11.3 0l-42.4-42.4a8.03 8.03 0 010-11.3l256.1-256.3z"></path>
|
|
|
</symbol>
|
|
|
<symbol id="auto-fit" viewBox="64 64 896 896">
|
|
|
<path d="M952 474H829.8C812.5 327.6 696.4 211.5 550 194.2V72c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v122.2C327.6 211.5 211.5 327.6 194.2 474H72c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h122.2C211.5 696.4 327.6 812.5 474 829.8V952c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V829.8C696.4 812.5 812.5 696.4 829.8 550H952c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zM512 756c-134.8 0-244-109.2-244-244s109.2-244 244-244 244 109.2 244 244-109.2 244-244 244z"></path>
|
|
|
<path d="M512 392c-32.1 0-62.1 12.4-84.8 35.2-22.7 22.7-35.2 52.7-35.2 84.8s12.5 62.1 35.2 84.8C449.9 619.4 480 632 512 632s62.1-12.5 84.8-35.2C619.4 574.1 632 544 632 512s-12.5-62.1-35.2-84.8A118.57 118.57 0 00512 392z"></path>
|
|
|
</symbol>
|
|
|
<symbol id="reset" viewBox="64 64 896 896">
|
|
|
<path d="M909.1 209.3l-56.4 44.1C775.8 155.1 656.2 92 521.9 92 290 92 102.3 279.5 102 511.5 101.7 743.7 289.8 932 521.9 932c181.3 0 335.8-115 394.6-276.1 1.5-4.2-.7-8.9-4.9-10.3l-56.7-19.5a8 8 0 00-10.1 4.8c-1.8 5-3.8 10-5.9 14.9-17.3 41-42.1 77.8-73.7 109.4A344.77 344.77 0 01655.9 829c-42.3 17.9-87.4 27-133.8 27-46.5 0-91.5-9.1-133.8-27A341.5 341.5 0 01279 755.2a342.16 342.16 0 01-73.7-109.4c-17.9-42.4-27-87.4-27-133.9s9.1-91.5 27-133.9c17.3-41 42.1-77.8 73.7-109.4 31.6-31.6 68.4-56.4 109.3-73.8 42.3-17.9 87.4-27 133.8-27 46.5 0 91.5 9.1 133.8 27a341.5 341.5 0 01109.3 73.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 003 14.1l175.6 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c-.1-6.6-7.8-10.3-13-6.2z"></path>
|
|
|
</symbol>
|
|
|
<symbol id="exit-fullscreen" viewBox="0 0 1024 1024">
|
|
|
<path d="M418.13333333 361.43786666c0 0.2048-0.13653333 0.4096-0.13653334 0.68266667C417.99679999 362.32533333 418.13333333 362.53013333 418.13333333 362.73493333 418.13333333 371.54133333 414.44693333 379.392 408.78079999 385.39946666 408.43946666 385.7408 408.30293333 386.21866666 408.02986666 386.49173333c-1.09226667 1.09226667-2.59413333 1.77493333-3.82293333 2.73066667C398.40426666 393.65973333 391.64586666 396.8 383.93173333 396.8 383.72693333 396.8 383.59039999 396.73173333 383.38559999 396.73173333S382.97599999 396.8 382.77119999 396.8L112.29866666 396.8C92.50133333 396.8 76.79999999 381.50826666 76.79999999 362.66666666 76.66346666 343.89333333 92.63786666 328.53333333 112.16213333 328.53333333l189.44 0L87.44959999 114.51733333C73.59146666 100.59093333 73.25013333 78.5408 86.63039999 65.29706666c13.17546667-13.44853333 35.36213333-12.97066667 49.152 0.88746667l214.08426667 214.08426667L349.86666666 90.89706666C349.79839999 71.23626666 365.22666666 55.46666666 383.99999999 55.46666666 402.77333333 55.33013333 418.13333333 71.30453333 418.13333333 90.8288L418.13333333 361.43786666zM928.90453333 328.53333333l-189.44 0 214.15253333-214.08426667c13.85813333-13.9264 14.19946667-35.90826667 0.88746667-49.22026666-13.17546667-13.44853333-35.36213333-12.97066667-49.152 0.88746666l-214.08426667 214.08426667L691.26826666 90.89706666C691.26826666 71.23626666 675.83999999 55.46666666 657.06666666 55.46666666 638.29333333 55.33013333 622.93333333 71.30453333 622.93333333 90.8288l0 270.60906666c0 0.2048 0.13653333 0.4096 0.13653333 0.68266667C623.06986666 362.32533333 622.93333333 362.53013333 622.93333333 362.73493333 622.93333333 371.54133333 626.61973333 379.392 632.28586666 385.39946666c0.34133333 0.34133333 0.47786667 0.8192 0.8192 1.09226667 1.09226667 1.09226667 2.59413333 1.77493333 3.8912 2.73066667C642.66239999 393.65973333 649.42079999 396.8 657.13493333 396.8c0.2048 0 0.34133333-0.06826667 0.54613333-0.06826667S658.09066666 396.8 658.29546666 396.8l270.5408 0C948.56533333 396.8 964.26666666 381.50826666 964.26666666 362.66666666 964.40319999 343.89333333 948.42879999 328.53333333 928.90453333 328.53333333zM418.13333333 635.73333333c0-8.8064-3.6864-16.5888-9.35253334-22.66453333C408.43946666 612.72746666 408.30293333 612.2496 408.02986666 611.90826666 406.86933333 610.88426666 405.43573333 610.2016 404.20693333 609.24586666 398.47253333 604.80853333 391.64586666 601.6 383.93173333 601.6 383.72693333 601.6 383.59039999 601.73653333 383.38559999 601.73653333S382.97599999 601.6 382.77119999 601.6L112.29866666 601.6C92.50133333 601.6 76.79999999 616.96 76.79999999 635.73333333 76.66346666 654.50666666 92.63786666 669.86666666 112.16213333 669.86666666l189.44 0-214.15253334 214.15253334c-13.85813333 13.85813333-14.19946667 35.84-0.88746666 49.22026666 13.17546667 13.44853333 35.36213333 12.9024 49.152-0.95573333l214.08426666-214.08426667 0 189.37173334c0 19.59253333 15.42826667 35.49866667 34.2016 35.36213333C402.77333333 943.2064 418.13333333 927.232 418.13333333 907.5712L418.13333333 637.09866666c0-0.27306667-0.13653333-0.47786667-0.13653334-0.68266666C417.99679999 636.14293333 418.13333333 635.93813333 418.13333333 635.73333333zM739.46453333 669.86666666l189.44 0c19.456 0 35.49866667-15.36 35.36213333-34.13333333C964.26666666 616.96 948.56533333 601.6 928.76799999 601.6L658.29546666 601.6C658.09066666 601.6 657.88586666 601.73653333 657.68106666 601.73653333S657.33973333 601.6 657.13493333 601.6C649.42079999 601.6 642.59413333 604.80853333 636.85973333 609.24586666 635.63093333 610.2016 634.19733333 610.88426666 633.03679999 611.90826666 632.76373333 612.2496 632.62719999 612.72746666 632.28586666 613.0688 626.61973333 619.14453333 622.93333333 626.92693333 622.93333333 635.73333333c0 0.2048 0.13653333 0.4096 0.13653333 0.68266667C623.06986666 636.6208 622.93333333 636.8256 622.93333333 637.09866666l0 270.5408C622.93333333 927.232 638.29333333 943.2064 657.06666666 942.93333333c18.77333333 0.13653333 34.2016-15.70133333 34.2016-35.36213333l0-189.37173334 214.08426667 214.08426667c13.78986667 13.85813333 35.90826667 14.40426667 49.152 0.95573333 13.312-13.312 12.97066667-35.36213333-0.88746667-49.22026666L739.46453333 669.86666666z" ></path></symbol>
|
|
|
<symbol id="request-fullscreen" viewBox="0 0 1024 1024">
|
|
|
<path d="M69.818182 87.598545v273.128728a34.909091 34.909091 0 0 0 69.818182 0V163.653818l221.928727 222.021818a33.512727 33.512727 0 0 0 47.383273-47.383272L186.926545 116.363636h197.073455a34.909091 34.909091 0 0 0 0-69.818181H110.871273C85.364364 46.545455 69.818182 59.671273 69.818182 87.598545zM938.542545 46.545455H665.413818a34.909091 34.909091 0 0 0 0 69.818181h197.073455L640.465455 338.292364a33.512727 33.512727 0 0 0 47.383272 47.383272l221.928728-222.021818v197.073455a34.909091 34.909091 0 0 0 69.818181 0V87.598545c0-27.927273-15.453091-41.053091-40.96-41.05309z m-827.671272 907.636363h273.128727a34.909091 34.909091 0 0 0 0-69.818182H186.926545l222.021819-221.928727a33.512727 33.512727 0 0 0-47.383273-47.383273L139.636364 837.073455V640a34.909091 34.909091 0 0 0-69.818182 0v273.128727c0 27.927273 15.546182 41.053091 41.053091 41.053091z m868.724363-41.053091V640a34.909091 34.909091 0 0 0-69.818181 0v197.073455L687.941818 615.051636a33.512727 33.512727 0 0 0-47.383273 47.383273L862.487273 884.363636H665.413818a34.909091 34.909091 0 0 0 0 69.818182h273.128727c25.6 0 41.053091-13.125818 41.053091-41.053091z" ></path></symbol>
|
|
|
</svg>
|
|
|
`;var ET=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};class Xv extends Fr{constructor(e,t){super(e,Object.assign({},Xv.defaultOptions,t)),this.$element=Kl("toolbar",!1),this.onToolbarItemClick=i=>{const{onClick:a}=this.options;if(i.target instanceof Element&&i.target.className.includes("g6-toolbar-item")){const s=i.target.getAttribute("value");a==null||a(s,i.target)}};const n=this.context.canvas.getContainer();this.$element.style.display="flex",n.appendChild(this.$element),rm("g6-toolbar-css","style",{},WX,document.head),rm("g6-toolbar-svgicon","div",{display:"none"},VX),this.$element.addEventListener("click",this.onToolbarItemClick),this.update(t)}update(e){const t=Object.create(null,{update:{get:()=>super.update}});return ET(this,void 0,void 0,function*(){t.update.call(this,e);const{className:n,position:i,style:a}=this.options;this.$element.className=`g6-toolbar ${n||""}`,Object.assign(this.$element.style,a,XX(i)),this.$element.innerHTML=yield this.getDOMContent()})}destroy(){this.$element.removeEventListener("click",this.onToolbarItemClick),this.$element.remove(),super.destroy()}getDOMContent(){return ET(this,void 0,void 0,function*(){return(yield this.options.getItems()).map(t=>`
|
|
|
<div class="g6-toolbar-item" value="${t.value}">
|
|
|
<svg aria-hidden="true" focusable="false">
|
|
|
<use xlink:href="#${t.id}"></use>
|
|
|
</svg>
|
|
|
</div>`).join("")})}}Xv.defaultOptions={position:"top-left"};function ky(r){var e=document.createElement("div");e.innerHTML=r;var t=e.childNodes[0];return t&&e.contains(t)&&e.removeChild(t),t}function YX(r,e){return!r||!e?r:r.replace(/\\?\{([^{}]+)\}/g,function(t,n){return t.charAt(0)==="\\"?t.slice(1):e[n]===void 0?"":e[n]})}var UX=YX,wT=function(r,e){if(e==null){r.innerHTML="";return}r.replaceChildren?Array.isArray(e)?r.replaceChildren.apply(r,(0,Y.ev)([],(0,Y.CR)(e),!1)):r.replaceChildren(e):(r.innerHTML="",Array.isArray(e)?e.forEach(function(t){return r.appendChild(t)}):r.appendChild(e))};function Cy(r){return r===void 0&&(r=""),{CONTAINER:"".concat(r,"tooltip"),TITLE:"".concat(r,"tooltip-title"),LIST:"".concat(r,"tooltip-list"),LIST_ITEM:"".concat(r,"tooltip-list-item"),NAME:"".concat(r,"tooltip-list-item-name"),MARKER:"".concat(r,"tooltip-list-item-marker"),NAME_LABEL:"".concat(r,"tooltip-list-item-name-label"),VALUE:"".concat(r,"tooltip-list-item-value"),CROSSHAIR_X:"".concat(r,"tooltip-crosshair-x"),CROSSHAIR_Y:"".concat(r,"tooltip-crosshair-y")}}var PT={overflow:"hidden","white-space":"nowrap","text-overflow":"ellipsis"};function ZX(r){var e;r===void 0&&(r="");var t=Cy(r);return e={},e[".".concat(t.CONTAINER)]={position:"absolute",visibility:"visible","z-index":8,transition:"visibility 0.2s cubic-bezier(0.23, 1, 0.32, 1), left 0.4s cubic-bezier(0.23, 1, 0.32, 1), top 0.4s cubic-bezier(0.23, 1, 0.32, 1)","background-color":"rgba(255, 255, 255, 0.96)","box-shadow":"0 6px 12px 0 rgba(0, 0, 0, 0.12)","border-radius":"4px",color:"rgba(0, 0, 0, 0.65)","font-size":"12px","line-height":"20px",padding:"12px","min-width":"120px","max-width":"360px","font-family":"Roboto-Regular"},e[".".concat(t.TITLE)]={color:"rgba(0, 0, 0, 0.45)"},e[".".concat(t.LIST)]={margin:"0px","list-style-type":"none",padding:"0px"},e[".".concat(t.LIST_ITEM)]={"list-style-type":"none",display:"flex","line-height":"2em","align-items":"center","justify-content":"space-between","white-space":"nowrap"},e[".".concat(t.MARKER)]={width:"8px",height:"8px","border-radius":"50%",display:"inline-block","margin-right":"4px"},e[".".concat(t.NAME)]={display:"flex","align-items":"center","max-width":"216px"},e[".".concat(t.NAME_LABEL)]=(0,Y.pi)({flex:1},PT),e[".".concat(t.VALUE)]=(0,Y.pi)({display:"inline-block",float:"right",flex:1,"text-align":"right","min-width":"28px","margin-left":"30px",color:"rgba(0, 0, 0, 0.85)"},PT),e[".".concat(t.CROSSHAIR_X)]={position:"absolute",width:"1px","background-color":"rgba(0, 0, 0, 0.25)"},e[".".concat(t.CROSSHAIR_Y)]={position:"absolute",height:"1px","background-color":"rgba(0, 0, 0, 0.25)"},e}var KX=function(r){(0,Y.ZT)(e,r);function e(t){var n=this,i,a,s=(a=(i=t.style)===null||i===void 0?void 0:i.template)===null||a===void 0?void 0:a.prefixCls,o=Cy(s);return n=r.call(this,t,{data:[],x:0,y:0,visibility:"visible",title:"",position:"bottom-right",offset:[5,5],enterable:!1,container:{x:0,y:0},bounding:null,template:{prefixCls:"",container:'<div class="'.concat(o.CONTAINER,'"></div>'),title:'<div class="'.concat(o.TITLE,'"></div>'),item:'<li class="'.concat(o.LIST_ITEM,`" data-index={index}>
|
|
|
<span class="`).concat(o.NAME,`">
|
|
|
<span class="`).concat(o.MARKER,`" style="background:{color}"></span>
|
|
|
<span class="`).concat(o.NAME_LABEL,`" title="{name}">{name}</span>
|
|
|
</span>
|
|
|
<span class="`).concat(o.VALUE,`" title="{value}">{value}</span>
|
|
|
</li>`)},style:ZX(s)})||this,n.timestamp=-1,n.prevCustomContentKey=n.attributes.contentKey,n.initShape(),n.render(n.attributes,n),n}return Object.defineProperty(e.prototype,"HTMLTooltipElement",{get:function(){return this.element},enumerable:!1,configurable:!0}),e.prototype.getContainer=function(){return this.element},Object.defineProperty(e.prototype,"elementSize",{get:function(){var t=this.element.offsetWidth,n=this.element.offsetHeight;return{width:t,height:n}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"HTMLTooltipItemsElements",{get:function(){var t=this.attributes,n=t.data,i=t.template;return n.map(function(a,s){var o=a.name,l=o===void 0?"":o,u=a.color,c=u===void 0?"black":u,h=a.index,f=(0,Y._T)(a,["name","color","index"]),d=(0,Y.pi)({name:l,color:c,index:h!=null?h:s},f);return ky(UX(i.item,d))})},enumerable:!1,configurable:!0}),e.prototype.render=function(t,n){this.renderHTMLTooltipElement(),this.updatePosition()},e.prototype.destroy=function(){var t;(t=this.element)===null||t===void 0||t.remove(),r.prototype.destroy.call(this)},e.prototype.show=function(t,n){var i=this;if(t!==void 0&&n!==void 0){var a=this.element.style.visibility==="hidden",s=function(){i.attributes.x=t!=null?t:i.attributes.x,i.attributes.y=n!=null?n:i.attributes.y,i.updatePosition()};a?this.closeTransition(s):s()}this.element.style.visibility="visible"},e.prototype.hide=function(t,n){t===void 0&&(t=0),n===void 0&&(n=0);var i=this.attributes.enterable;i&&this.isCursorEntered(t,n)||(this.element.style.visibility="hidden")},e.prototype.initShape=function(){var t=this.attributes.template;this.element=ky(t.container),this.id&&this.element.setAttribute("id",this.id)},e.prototype.renderCustomContent=function(){if(!(this.prevCustomContentKey!==void 0&&this.prevCustomContentKey===this.attributes.contentKey)){this.prevCustomContentKey=this.attributes.contentKey;var t=this.attributes.content;t&&(typeof t=="string"?this.element.innerHTML=t:wT(this.element,t))}},e.prototype.renderHTMLTooltipElement=function(){var t,n,i=this.attributes,a=i.template,s=i.title,o=i.enterable,l=i.style,u=i.content,c=Cy(a.prefixCls),h=this.element;if(this.element.style.pointerEvents=o?"auto":"none",u)this.renderCustomContent();else{s?(h.innerHTML=a.title,h.getElementsByClassName(c.TITLE)[0].innerHTML=s):(n=(t=h.getElementsByClassName(c.TITLE))===null||t===void 0?void 0:t[0])===null||n===void 0||n.remove();var f=this.HTMLTooltipItemsElements,d=document.createElement("ul");d.className=c.LIST,wT(d,f);var v=this.element.querySelector(".".concat(c.LIST));v?v.replaceWith(d):h.appendChild(d)}Nj(h,l)},e.prototype.getRelativeOffsetFromCursor=function(t){var n=this.attributes,i=n.position,a=n.offset,s=t||i,o=s.split("-"),l={left:[-1,0],right:[1,0],top:[0,-1],bottom:[0,1]},u=this.elementSize,c=u.width,h=u.height,f=[-c/2,-h/2];return o.forEach(function(d){var v=(0,Y.CR)(f,2),g=v[0],p=v[1],m=(0,Y.CR)(l[d],2),b=m[0],x=m[1];f=[g+(c/2+a[0])*b,p+(h/2+a[1])*x]}),f},e.prototype.setOffsetPosition=function(t){var n=(0,Y.CR)(t,2),i=n[0],a=n[1],s=this.attributes,o=s.x,l=o===void 0?0:o,u=s.y,c=u===void 0?0:u,h=s.container,f=h.x,d=h.y;this.element.style.left="".concat(+l+f+i,"px"),this.element.style.top="".concat(+c+d+a,"px")},e.prototype.updatePosition=function(){var t=this.attributes.showDelay,n=t===void 0?60:t,i=Date.now();this.timestamp>0&&i-this.timestamp<n||(this.timestamp=i,this.setOffsetPosition(this.autoPosition(this.getRelativeOffsetFromCursor())))},e.prototype.autoPosition=function(t){var n=(0,Y.CR)(t,2),i=n[0],a=n[1],s=this.attributes,o=s.x,l=s.y,u=s.bounding,c=s.position;if(!u)return[i,a];var h=this.element,f=h.offsetWidth,d=h.offsetHeight,v=(0,Y.CR)([+o+i,+l+a],2),g=v[0],p=v[1],m={left:"right",right:"left",top:"bottom",bottom:"top"},b=u.x,x=u.y,O=u.width,T=u.height,S={left:g<b,right:g+f>b+O,top:p<x,bottom:p+d>x+T},k=[];c.split("-").forEach(function(W){S[W]?k.push(m[W]):k.push(W)});var C=k.join("-");return this.getRelativeOffsetFromCursor(C)},e.prototype.isCursorEntered=function(t,n){if(this.element){var i=this.element.getBoundingClientRect(),a=i.x,s=i.y,o=i.width,l=i.height;return new Zr(a,s,o,l).isPointIn(t,n)}return!1},e.prototype.closeTransition=function(t){var n=this,i=this.element.style.transition;this.element.style.transition="none",t(),setTimeout(function(){n.element.style.transition=i},10)},e.tag="tooltip",e}(or);class Wv extends Fr{constructor(e,t){super(e,Object.assign({},Wv.defaultOptions,t)),this.currentTarget=null,this.tooltipElement=null,this.container=null,this.isEnable=n=>{const{enable:i}=this.options;return typeof i=="function"?i(n):i},this.onClick=n=>{const{target:{id:i}}=n;this.currentTarget===i?(this.hide(n),this.currentTarget=null):(this.currentTarget=i,this.show(n))},this.onPointerMove=n=>{const{target:i}=n;!this.currentTarget||i.id===this.currentTarget||this.show(n)},this.onPointerLeave=n=>{this.hide(n),this.currentTarget=null},this.onCanvasMove=n=>{this.hide(n),this.currentTarget=null},this.onPointerEnter=n=>{this.show(n)},this.showById=n=>{const i={target:{id:n}};this.show(i)},this.getElementData=(n,i)=>{const{model:a}=this.context;switch(i){case"node":return a.getNodeData([n]);case"edge":return a.getEdgeData([n]);case"combo":return a.getComboData([n]);default:return[]}},this.show=n=>{const{client:i,target:{id:a}}=n;if(id(n.target)||!this.tooltipElement||!this.isEnable(n))return;const s=this.context.graph.getElementType(a),{getContent:o,title:l}=this.options;this.currentTarget=a;const u=this.getElementData(a,s);let c,h;if(i)c=i.x,h=i.y;else{const d=ii(u,"0.style",{x:0,y:0});c=d.x,h=d.y}let f={};if(o)f.content=o(n,u);else{const d=this.context.graph.getElementRenderStyle(a),v=s==="node"?d.fill:d.stroke;f={title:l||s,data:u.map(g=>({name:"ID",value:g.id||`${g.source} -> ${g.target}`,color:v}))}}this.tooltipElement.update(Object.assign(Object.assign(Object.assign({},this.tooltipStyleProps),{x:c,y:h,style:{".tooltip":{visibility:"visible"}}}),f))},this.hide=n=>{var i;if(!n){(i=this.tooltipElement)===null||i===void 0||i.hide();return}if(!this.tooltipElement||!this.currentTarget)return;const{client:{x:a,y:s}}=n;this.tooltipElement.hide(a,s)},this.initTooltip=()=>{var n;const i=new KX({className:"tooltip",style:this.tooltipStyleProps});return(n=this.container)===null||n===void 0||n.appendChild(i.HTMLTooltipElement),i},this.render(),this.bindEvents()}getEvents(){return this.options.trigger==="click"?{"node:click":this.onClick,"edge:click":this.onClick,"combo:click":this.onClick,"canvas:click":this.onPointerLeave,contextmenu:this.onPointerLeave,drag:this.onPointerLeave}:{"node:pointerenter":this.onPointerEnter,"node:pointermove":this.onPointerMove,"canvas:pointermove":this.onCanvasMove,"edge:pointerenter":this.onPointerEnter,"edge:pointermove":this.onPointerMove,"combo:pointerenter":this.onPointerEnter,"combo:pointermove":this.onPointerMove,contextmenu:this.onPointerLeave,"node:drag":this.onPointerLeave}}update(e){var t;this.unbindEvents(),super.update(e),this.tooltipElement&&((t=this.container)===null||t===void 0||t.removeChild(this.tooltipElement.HTMLTooltipElement)),this.tooltipElement=this.initTooltip(),this.bindEvents()}render(){const{canvas:e}=this.context,t=e.getContainer();t&&(this.container=t,this.tooltipElement=this.initTooltip())}unbindEvents(){const{graph:e}=this.context,t=this.getEvents();Object.keys(t).forEach(n=>{e.off(n,t[n])})}bindEvents(){const{graph:e}=this.context,t=this.getEvents();Object.keys(t).forEach(n=>{e.on(n,t[n])})}get tooltipStyleProps(){const{canvas:e}=this.context,{center:t}=e.getBounds(),n=e.getContainer(),{top:i,left:a}=n.getBoundingClientRect(),{style:s,position:o,enterable:l,container:u={x:-a,y:-i},title:c,offset:h}=this.options,[f,d]=t,[v,g]=e.getSize();return{x:f,y:d,container:u,title:c,bounding:{x:0,y:0,width:v,height:g},position:o,enterable:l,offset:h,style:s}}destroy(){var e;this.unbindEvents(),this.tooltipElement&&((e=this.container)===null||e===void 0||e.removeChild(this.tooltipElement.HTMLTooltipElement)),super.destroy()}}Wv.defaultOptions={trigger:"hover",position:"top-right",enterable:!1,enable:!0,offset:[10,10],style:{".tooltip":{visibility:"hidden"}}};var MT=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};let uu;function ST(r,e){return uu||(uu=document.createElement("canvas")),uu.width=r,uu.height=e,uu.getContext("2d").clearRect(0,0,r,e),uu}function QX(r,e,t,n){return MT(this,void 0,void 0,function*(){const i=ST(r,e),a=i.getContext("2d"),{rotate:s,opacity:o,textFill:l,textFontSize:u,textFontFamily:c,textFontVariant:h,textFontWeight:f,textAlign:d,textBaseline:v}=n;return a.textAlign=d,a.textBaseline=v,a.translate(r/2,e/2),a.font=`${u}px ${c} ${h} ${f}`,s&&a.rotate(s),o&&(a.globalAlpha=o),l&&(a.fillStyle=l,a.fillText(`${t}`,0,0)),i.toDataURL()})}function JX(r,e,t,n){return MT(this,void 0,void 0,function*(){const i=ST(r,e),a=i.getContext("2d"),{rotate:s,opacity:o}=n;s&&a.rotate(s),o&&(a.globalAlpha=o);const l=new Image;return l.crossOrigin="anonymous",l.src=t,new Promise(u=>{l.onload=function(){const c=r>l.width?(r-l.width)/2:0,h=e>l.height?(e-l.height)/2:0;a.drawImage(l,0,0,l.width,l.height,c,h,r-c*2,e-h*2),u(i.toDataURL())}})})}var qX=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,e||[])).next())})},$X=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class Vv extends Fr{constructor(e,t){super(e,Object.assign({},Vv.defaultOptions,t)),this.$element=Kl("watermark"),this.context.canvas.getContainer().appendChild(this.$element),this.update(t)}update(e){const t=Object.create(null,{update:{get:()=>super.update}});return qX(this,void 0,void 0,function*(){t.update.call(this,e);const n=this.options,{width:i,height:a,text:s,imageURL:o}=n,l=$X(n,["width","height","text","imageURL"]);Object.keys(l).forEach(c=>{c.startsWith("background")&&(this.$element.style[c]=e[c])});const u=o?yield JX(i,a,o,l):yield QX(i,a,s,l);this.$element.style.backgroundImage=`url(${u})`})}destroy(){super.destroy(),this.$element.remove()}}Vv.defaultOptions={width:200,height:100,opacity:.2,rotate:Math.PI/12,text:"",textFill:"#000",textFontSize:16,textAlign:"center",textBaseline:"middle",backgroundRepeat:"repeat"};function eW(r,e,t,n=!1){const i=kp[r][e];!n&&i?i!==t&&wi.warn(`The extension ${e} of ${r} has been registered before.`):Object.assign(kp[r],{[e]:t})}var TT=function(){function r(e){tt(this,r),this.dragndropPluginOptions=e}return nt(r,[{key:"apply",value:function(t){var n=this,i=t.renderingService,a=t.renderingContext,s=a.root.ownerDocument,o=s.defaultView,l=function(c){var h=c.target,f=h===s,d=f&&n.dragndropPluginOptions.isDocumentDraggable?s:h.closest&&h.closest("[draggable=true]");if(d){var v=!1,g=c.timeStamp,p=[c.clientX,c.clientY],m=null,b=[c.clientX,c.clientY],x=function(){var T=Ow(dc().mark(function S(k){var C,W,U,J,te,ie;return dc().wrap(function(ve){for(;;)switch(ve.prev=ve.next){case 0:if(v){ve.next=8;break}if(C=k.timeStamp-g,W=gi([k.clientX,k.clientY],p),!(C<=n.dragndropPluginOptions.dragstartTimeThreshold||W<=n.dragndropPluginOptions.dragstartDistanceThreshold)){ve.next=5;break}return ve.abrupt("return");case 5:k.type="dragstart",d.dispatchEvent(k),v=!0;case 8:if(k.type="drag",k.dx=k.clientX-b[0],k.dy=k.clientY-b[1],d.dispatchEvent(k),b=[k.clientX,k.clientY],f){ve.next=21;break}return U=n.dragndropPluginOptions.overlap==="pointer"?[k.canvasX,k.canvasY]:h.getBounds().center,ve.next=17,s.elementsFromPoint(U[0],U[1]);case 17:J=ve.sent,te=J[J.indexOf(h)+1],ie=(te==null?void 0:te.closest("[droppable=true]"))||(n.dragndropPluginOptions.isDocumentDroppable?s:null),m!==ie&&(m&&(k.type="dragleave",k.target=m,m.dispatchEvent(k)),ie&&(k.type="dragenter",k.target=ie,ie.dispatchEvent(k)),m=ie,m&&(k.type="dragover",k.target=m,m.dispatchEvent(k)));case 21:case"end":return ve.stop()}},S)}));return function(k){return T.apply(this,arguments)}}();o.addEventListener("pointermove",x);var O=function(S){if(v){S.detail={preventClick:!0};var k=S.clone();m&&(k.type="drop",k.target=m,m.dispatchEvent(k)),k.type="dragend",d.dispatchEvent(k),v=!1}o.removeEventListener("pointermove",x)};h.addEventListener("pointerup",O,{once:!0}),h.addEventListener("pointerupoutside",O,{once:!0})}};i.hooks.init.tap(r.tag,function(){o.addEventListener("pointerdown",l)}),i.hooks.destroy.tap(r.tag,function(){o.removeEventListener("pointerdown",l)})}}])}();TT.tag="Dragndrop";var tW=function(r){function e(){var t,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return tt(this,e),t=nn(this,e),t.name="dragndrop",t.options=n,t}return rn(e,r),nt(e,[{key:"init",value:function(){this.addRenderingPlugin(new TT(ar({overlap:"pointer",isDocumentDraggable:!1,isDocumentDroppable:!1,dragstartDistanceThreshold:0,dragstartTimeThreshold:0},this.options)))}},{key:"destroy",value:function(){this.removeAllRenderingPlugins()}},{key:"setOptions",value:function(n){Object.assign(this.plugins[0].dragndropPluginOptions,n)}}])}(Is),AT=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,e||[])).next())})},OT=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};const kT=["main"],CT=["background","main","label","transient"];function nW(r){return r.main}class NT{getConfig(){return this.config}getLayer(e="main"){return this.extends.layers[e]||nW(this.getLayers())}getLayers(){return this.extends.layers}getRenderer(e){return this.extends.renderers[e]}getCamera(e="main"){return this.getLayer(e).getCamera()}getRoot(e="main"){return this.getLayer(e).getRoot()}getContextService(e="main"){return this.getLayer(e).getContextService()}setCursor(e){this.config.cursor=e,this.getLayer().setCursor(e)}get document(){return this.getLayer().document}get context(){return this.getLayer().context}constructor(e){this.config={enableMultiLayer:!0},Object.assign(this.config,e);const t=this.config,{renderer:n,background:i,cursor:a,enableMultiLayer:s}=t,o=OT(t,["renderer","background","cursor","enableMultiLayer"]),l=s?CT:kT,u=_T(n,l),c=Object.fromEntries(l.map(h=>{const f=new gp(Object.assign(Object.assign({},o),{supportsMutipleCanvasesInOneContainer:s,renderer:u[h],background:s?h==="background"?i:void 0:i}));return[h,f]}));RT(c),this.extends={config:this.config,renderer:n,renderers:u,layers:c}}get ready(){return Promise.all(Object.entries(this.getLayers()).map(([,e])=>e.ready))}resize(e,t){Object.assign(this.extends.config,{width:e,height:t}),Object.values(this.getLayers()).forEach(n=>{const i=n.getCamera(),a=i.getPosition(),s=i.getFocalPoint();n.resize(e,t),i.setPosition(a),i.setFocalPoint(s)})}getBounds(e){return Ju(Object.values(this.getLayers()).map(t=>e?t.getRoot().childNodes.find(i=>i.classList.includes(e)):t.getRoot()).filter(t=>(t==null?void 0:t.childNodes.length)>0).map(t=>t.getBounds()))}getContainer(){const e=this.extends.config.container;return typeof e=="string"?document.getElementById(e):e}getSize(){return[this.extends.config.width||0,this.extends.config.height||0]}appendChild(e,t){var n;const i=((n=e.style)===null||n===void 0?void 0:n.$layer)||"main";return this.getLayer(i).appendChild(e,t)}setRenderer(e){if(e===this.extends.renderer)return;const t=_T(e,this.config.enableMultiLayer?CT:kT);this.extends.renderers=t,Object.entries(t).forEach(([n,i])=>this.getLayer(n).setRenderer(i)),RT(this.getLayers())}getCanvasByViewport(e){return zr(this.getLayer().viewport2Canvas(Ta(e)))}getViewportByCanvas(e){return zr(this.getLayer().canvas2Viewport(Ta(e)))}getViewportByClient(e){return zr(this.getLayer().client2Viewport(Ta(e)))}getClientByViewport(e){return zr(this.getLayer().viewport2Client(Ta(e)))}getClientByCanvas(e){return this.getClientByViewport(this.getViewportByCanvas(e))}getCanvasByClient(e){const t=this.getLayer(),n=t.client2Viewport(Ta(e));return zr(t.viewport2Canvas(n))}toDataURL(){return AT(this,arguments,void 0,function*(e={}){const t=globalThis.devicePixelRatio||1,{mode:n="viewport"}=e,i=OT(e,["mode"]);let[a,s,o,l]=[0,0,0,0];if(n==="viewport")[o,l]=this.getSize();else if(n==="overall"){const m=this.getBounds(),b=Hs(m);[a,s]=m.min,[o,l]=b}const u=ky('<div id="virtual-image"></div>'),c=new gp({width:o,height:l,renderer:new Yf,devicePixelRatio:t,container:u,background:this.extends.config.background});yield c.ready,c.appendChild(this.getLayer("background").getRoot().cloneNode(!0)),c.appendChild(this.getRoot().cloneNode(!0));const h=this.getLayer("label").getRoot().cloneNode(!0),f=c.viewport2Canvas({x:0,y:0}),d=this.getCanvasByViewport([0,0]);h.translate([d[0]-f.x,d[1]-f.y]),h.scale(1/this.getCamera().getZoom()),c.appendChild(h),c.appendChild(this.getLayer("transient").getRoot().cloneNode(!0));const v=this.getCamera(),g=c.getCamera();if(n==="viewport")g.setZoom(v.getZoom()),g.setPosition(v.getPosition()),g.setFocalPoint(v.getFocalPoint());else if(n==="overall"){const[m,b,x]=g.getPosition(),[O,T,S]=g.getFocalPoint();g.setPosition([m+a,b+s,x]),g.setFocalPoint([O+a,T+s,S])}const p=c.getContextService();return new Promise(m=>{c.addEventListener(Ci.RERENDER,()=>AT(this,void 0,void 0,function*(){yield new Promise(x=>setTimeout(x,300));const b=yield p.toDataURL(i);m(b)}))})})}destroy(){Object.values(this.getLayers()).forEach(e=>{e.getCamera().cancelLandmarkAnimation(),e.destroy()})}}function _T(r,e){return Object.fromEntries(e.map(t=>{const n=(r==null?void 0:r(t))||new Yf;return t==="main"?n.registerPlugin(new tW({isDocumentDraggable:!0,isDocumentDroppable:!0,dragstartDistanceThreshold:10,dragstartTimeThreshold:100})):n.unregisterPlugin(n.getPlugin("dom-interaction")),[t,n]}))}function RT(r){Object.entries(r).forEach(([e,t])=>{const n=t.getContextService().getDomElement();n!=null&&n.style&&(n.style.gridArea="1 / 1 / 2 / 2",n.style.outline="none",n.tabIndex=1,e!=="main"&&(n.style.pointerEvents="none")),n!=null&&n.parentElement&&(n.parentElement.style.display="grid")})}const cu=r=>r?parseInt(r):0;function rW(r){const e=getComputedStyle(r),t=r.clientWidth||cu(e.width),n=r.clientHeight||cu(e.height),i=cu(e.paddingLeft)+cu(e.paddingRight),a=cu(e.paddingTop)+cu(e.paddingBottom);return[t-i,n-a]}function LT(r){if(!r)return[0,0];let e=640,t=480;const[n,i]=rW(r);e=n||e,t=i||t;const a=1,s=1;return[Math.max(ht(e)?e:a,a),Math.max(ht(t)?t:s,s)]}class Yv{constructor(e){this.type=e}}class kr extends Yv{constructor(e,t){super(e),this.data=t}}class fa extends Yv{constructor(e,t,n,i){super(e),this.animationType=t,this.animation=n,this.data=i}}class hu extends Yv{constructor(e,t,n){super(e),this.elementType=t,this.data=n}}class Uv extends Yv{constructor(e,t){super(e),this.data=t}}function Hr(r,e){r.emit(e.type,e)}function iW(r){if(!r)return null;if(r instanceof Zb)return{type:"canvas",element:r};let e=r;for(;e;){if(gc(e))return{type:"node",element:e};if(Yw(e))return{type:"edge",element:e};if(S0(e))return{type:"combo",element:e};e=e.parentElement}return null}function DT(r){var e;return((e=r==null?void 0:r.style)===null||e===void 0?void 0:e.zIndex)||0}const fu="cachedStyle",Zv=r=>`__${r}__`;function aW(r,e){const t=Array.isArray(e)?e:[e];ii(r,fu)||ac(r,fu,{}),t.forEach(n=>{ac(ii(r,fu),Zv(n),r.attributes[n])})}function IT(r,e){return ii(r,[fu,Zv(e)])}function sW(r,e){return Zv(e)in(ii(r,fu)||{})}function Wq(r,e,t){set(r,[fu,Zv(e)],t)}class oW{constructor(e){this.tasks=[],this.animations=new Set,this.context=e}getTasks(){const e=[...this.tasks];return this.tasks=[],e}add(e,t){this.tasks.push([e,t])}animate(e,t,n){var i,a,s;(i=t==null?void 0:t.before)===null||i===void 0||i.call(t);const o=this.getTasks().map(([u,c])=>{var h,f,d;const{element:v,elementType:g,stage:p}=u,m=c_(this.context.options,g,p,e);(h=c==null?void 0:c.before)===null||h===void 0||h.call(c);const b=m.length?f_(v,this.inferStyle(u,n),m):null;return b?((f=c==null?void 0:c.beforeAnimate)===null||f===void 0||f.call(c,b),b.finished.then(()=>{var x,O;(x=c==null?void 0:c.afterAnimate)===null||x===void 0||x.call(c,b),(O=c==null?void 0:c.after)===null||O===void 0||O.call(c),this.animations.delete(b)})):(d=c==null?void 0:c.after)===null||d===void 0||d.call(c),b}).filter(Boolean);o.forEach(u=>this.animations.add(u));const l=Cp(o);return l?((a=t==null?void 0:t.beforeAnimate)===null||a===void 0||a.call(t,l),l.finished.then(()=>{var u,c;(u=t==null?void 0:t.afterAnimate)===null||u===void 0||u.call(t,l),(c=t==null?void 0:t.after)===null||c===void 0||c.call(t),this.release()})):(s=t==null?void 0:t.after)===null||s===void 0||s.call(t),l}inferStyle(e,t){var n,i;const{element:a,elementType:s,stage:o,originalStyle:l,updatedStyle:u={}}=e;e.modifiedStyle||(e.modifiedStyle=Object.assign(Object.assign({},l),u));const{modifiedStyle:c}=e,h={},f={};if(o==="enter")Object.assign(h,{opacity:0});else if(o==="exit")Object.assign(f,{opacity:0});else if(o==="show")Object.assign(h,{opacity:0}),Object.assign(f,{opacity:(n=IT(a,"opacity"))!==null&&n!==void 0?n:Qu("opacity")});else if(o==="hide")Object.assign(h,{opacity:(i=IT(a,"opacity"))!==null&&i!==void 0?i:Qu("opacity")}),Object.assign(f,{opacity:0});else if(o==="collapse"){const{collapse:d}=t||{},{target:v,descendants:g,position:p}=d;if(s==="node"){if(g.includes(a.id)){const[m,b,x]=p;Object.assign(f,{x:m,y:b,z:x})}}else if(s==="combo"){if(a.id===v||g.includes(a.id)){const[m,b]=p;Object.assign(f,{x:m,y:b,childrenNode:l.childrenNode})}}else s==="edge"&&Object.assign(f,{sourceNode:c.sourceNode,targetNode:c.targetNode})}else if(o==="expand"){const{expand:d}=t||{},{target:v,descendants:g,position:p}=d;if(s==="node"){if(a.id===v||g.includes(a.id)){const[m,b,x]=p;Object.assign(h,{x:m,y:b,z:x})}}else if(s==="combo"){if(a.id===v||g.includes(a.id)){const[m,b,x]=p;Object.assign(h,{x:m,y:b,z:x,childrenNode:c.childrenNode})}}else s==="edge"&&Object.assign(h,{sourceNode:c.sourceNode,targetNode:c.targetNode})}return[Object.keys(h).length>0?Object.assign({},l,h):l,Object.keys(f).length>0?Object.assign({},c,f):c]}stop(){this.animations.forEach(e=>e.cancel())}clear(){this.tasks=[]}release(){var e,t;const{canvas:n}=this.context,i=(t=(e=n.document)===null||e===void 0?void 0:e.timeline)===null||t===void 0?void 0:t.animationsWithPromises;i&&(n.document.timeline.animationsWithPromises=i.filter(a=>a.playState!=="finished"))}destroy(){this.stop(),this.animations.clear(),this.tasks=[]}}class lW{constructor(e){this.batchCount=0,this.context=e}emit(e){const{graph:t}=this.context;t.emit(e.type,e)}startBatch(e=!0){this.batchCount++,this.batchCount===1&&this.emit(new kr(rt.BATCH_START,{initiate:e}))}endBatch(){this.batchCount--,this.batchCount===0&&this.emit(new kr(rt.BATCH_END))}get isBatching(){return this.batchCount>0}destroy(){this.context=null}}class uW extends Yp{constructor(e){super(e),this.currentTarget=null,this.currentTargetType=null,this.category="behavior",this.forwardCanvasEvents=t=>{const{target:n}=t,i=iW(n);if(!i)return;const{graph:a,canvas:s}=this.context,{type:o,element:l}=i;if("destroyed"in l&&(id(l)||l.destroyed))return;const{type:u,detail:c,button:h}=t,f=Object.assign(Object.assign({},t),{target:l,targetType:o,originalTarget:n});u===We.POINTER_MOVE&&(this.currentTarget!==l&&(this.currentTarget&&a.emit(`${this.currentTargetType}:${We.POINTER_LEAVE}`,Object.assign(Object.assign({},f),{type:We.POINTER_LEAVE,target:this.currentTarget,targetType:this.currentTargetType})),l&&(Object.assign(f,{type:We.POINTER_ENTER}),a.emit(`${o}:${We.POINTER_ENTER}`,f))),this.currentTarget=l,this.currentTargetType=o),u===We.CLICK&&h===2||(a.emit(`${o}:${u}`,f),a.emit(u,f)),u===We.CLICK&&c===2&&(Object.assign(f,{type:We.DBLCLICK}),a.emit(`${o}:${We.DBLCLICK}`,f),a.emit(We.DBLCLICK,f)),u===We.POINTER_DOWN&&h===2&&(Object.assign(f,{type:We.CONTEXT_MENU,preventDefault:()=>{var d;(d=s.getContainer())===null||d===void 0||d.addEventListener(We.CONTEXT_MENU,v=>v.preventDefault(),{once:!0})}}),a.emit(`${o}:${We.CONTEXT_MENU}`,f),a.emit(We.CONTEXT_MENU,f))},this.forwardContainerEvents=t=>{this.context.graph.emit(t.type,t)},this.forwardEvents(),this.setBehaviors(this.context.options.behaviors||[])}setBehaviors(e){this.setExtensions(e)}forwardEvents(){const e=this.context.canvas.getContainer();e&&[Rl.KEY_DOWN,Rl.KEY_UP].forEach(n=>{e.addEventListener(n,this.forwardContainerEvents)});const t=this.context.canvas.document;t&&[We.CLICK,We.DBLCLICK,We.POINTER_OVER,We.POINTER_LEAVE,We.POINTER_ENTER,We.POINTER_MOVE,We.POINTER_OUT,We.POINTER_DOWN,We.POINTER_UP,We.CONTEXT_MENU,We.DRAG_START,We.DRAG,We.DRAG_END,We.DRAG_ENTER,We.DRAG_OVER,We.DRAG_LEAVE,We.DROP,We.WHEEL].forEach(n=>{t.addEventListener(n,this.forwardCanvasEvents)})}destroy(){const e=this.context.canvas.getContainer();e&&[Rl.KEY_DOWN,Rl.KEY_UP].forEach(t=>{e.removeEventListener(t,this.forwardContainerEvents)}),this.context.canvas.document.removeAllEventListeners(),super.destroy()}}function cW(r,e){e===void 0&&(e=new Map);var t=[];if(Array.isArray(r))for(var n=0,i=r.length;n<i;n++){var a=r[n];e.has(a)||(t.push(a),e.set(a,!0))}return t}var Qc=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};function fo(r,e){const{data:t,style:n}=r,i=Qc(r,["data","style"]),{data:a,style:s}=e,o=Qc(e,["data","style"]),l=Object.assign(Object.assign({},i),o);return(t||a)&&Object.assign(l,{data:Object.assign(Object.assign({},t),a)}),(n||s)&&Object.assign(l,{style:Object.assign(Object.assign({},n),s)}),l}function Ny(r){const{data:e,style:t}=r,i=Qc(r,["data","style"]);return e&&(i.data=Object.assign({},e)),t&&(i.style=Object.assign({},t)),i}function Vq(r){return!get(r,["nodes","length"])&&!get(r,["edges","length"])&&!get(r,["combos","length"])}function du(r={},e={}){const{states:t=[],data:n={},style:i={},children:a=[]}=r,s=Qc(r,["states","data","style","children"]),{states:o=[],data:l={},style:u={},children:c=[]}=e,h=Qc(e,["states","data","style","children"]),f=(v,g)=>v.length!==g.length?!1:v.every((p,m)=>p===g[m]),d=(v,g)=>{const p=Object.keys(v),m=Object.keys(g);return p.length!==m.length?!1:p.every(b=>v[b]===g[b])};return!(!d(s,h)||!f(a,c)||!f(t,o)||!d(n,l)||!d(i,u))}var hW=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};function _y(r){const{id:e=Re(r),style:t,data:n}=r,i=hW(r,["id","style","data"]),a=Object.assign(Object.assign({},r),{style:Object.assign({},t),data:Object.assign({},n)});return x_(r)?Object.assign({id:e,data:a},i):{id:e,data:a}}function Cr(r){return r.data}function fW(r){if(r.hasTreeStructure(ea))return;r.attachTreeStructure(ea);const e=r.getAllEdges();for(const t of e){const{source:n,target:i}=t;r.setParent(i,n,ea)}}class dW{constructor(){this.latestRemovedComboIds=new Set,this.comboIds=new Set,this.changes=[],this.batchCount=0,this.isTraceless=!1,this.enableUpdateNodeLikeHierarchy=!0,this.model=new gr}pushChange(e){if(this.isTraceless)return;const{type:t}=e;if(t===Wn.NodeUpdated||t===Wn.EdgeUpdated||t===Wn.ComboUpdated){const{value:n,original:i}=e;this.changes.push({value:Ny(n),original:Ny(i),type:t})}else this.changes.push({value:Ny(e.value),type:t})}getChanges(){return this.changes}clearChanges(){this.changes=[]}batch(e){this.batchCount++,this.model.batch(e),this.batchCount--}isBatching(){return this.batchCount>0}silence(e){this.isTraceless=!0,e(),this.isTraceless=!1}isCombo(e){return this.comboIds.has(e)||this.latestRemovedComboIds.has(e)}getData(){return{nodes:this.getNodeData(),edges:this.getEdgeData(),combos:this.getComboData()}}getNodeData(e){return this.model.getAllNodes().reduce((t,n)=>{const i=Cr(n);return this.isCombo(Re(i))||(e===void 0||e.includes(Re(i)))&&t.push(i),t},[])}getEdgeDatum(e){return Cr(this.model.getEdge(e))}getEdgeData(e){return this.model.getAllEdges().reduce((t,n)=>{const i=Cr(n);return(e===void 0||e.includes(Re(i)))&&t.push(i),t},[])}getComboData(e){return this.model.getAllNodes().reduce((t,n)=>{const i=Cr(n);return this.isCombo(Re(i))&&(e===void 0||e.includes(Re(i)))&&t.push(i),t},[])}getRootsData(e=ea){return this.model.getRoots(e).map(Cr)}getAncestorsData(e,t){const{model:n}=this;return!n.hasNode(e)||!n.hasTreeStructure(t)?[]:n.getAncestors(e,t).map(Cr)}getDescendantsData(e){const t=this.getElementDataById(e),n=[];return Bo(t,i=>{i!==t&&n.push(i)},i=>this.getChildrenData(Re(i)),"TB"),n}getParentData(e,t){const{model:n}=this;if(!t){wi.warn("The hierarchy structure key is not specified");return}if(!n.hasNode(e)||!n.hasTreeStructure(t))return;const i=n.getParent(e,t);return i?Cr(i):void 0}getChildrenData(e){const t=this.getElementType(e)==="node"?ea:An,{model:n}=this;return!n.hasNode(e)||!n.hasTreeStructure(t)?[]:n.getChildren(e,t).map(Cr)}getElementsDataByType(e){return e==="node"?this.getNodeData():e==="edge"?this.getEdgeData():e==="combo"?this.getComboData():[]}getElementDataById(e){return this.getElementType(e)==="edge"?this.getEdgeDatum(e):this.getNodeLikeDatum(e)}getNodeLikeDatum(e){const t=this.model.getNode(e);return Cr(t)}getNodeLikeData(e){return this.model.getAllNodes().reduce((t,n)=>{const i=Cr(n);return e?e.includes(Re(i))&&t.push(i):t.push(i),t},[])}getElementDataByState(e,t){return this.getElementsDataByType(e).filter(i=>{var a;return(a=i.states)===null||a===void 0?void 0:a.includes(t)})}getElementState(e){var t;return((t=this.getElementDataById(e))===null||t===void 0?void 0:t.states)||[]}hasNode(e){return this.model.hasNode(e)&&!this.isCombo(e)}hasEdge(e){return this.model.hasEdge(e)}hasCombo(e){return this.model.hasNode(e)&&this.isCombo(e)}getRelatedEdgesData(e,t="both"){return this.model.getRelatedEdges(e,t).map(Cr)}getNeighborNodesData(e){return this.model.getNeighbors(e).map(Cr)}setData(e){const{nodes:t=[],edges:n=[],combos:i=[]}=e,{nodes:a,edges:s,combos:o}=this.getData(),l=Vs(a,t,h=>Re(h),du),u=Vs(s,n,h=>Re(h),du),c=Vs(o,i,h=>Re(h),du);this.batch(()=>{const h={nodes:l.enter,edges:u.enter,combos:c.enter};this.addData(h),this.computeZIndex(h,"add",!0);const f={nodes:l.update,edges:u.update,combos:c.update};this.updateData(f),this.computeZIndex(f,"update",!0);const d={nodes:l.exit.map(Re),edges:u.exit.map(Re),combos:c.exit.map(Re)};this.removeData(d)})}addData(e){const{nodes:t,edges:n,combos:i}=e;this.batch(()=>{this.addComboData(i),this.addNodeData(t),this.addEdgeData(n)}),this.computeZIndex(e,"add")}addNodeData(e=[]){e.length&&(this.model.addNodes(e.map(t=>(this.pushChange({value:t,type:Wn.NodeAdded}),_y(t)))),this.updateNodeLikeHierarchy(e),this.computeZIndex({nodes:e},"add"))}addEdgeData(e=[]){e.length&&(this.model.addEdges(e.map(t=>(this.pushChange({value:t,type:Wn.EdgeAdded}),_y(t)))),this.computeZIndex({edges:e},"add"))}addComboData(e=[]){if(!e.length)return;const{model:t}=this;t.hasTreeStructure(An)||t.attachTreeStructure(An),t.addNodes(e.map(n=>(this.comboIds.add(Re(n)),this.pushChange({value:n,type:Wn.ComboAdded}),_y(n)))),this.updateNodeLikeHierarchy(e),this.computeZIndex({combos:e},"add")}addChildrenData(e,t){const n=this.getNodeLikeDatum(e),i=t.map(Re);this.addNodeData(t),this.updateNodeData([{id:e,children:[...n.children||[],...i]}]),this.addEdgeData(i.map(a=>({source:e,target:a})))}computeZIndex(e,t,n=!1){!n&&this.isBatching()||this.batch(()=>{const{nodes:i=[],edges:a=[],combos:s=[]}=e;s.forEach(o=>{var l,u,c;const h=Re(o);if(t==="add"&&ht((l=o.style)===null||l===void 0?void 0:l.zIndex)||t==="update"&&!("combo"in o))return;const f=this.getParentData(h,An),d=f?((c=(u=f.style)===null||u===void 0?void 0:u.zIndex)!==null&&c!==void 0?c:0)+1:0;this.preventUpdateNodeLikeHierarchy(()=>{this.updateComboData([{id:h,style:{zIndex:d}}])})}),i.forEach(o=>{var l,u,c;const h=Re(o);if(t==="add"&&ht((l=o.style)===null||l===void 0?void 0:l.zIndex)||t==="update"&&!("combo"in o)&&!("children"in o))return;let f=0;const d=this.getParentData(h,An);if(d)f=(((u=d.style)===null||u===void 0?void 0:u.zIndex)||0)+1;else{const v=this.getParentData(h,ea);v&&(f=((c=v==null?void 0:v.style)===null||c===void 0?void 0:c.zIndex)||0)}this.preventUpdateNodeLikeHierarchy(()=>{this.updateNodeData([{id:h,style:{zIndex:f}}])})}),a.forEach(o=>{var l,u,c,h,f;if(ht((l=o.style)===null||l===void 0?void 0:l.zIndex))return;let{id:d,source:v,target:g}=o;if(!d)d=Re(o);else{const b=this.getEdgeDatum(d);v=b.source,g=b.target}if(!v||!g)return;const p=((c=(u=this.getNodeLikeDatum(v))===null||u===void 0?void 0:u.style)===null||c===void 0?void 0:c.zIndex)||0,m=((f=(h=this.getNodeLikeDatum(g))===null||h===void 0?void 0:h.style)===null||f===void 0?void 0:f.zIndex)||0;this.updateEdgeData([{id:Re(o),style:{zIndex:Math.max(p,m)-1}}])})})}getFrontZIndex(e){var t;const n=this.getElementType(e),i=this.getElementDataById(e),a=this.getData();if(Object.assign(a,{[`${n}s`]:a[`${n}s`].filter(s=>Re(s)!==e)}),n==="combo"&&!_i(i)){const s=new Set(this.getAncestorsData(e,An).map(Re));a.nodes=a.nodes.filter(o=>!s.has(Re(o))),a.combos=a.combos.filter(o=>!s.has(Re(o))),a.edges=a.edges.filter(({source:o,target:l})=>!s.has(o)&&!s.has(l))}return Math.max(((t=i.style)===null||t===void 0?void 0:t.zIndex)||0,0,...Object.values(a).flat().map(s=>{var o;return(((o=s==null?void 0:s.style)===null||o===void 0?void 0:o.zIndex)||0)+1}))}updateNodeLikeHierarchy(e){if(!this.enableUpdateNodeLikeHierarchy)return;const{model:t}=this;e.forEach(n=>{const i=Re(n);bf(n)&&(t.hasTreeStructure(An)||t.attachTreeStructure(An),this.setParent(i,bf(n),An));const s=n.children||[];if(s.length){t.hasTreeStructure(ea)||t.attachTreeStructure(ea);const o=s.filter(l=>t.hasNode(l));o.forEach(l=>this.setParent(l,i,ea)),o.length!==s.length&&this.updateNodeData([{id:i,children:o}])}})}preventUpdateNodeLikeHierarchy(e){this.enableUpdateNodeLikeHierarchy=!1,e(),this.enableUpdateNodeLikeHierarchy=!0}updateData(e){const{nodes:t,edges:n,combos:i}=e;this.batch(()=>{this.updateNodeData(t),this.updateComboData(i),this.updateEdgeData(n)}),this.computeZIndex(e,"update")}updateNodeData(e=[]){if(!e.length)return;const{model:t}=this;this.batch(()=>{const n=[];e.forEach(i=>{const a=Re(i),s=Cr(t.getNode(a));if(du(s,i))return;const o=fo(s,i);this.pushChange({value:o,original:s,type:Wn.NodeUpdated}),t.mergeNodeData(a,o),n.push(o)}),this.updateNodeLikeHierarchy(n)}),this.computeZIndex({nodes:e},"update")}refreshData(){const{nodes:e,edges:t,combos:n}=this.getData();e.forEach(i=>{this.pushChange({value:i,original:i,type:Wn.NodeUpdated})}),t.forEach(i=>{this.pushChange({value:i,original:i,type:Wn.EdgeUpdated})}),n.forEach(i=>{this.pushChange({value:i,original:i,type:Wn.ComboUpdated})})}syncNodeDatum(e){const{model:t}=this,n=Re(e),i=Cr(t.getNode(n)),a=fo(i,e);t.mergeNodeData(n,a)}updateEdgeData(e=[]){if(!e.length)return;const{model:t}=this;this.batch(()=>{e.forEach(n=>{const i=Re(n),a=Cr(t.getEdge(i));if(du(a,n))return;n.source&&a.source!==n.source&&t.updateEdgeSource(i,n.source),n.target&&a.target!==n.target&&t.updateEdgeTarget(i,n.target);const s=fo(a,n);this.pushChange({value:s,original:a,type:Wn.EdgeUpdated}),t.mergeEdgeData(i,s)})}),this.computeZIndex({edges:e},"update")}updateComboData(e=[]){if(!e.length)return;const{model:t}=this;t.batch(()=>{const n=[];e.forEach(i=>{const a=Re(i),s=Cr(t.getNode(a));if(du(s,i))return;const o=fo(s,i);this.pushChange({value:o,original:s,type:Wn.ComboUpdated}),t.mergeNodeData(a,o),n.push(o)}),this.updateNodeLikeHierarchy(n)}),this.computeZIndex({combos:e},"update")}setParent(e,t,n,i=!0){if(e===t)return;const a=this.getNodeLikeDatum(e),s=bf(a);if(s!==t&&n===An){const o={id:e,combo:t};this.isCombo(e)?this.syncComboDatum(o):this.syncNodeDatum(o)}this.model.setParent(e,t,n),i&&n===An&&cW([s,t]).forEach(o=>{o!==void 0&&this.refreshComboData(o)})}refreshComboData(e){const t=this.getComboData([e])[0],n=this.getAncestorsData(e,An);t&&this.pushChange({value:t,original:t,type:Wn.ComboUpdated}),n.forEach(i=>{this.pushChange({value:i,original:i,type:Wn.ComboUpdated})})}syncComboDatum(e){const{model:t}=this,n=Re(e);if(!t.hasNode(n))return;const i=Cr(t.getNode(n)),a=fo(i,e);t.mergeNodeData(n,a)}getElementPosition(e){const t=this.getElementDataById(e);return Br(t)}translateNodeLikeBy(e,t){this.isCombo(e)?this.translateComboBy(e,t):this.translateNodeBy(e,t)}translateNodeLikeTo(e,t){this.isCombo(e)?this.translateComboTo(e,t):this.translateNodeTo(e,t)}translateNodeBy(e,t){const n=this.getElementPosition(e),i=jt(n,[...t,0].slice(0,3));this.translateNodeTo(e,i)}translateNodeTo(e,t){const[n=0,i=0,a=0]=t;this.preventUpdateNodeLikeHierarchy(()=>{this.updateNodeData([{id:e,style:{x:n,y:i,z:a}}])})}translateComboBy(e,t){const[n=0,i=0,a=0]=t;if([n,i,a].some(isNaN)||[n,i,a].every(l=>l===0))return;const s=this.getComboData([e])[0];if(!s)return;const o=new Set;Bo(s,l=>{const u=Re(l);if(o.has(u))return;o.add(u);const[c,h,f]=Br(l),d=fo(l,{style:{x:c+n,y:h+i,z:f+a}});this.pushChange({value:d,original:l,type:this.isCombo(u)?Wn.ComboUpdated:Wn.NodeUpdated}),this.model.mergeNodeData(u,d)},l=>this.getChildrenData(Re(l)),"BT")}translateComboTo(e,t){var n;if(t.some(isNaN))return;const[i=0,a=0,s=0]=t,o=(n=this.getComboData([e]))===null||n===void 0?void 0:n[0];if(!o)return;const[l,u,c]=Br(o),h=i-l,f=a-u,d=s-c;Bo(o,v=>{const g=Re(v),[p,m,b]=Br(v),x=fo(v,{style:{x:p+h,y:m+f,z:b+d}});this.pushChange({value:x,original:v,type:this.isCombo(g)?Wn.ComboUpdated:Wn.NodeUpdated}),this.model.mergeNodeData(g,x)},v=>this.getChildrenData(Re(v)),"BT")}removeData(e){const{nodes:t,edges:n,combos:i}=e;this.batch(()=>{this.removeEdgeData(n),this.removeNodeData(t),this.removeComboData(i),this.latestRemovedComboIds=new Set(i)})}removeNodeData(e=[]){e.length&&this.batch(()=>{e.forEach(t=>{this.removeEdgeData(this.getRelatedEdgesData(t).map(Re)),this.pushChange({value:this.getNodeData([t])[0],type:Wn.NodeRemoved}),this.removeNodeLikeHierarchy(t)}),this.model.removeNodes(e)})}removeEdgeData(e=[]){e.length&&(e.forEach(t=>this.pushChange({value:this.getEdgeData([t])[0],type:Wn.EdgeRemoved})),this.model.removeEdges(e))}removeComboData(e=[]){e.length&&this.batch(()=>{e.forEach(t=>{this.pushChange({value:this.getComboData([t])[0],type:Wn.ComboRemoved}),this.removeNodeLikeHierarchy(t),this.comboIds.delete(t)}),this.model.removeNodes(e)})}removeNodeLikeHierarchy(e){if(this.model.hasTreeStructure(An)){const t=bf(this.getNodeLikeDatum(e));this.setParent(e,void 0,An,!1),this.model.getChildren(e,An).forEach(n=>{const i=Cr(n),a=Re(i);this.setParent(Re(i),t,An,!1);const s=fo(i,{id:Re(i),combo:t});this.pushChange({value:s,original:i,type:this.isCombo(a)?Wn.ComboUpdated:Wn.NodeUpdated}),this.model.mergeNodeData(Re(i),s)}),Et(t)||this.refreshComboData(t)}}getElementType(e){if(this.model.hasNode(e))return this.isCombo(e)?"combo":"node";if(this.model.hasEdge(e))return"edge";throw new Error(bs(`Unknown element type of id: ${e}`))}destroy(){const{model:e}=this,t=e.getAllNodes(),n=e.getAllEdges();e.removeEdges(n.map(i=>i.id)),e.removeNodes(t.map(i=>i.id)),this.context={}}}var Kv=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};class vW{constructor(e){this.elementMap={},this.shapeTypeMap={},this.paletteStyle={},this.defaultStyle={},this.stateStyle={},this.visibilityCache=new WeakMap,this.context=e}init(){if(!this.container){const{canvas:e}=this.context;this.container=e.appendChild(new kl({className:"elements"}))}}emit(e,t){t.silence||Hr(this.context.graph,e)}forEachElementData(e){Io.forEach(t=>{const n=this.context.model.getElementsDataByType(t);e(t,n)})}getElementType(e,t){var n;const{options:i,graph:a}=this.context,s=((n=i[e])===null||n===void 0?void 0:n.type)||t.type;return s?typeof s=="string"?s:s.call(a,t):e==="edge"?"line":"circle"}getTheme(e){return Ex(this.context.options)[e]||{}}getThemeStyle(e){return this.getTheme(e).style||{}}getThemeStateStyle(e,t){const{state:n={}}=this.getTheme(e);return Object.assign({},...t.map(i=>n[i]||{}))}computePaletteStyle(){const{options:e}=this.context;this.paletteStyle={},this.forEachElementData((t,n)=>{var i,a;const s=Object.assign({},IE((i=this.getTheme(t))===null||i===void 0?void 0:i.palette),IE((a=e[t])===null||a===void 0?void 0:a.palette));s!=null&&s.field&&Object.assign(this.paletteStyle,zL(n,s))})}getPaletteStyle(e,t){const n=this.paletteStyle[t];return n?e==="edge"?{stroke:n}:{fill:n}:{}}computeElementDefaultStyle(e,t){var n;const{options:i}=this.context,a=((n=i[e])===null||n===void 0?void 0:n.style)||{};"transform"in a&&Array.isArray(a.transform)&&(a.transform=[...a.transform]),this.defaultStyle[Re(t.datum)]=LE(a,t)}computeElementsDefaultStyle(e){const{graph:t}=this.context;this.forEachElementData((n,i)=>{const a=i.length;for(let s=0;s<a;s++){const o=i[s];(e===void 0||e.includes(Re(o)))&&this.computeElementDefaultStyle(n,{datum:o,graph:t})}})}getDefaultStyle(e){return this.defaultStyle[e]||{}}getElementState(e){try{const{model:t}=this.context;return t.getElementState(e)}catch(t){return[]}}getElementStateStyle(e,t,n){var i,a;const{options:s}=this.context,o=((a=(i=s[e])===null||i===void 0?void 0:i.state)===null||a===void 0?void 0:a[t])||{};return LE(o,n)}computeElementStatesStyle(e,t,n){this.stateStyle[Re(n.datum)]=Object.assign({},...t.map(i=>this.getElementStateStyle(e,i,n)))}computeElementsStatesStyle(e){const{graph:t}=this.context;this.forEachElementData((n,i)=>{const a=i.length;for(let s=0;s<a;s++){const o=i[s];if(e===void 0||e.includes(Re(o))){const l=this.getElementState(Re(o));this.computeElementStatesStyle(n,l,{datum:o,graph:t})}}})}getStateStyle(e){return this.stateStyle[e]||{}}computeStyle(e,t){e&&["translate","zIndex"].includes(e)||(this.computePaletteStyle(),this.computeElementsDefaultStyle(t),this.computeElementsStatesStyle(t))}getElement(e){return this.elementMap[e]}getNodes(){return this.context.model.getNodeData().map(({id:e})=>this.elementMap[e])}getEdges(){return this.context.model.getEdgeData().map(e=>this.elementMap[Re(e)])}getCombos(){return this.context.model.getComboData().map(({id:e})=>this.elementMap[e])}getElementComputedStyle(e,t){const n=Re(t),i=this.getThemeStyle(e),a=this.getPaletteStyle(e,n),s=t.style||{},o=this.getDefaultStyle(n),l=this.getThemeStateStyle(e,this.getElementState(n)),u=this.getStateStyle(n),c=Object.assign({},i,a,s,o,l,u);if(e==="combo"){const h=this.context.model.getChildrenData(n),d=!!c.collapsed?[]:h.map(Re).filter(v=>this.getElement(v));Object.assign(c,{childrenNode:d,childrenData:h})}return c}draw(e={animation:!0}){this.init();const t=this.computeChangesAndDrawData(e);if(!t)return null;const{type:n="draw",stage:i=n,animation:a,silence:s}=e,{dataChanges:o,drawData:l}=t;this.markDestroyElement(l),this.computeStyle(i);const{add:u,update:c,remove:h}=l;return this.destroyElements(h,e),this.createElements(u,e),this.updateElements(c,e),this.context.animation.animate(a,s?{}:{before:()=>this.emit(new kr(rt.BEFORE_DRAW,{dataChanges:o,animation:a,stage:i,render:n==="render"}),e),beforeAnimate:f=>this.emit(new fa(rt.BEFORE_ANIMATE,Ei.DRAW,f,l),e),afterAnimate:f=>this.emit(new fa(rt.AFTER_ANIMATE,Ei.DRAW,f,l),e),after:()=>this.emit(new kr(rt.AFTER_DRAW,{dataChanges:o,animation:a,stage:i,render:n==="render",firstRender:this.context.graph.rendered===!1}),e)})}computeChangesAndDrawData(e){const{model:t}=this.context,n=t.getChanges(),i=lm(n);if(i.length===0)return null;const{NodeAdded:a=[],NodeUpdated:s=[],NodeRemoved:o=[],EdgeAdded:l=[],EdgeUpdated:u=[],EdgeRemoved:c=[],ComboAdded:h=[],ComboUpdated:f=[],ComboRemoved:d=[]}=nf(i,m=>m.type),v=m=>new Map(m.map(b=>{const x=b.value;return[Re(x),x]})),g={add:{nodes:v(a),edges:v(l),combos:v(h)},update:{nodes:v(s),edges:v(u),combos:v(f)},remove:{nodes:v(o),edges:v(c),combos:v(d)}},p=this.transformData(g,e);return t.clearChanges(),{dataChanges:n,drawData:p}}transformData(e,t){const n=this.context.transform.getTransformInstance();return Object.values(n).reduce((i,a)=>a.beforeDraw(i,t),e)}createElement(e,t,n){var i;const a=Re(t);if(this.getElement(a))return;const o=this.getElementType(e,t),l=this.getElementComputedStyle(e,t),u=ys(e,o);if(!u)return wi.warn(`The element ${o} of ${e} is not registered.`);this.emit(new hu(rt.BEFORE_ELEMENT_CREATE,e,t),n);const c=this.container.appendChild(new u({id:a,context:this.context,style:Object.assign({},l)}));this.shapeTypeMap[a]=o,this.elementMap[a]=c;const{stage:h="enter"}=n;(i=this.context.animation)===null||i===void 0||i.add({element:c,elementType:e,stage:h,originalStyle:Object.assign({},c.attributes),updatedStyle:l},{after:()=>{var f;this.emit(new hu(rt.AFTER_ELEMENT_CREATE,e,t),n),(f=c.onCreate)===null||f===void 0||f.call(c)}})}createElements(e,t){const{nodes:n,edges:i,combos:a}=e;[["node",n],["combo",a],["edge",i]].forEach(([o,l])=>{l.forEach(u=>this.createElement(o,u,t))})}getUpdateStageStyle(e,t,n){const{stage:i="update"}=n;if(i==="translate")if(e==="node"||e==="combo"){const{style:{x:a=0,y:s=0,z:o=0}={}}=t;return{x:a,y:s,z:o}}else return{};return this.getElementComputedStyle(e,t)}updateElement(e,t,n){var i;const a=Re(t),{stage:s="update"}=n,o=this.getElement(a);if(!o)return()=>null;this.emit(new hu(rt.BEFORE_ELEMENT_UPDATE,e,t),n);const l=this.getElementType(e,t),u=this.getUpdateStageStyle(e,t,n);this.shapeTypeMap[a]!==l&&(o.destroy(),delete this.shapeTypeMap[a],delete this.elementMap[a],this.createElement(e,t,{animation:!1,silence:!0}));const c=s!=="visibility"?s:u.visibility==="hidden"?"hide":"show";c==="hide"&&delete u.visibility,(i=this.context.animation)===null||i===void 0||i.add({element:o,elementType:e,stage:c,originalStyle:Object.assign({},o.attributes),updatedStyle:u},{before:()=>{const h=this.elementMap[a];s!=="collapse"&&k0(h,u),s==="visibility"&&(sW(h,"opacity")||aW(h,"opacity"),this.visibilityCache.set(h,c==="show"?"visible":"hidden"),c==="show"&&Lo(h,"visible"))},after:()=>{var h;const f=this.elementMap[a];s==="collapse"&&k0(f,u),c==="hide"&&Lo(f,this.visibilityCache.get(f)),this.emit(new hu(rt.AFTER_ELEMENT_UPDATE,e,t),n),(h=f.onUpdate)===null||h===void 0||h.call(f)}})}updateElements(e,t){const{nodes:n,edges:i,combos:a}=e;[["node",n],["combo",a],["edge",i]].forEach(([o,l])=>{l.forEach(u=>this.updateElement(o,u,t))})}markDestroyElement(e){Object.values(e.remove).forEach(t=>{t.forEach(n=>{const i=Re(n),a=this.getElement(i);a&&B6(a)})})}destroyElement(e,t,n){var i;const{stage:a="exit"}=n,s=Re(t),o=this.elementMap[s];if(!o)return()=>null;this.emit(new hu(rt.BEFORE_ELEMENT_DESTROY,e,t),n),(i=this.context.animation)===null||i===void 0||i.add({element:o,elementType:e,stage:a,originalStyle:Object.assign({},o.attributes),updatedStyle:{}},{after:()=>{var l;this.clearElement(s),o.destroy(),(l=o.onDestroy)===null||l===void 0||l.call(o),this.emit(new hu(rt.AFTER_ELEMENT_DESTROY,e,t),n)}})}destroyElements(e,t){const{nodes:n,edges:i,combos:a}=e;[["combo",a],["edge",i],["node",n]].forEach(([o,l])=>{l.forEach(u=>this.destroyElement(o,u,t))})}clearElement(e){delete this.paletteStyle[e],delete this.defaultStyle[e],delete this.stateStyle[e],delete this.elementMap[e],delete this.shapeTypeMap[e]}collapseNode(e,t){return Kv(this,void 0,void 0,function*(){var n;const{model:i,layout:a}=this.context,s=this.computeChangesAndDrawData({stage:"collapse",animation:t});if(!s)return;this.markDestroyElement(s.drawData);const o=yield a.simulate();i.updateData(o);const l=this.computeChangesAndDrawData({stage:"collapse",animation:t});if(!l)return;const{drawData:u}=l,{add:c,remove:h,update:f}=u;this.markDestroyElement(u);const d={animation:t,stage:"collapse",data:u};this.destroyElements(h,d),this.createElements(c,d),this.updateElements(f,d),yield(n=this.context.animation.animate(t,{beforeAnimate:v=>this.emit(new fa(rt.BEFORE_ANIMATE,Ei.COLLAPSE,v,u),d),afterAnimate:v=>this.emit(new fa(rt.AFTER_ANIMATE,Ei.COLLAPSE,v,u),d)},{collapse:{target:e,descendants:Array.from(h.nodes).map(([,v])=>Re(v)),position:Br(f.nodes.get(e))}}))===null||n===void 0?void 0:n.finished})}expandNode(e,t){return Kv(this,void 0,void 0,function*(){var n;const{model:i,layout:a}=this.context;if(!i.getAncestorsData(e,An).every(v=>_i(v)))return;const s=Br(i.getNodeData([e])[0]),o=this.computeChangesAndDrawData({stage:"expand",animation:t});if(!o)return;const{drawData:{add:l}}=o;this.createElements(l,{animation:!1,stage:"expand",target:e}),this.context.animation.clear();const u=yield a.simulate();i.updateData(u),this.computeStyle("expand");const c=this.computeChangesAndDrawData({stage:"collapse",animation:t});if(!c)return;const{drawData:h}=c,{update:f}=h,d={animation:t,stage:"expand",data:h};l.edges.forEach(v=>f.edges.set(Re(v),v)),l.nodes.forEach(v=>f.nodes.set(Re(v),v)),this.updateElements(f,d),yield(n=this.context.animation.animate(t,{beforeAnimate:v=>this.emit(new fa(rt.BEFORE_ANIMATE,Ei.EXPAND,v,h),d),afterAnimate:v=>this.emit(new fa(rt.AFTER_ANIMATE,Ei.EXPAND,v,h),d)},{expand:{target:e,descendants:Array.from(l.nodes).map(([,v])=>Re(v)),position:s}}))===null||n===void 0?void 0:n.finished})}collapseCombo(e,t){return Kv(this,void 0,void 0,function*(){var n;const{model:i,element:a}=this.context;if(i.getAncestorsData(e,An).some(g=>_i(g)))return;const s=a.getElement(e),o=s.getComboPosition(Object.assign(Object.assign({},s.attributes),{collapsed:!0})),l=this.computeChangesAndDrawData({stage:"collapse",animation:t});if(!l)return;const{dataChanges:u,drawData:c}=l;this.markDestroyElement(c);const{update:h,remove:f}=c,d={animation:t,stage:"collapse",data:c};this.destroyElements(f,d),this.updateElements(h,d);const v=g=>Array.from(g).map(([,p])=>Re(p));yield(n=this.context.animation.animate(t,{before:()=>this.emit(new kr(rt.BEFORE_DRAW,{dataChanges:u,animation:t}),d),beforeAnimate:g=>this.emit(new fa(rt.BEFORE_ANIMATE,Ei.COLLAPSE,g,c),d),afterAnimate:g=>this.emit(new fa(rt.AFTER_ANIMATE,Ei.COLLAPSE,g,c),d),after:()=>this.emit(new kr(rt.AFTER_DRAW,{dataChanges:u,animation:t}),d)},{collapse:{target:e,descendants:[...v(f.nodes),...v(f.combos)],position:o}}))===null||n===void 0?void 0:n.finished})}expandCombo(e,t){return Kv(this,void 0,void 0,function*(){var n;const{model:i}=this.context,a=Br(i.getComboData([e])[0]);this.computeStyle("expand");const s=this.computeChangesAndDrawData({stage:"expand",animation:t});if(!s)return;const{dataChanges:o,drawData:l}=s,{add:u,update:c}=l,h={animation:t,stage:"expand",data:l,target:e};this.createElements(u,h),this.updateElements(c,h);const f=d=>Array.from(d).map(([,v])=>Re(v));yield(n=this.context.animation.animate(t,{before:()=>this.emit(new kr(rt.BEFORE_DRAW,{dataChanges:o,animation:t}),h),beforeAnimate:d=>this.emit(new fa(rt.BEFORE_ANIMATE,Ei.EXPAND,d,l),h),afterAnimate:d=>this.emit(new fa(rt.AFTER_ANIMATE,Ei.EXPAND,d,l),h),after:()=>this.emit(new kr(rt.AFTER_DRAW,{dataChanges:o,animation:t}),h)},{expand:{target:e,descendants:[...f(u.nodes),...f(u.combos)],position:a}}))===null||n===void 0?void 0:n.finished})}destroy(){this.container.destroy(),this.elementMap={},this.shapeTypeMap={},this.defaultStyle={},this.stateStyle={},this.paletteStyle={},this.context={}}}const BT=Symbol("Comlink.proxy"),gW=Symbol("Comlink.endpoint"),zT=Symbol("Comlink.releaseProxy"),Ry=Symbol("Comlink.finalizer"),Qv=Symbol("Comlink.thrown"),FT=r=>typeof r=="object"&&r!==null||typeof r=="function",pW={canHandle:r=>FT(r)&&r[BT],serialize(r){const{port1:e,port2:t}=new MessageChannel;return GT(r,e),[t,[t]]},deserialize(r){return r.start(),XT(r)}},mW={canHandle:r=>FT(r)&&Qv in r,serialize({value:r}){let e;return r instanceof Error?e={isError:!0,value:{message:r.message,name:r.name,stack:r.stack}}:e={isError:!1,value:r},[e,[]]},deserialize(r){throw r.isError?Object.assign(new Error(r.value.message),r.value):r.value}},jT=new Map([["proxy",pW],["throw",mW]]);function yW(r,e){for(const t of r)if(e===t||t==="*"||t instanceof RegExp&&t.test(e))return!0;return!1}function GT(r,e=globalThis,t=["*"]){e.addEventListener("message",function n(i){if(!i||!i.data)return;if(!yW(t,i.origin)){console.warn(`Invalid origin '${i.origin}' for comlink proxy`);return}const{id:a,type:s,path:o}=Object.assign({path:[]},i.data),l=(i.data.argumentList||[]).map(al);let u;try{const c=o.slice(0,-1).reduce((f,d)=>f[d],r),h=o.reduce((f,d)=>f[d],r);switch(s){case"GET":u=h;break;case"SET":c[o.slice(-1)[0]]=al(i.data.value),u=!0;break;case"APPLY":u=h.apply(c,l);break;case"CONSTRUCT":{const f=new h(...l);u=MW(f)}break;case"ENDPOINT":{const{port1:f,port2:d}=new MessageChannel;GT(r,d),u=PW(f,[f])}break;case"RELEASE":u=void 0;break;default:return}}catch(c){u={value:c,[Qv]:0}}Promise.resolve(u).catch(c=>({value:c,[Qv]:0})).then(c=>{const[h,f]=eg(c);e.postMessage(Object.assign(Object.assign({},h),{id:a}),f),s==="RELEASE"&&(e.removeEventListener("message",n),HT(e),Ry in r&&typeof r[Ry]=="function"&&r[Ry]())}).catch(c=>{const[h,f]=eg({value:new TypeError("Unserializable return value"),[Qv]:0});e.postMessage(Object.assign(Object.assign({},h),{id:a}),f)})}),e.start&&e.start()}function bW(r){return r.constructor.name==="MessagePort"}function HT(r){bW(r)&&r.close()}function XT(r,e){return Ly(r,[],e)}function Jv(r){if(r)throw new Error("Proxy has been released and is not useable")}function WT(r){return vu(r,{type:"RELEASE"}).then(()=>{HT(r)})}const qv=new WeakMap,$v="FinalizationRegistry"in globalThis&&new FinalizationRegistry(r=>{const e=(qv.get(r)||0)-1;qv.set(r,e),e===0&&WT(r)});function xW(r,e){const t=(qv.get(e)||0)+1;qv.set(e,t),$v&&$v.register(r,e,r)}function EW(r){$v&&$v.unregister(r)}function Ly(r,e=[],t=function(){}){let n=!1;const i=new Proxy(t,{get(a,s){if(Jv(n),s===zT)return()=>{EW(i),WT(r),n=!0};if(s==="then"){if(e.length===0)return{then:()=>i};const o=vu(r,{type:"GET",path:e.map(l=>l.toString())}).then(al);return o.then.bind(o)}return Ly(r,[...e,s])},set(a,s,o){Jv(n);const[l,u]=eg(o);return vu(r,{type:"SET",path:[...e,s].map(c=>c.toString()),value:l},u).then(al)},apply(a,s,o){Jv(n);const l=e[e.length-1];if(l===gW)return vu(r,{type:"ENDPOINT"}).then(al);if(l==="bind")return Ly(r,e.slice(0,-1));const[u,c]=VT(o);return vu(r,{type:"APPLY",path:e.map(h=>h.toString()),argumentList:u},c).then(al)},construct(a,s){Jv(n);const[o,l]=VT(s);return vu(r,{type:"CONSTRUCT",path:e.map(u=>u.toString()),argumentList:o},l).then(al)}});return xW(i,r),i}function wW(r){return Array.prototype.concat.apply([],r)}function VT(r){const e=r.map(eg);return[e.map(t=>t[0]),wW(e.map(t=>t[1]))]}const YT=new WeakMap;function PW(r,e){return YT.set(r,e),r}function MW(r){return Object.assign(r,{[BT]:!0})}function Yq(r,e=globalThis,t="*"){return{postMessage:(n,i)=>r.postMessage(n,t,i),addEventListener:e.addEventListener.bind(e),removeEventListener:e.removeEventListener.bind(e)}}function eg(r){for(const[e,t]of jT)if(t.canHandle(r)){const[n,i]=t.serialize(r);return[{type:"HANDLER",name:e,value:n},i]}return[{type:"RAW",value:r},YT.get(r)||[]]}function al(r){switch(r.type){case"HANDLER":return jT.get(r.name).deserialize(r.value);case"RAW":return r.value}}function vu(r,e,t){return new Promise(n=>{const i=SW();r.addEventListener("message",function a(s){!s.data||!s.data.id||s.data.id!==i||(r.removeEventListener("message",a),n(s.data))}),r.start&&r.start(),r.postMessage(Object.assign({id:i},e),t)})}function SW(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}class TW extends hd{constructor(e,t,n){super(),this.graph=e,this.layout=t,this.options=n,this.spawnWorker()}spawnWorker(){this.proxy=XT(new Worker(new URL(w.p+w.u(7509),w.b),{type:void 0})),this.running&&(this.running=!1,this.execute())}execute(){var e;return Wt(this,void 0,void 0,function*(){if(this.running)return this;this.running=!0;const t=this.layout.options,{onTick:n}=t,i=a2(t,["onTick"]),a={};Object.keys(i).forEach(u=>{pt(i[u])||(a[u]=i[u])});const s={layout:{id:this.layout.id,options:a,iterations:(e=this.options)===null||e===void 0?void 0:e.iterations},nodes:this.graph.getAllNodes(),edges:this.graph.getAllEdges()},o=new Float32Array([0]),[l]=yield this.proxy.calculateLayout(s,[o]);return l})}stop(){return this.running=!1,this.proxy.stopLayout(),this}kill(){this.proxy[zT]()}isRunning(){return this.running}}var Jc=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,e||[])).next())})},AW=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class OW{get presetOptions(){return{animation:!!wx(this.context.options,!0)}}get options(){const{options:e}=this.context;return e.layout}constructor(e){this.instances=[],this.context=e}getLayoutInstance(){return this.instances}layout(){return Jc(this,void 0,void 0,function*(){if(!this.options)return;const e=Array.isArray(this.options)?this.options:[this.options],{graph:t}=this.context;Hr(t,new kr(rt.BEFORE_LAYOUT));for(const n of e){const i=e.indexOf(n),a=this.getLayoutData(n),s=Object.assign(Object.assign({},this.presetOptions),n);Hr(t,new kr(rt.BEFORE_STAGE_LAYOUT,{options:s,index:i}));const o=yield this.stepLayout(a,s,i);Hr(t,new kr(rt.AFTER_STAGE_LAYOUT,{options:s,index:i})),n.animation||this.updateElementPosition(o,!1)}Hr(t,new kr(rt.AFTER_LAYOUT)),this.transformDataAfterLayout()})}transformDataAfterLayout(){const e=this.context.transform.getTransformInstance();Object.values(e).forEach(t=>t.afterLayout())}simulate(){return Jc(this,void 0,void 0,function*(){if(!this.options)return{};const e=Array.isArray(this.options)?this.options:[this.options];let t={};for(const n of e){const i=e.indexOf(n),a=this.getLayoutData(n);t=yield this.stepLayout(a,Object.assign(Object.assign(Object.assign({},this.presetOptions),n),{animation:!1}),i)}return t})}stepLayout(e,t,n){return Jc(this,void 0,void 0,function*(){return U6(t)?yield this.treeLayout(e,t,n):yield this.graphLayout(e,t,n)})}graphLayout(e,t,n){return Jc(this,void 0,void 0,function*(){const{animation:i,enableWorker:a,iterations:s=300}=t,o=this.initGraphLayout(t);if(!o)return{};if(this.instances[n]=o,this.instance=o,a){const u=o;return this.supervisor=new TW(u.graphData2LayoutModel(e),u.instance,{iterations:s}),dd(yield this.supervisor.execute())}if(K0(o))return i?yield o.execute(e,{onTick:u=>{this.updateElementPosition(u,!1)}}):(o.execute(e),o.stop(),o.tick(s));const l=yield o.execute(e);if(i){const u=this.updateElementPosition(l,i);yield u==null?void 0:u.finished}return l})}treeLayout(e,t,n){return Jc(this,void 0,void 0,function*(){const{type:i,animation:a}=t,s=ys("layout",i);if(!s)return{};const{nodes:o=[],edges:l=[]}=e,u=new gr({nodes:o.map(v=>({id:Re(v),data:v.data||{}})),edges:l.map(v=>({id:Re(v),source:v.source,target:v.target,data:v.data||{}}))});fW(u);const c={nodes:[],edges:[]},h={nodes:[],edges:[]};u.getRoots(ea).forEach(v=>{Bo(v,x=>{x.children=u.getSuccessors(x.id)},x=>u.getSuccessors(x.id),"TB");const g=s(v,t),{x:p,y:m,z:b=0}=g;Bo(g,x=>{const{id:O,x:T,y:S,z:k=0}=x;c.nodes.push({id:O,style:{x:p,y:m,z:b}}),h.nodes.push({id:O,style:{x:T,y:S,z:k}})},x=>x.children,"TB")});const d=this.inferTreeLayoutOffset(h);if(UT(h,d),a){UT(c,d),this.updateElementPosition(c,!1);const v=this.updateElementPosition(h,a);yield v==null?void 0:v.finished}return h})}inferTreeLayoutOffset(e){var t;let[n,i]=[1/0,-1/0],[a,s]=[1/0,-1/0];(t=e.nodes)===null||t===void 0||t.forEach(g=>{const{x:p=0,y:m=0}=g.style||{};n=Math.min(n,p),i=Math.max(i,p),a=Math.min(a,m),s=Math.max(s,m)});const{canvas:o}=this.context,l=o.getSize(),[u,c]=o.getCanvasByViewport([0,0]),[h,f]=o.getCanvasByViewport(l);if(n>=u&&i<=h&&a>=c&&s<=f)return[0,0];const d=(u+h)/2,v=(c+f)/2;return[d-(n+i)/2,v-(a+s)/2]}stopLayout(){this.instance&&K0(this.instance)&&(this.instance.stop(),this.instance=void 0),this.supervisor&&(this.supervisor.stop(),this.supervisor=void 0),this.animationResult&&(this.animationResult.finish(),this.animationResult=void 0)}getLayoutData(e){const{nodeFilter:t=()=>!0}=e,{nodes:n,edges:i,combos:a}=this.context.model.getData(),s=c=>this.context.element.getElement(c),o=n.filter(c=>{const h=Re(c),f=s(h);return!f||id(f)?!1:t(c)}),l=new Map(o.map(c=>[Re(c),c])),u=i.filter(c=>{const{source:h,target:f}=c;return!(!l.has(h)||!l.has(f))});return{nodes:o,edges:u,combos:a}}initGraphLayout(e){var t;const{element:n,viewport:i}=this.context,{type:a,enableWorker:s,animation:o,iterations:l}=e,u=AW(e,["type","enableWorker","animation","iterations"]),[c,h]=i.getCanvasSize(),f=[c/2,h/2],d=(t=e==null?void 0:e.nodeSize)!==null&&t!==void 0?t:b=>{const x=n==null?void 0:n.getElement(b.id),{size:O}=(x==null?void 0:x.attributes)||{};return O},v=ys("layout",a);if(!v)return wi.warn(`The layout of ${a} is not registered.`);const g=Object.getPrototypeOf(v.prototype)===N0.prototype?v:Z6(v,this.context),p=new g(this.context),m={nodeSize:d,width:c,height:h,center:f};switch(p.id){case"d3-force":case"d3-force-3d":Object.assign(m,{center:{x:c/2,y:h/2,z:0}});break;default:break}return ri(p.options,m,u),p}updateElementPosition(e,t){const{model:n,element:i}=this.context;return i?(n.updateData(e),i.draw({animation:t,silence:!0})):null}destroy(){var e;this.stopLayout(),this.context={},(e=this.supervisor)===null||e===void 0||e.kill(),this.supervisor=void 0,this.instance=void 0,this.instances=[],this.animationResult=void 0}}const UT=(r,e)=>{var t;const[n,i]=e;(t=r.nodes)===null||t===void 0||t.forEach(a=>{if(a.style){const{x:s=0,y:o=0}=a.style;a.style.x=s+n,a.style.y=o+i}else a.style={x:n,y:i}})};class kW extends Yp{constructor(e){super(e),this.category="plugin",this.setPlugins(this.context.options.plugins||[])}setPlugins(e){this.setExtensions(e)}getPluginInstance(e){const t=this.extensionMap[e];if(t)return t;wi.warn(`Cannot find the plugin ${e}, will try to find it by type.`);const n=this.extensions.find(i=>i.type===e);if(n)return this.extensionMap[n.key]}}const tg=["update-related-edges","collapse-expand-node","collapse-expand-combo","get-edge-actual-ends","arrange-draw-order"];class CW extends Yp{constructor(e){super(e),this.category="transform",this.setTransforms(this.context.options.transforms||[])}getTransforms(){}setTransforms(e){this.setExtensions([...tg.slice(0,tg.length-1),...e,tg[tg.length-1]])}getTransformInstance(e){return e?this.extensionMap[e]:this.extensionMap}}var qc=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};class NW{get padding(){return Ja(this.context.options.padding)}get paddingOffset(){const[e,t,n,i]=this.padding,[a,s,o]=[(i-t)/2,(e-n)/2,0];return[a,s,o]}constructor(e){this.landmarkCounter=0,this.context=e;const[t,n]=this.paddingOffset,{zoom:i,rotation:a,x:s=t,y:o=n}=e.options;this.transform({mode:"absolute",scale:i,translate:[s,o],rotate:a},!1)}get camera(){const{canvas:e}=this.context;return new Proxy(e.getCamera(),{get:(t,n)=>{const a=Object.entries(e.getLayers()).filter(([o])=>!["main"].includes(o)).map(([,o])=>o.getCamera()),s=t[n];if(typeof s=="function")return(...o)=>{const l=s.apply(t,o);return a.forEach(u=>{u[n].apply(u,o)}),l}}})}createLandmark(e){return this.camera.createLandmark(`landmark-${this.landmarkCounter++}`,e)}getAnimation(e){const t=wx(this.context.options,e);return t?jo(Object.assign({},t),["easing","duration"]):!1}getCanvasSize(){const{canvas:e}=this.context,{width:t=0,height:n=0}=e.getConfig();return[t,n]}getCanvasCenter(){const{canvas:e}=this.context,{width:t=0,height:n=0}=e.getConfig();return[t/2,n/2,0]}getViewportCenter(){const[e,t]=this.camera.getPosition();return[e,t,0]}getGraphCenter(){return this.context.graph.getViewportByCanvas(this.getCanvasCenter())}getZoom(){return this.camera.getZoom()}getRotation(){return this.camera.getRoll()}getTranslateOptions(e){const{camera:t}=this,{mode:n,translate:i=[]}=e,a=this.getZoom(),s=t.getPosition(),o=t.getFocalPoint(),[l,u]=this.getCanvasCenter(),[c=0,h=0,f=0]=i,d=Sa([-c,-h,-f],a);return n==="relative"?{position:jt(s,d),focalPoint:jt(o,d)}:{position:jt([l,u,s[2]],d),focalPoint:jt([l,u,o[2]],d)}}getRotateOptions(e){const{mode:t,rotate:n=0}=e;return{roll:t==="relative"?this.camera.getRoll()+n:n}}getZoomOptions(e){const{zoomRange:t}=this.context.options,n=this.camera.getZoom(),{mode:i,scale:a=1}=e;return on(i==="relative"?n*a:a,...t)}transform(e,t){return qc(this,void 0,void 0,function*(){const{graph:n}=this.context,{translate:i,rotate:a,scale:s,origin:o}=e;this.cancelAnimation();const l=this.getAnimation(t);if(Hr(n,new Uv(rt.BEFORE_TRANSFORM,e)),!a&&s&&!i&&o&&!l){this.camera.setZoomByViewportPoint(this.getZoomOptions(e),o),Hr(n,new Uv(rt.AFTER_TRANSFORM,e));return}const u={};if(i&&Object.assign(u,this.getTranslateOptions(e)),ht(a)&&Object.assign(u,this.getRotateOptions(e)),ht(s)&&Object.assign(u,{zoom:this.getZoomOptions(e)}),l)return Hr(n,new fa(rt.BEFORE_ANIMATE,Ei.TRANSFORM,null,e)),new Promise(c=>{this.transformResolver=c,this.camera.gotoLandmark(this.createLandmark(u),Object.assign(Object.assign({},l),{onfinish:()=>{Hr(n,new fa(rt.AFTER_ANIMATE,Ei.TRANSFORM,null,e)),Hr(n,new Uv(rt.AFTER_TRANSFORM,e)),this.transformResolver=void 0,c()}}))});this.camera.gotoLandmark(this.createLandmark(u),{duration:0}),Hr(n,new Uv(rt.AFTER_TRANSFORM,e))})}fitView(e,t){return qc(this,void 0,void 0,function*(){const[n,i,a,s]=this.padding,{when:o="always",direction:l="both"}=e||{},[u,c]=this.context.canvas.getSize(),h=u-s-i,f=c-n-a,d=this.context.canvas.getBounds(),v=this.getBBoxInViewport(d),[g,p]=Hs(v),m=l==="x"&&g>=h||l==="y"&&p>=f||l==="both"&&g>=h&&p>=f;if(o==="overflow"&&!m)return yield this.fitCenter(t);const b=h/g,x=f/p,O=l==="x"?b:l==="y"?x:Math.min(b,x),T=this.getAnimation(t);yield this.transform({mode:"relative",scale:O,translate:jt(On(this.getCanvasCenter(),this.getBBoxInViewport(d).center),Sa(this.paddingOffset,O))},T)})}fitCenter(e){return qc(this,void 0,void 0,function*(){const t=this.context.canvas.getBounds();yield this.focus(t,e)})}focusElements(e,t){return qc(this,void 0,void 0,function*(){const{element:n}=this.context;if(!n)return;const i=Ju(e.map(a=>n.getElement(a).getRenderBounds()));yield this.focus(i,t)})}focus(e,t){return qc(this,void 0,void 0,function*(){const n=this.context.graph.getViewportByCanvas(e.center),i=this.getCanvasCenter(),a=On(i,n);yield this.transform({mode:"relative",translate:jt(a,this.paddingOffset)},t)})}getBBoxInViewport(e){const{min:t,max:n}=e,{graph:i}=this.context,[a,s]=i.getViewportByCanvas(t),[o,l]=i.getViewportByCanvas(n),u=new Rn;return u.setMinMax([a,s,0],[o,l,0]),u}isInViewport(e,t=!1,n=0){const{graph:i}=this.context,a=this.getCanvasSize(),[s,o]=i.getCanvasByViewport([0,0]),[l,u]=i.getCanvasByViewport(a);let c=new Rn;return c.setMinMax([s,o,0],[l,u,0]),n&&(c=Ws(c,n)),Dl(e)?Pa(e,c):t?P_(e,c):c.intersects(e)}cancelAnimation(){var e,t;!((e=this.camera.landmarks)===null||e===void 0)&&e.length&&this.camera.cancelLandmarkAnimation(),(t=this.transformResolver)===null||t===void 0||t.call(this)}}var Ln=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};class ng extends hd{constructor(e){var t;super(),this.rendered=!1,this.destroyed=!1,this.context={model:new dW},this.isCollapsingExpanding=!1,this.onResize=mc(()=>{this.resize()},300),this.options=Object.assign({},ng.defaultOptions,e),this._setOptions(this.options,!0),this.context.graph=this,this.options.autoResize&&((t=globalThis.addEventListener)===null||t===void 0||t.call(globalThis,"resize",this.onResize))}getOptions(){return this.options}setOptions(e){this._setOptions(e,!1)}_setOptions(e,t){if(this.updateCanvas(e),t){const{data:f}=e;f&&this.addData(f);return}Object.assign(this.options,e);const{behaviors:n,combo:i,data:a,edge:s,layout:o,node:l,plugins:u,theme:c,transforms:h}=e;n&&this.setBehaviors(n),a&&this.setData(a),l&&this.setNode(l),s&&this.setEdge(s),i&&this.setCombo(i),o&&this.setLayout(o),c&&this.setTheme(c),u&&this.setPlugins(u),h&&this.setTransforms(h)}getSize(){return this.context.canvas?this.context.canvas.getSize():[this.options.width||0,this.options.height||0]}setSize(e,t){e&&(this.options.width=e),t&&(this.options.height=t),this.resize(e,t)}setZoomRange(e){this.options.zoomRange=e}getZoomRange(){return this.options.zoomRange}setNode(e){this.options.node=e,this.context.model.refreshData()}setEdge(e){this.options.edge=e,this.context.model.refreshData()}setCombo(e){this.options.combo=e,this.context.model.refreshData()}getTheme(){return this.options.theme}setTheme(e){this.options.theme=pt(e)?e(this.getTheme()):e}setLayout(e){this.options.layout=pt(e)?e(this.getLayout()):e}getLayout(){return this.options.layout}setBehaviors(e){var t;this.options.behaviors=pt(e)?e(this.getBehaviors()):e,(t=this.context.behavior)===null||t===void 0||t.setBehaviors(this.options.behaviors)}updateBehavior(e){this.setBehaviors(t=>t.map(n=>typeof n=="object"&&n.key===e.key?Object.assign(Object.assign({},n),e):n))}getBehaviors(){return this.options.behaviors||[]}setPlugins(e){var t;this.options.plugins=pt(e)?e(this.getPlugins()):e,(t=this.context.plugin)===null||t===void 0||t.setPlugins(this.options.plugins)}updatePlugin(e){this.setPlugins(t=>t.map(n=>typeof n=="object"&&n.key===e.key?Object.assign(Object.assign({},n),e):n))}getPlugins(){return this.options.plugins||[]}getPluginInstance(e){return this.context.plugin.getPluginInstance(e)}setTransforms(e){var t;this.options.transforms=pt(e)?e(this.getTransforms()):e,(t=this.context.transform)===null||t===void 0||t.setTransforms(this.options.transforms)}updateTransform(e){this.setTransforms(t=>t.map(n=>typeof n=="object"&&n.key===e.key?Object.assign(Object.assign({},n),e):n)),this.context.model.refreshData()}getTransforms(){return this.options.transforms||[]}getData(){return this.context.model.getData()}getElementData(e){return Array.isArray(e)?e.map(t=>this.context.model.getElementDataById(t)):this.context.model.getElementDataById(e)}getNodeData(e){var t;return e===void 0?this.context.model.getNodeData():Array.isArray(e)?this.context.model.getNodeData(e):(t=this.context.model.getNodeData([e]))===null||t===void 0?void 0:t[0]}getEdgeData(e){var t;return e===void 0?this.context.model.getEdgeData():Array.isArray(e)?this.context.model.getEdgeData(e):(t=this.context.model.getEdgeData([e]))===null||t===void 0?void 0:t[0]}getComboData(e){var t;return e===void 0?this.context.model.getComboData():Array.isArray(e)?this.context.model.getComboData(e):(t=this.context.model.getComboData([e]))===null||t===void 0?void 0:t[0]}setData(e){this.context.model.setData(pt(e)?e(this.getData()):e)}addData(e){this.context.model.addData(pt(e)?e(this.getData()):e)}addNodeData(e){this.context.model.addNodeData(pt(e)?e(this.getNodeData()):e)}addEdgeData(e){this.context.model.addEdgeData(pt(e)?e(this.getEdgeData()):e)}addComboData(e){this.context.model.addComboData(pt(e)?e(this.getComboData()):e)}addChildrenData(e,t){this.context.model.addChildrenData(e,t)}updateData(e){this.context.model.updateData(pt(e)?e(this.getData()):e)}updateNodeData(e){this.context.model.updateNodeData(pt(e)?e(this.getNodeData()):e)}updateEdgeData(e){this.context.model.updateEdgeData(pt(e)?e(this.getEdgeData()):e)}updateComboData(e){this.context.model.updateComboData(pt(e)?e(this.getComboData()):e)}removeData(e){this.context.model.removeData(pt(e)?e(this.getData()):e)}removeNodeData(e){this.context.model.removeNodeData(pt(e)?e(this.getNodeData()):e)}removeEdgeData(e){this.context.model.removeEdgeData(pt(e)?e(this.getEdgeData()):e)}removeComboData(e){this.context.model.removeComboData(pt(e)?e(this.getComboData()):e)}getElementType(e){return this.context.model.getElementType(e)}getRelatedEdgesData(e,t="both"){return this.context.model.getRelatedEdgesData(e,t)}getNeighborNodesData(e){return this.context.model.getNeighborNodesData(e)}getAncestorsData(e,t){return this.context.model.getAncestorsData(e,t)}getParentData(e,t){return this.context.model.getParentData(e,t)}getChildrenData(e){return this.context.model.getChildrenData(e)}getDescendantsData(e){return this.context.model.getDescendantsData(e)}getElementDataByState(e,t){return this.context.model.getElementDataByState(e,t)}initCanvas(){return Ln(this,void 0,void 0,function*(){var e;if(this.context.canvas)return yield this.context.canvas.ready;const{container:t="container",width:n,height:i,renderer:a,cursor:s,background:o,canvas:l,devicePixelRatio:u=(e=globalThis.devicePixelRatio)!==null&&e!==void 0?e:1}=this.options;if(t instanceof NT)this.context.canvas=t,s&&t.setCursor(s),a&&t.setRenderer(a),yield t.ready;else{const c=Xt(t)?document.getElementById(t):t,h=LT(c);this.emit(rt.BEFORE_CANVAS_INIT,{container:c,width:n,height:i});const f=Object.assign(Object.assign({},l),{container:c,width:n||h[0],height:i||h[1],background:o,renderer:a,cursor:s,devicePixelRatio:u}),d=new NT(f);this.context.canvas=d,yield d.ready,this.emit(rt.AFTER_CANVAS_INIT,{canvas:d})}})}updateCanvas(e){var t,n;const{renderer:i,cursor:a,height:s,width:o}=e,l=this.context.canvas;l&&(i&&(this.emit(rt.BEFORE_RENDERER_CHANGE,{renderer:this.options.renderer}),l.setRenderer(i),this.emit(rt.AFTER_RENDERER_CHANGE,{renderer:i})),a&&l.setCursor(a),(ht(o)||ht(s))&&this.setSize((t=o!=null?o:this.options.width)!==null&&t!==void 0?t:0,(n=s!=null?s:this.options.height)!==null&&n!==void 0?n:0))}initRuntime(){this.context.options=this.options,this.context.batch||(this.context.batch=new lW(this.context)),this.context.plugin||(this.context.plugin=new kW(this.context)),this.context.viewport||(this.context.viewport=new NW(this.context)),this.context.transform||(this.context.transform=new CW(this.context)),this.context.element||(this.context.element=new vW(this.context)),this.context.animation||(this.context.animation=new oW(this.context)),this.context.layout||(this.context.layout=new OW(this.context)),this.context.behavior||(this.context.behavior=new uW(this.context))}prepare(){return Ln(this,void 0,void 0,function*(){if(yield Promise.resolve(),this.destroyed)throw new Error(bs("The graph instance has been destroyed"));yield this.initCanvas(),this.initRuntime()})}render(){return Ln(this,void 0,void 0,function*(){yield this.prepare(),Hr(this,new kr(rt.BEFORE_RENDER));const e=this.context.element.draw({type:"render"});yield Promise.all([e==null?void 0:e.finished,this.context.layout.layout()]),yield this.autoFit(),this.rendered=!0,Hr(this,new kr(rt.AFTER_RENDER))})}draw(){return Ln(this,void 0,void 0,function*(){var e;yield this.prepare(),yield(e=this.context.element.draw())===null||e===void 0?void 0:e.finished})}layout(){return Ln(this,void 0,void 0,function*(){yield this.context.layout.layout()})}stopLayout(){this.context.layout.stopLayout()}clear(){return Ln(this,void 0,void 0,function*(){this.context.model.setData({}),yield this.draw()})}destroy(){var e;Hr(this,new kr(rt.BEFORE_DESTROY));const{layout:t,animation:n,element:i,model:a,canvas:s,behavior:o,plugin:l}=this.context;l==null||l.destroy(),o==null||o.destroy(),t==null||t.destroy(),n==null||n.destroy(),i==null||i.destroy(),a.destroy(),s==null||s.destroy(),this.options={},this.context={},this.off(),(e=globalThis.removeEventListener)===null||e===void 0||e.call(globalThis,"resize",this.onResize),this.destroyed=!0,Hr(this,new kr(rt.AFTER_DESTROY))}getCanvas(){return this.context.canvas}resize(e,t){var n;const i=LT((n=this.context.canvas)===null||n===void 0?void 0:n.getContainer()),a=[e||i[0],t||i[1]];if(!this.context.canvas)return;const s=this.context.canvas.getSize();dr(a,s)||(Hr(this,new kr(rt.BEFORE_SIZE_CHANGE,{size:a})),this.context.canvas.resize(...a),Hr(this,new kr(rt.AFTER_SIZE_CHANGE,{size:a})))}fitView(e,t){return Ln(this,void 0,void 0,function*(){var n;yield(n=this.context.viewport)===null||n===void 0?void 0:n.fitView(e,t)})}fitCenter(e){return Ln(this,void 0,void 0,function*(){var t;yield(t=this.context.viewport)===null||t===void 0?void 0:t.fitCenter(e)})}autoFit(){return Ln(this,void 0,void 0,function*(){const{autoFit:e}=this.context.options;if(e)if(Xt(e))e==="view"?yield this.fitView():e==="center"&&(yield this.fitCenter());else{const{type:t,animation:n}=e;t==="view"?yield this.fitView(e.options,n):t==="center"&&(yield this.fitCenter(n))}})}focusElement(e,t){return Ln(this,void 0,void 0,function*(){var n;yield(n=this.context.viewport)===null||n===void 0?void 0:n.focusElements(Array.isArray(e)?e:[e],t)})}zoomBy(e,t,n){return Ln(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",scale:e,origin:n},t)})}zoomTo(e,t,n){return Ln(this,void 0,void 0,function*(){this.context.viewport.transform({mode:"absolute",scale:e,origin:n},t)})}getZoom(){return this.context.viewport.getZoom()}rotateBy(e,t,n){return Ln(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",rotate:e,origin:n},t)})}rotateTo(e,t,n){return Ln(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"absolute",rotate:e,origin:n},t)})}getRotation(){return this.context.viewport.getRotation()}translateBy(e,t){return Ln(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",translate:e},t)})}translateTo(e,t){return Ln(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"absolute",translate:e},t)})}getPosition(){return On([0,0],this.getCanvasByViewport([0,0]))}translateElementBy(e,t){return Ln(this,arguments,void 0,function*(n,i,a=!0){var s,o;const[l,u]=nr(n)?[n,(s=i)!==null&&s!==void 0?s:!0]:[{[n]:i},a];Object.entries(l).forEach(([c,h])=>this.context.model.translateNodeLikeBy(c,h)),yield(o=this.context.element.draw({animation:u,stage:"translate"}))===null||o===void 0?void 0:o.finished})}translateElementTo(e,t){return Ln(this,arguments,void 0,function*(n,i,a=!0){var s,o;const[l,u]=nr(n)?[n,(s=i)!==null&&s!==void 0?s:!0]:[{[n]:i},a];Object.entries(l).forEach(([c,h])=>this.context.model.translateNodeLikeTo(c,h)),yield(o=this.context.element.draw({animation:u,stage:"translate"}))===null||o===void 0?void 0:o.finished})}getElementPosition(e){return this.context.model.getElementPosition(e)}getElementRenderStyle(e){return nm(this.context.element.getElement(e).attributes,["context"])}setElementVisibility(e,t){return Ln(this,arguments,void 0,function*(n,i,a=!0){var s,o;const[l,u]=nr(n)?[n,(s=i)!==null&&s!==void 0?s:!0]:[{[n]:i},a],c={nodes:[],edges:[],combos:[]};Object.entries(l).forEach(([d,v])=>{const g=this.getElementType(d);c[`${g}s`].push({id:d,style:{visibility:v}})});const{model:h,element:f}=this.context;h.preventUpdateNodeLikeHierarchy(()=>{h.updateData(c)}),yield(o=f.draw({animation:u,stage:"visibility"}))===null||o===void 0?void 0:o.finished})}showElement(e,t){return Ln(this,void 0,void 0,function*(){const n=Array.isArray(e)?e:[e];yield this.setElementVisibility(Object.fromEntries(n.map(i=>[i,"visible"])),t)})}hideElement(e,t){return Ln(this,void 0,void 0,function*(){const n=Array.isArray(e)?e:[e];yield this.setElementVisibility(Object.fromEntries(n.map(i=>[i,"hidden"])),t)})}getElementVisibility(e){var t,n;const i=this.context.element.getElement(e);return(n=(t=i==null?void 0:i.style)===null||t===void 0?void 0:t.visibility)!==null&&n!==void 0?n:"visible"}setElementZIndex(e,t){return Ln(this,void 0,void 0,function*(){var n;const i={nodes:[],edges:[],combos:[]},a=nr(e)?e:{[e]:t};Object.entries(a).forEach(([l,u])=>{const c=this.getElementType(l);i[`${c}s`].push({id:l,style:{zIndex:u}})});const{model:s,element:o}=this.context;s.preventUpdateNodeLikeHierarchy(()=>s.updateData(i)),yield(n=o.draw({animation:!1,stage:"zIndex"}))===null||n===void 0?void 0:n.finished})}frontElement(e){return Ln(this,void 0,void 0,function*(){const t=Array.isArray(e)?e:[e],{model:n}=this.context,i={};t.map(a=>{const s=n.getFrontZIndex(a);if(n.getElementType(a)==="combo"){const l=n.getAncestorsData(a,An).at(-1)||this.getComboData(a),u=[l,...n.getDescendantsData(Re(l))],c=s-DT(l);u.forEach(f=>{i[Re(f)]=this.getElementZIndex(Re(f))+c});const{internal:h}=M0(u.map(Re),f=>n.getRelatedEdgesData(f));h.forEach(f=>{const d=Re(f);i[d]=this.getElementZIndex(d)+c})}else i[a]=s}),yield this.setElementZIndex(i)})}getElementZIndex(e){return DT(this.context.model.getElementDataById(e))}setElementState(e,t){return Ln(this,arguments,void 0,function*(n,i,a=!0){var s,o;const[l,u]=nr(n)?[n,(s=i)!==null&&s!==void 0?s:!0]:[{[n]:i},a],c=f=>f?Array.isArray(f)?f:[f]:[],h={nodes:[],edges:[],combos:[]};Object.entries(l).forEach(([f,d])=>{const v=this.getElementType(f);h[`${v}s`].push({id:f,states:c(d)})}),this.updateData(h),yield(o=this.context.element.draw({animation:u,stage:"state"}))===null||o===void 0?void 0:o.finished})}getElementState(e){return this.context.model.getElementState(e)}getElementRenderBounds(e){return this.context.element.getElement(e).getRenderBounds()}collapseElement(e){return Ln(this,arguments,void 0,function*(t,n=!0){const{model:i,element:a}=this.context;if(_i(i.getNodeLikeData([t])[0])||this.isCollapsingExpanding)return;const s=i.getElementType(t);yield this.frontElement(t),this.isCollapsingExpanding=!0,this.setElementCollapsibility(t,!0),s==="node"?yield a.collapseNode(t,n):s==="combo"&&(yield a.collapseCombo(t,n)),this.isCollapsingExpanding=!1})}expandElement(e){return Ln(this,arguments,void 0,function*(t,n=!0){const{model:i,element:a}=this.context;if(!_i(i.getNodeLikeData([t])[0])||this.isCollapsingExpanding)return;const s=i.getElementType(t);this.isCollapsingExpanding=!0,this.setElementCollapsibility(t,!1),s==="node"?yield a.expandNode(t,n):s==="combo"&&(yield a.expandCombo(t,n)),this.isCollapsingExpanding=!1})}setElementCollapsibility(e,t){const n=this.getElementType(e);n==="node"?this.updateNodeData([{id:e,style:{collapsed:t}}]):n==="combo"&&this.updateComboData([{id:e,style:{collapsed:t}}])}toDataURL(){return Ln(this,arguments,void 0,function*(e={}){return this.context.canvas.toDataURL(e)})}getCanvasByViewport(e){return this.context.canvas.getCanvasByViewport(e)}getViewportByCanvas(e){return this.context.canvas.getViewportByCanvas(e)}getClientByCanvas(e){return this.context.canvas.getClientByCanvas(e)}getCanvasByClient(e){return this.context.canvas.getCanvasByClient(e)}getViewportCenter(){return this.context.viewport.getViewportCenter()}getCanvasCenter(){return this.context.viewport.getCanvasCenter()}on(e,t,n){return super.on(e,t,n)}once(e,t){return super.once(e,t)}off(e,t){return super.off(e,t)}}ng.defaultOptions={autoResize:!1,theme:"light",rotation:0,zoom:1,zoomRange:[.01,10]};class vo extends Up{beforeDraw(e,t){return e}afterLayout(){}}class _W extends vo{beforeDraw(e){const{model:t}=this.context,n=e.add.combos,i=a=>{const s=[];return a.forEach((o,l)=>{const c=t.getAncestorsData(l,"combo").map(h=>Re(h)).reverse();s.push([l,o,c.length])}),new Map(s.sort(([,,o],[,,l])=>l-o).map(([o,l])=>[o,l]))};return e.add.combos=i(n),e.update.combos=i(e.update.combos),e}}function Xi(r,e,t,n,i){const a=Re(n),s=`${t}s`,o=i?n:r.add[s].get(a)||r.update[s].get(a)||r.remove[s].get(a)||n;Object.entries(r).forEach(([l,u])=>{e===l?u[s].set(a,o):u[s].delete(a)})}function rg(r,e){return Object.keys(r).every(t=>r[t]===e[t])}class RW extends vo{beforeDraw(e,t){if(t.stage==="visibility"||!this.context.model.model.hasTreeStructure(An))return e;const{model:n}=this.context,{add:i,update:a}=e,s=[...e.update.combos.entries(),...e.add.combos.entries()];for(;s.length;){const[o,l]=s.pop();if(_i(l)){const u=n.getDescendantsData(o),c=u.map(Re),{internal:h,external:f}=M0(c,d=>n.getRelatedEdgesData(d));u.forEach(d=>{const v=Re(d),g=s.findIndex(([m])=>m===v);g!==-1&&s.splice(g,1);const p=n.getElementType(v);Xi(e,"remove",p,d)}),h.forEach(d=>Xi(e,"remove","edge",d)),f.forEach(d=>{var v;const g=Re(d);((v=this.context.element)===null||v===void 0?void 0:v.getElement(g))?a.edges.set(g,d):i.edges.set(g,d)})}else{const u=n.getChildrenData(o),c=u.map(Re),{edges:h}=M0(c,f=>n.getRelatedEdgesData(f));[...u,...h].forEach(f=>{var d;const v=Re(f),g=n.getElementType(v);((d=this.context.element)===null||d===void 0?void 0:d.getElement(v))?Xi(e,"update",g,f):Xi(e,"add",g,f),g==="combo"&&s.push([v,f])})}}return e}}const ZT=(r,e,t,n)=>{const i=`${t}s`,a=Re(n);!r.add[i].has(a)&&!r.update[i].has(a)&&r[e][i].set(Re(n),n)};class LW extends vo{getElement(e){return this.context.element.getElement(e)}handleExpand(e,t){if(ZT(t,"add","node",e),_i(e))return;const n=Re(e);ZT(t,"add","node",e),this.context.model.getRelatedEdgesData(n,"out").forEach(s=>{Xi(t,"add","edge",s)}),this.context.model.getChildrenData(n).forEach(s=>{this.handleExpand(s,t)})}beforeDraw(e){const{graph:t,model:n}=this.context;if(!n.model.hasTreeStructure(ea))return e;const{add:{nodes:i,edges:a},update:{nodes:s}}=e,o=new Map,l=new Map;i.forEach((c,h)=>{_i(c)&&o.set(h,c)}),a.forEach(c=>{if(t.getElementType(c.source)!=="node")return;const h=t.getNodeData(c.source);_i(h)&&o.set(c.source,h)}),s.forEach((c,h)=>{const f=this.getElement(h);if(!f)return;const d=f.attributes.collapsed;_i(c)?d||o.set(h,c):d&&l.set(h,c)});const u=new Set;return o.forEach((c,h)=>{n.getDescendantsData(h).forEach(d=>{const v=Re(d);if(u.has(v))return;Xi(e,"remove","node",d),n.getRelatedEdgesData(v).forEach(p=>{Xi(e,"remove","edge",p)}),u.add(v)})}),l.forEach((c,h)=>{if(n.getAncestorsData(h,ea).some(_i)){Xi(e,"remove","node",c);return}this.handleExpand(c,e)}),e}}class DW extends vo{beforeDraw(e){const{add:t,update:n}=e,{model:i}=this.context;return[...t.edges.entries(),...n.edges.entries()].forEach(([,a])=>{KT(i,a)}),e}}const KT=(r,e)=>{const{source:t,target:n}=e,i=r.getElementDataById(t),a=r.getElementDataById(n),s=jw(i,h=>r.getParentData(h,An)),o=jw(a,h=>r.getParentData(h,An)),l=Re(s),u=Re(o),c={sourceNode:l,targetNode:u};return e.style?Object.assign(e.style,c):e.style=c,e},IW=(r,e,t)=>{const[n,i]=e,[a,s]=t;if(i===n)return a;const o=(r-n)/(i-n);return a+o*(s-a)},BW=(r,e,t)=>{const[n,i]=e,[a,s]=t,o=Math.log(r-n+1)/Math.log(i-n+1);return a+o*(s-a)},zW=(r,e,t,n=2)=>{const[i,a]=e,[s,o]=t,l=Math.pow((r-i)/(a-i),n);return s+l*(o-s)},FW=(r,e,t)=>{const[n,i]=e,[a,s]=t,o=Math.sqrt((r-n)/(i-n));return a+o*(s-a)};class ig extends vo{constructor(e,t){super(e,ri({},ig.defaultOptions,t)),this.assignSizeByCentrality=(n,i,a,s,o,l)=>{const u=[i,a],c=[s[0],o[0]],h=[s[1],o[1]],f=[s[2],o[2]],d=(v,g)=>{if(typeof l=="function")return l(v,u,g);switch(l){case"linear":return IW(v,u,g);case"log":return BW(v,u,g);case"pow":return zW(v,u,g,2);case"sqrt":return FW(v,u,g);default:return g[0]}};return[d(n,c),d(n,h),d(n,f)]}}beforeDraw(e){const{model:t}=this.context,n=t.getNodeData(),i=ra(this.options.maxSize),a=ra(this.options.minSize),s=this.getCentralities(this.options.centrality),o=s.size>0?Math.max(...s.values()):0,l=s.size>0?Math.min(...s.values()):0;return n.forEach(u=>{var c;const h=this.assignSizeByCentrality(s.get(Re(u))||0,l,o,a,i,this.options.scale),f=(c=this.context.element)===null||c===void 0?void 0:c.getElement(Re(u)),d={size:h};this.assignLabelStyle(d,h,u,f),(!f||!rg(d,f.attributes))&&Xi(e,f?"update":"add","node",ri(u,{style:d}),!0)}),e}assignLabelStyle(e,t,n,i){var a;const s=i?i.config.style:(a=this.context.element)===null||a===void 0?void 0:a.getElementComputedStyle("node",n);if(Object.assign(e,jo(s,["labelFontSize","labelLineHeight"])),this.options.mapLabelSize){const o=this.getLabelSizeByNodeSize(t,1/0,Number(e.labelFontSize));Object.assign(e,{labelFontSize:o,labelLineHeight:o+w_(e.labelPadding)})}return e}getLabelSizeByNodeSize(e,t,n){const i=Math.min(...e)/2,[a,s]=Array.isArray(this.options.mapLabelSize)?this.options.mapLabelSize:[n,t];return Math.min(s,Math.max(i,a))}getCentralities(e){const{model:t}=this.context,n=t.getData();if(typeof e=="function")return e(n);const i=t.getRelatedEdgesData.bind(t);return pE(n,i,e)}}ig.defaultOptions={centrality:{type:"degree"},maxSize:80,minSize:20,scale:"linear",mapLabelSize:!1};class ag extends vo{constructor(e,t){super(e,Object.assign({},ag.defaultOptions,t))}get ref(){return this.context.model.getRootsData()[0]}afterLayout(){var e;const t=Br(this.ref),{graph:n,model:i}=this.context;(e=i.getData().nodes)===null||e===void 0||e.forEach(s=>{if(Re(s)===Re(this.ref))return;const o=xE(On(Br(s),t)),l=Math.abs(o)>Math.PI/2,u=!s.children||s.children.length===0,c=ra(n.getElementRenderStyle(Re(s)).size)[0]/2,h=(u?1:-1)*(c+this.options.offset),f=[["translate",h*Math.cos(o),h*Math.sin(o)],["rotate",l?yi(o)+180:yi(o)]];i.updateNodeData([{id:Re(s),style:{labelTextAlign:l===u?"right":"left",labelTextBaseline:"middle",labelTransform:f}}])}),n.draw()}}ag.defaultOptions={offset:5};const jW="quadratic",QT=["top","top-right","right","right-bottom","bottom","bottom-left","left","left-top"];class sg extends vo{constructor(e,t){super(e,Object.assign({},sg.defaultOptions,t)),this.cacheMergeStyle=new Map,this.getAffectedParallelEdges=n=>{const{add:{edges:i},update:{nodes:a,edges:s,combos:o},remove:{edges:l}}=n,{model:u}=this.context,c=new Map,h=(v,g)=>{u.getRelatedEdgesData(g).forEach(m=>!c.has(Re(m))&&c.set(Re(m),m))};a.forEach(h),o.forEach(h);const f=v=>{const g=u.getEdgeData().map(m=>KT(u,m));GW(v,g,!0).forEach(m=>!c.has(Re(m))&&c.set(Re(m),m))};if(l.size&&l.forEach(f),i.size&&i.forEach(f),s.size){const v=kP(lm(u.getChanges())).update.edges;s.forEach(g=>{var p;f(g);const m=(p=v.find(b=>Re(b.value)===Re(g)))===null||p===void 0?void 0:p.original;m&&!Dy(g,m)&&f(m)})}ts(this.options.edges)||c.forEach((v,g)=>!this.options.edges.includes(g)&&c.delete(g));const d=u.getEdgeData().map(Re);return new Map([...c].sort((v,g)=>d.indexOf(v[0])-d.indexOf(g[0])))},this.applyBundlingStyle=(n,i,a)=>{const{edgeMap:s,reverses:o}=JT(i);s.forEach(l=>{l.forEach((u,c,h)=>{var f;const d=h.length,v=u.style||{};if(u.source===u.target){const m=QT.length;v.loopPlacement=QT[c%m],v.loopDist=Math.floor(c/m)*a+50}else if(d===1)v.curveOffset=0;else{const m=(c%2===0?1:-1)*(o[`${u.source}|${u.target}|${c}`]?-1:1);v.curveOffset=d%2===1?m*Math.ceil(c/2)*a*2:m*(Math.floor(c/2)*a*2+a)}const g=Object.assign(u,{type:jW,style:v}),p=(f=this.context.element)===null||f===void 0?void 0:f.getElement(Re(u));(!p||!rg(g.style,p.attributes))&&Xi(n,p?"update":"add","edge",g,!0)})})},this.resetEdgeStyle=n=>{const i=n.style||{},a=this.cacheMergeStyle.get(Re(n))||{};return Object.keys(a).forEach(s=>{dr(i[s],a[s])&&(n[s]?i[s]=n[s]:delete i[s])}),Object.assign(n,{style:i})},this.applyMergingStyle=(n,i)=>{const{edgeMap:a,reverses:s}=JT(i);a.forEach(o=>{var l;if(o.length===1){const c=o[0],h=(l=this.context.element)===null||l===void 0?void 0:l.getElement(Re(c)),f=this.resetEdgeStyle(c);(!h||!rg(f,h.attributes))&&Xi(n,h?"update":"add","edge",f);return}const u=o.map(({source:c,target:h,style:f={}},d)=>{const{startArrow:v,endArrow:g}=f,p={},[m,b]=s[`${c}|${h}|${d}`]?["endArrow","startArrow"]:["startArrow","endArrow"];return pl(v)&&(p[m]=v),pl(g)&&(p[b]=g),p}).reduce((c,h)=>Object.assign(Object.assign({},c),h),{});o.forEach((c,h,f)=>{var d;if(h!==0){Xi(n,"remove","edge",c);return}const v=Object.assign({},pt(this.options.style)?this.options.style(f):this.options.style,{childrenData:f});this.cacheMergeStyle.set(Re(c),v);const g=Object.assign(Object.assign({},c),{type:"line",style:Object.assign(Object.assign(Object.assign({},c.style),u),v)}),p=(d=this.context.element)===null||d===void 0?void 0:d.getElement(Re(c));(!p||!rg(g.style,p.attributes))&&Xi(n,p?"update":"add","edge",g,!0)})})}}beforeDraw(e){const t=this.getAffectedParallelEdges(e);return t.size===0||(this.options.mode==="bundle"?this.applyBundlingStyle(e,t,this.options.distance):this.applyMergingStyle(e,t)),e}}sg.defaultOptions={mode:"bundle",distance:15};const JT=r=>{const e=new Map,t=new Set,n={};for(const[i,a]of r){if(t.has(i))continue;const{source:s,target:o}=a,l=`${s}-${o}`;e.has(l)||e.set(l,[]),e.get(l).push(a),t.add(i);for(const[u,c]of r)t.has(u)||Dy(a,c)&&(e.get(l).push(c),t.add(u),s===c.target&&o===c.source&&(n[`${c.source}|${c.target}|${e.get(l).length-1}`]=!0))}return{edgeMap:e,reverses:n}},GW=(r,e,t)=>e.filter(n=>(t||Re(n)!==Re(r))&&Dy(n,r)),Dy=(r,e)=>{const{sourceNode:t,targetNode:n}=r.style||{},{sourceNode:i,targetNode:a}=e.style||{};return t===i&&n===a||t===a&&n===i};class HW extends vo{beforeDraw(e,t){const{stage:n}=t;if(n==="visibility")return e;const{model:i}=this.context,{update:{nodes:a,edges:s,combos:o}}=e,l=(u,c)=>{i.getRelatedEdgesData(c).forEach(f=>!s.has(Re(f))&&s.set(Re(f),f))};return a.forEach(l),o.forEach(l),e}}var XW=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};function WW(r,e){const{getNodeData:t=(o,l)=>{if(o.depth=l,!o.children)return o;const{children:u}=o,c=XW(o,["children"]);return Object.assign(Object.assign({},c),{children:u.map(h=>h.id)})},getEdgeData:n=(o,l)=>({source:o.id,target:l.id}),getChildren:i=o=>o.children||[]}=e||{},a=[],s=[];return Bo(r,(o,l)=>{a.push(t(o,l));const u=i(o);for(const c of u)s.push(n(o,c))},o=>i(o),"TB"),{nodes:a,edges:s}}var VW=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(c){try{u(n.next(c))}catch(h){s(h)}}function l(c){try{u(n.throw(c))}catch(h){s(h)}}function u(c){c.done?a(c.value):i(c.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};class og extends N0{constructor(){super(...arguments),this.id="fishbone"}getRoot(){const e=this.context.model.getRootsData();if(!(ts(e)||e.length>2))return e[0]}formatSize(e){const t=typeof e=="function"?e:()=>e;return n=>ra(t(n))}doLayout(e,t){const{hGap:n,getRibSep:i,vGap:a,nodeSize:s,height:o}=t,{model:l}=this.context,u=this.formatSize(s);let c=u(e)[0]+i(e);const h=(x,O=0)=>{var T;return O+=n*((x.children||[]).length+1),(T=x.children)===null||T===void 0||T.forEach(S=>{var k;(k=l.getNodeLikeDatum(S).children)===null||k===void 0||k.forEach(W=>{const U=l.getNodeLikeDatum(W);O=h(U,O)})}),O},f=x=>{if(x.depth===1)return c;const O=l.getParentData(x.id,"tree");if(gu(x)){const T=l.getParentData(O.id,"tree"),S=g(x)-g(T);return f(O)+S*n/a}else{const T=(O.children||[]).indexOf(x.id),S=l.getNodeData((O.children||[]).slice(T));return d(O)-S.reduce((k,C)=>k+h(C),0)-u(O)[0]/2}},d=tm(x=>{if(Iy(x))return u(x)[0]/2;const O=l.getParentData(x.id,"tree");if(gu(x))return f(x)+h(x)+u(x)[0]/2;{const T=g(x)-g(O),S=n/a;return f(x)+T*S}},x=>x.id),v=x=>g(l.getParentData(x,"tree")),g=tm(x=>{if(Iy(x))return o/2;if(gu(x)){const O=l.getParentData(x.id,"tree"),T=O.children.indexOf(x.id);if(T===0)return v(O.id)+a;const S=l.getNodeLikeDatum(O.children[T-1]);if(ts(S.children))return g(S)+a;const k=l.getDescendantsData(S.id);return Math.max(...k.map(C=>gu(C)?v(C.id):g(C)))+a}else{if(ts(x.children))return v(x.id)+a;const O=l.getNodeLikeDatum(x.children.slice(-1)[0]);if(ts(O.children))return g(O)+a;const T=l.getDescendantsData(x.id).slice(-1)[0];return(gu(T)?v(T.id):g(T))+a}},x=>x.id);let p=0;const m={nodes:[],edges:[]},b=x=>{var O;(O=x.children)===null||O===void 0||O.forEach(W=>b(l.getNodeLikeDatum(W)));const T=g(x),S=d(x);if(m.nodes.push({id:x.id,x:S,y:T}),Iy(x))return;const k=l.getRelatedEdgesData(x.id,"in")[0],C=[f(x),gu(x)?T:v(x.id)];m.edges.push({id:Re(k),controlPoints:[C],relatedNodeId:x.id}),p=Math.max(p,S+i(x)),x.depth===1&&(c=p)};return b(e),m}placeAlterative(e,t){const n=(t.children||[]).filter((o,l)=>l%2!==0);if(n.length===0)return e;const{model:i}=this.context,a=e.nodes.find(o=>o.id===t.id).y,s=o=>{const l=i.getAncestorsData(o,"tree");if(ts(l))return!1;const u=l.length===1?o:l[l.length-2].id;return n.includes(u)};e.nodes.forEach(o=>{s(o.id)&&(o.y=2*a-o.y)}),e.edges.forEach(o=>{s(o.relatedNodeId)&&(o.controlPoints=o.controlPoints.map(l=>[l[0],2*a-l[1]]))})}rightToLeft(e,t){return e.nodes.forEach(n=>n.x=t.width-n.x),e.edges.forEach(n=>{n.controlPoints=n.controlPoints.map(i=>[t.width-i[0],i[1]])}),e}execute(e,t){return VW(this,void 0,void 0,function*(){const n=Object.assign(Object.assign(Object.assign({},og.defaultOptions),this.options),t),{direction:i,nodeSize:a}=n,s=this.getRoot();if(!s)return e;const o=this.formatSize(a);n.vGap||(n.vGap=Math.max(...(e.nodes||[]).map(f=>o(f)[1]))),n.hGap||(n.hGap=Math.max(...(e.nodes||[]).map(f=>o(f)[0])));let l=this.doLayout(s,n);this.placeAlterative(l,s),i==="RL"&&(l=this.rightToLeft(l,n));const{model:u}=this.context,c=[],h=[];return l.nodes.forEach(f=>{const{id:d,x:v,y:g}=f,p=u.getNodeLikeDatum(d);c.push(qT(p,{x:v,y:g}))}),l.edges.forEach(f=>{const{id:d,controlPoints:v}=f,g=u.getEdgeDatum(d);h.push(qT(g,{controlPoints:v}))}),{nodes:c,edges:h}})}}og.defaultOptions={direction:"RL",getRibSep:()=>60};const qT=(r,e)=>Object.assign(Object.assign({},r),{style:Object.assign(Object.assign({},r.style||{}),e)}),Iy=r=>r.depth===0,gu=r=>(r.depth||(r.depth=0))%2===0,YW=["rgb(158, 1, 66)","rgb(213, 62, 79)","rgb(244, 109, 67)","rgb(253, 174, 97)","rgb(254, 224, 139)","rgb(255, 255, 191)","rgb(230, 245, 152)","rgb(171, 221, 164)","rgb(102, 194, 165)","rgb(50, 136, 189)","rgb(94, 79, 162)"],UW=["rgb(78, 121, 167)","rgb(242, 142, 44)","rgb(225, 87, 89)","rgb(118, 183, 178)","rgb(89, 161, 79)","rgb(237, 201, 73)","rgb(175, 122, 161)","rgb(255, 157, 167)","rgb(156, 117, 95)","rgb(186, 176, 171)"],ZW=["rgb(255, 245, 235)","rgb(254, 230, 206)","rgb(253, 208, 162)","rgb(253, 174, 107)","rgb(253, 141, 60)","rgb(241, 105, 19)","rgb(217, 72, 1)","rgb(166, 54, 3)","rgb(127, 39, 4)"],KW=["rgb(247, 252, 245)","rgb(229, 245, 224)","rgb(199, 233, 192)","rgb(161, 217, 155)","rgb(116, 196, 118)","rgb(65, 171, 93)","rgb(35, 139, 69)","rgb(0, 109, 44)","rgb(0, 68, 27)"],QW=["rgb(247, 251, 255)","rgb(222, 235, 247)","rgb(198, 219, 239)","rgb(158, 202, 225)","rgb(107, 174, 214)","rgb(66, 146, 198)","rgb(33, 113, 181)","rgb(8, 81, 156)","rgb(8, 48, 107)"],JW=["#7E92B5","#F4664A","#FFBE3A"],qW={type:"group",color:["#1783FF","#00C9C9","#F08F56","#D580FF","#7863FF","#DB9D0D","#60C42D","#FF80CA","#2491B3","#17C76F"]},$W={type:"group",color:["#99ADD1","#1783FF","#00C9C9","#F08F56","#D580FF","#7863FF","#DB9D0D","#60C42D","#FF80CA","#2491B3","#17C76F"]};function $T(r){const{bgColor:e,textColor:t,nodeColor:n,nodeColorDisabled:i,nodeStroke:a,nodeHaloStrokeOpacityActive:s=.15,nodeHaloStrokeOpacitySelected:o=.25,nodeOpacityDisabled:l=.06,nodeIconOpacityInactive:u=.85,nodeOpacityInactive:c=.25,nodeBadgePalette:h=JW,nodePaletteOptions:f=qW,edgeColor:d,edgeColorDisabled:v,edgePaletteOptions:g=$W,comboColor:p,comboColorDisabled:m,comboStroke:b,comboStrokeDisabled:x,edgeColorInactive:O}=r;return{background:e,node:{palette:f,style:{donutOpacity:1,badgeBackgroundOpacity:1,badgeFill:"#fff",badgeFontSize:8,badgePadding:[0,4],badgePalette:h,fill:n,fillOpacity:1,halo:!1,iconFill:"#fff",iconOpacity:1,labelBackground:!1,labelBackgroundFill:e,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelFill:t,labelFillOpacity:.85,labelLineHeight:16,labelPadding:[0,2],labelFontSize:12,labelFontWeight:400,labelOpacity:1,labelOffsetY:2,lineWidth:0,portFill:n,portLineWidth:1,portStroke:a,portStrokeOpacity:.65,size:32,stroke:a,strokeOpacity:1,zIndex:2},state:{selected:{halo:!0,haloLineWidth:24,haloStrokeOpacity:o,labelFontSize:12,labelFontWeight:"bold",lineWidth:4,stroke:a},active:{halo:!0,haloLineWidth:12,haloStrokeOpacity:s},highlight:{labelFontWeight:"bold",lineWidth:4,stroke:a,strokeOpacity:.85},inactive:{badgeBackgroundOpacity:c,donutOpacity:c,fillOpacity:c,iconOpacity:u,labelFill:t,labelFillOpacity:c,strokeOpacity:c},disabled:{badgeBackgroundOpacity:.25,donutOpacity:l,fill:i,fillOpacity:l,iconFill:i,iconOpacity:.25,labelFill:t,labelFillOpacity:.25,strokeOpacity:l}},animation:{enter:"fade",exit:"fade",show:"fade",hide:"fade",expand:"node-expand",collapse:"node-collapse",update:[{fields:["x","y","fill","stroke"]}],translate:[{fields:["x","y"]}]}},edge:{palette:g,style:{badgeBackgroundFill:d,badgeFill:"#fff",badgeFontSize:8,badgeOffsetX:10,fillOpacity:1,halo:!1,haloLineWidth:12,haloStrokeOpacity:1,increasedLineWidthForHitTesting:2,labelBackground:!1,labelBackgroundFill:e,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelBackgroundPadding:[4,4,4,4],labelFill:t,labelFontSize:12,labelFontWeight:400,labelOpacity:1,labelPlacement:"center",labelTextBaseline:"middle",lineWidth:1,stroke:d,strokeOpacity:1,zIndex:1},state:{selected:{halo:!0,haloStrokeOpacity:.25,labelFontSize:14,labelFontWeight:"bold",lineWidth:3},active:{halo:!0,haloStrokeOpacity:.15},highlight:{labelFontWeight:"bold",lineWidth:3},inactive:{stroke:O,fillOpacity:.08,labelOpacity:.25,strokeOpacity:.08,badgeBackgroundOpacity:.25},disabled:{stroke:v,fillOpacity:.45,strokeOpacity:.45,labelOpacity:.25,badgeBackgroundOpacity:.45}},animation:{enter:"fade",exit:"fade",expand:"path-in",collapse:"path-out",show:"fade",hide:"fade",update:[{fields:["sourceNode","targetNode"]},{fields:["stroke"],shape:"key"}],translate:[{fields:["sourceNode","targetNode"]}]}},combo:{style:{collapsedMarkerFill:e,collapsedMarkerFontSize:12,collapsedMarkerFillOpacity:1,collapsedSize:32,collapsedFillOpacity:1,fill:p,halo:!1,haloLineWidth:12,haloStroke:b,haloStrokeOpacity:.25,labelBackground:!1,labelBackgroundFill:e,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelBackgroundPadding:[2,4,2,4],labelFill:t,labelFontSize:12,labelFontWeight:400,labelOpacity:1,lineDash:0,lineWidth:1,fillOpacity:.04,strokeOpacity:1,padding:10,stroke:b},state:{selected:{halo:!0,labelFontSize:14,labelFontWeight:700,lineWidth:4},active:{halo:!0},highlight:{labelFontWeight:700,lineWidth:4},inactive:{fillOpacity:.65,labelOpacity:.25,strokeOpacity:.65},disabled:{fill:m,fillOpacity:.25,labelOpacity:.25,stroke:x,strokeOpacity:.25}},animation:{enter:"fade",exit:"fade",show:"fade",hide:"fade",expand:"combo-expand",collapse:"combo-collapse",update:[{fields:["x","y"]},{fields:["fill","stroke","lineWidth"],shape:"key"}],translate:[{fields:["x","y"]}]}}}}const eV=$T({bgColor:"#000000",comboColor:"#fdfdfd",comboColorDisabled:"#d0e4ff",comboStroke:"#99add1",comboStrokeDisabled:"#969696",edgeColor:"#637088",edgeColorDisabled:"#637088",edgeColorInactive:"#D0E4FF",edgePaletteOptions:{type:"group",color:["#637088","#0F55A6","#008383","#9C5D38","#8B53A6","#4E40A6","#8F6608","#3E801D","#A65383","#175E75","#0F8248"]},nodeColor:"#1783ff",nodeColorDisabled:"#D0E4FF",nodeHaloStrokeOpacityActive:.25,nodeHaloStrokeOpacitySelected:.45,nodeIconOpacityInactive:.45,nodeOpacityDisabled:.25,nodeOpacityInactive:.45,nodeStroke:"#d0e4ff",textColor:"#ffffff"}),tV=$T({bgColor:"#ffffff",comboColor:"#99ADD1",comboColorDisabled:"#f0f0f0",comboStroke:"#99add1",comboStrokeDisabled:"#d9d9d9",edgeColor:"#99add1",edgeColorDisabled:"#d9d9d9",edgeColorInactive:"#1B324F",nodeColor:"#1783ff",nodeColorDisabled:"#1B324F",nodeHaloStrokeOpacityActive:.15,nodeHaloStrokeOpacitySelected:.25,nodeIconOpacityInactive:.85,nodeOpacityDisabled:.06,nodeOpacityInactive:.25,nodeStroke:"#000000",textColor:"#000000"}),nV={animation:{"combo-collapse":Tx,"combo-expand":m_,"node-collapse":Mx,"node-expand":g_,"path-in":Sx,"path-out":p_,fade:d_,translate:v_},behavior:{"brush-select":ic,"click-select":Tf,"collapse-expand":ad,"create-edge":ud,"drag-canvas":cd,"drag-element-force":Q6,"drag-element":yc,"fix-element-size":vd,"focus-element":gd,"hover-activate":pd,"lasso-select":q6,"auto-adapt-label":xf,"optimize-viewport-transform":md,"scroll-canvas":yd,"zoom-canvas":bd},combo:{circle:WI,rect:VI},edge:{cubic:Go,line:td,polyline:nd,quadratic:rd,"cubic-horizontal":qf,"cubic-radial":$f,"cubic-vertical":ed},layout:{"antv-dagre":F4,"combo-combined":l8,"compact-box":xd.compactBox,"d3-force":D8,"force-atlas2":z8,circular:H4,concentric:W0,dagre:Td,dendrogram:xd.dendrogram,fishbone:og,force:Y2,fruchterman:G8,grid:X8,indented:xd.indented,mds:$2,mindmap:xd.mindmap,radial:q8,random:a9},node:{circle:zo,diamond:rD,ellipse:Nf,hexagon:lD,html:Uf,image:Zf,rect:HI,star:XI,donut:kf,triangle:Kf},palette:{spectral:YW,tableau:UW,oranges:ZW,greens:KW,blues:QW},theme:{dark:eV,light:tV},plugin:{"bubble-sets":zd,"edge-bundling":jd,"edge-filter-lens":Gd,"grid-line":Wd,background:kd,contextmenu:Fd,fisheye:Hd,fullscreen:Xd,history:Vd,hull:Yd,legend:kv,minimap:Cv,snapline:Nv,timebar:Hv,toolbar:Xv,tooltip:Wv,watermark:Vv},transform:{"arrange-draw-order":_W,"collapse-expand-combo":RW,"collapse-expand-node":LW,"get-edge-actual-ends":DW,"map-node-size":ig,"place-radial-labels":ag,"process-parallel-edges":sg,"update-related-edges":HW},shape:{circle:Ol,ellipse:Rh,group:kl,html:Lh,image:n0,line:Vu,path:gs,polygon:Cl,polyline:fp,rect:wa,text:Nl,label:Zs,badge:zl}};function rV(){Object.entries(nV).forEach(([r,e])=>{Object.entries(e).forEach(([t,n])=>{eW(r,t,n)})})}Ke.enableMassiveParsedStyleAssignOptimization=!0,rV();const Qq={css:"//at.alicdn.com/t/a/font_470089_8hnbbf8n4u8.css",js:"//at.alicdn.com/t/a/font_470089_8hnbbf8n4u8.js"}},81746:function(Q){(function(w,M){Q.exports=M()})(typeof self!="undefined"?self:this,function(){return function(re){var w={};function M(G){if(w[G])return w[G].exports;var z=w[G]={i:G,l:!1,exports:{}};return re[G].call(z.exports,z,z.exports,M),z.l=!0,z.exports}return M.m=re,M.c=w,M.d=function(G,z,I){M.o(G,z)||Object.defineProperty(G,z,{configurable:!1,enumerable:!0,get:I})},M.n=function(G){var z=G&&G.__esModule?function(){return G.default}:function(){return G};return M.d(z,"a",z),z},M.o=function(G,z){return Object.prototype.hasOwnProperty.call(G,z)},M.p="",M(M.s=5)}([function(re,w){function M(G,z,I,R){return R===void 0&&(R="height"),I==="center"?(G[R]+z[R])/2:G.height}re.exports={assign:Object.assign,getHeight:M}},function(re,w,M){var G=M(3),z=function(){function I(L,B){B===void 0&&(B={});var D=this;D.options=B,D.rootNode=G(L,B)}var R=I.prototype;return R.execute=function(){throw new Error("please override this method")},I}();re.exports=z},function(re,w,M){var G=M(4),z=["LR","RL","TB","BT","H","V"],I=["LR","RL","H"],R=function(_){return I.indexOf(_)>-1},L=z[0];re.exports=function(D,_,j){var N=_.direction||L;if(_.isHorizontal=R(N),N&&z.indexOf(N)===-1)throw new TypeError("Invalid direction: "+N);if(N===z[0])j(D,_);else if(N===z[1])j(D,_),D.right2left();else if(N===z[2])j(D,_);else if(N===z[3])j(D,_),D.bottom2top();else if(N===z[4]||N===z[5]){var V=G(D,_),ne=V.left,ee=V.right;j(ne,_),j(ee,_),_.isHorizontal?ne.right2left():ne.bottom2top(),ee.translate(ne.x-ee.x,ne.y-ee.y),D.x=ne.x,D.y=ee.y;var fe=D.getBoundingBox();_.isHorizontal?fe.top<0&&D.translate(0,-fe.top):fe.left<0&&D.translate(-fe.left,0)}var he=_.fixedRoot;return he===void 0&&(he=!0),he&&D.translate(-(D.x+D.width/2+D.hgap),-(D.y+D.height/2+D.vgap)),B(D,_),D};function B(D,_){if(_.radial){var j=_.isHorizontal?["x","y"]:["y","x"],N=j[0],V=j[1],ne={x:1/0,y:1/0},ee={x:-1/0,y:-1/0},fe=0;D.DFTraverse(function(se){fe++;var le=se.x,ye=se.y;ne.x=Math.min(ne.x,le),ne.y=Math.min(ne.y,ye),ee.x=Math.max(ee.x,le),ee.y=Math.max(ee.y,ye)});var he=ee[V]-ne[V];if(he===0)return;var K=Math.PI*2/fe;D.DFTraverse(function(se){var le=(se[V]-ne[V])/he*(Math.PI*2-K)+K,ye=se[N]-D[N];se.x=Math.cos(le)*ye,se.y=Math.sin(le)*ye})}}},function(re,w,M){var G=M(0),z=18,I=z*2,R=z,L={getId:function(j){return j.id||j.name},getPreH:function(j){return j.preH||0},getPreV:function(j){return j.preV||0},getHGap:function(j){return j.hgap||R},getVGap:function(j){return j.vgap||R},getChildren:function(j){return j.children},getHeight:function(j){return j.height||I},getWidth:function(j){var N=j.label||" ";return j.width||N.split("").length*z}};function B(_,j){var N=this;if(N.vgap=N.hgap=0,_ instanceof B)return _;N.data=_;var V=j.getHGap(_),ne=j.getVGap(_);return N.preH=j.getPreH(_),N.preV=j.getPreV(_),N.width=j.getWidth(_),N.height=j.getHeight(_),N.width+=N.preH,N.height+=N.preV,N.id=j.getId(_),N.x=N.y=0,N.depth=0,N.children||(N.children=[]),N.addGap(V,ne),N}G.assign(B.prototype,{isRoot:function(){return this.depth===0},isLeaf:function(){return this.children.length===0},addGap:function(j,N){var V=this;V.hgap+=j,V.vgap+=N,V.width+=2*j,V.height+=2*N},eachNode:function(j){for(var N=this,V=[N],ne;ne=V.shift();)j(ne),V=ne.children.concat(V)},DFTraverse:function(j){this.eachNode(j)},BFTraverse:function(j){for(var N=this,V=[N],ne;ne=V.shift();)j(ne),V=V.concat(ne.children)},getBoundingBox:function(){var j={left:Number.MAX_VALUE,top:Number.MAX_VALUE,width:0,height:0};return this.eachNode(function(N){j.left=Math.min(j.left,N.x),j.top=Math.min(j.top,N.y),j.width=Math.max(j.width,N.x+N.width),j.height=Math.max(j.height,N.y+N.height)}),j},translate:function(j,N){j===void 0&&(j=0),N===void 0&&(N=0),this.eachNode(function(V){V.x+=j,V.y+=N,V.x+=V.preH,V.y+=V.preV})},right2left:function(){var j=this,N=j.getBoundingBox();j.eachNode(function(V){V.x=V.x-(V.x-N.left)*2-V.width}),j.translate(N.width,0)},bottom2top:function(){var j=this,N=j.getBoundingBox();j.eachNode(function(V){V.y=V.y-(V.y-N.top)*2-V.height}),j.translate(0,N.height)}});function D(_,j,N){j===void 0&&(j={}),j=G.assign({},L,j);var V=new B(_,j),ne=[V],ee;if(!N&&!_.collapsed){for(;ee=ne.shift();)if(!ee.data.collapsed){var fe=j.getChildren(ee.data),he=fe?fe.length:0;if(ee.children=new Array(he),fe&&he)for(var K=0;K<he;K++){var se=new B(fe[K],j);ee.children[K]=se,ne.push(se),se.parent=ee,se.depth=ee.depth+1}}}return V}re.exports=D},function(re,w,M){var G=M(3);re.exports=function(z,I){for(var R=G(z.data,I,!0),L=G(z.data,I,!0),B=z.children.length,D=Math.round(B/2),_=I.getSide||function(ne,ee){return ee<D?"right":"left"},j=0;j<B;j++){var N=z.children[j],V=_(N,j);V==="right"?L.children.push(N):R.children.push(N)}return R.eachNode(function(ne){ne.isRoot()||(ne.side="left")}),L.eachNode(function(ne){ne.isRoot()||(ne.side="right")}),{left:R,right:L}}},function(re,w,M){var G={compactBox:M(6),dendrogram:M(8),indented:M(10),mindmap:M(12)};re.exports=G},function(re,w,M){function G(N,V){N.prototype=Object.create(V.prototype),N.prototype.constructor=N,z(N,V)}function z(N,V){return z=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(ne,ee){return ne.__proto__=ee,ne},z(N,V)}var I=M(1),R=M(7),L=M(2),B=M(0),D=function(N){function V(){return N.apply(this,arguments)||this}G(V,N);var ne=V.prototype;return ne.execute=function(){var fe=this;return L(fe.rootNode,fe.options,R)},V}(I),_={};function j(N,V){return V=B.assign({},_,V),new D(N,V).execute()}re.exports=j},function(re,w){function M(B,D,_,j){j===void 0&&(j=[]);var N=this;N.w=B||0,N.h=D||0,N.y=_||0,N.x=0,N.c=j||[],N.cs=j.length,N.prelim=0,N.mod=0,N.shift=0,N.change=0,N.tl=null,N.tr=null,N.el=null,N.er=null,N.msel=0,N.mser=0}M.fromNode=function(B,D){if(!B)return null;var _=[];return B.children.forEach(function(j){_.push(M.fromNode(j,D))}),D?new M(B.height,B.width,B.x,_):new M(B.width,B.height,B.y,_)};function G(B,D,_){_?B.y+=D:B.x+=D,B.children.forEach(function(j){G(j,D,_)})}function z(B,D){var _=D?B.y:B.x;return B.children.forEach(function(j){_=Math.min(z(j,D),_)}),_}function I(B,D){var _=z(B,D);G(B,-_,D)}function R(B,D,_){_?D.y=B.x:D.x=B.x,B.c.forEach(function(j,N){R(j,D.children[N],_)})}function L(B,D,_){_===void 0&&(_=0),D?(B.x=_,_+=B.width):(B.y=_,_+=B.height),B.children.forEach(function(j){L(j,D,_)})}re.exports=function(B,D){D===void 0&&(D={});var _=D.isHorizontal;function j(xe){if(xe.cs===0){N(xe);return}j(xe.c[0]);for(var ke=Ne(he(xe.c[0].el),0,null),Le=1;Le<xe.cs;++Le){j(xe.c[Le]);var Ie=he(xe.c[Le].er);V(xe,Le,ke),ke=Ne(Ie,Le,ke)}le(xe),N(xe)}function N(xe){xe.cs===0?(xe.el=xe,xe.er=xe,xe.msel=xe.mser=0):(xe.el=xe.c[0].el,xe.msel=xe.c[0].msel,xe.er=xe.c[xe.cs-1].er,xe.mser=xe.c[xe.cs-1].mser)}function V(xe,ke,Le){for(var Ie=xe.c[ke-1],Ye=Ie.mod,Je=xe.c[ke],at=Je.mod;Ie!==null&&Je!==null;){he(Ie)>Le.low&&(Le=Le.nxt);var bt=Ye+Ie.prelim+Ie.w-(at+Je.prelim);bt>0&&(at+=bt,ne(xe,ke,Le.index,bt));var $t=he(Ie),tr=he(Je);$t<=tr&&(Ie=fe(Ie),Ie!==null&&(Ye+=Ie.mod)),$t>=tr&&(Je=ee(Je),Je!==null&&(at+=Je.mod))}!Ie&&Je?K(xe,ke,Je,at):Ie&&!Je&&se(xe,ke,Ie,Ye)}function ne(xe,ke,Le,Ie){xe.c[ke].mod+=Ie,xe.c[ke].msel+=Ie,xe.c[ke].mser+=Ie,be(xe,ke,Le,Ie)}function ee(xe){return xe.cs===0?xe.tl:xe.c[0]}function fe(xe){return xe.cs===0?xe.tr:xe.c[xe.cs-1]}function he(xe){return xe.y+xe.h}function K(xe,ke,Le,Ie){var Ye=xe.c[0].el;Ye.tl=Le;var Je=Ie-Le.mod-xe.c[0].msel;Ye.mod+=Je,Ye.prelim-=Je,xe.c[0].el=xe.c[ke].el,xe.c[0].msel=xe.c[ke].msel}function se(xe,ke,Le,Ie){var Ye=xe.c[ke].er;Ye.tr=Le;var Je=Ie-Le.mod-xe.c[ke].mser;Ye.mod+=Je,Ye.prelim-=Je,xe.c[ke].er=xe.c[ke-1].er,xe.c[ke].mser=xe.c[ke-1].mser}function le(xe){xe.prelim=(xe.c[0].prelim+xe.c[0].mod+xe.c[xe.cs-1].mod+xe.c[xe.cs-1].prelim+xe.c[xe.cs-1].w)/2-xe.w/2}function ye(xe,ke){ke+=xe.mod,xe.x=xe.prelim+ke,Ee(xe);for(var Le=0;Le<xe.cs;Le++)ye(xe.c[Le],ke)}function be(xe,ke,Le,Ie){if(Le!==ke-1){var Ye=ke-Le;xe.c[Le+1].shift+=Ie/Ye,xe.c[ke].shift-=Ie/Ye,xe.c[ke].change-=Ie-Ie/Ye}}function Ee(xe){for(var ke=0,Le=0,Ie=0;Ie<xe.cs;Ie++)ke+=xe.c[Ie].shift,Le+=ke+xe.c[Ie].change,xe.c[Ie].mod+=Le}function Ne(xe,ke,Le){for(;Le!==null&&xe>=Le.low;)Le=Le.nxt;return{low:xe,index:ke,nxt:Le}}L(B,_);var Pe=M.fromNode(B,_);return j(Pe),ye(Pe,0),R(Pe,B,_),I(B,_),B}},function(re,w,M){function G(N,V){N.prototype=Object.create(V.prototype),N.prototype.constructor=N,z(N,V)}function z(N,V){return z=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(ne,ee){return ne.__proto__=ee,ne},z(N,V)}var I=M(1),R=M(9),L=M(2),B=M(0),D=function(N){function V(){return N.apply(this,arguments)||this}G(V,N);var ne=V.prototype;return ne.execute=function(){var fe=this;return fe.rootNode.width=0,L(fe.rootNode,fe.options,R)},V}(I),_={};function j(N,V){return V=B.assign({},_,V),new D(N,V).execute()}re.exports=j},function(re,w,M){var G=M(0);function z(L,B){L===void 0&&(L=0),B===void 0&&(B=[]);var D=this;D.x=D.y=0,D.leftChild=D.rightChild=null,D.height=0,D.children=B}var I={isHorizontal:!0,nodeSep:20,nodeSize:20,rankSep:200,subTreeSep:10};function R(L,B,D){D?(B.x=L.x,B.y=L.y):(B.x=L.y,B.y=L.x),L.children.forEach(function(_,j){R(_,B.children[j],D)})}re.exports=function(L,B){B===void 0&&(B={}),B=G.assign({},I,B);var D=0;function _(ee){if(!ee)return null;ee.width=0,ee.depth&&ee.depth>D&&(D=ee.depth);var fe=ee.children,he=fe.length,K=new z(ee.height,[]);return fe.forEach(function(se,le){var ye=_(se);K.children.push(ye),le===0&&(K.leftChild=ye),le===he-1&&(K.rightChild=ye)}),K.originNode=ee,K.isLeaf=ee.isLeaf(),K}function j(ee){if(ee.isLeaf||ee.children.length===0)ee.drawingDepth=D;else{var fe=ee.children.map(function(K){return j(K)}),he=Math.min.apply(null,fe);ee.drawingDepth=he-1}return ee.drawingDepth}var N;function V(ee){ee.x=ee.drawingDepth*B.rankSep,ee.isLeaf?(ee.y=0,N&&(ee.y=N.y+N.height+B.nodeSep,ee.originNode.parent!==N.originNode.parent&&(ee.y+=B.subTreeSep)),N=ee):(ee.children.forEach(function(fe){V(fe)}),ee.y=(ee.leftChild.y+ee.rightChild.y)/2)}var ne=_(L);return j(ne),V(ne),R(ne,L,B.isHorizontal),L}},function(re,w,M){function G(ne,ee){ne.prototype=Object.create(ee.prototype),ne.prototype.constructor=ne,z(ne,ee)}function z(ne,ee){return z=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(fe,he){return fe.__proto__=he,fe},z(ne,ee)}var I=M(1),R=M(11),L=M(4),B=M(0),D=["LR","RL","H"],_=D[0],j=function(ne){function ee(){return ne.apply(this,arguments)||this}G(ee,ne);var fe=ee.prototype;return fe.execute=function(){var K=this,se=K.options,le=K.rootNode;se.isHorizontal=!0;var ye=se.indent,be=ye===void 0?20:ye,Ee=se.dropCap,Ne=Ee===void 0?!0:Ee,Pe=se.direction,xe=Pe===void 0?_:Pe,ke=se.align;if(xe&&D.indexOf(xe)===-1)throw new TypeError("Invalid direction: "+xe);if(xe===D[0])R(le,be,Ne,ke);else if(xe===D[1])R(le,be,Ne,ke),le.right2left();else if(xe===D[2]){var Le=L(le,se),Ie=Le.left,Ye=Le.right;R(Ie,be,Ne,ke),Ie.right2left(),R(Ye,be,Ne,ke);var Je=Ie.getBoundingBox();Ye.translate(Je.width,0),le.x=Ye.x-le.width/2}return le},ee}(I),N={};function V(ne,ee){return ee=B.assign({},N,ee),new j(ne,ee).execute()}re.exports=V},function(re,w,M){var G=M(0);function z(I,R,L,B,D){var _=(typeof L=="function"?L(I):L)*I.depth;if(!B)try{if(I.id===I.parent.children[0].id){I.x+=_,I.y=R?R.y:0;return}}catch(V){}if(I.x+=_,R){if(I.y=R.y+G.getHeight(R,I,D),R.parent&&I.parent.id!==R.parent.id){var j=R.parent,N=j.y+G.getHeight(j,I,D);I.y=N>I.y?N:I.y}}else I.y=0}re.exports=function(I,R,L,B){var D=null;I.eachNode(function(_){z(_,D,R,L,B),D=_})}},function(re,w,M){function G(N,V){N.prototype=Object.create(V.prototype),N.prototype.constructor=N,z(N,V)}function z(N,V){return z=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(ne,ee){return ne.__proto__=ee,ne},z(N,V)}var I=M(1),R=M(13),L=M(2),B=M(0),D=function(N){function V(){return N.apply(this,arguments)||this}G(V,N);var ne=V.prototype;return ne.execute=function(){var fe=this;return L(fe.rootNode,fe.options,R)},V}(I),_={};function j(N,V){return V=B.assign({},_,V),new D(N,V).execute()}re.exports=j},function(re,w,M){var G=M(0);function z(L,B){var D=0;return L.children.length?L.children.forEach(function(_){D+=z(_,B)}):D=L.height,L._subTreeSep=B.getSubTreeSep(L.data),L.totalHeight=Math.max(L.height,D)+2*L._subTreeSep,L.totalHeight}function I(L){var B=L.children,D=B.length;if(D){B.forEach(function(ee){I(ee)});var _=B[0],j=B[D-1],N=j.y-_.y+j.height,V=0;if(B.forEach(function(ee){V+=ee.totalHeight}),N>L.height)L.y=_.y+N/2-L.height/2;else if(B.length!==1||L.height>V){var ne=L.y+(L.height-N)/2-_.y;B.forEach(function(ee){ee.translate(0,ne)})}else L.y=(_.y+_.height/2+j.y+j.height/2)/2-L.height/2}}var R={getSubTreeSep:function(){return 0}};re.exports=function(L,B){B===void 0&&(B={}),B=G.assign({},R,B),L.parent={x:0,width:0,height:0,y:0},L.BFTraverse(function(D){D.x=D.parent.x+D.parent.width}),L.parent=null,z(L,B),L.startY=0,L.y=L.totalHeight/2-L.height/2,L.eachNode(function(D){var _=D.children,j=_.length;if(j){var N=_[0];if(N.startY=D.startY+D._subTreeSep,j===1)N.y=D.y+D.height/2-N.height/2;else{N.y=N.startY+N.totalHeight/2-N.height/2;for(var V=1;V<j;V++){var ne=_[V];ne.startY=_[V-1].startY+_[V-1].totalHeight,ne.y=ne.startY+ne.totalHeight/2-ne.height/2}}}}),I(L)}}])})},62309:function(Q,re,w){"use strict";var M=w(67294),G=w(50976),z=w(43085),I=w.n(z),R=Object.defineProperty,L=Object.defineProperties,B=Object.getOwnPropertyDescriptors,D=Object.getOwnPropertySymbols,_=Object.prototype.hasOwnProperty,j=Object.prototype.propertyIsEnumerable,N=(K,se,le)=>se in K?R(K,se,{enumerable:!0,configurable:!0,writable:!0,value:le}):K[se]=le,V=(K,se)=>{for(var le in se||(se={}))_.call(se,le)&&N(K,le,se[le]);if(D)for(var le of D(se))j.call(se,le)&&N(K,le,se[le]);return K},ne=(K,se)=>L(K,B(se));function ee(K,se,le=1/3,ye){let be=K*Math.PI*2,Ee=se*Math.PI*2;return{u:{min:-Math.PI,max:Math.PI*3,step:Math.PI/32},v:{min:0,max:Math.PI*2,step:Math.PI/20},x:function(Ne,Pe){return Ne<be?Math.cos(be)*(1+Math.cos(Pe)*le):Ne>Ee?Math.cos(Ee)*(1+Math.cos(Pe)*le):Math.cos(Ne)*(1+Math.cos(Pe)*le)},y:function(Ne,Pe){return Ne<be?Math.sin(be)*(1+Math.cos(Pe)*le):Ne>Ee?Math.sin(Ee)*(1+Math.cos(Pe)*le):Math.sin(Ne)*(1+Math.cos(Pe)*le)},z:function(Ne,Pe){return Ne<-Math.PI*.5?Math.sin(Ne):Ne>Math.PI*2.5?Math.sin(Ne)*ye*.1:Math.sin(Pe)>0?1*ye*.1:-1}}}function fe({pieData:K=[],internalDiameterRatio:se=1/3}){var le,ye,be,Ee;const Ne=[],Pe=K==null?void 0:K.reduce((Ye,Je)=>(Ye||0)+((Je==null?void 0:Je.value)||0),0);let xe=0,ke=0;const Le=[];for(let Ye=0;Ye<(K==null?void 0:K.length);Ye++){ke=xe+(Pe==0?1:((le=K==null?void 0:K[Ye])==null?void 0:le.value)||0);const Je={itemStyle:((ye=K==null?void 0:K[Ye])==null?void 0:ye.itemStyle)||{},name:((be=K==null?void 0:K[Ye])==null?void 0:be.name)||`name${Ye}`,type:"surface",parametric:!0,parametricEquation:ee(xe/(Pe||(K==null?void 0:K.length)),ke/(Pe||(K==null?void 0:K.length)),se,((Ee=K==null?void 0:K[Ye])==null?void 0:Ee.value)||(Pe==0?25:0)),wireframe:{show:!1},pieData:K==null?void 0:K[Ye]};Le.push(Je.name),Ne.push(Je),xe=ke}return Ne.push({name:"pie2d",type:"pie",showEmptyCircle:!0,label:{show:!0,formatter:Ye=>`${Ye.value}
|
|
|
|
|
|
${Ye.name}`},startAngle:-35,radius:["49%","50%"],center:["50%","40%"],data:[...K||[]].reverse(),itemStyle:{opacity:0}}),{legend:{left:"50%",top:"center",textStyle:{fontSize:12},data:Le},xAxis3D:{},yAxis3D:{},zAxis3D:{},grid3D:{viewControl:{alpha:45,rotateSensitivity:0,zoomSensitivity:0,panSensitivity:0,autoRotate:!1},left:"center",top:"-10%",show:!1,boxHeight:25},series:Ne}}const he=({dataSource:K=[{name:"\u638C\u63E1\u738780%~100%",value:0,itemStyle:{color:"rgb(223,209,38)"}},{name:"\u638C\u63D0\u738760%~79%",value:0,itemStyle:{color:"rgb(6,234,230)"}},{name:"\u638C\u63A8\u738759%\u4EE5\u4E0B",value:0,itemStyle:{color:"rgb(6,110,247)"}}],className:se="",style:le={},legend:ye={},internalDiameterRatio:be=1/3})=>{const[Ee,Ne]=(0,M.useState)([]),Pe=(0,M.useCallback)(Le=>{const Ie=Le.selected||{},Ye=K.map(Je=>Je.name).filter(Je=>Ie[Je]===!1);Ne(Ye)},[K]),xe=(0,M.useMemo)(()=>K.filter(Le=>!Ee.includes(Le.name)),[K,Ee]),ke=(0,M.useMemo)(()=>{const Le=fe({pieData:xe,internalDiameterRatio:be}),Ie=K.map(Je=>Je.name),Ye=K.reduce((Je,at)=>(Je[at.name]=!Ee.includes(at.name),Je),{});return Le.legend=ne(V(V({},Le.legend),ye),{data:Ie,selected:Ye}),Le},[xe,ye,be,K,Ee]);return M.createElement(G.Z,{onEvents:{legendselectchanged:Pe},className:`w-full h-full ${se}`,option:ke,style:V({height:"100%"},le)})};re.Z=he},58201:function(Q,re,w){"use strict";w.d(re,{Z:function(){return Pe}});var M=w(83062),G=w(67294),z=w(35973),I=w(28706),R=w.p+"static/nltpbg.f01aad4b.png",L=w.p+"static/nltpbg2.303fcb0b.png",B={title:"title___m9Fww",bg:"bg___f9tLu"},D="data:image/png;base64,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",_=w.p+"static/2.3612d2e5.png",j=w.p+"static/3.0ae7bccf.png",N=w.p+"static/4.d75cb058.png",V=w.p+"static/5.89f1948f.png",ne=w.p+"static/6.cc2d55ef.png",ee=w.p+"static/7.3afb9435.png",fe=w.p+"static/8.5401d4a7.png",he=Object.defineProperty,K=Object.getOwnPropertySymbols,se=Object.prototype.hasOwnProperty,le=Object.prototype.propertyIsEnumerable,ye=(xe,ke,Le)=>ke in xe?he(xe,ke,{enumerable:!0,configurable:!0,writable:!0,value:Le}):xe[ke]=Le,be=(xe,ke)=>{for(var Le in ke||(ke={}))se.call(ke,Le)&&ye(xe,Le,ke[Le]);if(K)for(var Le of K(ke))le.call(ke,Le)&&ye(xe,Le,ke[Le]);return xe};const Ee=({DataProps:xe=[],baifenbi:ke=1,pathsDetail:Le,isShow:Ie,item:Ye,i:Je})=>{const at=(0,z.useParams)(),[bt,$t]=(0,G.useState)(0),tr=33,Wr=Math.PI/2+Je*(Math.PI*2/(xe==null?void 0:xe.length)),Ga=tr*Math.cos(Wr)/100,cs=tr*Math.sin(Wr)/100;return G.createElement(M.Z,{color:"#444FC2",title:Ie?null:G.createElement("div",{style:{fontSize:`${14*ke}rem`}},G.createElement("div",null,"\u8986\u76D6",(Ye==null?void 0:Ye.children_count)||0,"\u4E2A\u5B50\u80FD\u529B\u3001",(Ye==null?void 0:Ye.subject_knowledge_graph_count)||0,"\u4E2A\u77E5\u8BC6\u70B9"),G.createElement("div",{style:{marginTop:"10rem"}},"\u70B9\u51FB\u67E5\u770B\u8BE6\u60C5"))},G.createElement("div",{className:`flex flex-col item-center justify-center absolute ${Ie?"":"current"} ${B.title}`,onClick:()=>{Ie||(0,I.xg)(`/knowledgegraph/${at==null?void 0:at.pathId}/abilityMap/detail/${Ye==null?void 0:Ye.id}${window.location.search}`)},onMouseOver:()=>{Ie||$t(2)},onMouseOut:()=>{Ie||$t(0)},style:{left:`calc(50% - ${Ga*100}%)`,top:`calc(50% - ${cs*100}%)`,transform:"translate(-50%,-50%)",width:"20%",fontSize:`${(14+bt)*ke}rem`}},G.createElement("div",{style:{opacity:"0.8"}},"\u4E3B\u80FD\u529B"),G.createElement("div",{className:"multi_ellipsis1",style:{fontSize:`${18*ke}rem`,fontWeight:500}},Ye==null?void 0:Ye.name),!(Le!=null&&Le.detail.can_managed)&&G.createElement("div",null,"\u638C\u63E1\u7387 ",Ye==null?void 0:Ye.grasp_rate," %")))},Ne=({DataProps:xe=[],className:ke="",style:Le={},baifenbi:Ie=1,pathsDetail:Ye,isShow:Je})=>{const at=(0,G.useMemo)(()=>{const bt=["",D,_,j,N,V,ne,ee,fe];return bt==null?void 0:bt[(xe==null?void 0:xe.length)||0]},[xe]);return G.createElement("div",{className:`w-full h-full flex item-center justify-center relative overflow_hidden ${ke} ${B.bg}`,style:be({backgroundImage:`url(${xe!=null&&xe.length?L:R})`,backgroundSize:"auto 100%",height:"100%"},Le)},((xe==null?void 0:xe.length)||0)>0&&G.createElement("img",{className:`absolute ${B.bg}`,src:at,style:{width:"95%",height:"95%",left:"50%",top:"50%",transform:`translate(-50%, -50%) ${[2,3,6].includes(xe==null?void 0:xe.length)?"rotate(90deg)":(xe==null?void 0:xe.length)==7?"rotate(25deg)":""}`}}),xe==null?void 0:xe.map((bt,$t)=>G.createElement(Ee,{key:$t,i:$t,item:bt,DataProps:xe,className:ke,style:Le,baifenbi:Ie,pathsDetail:Ye,isShow:Je})),G.createElement("div",{className:"text-center"},G.createElement("div",{style:{fontSize:`${28*Ie}rem`}},"\u80FD\u529B\u76EE\u6807"),G.createElement("div",{style:{fontSize:`${12*Ie}rem`}},"\u70B9\u51FB\u73AF\u56FE\u67E5\u770B\u80FD\u529B\u8BE6\u60C5")))};var Pe=(0,z.connect)(({pathsDetail:xe})=>({pathsDetail:xe}))(Ne)},48202:function(Q,re,w){"use strict";var M,G=Object.defineProperty,z=$=>{throw TypeError($)},I=Math.pow,R=($,E,P)=>E in $?G($,E,{enumerable:!0,configurable:!0,writable:!0,value:P}):$[E]=P,L=($,E,P)=>R($,typeof E!="symbol"?E+"":E,P),B=($,E,P)=>E.has($)||z("Cannot "+P),D=($,E,P)=>(B($,E,"read from private field"),P?P.call($):E.get($)),_=($,E,P)=>E.has($)?z("Cannot add the same private member more than once"):E instanceof WeakSet?E.add($):E.set($,P),j=($,E,P,y)=>(B($,E,"write to private field"),y?y.call($,P):E.set($,P),P),N=($,E,P)=>(B($,E,"access private method"),P),V,ne,ee;M={value:!0};var fe=w(44091),he=w(75823);const K=" ".repeat(2),se=" ".repeat(4);function le(){return ye(this)}function ye($,E={}){const{maxRows:P=15,maxColumns:y=10,maxNumSize:A=8,padMinus:F="auto"}=E;return`${$.constructor.name} {
|
|
|
${K}[
|
|
|
${se}${be($,P,y,A,F)}
|
|
|
${K}]
|
|
|
${K}rows: ${$.rows}
|
|
|
${K}columns: ${$.columns}
|
|
|
}`}function be($,E,P,y,A){const{rows:F,columns:ue}=$,ce=Math.min(F,E),pe=Math.min(ue,P),ge=[];if(A==="auto"){A=!1;e:for(let _e=0;_e<ce;_e++)for(let we=0;we<pe;we++)if($.get(_e,we)<0){A=!0;break e}}for(let _e=0;_e<ce;_e++){let we=[];for(let Xe=0;Xe<pe;Xe++)we.push(Ee($.get(_e,Xe),y,A));ge.push(`${we.join(" ")}`)}return pe!==ue&&(ge[ge.length-1]+=` ... ${ue-P} more columns`),ce!==F&&ge.push(`... ${F-E} more rows`),ge.join(`
|
|
|
${se}`)}function Ee($,E,P){return($>=0&&P?` ${Ne($,E-1)}`:Ne($,E)).padEnd(E)}function Ne($,E){let P=$.toString();if(P.length<=E)return P;let y=$.toFixed(E);if(y.length>E&&(y=$.toFixed(Math.max(0,E-(y.length-E)))),y.length<=E&&!y.startsWith("0.000")&&!y.startsWith("-0.000"))return y;let A=$.toExponential(E);return A.length>E&&(A=$.toExponential(Math.max(0,E-(A.length-E)))),A.slice(0)}function Pe($,E){$.prototype.add=function(y){return typeof y=="number"?this.addS(y):this.addM(y)},$.prototype.addS=function(y){for(let A=0;A<this.rows;A++)for(let F=0;F<this.columns;F++)this.set(A,F,this.get(A,F)+y);return this},$.prototype.addM=function(y){if(y=E.checkMatrix(y),this.rows!==y.rows||this.columns!==y.columns)throw new RangeError("Matrices dimensions must be equal");for(let A=0;A<this.rows;A++)for(let F=0;F<this.columns;F++)this.set(A,F,this.get(A,F)+y.get(A,F));return this},$.add=function(y,A){return new E(y).add(A)},$.prototype.sub=function(y){return typeof y=="number"?this.subS(y):this.subM(y)},$.prototype.subS=function(y){for(let A=0;A<this.rows;A++)for(let F=0;F<this.columns;F++)this.set(A,F,this.get(A,F)-y);return this},$.prototype.subM=function(y){if(y=E.checkMatrix(y),this.rows!==y.rows||this.columns!==y.columns)throw new RangeError("Matrices dimensions must be equal");for(let A=0;A<this.rows;A++)for(let F=0;F<this.columns;F++)this.set(A,F,this.get(A,F)-y.get(A,F));return this},$.sub=function(y,A){return new E(y).sub(A)},$.prototype.subtract=$.prototype.sub,$.prototype.subtractS=$.prototype.subS,$.prototype.subtractM=$.prototype.subM,$.subtract=$.sub,$.prototype.mul=function(y){return typeof y=="number"?this.mulS(y):this.mulM(y)},$.prototype.mulS=function(y){for(let A=0;A<this.rows;A++)for(let F=0;F<this.columns;F++)this.set(A,F,this.get(A,F)*y);return this},$.prototype.mulM=function(y){if(y=E.checkMatrix(y),this.rows!==y.rows||this.columns!==y.columns)throw new RangeError("Matrices dimensions must be equal");for(let A=0;A<this.rows;A++)for(let F=0;F<this.columns;F++)this.set(A,F,this.get(A,F)*y.get(A,F));return this},$.mul=function(y,A){return new E(y).mul(A)},$.prototype.multiply=$.prototype.mul,$.prototype.multiplyS=$.prototype.mulS,$.prototype.multiplyM=$.prototype.mulM,$.multiply=$.mul,$.prototype.div=function(y){return typeof y=="number"?this.divS(y):this.divM(y)},$.prototype.divS=function(y){for(let A=0;A<this.rows;A++)for(let F=0;F<this.columns;F++)this.set(A,F,this.get(A,F)/y);return this},$.prototype.divM=function(y){if(y=E.checkMatrix(y),this.rows!==y.rows||this.columns!==y.columns)throw new RangeError("Matrices dimensions must be equal");for(let A=0;A<this.rows;A++)for(let F=0;F<this.columns;F++)this.set(A,F,this.get(A,F)/y.get(A,F));return this},$.div=function(y,A){return new E(y).div(A)},$.prototype.divide=$.prototype.div,$.prototype.divideS=$.prototype.divS,$.prototype.divideM=$.prototype.divM,$.divide=$.div,$.prototype.mod=function(y){return typeof y=="number"?this.modS(y):this.modM(y)},$.prototype.modS=function(y){for(let A=0;A<this.rows;A++)for(let F=0;F<this.columns;F++)this.set(A,F,this.get(A,F)%y);return this},$.prototype.modM=function(y){if(y=E.checkMatrix(y),this.rows!==y.rows||this.columns!==y.columns)throw new RangeError("Matrices dimensions must be equal");for(let A=0;A<this.rows;A++)for(let F=0;F<this.columns;F++)this.set(A,F,this.get(A,F)%y.get(A,F));return this},$.mod=function(y,A){return new E(y).mod(A)},$.prototype.modulus=$.prototype.mod,$.prototype.modulusS=$.prototype.modS,$.prototype.modulusM=$.prototype.modM,$.modulus=$.mod,$.prototype.and=function(y){return typeof y=="number"?this.andS(y):this.andM(y)},$.prototype.andS=function(y){for(let A=0;A<this.rows;A++)for(let F=0;F<this.columns;F++)this.set(A,F,this.get(A,F)&y);return this},$.prototype.andM=function(y){if(y=E.checkMatrix(y),this.rows!==y.rows||this.columns!==y.columns)throw new RangeError("Matrices dimensions must be equal");for(let A=0;A<this.rows;A++)for(let F=0;F<this.columns;F++)this.set(A,F,this.get(A,F)&y.get(A,F));return this},$.and=function(y,A){return new E(y).and(A)},$.prototype.or=function(y){return typeof y=="number"?this.orS(y):this.orM(y)},$.prototype.orS=function(y){for(let A=0;A<this.rows;A++)for(let F=0;F<this.columns;F++)this.set(A,F,this.get(A,F)|y);return this},$.prototype.orM=function(y){if(y=E.checkMatrix(y),this.rows!==y.rows||this.columns!==y.columns)throw new RangeError("Matrices dimensions must be equal");for(let A=0;A<this.rows;A++)for(let F=0;F<this.columns;F++)this.set(A,F,this.get(A,F)|y.get(A,F));return this},$.or=function(y,A){return new E(y).or(A)},$.prototype.xor=function(y){return typeof y=="number"?this.xorS(y):this.xorM(y)},$.prototype.xorS=function(y){for(let A=0;A<this.rows;A++)for(let F=0;F<this.columns;F++)this.set(A,F,this.get(A,F)^y);return this},$.prototype.xorM=function(y){if(y=E.checkMatrix(y),this.rows!==y.rows||this.columns!==y.columns)throw new RangeError("Matrices dimensions must be equal");for(let A=0;A<this.rows;A++)for(let F=0;F<this.columns;F++)this.set(A,F,this.get(A,F)^y.get(A,F));return this},$.xor=function(y,A){return new E(y).xor(A)},$.prototype.leftShift=function(y){return typeof y=="number"?this.leftShiftS(y):this.leftShiftM(y)},$.prototype.leftShiftS=function(y){for(let A=0;A<this.rows;A++)for(let F=0;F<this.columns;F++)this.set(A,F,this.get(A,F)<<y);return this},$.prototype.leftShiftM=function(y){if(y=E.checkMatrix(y),this.rows!==y.rows||this.columns!==y.columns)throw new RangeError("Matrices dimensions must be equal");for(let A=0;A<this.rows;A++)for(let F=0;F<this.columns;F++)this.set(A,F,this.get(A,F)<<y.get(A,F));return this},$.leftShift=function(y,A){return new E(y).leftShift(A)},$.prototype.signPropagatingRightShift=function(y){return typeof y=="number"?this.signPropagatingRightShiftS(y):this.signPropagatingRightShiftM(y)},$.prototype.signPropagatingRightShiftS=function(y){for(let A=0;A<this.rows;A++)for(let F=0;F<this.columns;F++)this.set(A,F,this.get(A,F)>>y);return this},$.prototype.signPropagatingRightShiftM=function(y){if(y=E.checkMatrix(y),this.rows!==y.rows||this.columns!==y.columns)throw new RangeError("Matrices dimensions must be equal");for(let A=0;A<this.rows;A++)for(let F=0;F<this.columns;F++)this.set(A,F,this.get(A,F)>>y.get(A,F));return this},$.signPropagatingRightShift=function(y,A){return new E(y).signPropagatingRightShift(A)},$.prototype.rightShift=function(y){return typeof y=="number"?this.rightShiftS(y):this.rightShiftM(y)},$.prototype.rightShiftS=function(y){for(let A=0;A<this.rows;A++)for(let F=0;F<this.columns;F++)this.set(A,F,this.get(A,F)>>>y);return this},$.prototype.rightShiftM=function(y){if(y=E.checkMatrix(y),this.rows!==y.rows||this.columns!==y.columns)throw new RangeError("Matrices dimensions must be equal");for(let A=0;A<this.rows;A++)for(let F=0;F<this.columns;F++)this.set(A,F,this.get(A,F)>>>y.get(A,F));return this},$.rightShift=function(y,A){return new E(y).rightShift(A)},$.prototype.zeroFillRightShift=$.prototype.rightShift,$.prototype.zeroFillRightShiftS=$.prototype.rightShiftS,$.prototype.zeroFillRightShiftM=$.prototype.rightShiftM,$.zeroFillRightShift=$.rightShift,$.prototype.not=function(){for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.set(y,A,~this.get(y,A));return this},$.not=function(y){return new E(y).not()},$.prototype.abs=function(){for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.set(y,A,Math.abs(this.get(y,A)));return this},$.abs=function(y){return new E(y).abs()},$.prototype.acos=function(){for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.set(y,A,Math.acos(this.get(y,A)));return this},$.acos=function(y){return new E(y).acos()},$.prototype.acosh=function(){for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.set(y,A,Math.acosh(this.get(y,A)));return this},$.acosh=function(y){return new E(y).acosh()},$.prototype.asin=function(){for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.set(y,A,Math.asin(this.get(y,A)));return this},$.asin=function(y){return new E(y).asin()},$.prototype.asinh=function(){for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.set(y,A,Math.asinh(this.get(y,A)));return this},$.asinh=function(y){return new E(y).asinh()},$.prototype.atan=function(){for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.set(y,A,Math.atan(this.get(y,A)));return this},$.atan=function(y){return new E(y).atan()},$.prototype.atanh=function(){for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.set(y,A,Math.atanh(this.get(y,A)));return this},$.atanh=function(y){return new E(y).atanh()},$.prototype.cbrt=function(){for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.set(y,A,Math.cbrt(this.get(y,A)));return this},$.cbrt=function(y){return new E(y).cbrt()},$.prototype.ceil=function(){for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.set(y,A,Math.ceil(this.get(y,A)));return this},$.ceil=function(y){return new E(y).ceil()},$.prototype.clz32=function(){for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.set(y,A,Math.clz32(this.get(y,A)));return this},$.clz32=function(y){return new E(y).clz32()},$.prototype.cos=function(){for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.set(y,A,Math.cos(this.get(y,A)));return this},$.cos=function(y){return new E(y).cos()},$.prototype.cosh=function(){for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.set(y,A,Math.cosh(this.get(y,A)));return this},$.cosh=function(y){return new E(y).cosh()},$.prototype.exp=function(){for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.set(y,A,Math.exp(this.get(y,A)));return this},$.exp=function(y){return new E(y).exp()},$.prototype.expm1=function(){for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.set(y,A,Math.expm1(this.get(y,A)));return this},$.expm1=function(y){return new E(y).expm1()},$.prototype.floor=function(){for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.set(y,A,Math.floor(this.get(y,A)));return this},$.floor=function(y){return new E(y).floor()},$.prototype.fround=function(){for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.set(y,A,Math.fround(this.get(y,A)));return this},$.fround=function(y){return new E(y).fround()},$.prototype.log=function(){for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.set(y,A,Math.log(this.get(y,A)));return this},$.log=function(y){return new E(y).log()},$.prototype.log1p=function(){for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.set(y,A,Math.log1p(this.get(y,A)));return this},$.log1p=function(y){return new E(y).log1p()},$.prototype.log10=function(){for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.set(y,A,Math.log10(this.get(y,A)));return this},$.log10=function(y){return new E(y).log10()},$.prototype.log2=function(){for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.set(y,A,Math.log2(this.get(y,A)));return this},$.log2=function(y){return new E(y).log2()},$.prototype.round=function(){for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.set(y,A,Math.round(this.get(y,A)));return this},$.round=function(y){return new E(y).round()},$.prototype.sign=function(){for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.set(y,A,Math.sign(this.get(y,A)));return this},$.sign=function(y){return new E(y).sign()},$.prototype.sin=function(){for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.set(y,A,Math.sin(this.get(y,A)));return this},$.sin=function(y){return new E(y).sin()},$.prototype.sinh=function(){for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.set(y,A,Math.sinh(this.get(y,A)));return this},$.sinh=function(y){return new E(y).sinh()},$.prototype.sqrt=function(){for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.set(y,A,Math.sqrt(this.get(y,A)));return this},$.sqrt=function(y){return new E(y).sqrt()},$.prototype.tan=function(){for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.set(y,A,Math.tan(this.get(y,A)));return this},$.tan=function(y){return new E(y).tan()},$.prototype.tanh=function(){for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.set(y,A,Math.tanh(this.get(y,A)));return this},$.tanh=function(y){return new E(y).tanh()},$.prototype.trunc=function(){for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.set(y,A,Math.trunc(this.get(y,A)));return this},$.trunc=function(y){return new E(y).trunc()},$.pow=function(y,A){return new E(y).pow(A)},$.prototype.pow=function(y){return typeof y=="number"?this.powS(y):this.powM(y)},$.prototype.powS=function(y){for(let A=0;A<this.rows;A++)for(let F=0;F<this.columns;F++)this.set(A,F,I(this.get(A,F),y));return this},$.prototype.powM=function(y){if(y=E.checkMatrix(y),this.rows!==y.rows||this.columns!==y.columns)throw new RangeError("Matrices dimensions must be equal");for(let A=0;A<this.rows;A++)for(let F=0;F<this.columns;F++)this.set(A,F,I(this.get(A,F),y.get(A,F)));return this}}function xe($,E,P){let y=P?$.rows:$.rows-1;if(E<0||E>y)throw new RangeError("Row index out of range")}function ke($,E,P){let y=P?$.columns:$.columns-1;if(E<0||E>y)throw new RangeError("Column index out of range")}function Le($,E){if(E.to1DArray&&(E=E.to1DArray()),E.length!==$.columns)throw new RangeError("vector size must be the same as the number of columns");return E}function Ie($,E){if(E.to1DArray&&(E=E.to1DArray()),E.length!==$.rows)throw new RangeError("vector size must be the same as the number of rows");return E}function Ye($,E){if(!fe.isAnyArray(E))throw new TypeError("row indices must be an array");for(let P=0;P<E.length;P++)if(E[P]<0||E[P]>=$.rows)throw new RangeError("row indices are out of range")}function Je($,E){if(!fe.isAnyArray(E))throw new TypeError("column indices must be an array");for(let P=0;P<E.length;P++)if(E[P]<0||E[P]>=$.columns)throw new RangeError("column indices are out of range")}function at($,E,P,y,A){if(arguments.length!==5)throw new RangeError("expected 4 arguments");if($t("startRow",E),$t("endRow",P),$t("startColumn",y),$t("endColumn",A),E>P||y>A||E<0||E>=$.rows||P<0||P>=$.rows||y<0||y>=$.columns||A<0||A>=$.columns)throw new RangeError("Submatrix indices are out of range")}function bt($,E=0){let P=[];for(let y=0;y<$;y++)P.push(E);return P}function $t($,E){if(typeof E!="number")throw new TypeError(`${$} must be a number`)}function tr($){if($.isEmpty())throw new Error("Empty matrix has no elements to index")}function Wr($){let E=bt($.rows);for(let P=0;P<$.rows;++P)for(let y=0;y<$.columns;++y)E[P]+=$.get(P,y);return E}function Ga($){let E=bt($.columns);for(let P=0;P<$.rows;++P)for(let y=0;y<$.columns;++y)E[y]+=$.get(P,y);return E}function cs($){let E=0;for(let P=0;P<$.rows;P++)for(let y=0;y<$.columns;y++)E+=$.get(P,y);return E}function Me($){let E=bt($.rows,1);for(let P=0;P<$.rows;++P)for(let y=0;y<$.columns;++y)E[P]*=$.get(P,y);return E}function De($){let E=bt($.columns,1);for(let P=0;P<$.rows;++P)for(let y=0;y<$.columns;++y)E[y]*=$.get(P,y);return E}function ze($){let E=1;for(let P=0;P<$.rows;P++)for(let y=0;y<$.columns;y++)E*=$.get(P,y);return E}function me($,E,P){const y=$.rows,A=$.columns,F=[];for(let ue=0;ue<y;ue++){let ce=0,pe=0,ge=0;for(let _e=0;_e<A;_e++)ge=$.get(ue,_e)-P[ue],ce+=ge,pe+=ge*ge;E?F.push((pe-ce*ce/A)/(A-1)):F.push((pe-ce*ce/A)/A)}return F}function Te($,E,P){const y=$.rows,A=$.columns,F=[];for(let ue=0;ue<A;ue++){let ce=0,pe=0,ge=0;for(let _e=0;_e<y;_e++)ge=$.get(_e,ue)-P[ue],ce+=ge,pe+=ge*ge;E?F.push((pe-ce*ce/y)/(y-1)):F.push((pe-ce*ce/y)/y)}return F}function Ae($,E,P){const y=$.rows,A=$.columns,F=y*A;let ue=0,ce=0,pe=0;for(let ge=0;ge<y;ge++)for(let _e=0;_e<A;_e++)pe=$.get(ge,_e)-P,ue+=pe,ce+=pe*pe;return E?(ce-ue*ue/F)/(F-1):(ce-ue*ue/F)/F}function He($,E){for(let P=0;P<$.rows;P++)for(let y=0;y<$.columns;y++)$.set(P,y,$.get(P,y)-E[P])}function xt($,E){for(let P=0;P<$.rows;P++)for(let y=0;y<$.columns;y++)$.set(P,y,$.get(P,y)-E[y])}function Ft($,E){for(let P=0;P<$.rows;P++)for(let y=0;y<$.columns;y++)$.set(P,y,$.get(P,y)-E)}function St($){const E=[];for(let P=0;P<$.rows;P++){let y=0;for(let A=0;A<$.columns;A++)y+=I($.get(P,A),2)/($.columns-1);E.push(Math.sqrt(y))}return E}function Yt($,E){for(let P=0;P<$.rows;P++)for(let y=0;y<$.columns;y++)$.set(P,y,$.get(P,y)/E[P])}function Un($){const E=[];for(let P=0;P<$.columns;P++){let y=0;for(let A=0;A<$.rows;A++)y+=I($.get(A,P),2)/($.rows-1);E.push(Math.sqrt(y))}return E}function jn($,E){for(let P=0;P<$.rows;P++)for(let y=0;y<$.columns;y++)$.set(P,y,$.get(P,y)/E[y])}function Dt($){const E=$.size-1;let P=0;for(let y=0;y<$.columns;y++)for(let A=0;A<$.rows;A++)P+=I($.get(A,y),2)/E;return Math.sqrt(P)}function Nt($,E){for(let P=0;P<$.rows;P++)for(let y=0;y<$.columns;y++)$.set(P,y,$.get(P,y)/E)}class wt{static from1DArray(E,P,y){if(E*P!==y.length)throw new RangeError("data length does not match given dimensions");let F=new ft(E,P);for(let ue=0;ue<E;ue++)for(let ce=0;ce<P;ce++)F.set(ue,ce,y[ue*P+ce]);return F}static rowVector(E){let P=new ft(1,E.length);for(let y=0;y<E.length;y++)P.set(0,y,E[y]);return P}static columnVector(E){let P=new ft(E.length,1);for(let y=0;y<E.length;y++)P.set(y,0,E[y]);return P}static zeros(E,P){return new ft(E,P)}static ones(E,P){return new ft(E,P).fill(1)}static rand(E,P,y={}){if(typeof y!="object")throw new TypeError("options must be an object");const{random:A=Math.random}=y;let F=new ft(E,P);for(let ue=0;ue<E;ue++)for(let ce=0;ce<P;ce++)F.set(ue,ce,A());return F}static randInt(E,P,y={}){if(typeof y!="object")throw new TypeError("options must be an object");const{min:A=0,max:F=1e3,random:ue=Math.random}=y;if(!Number.isInteger(A))throw new TypeError("min must be an integer");if(!Number.isInteger(F))throw new TypeError("max must be an integer");if(A>=F)throw new RangeError("min must be smaller than max");let ce=F-A,pe=new ft(E,P);for(let ge=0;ge<E;ge++)for(let _e=0;_e<P;_e++){let we=A+Math.round(ue()*ce);pe.set(ge,_e,we)}return pe}static eye(E,P,y){P===void 0&&(P=E),y===void 0&&(y=1);let A=Math.min(E,P),F=this.zeros(E,P);for(let ue=0;ue<A;ue++)F.set(ue,ue,y);return F}static diag(E,P,y){let A=E.length;P===void 0&&(P=A),y===void 0&&(y=P);let F=Math.min(A,P,y),ue=this.zeros(P,y);for(let ce=0;ce<F;ce++)ue.set(ce,ce,E[ce]);return ue}static min(E,P){E=this.checkMatrix(E),P=this.checkMatrix(P);let y=E.rows,A=E.columns,F=new ft(y,A);for(let ue=0;ue<y;ue++)for(let ce=0;ce<A;ce++)F.set(ue,ce,Math.min(E.get(ue,ce),P.get(ue,ce)));return F}static max(E,P){E=this.checkMatrix(E),P=this.checkMatrix(P);let y=E.rows,A=E.columns,F=new this(y,A);for(let ue=0;ue<y;ue++)for(let ce=0;ce<A;ce++)F.set(ue,ce,Math.max(E.get(ue,ce),P.get(ue,ce)));return F}static checkMatrix(E){return wt.isMatrix(E)?E:new ft(E)}static isMatrix(E){return E!=null&&E.klass==="Matrix"}get size(){return this.rows*this.columns}apply(E){if(typeof E!="function")throw new TypeError("callback must be a function");for(let P=0;P<this.rows;P++)for(let y=0;y<this.columns;y++)E.call(this,P,y);return this}to1DArray(){let E=[];for(let P=0;P<this.rows;P++)for(let y=0;y<this.columns;y++)E.push(this.get(P,y));return E}to2DArray(){let E=[];for(let P=0;P<this.rows;P++){E.push([]);for(let y=0;y<this.columns;y++)E[P].push(this.get(P,y))}return E}toJSON(){return this.to2DArray()}isRowVector(){return this.rows===1}isColumnVector(){return this.columns===1}isVector(){return this.rows===1||this.columns===1}isSquare(){return this.rows===this.columns}isEmpty(){return this.rows===0||this.columns===0}isSymmetric(){if(this.isSquare()){for(let E=0;E<this.rows;E++)for(let P=0;P<=E;P++)if(this.get(E,P)!==this.get(P,E))return!1;return!0}return!1}isDistance(){if(!this.isSymmetric())return!1;for(let E=0;E<this.rows;E++)if(this.get(E,E)!==0)return!1;return!0}isEchelonForm(){let E=0,P=0,y=-1,A=!0,F=!1;for(;E<this.rows&&A;){for(P=0,F=!1;P<this.columns&&F===!1;)this.get(E,P)===0?P++:this.get(E,P)===1&&P>y?(F=!0,y=P):(A=!1,F=!0);E++}return A}isReducedEchelonForm(){let E=0,P=0,y=-1,A=!0,F=!1;for(;E<this.rows&&A;){for(P=0,F=!1;P<this.columns&&F===!1;)this.get(E,P)===0?P++:this.get(E,P)===1&&P>y?(F=!0,y=P):(A=!1,F=!0);for(let ue=P+1;ue<this.rows;ue++)this.get(E,ue)!==0&&(A=!1);E++}return A}echelonForm(){let E=this.clone(),P=0,y=0;for(;P<E.rows&&y<E.columns;){let A=P;for(let F=P;F<E.rows;F++)E.get(F,y)>E.get(A,y)&&(A=F);if(E.get(A,y)===0)y++;else{E.swapRows(P,A);let F=E.get(P,y);for(let ue=y;ue<E.columns;ue++)E.set(P,ue,E.get(P,ue)/F);for(let ue=P+1;ue<E.rows;ue++){let ce=E.get(ue,y)/E.get(P,y);E.set(ue,y,0);for(let pe=y+1;pe<E.columns;pe++)E.set(ue,pe,E.get(ue,pe)-E.get(P,pe)*ce)}P++,y++}}return E}reducedEchelonForm(){let E=this.echelonForm(),P=E.columns,y=E.rows,A=y-1;for(;A>=0;)if(E.maxRow(A)===0)A--;else{let F=0,ue=!1;for(;F<y&&ue===!1;)E.get(A,F)===1?ue=!0:F++;for(let ce=0;ce<A;ce++){let pe=E.get(ce,F);for(let ge=F;ge<P;ge++){let _e=E.get(ce,ge)-pe*E.get(A,ge);E.set(ce,ge,_e)}}A--}return E}set(){throw new Error("set method is unimplemented")}get(){throw new Error("get method is unimplemented")}repeat(E={}){if(typeof E!="object")throw new TypeError("options must be an object");const{rows:P=1,columns:y=1}=E;if(!Number.isInteger(P)||P<=0)throw new TypeError("rows must be a positive integer");if(!Number.isInteger(y)||y<=0)throw new TypeError("columns must be a positive integer");let A=new ft(this.rows*P,this.columns*y);for(let F=0;F<P;F++)for(let ue=0;ue<y;ue++)A.setSubMatrix(this,this.rows*F,this.columns*ue);return A}fill(E){for(let P=0;P<this.rows;P++)for(let y=0;y<this.columns;y++)this.set(P,y,E);return this}neg(){return this.mulS(-1)}getRow(E){xe(this,E);let P=[];for(let y=0;y<this.columns;y++)P.push(this.get(E,y));return P}getRowVector(E){return ft.rowVector(this.getRow(E))}setRow(E,P){xe(this,E),P=Le(this,P);for(let y=0;y<this.columns;y++)this.set(E,y,P[y]);return this}swapRows(E,P){xe(this,E),xe(this,P);for(let y=0;y<this.columns;y++){let A=this.get(E,y);this.set(E,y,this.get(P,y)),this.set(P,y,A)}return this}getColumn(E){ke(this,E);let P=[];for(let y=0;y<this.rows;y++)P.push(this.get(y,E));return P}getColumnVector(E){return ft.columnVector(this.getColumn(E))}setColumn(E,P){ke(this,E),P=Ie(this,P);for(let y=0;y<this.rows;y++)this.set(y,E,P[y]);return this}swapColumns(E,P){ke(this,E),ke(this,P);for(let y=0;y<this.rows;y++){let A=this.get(y,E);this.set(y,E,this.get(y,P)),this.set(y,P,A)}return this}addRowVector(E){E=Le(this,E);for(let P=0;P<this.rows;P++)for(let y=0;y<this.columns;y++)this.set(P,y,this.get(P,y)+E[y]);return this}subRowVector(E){E=Le(this,E);for(let P=0;P<this.rows;P++)for(let y=0;y<this.columns;y++)this.set(P,y,this.get(P,y)-E[y]);return this}mulRowVector(E){E=Le(this,E);for(let P=0;P<this.rows;P++)for(let y=0;y<this.columns;y++)this.set(P,y,this.get(P,y)*E[y]);return this}divRowVector(E){E=Le(this,E);for(let P=0;P<this.rows;P++)for(let y=0;y<this.columns;y++)this.set(P,y,this.get(P,y)/E[y]);return this}addColumnVector(E){E=Ie(this,E);for(let P=0;P<this.rows;P++)for(let y=0;y<this.columns;y++)this.set(P,y,this.get(P,y)+E[P]);return this}subColumnVector(E){E=Ie(this,E);for(let P=0;P<this.rows;P++)for(let y=0;y<this.columns;y++)this.set(P,y,this.get(P,y)-E[P]);return this}mulColumnVector(E){E=Ie(this,E);for(let P=0;P<this.rows;P++)for(let y=0;y<this.columns;y++)this.set(P,y,this.get(P,y)*E[P]);return this}divColumnVector(E){E=Ie(this,E);for(let P=0;P<this.rows;P++)for(let y=0;y<this.columns;y++)this.set(P,y,this.get(P,y)/E[P]);return this}mulRow(E,P){xe(this,E);for(let y=0;y<this.columns;y++)this.set(E,y,this.get(E,y)*P);return this}mulColumn(E,P){ke(this,E);for(let y=0;y<this.rows;y++)this.set(y,E,this.get(y,E)*P);return this}max(E){if(this.isEmpty())return NaN;switch(E){case"row":{const P=new Array(this.rows).fill(Number.NEGATIVE_INFINITY);for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.get(y,A)>P[y]&&(P[y]=this.get(y,A));return P}case"column":{const P=new Array(this.columns).fill(Number.NEGATIVE_INFINITY);for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.get(y,A)>P[A]&&(P[A]=this.get(y,A));return P}case void 0:{let P=this.get(0,0);for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.get(y,A)>P&&(P=this.get(y,A));return P}default:throw new Error(`invalid option: ${E}`)}}maxIndex(){tr(this);let E=this.get(0,0),P=[0,0];for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.get(y,A)>E&&(E=this.get(y,A),P[0]=y,P[1]=A);return P}min(E){if(this.isEmpty())return NaN;switch(E){case"row":{const P=new Array(this.rows).fill(Number.POSITIVE_INFINITY);for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.get(y,A)<P[y]&&(P[y]=this.get(y,A));return P}case"column":{const P=new Array(this.columns).fill(Number.POSITIVE_INFINITY);for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.get(y,A)<P[A]&&(P[A]=this.get(y,A));return P}case void 0:{let P=this.get(0,0);for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.get(y,A)<P&&(P=this.get(y,A));return P}default:throw new Error(`invalid option: ${E}`)}}minIndex(){tr(this);let E=this.get(0,0),P=[0,0];for(let y=0;y<this.rows;y++)for(let A=0;A<this.columns;A++)this.get(y,A)<E&&(E=this.get(y,A),P[0]=y,P[1]=A);return P}maxRow(E){if(xe(this,E),this.isEmpty())return NaN;let P=this.get(E,0);for(let y=1;y<this.columns;y++)this.get(E,y)>P&&(P=this.get(E,y));return P}maxRowIndex(E){xe(this,E),tr(this);let P=this.get(E,0),y=[E,0];for(let A=1;A<this.columns;A++)this.get(E,A)>P&&(P=this.get(E,A),y[1]=A);return y}minRow(E){if(xe(this,E),this.isEmpty())return NaN;let P=this.get(E,0);for(let y=1;y<this.columns;y++)this.get(E,y)<P&&(P=this.get(E,y));return P}minRowIndex(E){xe(this,E),tr(this);let P=this.get(E,0),y=[E,0];for(let A=1;A<this.columns;A++)this.get(E,A)<P&&(P=this.get(E,A),y[1]=A);return y}maxColumn(E){if(ke(this,E),this.isEmpty())return NaN;let P=this.get(0,E);for(let y=1;y<this.rows;y++)this.get(y,E)>P&&(P=this.get(y,E));return P}maxColumnIndex(E){ke(this,E),tr(this);let P=this.get(0,E),y=[0,E];for(let A=1;A<this.rows;A++)this.get(A,E)>P&&(P=this.get(A,E),y[0]=A);return y}minColumn(E){if(ke(this,E),this.isEmpty())return NaN;let P=this.get(0,E);for(let y=1;y<this.rows;y++)this.get(y,E)<P&&(P=this.get(y,E));return P}minColumnIndex(E){ke(this,E),tr(this);let P=this.get(0,E),y=[0,E];for(let A=1;A<this.rows;A++)this.get(A,E)<P&&(P=this.get(A,E),y[0]=A);return y}diag(){let E=Math.min(this.rows,this.columns),P=[];for(let y=0;y<E;y++)P.push(this.get(y,y));return P}norm(E="frobenius"){switch(E){case"max":return this.max();case"frobenius":return Math.sqrt(this.dot(this));default:throw new RangeError(`unknown norm type: ${E}`)}}cumulativeSum(){let E=0;for(let P=0;P<this.rows;P++)for(let y=0;y<this.columns;y++)E+=this.get(P,y),this.set(P,y,E);return this}dot(E){wt.isMatrix(E)&&(E=E.to1DArray());let P=this.to1DArray();if(P.length!==E.length)throw new RangeError("vectors do not have the same size");let y=0;for(let A=0;A<P.length;A++)y+=P[A]*E[A];return y}mmul(E){E=ft.checkMatrix(E);let P=this.rows,y=this.columns,A=E.columns,F=new ft(P,A),ue=new Float64Array(y);for(let ce=0;ce<A;ce++){for(let pe=0;pe<y;pe++)ue[pe]=E.get(pe,ce);for(let pe=0;pe<P;pe++){let ge=0;for(let _e=0;_e<y;_e++)ge+=this.get(pe,_e)*ue[_e];F.set(pe,ce,ge)}}return F}mpow(E){if(!this.isSquare())throw new RangeError("Matrix must be square");if(!Number.isInteger(E)||E<0)throw new RangeError("Exponent must be a non-negative integer");let P=ft.eye(this.rows),y=this;for(let A=E;A>1;A/=2)A&1&&(P=P.mmul(y)),y=y.mmul(y);return P}strassen2x2(E){E=ft.checkMatrix(E);let P=new ft(2,2);const y=this.get(0,0),A=E.get(0,0),F=this.get(0,1),ue=E.get(0,1),ce=this.get(1,0),pe=E.get(1,0),ge=this.get(1,1),_e=E.get(1,1),we=(y+ge)*(A+_e),Xe=(ce+ge)*A,et=y*(ue-_e),Fe=ge*(pe-A),Ue=(y+F)*_e,dt=(ce-y)*(A+ue),Se=(F-ge)*(pe+_e),Ze=we+Fe-Ue+Se,Pt=et+Ue,Lt=Xe+Fe,Bt=we-Xe+et+dt;return P.set(0,0,Ze),P.set(0,1,Pt),P.set(1,0,Lt),P.set(1,1,Bt),P}strassen3x3(E){E=ft.checkMatrix(E);let P=new ft(3,3);const y=this.get(0,0),A=this.get(0,1),F=this.get(0,2),ue=this.get(1,0),ce=this.get(1,1),pe=this.get(1,2),ge=this.get(2,0),_e=this.get(2,1),we=this.get(2,2),Xe=E.get(0,0),et=E.get(0,1),Fe=E.get(0,2),Ue=E.get(1,0),dt=E.get(1,1),Se=E.get(1,2),Ze=E.get(2,0),Pt=E.get(2,1),Lt=E.get(2,2),Bt=(y+A+F-ue-ce-_e-we)*dt,In=(y-ue)*(-et+dt),At=ce*(-Xe+et+Ue-dt-Se-Ze+Lt),kt=(-y+ue+ce)*(Xe-et+dt),Sn=(ue+ce)*(-Xe+et),Ce=y*Xe,Qe=(-y+ge+_e)*(Xe-Fe+Se),gt=(-y+ge)*(Fe-Se),$e=(ge+_e)*(-Xe+Fe),Gn=(y+A+F-ce-pe-ge-_e)*Se,mn=_e*(-Xe+Fe+Ue-dt-Se-Ze+Pt),mt=(-F+_e+we)*(dt+Ze-Pt),Tn=(F-we)*(dt-Pt),_n=F*Ze,di=(_e+we)*(-Ze+Pt),Hn=(-F+ce+pe)*(Se+Ze-Lt),Zn=(F-pe)*(Se-Lt),Oi=(ce+pe)*(-Ze+Lt),Ot=A*Ue,wr=pe*Pt,Lr=ue*Fe,Ut=ge*et,gn=we*Lt,rh=Ce+_n+Ot,pg=Bt+kt+Sn+Ce+mt+_n+di,Mu=Ce+Qe+$e+Gn+_n+Hn+Oi,Su=In+At+kt+Ce+_n+Hn+Zn,mg=In+kt+Sn+Ce+wr,Dr=_n+Hn+Zn+Oi+Lr,vi=Ce+Qe+gt+mn+mt+Tn+_n,Tu=mt+Tn+_n+di+Ut,Au=Ce+Qe+gt+$e+gn;return P.set(0,0,rh),P.set(0,1,pg),P.set(0,2,Mu),P.set(1,0,Su),P.set(1,1,mg),P.set(1,2,Dr),P.set(2,0,vi),P.set(2,1,Tu),P.set(2,2,Au),P}mmulStrassen(E){E=ft.checkMatrix(E);let P=this.clone(),y=P.rows,A=P.columns,F=E.rows,ue=E.columns;A!==F&&console.warn(`Multiplying ${y} x ${A} and ${F} x ${ue} matrix: dimensions do not match.`);function ce(we,Xe,et){let Fe=we.rows,Ue=we.columns;if(Fe===Xe&&Ue===et)return we;{let dt=wt.zeros(Xe,et);return dt=dt.setSubMatrix(we,0,0),dt}}let pe=Math.max(y,F),ge=Math.max(A,ue);P=ce(P,pe,ge),E=ce(E,pe,ge);function _e(we,Xe,et,Fe){if(et<=512||Fe<=512)return we.mmul(Xe);et%2===1&&Fe%2===1?(we=ce(we,et+1,Fe+1),Xe=ce(Xe,et+1,Fe+1)):et%2===1?(we=ce(we,et+1,Fe),Xe=ce(Xe,et+1,Fe)):Fe%2===1&&(we=ce(we,et,Fe+1),Xe=ce(Xe,et,Fe+1));let Ue=parseInt(we.rows/2,10),dt=parseInt(we.columns/2,10),Se=we.subMatrix(0,Ue-1,0,dt-1),Ze=Xe.subMatrix(0,Ue-1,0,dt-1),Pt=we.subMatrix(0,Ue-1,dt,we.columns-1),Lt=Xe.subMatrix(0,Ue-1,dt,Xe.columns-1),Bt=we.subMatrix(Ue,we.rows-1,0,dt-1),In=Xe.subMatrix(Ue,Xe.rows-1,0,dt-1),At=we.subMatrix(Ue,we.rows-1,dt,we.columns-1),kt=Xe.subMatrix(Ue,Xe.rows-1,dt,Xe.columns-1),Sn=_e(wt.add(Se,At),wt.add(Ze,kt),Ue,dt),Ce=_e(wt.add(Bt,At),Ze,Ue,dt),Qe=_e(Se,wt.sub(Lt,kt),Ue,dt),gt=_e(At,wt.sub(In,Ze),Ue,dt),$e=_e(wt.add(Se,Pt),kt,Ue,dt),Gn=_e(wt.sub(Bt,Se),wt.add(Ze,Lt),Ue,dt),mn=_e(wt.sub(Pt,At),wt.add(In,kt),Ue,dt),mt=wt.add(Sn,gt);mt.sub($e),mt.add(mn);let Tn=wt.add(Qe,$e),_n=wt.add(Ce,gt),di=wt.sub(Sn,Ce);di.add(Qe),di.add(Gn);let Hn=wt.zeros(2*mt.rows,2*mt.columns);return Hn=Hn.setSubMatrix(mt,0,0),Hn=Hn.setSubMatrix(Tn,mt.rows,0),Hn=Hn.setSubMatrix(_n,0,mt.columns),Hn=Hn.setSubMatrix(di,mt.rows,mt.columns),Hn.subMatrix(0,et-1,0,Fe-1)}return _e(P,E,pe,ge)}scaleRows(E={}){if(typeof E!="object")throw new TypeError("options must be an object");const{min:P=0,max:y=1}=E;if(!Number.isFinite(P))throw new TypeError("min must be a number");if(!Number.isFinite(y))throw new TypeError("max must be a number");if(P>=y)throw new RangeError("min must be smaller than max");let A=new ft(this.rows,this.columns);for(let F=0;F<this.rows;F++){const ue=this.getRow(F);ue.length>0&&he(ue,{min:P,max:y,output:ue}),A.setRow(F,ue)}return A}scaleColumns(E={}){if(typeof E!="object")throw new TypeError("options must be an object");const{min:P=0,max:y=1}=E;if(!Number.isFinite(P))throw new TypeError("min must be a number");if(!Number.isFinite(y))throw new TypeError("max must be a number");if(P>=y)throw new RangeError("min must be smaller than max");let A=new ft(this.rows,this.columns);for(let F=0;F<this.columns;F++){const ue=this.getColumn(F);ue.length&&he(ue,{min:P,max:y,output:ue}),A.setColumn(F,ue)}return A}flipRows(){const E=Math.ceil(this.columns/2);for(let P=0;P<this.rows;P++)for(let y=0;y<E;y++){let A=this.get(P,y),F=this.get(P,this.columns-1-y);this.set(P,y,F),this.set(P,this.columns-1-y,A)}return this}flipColumns(){const E=Math.ceil(this.rows/2);for(let P=0;P<this.columns;P++)for(let y=0;y<E;y++){let A=this.get(y,P),F=this.get(this.rows-1-y,P);this.set(y,P,F),this.set(this.rows-1-y,P,A)}return this}kroneckerProduct(E){E=ft.checkMatrix(E);let P=this.rows,y=this.columns,A=E.rows,F=E.columns,ue=new ft(P*A,y*F);for(let ce=0;ce<P;ce++)for(let pe=0;pe<y;pe++)for(let ge=0;ge<A;ge++)for(let _e=0;_e<F;_e++)ue.set(A*ce+ge,F*pe+_e,this.get(ce,pe)*E.get(ge,_e));return ue}kroneckerSum(E){if(E=ft.checkMatrix(E),!this.isSquare()||!E.isSquare())throw new Error("Kronecker Sum needs two Square Matrices");let P=this.rows,y=E.rows,A=this.kroneckerProduct(ft.eye(y,y)),F=ft.eye(P,P).kroneckerProduct(E);return A.add(F)}transpose(){let E=new ft(this.columns,this.rows);for(let P=0;P<this.rows;P++)for(let y=0;y<this.columns;y++)E.set(y,P,this.get(P,y));return E}sortRows(E=It){for(let P=0;P<this.rows;P++)this.setRow(P,this.getRow(P).sort(E));return this}sortColumns(E=It){for(let P=0;P<this.columns;P++)this.setColumn(P,this.getColumn(P).sort(E));return this}subMatrix(E,P,y,A){at(this,E,P,y,A);let F=new ft(P-E+1,A-y+1);for(let ue=E;ue<=P;ue++)for(let ce=y;ce<=A;ce++)F.set(ue-E,ce-y,this.get(ue,ce));return F}subMatrixRow(E,P,y){if(P===void 0&&(P=0),y===void 0&&(y=this.columns-1),P>y||P<0||P>=this.columns||y<0||y>=this.columns)throw new RangeError("Argument out of range");let A=new ft(E.length,y-P+1);for(let F=0;F<E.length;F++)for(let ue=P;ue<=y;ue++){if(E[F]<0||E[F]>=this.rows)throw new RangeError(`Row index out of range: ${E[F]}`);A.set(F,ue-P,this.get(E[F],ue))}return A}subMatrixColumn(E,P,y){if(P===void 0&&(P=0),y===void 0&&(y=this.rows-1),P>y||P<0||P>=this.rows||y<0||y>=this.rows)throw new RangeError("Argument out of range");let A=new ft(y-P+1,E.length);for(let F=0;F<E.length;F++)for(let ue=P;ue<=y;ue++){if(E[F]<0||E[F]>=this.columns)throw new RangeError(`Column index out of range: ${E[F]}`);A.set(ue-P,F,this.get(ue,E[F]))}return A}setSubMatrix(E,P,y){if(E=ft.checkMatrix(E),E.isEmpty())return this;let A=P+E.rows-1,F=y+E.columns-1;at(this,P,A,y,F);for(let ue=0;ue<E.rows;ue++)for(let ce=0;ce<E.columns;ce++)this.set(P+ue,y+ce,E.get(ue,ce));return this}selection(E,P){Ye(this,E),Je(this,P);let y=new ft(E.length,P.length);for(let A=0;A<E.length;A++){let F=E[A];for(let ue=0;ue<P.length;ue++){let ce=P[ue];y.set(A,ue,this.get(F,ce))}}return y}trace(){let E=Math.min(this.rows,this.columns),P=0;for(let y=0;y<E;y++)P+=this.get(y,y);return P}clone(){return this.constructor.copy(this,new ft(this.rows,this.columns))}static copy(E,P){for(const[y,A,F]of E.entries())P.set(y,A,F);return P}sum(E){switch(E){case"row":return Wr(this);case"column":return Ga(this);case void 0:return cs(this);default:throw new Error(`invalid option: ${E}`)}}product(E){switch(E){case"row":return Me(this);case"column":return De(this);case void 0:return ze(this);default:throw new Error(`invalid option: ${E}`)}}mean(E){const P=this.sum(E);switch(E){case"row":{for(let y=0;y<this.rows;y++)P[y]/=this.columns;return P}case"column":{for(let y=0;y<this.columns;y++)P[y]/=this.rows;return P}case void 0:return P/this.size;default:throw new Error(`invalid option: ${E}`)}}variance(E,P={}){if(typeof E=="object"&&(P=E,E=void 0),typeof P!="object")throw new TypeError("options must be an object");const{unbiased:y=!0,mean:A=this.mean(E)}=P;if(typeof y!="boolean")throw new TypeError("unbiased must be a boolean");switch(E){case"row":{if(!fe.isAnyArray(A))throw new TypeError("mean must be an array");return me(this,y,A)}case"column":{if(!fe.isAnyArray(A))throw new TypeError("mean must be an array");return Te(this,y,A)}case void 0:{if(typeof A!="number")throw new TypeError("mean must be a number");return Ae(this,y,A)}default:throw new Error(`invalid option: ${E}`)}}standardDeviation(E,P){typeof E=="object"&&(P=E,E=void 0);const y=this.variance(E,P);if(E===void 0)return Math.sqrt(y);for(let A=0;A<y.length;A++)y[A]=Math.sqrt(y[A]);return y}center(E,P={}){if(typeof E=="object"&&(P=E,E=void 0),typeof P!="object")throw new TypeError("options must be an object");const{center:y=this.mean(E)}=P;switch(E){case"row":{if(!fe.isAnyArray(y))throw new TypeError("center must be an array");return He(this,y),this}case"column":{if(!fe.isAnyArray(y))throw new TypeError("center must be an array");return xt(this,y),this}case void 0:{if(typeof y!="number")throw new TypeError("center must be a number");return Ft(this,y),this}default:throw new Error(`invalid option: ${E}`)}}scale(E,P={}){if(typeof E=="object"&&(P=E,E=void 0),typeof P!="object")throw new TypeError("options must be an object");let y=P.scale;switch(E){case"row":{if(y===void 0)y=St(this);else if(!fe.isAnyArray(y))throw new TypeError("scale must be an array");return Yt(this,y),this}case"column":{if(y===void 0)y=Un(this);else if(!fe.isAnyArray(y))throw new TypeError("scale must be an array");return jn(this,y),this}case void 0:{if(y===void 0)y=Dt(this);else if(typeof y!="number")throw new TypeError("scale must be a number");return Nt(this,y),this}default:throw new Error(`invalid option: ${E}`)}}toString(E){return ye(this,E)}[Symbol.iterator](){return this.entries()}*entries(){for(let E=0;E<this.rows;E++)for(let P=0;P<this.columns;P++)yield[E,P,this.get(E,P)]}*values(){for(let E=0;E<this.rows;E++)for(let P=0;P<this.columns;P++)yield this.get(E,P)}}wt.prototype.klass="Matrix",typeof Symbol!="undefined"&&(wt.prototype[Symbol.for("nodejs.util.inspect.custom")]=le);function It($,E){return $-E}function Sr($){return $.every(E=>typeof E=="number")}wt.random=wt.rand,wt.randomInt=wt.randInt,wt.diagonal=wt.diag,wt.prototype.diagonal=wt.prototype.diag,wt.identity=wt.eye,wt.prototype.negate=wt.prototype.neg,wt.prototype.tensorProduct=wt.prototype.kroneckerProduct;const hs=class Gy extends wt{constructor(E,P){if(super(),_(this,V),L(this,"data"),Gy.isMatrix(E))N(this,V,ne).call(this,E.rows,E.columns),Gy.copy(E,this);else if(Number.isInteger(E)&&E>=0)N(this,V,ne).call(this,E,P);else if(fe.isAnyArray(E)){const y=E;if(E=y.length,P=E?y[0].length:0,typeof P!="number")throw new TypeError("Data must be a 2D array with at least one element");this.data=[];for(let A=0;A<E;A++){if(y[A].length!==P)throw new RangeError("Inconsistent array dimensions");if(!Sr(y[A]))throw new TypeError("Input data contains non-numeric values");this.data.push(Float64Array.from(y[A]))}this.rows=E,this.columns=P}else throw new TypeError("First argument must be a positive number or an array")}set(E,P,y){return this.data[E][P]=y,this}get(E,P){return this.data[E][P]}removeRow(E){return xe(this,E),this.data.splice(E,1),this.rows-=1,this}addRow(E,P){return P===void 0&&(P=E,E=this.rows),xe(this,E,!0),P=Float64Array.from(Le(this,P)),this.data.splice(E,0,P),this.rows+=1,this}removeColumn(E){ke(this,E);for(let P=0;P<this.rows;P++){const y=new Float64Array(this.columns-1);for(let A=0;A<E;A++)y[A]=this.data[P][A];for(let A=E+1;A<this.columns;A++)y[A-1]=this.data[P][A];this.data[P]=y}return this.columns-=1,this}addColumn(E,P){typeof P=="undefined"&&(P=E,E=this.columns),ke(this,E,!0),P=Ie(this,P);for(let y=0;y<this.rows;y++){const A=new Float64Array(this.columns+1);let F=0;for(;F<E;F++)A[F]=this.data[y][F];for(A[F++]=P[y];F<this.columns+1;F++)A[F]=this.data[y][F-1];this.data[y]=A}return this.columns+=1,this}};V=new WeakSet,ne=function($,E){if(this.data=[],Number.isInteger(E)&&E>=0)for(let P=0;P<$;P++)this.data.push(new Float64Array(E));else throw new TypeError("nColumns must be a positive integer");this.rows=$,this.columns=E};let ft=hs;Pe(wt,ft);const po=class Hy extends wt{constructor(E){if(super(),_(this,ee),ft.isMatrix(E)){if(!E.isSymmetric())throw new TypeError("not symmetric data");j(this,ee,ft.copy(E,new ft(E.rows,E.rows)))}else if(Number.isInteger(E)&&E>=0)j(this,ee,new ft(E,E));else if(j(this,ee,new ft(E)),!this.isSymmetric())throw new TypeError("not symmetric data")}get size(){return D(this,ee).size}get rows(){return D(this,ee).rows}get columns(){return D(this,ee).columns}get diagonalSize(){return this.rows}static isSymmetricMatrix(E){return ft.isMatrix(E)&&E.klassType==="SymmetricMatrix"}static zeros(E){return new this(E)}static ones(E){return new this(E).fill(1)}clone(){const E=new Hy(this.diagonalSize);for(const[P,y,A]of this.upperRightEntries())E.set(P,y,A);return E}toMatrix(){return new ft(this)}get(E,P){return D(this,ee).get(E,P)}set(E,P,y){return D(this,ee).set(E,P,y),D(this,ee).set(P,E,y),this}removeCross(E){return D(this,ee).removeRow(E),D(this,ee).removeColumn(E),this}addCross(E,P){P===void 0&&(P=E,E=this.diagonalSize);const y=P.slice();return y.splice(E,1),D(this,ee).addRow(E,y),D(this,ee).addColumn(E,P),this}applyMask(E){if(E.length!==this.diagonalSize)throw new RangeError("Mask size do not match with matrix size");const P=[];for(const[y,A]of E.entries())A||P.push(y);P.reverse();for(const y of P)this.removeCross(y);return this}toCompact(){const{diagonalSize:E}=this,P=new Array(E*(E+1)/2);for(let y=0,A=0,F=0;F<P.length;F++)P[F]=this.get(A,y),++y>=E&&(y=++A);return P}static fromCompact(E){const P=E.length,y=(Math.sqrt(8*P+1)-1)/2;if(!Number.isInteger(y))throw new TypeError(`This array is not a compact representation of a Symmetric Matrix, ${JSON.stringify(E)}`);const A=new Hy(y);for(let F=0,ue=0,ce=0;ce<P;ce++)A.set(F,ue,E[ce]),++F>=y&&(F=++ue);return A}*upperRightEntries(){for(let E=0,P=0;E<this.diagonalSize;void 0){const y=this.get(E,P);yield[E,P,y],++P>=this.diagonalSize&&(P=++E)}}*upperRightValues(){for(let E=0,P=0;E<this.diagonalSize;void 0)yield this.get(E,P),++P>=this.diagonalSize&&(P=++E)}};ee=new WeakMap;let Qr=po;Qr.prototype.klassType="SymmetricMatrix";class fn extends Qr{static isDistanceMatrix(E){return Qr.isSymmetricMatrix(E)&&E.klassSubType==="DistanceMatrix"}constructor(E){if(super(E),!this.isDistance())throw new TypeError("Provided arguments do no produce a distance matrix")}set(E,P,y){return E===P&&(y=0),super.set(E,P,y)}addCross(E,P){return P===void 0&&(P=E,E=this.diagonalSize),P=P.slice(),P[E]=0,super.addCross(E,P)}toSymmetricMatrix(){return new Qr(this)}clone(){const E=new fn(this.diagonalSize);for(const[P,y,A]of this.upperRightEntries())P!==y&&E.set(P,y,A);return E}toCompact(){const{diagonalSize:E}=this,P=(E-1)*E/2,y=new Array(P);for(let A=1,F=0,ue=0;ue<y.length;ue++)y[ue]=this.get(F,A),++A>=E&&(A=++F+1);return y}static fromCompact(E){const P=E.length;if(P===0)return new this(0);const y=(Math.sqrt(8*P+1)+1)/2;if(!Number.isInteger(y))throw new TypeError(`This array is not a compact representation of a DistanceMatrix, ${JSON.stringify(E)}`);const A=new this(y);for(let F=1,ue=0,ce=0;ce<P;ce++)A.set(F,ue,E[ce]),++F>=y&&(F=++ue+1);return A}}fn.prototype.klassSubType="DistanceMatrix";class dn extends wt{constructor(E,P,y){super(),this.matrix=E,this.rows=P,this.columns=y}}class Yi extends dn{constructor(E,P){ke(E,P),super(E,E.rows,1),this.column=P}set(E,P,y){return this.matrix.set(E,this.column,y),this}get(E){return this.matrix.get(E,this.column)}}class Ha extends dn{constructor(E,P){Je(E,P),super(E,E.rows,P.length),this.columnIndices=P}set(E,P,y){return this.matrix.set(E,this.columnIndices[P],y),this}get(E,P){return this.matrix.get(E,this.columnIndices[P])}}class yu extends dn{constructor(E){super(E,E.rows,E.columns)}set(E,P,y){return this.matrix.set(E,this.columns-P-1,y),this}get(E,P){return this.matrix.get(E,this.columns-P-1)}}class fs extends dn{constructor(E){super(E,E.rows,E.columns)}set(E,P,y){return this.matrix.set(this.rows-E-1,P,y),this}get(E,P){return this.matrix.get(this.rows-E-1,P)}}class bu extends dn{constructor(E,P){xe(E,P),super(E,1,E.columns),this.row=P}set(E,P,y){return this.matrix.set(this.row,P,y),this}get(E,P){return this.matrix.get(this.row,P)}}class Dn extends dn{constructor(E,P){Ye(E,P),super(E,P.length,E.columns),this.rowIndices=P}set(E,P,y){return this.matrix.set(this.rowIndices[E],P,y),this}get(E,P){return this.matrix.get(this.rowIndices[E],P)}}class ds extends dn{constructor(E,P,y){Ye(E,P),Je(E,y),super(E,P.length,y.length),this.rowIndices=P,this.columnIndices=y}set(E,P,y){return this.matrix.set(this.rowIndices[E],this.columnIndices[P],y),this}get(E,P){return this.matrix.get(this.rowIndices[E],this.columnIndices[P])}}class mo extends dn{constructor(E,P,y,A,F){at(E,P,y,A,F),super(E,y-P+1,F-A+1),this.startRow=P,this.startColumn=A}set(E,P,y){return this.matrix.set(this.startRow+E,this.startColumn+P,y),this}get(E,P){return this.matrix.get(this.startRow+E,this.startColumn+P)}}class ga extends dn{constructor(E){super(E,E.columns,E.rows)}set(E,P,y){return this.matrix.set(P,E,y),this}get(E,P){return this.matrix.get(P,E)}}class pa extends wt{constructor(E,P={}){const{rows:y=1}=P;if(E.length%y!==0)throw new Error("the data length is not divisible by the number of rows");super(),this.rows=y,this.columns=E.length/y,this.data=E}set(E,P,y){let A=this._calculateIndex(E,P);return this.data[A]=y,this}get(E,P){let y=this._calculateIndex(E,P);return this.data[y]}_calculateIndex(E,P){return E*this.columns+P}}class fi extends wt{constructor(E){super(),this.data=E,this.rows=E.length,this.columns=E[0].length}set(E,P,y){return this.data[E][P]=y,this}get(E,P){return this.data[E][P]}}function Xy($,E){if(fe.isAnyArray($))return $[0]&&fe.isAnyArray($[0])?new fi($):new pa($,E);throw new Error("the argument is not an array")}class xu{constructor(E){E=fi.checkMatrix(E);let P=E.clone(),y=P.rows,A=P.columns,F=new Float64Array(y),ue=1,ce,pe,ge,_e,we,Xe,et,Fe,Ue;for(ce=0;ce<y;ce++)F[ce]=ce;for(Fe=new Float64Array(y),pe=0;pe<A;pe++){for(ce=0;ce<y;ce++)Fe[ce]=P.get(ce,pe);for(ce=0;ce<y;ce++){for(Ue=Math.min(ce,pe),we=0,ge=0;ge<Ue;ge++)we+=P.get(ce,ge)*Fe[ge];Fe[ce]-=we,P.set(ce,pe,Fe[ce])}for(_e=pe,ce=pe+1;ce<y;ce++)Math.abs(Fe[ce])>Math.abs(Fe[_e])&&(_e=ce);if(_e!==pe){for(ge=0;ge<A;ge++)Xe=P.get(_e,ge),P.set(_e,ge,P.get(pe,ge)),P.set(pe,ge,Xe);et=F[_e],F[_e]=F[pe],F[pe]=et,ue=-ue}if(pe<y&&P.get(pe,pe)!==0)for(ce=pe+1;ce<y;ce++)P.set(ce,pe,P.get(ce,pe)/P.get(pe,pe))}this.LU=P,this.pivotVector=F,this.pivotSign=ue}isSingular(){let E=this.LU,P=E.columns;for(let y=0;y<P;y++)if(E.get(y,y)===0)return!0;return!1}solve(E){E=ft.checkMatrix(E);let P=this.LU;if(P.rows!==E.rows)throw new Error("Invalid matrix dimensions");if(this.isSingular())throw new Error("LU matrix is singular");let A=E.columns,F=E.subMatrixRow(this.pivotVector,0,A-1),ue=P.columns,ce,pe,ge;for(ge=0;ge<ue;ge++)for(ce=ge+1;ce<ue;ce++)for(pe=0;pe<A;pe++)F.set(ce,pe,F.get(ce,pe)-F.get(ge,pe)*P.get(ce,ge));for(ge=ue-1;ge>=0;ge--){for(pe=0;pe<A;pe++)F.set(ge,pe,F.get(ge,pe)/P.get(ge,ge));for(ce=0;ce<ge;ce++)for(pe=0;pe<A;pe++)F.set(ce,pe,F.get(ce,pe)-F.get(ge,pe)*P.get(ce,ge))}return F}get determinant(){let E=this.LU;if(!E.isSquare())throw new Error("Matrix must be square");let P=this.pivotSign,y=E.columns;for(let A=0;A<y;A++)P*=E.get(A,A);return P}get lowerTriangularMatrix(){let E=this.LU,P=E.rows,y=E.columns,A=new ft(P,y);for(let F=0;F<P;F++)for(let ue=0;ue<y;ue++)F>ue?A.set(F,ue,E.get(F,ue)):F===ue?A.set(F,ue,1):A.set(F,ue,0);return A}get upperTriangularMatrix(){let E=this.LU,P=E.rows,y=E.columns,A=new ft(P,y);for(let F=0;F<P;F++)for(let ue=0;ue<y;ue++)F<=ue?A.set(F,ue,E.get(F,ue)):A.set(F,ue,0);return A}get pivotPermutationVector(){return Array.from(this.pivotVector)}}function Xa($,E){let P=0;return Math.abs($)>Math.abs(E)?(P=E/$,Math.abs($)*Math.sqrt(1+P*P)):E!==0?(P=$/E,Math.abs(E)*Math.sqrt(1+P*P)):0}class eh{constructor(E){E=fi.checkMatrix(E);let P=E.clone(),y=E.rows,A=E.columns,F=new Float64Array(A),ue,ce,pe,ge;for(pe=0;pe<A;pe++){let _e=0;for(ue=pe;ue<y;ue++)_e=Xa(_e,P.get(ue,pe));if(_e!==0){for(P.get(pe,pe)<0&&(_e=-_e),ue=pe;ue<y;ue++)P.set(ue,pe,P.get(ue,pe)/_e);for(P.set(pe,pe,P.get(pe,pe)+1),ce=pe+1;ce<A;ce++){for(ge=0,ue=pe;ue<y;ue++)ge+=P.get(ue,pe)*P.get(ue,ce);for(ge=-ge/P.get(pe,pe),ue=pe;ue<y;ue++)P.set(ue,ce,P.get(ue,ce)+ge*P.get(ue,pe))}}F[pe]=-_e}this.QR=P,this.Rdiag=F}solve(E){E=ft.checkMatrix(E);let P=this.QR,y=P.rows;if(E.rows!==y)throw new Error("Matrix row dimensions must agree");if(!this.isFullRank())throw new Error("Matrix is rank deficient");let A=E.columns,F=E.clone(),ue=P.columns,ce,pe,ge,_e;for(ge=0;ge<ue;ge++)for(pe=0;pe<A;pe++){for(_e=0,ce=ge;ce<y;ce++)_e+=P.get(ce,ge)*F.get(ce,pe);for(_e=-_e/P.get(ge,ge),ce=ge;ce<y;ce++)F.set(ce,pe,F.get(ce,pe)+_e*P.get(ce,ge))}for(ge=ue-1;ge>=0;ge--){for(pe=0;pe<A;pe++)F.set(ge,pe,F.get(ge,pe)/this.Rdiag[ge]);for(ce=0;ce<ge;ce++)for(pe=0;pe<A;pe++)F.set(ce,pe,F.get(ce,pe)-F.get(ge,pe)*P.get(ce,ge))}return F.subMatrix(0,ue-1,0,A-1)}isFullRank(){let E=this.QR.columns;for(let P=0;P<E;P++)if(this.Rdiag[P]===0)return!1;return!0}get upperTriangularMatrix(){let E=this.QR,P=E.columns,y=new ft(P,P),A,F;for(A=0;A<P;A++)for(F=0;F<P;F++)A<F?y.set(A,F,E.get(A,F)):A===F?y.set(A,F,this.Rdiag[A]):y.set(A,F,0);return y}get orthogonalMatrix(){let E=this.QR,P=E.rows,y=E.columns,A=new ft(P,y),F,ue,ce,pe;for(ce=y-1;ce>=0;ce--){for(F=0;F<P;F++)A.set(F,ce,0);for(A.set(ce,ce,1),ue=ce;ue<y;ue++)if(E.get(ce,ce)!==0){for(pe=0,F=ce;F<P;F++)pe+=E.get(F,ce)*A.get(F,ue);for(pe=-pe/E.get(ce,ce),F=ce;F<P;F++)A.set(F,ue,A.get(F,ue)+pe*E.get(F,ce))}}return A}}class Rr{constructor(E,P={}){if(E=fi.checkMatrix(E),E.isEmpty())throw new Error("Matrix must be non-empty");let y=E.rows,A=E.columns;const{computeLeftSingularVectors:F=!0,computeRightSingularVectors:ue=!0,autoTranspose:ce=!1}=P;let pe=!!F,ge=!!ue,_e=!1,we;if(y<A)if(!ce)we=E.clone(),console.warn("Computing SVD on a matrix with more columns than rows. Consider enabling autoTranspose");else{we=E.transpose(),y=we.rows,A=we.columns,_e=!0;let Ce=pe;pe=ge,ge=Ce}else we=E.clone();let Xe=Math.min(y,A),et=Math.min(y+1,A),Fe=new Float64Array(et),Ue=new ft(y,Xe),dt=new ft(A,A),Se=new Float64Array(A),Ze=new Float64Array(y),Pt=new Float64Array(et);for(let Ce=0;Ce<et;Ce++)Pt[Ce]=Ce;let Lt=Math.min(y-1,A),Bt=Math.max(0,Math.min(A-2,y)),In=Math.max(Lt,Bt);for(let Ce=0;Ce<In;Ce++){if(Ce<Lt){Fe[Ce]=0;for(let Qe=Ce;Qe<y;Qe++)Fe[Ce]=Xa(Fe[Ce],we.get(Qe,Ce));if(Fe[Ce]!==0){we.get(Ce,Ce)<0&&(Fe[Ce]=-Fe[Ce]);for(let Qe=Ce;Qe<y;Qe++)we.set(Qe,Ce,we.get(Qe,Ce)/Fe[Ce]);we.set(Ce,Ce,we.get(Ce,Ce)+1)}Fe[Ce]=-Fe[Ce]}for(let Qe=Ce+1;Qe<A;Qe++){if(Ce<Lt&&Fe[Ce]!==0){let gt=0;for(let $e=Ce;$e<y;$e++)gt+=we.get($e,Ce)*we.get($e,Qe);gt=-gt/we.get(Ce,Ce);for(let $e=Ce;$e<y;$e++)we.set($e,Qe,we.get($e,Qe)+gt*we.get($e,Ce))}Se[Qe]=we.get(Ce,Qe)}if(pe&&Ce<Lt)for(let Qe=Ce;Qe<y;Qe++)Ue.set(Qe,Ce,we.get(Qe,Ce));if(Ce<Bt){Se[Ce]=0;for(let Qe=Ce+1;Qe<A;Qe++)Se[Ce]=Xa(Se[Ce],Se[Qe]);if(Se[Ce]!==0){Se[Ce+1]<0&&(Se[Ce]=0-Se[Ce]);for(let Qe=Ce+1;Qe<A;Qe++)Se[Qe]/=Se[Ce];Se[Ce+1]+=1}if(Se[Ce]=-Se[Ce],Ce+1<y&&Se[Ce]!==0){for(let Qe=Ce+1;Qe<y;Qe++)Ze[Qe]=0;for(let Qe=Ce+1;Qe<y;Qe++)for(let gt=Ce+1;gt<A;gt++)Ze[Qe]+=Se[gt]*we.get(Qe,gt);for(let Qe=Ce+1;Qe<A;Qe++){let gt=-Se[Qe]/Se[Ce+1];for(let $e=Ce+1;$e<y;$e++)we.set($e,Qe,we.get($e,Qe)+gt*Ze[$e])}}if(ge)for(let Qe=Ce+1;Qe<A;Qe++)dt.set(Qe,Ce,Se[Qe])}}let At=Math.min(A,y+1);if(Lt<A&&(Fe[Lt]=we.get(Lt,Lt)),y<At&&(Fe[At-1]=0),Bt+1<At&&(Se[Bt]=we.get(Bt,At-1)),Se[At-1]=0,pe){for(let Ce=Lt;Ce<Xe;Ce++){for(let Qe=0;Qe<y;Qe++)Ue.set(Qe,Ce,0);Ue.set(Ce,Ce,1)}for(let Ce=Lt-1;Ce>=0;Ce--)if(Fe[Ce]!==0){for(let Qe=Ce+1;Qe<Xe;Qe++){let gt=0;for(let $e=Ce;$e<y;$e++)gt+=Ue.get($e,Ce)*Ue.get($e,Qe);gt=-gt/Ue.get(Ce,Ce);for(let $e=Ce;$e<y;$e++)Ue.set($e,Qe,Ue.get($e,Qe)+gt*Ue.get($e,Ce))}for(let Qe=Ce;Qe<y;Qe++)Ue.set(Qe,Ce,-Ue.get(Qe,Ce));Ue.set(Ce,Ce,1+Ue.get(Ce,Ce));for(let Qe=0;Qe<Ce-1;Qe++)Ue.set(Qe,Ce,0)}else{for(let Qe=0;Qe<y;Qe++)Ue.set(Qe,Ce,0);Ue.set(Ce,Ce,1)}}if(ge)for(let Ce=A-1;Ce>=0;Ce--){if(Ce<Bt&&Se[Ce]!==0)for(let Qe=Ce+1;Qe<A;Qe++){let gt=0;for(let $e=Ce+1;$e<A;$e++)gt+=dt.get($e,Ce)*dt.get($e,Qe);gt=-gt/dt.get(Ce+1,Ce);for(let $e=Ce+1;$e<A;$e++)dt.set($e,Qe,dt.get($e,Qe)+gt*dt.get($e,Ce))}for(let Qe=0;Qe<A;Qe++)dt.set(Qe,Ce,0);dt.set(Ce,Ce,1)}let kt=At-1,Sn=Number.EPSILON;for(;At>0;){let Ce,Qe;for(Ce=At-2;Ce>=-1&&Ce!==-1;Ce--){const gt=Number.MIN_VALUE+Sn*Math.abs(Fe[Ce]+Math.abs(Fe[Ce+1]));if(Math.abs(Se[Ce])<=gt||Number.isNaN(Se[Ce])){Se[Ce]=0;break}}if(Ce===At-2)Qe=4;else{let gt;for(gt=At-1;gt>=Ce&>!==Ce;gt--){let $e=(gt!==At?Math.abs(Se[gt]):0)+(gt!==Ce+1?Math.abs(Se[gt-1]):0);if(Math.abs(Fe[gt])<=Sn*$e){Fe[gt]=0;break}}gt===Ce?Qe=3:gt===At-1?Qe=1:(Qe=2,Ce=gt)}switch(Ce++,Qe){case 1:{let gt=Se[At-2];Se[At-2]=0;for(let $e=At-2;$e>=Ce;$e--){let Gn=Xa(Fe[$e],gt),mn=Fe[$e]/Gn,mt=gt/Gn;if(Fe[$e]=Gn,$e!==Ce&&(gt=-mt*Se[$e-1],Se[$e-1]=mn*Se[$e-1]),ge)for(let Tn=0;Tn<A;Tn++)Gn=mn*dt.get(Tn,$e)+mt*dt.get(Tn,At-1),dt.set(Tn,At-1,-mt*dt.get(Tn,$e)+mn*dt.get(Tn,At-1)),dt.set(Tn,$e,Gn)}break}case 2:{let gt=Se[Ce-1];Se[Ce-1]=0;for(let $e=Ce;$e<At;$e++){let Gn=Xa(Fe[$e],gt),mn=Fe[$e]/Gn,mt=gt/Gn;if(Fe[$e]=Gn,gt=-mt*Se[$e],Se[$e]=mn*Se[$e],pe)for(let Tn=0;Tn<y;Tn++)Gn=mn*Ue.get(Tn,$e)+mt*Ue.get(Tn,Ce-1),Ue.set(Tn,Ce-1,-mt*Ue.get(Tn,$e)+mn*Ue.get(Tn,Ce-1)),Ue.set(Tn,$e,Gn)}break}case 3:{const gt=Math.max(Math.abs(Fe[At-1]),Math.abs(Fe[At-2]),Math.abs(Se[At-2]),Math.abs(Fe[Ce]),Math.abs(Se[Ce])),$e=Fe[At-1]/gt,Gn=Fe[At-2]/gt,mn=Se[At-2]/gt,mt=Fe[Ce]/gt,Tn=Se[Ce]/gt,_n=((Gn+$e)*(Gn-$e)+mn*mn)/2,di=$e*mn*($e*mn);let Hn=0;(_n!==0||di!==0)&&(_n<0?Hn=0-Math.sqrt(_n*_n+di):Hn=Math.sqrt(_n*_n+di),Hn=di/(_n+Hn));let Zn=(mt+$e)*(mt-$e)+Hn,Oi=mt*Tn;for(let Ot=Ce;Ot<At-1;Ot++){let wr=Xa(Zn,Oi);wr===0&&(wr=Number.MIN_VALUE);let Lr=Zn/wr,Ut=Oi/wr;if(Ot!==Ce&&(Se[Ot-1]=wr),Zn=Lr*Fe[Ot]+Ut*Se[Ot],Se[Ot]=Lr*Se[Ot]-Ut*Fe[Ot],Oi=Ut*Fe[Ot+1],Fe[Ot+1]=Lr*Fe[Ot+1],ge)for(let gn=0;gn<A;gn++)wr=Lr*dt.get(gn,Ot)+Ut*dt.get(gn,Ot+1),dt.set(gn,Ot+1,-Ut*dt.get(gn,Ot)+Lr*dt.get(gn,Ot+1)),dt.set(gn,Ot,wr);if(wr=Xa(Zn,Oi),wr===0&&(wr=Number.MIN_VALUE),Lr=Zn/wr,Ut=Oi/wr,Fe[Ot]=wr,Zn=Lr*Se[Ot]+Ut*Fe[Ot+1],Fe[Ot+1]=-Ut*Se[Ot]+Lr*Fe[Ot+1],Oi=Ut*Se[Ot+1],Se[Ot+1]=Lr*Se[Ot+1],pe&&Ot<y-1)for(let gn=0;gn<y;gn++)wr=Lr*Ue.get(gn,Ot)+Ut*Ue.get(gn,Ot+1),Ue.set(gn,Ot+1,-Ut*Ue.get(gn,Ot)+Lr*Ue.get(gn,Ot+1)),Ue.set(gn,Ot,wr)}Se[At-2]=Zn;break}case 4:{if(Fe[Ce]<=0&&(Fe[Ce]=Fe[Ce]<0?-Fe[Ce]:0,ge))for(let gt=0;gt<=kt;gt++)dt.set(gt,Ce,-dt.get(gt,Ce));for(;Ce<kt&&!(Fe[Ce]>=Fe[Ce+1]);){let gt=Fe[Ce];if(Fe[Ce]=Fe[Ce+1],Fe[Ce+1]=gt,ge&&Ce<A-1)for(let $e=0;$e<A;$e++)gt=dt.get($e,Ce+1),dt.set($e,Ce+1,dt.get($e,Ce)),dt.set($e,Ce,gt);if(pe&&Ce<y-1)for(let $e=0;$e<y;$e++)gt=Ue.get($e,Ce+1),Ue.set($e,Ce+1,Ue.get($e,Ce)),Ue.set($e,Ce,gt);Ce++}At--;break}}}if(_e){let Ce=dt;dt=Ue,Ue=Ce}this.m=y,this.n=A,this.s=Fe,this.U=Ue,this.V=dt}solve(E){let P=E,y=this.threshold,A=this.s.length,F=ft.zeros(A,A);for(let Xe=0;Xe<A;Xe++)Math.abs(this.s[Xe])<=y?F.set(Xe,Xe,0):F.set(Xe,Xe,1/this.s[Xe]);let ue=this.U,ce=this.rightSingularVectors,pe=ce.mmul(F),ge=ce.rows,_e=ue.rows,we=ft.zeros(ge,_e);for(let Xe=0;Xe<ge;Xe++)for(let et=0;et<_e;et++){let Fe=0;for(let Ue=0;Ue<A;Ue++)Fe+=pe.get(Xe,Ue)*ue.get(et,Ue);we.set(Xe,et,Fe)}return we.mmul(P)}solveForDiagonal(E){return this.solve(ft.diag(E))}inverse(){let E=this.V,P=this.threshold,y=E.rows,A=E.columns,F=new ft(y,this.s.length);for(let _e=0;_e<y;_e++)for(let we=0;we<A;we++)Math.abs(this.s[we])>P&&F.set(_e,we,E.get(_e,we)/this.s[we]);let ue=this.U,ce=ue.rows,pe=ue.columns,ge=new ft(y,ce);for(let _e=0;_e<y;_e++)for(let we=0;we<ce;we++){let Xe=0;for(let et=0;et<pe;et++)Xe+=F.get(_e,et)*ue.get(we,et);ge.set(_e,we,Xe)}return ge}get condition(){return this.s[0]/this.s[Math.min(this.m,this.n)-1]}get norm2(){return this.s[0]}get rank(){let E=Math.max(this.m,this.n)*this.s[0]*Number.EPSILON,P=0,y=this.s;for(let A=0,F=y.length;A<F;A++)y[A]>E&&P++;return P}get diagonal(){return Array.from(this.s)}get threshold(){return Number.EPSILON/2*Math.max(this.m,this.n)*this.s[0]}get leftSingularVectors(){return this.U}get rightSingularVectors(){return this.V}get diagonalMatrix(){return ft.diag(this.s)}}function th($,E=!1){return $=fi.checkMatrix($),E?new Rr($).inverse():cg($,ft.eye($.rows))}function cg($,E,P=!1){return $=fi.checkMatrix($),E=fi.checkMatrix(E),P?new Rr($).solve(E):$.isSquare()?new xu($).solve(E):new eh($).solve(E)}function Eu($){if($=ft.checkMatrix($),$.isSquare()){if($.columns===0)return 1;let E,P,y,A;if($.columns===2)return E=$.get(0,0),P=$.get(0,1),y=$.get(1,0),A=$.get(1,1),E*A-P*y;if($.columns===3){let F,ue,ce;return F=new ds($,[1,2],[1,2]),ue=new ds($,[1,2],[0,2]),ce=new ds($,[1,2],[0,1]),E=$.get(0,0),P=$.get(0,1),y=$.get(0,2),E*Eu(F)-P*Eu(ue)+y*Eu(ce)}else return new xu($).determinant}else throw Error("determinant can only be calculated for a square matrix")}function ll($,E){let P=[];for(let y=0;y<$;y++)y!==E&&P.push(y);return P}function Wy($,E,P,y=1e-9,A=1e-9){if($>A)return new Array(E.rows+1).fill(0);{let F=E.addRow(P,[0]);for(let ue=0;ue<F.rows;ue++)Math.abs(F.get(ue,0))<y&&F.set(ue,0,0);return F.to1DArray()}}function wu($,E={}){const{thresholdValue:P=1e-9,thresholdError:y=1e-9}=E;$=ft.checkMatrix($);let A=$.rows,F=new ft(A,A);for(let ue=0;ue<A;ue++){let ce=ft.columnVector($.getRow(ue)),pe=$.subMatrixRow(ll(A,ue)).transpose(),_e=new Rr(pe).solve(ce),we=ft.sub(ce,pe.mmul(_e)).abs().max();F.setRow(ue,Wy(we,_e,ue,P,y))}return F}function Vy($,E=Number.EPSILON){if($=ft.checkMatrix($),$.isEmpty())return $.transpose();let P=new Rr($,{autoTranspose:!0}),y=P.leftSingularVectors,A=P.rightSingularVectors,F=P.diagonal;for(let ue=0;ue<F.length;ue++)Math.abs(F[ue])>E?F[ue]=1/F[ue]:F[ue]=0;return A.mmul(ft.diag(F).mmul(y.transpose()))}function Yy($,E=$,P={}){$=new ft($);let y=!1;if(typeof E=="object"&&!ft.isMatrix(E)&&!fe.isAnyArray(E)?(P=E,E=$,y=!0):E=new ft(E),$.rows!==E.rows)throw new TypeError("Both matrices must have the same number of rows");const{center:A=!0}=P;A&&($=$.center("column"),y||(E=E.center("column")));const F=$.transpose().mmul(E);for(let ue=0;ue<F.rows;ue++)for(let ce=0;ce<F.columns;ce++)F.set(ue,ce,F.get(ue,ce)*(1/($.rows-1)));return F}function hr($,E=$,P={}){$=new ft($);let y=!1;if(typeof E=="object"&&!ft.isMatrix(E)&&!fe.isAnyArray(E)?(P=E,E=$,y=!0):E=new ft(E),$.rows!==E.rows)throw new TypeError("Both matrices must have the same number of rows");const{center:A=!0,scale:F=!0}=P;A&&($.center("column"),y||E.center("column")),F&&($.scale("column"),y||E.scale("column"));const ue=$.standardDeviation("column",{unbiased:!0}),ce=y?ue:E.standardDeviation("column",{unbiased:!0}),pe=$.transpose().mmul(E);for(let ge=0;ge<pe.rows;ge++)for(let _e=0;_e<pe.columns;_e++)pe.set(ge,_e,pe.get(ge,_e)*(1/(ue[ge]*ce[_e]))*(1/($.rows-1)));return pe}class nh{constructor(E,P={}){const{assumeSymmetric:y=!1}=P;if(E=fi.checkMatrix(E),!E.isSquare())throw new Error("Matrix is not a square matrix");if(E.isEmpty())throw new Error("Matrix must be non-empty");let A=E.columns,F=new ft(A,A),ue=new Float64Array(A),ce=new Float64Array(A),pe=E,ge,_e,we=!1;if(y?we=!0:we=E.isSymmetric(),we){for(ge=0;ge<A;ge++)for(_e=0;_e<A;_e++)F.set(ge,_e,pe.get(ge,_e));ma(A,ce,ue,F),hg(A,ce,ue,F)}else{let Xe=new ft(A,A),et=new Float64Array(A);for(_e=0;_e<A;_e++)for(ge=0;ge<A;ge++)Xe.set(ge,_e,pe.get(ge,_e));fg(A,Xe,et,F),dg(A,ce,ue,F,Xe)}this.n=A,this.e=ce,this.d=ue,this.V=F}get realEigenvalues(){return Array.from(this.d)}get imaginaryEigenvalues(){return Array.from(this.e)}get eigenvectorMatrix(){return this.V}get diagonalMatrix(){let E=this.n,P=this.e,y=this.d,A=new ft(E,E),F,ue;for(F=0;F<E;F++){for(ue=0;ue<E;ue++)A.set(F,ue,0);A.set(F,F,y[F]),P[F]>0?A.set(F,F+1,P[F]):P[F]<0&&A.set(F,F-1,P[F])}return A}}function ma($,E,P,y){let A,F,ue,ce,pe,ge,_e,we;for(pe=0;pe<$;pe++)P[pe]=y.get($-1,pe);for(ce=$-1;ce>0;ce--){for(we=0,ue=0,ge=0;ge<ce;ge++)we=we+Math.abs(P[ge]);if(we===0)for(E[ce]=P[ce-1],pe=0;pe<ce;pe++)P[pe]=y.get(ce-1,pe),y.set(ce,pe,0),y.set(pe,ce,0);else{for(ge=0;ge<ce;ge++)P[ge]/=we,ue+=P[ge]*P[ge];for(A=P[ce-1],F=Math.sqrt(ue),A>0&&(F=-F),E[ce]=we*F,ue=ue-A*F,P[ce-1]=A-F,pe=0;pe<ce;pe++)E[pe]=0;for(pe=0;pe<ce;pe++){for(A=P[pe],y.set(pe,ce,A),F=E[pe]+y.get(pe,pe)*A,ge=pe+1;ge<=ce-1;ge++)F+=y.get(ge,pe)*P[ge],E[ge]+=y.get(ge,pe)*A;E[pe]=F}for(A=0,pe=0;pe<ce;pe++)E[pe]/=ue,A+=E[pe]*P[pe];for(_e=A/(ue+ue),pe=0;pe<ce;pe++)E[pe]-=_e*P[pe];for(pe=0;pe<ce;pe++){for(A=P[pe],F=E[pe],ge=pe;ge<=ce-1;ge++)y.set(ge,pe,y.get(ge,pe)-(A*E[ge]+F*P[ge]));P[pe]=y.get(ce-1,pe),y.set(ce,pe,0)}}P[ce]=ue}for(ce=0;ce<$-1;ce++){if(y.set($-1,ce,y.get(ce,ce)),y.set(ce,ce,1),ue=P[ce+1],ue!==0){for(ge=0;ge<=ce;ge++)P[ge]=y.get(ge,ce+1)/ue;for(pe=0;pe<=ce;pe++){for(F=0,ge=0;ge<=ce;ge++)F+=y.get(ge,ce+1)*y.get(ge,pe);for(ge=0;ge<=ce;ge++)y.set(ge,pe,y.get(ge,pe)-F*P[ge])}}for(ge=0;ge<=ce;ge++)y.set(ge,ce+1,0)}for(pe=0;pe<$;pe++)P[pe]=y.get($-1,pe),y.set($-1,pe,0);y.set($-1,$-1,1),E[0]=0}function hg($,E,P,y){let A,F,ue,ce,pe,ge,_e,we,Xe,et,Fe,Ue,dt,Se,Ze,Pt;for(ue=1;ue<$;ue++)E[ue-1]=E[ue];E[$-1]=0;let Lt=0,Bt=0,In=Number.EPSILON;for(ge=0;ge<$;ge++){for(Bt=Math.max(Bt,Math.abs(P[ge])+Math.abs(E[ge])),_e=ge;_e<$&&!(Math.abs(E[_e])<=In*Bt);)_e++;if(_e>ge)do{for(A=P[ge],we=(P[ge+1]-A)/(2*E[ge]),Xe=Xa(we,1),we<0&&(Xe=-Xe),P[ge]=E[ge]/(we+Xe),P[ge+1]=E[ge]*(we+Xe),et=P[ge+1],F=A-P[ge],ue=ge+2;ue<$;ue++)P[ue]-=F;for(Lt=Lt+F,we=P[_e],Fe=1,Ue=Fe,dt=Fe,Se=E[ge+1],Ze=0,Pt=0,ue=_e-1;ue>=ge;ue--)for(dt=Ue,Ue=Fe,Pt=Ze,A=Fe*E[ue],F=Fe*we,Xe=Xa(we,E[ue]),E[ue+1]=Ze*Xe,Ze=E[ue]/Xe,Fe=we/Xe,we=Fe*P[ue]-Ze*A,P[ue+1]=F+Ze*(Fe*A+Ze*P[ue]),pe=0;pe<$;pe++)F=y.get(pe,ue+1),y.set(pe,ue+1,Ze*y.get(pe,ue)+Fe*F),y.set(pe,ue,Fe*y.get(pe,ue)-Ze*F);we=-Ze*Pt*dt*Se*E[ge]/et,E[ge]=Ze*we,P[ge]=Fe*we}while(Math.abs(E[ge])>In*Bt);P[ge]=P[ge]+Lt,E[ge]=0}for(ue=0;ue<$-1;ue++){for(pe=ue,we=P[ue],ce=ue+1;ce<$;ce++)P[ce]<we&&(pe=ce,we=P[ce]);if(pe!==ue)for(P[pe]=P[ue],P[ue]=we,ce=0;ce<$;ce++)we=y.get(ce,ue),y.set(ce,ue,y.get(ce,pe)),y.set(ce,pe,we)}}function fg($,E,P,y){let A=0,F=$-1,ue,ce,pe,ge,_e,we,Xe;for(we=A+1;we<=F-1;we++){for(Xe=0,ge=we;ge<=F;ge++)Xe=Xe+Math.abs(E.get(ge,we-1));if(Xe!==0){for(pe=0,ge=F;ge>=we;ge--)P[ge]=E.get(ge,we-1)/Xe,pe+=P[ge]*P[ge];for(ce=Math.sqrt(pe),P[we]>0&&(ce=-ce),pe=pe-P[we]*ce,P[we]=P[we]-ce,_e=we;_e<$;_e++){for(ue=0,ge=F;ge>=we;ge--)ue+=P[ge]*E.get(ge,_e);for(ue=ue/pe,ge=we;ge<=F;ge++)E.set(ge,_e,E.get(ge,_e)-ue*P[ge])}for(ge=0;ge<=F;ge++){for(ue=0,_e=F;_e>=we;_e--)ue+=P[_e]*E.get(ge,_e);for(ue=ue/pe,_e=we;_e<=F;_e++)E.set(ge,_e,E.get(ge,_e)-ue*P[_e])}P[we]=Xe*P[we],E.set(we,we-1,Xe*ce)}}for(ge=0;ge<$;ge++)for(_e=0;_e<$;_e++)y.set(ge,_e,ge===_e?1:0);for(we=F-1;we>=A+1;we--)if(E.get(we,we-1)!==0){for(ge=we+1;ge<=F;ge++)P[ge]=E.get(ge,we-1);for(_e=we;_e<=F;_e++){for(ce=0,ge=we;ge<=F;ge++)ce+=P[ge]*y.get(ge,_e);for(ce=ce/P[we]/E.get(we,we-1),ge=we;ge<=F;ge++)y.set(ge,_e,y.get(ge,_e)+ce*P[ge])}}}function dg($,E,P,y,A){let F=$-1,ue=0,ce=$-1,pe=Number.EPSILON,ge=0,_e=0,we=0,Xe=0,et=0,Fe=0,Ue=0,dt=0,Se,Ze,Pt,Lt,Bt,In,At,kt,Sn,Ce,Qe,gt,$e,Gn,mn;for(Se=0;Se<$;Se++)for((Se<ue||Se>ce)&&(P[Se]=A.get(Se,Se),E[Se]=0),Ze=Math.max(Se-1,0);Ze<$;Ze++)_e=_e+Math.abs(A.get(Se,Ze));for(;F>=ue;){for(Lt=F;Lt>ue&&(Fe=Math.abs(A.get(Lt-1,Lt-1))+Math.abs(A.get(Lt,Lt)),Fe===0&&(Fe=_e),!(Math.abs(A.get(Lt,Lt-1))<pe*Fe));)Lt--;if(Lt===F)A.set(F,F,A.get(F,F)+ge),P[F]=A.get(F,F),E[F]=0,F--,dt=0;else if(Lt===F-1){if(At=A.get(F,F-1)*A.get(F-1,F),we=(A.get(F-1,F-1)-A.get(F,F))/2,Xe=we*we+At,Ue=Math.sqrt(Math.abs(Xe)),A.set(F,F,A.get(F,F)+ge),A.set(F-1,F-1,A.get(F-1,F-1)+ge),kt=A.get(F,F),Xe>=0){for(Ue=we>=0?we+Ue:we-Ue,P[F-1]=kt+Ue,P[F]=P[F-1],Ue!==0&&(P[F]=kt-At/Ue),E[F-1]=0,E[F]=0,kt=A.get(F,F-1),Fe=Math.abs(kt)+Math.abs(Ue),we=kt/Fe,Xe=Ue/Fe,et=Math.sqrt(we*we+Xe*Xe),we=we/et,Xe=Xe/et,Ze=F-1;Ze<$;Ze++)Ue=A.get(F-1,Ze),A.set(F-1,Ze,Xe*Ue+we*A.get(F,Ze)),A.set(F,Ze,Xe*A.get(F,Ze)-we*Ue);for(Se=0;Se<=F;Se++)Ue=A.get(Se,F-1),A.set(Se,F-1,Xe*Ue+we*A.get(Se,F)),A.set(Se,F,Xe*A.get(Se,F)-we*Ue);for(Se=ue;Se<=ce;Se++)Ue=y.get(Se,F-1),y.set(Se,F-1,Xe*Ue+we*y.get(Se,F)),y.set(Se,F,Xe*y.get(Se,F)-we*Ue)}else P[F-1]=kt+we,P[F]=kt+we,E[F-1]=Ue,E[F]=-Ue;F=F-2,dt=0}else{if(kt=A.get(F,F),Sn=0,At=0,Lt<F&&(Sn=A.get(F-1,F-1),At=A.get(F,F-1)*A.get(F-1,F)),dt===10){for(ge+=kt,Se=ue;Se<=F;Se++)A.set(Se,Se,A.get(Se,Se)-kt);Fe=Math.abs(A.get(F,F-1))+Math.abs(A.get(F-1,F-2)),kt=Sn=.75*Fe,At=-.4375*Fe*Fe}if(dt===30&&(Fe=(Sn-kt)/2,Fe=Fe*Fe+At,Fe>0)){for(Fe=Math.sqrt(Fe),Sn<kt&&(Fe=-Fe),Fe=kt-At/((Sn-kt)/2+Fe),Se=ue;Se<=F;Se++)A.set(Se,Se,A.get(Se,Se)-Fe);ge+=Fe,kt=Sn=At=.964}for(dt=dt+1,Bt=F-2;Bt>=Lt&&(Ue=A.get(Bt,Bt),et=kt-Ue,Fe=Sn-Ue,we=(et*Fe-At)/A.get(Bt+1,Bt)+A.get(Bt,Bt+1),Xe=A.get(Bt+1,Bt+1)-Ue-et-Fe,et=A.get(Bt+2,Bt+1),Fe=Math.abs(we)+Math.abs(Xe)+Math.abs(et),we=we/Fe,Xe=Xe/Fe,et=et/Fe,!(Bt===Lt||Math.abs(A.get(Bt,Bt-1))*(Math.abs(Xe)+Math.abs(et))<pe*(Math.abs(we)*(Math.abs(A.get(Bt-1,Bt-1))+Math.abs(Ue)+Math.abs(A.get(Bt+1,Bt+1))))));)Bt--;for(Se=Bt+2;Se<=F;Se++)A.set(Se,Se-2,0),Se>Bt+2&&A.set(Se,Se-3,0);for(Pt=Bt;Pt<=F-1&&(Gn=Pt!==F-1,Pt!==Bt&&(we=A.get(Pt,Pt-1),Xe=A.get(Pt+1,Pt-1),et=Gn?A.get(Pt+2,Pt-1):0,kt=Math.abs(we)+Math.abs(Xe)+Math.abs(et),kt!==0&&(we=we/kt,Xe=Xe/kt,et=et/kt)),kt!==0);Pt++)if(Fe=Math.sqrt(we*we+Xe*Xe+et*et),we<0&&(Fe=-Fe),Fe!==0){for(Pt!==Bt?A.set(Pt,Pt-1,-Fe*kt):Lt!==Bt&&A.set(Pt,Pt-1,-A.get(Pt,Pt-1)),we=we+Fe,kt=we/Fe,Sn=Xe/Fe,Ue=et/Fe,Xe=Xe/we,et=et/we,Ze=Pt;Ze<$;Ze++)we=A.get(Pt,Ze)+Xe*A.get(Pt+1,Ze),Gn&&(we=we+et*A.get(Pt+2,Ze),A.set(Pt+2,Ze,A.get(Pt+2,Ze)-we*Ue)),A.set(Pt,Ze,A.get(Pt,Ze)-we*kt),A.set(Pt+1,Ze,A.get(Pt+1,Ze)-we*Sn);for(Se=0;Se<=Math.min(F,Pt+3);Se++)we=kt*A.get(Se,Pt)+Sn*A.get(Se,Pt+1),Gn&&(we=we+Ue*A.get(Se,Pt+2),A.set(Se,Pt+2,A.get(Se,Pt+2)-we*et)),A.set(Se,Pt,A.get(Se,Pt)-we),A.set(Se,Pt+1,A.get(Se,Pt+1)-we*Xe);for(Se=ue;Se<=ce;Se++)we=kt*y.get(Se,Pt)+Sn*y.get(Se,Pt+1),Gn&&(we=we+Ue*y.get(Se,Pt+2),y.set(Se,Pt+2,y.get(Se,Pt+2)-we*et)),y.set(Se,Pt,y.get(Se,Pt)-we),y.set(Se,Pt+1,y.get(Se,Pt+1)-we*Xe)}}}if(_e!==0){for(F=$-1;F>=0;F--)if(we=P[F],Xe=E[F],Xe===0)for(Lt=F,A.set(F,F,1),Se=F-1;Se>=0;Se--){for(At=A.get(Se,Se)-we,et=0,Ze=Lt;Ze<=F;Ze++)et=et+A.get(Se,Ze)*A.get(Ze,F);if(E[Se]<0)Ue=At,Fe=et;else if(Lt=Se,E[Se]===0?A.set(Se,F,At!==0?-et/At:-et/(pe*_e)):(kt=A.get(Se,Se+1),Sn=A.get(Se+1,Se),Xe=(P[Se]-we)*(P[Se]-we)+E[Se]*E[Se],In=(kt*Fe-Ue*et)/Xe,A.set(Se,F,In),A.set(Se+1,F,Math.abs(kt)>Math.abs(Ue)?(-et-At*In)/kt:(-Fe-Sn*In)/Ue)),In=Math.abs(A.get(Se,F)),pe*In*In>1)for(Ze=Se;Ze<=F;Ze++)A.set(Ze,F,A.get(Ze,F)/In)}else if(Xe<0)for(Lt=F-1,Math.abs(A.get(F,F-1))>Math.abs(A.get(F-1,F))?(A.set(F-1,F-1,Xe/A.get(F,F-1)),A.set(F-1,F,-(A.get(F,F)-we)/A.get(F,F-1))):(mn=Pu(0,-A.get(F-1,F),A.get(F-1,F-1)-we,Xe),A.set(F-1,F-1,mn[0]),A.set(F-1,F,mn[1])),A.set(F,F-1,0),A.set(F,F,1),Se=F-2;Se>=0;Se--){for(Ce=0,Qe=0,Ze=Lt;Ze<=F;Ze++)Ce=Ce+A.get(Se,Ze)*A.get(Ze,F-1),Qe=Qe+A.get(Se,Ze)*A.get(Ze,F);if(At=A.get(Se,Se)-we,E[Se]<0)Ue=At,et=Ce,Fe=Qe;else if(Lt=Se,E[Se]===0?(mn=Pu(-Ce,-Qe,At,Xe),A.set(Se,F-1,mn[0]),A.set(Se,F,mn[1])):(kt=A.get(Se,Se+1),Sn=A.get(Se+1,Se),gt=(P[Se]-we)*(P[Se]-we)+E[Se]*E[Se]-Xe*Xe,$e=(P[Se]-we)*2*Xe,gt===0&&$e===0&&(gt=pe*_e*(Math.abs(At)+Math.abs(Xe)+Math.abs(kt)+Math.abs(Sn)+Math.abs(Ue))),mn=Pu(kt*et-Ue*Ce+Xe*Qe,kt*Fe-Ue*Qe-Xe*Ce,gt,$e),A.set(Se,F-1,mn[0]),A.set(Se,F,mn[1]),Math.abs(kt)>Math.abs(Ue)+Math.abs(Xe)?(A.set(Se+1,F-1,(-Ce-At*A.get(Se,F-1)+Xe*A.get(Se,F))/kt),A.set(Se+1,F,(-Qe-At*A.get(Se,F)-Xe*A.get(Se,F-1))/kt)):(mn=Pu(-et-Sn*A.get(Se,F-1),-Fe-Sn*A.get(Se,F),Ue,Xe),A.set(Se+1,F-1,mn[0]),A.set(Se+1,F,mn[1]))),In=Math.max(Math.abs(A.get(Se,F-1)),Math.abs(A.get(Se,F))),pe*In*In>1)for(Ze=Se;Ze<=F;Ze++)A.set(Ze,F-1,A.get(Ze,F-1)/In),A.set(Ze,F,A.get(Ze,F)/In)}for(Se=0;Se<$;Se++)if(Se<ue||Se>ce)for(Ze=Se;Ze<$;Ze++)y.set(Se,Ze,A.get(Se,Ze));for(Ze=$-1;Ze>=ue;Ze--)for(Se=ue;Se<=ce;Se++){for(Ue=0,Pt=ue;Pt<=Math.min(Ze,ce);Pt++)Ue=Ue+y.get(Se,Pt)*A.get(Pt,Ze);y.set(Se,Ze,Ue)}}}function Pu($,E,P,y){let A,F;return Math.abs(P)>Math.abs(y)?(A=y/P,F=P+A*y,[($+A*E)/F,(E-A*$)/F]):(A=P/y,F=y+A*P,[(A*$+E)/F,(A*E-$)/F])}class vg{constructor(E){if(E=fi.checkMatrix(E),!E.isSymmetric())throw new Error("Matrix is not symmetric");let P=E,y=P.rows,A=new ft(y,y),F=!0,ue,ce,pe;for(ce=0;ce<y;ce++){let ge=0;for(pe=0;pe<ce;pe++){let _e=0;for(ue=0;ue<pe;ue++)_e+=A.get(pe,ue)*A.get(ce,ue);_e=(P.get(ce,pe)-_e)/A.get(pe,pe),A.set(ce,pe,_e),ge=ge+_e*_e}for(ge=P.get(ce,ce)-ge,F&&(F=ge>0),A.set(ce,ce,Math.sqrt(Math.max(ge,0))),pe=ce+1;pe<y;pe++)A.set(ce,pe,0)}this.L=A,this.positiveDefinite=F}isPositiveDefinite(){return this.positiveDefinite}solve(E){E=fi.checkMatrix(E);let P=this.L,y=P.rows;if(E.rows!==y)throw new Error("Matrix dimensions do not match");if(this.isPositiveDefinite()===!1)throw new Error("Matrix is not positive definite");let A=E.columns,F=E.clone(),ue,ce,pe;for(pe=0;pe<y;pe++)for(ce=0;ce<A;ce++){for(ue=0;ue<pe;ue++)F.set(pe,ce,F.get(pe,ce)-F.get(ue,ce)*P.get(pe,ue));F.set(pe,ce,F.get(pe,ce)/P.get(pe,pe))}for(pe=y-1;pe>=0;pe--)for(ce=0;ce<A;ce++){for(ue=pe+1;ue<y;ue++)F.set(pe,ce,F.get(pe,ce)-F.get(ue,ce)*P.get(ue,pe));F.set(pe,ce,F.get(pe,ce)/P.get(pe,pe))}return F}get lowerTriangularMatrix(){return this.L}}class gg{constructor(E,P={}){E=fi.checkMatrix(E);let{Y:y}=P;const{scaleScores:A=!1,maxIterations:F=1e3,terminationCriteria:ue=1e-10}=P;let ce;if(y){if(fe.isAnyArray(y)&&typeof y[0]=="number"?y=ft.columnVector(y):y=fi.checkMatrix(y),y.rows!==E.rows)throw new Error("Y should have the same number of rows as X");ce=y.getColumnVector(0)}else ce=E.getColumnVector(0);let pe=1,ge,_e,we,Xe;for(let et=0;et<F&&pe>ue;et++)we=E.transpose().mmul(ce).div(ce.transpose().mmul(ce).get(0,0)),we=we.div(we.norm()),ge=E.mmul(we).div(we.transpose().mmul(we).get(0,0)),et>0&&(pe=ge.clone().sub(Xe).pow(2).sum()),Xe=ge.clone(),y?(_e=y.transpose().mmul(ge).div(ge.transpose().mmul(ge).get(0,0)),_e=_e.div(_e.norm()),ce=y.mmul(_e).div(_e.transpose().mmul(_e).get(0,0))):ce=ge;if(y){let et=E.transpose().mmul(ge).div(ge.transpose().mmul(ge).get(0,0));et=et.div(et.norm());let Fe=E.clone().sub(ge.clone().mmul(et.transpose())),Ue=ce.transpose().mmul(ge).div(ge.transpose().mmul(ge).get(0,0)),dt=y.clone().sub(ge.clone().mulS(Ue.get(0,0)).mmul(_e.transpose()));this.t=ge,this.p=et.transpose(),this.w=we.transpose(),this.q=_e,this.u=ce,this.s=ge.transpose().mmul(ge),this.xResidual=Fe,this.yResidual=dt,this.betas=Ue}else this.w=we.transpose(),this.s=ge.transpose().mmul(ge).sqrt(),A?this.t=ge.clone().div(this.s.get(0,0)):this.t=ge,this.xResidual=E.sub(ge.mmul(we.transpose()))}}re.XA=wt,re.a_=vg,re.yQ=vg,re.Hs=fn,re.Ec=nh,re.dx=nh,re.LU=xu,re.Rm=xu,re.y3=ft,re.qK=Ha,re.pb=Yi,re.j=yu,re.sO=fs,re.BZ=Dn,re.EK=bu,re.Db=ds,re.Fx=mo,re.tU=ga,re.Ym=gg,re.rs=gg,re.QR=eh,re.TB=eh,re.oH=Rr,re.Sc=Rr,re.BN=Qr,re.it=pa,re.$r=fi,re.QM=hr,re.AV=Yy,M=ft,re.GH=Eu,re.SO=th,re.uZ=wu,re.yU=Vy,re.F1=cg,re.re=Xy},8874:function(Q){"use strict";Q.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},19818:function(Q,re,w){var M=w(8874),G=w(86851),z=Object.hasOwnProperty,I=Object.create(null);for(var R in M)z.call(M,R)&&(I[M[R]]=R);var L=Q.exports={to:{},get:{}};L.get=function(_){var j=_.substring(0,3).toLowerCase(),N,V;switch(j){case"hsl":N=L.get.hsl(_),V="hsl";break;case"hwb":N=L.get.hwb(_),V="hwb";break;default:N=L.get.rgb(_),V="rgb";break}return N?{model:V,value:N}:null},L.get.rgb=function(_){if(!_)return null;var j=/^#([a-f0-9]{3,4})$/i,N=/^#([a-f0-9]{6})([a-f0-9]{2})?$/i,V=/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,ne=/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,ee=/^(\w+)$/,fe=[0,0,0,1],he,K,se;if(he=_.match(N)){for(se=he[2],he=he[1],K=0;K<3;K++){var le=K*2;fe[K]=parseInt(he.slice(le,le+2),16)}se&&(fe[3]=parseInt(se,16)/255)}else if(he=_.match(j)){for(he=he[1],se=he[3],K=0;K<3;K++)fe[K]=parseInt(he[K]+he[K],16);se&&(fe[3]=parseInt(se+se,16)/255)}else if(he=_.match(V)){for(K=0;K<3;K++)fe[K]=parseInt(he[K+1],0);he[4]&&(he[5]?fe[3]=parseFloat(he[4])*.01:fe[3]=parseFloat(he[4]))}else if(he=_.match(ne)){for(K=0;K<3;K++)fe[K]=Math.round(parseFloat(he[K+1])*2.55);he[4]&&(he[5]?fe[3]=parseFloat(he[4])*.01:fe[3]=parseFloat(he[4]))}else return(he=_.match(ee))?he[1]==="transparent"?[0,0,0,0]:z.call(M,he[1])?(fe=M[he[1]],fe[3]=1,fe):null:null;for(K=0;K<3;K++)fe[K]=B(fe[K],0,255);return fe[3]=B(fe[3],0,1),fe},L.get.hsl=function(_){if(!_)return null;var j=/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,N=_.match(j);if(N){var V=parseFloat(N[4]),ne=(parseFloat(N[1])%360+360)%360,ee=B(parseFloat(N[2]),0,100),fe=B(parseFloat(N[3]),0,100),he=B(isNaN(V)?1:V,0,1);return[ne,ee,fe,he]}return null},L.get.hwb=function(_){if(!_)return null;var j=/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,N=_.match(j);if(N){var V=parseFloat(N[4]),ne=(parseFloat(N[1])%360+360)%360,ee=B(parseFloat(N[2]),0,100),fe=B(parseFloat(N[3]),0,100),he=B(isNaN(V)?1:V,0,1);return[ne,ee,fe,he]}return null},L.to.hex=function(){var _=G(arguments);return"#"+D(_[0])+D(_[1])+D(_[2])+(_[3]<1?D(Math.round(_[3]*255)):"")},L.to.rgb=function(){var _=G(arguments);return _.length<4||_[3]===1?"rgb("+Math.round(_[0])+", "+Math.round(_[1])+", "+Math.round(_[2])+")":"rgba("+Math.round(_[0])+", "+Math.round(_[1])+", "+Math.round(_[2])+", "+_[3]+")"},L.to.rgb.percent=function(){var _=G(arguments),j=Math.round(_[0]/255*100),N=Math.round(_[1]/255*100),V=Math.round(_[2]/255*100);return _.length<4||_[3]===1?"rgb("+j+"%, "+N+"%, "+V+"%)":"rgba("+j+"%, "+N+"%, "+V+"%, "+_[3]+")"},L.to.hsl=function(){var _=G(arguments);return _.length<4||_[3]===1?"hsl("+_[0]+", "+_[1]+"%, "+_[2]+"%)":"hsla("+_[0]+", "+_[1]+"%, "+_[2]+"%, "+_[3]+")"},L.to.hwb=function(){var _=G(arguments),j="";return _.length>=4&&_[3]!==1&&(j=", "+_[3]),"hwb("+_[0]+", "+_[1]+"%, "+_[2]+"%"+j+")"},L.to.keyword=function(_){return I[_.slice(0,3)]};function B(_,j,N){return Math.min(Math.max(j,_),N)}function D(_){var j=Math.round(_).toString(16).toUpperCase();return j.length<2?"0"+j:j}},70681:function(Q,re,w){Q.exports={graphlib:w(70574),layout:w(98123),debug:w(27570),util:{time:w(11138).time,notime:w(11138).notime},version:w(88177)}},92188:function(Q,re,w){"use strict";var M=w(38436),G=w(74079);Q.exports={run:z,undo:R};function z(L){var B=L.graph().acyclicer==="greedy"?G(L,D(L)):I(L);M.forEach(B,function(_){var j=L.edge(_);L.removeEdge(_),j.forwardName=_.name,j.reversed=!0,L.setEdge(_.w,_.v,j,M.uniqueId("rev"))});function D(_){return function(j){return _.edge(j).weight}}}function I(L){var B=[],D={},_={};function j(N){M.has(_,N)||(_[N]=!0,D[N]=!0,M.forEach(L.outEdges(N),function(V){M.has(D,V.w)?B.push(V):j(V.w)}),delete D[N])}return M.forEach(L.nodes(),j),B}function R(L){M.forEach(L.edges(),function(B){var D=L.edge(B);if(D.reversed){L.removeEdge(B);var _=D.forwardName;delete D.reversed,delete D.forwardName,L.setEdge(B.w,B.v,D,_)}})}},61133:function(Q,re,w){var M=w(38436),G=w(11138);Q.exports=z;function z(R){function L(B){var D=R.children(B),_=R.node(B);if(D.length&&M.forEach(D,L),M.has(_,"minRank")){_.borderLeft=[],_.borderRight=[];for(var j=_.minRank,N=_.maxRank+1;j<N;++j)I(R,"borderLeft","_bl",B,_,j),I(R,"borderRight","_br",B,_,j)}}M.forEach(R.children(),L)}function I(R,L,B,D,_,j){var N={width:0,height:0,rank:j,borderType:L},V=_[L][j-1],ne=G.addDummyNode(R,"border",N,B);_[L][j]=ne,R.setParent(ne,D),V&&R.setEdge(V,ne,{weight:1})}},53258:function(Q,re,w){"use strict";var M=w(38436);Q.exports={adjust:G,undo:z};function G(j){var N=j.graph().rankdir.toLowerCase();(N==="lr"||N==="rl")&&I(j)}function z(j){var N=j.graph().rankdir.toLowerCase();(N==="bt"||N==="rl")&&L(j),(N==="lr"||N==="rl")&&(D(j),I(j))}function I(j){M.forEach(j.nodes(),function(N){R(j.node(N))}),M.forEach(j.edges(),function(N){R(j.edge(N))})}function R(j){var N=j.width;j.width=j.height,j.height=N}function L(j){M.forEach(j.nodes(),function(N){B(j.node(N))}),M.forEach(j.edges(),function(N){var V=j.edge(N);M.forEach(V.points,B),M.has(V,"y")&&B(V)})}function B(j){j.y=-j.y}function D(j){M.forEach(j.nodes(),function(N){_(j.node(N))}),M.forEach(j.edges(),function(N){var V=j.edge(N);M.forEach(V.points,_),M.has(V,"x")&&_(V)})}function _(j){var N=j.x;j.x=j.y,j.y=N}},77822:function(Q){Q.exports=re;function re(){var G={};G._next=G._prev=G,this._sentinel=G}re.prototype.dequeue=function(){var G=this._sentinel,z=G._prev;if(z!==G)return w(z),z},re.prototype.enqueue=function(G){var z=this._sentinel;G._prev&&G._next&&w(G),G._next=z._next,z._next._prev=G,z._next=G,G._prev=z},re.prototype.toString=function(){for(var G=[],z=this._sentinel,I=z._prev;I!==z;)G.push(JSON.stringify(I,M)),I=I._prev;return"["+G.join(", ")+"]"};function w(G){G._prev._next=G._next,G._next._prev=G._prev,delete G._next,delete G._prev}function M(G,z){if(G!=="_next"&&G!=="_prev")return z}},27570:function(Q,re,w){var M=w(38436),G=w(11138),z=w(70574).Graph;Q.exports={debugOrdering:I};function I(R){var L=G.buildLayerMatrix(R),B=new z({compound:!0,multigraph:!0}).setGraph({});return M.forEach(R.nodes(),function(D){B.setNode(D,{label:D}),B.setParent(D,"layer"+R.node(D).rank)}),M.forEach(R.edges(),function(D){B.setEdge(D.v,D.w,{},D.name)}),M.forEach(L,function(D,_){var j="layer"+_;B.setNode(j,{rank:"same"}),M.reduce(D,function(N,V){return B.setEdge(N,V,{style:"invis"}),V})}),B}},70574:function(Q,re,w){var M;try{M=w(19870)}catch(G){}M||(M=window.graphlib),Q.exports=M},74079:function(Q,re,w){var M=w(38436),G=w(70574).Graph,z=w(77822);Q.exports=R;var I=M.constant(1);function R(j,N){if(j.nodeCount()<=1)return[];var V=D(j,N||I),ne=L(V.graph,V.buckets,V.zeroIdx);return M.flatten(M.map(ne,function(ee){return j.outEdges(ee.v,ee.w)}),!0)}function L(j,N,V){for(var ne=[],ee=N[N.length-1],fe=N[0],he;j.nodeCount();){for(;he=fe.dequeue();)B(j,N,V,he);for(;he=ee.dequeue();)B(j,N,V,he);if(j.nodeCount()){for(var K=N.length-2;K>0;--K)if(he=N[K].dequeue(),he){ne=ne.concat(B(j,N,V,he,!0));break}}}return ne}function B(j,N,V,ne,ee){var fe=ee?[]:void 0;return M.forEach(j.inEdges(ne.v),function(he){var K=j.edge(he),se=j.node(he.v);ee&&fe.push({v:he.v,w:he.w}),se.out-=K,_(N,V,se)}),M.forEach(j.outEdges(ne.v),function(he){var K=j.edge(he),se=he.w,le=j.node(se);le.in-=K,_(N,V,le)}),j.removeNode(ne.v),fe}function D(j,N){var V=new G,ne=0,ee=0;M.forEach(j.nodes(),function(K){V.setNode(K,{v:K,in:0,out:0})}),M.forEach(j.edges(),function(K){var se=V.edge(K.v,K.w)||0,le=N(K),ye=se+le;V.setEdge(K.v,K.w,ye),ee=Math.max(ee,V.node(K.v).out+=le),ne=Math.max(ne,V.node(K.w).in+=le)});var fe=M.range(ee+ne+3).map(function(){return new z}),he=ne+1;return M.forEach(V.nodes(),function(K){_(fe,he,V.node(K))}),{graph:V,buckets:fe,zeroIdx:he}}function _(j,N,V){V.out?V.in?j[V.out-V.in+N].enqueue(V):j[j.length-1].enqueue(V):j[0].enqueue(V)}},98123:function(Q,re,w){"use strict";var M=w(38436),G=w(92188),z=w(45995),I=w(78093),R=w(11138).normalizeRanks,L=w(17942),B=w(11138).removeEmptyRanks,D=w(72981),_=w(61133),j=w(53258),N=w(53408),V=w(17873),ne=w(11138),ee=w(70574).Graph;Q.exports=fe;function fe(me,Te){var Ae=Te&&Te.debugTiming?ne.time:ne.notime;Ae("layout",function(){var He=Ae(" buildLayoutGraph",function(){return ke(me)});Ae(" runLayout",function(){he(He,Ae)}),Ae(" updateInputGraph",function(){K(me,He)})})}function he(me,Te){Te(" makeSpaceForEdgeLabels",function(){Le(me)}),Te(" removeSelfEdges",function(){Ga(me)}),Te(" acyclic",function(){G.run(me)}),Te(" nestingGraph.run",function(){D.run(me)}),Te(" rank",function(){I(ne.asNonCompoundGraph(me))}),Te(" injectEdgeLabelProxies",function(){Ie(me)}),Te(" removeEmptyRanks",function(){B(me)}),Te(" nestingGraph.cleanup",function(){D.cleanup(me)}),Te(" normalizeRanks",function(){R(me)}),Te(" assignRankMinMax",function(){Ye(me)}),Te(" removeEdgeLabelProxies",function(){Je(me)}),Te(" normalize.run",function(){z.run(me)}),Te(" parentDummyChains",function(){L(me)}),Te(" addBorderSegments",function(){_(me)}),Te(" order",function(){N(me)}),Te(" insertSelfEdges",function(){cs(me)}),Te(" adjustCoordinateSystem",function(){j.adjust(me)}),Te(" position",function(){V(me)}),Te(" positionSelfEdges",function(){Me(me)}),Te(" removeBorderNodes",function(){Wr(me)}),Te(" normalize.undo",function(){z.undo(me)}),Te(" fixupEdgeLabelCoords",function(){$t(me)}),Te(" undoCoordinateSystem",function(){j.undo(me)}),Te(" translateGraph",function(){at(me)}),Te(" assignNodeIntersects",function(){bt(me)}),Te(" reversePoints",function(){tr(me)}),Te(" acyclic.undo",function(){G.undo(me)})}function K(me,Te){M.forEach(me.nodes(),function(Ae){var He=me.node(Ae),xt=Te.node(Ae);He&&(He.x=xt.x,He.y=xt.y,Te.children(Ae).length&&(He.width=xt.width,He.height=xt.height))}),M.forEach(me.edges(),function(Ae){var He=me.edge(Ae),xt=Te.edge(Ae);He.points=xt.points,M.has(xt,"x")&&(He.x=xt.x,He.y=xt.y)}),me.graph().width=Te.graph().width,me.graph().height=Te.graph().height}var se=["nodesep","edgesep","ranksep","marginx","marginy"],le={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},ye=["acyclicer","ranker","rankdir","align"],be=["width","height"],Ee={width:0,height:0},Ne=["minlen","weight","width","height","labeloffset"],Pe={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},xe=["labelpos"];function ke(me){var Te=new ee({multigraph:!0,compound:!0}),Ae=ze(me.graph());return Te.setGraph(M.merge({},le,De(Ae,se),M.pick(Ae,ye))),M.forEach(me.nodes(),function(He){var xt=ze(me.node(He));Te.setNode(He,M.defaults(De(xt,be),Ee)),Te.setParent(He,me.parent(He))}),M.forEach(me.edges(),function(He){var xt=ze(me.edge(He));Te.setEdge(He,M.merge({},Pe,De(xt,Ne),M.pick(xt,xe)))}),Te}function Le(me){var Te=me.graph();Te.ranksep/=2,M.forEach(me.edges(),function(Ae){var He=me.edge(Ae);He.minlen*=2,He.labelpos.toLowerCase()!=="c"&&(Te.rankdir==="TB"||Te.rankdir==="BT"?He.width+=He.labeloffset:He.height+=He.labeloffset)})}function Ie(me){M.forEach(me.edges(),function(Te){var Ae=me.edge(Te);if(Ae.width&&Ae.height){var He=me.node(Te.v),xt=me.node(Te.w),Ft={rank:(xt.rank-He.rank)/2+He.rank,e:Te};ne.addDummyNode(me,"edge-proxy",Ft,"_ep")}})}function Ye(me){var Te=0;M.forEach(me.nodes(),function(Ae){var He=me.node(Ae);He.borderTop&&(He.minRank=me.node(He.borderTop).rank,He.maxRank=me.node(He.borderBottom).rank,Te=M.max(Te,He.maxRank))}),me.graph().maxRank=Te}function Je(me){M.forEach(me.nodes(),function(Te){var Ae=me.node(Te);Ae.dummy==="edge-proxy"&&(me.edge(Ae.e).labelRank=Ae.rank,me.removeNode(Te))})}function at(me){var Te=Number.POSITIVE_INFINITY,Ae=0,He=Number.POSITIVE_INFINITY,xt=0,Ft=me.graph(),St=Ft.marginx||0,Yt=Ft.marginy||0;function Un(jn){var Dt=jn.x,Nt=jn.y,wt=jn.width,It=jn.height;Te=Math.min(Te,Dt-wt/2),Ae=Math.max(Ae,Dt+wt/2),He=Math.min(He,Nt-It/2),xt=Math.max(xt,Nt+It/2)}M.forEach(me.nodes(),function(jn){Un(me.node(jn))}),M.forEach(me.edges(),function(jn){var Dt=me.edge(jn);M.has(Dt,"x")&&Un(Dt)}),Te-=St,He-=Yt,M.forEach(me.nodes(),function(jn){var Dt=me.node(jn);Dt.x-=Te,Dt.y-=He}),M.forEach(me.edges(),function(jn){var Dt=me.edge(jn);M.forEach(Dt.points,function(Nt){Nt.x-=Te,Nt.y-=He}),M.has(Dt,"x")&&(Dt.x-=Te),M.has(Dt,"y")&&(Dt.y-=He)}),Ft.width=Ae-Te+St,Ft.height=xt-He+Yt}function bt(me){M.forEach(me.edges(),function(Te){var Ae=me.edge(Te),He=me.node(Te.v),xt=me.node(Te.w),Ft,St;Ae.points?(Ft=Ae.points[0],St=Ae.points[Ae.points.length-1]):(Ae.points=[],Ft=xt,St=He),Ae.points.unshift(ne.intersectRect(He,Ft)),Ae.points.push(ne.intersectRect(xt,St))})}function $t(me){M.forEach(me.edges(),function(Te){var Ae=me.edge(Te);if(M.has(Ae,"x"))switch((Ae.labelpos==="l"||Ae.labelpos==="r")&&(Ae.width-=Ae.labeloffset),Ae.labelpos){case"l":Ae.x-=Ae.width/2+Ae.labeloffset;break;case"r":Ae.x+=Ae.width/2+Ae.labeloffset;break}})}function tr(me){M.forEach(me.edges(),function(Te){var Ae=me.edge(Te);Ae.reversed&&Ae.points.reverse()})}function Wr(me){M.forEach(me.nodes(),function(Te){if(me.children(Te).length){var Ae=me.node(Te),He=me.node(Ae.borderTop),xt=me.node(Ae.borderBottom),Ft=me.node(M.last(Ae.borderLeft)),St=me.node(M.last(Ae.borderRight));Ae.width=Math.abs(St.x-Ft.x),Ae.height=Math.abs(xt.y-He.y),Ae.x=Ft.x+Ae.width/2,Ae.y=He.y+Ae.height/2}}),M.forEach(me.nodes(),function(Te){me.node(Te).dummy==="border"&&me.removeNode(Te)})}function Ga(me){M.forEach(me.edges(),function(Te){if(Te.v===Te.w){var Ae=me.node(Te.v);Ae.selfEdges||(Ae.selfEdges=[]),Ae.selfEdges.push({e:Te,label:me.edge(Te)}),me.removeEdge(Te)}})}function cs(me){var Te=ne.buildLayerMatrix(me);M.forEach(Te,function(Ae){var He=0;M.forEach(Ae,function(xt,Ft){var St=me.node(xt);St.order=Ft+He,M.forEach(St.selfEdges,function(Yt){ne.addDummyNode(me,"selfedge",{width:Yt.label.width,height:Yt.label.height,rank:St.rank,order:Ft+ ++He,e:Yt.e,label:Yt.label},"_se")}),delete St.selfEdges})})}function Me(me){M.forEach(me.nodes(),function(Te){var Ae=me.node(Te);if(Ae.dummy==="selfedge"){var He=me.node(Ae.e.v),xt=He.x+He.width/2,Ft=He.y,St=Ae.x-xt,Yt=He.height/2;me.setEdge(Ae.e,Ae.label),me.removeNode(Te),Ae.label.points=[{x:xt+2*St/3,y:Ft-Yt},{x:xt+5*St/6,y:Ft-Yt},{x:xt+St,y:Ft},{x:xt+5*St/6,y:Ft+Yt},{x:xt+2*St/3,y:Ft+Yt}],Ae.label.x=Ae.x,Ae.label.y=Ae.y}})}function De(me,Te){return M.mapValues(M.pick(me,Te),Number)}function ze(me){var Te={};return M.forEach(me,function(Ae,He){Te[He.toLowerCase()]=Ae}),Te}},38436:function(Q,re,w){var M;try{M={cloneDeep:w(50361),constant:w(75703),defaults:w(91747),each:w(85768),filter:w(63105),find:w(13311),flatten:w(85564),forEach:w(84486),forIn:w(62620),has:w(18721),isUndefined:w(52353),last:w(10928),map:w(35161),mapValues:w(8521),max:w(6162),merge:w(82492),min:w(53632),minBy:w(22762),now:w(7771),pick:w(78718),range:w(96026),reduce:w(54061),sortBy:w(89734),uniqueId:w(73955),values:w(52628),zipObject:w(7287)}}catch(G){}M||(M=window._),Q.exports=M},72981:function(Q,re,w){var M=w(38436),G=w(11138);Q.exports={run:z,cleanup:B};function z(D){var _=G.addDummyNode(D,"root",{},"_root"),j=R(D),N=M.max(M.values(j))-1,V=2*N+1;D.graph().nestingRoot=_,M.forEach(D.edges(),function(ee){D.edge(ee).minlen*=V});var ne=L(D)+1;M.forEach(D.children(),function(ee){I(D,_,V,ne,N,j,ee)}),D.graph().nodeRankFactor=V}function I(D,_,j,N,V,ne,ee){var fe=D.children(ee);if(!fe.length){ee!==_&&D.setEdge(_,ee,{weight:0,minlen:j});return}var he=G.addBorderNode(D,"_bt"),K=G.addBorderNode(D,"_bb"),se=D.node(ee);D.setParent(he,ee),se.borderTop=he,D.setParent(K,ee),se.borderBottom=K,M.forEach(fe,function(le){I(D,_,j,N,V,ne,le);var ye=D.node(le),be=ye.borderTop?ye.borderTop:le,Ee=ye.borderBottom?ye.borderBottom:le,Ne=ye.borderTop?N:2*N,Pe=be!==Ee?1:V-ne[ee]+1;D.setEdge(he,be,{weight:Ne,minlen:Pe,nestingEdge:!0}),D.setEdge(Ee,K,{weight:Ne,minlen:Pe,nestingEdge:!0})}),D.parent(ee)||D.setEdge(_,he,{weight:0,minlen:V+ne[ee]})}function R(D){var _={};function j(N,V){var ne=D.children(N);ne&&ne.length&&M.forEach(ne,function(ee){j(ee,V+1)}),_[N]=V}return M.forEach(D.children(),function(N){j(N,1)}),_}function L(D){return M.reduce(D.edges(),function(_,j){return _+D.edge(j).weight},0)}function B(D){var _=D.graph();D.removeNode(_.nestingRoot),delete _.nestingRoot,M.forEach(D.edges(),function(j){var N=D.edge(j);N.nestingEdge&&D.removeEdge(j)})}},45995:function(Q,re,w){"use strict";var M=w(38436),G=w(11138);Q.exports={run:z,undo:R};function z(L){L.graph().dummyChains=[],M.forEach(L.edges(),function(B){I(L,B)})}function I(L,B){var D=B.v,_=L.node(D).rank,j=B.w,N=L.node(j).rank,V=B.name,ne=L.edge(B),ee=ne.labelRank;if(N!==_+1){L.removeEdge(B);var fe,he,K;for(K=0,++_;_<N;++K,++_)ne.points=[],he={width:0,height:0,edgeLabel:ne,edgeObj:B,rank:_},fe=G.addDummyNode(L,"edge",he,"_d"),_===ee&&(he.width=ne.width,he.height=ne.height,he.dummy="edge-label",he.labelpos=ne.labelpos),L.setEdge(D,fe,{weight:ne.weight},V),K===0&&L.graph().dummyChains.push(fe),D=fe;L.setEdge(D,j,{weight:ne.weight},V)}}function R(L){M.forEach(L.graph().dummyChains,function(B){var D=L.node(B),_=D.edgeLabel,j;for(L.setEdge(D.edgeObj,_);D.dummy;)j=L.successors(B)[0],L.removeNode(B),_.points.push({x:D.x,y:D.y}),D.dummy==="edge-label"&&(_.x=D.x,_.y=D.y,_.width=D.width,_.height=D.height),B=j,D=L.node(B)})}},55093:function(Q,re,w){var M=w(38436);Q.exports=G;function G(z,I,R){var L={},B;M.forEach(R,function(D){for(var _=z.parent(D),j,N;_;){if(j=z.parent(_),j?(N=L[j],L[j]=_):(N=B,B=_),N&&N!==_){I.setEdge(N,_);return}_=j}})}},35439:function(Q,re,w){var M=w(38436);Q.exports=G;function G(z,I){return M.map(I,function(R){var L=z.inEdges(R);if(L.length){var B=M.reduce(L,function(D,_){var j=z.edge(_),N=z.node(_.v);return{sum:D.sum+j.weight*N.order,weight:D.weight+j.weight}},{sum:0,weight:0});return{v:R,barycenter:B.sum/B.weight,weight:B.weight}}else return{v:R}})}},23128:function(Q,re,w){var M=w(38436),G=w(70574).Graph;Q.exports=z;function z(R,L,B){var D=I(R),_=new G({compound:!0}).setGraph({root:D}).setDefaultNodeLabel(function(j){return R.node(j)});return M.forEach(R.nodes(),function(j){var N=R.node(j),V=R.parent(j);(N.rank===L||N.minRank<=L&&L<=N.maxRank)&&(_.setNode(j),_.setParent(j,V||D),M.forEach(R[B](j),function(ne){var ee=ne.v===j?ne.w:ne.v,fe=_.edge(ee,j),he=M.isUndefined(fe)?0:fe.weight;_.setEdge(ee,j,{weight:R.edge(ne).weight+he})}),M.has(N,"minRank")&&_.setNode(j,{borderLeft:N.borderLeft[L],borderRight:N.borderRight[L]}))}),_}function I(R){for(var L;R.hasNode(L=M.uniqueId("_root")););return L}},56630:function(Q,re,w){"use strict";var M=w(38436);Q.exports=G;function G(I,R){for(var L=0,B=1;B<R.length;++B)L+=z(I,R[B-1],R[B]);return L}function z(I,R,L){for(var B=M.zipObject(L,M.map(L,function(ne,ee){return ee})),D=M.flatten(M.map(R,function(ne){return M.sortBy(M.map(I.outEdges(ne),function(ee){return{pos:B[ee.w],weight:I.edge(ee).weight}}),"pos")}),!0),_=1;_<L.length;)_<<=1;var j=2*_-1;_-=1;var N=M.map(new Array(j),function(){return 0}),V=0;return M.forEach(D.forEach(function(ne){var ee=ne.pos+_;N[ee]+=ne.weight;for(var fe=0;ee>0;)ee%2&&(fe+=N[ee+1]),ee=ee-1>>1,N[ee]+=ne.weight;V+=ne.weight*fe})),V}},53408:function(Q,re,w){"use strict";var M=w(38436),G=w(2588),z=w(56630),I=w(61026),R=w(23128),L=w(55093),B=w(70574).Graph,D=w(11138);Q.exports=_;function _(ne){var ee=D.maxRank(ne),fe=j(ne,M.range(1,ee+1),"inEdges"),he=j(ne,M.range(ee-1,-1,-1),"outEdges"),K=G(ne);V(ne,K);for(var se=Number.POSITIVE_INFINITY,le,ye=0,be=0;be<4;++ye,++be){N(ye%2?fe:he,ye%4>=2),K=D.buildLayerMatrix(ne);var Ee=z(ne,K);Ee<se&&(be=0,le=M.cloneDeep(K),se=Ee)}V(ne,le)}function j(ne,ee,fe){return M.map(ee,function(he){return R(ne,he,fe)})}function N(ne,ee){var fe=new B;M.forEach(ne,function(he){var K=he.graph().root,se=I(he,K,fe,ee);M.forEach(se.vs,function(le,ye){he.node(le).order=ye}),L(he,fe,se.vs)})}function V(ne,ee){M.forEach(ee,function(fe){M.forEach(fe,function(he,K){ne.node(he).order=K})})}},2588:function(Q,re,w){"use strict";var M=w(38436);Q.exports=G;function G(z){var I={},R=M.filter(z.nodes(),function(j){return!z.children(j).length}),L=M.max(M.map(R,function(j){return z.node(j).rank})),B=M.map(M.range(L+1),function(){return[]});function D(j){if(!M.has(I,j)){I[j]=!0;var N=z.node(j);B[N.rank].push(j),M.forEach(z.successors(j),D)}}var _=M.sortBy(R,function(j){return z.node(j).rank});return M.forEach(_,D),B}},83678:function(Q,re,w){"use strict";var M=w(38436);Q.exports=G;function G(R,L){var B={};M.forEach(R,function(_,j){var N=B[_.v]={indegree:0,in:[],out:[],vs:[_.v],i:j};M.isUndefined(_.barycenter)||(N.barycenter=_.barycenter,N.weight=_.weight)}),M.forEach(L.edges(),function(_){var j=B[_.v],N=B[_.w];!M.isUndefined(j)&&!M.isUndefined(N)&&(N.indegree++,j.out.push(B[_.w]))});var D=M.filter(B,function(_){return!_.indegree});return z(D)}function z(R){var L=[];function B(j){return function(N){N.merged||(M.isUndefined(N.barycenter)||M.isUndefined(j.barycenter)||N.barycenter>=j.barycenter)&&I(j,N)}}function D(j){return function(N){N.in.push(j),--N.indegree===0&&R.push(N)}}for(;R.length;){var _=R.pop();L.push(_),M.forEach(_.in.reverse(),B(_)),M.forEach(_.out,D(_))}return M.map(M.filter(L,function(j){return!j.merged}),function(j){return M.pick(j,["vs","i","barycenter","weight"])})}function I(R,L){var B=0,D=0;R.weight&&(B+=R.barycenter*R.weight,D+=R.weight),L.weight&&(B+=L.barycenter*L.weight,D+=L.weight),R.vs=L.vs.concat(R.vs),R.barycenter=B/D,R.weight=D,R.i=Math.min(L.i,R.i),L.merged=!0}},61026:function(Q,re,w){var M=w(38436),G=w(35439),z=w(83678),I=w(87304);Q.exports=R;function R(D,_,j,N){var V=D.children(_),ne=D.node(_),ee=ne?ne.borderLeft:void 0,fe=ne?ne.borderRight:void 0,he={};ee&&(V=M.filter(V,function(Ee){return Ee!==ee&&Ee!==fe}));var K=G(D,V);M.forEach(K,function(Ee){if(D.children(Ee.v).length){var Ne=R(D,Ee.v,j,N);he[Ee.v]=Ne,M.has(Ne,"barycenter")&&B(Ee,Ne)}});var se=z(K,j);L(se,he);var le=I(se,N);if(ee&&(le.vs=M.flatten([ee,le.vs,fe],!0),D.predecessors(ee).length)){var ye=D.node(D.predecessors(ee)[0]),be=D.node(D.predecessors(fe)[0]);M.has(le,"barycenter")||(le.barycenter=0,le.weight=0),le.barycenter=(le.barycenter*le.weight+ye.order+be.order)/(le.weight+2),le.weight+=2}return le}function L(D,_){M.forEach(D,function(j){j.vs=M.flatten(j.vs.map(function(N){return _[N]?_[N].vs:N}),!0)})}function B(D,_){M.isUndefined(D.barycenter)?(D.barycenter=_.barycenter,D.weight=_.weight):(D.barycenter=(D.barycenter*D.weight+_.barycenter*_.weight)/(D.weight+_.weight),D.weight+=_.weight)}},87304:function(Q,re,w){var M=w(38436),G=w(11138);Q.exports=z;function z(L,B){var D=G.partition(L,function(he){return M.has(he,"barycenter")}),_=D.lhs,j=M.sortBy(D.rhs,function(he){return-he.i}),N=[],V=0,ne=0,ee=0;_.sort(R(!!B)),ee=I(N,j,ee),M.forEach(_,function(he){ee+=he.vs.length,N.push(he.vs),V+=he.barycenter*he.weight,ne+=he.weight,ee=I(N,j,ee)});var fe={vs:M.flatten(N,!0)};return ne&&(fe.barycenter=V/ne,fe.weight=ne),fe}function I(L,B,D){for(var _;B.length&&(_=M.last(B)).i<=D;)B.pop(),L.push(_.vs),D++;return D}function R(L){return function(B,D){return B.barycenter<D.barycenter?-1:B.barycenter>D.barycenter?1:L?D.i-B.i:B.i-D.i}}},17942:function(Q,re,w){var M=w(38436);Q.exports=G;function G(R){var L=I(R);M.forEach(R.graph().dummyChains,function(B){for(var D=R.node(B),_=D.edgeObj,j=z(R,L,_.v,_.w),N=j.path,V=j.lca,ne=0,ee=N[ne],fe=!0;B!==_.w;){if(D=R.node(B),fe){for(;(ee=N[ne])!==V&&R.node(ee).maxRank<D.rank;)ne++;ee===V&&(fe=!1)}if(!fe){for(;ne<N.length-1&&R.node(ee=N[ne+1]).minRank<=D.rank;)ne++;ee=N[ne]}R.setParent(B,ee),B=R.successors(B)[0]}})}function z(R,L,B,D){var _=[],j=[],N=Math.min(L[B].low,L[D].low),V=Math.max(L[B].lim,L[D].lim),ne,ee;ne=B;do ne=R.parent(ne),_.push(ne);while(ne&&(L[ne].low>N||V>L[ne].lim));for(ee=ne,ne=D;(ne=R.parent(ne))!==ee;)j.push(ne);return{path:_.concat(j.reverse()),lca:ee}}function I(R){var L={},B=0;function D(_){var j=B;M.forEach(R.children(_),D),L[_]={low:j,lim:B++}}return M.forEach(R.children(),D),L}},3573:function(Q,re,w){"use strict";var M=w(38436),G=w(70574).Graph,z=w(11138);Q.exports={positionX:fe,findType1Conflicts:I,findType2Conflicts:R,addConflict:B,hasConflict:D,verticalAlignment:_,horizontalCompaction:j,alignCoordinates:ne,findSmallestWidthAlignment:V,balance:ee};function I(se,le){var ye={};function be(Ee,Ne){var Pe=0,xe=0,ke=Ee.length,Le=M.last(Ne);return M.forEach(Ne,function(Ie,Ye){var Je=L(se,Ie),at=Je?se.node(Je).order:ke;(Je||Ie===Le)&&(M.forEach(Ne.slice(xe,Ye+1),function(bt){M.forEach(se.predecessors(bt),function($t){var tr=se.node($t),Wr=tr.order;(Wr<Pe||at<Wr)&&!(tr.dummy&&se.node(bt).dummy)&&B(ye,$t,bt)})}),xe=Ye+1,Pe=at)}),Ne}return M.reduce(le,be),ye}function R(se,le){var ye={};function be(Ne,Pe,xe,ke,Le){var Ie;M.forEach(M.range(Pe,xe),function(Ye){Ie=Ne[Ye],se.node(Ie).dummy&&M.forEach(se.predecessors(Ie),function(Je){var at=se.node(Je);at.dummy&&(at.order<ke||at.order>Le)&&B(ye,Je,Ie)})})}function Ee(Ne,Pe){var xe=-1,ke,Le=0;return M.forEach(Pe,function(Ie,Ye){if(se.node(Ie).dummy==="border"){var Je=se.predecessors(Ie);Je.length&&(ke=se.node(Je[0]).order,be(Pe,Le,Ye,xe,ke),Le=Ye,xe=ke)}be(Pe,Le,Pe.length,ke,Ne.length)}),Pe}return M.reduce(le,Ee),ye}function L(se,le){if(se.node(le).dummy)return M.find(se.predecessors(le),function(ye){return se.node(ye).dummy})}function B(se,le,ye){if(le>ye){var be=le;le=ye,ye=be}var Ee=se[le];Ee||(se[le]=Ee={}),Ee[ye]=!0}function D(se,le,ye){if(le>ye){var be=le;le=ye,ye=be}return M.has(se[le],ye)}function _(se,le,ye,be){var Ee={},Ne={},Pe={};return M.forEach(le,function(xe){M.forEach(xe,function(ke,Le){Ee[ke]=ke,Ne[ke]=ke,Pe[ke]=Le})}),M.forEach(le,function(xe){var ke=-1;M.forEach(xe,function(Le){var Ie=be(Le);if(Ie.length){Ie=M.sortBy(Ie,function($t){return Pe[$t]});for(var Ye=(Ie.length-1)/2,Je=Math.floor(Ye),at=Math.ceil(Ye);Je<=at;++Je){var bt=Ie[Je];Ne[Le]===Le&&ke<Pe[bt]&&!D(ye,Le,bt)&&(Ne[bt]=Le,Ne[Le]=Ee[Le]=Ee[bt],ke=Pe[bt])}}})}),{root:Ee,align:Ne}}function j(se,le,ye,be,Ee){var Ne={},Pe=N(se,le,ye,Ee),xe=Ee?"borderLeft":"borderRight";function ke(Ye,Je){for(var at=Pe.nodes(),bt=at.pop(),$t={};bt;)$t[bt]?Ye(bt):($t[bt]=!0,at.push(bt),at=at.concat(Je(bt))),bt=at.pop()}function Le(Ye){Ne[Ye]=Pe.inEdges(Ye).reduce(function(Je,at){return Math.max(Je,Ne[at.v]+Pe.edge(at))},0)}function Ie(Ye){var Je=Pe.outEdges(Ye).reduce(function(bt,$t){return Math.min(bt,Ne[$t.w]-Pe.edge($t))},Number.POSITIVE_INFINITY),at=se.node(Ye);Je!==Number.POSITIVE_INFINITY&&at.borderType!==xe&&(Ne[Ye]=Math.max(Ne[Ye],Je))}return ke(Le,Pe.predecessors.bind(Pe)),ke(Ie,Pe.successors.bind(Pe)),M.forEach(be,function(Ye){Ne[Ye]=Ne[ye[Ye]]}),Ne}function N(se,le,ye,be){var Ee=new G,Ne=se.graph(),Pe=he(Ne.nodesep,Ne.edgesep,be);return M.forEach(le,function(xe){var ke;M.forEach(xe,function(Le){var Ie=ye[Le];if(Ee.setNode(Ie),ke){var Ye=ye[ke],Je=Ee.edge(Ye,Ie);Ee.setEdge(Ye,Ie,Math.max(Pe(se,Le,ke),Je||0))}ke=Le})}),Ee}function V(se,le){return M.minBy(M.values(le),function(ye){var be=Number.NEGATIVE_INFINITY,Ee=Number.POSITIVE_INFINITY;return M.forIn(ye,function(Ne,Pe){var xe=K(se,Pe)/2;be=Math.max(Ne+xe,be),Ee=Math.min(Ne-xe,Ee)}),be-Ee})}function ne(se,le){var ye=M.values(le),be=M.min(ye),Ee=M.max(ye);M.forEach(["u","d"],function(Ne){M.forEach(["l","r"],function(Pe){var xe=Ne+Pe,ke=se[xe],Le;if(ke!==le){var Ie=M.values(ke);Le=Pe==="l"?be-M.min(Ie):Ee-M.max(Ie),Le&&(se[xe]=M.mapValues(ke,function(Ye){return Ye+Le}))}})})}function ee(se,le){return M.mapValues(se.ul,function(ye,be){if(le)return se[le.toLowerCase()][be];var Ee=M.sortBy(M.map(se,be));return(Ee[1]+Ee[2])/2})}function fe(se){var le=z.buildLayerMatrix(se),ye=M.merge(I(se,le),R(se,le)),be={},Ee;M.forEach(["u","d"],function(Pe){Ee=Pe==="u"?le:M.values(le).reverse(),M.forEach(["l","r"],function(xe){xe==="r"&&(Ee=M.map(Ee,function(Ye){return M.values(Ye).reverse()}));var ke=(Pe==="u"?se.predecessors:se.successors).bind(se),Le=_(se,Ee,ye,ke),Ie=j(se,Ee,Le.root,Le.align,xe==="r");xe==="r"&&(Ie=M.mapValues(Ie,function(Ye){return-Ye})),be[Pe+xe]=Ie})});var Ne=V(se,be);return ne(be,Ne),ee(be,se.graph().align)}function he(se,le,ye){return function(be,Ee,Ne){var Pe=be.node(Ee),xe=be.node(Ne),ke=0,Le;if(ke+=Pe.width/2,M.has(Pe,"labelpos"))switch(Pe.labelpos.toLowerCase()){case"l":Le=-Pe.width/2;break;case"r":Le=Pe.width/2;break}if(Le&&(ke+=ye?Le:-Le),Le=0,ke+=(Pe.dummy?le:se)/2,ke+=(xe.dummy?le:se)/2,ke+=xe.width/2,M.has(xe,"labelpos"))switch(xe.labelpos.toLowerCase()){case"l":Le=xe.width/2;break;case"r":Le=-xe.width/2;break}return Le&&(ke+=ye?Le:-Le),Le=0,ke}}function K(se,le){return se.node(le).width}},17873:function(Q,re,w){"use strict";var M=w(38436),G=w(11138),z=w(3573).positionX;Q.exports=I;function I(L){L=G.asNonCompoundGraph(L),R(L),M.forEach(z(L),function(B,D){L.node(D).x=B})}function R(L){var B=G.buildLayerMatrix(L),D=L.graph().ranksep,_=0;M.forEach(B,function(j){var N=M.max(M.map(j,function(V){return L.node(V).height}));M.forEach(j,function(V){L.node(V).y=_+N/2}),_+=N+D})}},20300:function(Q,re,w){"use strict";var M=w(38436),G=w(70574).Graph,z=w(76681).slack;Q.exports=I;function I(D){var _=new G({directed:!1}),j=D.nodes()[0],N=D.nodeCount();_.setNode(j,{});for(var V,ne;R(_,D)<N;)V=L(_,D),ne=_.hasNode(V.v)?z(D,V):-z(D,V),B(_,D,ne);return _}function R(D,_){function j(N){M.forEach(_.nodeEdges(N),function(V){var ne=V.v,ee=N===ne?V.w:ne;!D.hasNode(ee)&&!z(_,V)&&(D.setNode(ee,{}),D.setEdge(N,ee,{}),j(ee))})}return M.forEach(D.nodes(),j),D.nodeCount()}function L(D,_){return M.minBy(_.edges(),function(j){if(D.hasNode(j.v)!==D.hasNode(j.w))return z(_,j)})}function B(D,_,j){M.forEach(D.nodes(),function(N){_.node(N).rank+=j})}},78093:function(Q,re,w){"use strict";var M=w(76681),G=M.longestPath,z=w(20300),I=w(42472);Q.exports=R;function R(_){switch(_.graph().ranker){case"network-simplex":D(_);break;case"tight-tree":B(_);break;case"longest-path":L(_);break;default:D(_)}}var L=G;function B(_){G(_),z(_)}function D(_){I(_)}},42472:function(Q,re,w){"use strict";var M=w(38436),G=w(20300),z=w(76681).slack,I=w(76681).longestPath,R=w(70574).alg.preorder,L=w(70574).alg.postorder,B=w(11138).simplify;Q.exports=D,D.initLowLimValues=V,D.initCutValues=_,D.calcCutValue=N,D.leaveEdge=ee,D.enterEdge=fe,D.exchangeEdges=he;function D(ye){ye=B(ye),I(ye);var be=G(ye);V(be),_(be,ye);for(var Ee,Ne;Ee=ee(be);)Ne=fe(be,ye,Ee),he(be,ye,Ee,Ne)}function _(ye,be){var Ee=L(ye,ye.nodes());Ee=Ee.slice(0,Ee.length-1),M.forEach(Ee,function(Ne){j(ye,be,Ne)})}function j(ye,be,Ee){var Ne=ye.node(Ee),Pe=Ne.parent;ye.edge(Ee,Pe).cutvalue=N(ye,be,Ee)}function N(ye,be,Ee){var Ne=ye.node(Ee),Pe=Ne.parent,xe=!0,ke=be.edge(Ee,Pe),Le=0;return ke||(xe=!1,ke=be.edge(Pe,Ee)),Le=ke.weight,M.forEach(be.nodeEdges(Ee),function(Ie){var Ye=Ie.v===Ee,Je=Ye?Ie.w:Ie.v;if(Je!==Pe){var at=Ye===xe,bt=be.edge(Ie).weight;if(Le+=at?bt:-bt,se(ye,Ee,Je)){var $t=ye.edge(Ee,Je).cutvalue;Le+=at?-$t:$t}}}),Le}function V(ye,be){arguments.length<2&&(be=ye.nodes()[0]),ne(ye,{},1,be)}function ne(ye,be,Ee,Ne,Pe){var xe=Ee,ke=ye.node(Ne);return be[Ne]=!0,M.forEach(ye.neighbors(Ne),function(Le){M.has(be,Le)||(Ee=ne(ye,be,Ee,Le,Ne))}),ke.low=xe,ke.lim=Ee++,Pe?ke.parent=Pe:delete ke.parent,Ee}function ee(ye){return M.find(ye.edges(),function(be){return ye.edge(be).cutvalue<0})}function fe(ye,be,Ee){var Ne=Ee.v,Pe=Ee.w;be.hasEdge(Ne,Pe)||(Ne=Ee.w,Pe=Ee.v);var xe=ye.node(Ne),ke=ye.node(Pe),Le=xe,Ie=!1;xe.lim>ke.lim&&(Le=ke,Ie=!0);var Ye=M.filter(be.edges(),function(Je){return Ie===le(ye,ye.node(Je.v),Le)&&Ie!==le(ye,ye.node(Je.w),Le)});return M.minBy(Ye,function(Je){return z(be,Je)})}function he(ye,be,Ee,Ne){var Pe=Ee.v,xe=Ee.w;ye.removeEdge(Pe,xe),ye.setEdge(Ne.v,Ne.w,{}),V(ye),_(ye,be),K(ye,be)}function K(ye,be){var Ee=M.find(ye.nodes(),function(Pe){return!be.node(Pe).parent}),Ne=R(ye,Ee);Ne=Ne.slice(1),M.forEach(Ne,function(Pe){var xe=ye.node(Pe).parent,ke=be.edge(Pe,xe),Le=!1;ke||(ke=be.edge(xe,Pe),Le=!0),be.node(Pe).rank=be.node(xe).rank+(Le?ke.minlen:-ke.minlen)})}function se(ye,be,Ee){return ye.hasEdge(be,Ee)}function le(ye,be,Ee){return Ee.low<=be.lim&&be.lim<=Ee.lim}},76681:function(Q,re,w){"use strict";var M=w(38436);Q.exports={longestPath:G,slack:z};function G(I){var R={};function L(B){var D=I.node(B);if(M.has(R,B))return D.rank;R[B]=!0;var _=M.min(M.map(I.outEdges(B),function(j){return L(j.w)-I.edge(j).minlen}));return(_===Number.POSITIVE_INFINITY||_===void 0||_===null)&&(_=0),D.rank=_}M.forEach(I.sources(),L)}function z(I,R){return I.node(R.w).rank-I.node(R.v).rank-I.edge(R).minlen}},11138:function(Q,re,w){"use strict";var M=w(38436),G=w(70574).Graph;Q.exports={addDummyNode:z,simplify:I,asNonCompoundGraph:R,successorWeights:L,predecessorWeights:B,intersectRect:D,buildLayerMatrix:_,normalizeRanks:j,removeEmptyRanks:N,addBorderNode:V,maxRank:ne,partition:ee,time:fe,notime:he};function z(K,se,le,ye){var be;do be=M.uniqueId(ye);while(K.hasNode(be));return le.dummy=se,K.setNode(be,le),be}function I(K){var se=new G().setGraph(K.graph());return M.forEach(K.nodes(),function(le){se.setNode(le,K.node(le))}),M.forEach(K.edges(),function(le){var ye=se.edge(le.v,le.w)||{weight:0,minlen:1},be=K.edge(le);se.setEdge(le.v,le.w,{weight:ye.weight+be.weight,minlen:Math.max(ye.minlen,be.minlen)})}),se}function R(K){var se=new G({multigraph:K.isMultigraph()}).setGraph(K.graph());return M.forEach(K.nodes(),function(le){K.children(le).length||se.setNode(le,K.node(le))}),M.forEach(K.edges(),function(le){se.setEdge(le,K.edge(le))}),se}function L(K){var se=M.map(K.nodes(),function(le){var ye={};return M.forEach(K.outEdges(le),function(be){ye[be.w]=(ye[be.w]||0)+K.edge(be).weight}),ye});return M.zipObject(K.nodes(),se)}function B(K){var se=M.map(K.nodes(),function(le){var ye={};return M.forEach(K.inEdges(le),function(be){ye[be.v]=(ye[be.v]||0)+K.edge(be).weight}),ye});return M.zipObject(K.nodes(),se)}function D(K,se){var le=K.x,ye=K.y,be=se.x-le,Ee=se.y-ye,Ne=K.width/2,Pe=K.height/2;if(!be&&!Ee)throw new Error("Not possible to find intersection inside of the rectangle");var xe,ke;return Math.abs(Ee)*Ne>Math.abs(be)*Pe?(Ee<0&&(Pe=-Pe),xe=Pe*be/Ee,ke=Pe):(be<0&&(Ne=-Ne),xe=Ne,ke=Ne*Ee/be),{x:le+xe,y:ye+ke}}function _(K){var se=M.map(M.range(ne(K)+1),function(){return[]});return M.forEach(K.nodes(),function(le){var ye=K.node(le),be=ye.rank;M.isUndefined(be)||(se[be][ye.order]=le)}),se}function j(K){var se=M.min(M.map(K.nodes(),function(le){return K.node(le).rank}));M.forEach(K.nodes(),function(le){var ye=K.node(le);M.has(ye,"rank")&&(ye.rank-=se)})}function N(K){var se=M.min(M.map(K.nodes(),function(Ee){return K.node(Ee).rank})),le=[];M.forEach(K.nodes(),function(Ee){var Ne=K.node(Ee).rank-se;le[Ne]||(le[Ne]=[]),le[Ne].push(Ee)});var ye=0,be=K.graph().nodeRankFactor;M.forEach(le,function(Ee,Ne){M.isUndefined(Ee)&&Ne%be!==0?--ye:ye&&M.forEach(Ee,function(Pe){K.node(Pe).rank+=ye})})}function V(K,se,le,ye){var be={width:0,height:0};return arguments.length>=4&&(be.rank=le,be.order=ye),z(K,"border",be,se)}function ne(K){return M.max(M.map(K.nodes(),function(se){var le=K.node(se).rank;if(!M.isUndefined(le))return le}))}function ee(K,se){var le={lhs:[],rhs:[]};return M.forEach(K,function(ye){se(ye)?le.lhs.push(ye):le.rhs.push(ye)}),le}function fe(K,se){var le=M.now();try{return se()}finally{console.log(K+" time: "+(M.now()-le)+"ms")}}function he(K,se){return se()}},88177:function(Q){Q.exports="0.8.5"},26729:function(Q){"use strict";var re=Object.prototype.hasOwnProperty,w="~";function M(){}Object.create&&(M.prototype=Object.create(null),new M().__proto__||(w=!1));function G(L,B,D){this.fn=L,this.context=B,this.once=D||!1}function z(L,B,D,_,j){if(typeof D!="function")throw new TypeError("The listener must be a function");var N=new G(D,_||L,j),V=w?w+B:B;return L._events[V]?L._events[V].fn?L._events[V]=[L._events[V],N]:L._events[V].push(N):(L._events[V]=N,L._eventsCount++),L}function I(L,B){--L._eventsCount===0?L._events=new M:delete L._events[B]}function R(){this._events=new M,this._eventsCount=0}R.prototype.eventNames=function(){var B=[],D,_;if(this._eventsCount===0)return B;for(_ in D=this._events)re.call(D,_)&&B.push(w?_.slice(1):_);return Object.getOwnPropertySymbols?B.concat(Object.getOwnPropertySymbols(D)):B},R.prototype.listeners=function(B){var D=w?w+B:B,_=this._events[D];if(!_)return[];if(_.fn)return[_.fn];for(var j=0,N=_.length,V=new Array(N);j<N;j++)V[j]=_[j].fn;return V},R.prototype.listenerCount=function(B){var D=w?w+B:B,_=this._events[D];return _?_.fn?1:_.length:0},R.prototype.emit=function(B,D,_,j,N,V){var ne=w?w+B:B;if(!this._events[ne])return!1;var ee=this._events[ne],fe=arguments.length,he,K;if(ee.fn){switch(ee.once&&this.removeListener(B,ee.fn,void 0,!0),fe){case 1:return ee.fn.call(ee.context),!0;case 2:return ee.fn.call(ee.context,D),!0;case 3:return ee.fn.call(ee.context,D,_),!0;case 4:return ee.fn.call(ee.context,D,_,j),!0;case 5:return ee.fn.call(ee.context,D,_,j,N),!0;case 6:return ee.fn.call(ee.context,D,_,j,N,V),!0}for(K=1,he=new Array(fe-1);K<fe;K++)he[K-1]=arguments[K];ee.fn.apply(ee.context,he)}else{var se=ee.length,le;for(K=0;K<se;K++)switch(ee[K].once&&this.removeListener(B,ee[K].fn,void 0,!0),fe){case 1:ee[K].fn.call(ee[K].context);break;case 2:ee[K].fn.call(ee[K].context,D);break;case 3:ee[K].fn.call(ee[K].context,D,_);break;case 4:ee[K].fn.call(ee[K].context,D,_,j);break;default:if(!he)for(le=1,he=new Array(fe-1);le<fe;le++)he[le-1]=arguments[le];ee[K].fn.apply(ee[K].context,he)}}return!0},R.prototype.on=function(B,D,_){return z(this,B,D,_,!1)},R.prototype.once=function(B,D,_){return z(this,B,D,_,!0)},R.prototype.removeListener=function(B,D,_,j){var N=w?w+B:B;if(!this._events[N])return this;if(!D)return I(this,N),this;var V=this._events[N];if(V.fn)V.fn===D&&(!j||V.once)&&(!_||V.context===_)&&I(this,N);else{for(var ne=0,ee=[],fe=V.length;ne<fe;ne++)(V[ne].fn!==D||j&&!V[ne].once||_&&V[ne].context!==_)&&ee.push(V[ne]);ee.length?this._events[N]=ee.length===1?ee[0]:ee:I(this,N)}return this},R.prototype.removeAllListeners=function(B){var D;return B?(D=w?w+B:B,this._events[D]&&I(this,D)):(this._events=new M,this._eventsCount=0),this},R.prototype.off=R.prototype.removeListener,R.prototype.addListener=R.prototype.on,R.prefixed=w,R.EventEmitter=R,Q.exports=R},19870:function(Q,re,w){var M=w(82354);Q.exports={Graph:M.Graph,json:w(28974),alg:w(12440),version:M.version}},2842:function(Q,re,w){var M=w(89126);Q.exports=G;function G(z){var I={},R=[],L;function B(D){M.has(I,D)||(I[D]=!0,L.push(D),M.each(z.successors(D),B),M.each(z.predecessors(D),B))}return M.each(z.nodes(),function(D){L=[],B(D),L.length&&R.push(L)}),R}},53984:function(Q,re,w){var M=w(89126);Q.exports=G;function G(I,R,L){M.isArray(R)||(R=[R]);var B=(I.isDirected()?I.successors:I.neighbors).bind(I),D=[],_={};return M.each(R,function(j){if(!I.hasNode(j))throw new Error("Graph does not have node: "+j);z(I,j,L==="post",_,B,D)}),D}function z(I,R,L,B,D,_){M.has(B,R)||(B[R]=!0,L||_.push(R),M.each(D(R),function(j){z(I,j,L,B,D,_)}),L&&_.push(R))}},84847:function(Q,re,w){var M=w(63763),G=w(89126);Q.exports=z;function z(I,R,L){return G.transform(I.nodes(),function(B,D){B[D]=M(I,D,R,L)},{})}},63763:function(Q,re,w){var M=w(89126),G=w(75639);Q.exports=I;var z=M.constant(1);function I(L,B,D,_){return R(L,String(B),D||z,_||function(j){return L.outEdges(j)})}function R(L,B,D,_){var j={},N=new G,V,ne,ee=function(fe){var he=fe.v!==V?fe.v:fe.w,K=j[he],se=D(fe),le=ne.distance+se;if(se<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+fe+" Weight: "+se);le<K.distance&&(K.distance=le,K.predecessor=V,N.decrease(he,le))};for(L.nodes().forEach(function(fe){var he=fe===B?0:Number.POSITIVE_INFINITY;j[fe]={distance:he},N.add(fe,he)});N.size()>0&&(V=N.removeMin(),ne=j[V],ne.distance!==Number.POSITIVE_INFINITY);)_(V).forEach(ee);return j}},9096:function(Q,re,w){var M=w(89126),G=w(5023);Q.exports=z;function z(I){return M.filter(G(I),function(R){return R.length>1||R.length===1&&I.hasEdge(R[0],R[0])})}},38924:function(Q,re,w){var M=w(89126);Q.exports=z;var G=M.constant(1);function z(R,L,B){return I(R,L||G,B||function(D){return R.outEdges(D)})}function I(R,L,B){var D={},_=R.nodes();return _.forEach(function(j){D[j]={},D[j][j]={distance:0},_.forEach(function(N){j!==N&&(D[j][N]={distance:Number.POSITIVE_INFINITY})}),B(j).forEach(function(N){var V=N.v===j?N.w:N.v,ne=L(N);D[j][V]={distance:ne,predecessor:j}})}),_.forEach(function(j){var N=D[j];_.forEach(function(V){var ne=D[V];_.forEach(function(ee){var fe=ne[j],he=N[ee],K=ne[ee],se=fe.distance+he.distance;se<K.distance&&(K.distance=se,K.predecessor=he.predecessor)})})}),D}},12440:function(Q,re,w){Q.exports={components:w(2842),dijkstra:w(63763),dijkstraAll:w(84847),findCycles:w(9096),floydWarshall:w(38924),isAcyclic:w(62707),postorder:w(58828),preorder:w(92648),prim:w(80514),tarjan:w(5023),topsort:w(2166)}},62707:function(Q,re,w){var M=w(2166);Q.exports=G;function G(z){try{M(z)}catch(I){if(I instanceof M.CycleException)return!1;throw I}return!0}},58828:function(Q,re,w){var M=w(53984);Q.exports=G;function G(z,I){return M(z,I,"post")}},92648:function(Q,re,w){var M=w(53984);Q.exports=G;function G(z,I){return M(z,I,"pre")}},80514:function(Q,re,w){var M=w(89126),G=w(30771),z=w(75639);Q.exports=I;function I(R,L){var B=new G,D={},_=new z,j;function N(ne){var ee=ne.v===j?ne.w:ne.v,fe=_.priority(ee);if(fe!==void 0){var he=L(ne);he<fe&&(D[ee]=j,_.decrease(ee,he))}}if(R.nodeCount()===0)return B;M.each(R.nodes(),function(ne){_.add(ne,Number.POSITIVE_INFINITY),B.setNode(ne)}),_.decrease(R.nodes()[0],0);for(var V=!1;_.size()>0;){if(j=_.removeMin(),M.has(D,j))B.setEdge(j,D[j]);else{if(V)throw new Error("Input graph is not connected: "+R);V=!0}R.nodeEdges(j).forEach(N)}return B}},5023:function(Q,re,w){var M=w(89126);Q.exports=G;function G(z){var I=0,R=[],L={},B=[];function D(_){var j=L[_]={onStack:!0,lowlink:I,index:I++};if(R.push(_),z.successors(_).forEach(function(ne){M.has(L,ne)?L[ne].onStack&&(j.lowlink=Math.min(j.lowlink,L[ne].index)):(D(ne),j.lowlink=Math.min(j.lowlink,L[ne].lowlink))}),j.lowlink===j.index){var N=[],V;do V=R.pop(),L[V].onStack=!1,N.push(V);while(_!==V);B.push(N)}}return z.nodes().forEach(function(_){M.has(L,_)||D(_)}),B}},2166:function(Q,re,w){var M=w(89126);Q.exports=G,G.CycleException=z;function G(I){var R={},L={},B=[];function D(_){if(M.has(L,_))throw new z;M.has(R,_)||(L[_]=!0,R[_]=!0,M.each(I.predecessors(_),D),delete L[_],B.push(_))}if(M.each(I.sinks(),D),M.size(R)!==I.nodeCount())throw new z;return B}function z(){}z.prototype=new Error},75639:function(Q,re,w){var M=w(89126);Q.exports=G;function G(){this._arr=[],this._keyIndices={}}G.prototype.size=function(){return this._arr.length},G.prototype.keys=function(){return this._arr.map(function(z){return z.key})},G.prototype.has=function(z){return M.has(this._keyIndices,z)},G.prototype.priority=function(z){var I=this._keyIndices[z];if(I!==void 0)return this._arr[I].priority},G.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},G.prototype.add=function(z,I){var R=this._keyIndices;if(z=String(z),!M.has(R,z)){var L=this._arr,B=L.length;return R[z]=B,L.push({key:z,priority:I}),this._decrease(B),!0}return!1},G.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var z=this._arr.pop();return delete this._keyIndices[z.key],this._heapify(0),z.key},G.prototype.decrease=function(z,I){var R=this._keyIndices[z];if(I>this._arr[R].priority)throw new Error("New priority is greater than current priority. Key: "+z+" Old: "+this._arr[R].priority+" New: "+I);this._arr[R].priority=I,this._decrease(R)},G.prototype._heapify=function(z){var I=this._arr,R=2*z,L=R+1,B=z;R<I.length&&(B=I[R].priority<I[B].priority?R:B,L<I.length&&(B=I[L].priority<I[B].priority?L:B),B!==z&&(this._swap(z,B),this._heapify(B)))},G.prototype._decrease=function(z){for(var I=this._arr,R=I[z].priority,L;z!==0&&(L=z>>1,!(I[L].priority<R));)this._swap(z,L),z=L},G.prototype._swap=function(z,I){var R=this._arr,L=this._keyIndices,B=R[z],D=R[I];R[z]=D,R[I]=B,L[D.key]=z,L[B.key]=I}},30771:function(Q,re,w){"use strict";var M=w(89126);Q.exports=R;var G="\0",z="\0",I="";function R(N){this._isDirected=M.has(N,"directed")?N.directed:!0,this._isMultigraph=M.has(N,"multigraph")?N.multigraph:!1,this._isCompound=M.has(N,"compound")?N.compound:!1,this._label=void 0,this._defaultNodeLabelFn=M.constant(void 0),this._defaultEdgeLabelFn=M.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[z]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}R.prototype._nodeCount=0,R.prototype._edgeCount=0,R.prototype.isDirected=function(){return this._isDirected},R.prototype.isMultigraph=function(){return this._isMultigraph},R.prototype.isCompound=function(){return this._isCompound},R.prototype.setGraph=function(N){return this._label=N,this},R.prototype.graph=function(){return this._label},R.prototype.setDefaultNodeLabel=function(N){return M.isFunction(N)||(N=M.constant(N)),this._defaultNodeLabelFn=N,this},R.prototype.nodeCount=function(){return this._nodeCount},R.prototype.nodes=function(){return M.keys(this._nodes)},R.prototype.sources=function(){var N=this;return M.filter(this.nodes(),function(V){return M.isEmpty(N._in[V])})},R.prototype.sinks=function(){var N=this;return M.filter(this.nodes(),function(V){return M.isEmpty(N._out[V])})},R.prototype.setNodes=function(N,V){var ne=arguments,ee=this;return M.each(N,function(fe){ne.length>1?ee.setNode(fe,V):ee.setNode(fe)}),this},R.prototype.setNode=function(N,V){return M.has(this._nodes,N)?(arguments.length>1&&(this._nodes[N]=V),this):(this._nodes[N]=arguments.length>1?V:this._defaultNodeLabelFn(N),this._isCompound&&(this._parent[N]=z,this._children[N]={},this._children[z][N]=!0),this._in[N]={},this._preds[N]={},this._out[N]={},this._sucs[N]={},++this._nodeCount,this)},R.prototype.node=function(N){return this._nodes[N]},R.prototype.hasNode=function(N){return M.has(this._nodes,N)},R.prototype.removeNode=function(N){var V=this;if(M.has(this._nodes,N)){var ne=function(ee){V.removeEdge(V._edgeObjs[ee])};delete this._nodes[N],this._isCompound&&(this._removeFromParentsChildList(N),delete this._parent[N],M.each(this.children(N),function(ee){V.setParent(ee)}),delete this._children[N]),M.each(M.keys(this._in[N]),ne),delete this._in[N],delete this._preds[N],M.each(M.keys(this._out[N]),ne),delete this._out[N],delete this._sucs[N],--this._nodeCount}return this},R.prototype.setParent=function(N,V){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(M.isUndefined(V))V=z;else{V+="";for(var ne=V;!M.isUndefined(ne);ne=this.parent(ne))if(ne===N)throw new Error("Setting "+V+" as parent of "+N+" would create a cycle");this.setNode(V)}return this.setNode(N),this._removeFromParentsChildList(N),this._parent[N]=V,this._children[V][N]=!0,this},R.prototype._removeFromParentsChildList=function(N){delete this._children[this._parent[N]][N]},R.prototype.parent=function(N){if(this._isCompound){var V=this._parent[N];if(V!==z)return V}},R.prototype.children=function(N){if(M.isUndefined(N)&&(N=z),this._isCompound){var V=this._children[N];if(V)return M.keys(V)}else{if(N===z)return this.nodes();if(this.hasNode(N))return[]}},R.prototype.predecessors=function(N){var V=this._preds[N];if(V)return M.keys(V)},R.prototype.successors=function(N){var V=this._sucs[N];if(V)return M.keys(V)},R.prototype.neighbors=function(N){var V=this.predecessors(N);if(V)return M.union(V,this.successors(N))},R.prototype.isLeaf=function(N){var V;return this.isDirected()?V=this.successors(N):V=this.neighbors(N),V.length===0},R.prototype.filterNodes=function(N){var V=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});V.setGraph(this.graph());var ne=this;M.each(this._nodes,function(he,K){N(K)&&V.setNode(K,he)}),M.each(this._edgeObjs,function(he){V.hasNode(he.v)&&V.hasNode(he.w)&&V.setEdge(he,ne.edge(he))});var ee={};function fe(he){var K=ne.parent(he);return K===void 0||V.hasNode(K)?(ee[he]=K,K):K in ee?ee[K]:fe(K)}return this._isCompound&&M.each(V.nodes(),function(he){V.setParent(he,fe(he))}),V},R.prototype.setDefaultEdgeLabel=function(N){return M.isFunction(N)||(N=M.constant(N)),this._defaultEdgeLabelFn=N,this},R.prototype.edgeCount=function(){return this._edgeCount},R.prototype.edges=function(){return M.values(this._edgeObjs)},R.prototype.setPath=function(N,V){var ne=this,ee=arguments;return M.reduce(N,function(fe,he){return ee.length>1?ne.setEdge(fe,he,V):ne.setEdge(fe,he),he}),this},R.prototype.setEdge=function(){var N,V,ne,ee,fe=!1,he=arguments[0];typeof he=="object"&&he!==null&&"v"in he?(N=he.v,V=he.w,ne=he.name,arguments.length===2&&(ee=arguments[1],fe=!0)):(N=he,V=arguments[1],ne=arguments[3],arguments.length>2&&(ee=arguments[2],fe=!0)),N=""+N,V=""+V,M.isUndefined(ne)||(ne=""+ne);var K=D(this._isDirected,N,V,ne);if(M.has(this._edgeLabels,K))return fe&&(this._edgeLabels[K]=ee),this;if(!M.isUndefined(ne)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(N),this.setNode(V),this._edgeLabels[K]=fe?ee:this._defaultEdgeLabelFn(N,V,ne);var se=_(this._isDirected,N,V,ne);return N=se.v,V=se.w,Object.freeze(se),this._edgeObjs[K]=se,L(this._preds[V],N),L(this._sucs[N],V),this._in[V][K]=se,this._out[N][K]=se,this._edgeCount++,this},R.prototype.edge=function(N,V,ne){var ee=arguments.length===1?j(this._isDirected,arguments[0]):D(this._isDirected,N,V,ne);return this._edgeLabels[ee]},R.prototype.hasEdge=function(N,V,ne){var ee=arguments.length===1?j(this._isDirected,arguments[0]):D(this._isDirected,N,V,ne);return M.has(this._edgeLabels,ee)},R.prototype.removeEdge=function(N,V,ne){var ee=arguments.length===1?j(this._isDirected,arguments[0]):D(this._isDirected,N,V,ne),fe=this._edgeObjs[ee];return fe&&(N=fe.v,V=fe.w,delete this._edgeLabels[ee],delete this._edgeObjs[ee],B(this._preds[V],N),B(this._sucs[N],V),delete this._in[V][ee],delete this._out[N][ee],this._edgeCount--),this},R.prototype.inEdges=function(N,V){var ne=this._in[N];if(ne){var ee=M.values(ne);return V?M.filter(ee,function(fe){return fe.v===V}):ee}},R.prototype.outEdges=function(N,V){var ne=this._out[N];if(ne){var ee=M.values(ne);return V?M.filter(ee,function(fe){return fe.w===V}):ee}},R.prototype.nodeEdges=function(N,V){var ne=this.inEdges(N,V);if(ne)return ne.concat(this.outEdges(N,V))};function L(N,V){N[V]?N[V]++:N[V]=1}function B(N,V){--N[V]||delete N[V]}function D(N,V,ne,ee){var fe=""+V,he=""+ne;if(!N&&fe>he){var K=fe;fe=he,he=K}return fe+I+he+I+(M.isUndefined(ee)?G:ee)}function _(N,V,ne,ee){var fe=""+V,he=""+ne;if(!N&&fe>he){var K=fe;fe=he,he=K}var se={v:fe,w:he};return ee&&(se.name=ee),se}function j(N,V){return D(N,V.v,V.w,V.name)}},82354:function(Q,re,w){Q.exports={Graph:w(30771),version:w(49631)}},28974:function(Q,re,w){var M=w(89126),G=w(30771);Q.exports={write:z,read:L};function z(B){var D={options:{directed:B.isDirected(),multigraph:B.isMultigraph(),compound:B.isCompound()},nodes:I(B),edges:R(B)};return M.isUndefined(B.graph())||(D.value=M.clone(B.graph())),D}function I(B){return M.map(B.nodes(),function(D){var _=B.node(D),j=B.parent(D),N={v:D};return M.isUndefined(_)||(N.value=_),M.isUndefined(j)||(N.parent=j),N})}function R(B){return M.map(B.edges(),function(D){var _=B.edge(D),j={v:D.v,w:D.w};return M.isUndefined(D.name)||(j.name=D.name),M.isUndefined(_)||(j.value=_),j})}function L(B){var D=new G(B.options).setGraph(B.value);return M.each(B.nodes,function(_){D.setNode(_.v,_.value),_.parent&&D.setParent(_.v,_.parent)}),M.each(B.edges,function(_){D.setEdge({v:_.v,w:_.w,name:_.name},_.value)}),D}},89126:function(Q,re,w){var M;try{M={clone:w(66678),constant:w(75703),each:w(85768),filter:w(63105),has:w(18721),isArray:w(1469),isEmpty:w(41609),isFunction:w(23560),isUndefined:w(52353),keys:w(3674),map:w(35161),reduce:w(54061),size:w(84238),transform:w(68718),union:w(93386),values:w(52628)}}catch(G){}M||(M=window._),Q.exports=M},49631:function(Q){Q.exports="2.1.8"},80817:function(Q){function re(z,I,R){return(I[0]-z[0])*(R[1]-z[1])-(I[1]-z[1])*(R[0]-z[0])}function w(z){const I=[];for(let R=0;R<z.length;R++){for(;I.length>=2&&re(I[I.length-2],I[I.length-1],z[R])<=0;)I.pop();I.push(z[R])}return I.pop(),I}function M(z){const I=z.reverse(),R=[];for(let L=0;L<I.length;L++){for(;R.length>=2&&re(R[R.length-2],R[R.length-1],I[L])<=0;)R.pop();R.push(I[L])}return R.pop(),R}function G(z){const I=w(z),L=M(z).concat(I);return L.push(z[0]),L}Q.exports=G},63652:function(Q){Q.exports={toXy:function(re,w){return w===void 0?re.slice():re.map(function(M){return new Function("pt","return [pt"+w[0]+",pt"+w[1]+"];")(M)})},fromXy:function(re,w){return w===void 0?re.slice():re.map(function(M){return new Function("pt","const o = {}; o"+w[0]+"= pt[0]; o"+w[1]+"= pt[1]; return o;")(M)})}}},58867:function(Q){function re(M,G){this._cells=[],this._cellSize=G,this._reverseCellSize=1/G;for(let z=0;z<M.length;z++){const I=M[z],R=this.coordToCellNum(I[0]),L=this.coordToCellNum(I[1]);if(this._cells[R])this._cells[R][L]?this._cells[R][L].push(I):this._cells[R][L]=[I];else{const B=[];B[L]=[I],this._cells[R]=B}}}re.prototype={cellPoints:function(M,G){return this._cells[M]!==void 0&&this._cells[M][G]!==void 0?this._cells[M][G]:[]},rangePoints:function(M){const G=this.coordToCellNum(M[0]),z=this.coordToCellNum(M[1]),I=this.coordToCellNum(M[2]),R=this.coordToCellNum(M[3]),L=[];for(let B=G;B<=I;B++)for(let D=z;D<=R;D++)for(let _=0;_<this.cellPoints(B,D).length;_++)L.push(this.cellPoints(B,D)[_]);return L},removePoint:function(M){const G=this.coordToCellNum(M[0]),z=this.coordToCellNum(M[1]),I=this._cells[G][z];let R;for(let L=0;L<I.length;L++)if(I[L][0]===M[0]&&I[L][1]===M[1]){R=L;break}return I.splice(R,1),I},trunc:Math.trunc||function(M){return M-M%1},coordToCellNum:function(M){return this.trunc(M*this._reverseCellSize)},extendBbox:function(M,G){return[M[0]-G*this._cellSize,M[1]-G*this._cellSize,M[2]+G*this._cellSize,M[3]+G*this._cellSize]}};function w(M,G){return new re(M,G)}Q.exports=w},1344:function(Q,re,w){"use strict";const M=w(77444),G=w(58867),z=w(63652),I=w(80817);function R(K){const se=[K[0]];let le=K[0];for(let ye=1;ye<K.length;ye++){const be=K[ye];(le[0]!==be[0]||le[1]!==be[1])&&se.push(be),le=be}return se}function L(K){return K.sort(function(se,le){return se[0]-le[0]||se[1]-le[1]})}function B(K,se){return Math.pow(se[0]-K[0],2)+Math.pow(se[1]-K[1],2)}function D(K,se,le){const ye=[se[0]-K[0],se[1]-K[1]],be=[le[0]-K[0],le[1]-K[1]],Ee=B(K,se),Ne=B(K,le);return(ye[0]*be[0]+ye[1]*be[1])/Math.sqrt(Ee*Ne)}function _(K,se){for(let le=0;le<se.length-1;le++){const ye=[se[le],se[le+1]];if(!(K[0][0]===ye[0][0]&&K[0][1]===ye[0][1]||K[0][0]===ye[1][0]&&K[0][1]===ye[1][1])&&M(K,ye))return!0}return!1}function j(K){let se=1/0,le=1/0,ye=-1/0,be=-1/0;for(let Ee=K.length-1;Ee>=0;Ee--)K[Ee][0]<se&&(se=K[Ee][0]),K[Ee][1]<le&&(le=K[Ee][1]),K[Ee][0]>ye&&(ye=K[Ee][0]),K[Ee][1]>be&&(be=K[Ee][1]);return[ye-se,be-le]}function N(K){return[Math.min(K[0][0],K[1][0]),Math.min(K[0][1],K[1][1]),Math.max(K[0][0],K[1][0]),Math.max(K[0][1],K[1][1])]}function V(K,se,le){let ye=null,be=fe,Ee=fe,Ne,Pe;for(let xe=0;xe<se.length;xe++)Ne=D(K[0],K[1],se[xe]),Pe=D(K[1],K[0],se[xe]),Ne>be&&Pe>Ee&&!_([K[0],se[xe]],le)&&!_([K[1],se[xe]],le)&&(be=Ne,Ee=Pe,ye=se[xe]);return ye}function ne(K,se,le,ye,be){let Ee=!1;for(let Ne=0;Ne<K.length-1;Ne++){const Pe=[K[Ne],K[Ne+1]],xe=Pe[0][0]+","+Pe[0][1]+","+Pe[1][0]+","+Pe[1][1];if(B(Pe[0],Pe[1])<se||be.has(xe))continue;let ke=0,Le=N(Pe),Ie,Ye,Je;do Le=ye.extendBbox(Le,ke),Ie=Le[2]-Le[0],Ye=Le[3]-Le[1],Je=V(Pe,ye.rangePoints(Le),K),ke++;while(Je===null&&(le[0]>Ie||le[1]>Ye));Ie>=le[0]&&Ye>=le[1]&&be.add(xe),Je!==null&&(K.splice(Ne+1,0,Je),ye.removePoint(Je),Ee=!0)}return Ee?ne(K,se,le,ye,be):K}function ee(K,se,le){let ye=se||20;const be=R(L(z.toXy(K,le)));if(be.length<4){const Ie=be.concat([be[0]]);return le?z.fromXy(Ie,le):Ie}const Ee=j(be),Ne=[Ee[0]*he,Ee[1]*he],Pe=I(be),xe=be.filter(function(Ie){return Pe.indexOf(Ie)<0}),ke=Math.ceil(1/(be.length/(Ee[0]*Ee[1]))),Le=ne(Pe,Math.pow(ye,2),Ne,G(xe,ke),new Set);return le?z.fromXy(Le,le):Le}const fe=Math.cos(90/(180/Math.PI)),he=.6;Q.exports=ee},77444:function(Q){function re(M,G,z,I,R,L){const B=(L-G)*(z-M)-(I-G)*(R-M);return B>0?!0:!(B<0)}function w(M,G){const z=M[0][0],I=M[0][1],R=M[1][0],L=M[1][1],B=G[0][0],D=G[0][1],_=G[1][0],j=G[1][1];return re(z,I,B,D,_,j)!==re(R,L,B,D,_,j)&&re(z,I,R,L,B,D)!==re(z,I,R,L,_,j)}Q.exports=w},44091:function(Q,re,w){"use strict";w.r(re),w.d(re,{isAnyArray:function(){return G}});const M=Object.prototype.toString;function G(z){const I=M.call(z);return I.endsWith("Array]")&&!I.includes("Big")}},18552:function(Q,re,w){var M=w(10852),G=w(55639),z=M(G,"DataView");Q.exports=z},53818:function(Q,re,w){var M=w(10852),G=w(55639),z=M(G,"Promise");Q.exports=z},58525:function(Q,re,w){var M=w(10852),G=w(55639),z=M(G,"Set");Q.exports=z},88668:function(Q,re,w){var M=w(83369),G=w(90619),z=w(72385);function I(R){var L=-1,B=R==null?0:R.length;for(this.__data__=new M;++L<B;)this.add(R[L])}I.prototype.add=I.prototype.push=G,I.prototype.has=z,Q.exports=I},70577:function(Q,re,w){var M=w(10852),G=w(55639),z=M(G,"WeakMap");Q.exports=z},77412:function(Q){function re(w,M){for(var G=-1,z=w==null?0:w.length;++G<z&&M(w[G],G,w)!==!1;);return w}Q.exports=re},34963:function(Q){function re(w,M){for(var G=-1,z=w==null?0:w.length,I=0,R=[];++G<z;){var L=w[G];M(L,G,w)&&(R[I++]=L)}return R}Q.exports=re},47443:function(Q,re,w){var M=w(42118);function G(z,I){var R=z==null?0:z.length;return!!R&&M(z,I,0)>-1}Q.exports=G},1196:function(Q){function re(w,M,G){for(var z=-1,I=w==null?0:w.length;++z<I;)if(G(M,w[z]))return!0;return!1}Q.exports=re},29932:function(Q){function re(w,M){for(var G=-1,z=w==null?0:w.length,I=Array(z);++G<z;)I[G]=M(w[G],G,w);return I}Q.exports=re},62488:function(Q){function re(w,M){for(var G=-1,z=M.length,I=w.length;++G<z;)w[I+G]=M[G];return w}Q.exports=re},62663:function(Q){function re(w,M,G,z){var I=-1,R=w==null?0:w.length;for(z&&R&&(G=w[++I]);++I<R;)G=M(G,w[I],I,w);return G}Q.exports=re},82908:function(Q){function re(w,M){for(var G=-1,z=w==null?0:w.length;++G<z;)if(M(w[G],G,w))return!0;return!1}Q.exports=re},48983:function(Q,re,w){var M=w(40371),G=M("length");Q.exports=G},71631:function(Q,re,w){var M=w(98363),G=w(3674);function z(I,R){return I&&M(R,G(R),I)}Q.exports=z},63886:function(Q,re,w){var M=w(98363),G=w(81704);function z(I,R){return I&&M(R,G(R),I)}Q.exports=z},85990:function(Q,re,w){var M=w(46384),G=w(77412),z=w(34865),I=w(71631),R=w(63886),L=w(64626),B=w(278),D=w(18805),_=w(1911),j=w(58234),N=w(46904),V=w(64160),ne=w(43824),ee=w(29148),fe=w(38517),he=w(1469),K=w(44144),se=w(56688),le=w(13218),ye=w(72928),be=w(3674),Ee=w(81704),Ne=1,Pe=2,xe=4,ke="[object Arguments]",Le="[object Array]",Ie="[object Boolean]",Ye="[object Date]",Je="[object Error]",at="[object Function]",bt="[object GeneratorFunction]",$t="[object Map]",tr="[object Number]",Wr="[object Object]",Ga="[object RegExp]",cs="[object Set]",Me="[object String]",De="[object Symbol]",ze="[object WeakMap]",me="[object ArrayBuffer]",Te="[object DataView]",Ae="[object Float32Array]",He="[object Float64Array]",xt="[object Int8Array]",Ft="[object Int16Array]",St="[object Int32Array]",Yt="[object Uint8Array]",Un="[object Uint8ClampedArray]",jn="[object Uint16Array]",Dt="[object Uint32Array]",Nt={};Nt[ke]=Nt[Le]=Nt[me]=Nt[Te]=Nt[Ie]=Nt[Ye]=Nt[Ae]=Nt[He]=Nt[xt]=Nt[Ft]=Nt[St]=Nt[$t]=Nt[tr]=Nt[Wr]=Nt[Ga]=Nt[cs]=Nt[Me]=Nt[De]=Nt[Yt]=Nt[Un]=Nt[jn]=Nt[Dt]=!0,Nt[Je]=Nt[at]=Nt[ze]=!1;function wt(It,Sr,hs,ft,po,Qr){var fn,dn=Sr&Ne,Yi=Sr&Pe,Ha=Sr&xe;if(hs&&(fn=po?hs(It,ft,po,Qr):hs(It)),fn!==void 0)return fn;if(!le(It))return It;var yu=he(It);if(yu){if(fn=ne(It),!dn)return B(It,fn)}else{var fs=V(It),bu=fs==at||fs==bt;if(K(It))return L(It,dn);if(fs==Wr||fs==ke||bu&&!po){if(fn=Yi||bu?{}:fe(It),!dn)return Yi?_(It,R(fn,It)):D(It,I(fn,It))}else{if(!Nt[fs])return po?It:{};fn=ee(It,fs,dn)}}Qr||(Qr=new M);var Dn=Qr.get(It);if(Dn)return Dn;Qr.set(It,fn),ye(It)?It.forEach(function(ga){fn.add(wt(ga,Sr,hs,ga,It,Qr))}):se(It)&&It.forEach(function(ga,pa){fn.set(pa,wt(ga,Sr,hs,pa,It,Qr))});var ds=Ha?Yi?N:j:Yi?Ee:be,mo=yu?void 0:ds(It);return G(mo||It,function(ga,pa){mo&&(pa=ga,ga=It[pa]),z(fn,pa,wt(ga,Sr,hs,pa,It,Qr))}),fn}Q.exports=wt},89881:function(Q,re,w){var M=w(47816),G=w(99291),z=G(M);Q.exports=z},56029:function(Q,re,w){var M=w(33448);function G(z,I,R){for(var L=-1,B=z.length;++L<B;){var D=z[L],_=I(D);if(_!=null&&(j===void 0?_===_&&!M(_):R(_,j)))var j=_,N=D}return N}Q.exports=G},80760:function(Q,re,w){var M=w(89881);function G(z,I){var R=[];return M(z,function(L,B,D){I(L,B,D)&&R.push(L)}),R}Q.exports=G},41848:function(Q){function re(w,M,G,z){for(var I=w.length,R=G+(z?1:-1);z?R--:++R<I;)if(M(w[R],R,w))return R;return-1}Q.exports=re},21078:function(Q,re,w){var M=w(62488),G=w(37285);function z(I,R,L,B,D){var _=-1,j=I.length;for(L||(L=G),D||(D=[]);++_<j;){var N=I[_];R>0&&L(N)?R>1?z(N,R-1,L,B,D):M(D,N):B||(D[D.length]=N)}return D}Q.exports=z},47816:function(Q,re,w){var M=w(28483),G=w(3674);function z(I,R){return I&&M(I,R,G)}Q.exports=z},97786:function(Q,re,w){var M=w(71811),G=w(40327);function z(I,R){R=M(R,I);for(var L=0,B=R.length;I!=null&&L<B;)I=I[G(R[L++])];return L&&L==B?I:void 0}Q.exports=z},68866:function(Q,re,w){var M=w(62488),G=w(1469);function z(I,R,L){var B=R(I);return G(I)?B:M(B,L(I))}Q.exports=z},53325:function(Q){function re(w,M){return w>M}Q.exports=re},78565:function(Q){var re=Object.prototype,w=re.hasOwnProperty;function M(G,z){return G!=null&&w.call(G,z)}Q.exports=M},13:function(Q){function re(w,M){return w!=null&&M in Object(w)}Q.exports=re},42118:function(Q,re,w){var M=w(41848),G=w(62722),z=w(42351);function I(R,L,B){return L===L?z(R,L,B):M(R,G,B)}Q.exports=I},90939:function(Q,re,w){var M=w(2492),G=w(37005);function z(I,R,L,B,D){return I===R?!0:I==null||R==null||!G(I)&&!G(R)?I!==I&&R!==R:M(I,R,L,B,z,D)}Q.exports=z},2492:function(Q,re,w){var M=w(46384),G=w(67114),z=w(18351),I=w(16096),R=w(64160),L=w(1469),B=w(44144),D=w(36719),_=1,j="[object Arguments]",N="[object Array]",V="[object Object]",ne=Object.prototype,ee=ne.hasOwnProperty;function fe(he,K,se,le,ye,be){var Ee=L(he),Ne=L(K),Pe=Ee?N:R(he),xe=Ne?N:R(K);Pe=Pe==j?V:Pe,xe=xe==j?V:xe;var ke=Pe==V,Le=xe==V,Ie=Pe==xe;if(Ie&&B(he)){if(!B(K))return!1;Ee=!0,ke=!1}if(Ie&&!ke)return be||(be=new M),Ee||D(he)?G(he,K,se,le,ye,be):z(he,K,Pe,se,le,ye,be);if(!(se&_)){var Ye=ke&&ee.call(he,"__wrapped__"),Je=Le&&ee.call(K,"__wrapped__");if(Ye||Je){var at=Ye?he.value():he,bt=Je?K.value():K;return be||(be=new M),ye(at,bt,se,le,be)}}return Ie?(be||(be=new M),I(he,K,se,le,ye,be)):!1}Q.exports=fe},25588:function(Q,re,w){var M=w(64160),G=w(37005),z="[object Map]";function I(R){return G(R)&&M(R)==z}Q.exports=I},2958:function(Q,re,w){var M=w(46384),G=w(90939),z=1,I=2;function R(L,B,D,_){var j=D.length,N=j,V=!_;if(L==null)return!N;for(L=Object(L);j--;){var ne=D[j];if(V&&ne[2]?ne[1]!==L[ne[0]]:!(ne[0]in L))return!1}for(;++j<N;){ne=D[j];var ee=ne[0],fe=L[ee],he=ne[1];if(V&&ne[2]){if(fe===void 0&&!(ee in L))return!1}else{var K=new M;if(_)var se=_(fe,he,ee,L,B,K);if(!(se===void 0?G(he,fe,z|I,_,K):se))return!1}}return!0}Q.exports=R},62722:function(Q){function re(w){return w!==w}Q.exports=re},29221:function(Q,re,w){var M=w(64160),G=w(37005),z="[object Set]";function I(R){return G(R)&&M(R)==z}Q.exports=I},67206:function(Q,re,w){var M=w(91573),G=w(16432),z=w(6557),I=w(1469),R=w(39601);function L(B){return typeof B=="function"?B:B==null?z:typeof B=="object"?I(B)?G(B[0],B[1]):M(B):R(B)}Q.exports=L},280:function(Q,re,w){var M=w(25726),G=w(86916),z=Object.prototype,I=z.hasOwnProperty;function R(L){if(!M(L))return G(L);var B=[];for(var D in Object(L))I.call(L,D)&&D!="constructor"&&B.push(D);return B}Q.exports=R},70433:function(Q){function re(w,M){return w<M}Q.exports=re},69199:function(Q,re,w){var M=w(89881),G=w(98612);function z(I,R){var L=-1,B=G(I)?Array(I.length):[];return M(I,function(D,_,j){B[++L]=R(D,_,j)}),B}Q.exports=z},91573:function(Q,re,w){var M=w(2958),G=w(1499),z=w(42634);function I(R){var L=G(R);return L.length==1&&L[0][2]?z(L[0][0],L[0][1]):function(B){return B===R||M(B,R,L)}}Q.exports=I},16432:function(Q,re,w){var M=w(90939),G=w(27361),z=w(79095),I=w(15403),R=w(89162),L=w(42634),B=w(40327),D=1,_=2;function j(N,V){return I(N)&&R(V)?L(B(N),V):function(ne){var ee=G(ne,N);return ee===void 0&&ee===V?z(ne,N):M(V,ee,D|_)}}Q.exports=j},82689:function(Q,re,w){var M=w(29932),G=w(97786),z=w(67206),I=w(69199),R=w(63922),L=w(7518),B=w(85022),D=w(6557),_=w(1469);function j(N,V,ne){V.length?V=M(V,function(he){return _(he)?function(K){return G(K,he.length===1?he[0]:he)}:he}):V=[D];var ee=-1;V=M(V,L(z));var fe=I(N,function(he,K,se){var le=M(V,function(ye){return ye(he)});return{criteria:le,index:++ee,value:he}});return R(fe,function(he,K){return B(he,K,ne)})}Q.exports=j},25970:function(Q,re,w){var M=w(63012),G=w(79095);function z(I,R){return M(I,R,function(L,B){return G(I,B)})}Q.exports=z},63012:function(Q,re,w){var M=w(97786),G=w(10611),z=w(71811);function I(R,L,B){for(var D=-1,_=L.length,j={};++D<_;){var N=L[D],V=M(R,N);B(V,N)&&G(j,z(N,R),V)}return j}Q.exports=I},40371:function(Q){function re(w){return function(M){return M==null?void 0:M[w]}}Q.exports=re},79152:function(Q,re,w){var M=w(97786);function G(z){return function(I){return M(I,z)}}Q.exports=G},40098:function(Q){var re=Math.ceil,w=Math.max;function M(G,z,I,R){for(var L=-1,B=w(re((z-G)/(I||1)),0),D=Array(B);B--;)D[R?B:++L]=G,G+=I;return D}Q.exports=M},10107:function(Q){function re(w,M,G,z,I){return I(w,function(R,L,B){G=z?(z=!1,R):M(G,R,L,B)}),G}Q.exports=re},10611:function(Q,re,w){var M=w(34865),G=w(71811),z=w(65776),I=w(13218),R=w(40327);function L(B,D,_,j){if(!I(B))return B;D=G(D,B);for(var N=-1,V=D.length,ne=V-1,ee=B;ee!=null&&++N<V;){var fe=R(D[N]),he=_;if(fe==="__proto__"||fe==="constructor"||fe==="prototype")return B;if(N!=ne){var K=ee[fe];he=j?j(K,fe,ee):void 0,he===void 0&&(he=I(K)?K:z(D[N+1])?[]:{})}M(ee,fe,he),ee=ee[fe]}return B}Q.exports=L},63922:function(Q){function re(w,M){var G=w.length;for(w.sort(M);G--;)w[G]=w[G].value;return w}Q.exports=re},80531:function(Q,re,w){var M=w(62705),G=w(29932),z=w(1469),I=w(33448),R=1/0,L=M?M.prototype:void 0,B=L?L.toString:void 0;function D(_){if(typeof _=="string")return _;if(z(_))return G(_,D)+"";if(I(_))return B?B.call(_):"";var j=_+"";return j=="0"&&1/_==-R?"-0":j}Q.exports=D},27561:function(Q,re,w){var M=w(67990),G=/^\s+/;function z(I){return I&&I.slice(0,M(I)+1).replace(G,"")}Q.exports=z},45652:function(Q,re,w){var M=w(88668),G=w(47443),z=w(1196),I=w(74757),R=w(23593),L=w(21814),B=200;function D(_,j,N){var V=-1,ne=G,ee=_.length,fe=!0,he=[],K=he;if(N)fe=!1,ne=z;else if(ee>=B){var se=j?null:R(_);if(se)return L(se);fe=!1,ne=I,K=new M}else K=j?[]:he;e:for(;++V<ee;){var le=_[V],ye=j?j(le):le;if(le=N||le!==0?le:0,fe&&ye===ye){for(var be=K.length;be--;)if(K[be]===ye)continue e;j&&K.push(ye),he.push(le)}else ne(K,ye,N)||(K!==he&&K.push(ye),he.push(le))}return he}Q.exports=D},47415:function(Q,re,w){var M=w(29932);function G(z,I){return M(I,function(R){return z[R]})}Q.exports=G},1757:function(Q){function re(w,M,G){for(var z=-1,I=w.length,R=M.length,L={};++z<I;){var B=z<R?M[z]:void 0;G(L,w[z],B)}return L}Q.exports=re},74757:function(Q){function re(w,M){return w.has(M)}Q.exports=re},54290:function(Q,re,w){var M=w(6557);function G(z){return typeof z=="function"?z:M}Q.exports=G},71811:function(Q,re,w){var M=w(1469),G=w(15403),z=w(55514),I=w(79833);function R(L,B){return M(L)?L:G(L,B)?[L]:z(I(L))}Q.exports=R},57157:function(Q,re,w){var M=w(74318);function G(z,I){var R=I?M(z.buffer):z.buffer;return new z.constructor(R,z.byteOffset,z.byteLength)}Q.exports=G},93147:function(Q){var re=/\w*$/;function w(M){var G=new M.constructor(M.source,re.exec(M));return G.lastIndex=M.lastIndex,G}Q.exports=w},40419:function(Q,re,w){var M=w(62705),G=M?M.prototype:void 0,z=G?G.valueOf:void 0;function I(R){return z?Object(z.call(R)):{}}Q.exports=I},26393:function(Q,re,w){var M=w(33448);function G(z,I){if(z!==I){var R=z!==void 0,L=z===null,B=z===z,D=M(z),_=I!==void 0,j=I===null,N=I===I,V=M(I);if(!j&&!V&&!D&&z>I||D&&_&&N&&!j&&!V||L&&_&&N||!R&&N||!B)return 1;if(!L&&!D&&!V&&z<I||V&&R&&B&&!L&&!D||j&&R&&B||!_&&B||!N)return-1}return 0}Q.exports=G},85022:function(Q,re,w){var M=w(26393);function G(z,I,R){for(var L=-1,B=z.criteria,D=I.criteria,_=B.length,j=R.length;++L<_;){var N=M(B[L],D[L]);if(N){if(L>=j)return N;var V=R[L];return N*(V=="desc"?-1:1)}}return z.index-I.index}Q.exports=G},18805:function(Q,re,w){var M=w(98363),G=w(99551);function z(I,R){return M(I,G(I),R)}Q.exports=z},1911:function(Q,re,w){var M=w(98363),G=w(51442);function z(I,R){return M(I,G(I),R)}Q.exports=z},99291:function(Q,re,w){var M=w(98612);function G(z,I){return function(R,L){if(R==null)return R;if(!M(R))return z(R,L);for(var B=R.length,D=I?B:-1,_=Object(R);(I?D--:++D<B)&&L(_[D],D,_)!==!1;);return R}}Q.exports=G},67740:function(Q,re,w){var M=w(67206),G=w(98612),z=w(3674);function I(R){return function(L,B,D){var _=Object(L);if(!G(L)){var j=M(B,3);L=z(L),B=function(V){return j(_[V],V,_)}}var N=R(L,B,D);return N>-1?_[j?L[N]:N]:void 0}}Q.exports=I},47445:function(Q,re,w){var M=w(40098),G=w(16612),z=w(18601);function I(R){return function(L,B,D){return D&&typeof D!="number"&&G(L,B,D)&&(B=D=void 0),L=z(L),B===void 0?(B=L,L=0):B=z(B),D=D===void 0?L<B?1:-1:z(D),M(L,B,D,R)}}Q.exports=I},23593:function(Q,re,w){var M=w(58525),G=w(50308),z=w(21814),I=1/0,R=M&&1/z(new M([,-0]))[1]==I?function(L){return new M(L)}:G;Q.exports=R},67114:function(Q,re,w){var M=w(88668),G=w(82908),z=w(74757),I=1,R=2;function L(B,D,_,j,N,V){var ne=_&I,ee=B.length,fe=D.length;if(ee!=fe&&!(ne&&fe>ee))return!1;var he=V.get(B),K=V.get(D);if(he&&K)return he==D&&K==B;var se=-1,le=!0,ye=_&R?new M:void 0;for(V.set(B,D),V.set(D,B);++se<ee;){var be=B[se],Ee=D[se];if(j)var Ne=ne?j(Ee,be,se,D,B,V):j(be,Ee,se,B,D,V);if(Ne!==void 0){if(Ne)continue;le=!1;break}if(ye){if(!G(D,function(Pe,xe){if(!z(ye,xe)&&(be===Pe||N(be,Pe,_,j,V)))return ye.push(xe)})){le=!1;break}}else if(!(be===Ee||N(be,Ee,_,j,V))){le=!1;break}}return V.delete(B),V.delete(D),le}Q.exports=L},18351:function(Q,re,w){var M=w(62705),G=w(11149),z=w(77813),I=w(67114),R=w(68776),L=w(21814),B=1,D=2,_="[object Boolean]",j="[object Date]",N="[object Error]",V="[object Map]",ne="[object Number]",ee="[object RegExp]",fe="[object Set]",he="[object String]",K="[object Symbol]",se="[object ArrayBuffer]",le="[object DataView]",ye=M?M.prototype:void 0,be=ye?ye.valueOf:void 0;function Ee(Ne,Pe,xe,ke,Le,Ie,Ye){switch(xe){case le:if(Ne.byteLength!=Pe.byteLength||Ne.byteOffset!=Pe.byteOffset)return!1;Ne=Ne.buffer,Pe=Pe.buffer;case se:return!(Ne.byteLength!=Pe.byteLength||!Ie(new G(Ne),new G(Pe)));case _:case j:case ne:return z(+Ne,+Pe);case N:return Ne.name==Pe.name&&Ne.message==Pe.message;case ee:case he:return Ne==Pe+"";case V:var Je=R;case fe:var at=ke&B;if(Je||(Je=L),Ne.size!=Pe.size&&!at)return!1;var bt=Ye.get(Ne);if(bt)return bt==Pe;ke|=D,Ye.set(Ne,Pe);var $t=I(Je(Ne),Je(Pe),ke,Le,Ie,Ye);return Ye.delete(Ne),$t;case K:if(be)return be.call(Ne)==be.call(Pe)}return!1}Q.exports=Ee},16096:function(Q,re,w){var M=w(58234),G=1,z=Object.prototype,I=z.hasOwnProperty;function R(L,B,D,_,j,N){var V=D&G,ne=M(L),ee=ne.length,fe=M(B),he=fe.length;if(ee!=he&&!V)return!1;for(var K=ee;K--;){var se=ne[K];if(!(V?se in B:I.call(B,se)))return!1}var le=N.get(L),ye=N.get(B);if(le&&ye)return le==B&&ye==L;var be=!0;N.set(L,B),N.set(B,L);for(var Ee=V;++K<ee;){se=ne[K];var Ne=L[se],Pe=B[se];if(_)var xe=V?_(Pe,Ne,se,B,L,N):_(Ne,Pe,se,L,B,N);if(!(xe===void 0?Ne===Pe||j(Ne,Pe,D,_,N):xe)){be=!1;break}Ee||(Ee=se=="constructor")}if(be&&!Ee){var ke=L.constructor,Le=B.constructor;ke!=Le&&"constructor"in L&&"constructor"in B&&!(typeof ke=="function"&&ke instanceof ke&&typeof Le=="function"&&Le instanceof Le)&&(be=!1)}return N.delete(L),N.delete(B),be}Q.exports=R},99021:function(Q,re,w){var M=w(85564),G=w(45357),z=w(30061);function I(R){return z(G(R,void 0,M),R+"")}Q.exports=I},58234:function(Q,re,w){var M=w(68866),G=w(99551),z=w(3674);function I(R){return M(R,z,G)}Q.exports=I},46904:function(Q,re,w){var M=w(68866),G=w(51442),z=w(81704);function I(R){return M(R,z,G)}Q.exports=I},1499:function(Q,re,w){var M=w(89162),G=w(3674);function z(I){for(var R=G(I),L=R.length;L--;){var B=R[L],D=I[B];R[L]=[B,D,M(D)]}return R}Q.exports=z},99551:function(Q,re,w){var M=w(34963),G=w(70479),z=Object.prototype,I=z.propertyIsEnumerable,R=Object.getOwnPropertySymbols,L=R?function(B){return B==null?[]:(B=Object(B),M(R(B),function(D){return I.call(B,D)}))}:G;Q.exports=L},51442:function(Q,re,w){var M=w(62488),G=w(85924),z=w(99551),I=w(70479),R=Object.getOwnPropertySymbols,L=R?function(B){for(var D=[];B;)M(D,z(B)),B=G(B);return D}:I;Q.exports=L},64160:function(Q,re,w){var M=w(18552),G=w(57071),z=w(53818),I=w(58525),R=w(70577),L=w(44239),B=w(80346),D="[object Map]",_="[object Object]",j="[object Promise]",N="[object Set]",V="[object WeakMap]",ne="[object DataView]",ee=B(M),fe=B(G),he=B(z),K=B(I),se=B(R),le=L;(M&&le(new M(new ArrayBuffer(1)))!=ne||G&&le(new G)!=D||z&&le(z.resolve())!=j||I&&le(new I)!=N||R&&le(new R)!=V)&&(le=function(ye){var be=L(ye),Ee=be==_?ye.constructor:void 0,Ne=Ee?B(Ee):"";if(Ne)switch(Ne){case ee:return ne;case fe:return D;case he:return j;case K:return N;case se:return V}return be}),Q.exports=le},222:function(Q,re,w){var M=w(71811),G=w(35694),z=w(1469),I=w(65776),R=w(41780),L=w(40327);function B(D,_,j){_=M(_,D);for(var N=-1,V=_.length,ne=!1;++N<V;){var ee=L(_[N]);if(!(ne=D!=null&&j(D,ee)))break;D=D[ee]}return ne||++N!=V?ne:(V=D==null?0:D.length,!!V&&R(V)&&I(ee,V)&&(z(D)||G(D)))}Q.exports=B},62689:function(Q){var re="\\ud800-\\udfff",w="\\u0300-\\u036f",M="\\ufe20-\\ufe2f",G="\\u20d0-\\u20ff",z=w+M+G,I="\\ufe0e\\ufe0f",R="\\u200d",L=RegExp("["+R+re+z+I+"]");function B(D){return L.test(D)}Q.exports=B},43824:function(Q){var re=Object.prototype,w=re.hasOwnProperty;function M(G){var z=G.length,I=new G.constructor(z);return z&&typeof G[0]=="string"&&w.call(G,"index")&&(I.index=G.index,I.input=G.input),I}Q.exports=M},29148:function(Q,re,w){var M=w(74318),G=w(57157),z=w(93147),I=w(40419),R=w(77133),L="[object Boolean]",B="[object Date]",D="[object Map]",_="[object Number]",j="[object RegExp]",N="[object Set]",V="[object String]",ne="[object Symbol]",ee="[object ArrayBuffer]",fe="[object DataView]",he="[object Float32Array]",K="[object Float64Array]",se="[object Int8Array]",le="[object Int16Array]",ye="[object Int32Array]",be="[object Uint8Array]",Ee="[object Uint8ClampedArray]",Ne="[object Uint16Array]",Pe="[object Uint32Array]";function xe(ke,Le,Ie){var Ye=ke.constructor;switch(Le){case ee:return M(ke);case L:case B:return new Ye(+ke);case fe:return G(ke,Ie);case he:case K:case se:case le:case ye:case be:case Ee:case Ne:case Pe:return R(ke,Ie);case D:return new Ye;case _:case V:return new Ye(ke);case j:return z(ke);case N:return new Ye;case ne:return I(ke)}}Q.exports=xe},37285:function(Q,re,w){var M=w(62705),G=w(35694),z=w(1469),I=M?M.isConcatSpreadable:void 0;function R(L){return z(L)||G(L)||!!(I&&L&&L[I])}Q.exports=R},15403:function(Q,re,w){var M=w(1469),G=w(33448),z=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,I=/^\w*$/;function R(L,B){if(M(L))return!1;var D=typeof L;return D=="number"||D=="symbol"||D=="boolean"||L==null||G(L)?!0:I.test(L)||!z.test(L)||B!=null&&L in Object(B)}Q.exports=R},89162:function(Q,re,w){var M=w(13218);function G(z){return z===z&&!M(z)}Q.exports=G},68776:function(Q){function re(w){var M=-1,G=Array(w.size);return w.forEach(function(z,I){G[++M]=[I,z]}),G}Q.exports=re},42634:function(Q){function re(w,M){return function(G){return G==null?!1:G[w]===M&&(M!==void 0||w in Object(G))}}Q.exports=re},24523:function(Q,re,w){var M=w(88306),G=500;function z(I){var R=M(I,function(B){return L.size===G&&L.clear(),B}),L=R.cache;return R}Q.exports=z},86916:function(Q,re,w){var M=w(5569),G=M(Object.keys,Object);Q.exports=G},90619:function(Q){var re="__lodash_hash_undefined__";function w(M){return this.__data__.set(M,re),this}Q.exports=w},72385:function(Q){function re(w){return this.__data__.has(w)}Q.exports=re},21814:function(Q){function re(w){var M=-1,G=Array(w.size);return w.forEach(function(z){G[++M]=z}),G}Q.exports=re},42351:function(Q){function re(w,M,G){for(var z=G-1,I=w.length;++z<I;)if(w[z]===M)return z;return-1}Q.exports=re},88016:function(Q,re,w){var M=w(48983),G=w(62689),z=w(21903);function I(R){return G(R)?z(R):M(R)}Q.exports=I},55514:function(Q,re,w){var M=w(24523),G=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,z=/\\(\\)?/g,I=M(function(R){var L=[];return R.charCodeAt(0)===46&&L.push(""),R.replace(G,function(B,D,_,j){L.push(_?j.replace(z,"$1"):D||B)}),L});Q.exports=I},40327:function(Q,re,w){var M=w(33448),G=1/0;function z(I){if(typeof I=="string"||M(I))return I;var R=I+"";return R=="0"&&1/I==-G?"-0":R}Q.exports=z},67990:function(Q){var re=/\s/;function w(M){for(var G=M.length;G--&&re.test(M.charAt(G)););return G}Q.exports=w},21903:function(Q){var re="\\ud800-\\udfff",w="\\u0300-\\u036f",M="\\ufe20-\\ufe2f",G="\\u20d0-\\u20ff",z=w+M+G,I="\\ufe0e\\ufe0f",R="["+re+"]",L="["+z+"]",B="\\ud83c[\\udffb-\\udfff]",D="(?:"+L+"|"+B+")",_="[^"+re+"]",j="(?:\\ud83c[\\udde6-\\uddff]){2}",N="[\\ud800-\\udbff][\\udc00-\\udfff]",V="\\u200d",ne=D+"?",ee="["+I+"]?",fe="(?:"+V+"(?:"+[_,j,N].join("|")+")"+ee+ne+")*",he=ee+ne+fe,K="(?:"+[_+L+"?",L,j,N,R].join("|")+")",se=RegExp(B+"(?="+B+")|"+K+he,"g");function le(ye){for(var be=se.lastIndex=0;se.test(ye);)++be;return be}Q.exports=le},66678:function(Q,re,w){var M=w(85990),G=4;function z(I){return M(I,G)}Q.exports=z},50361:function(Q,re,w){var M=w(85990),G=1,z=4;function I(R){return M(R,G|z)}Q.exports=I},91747:function(Q,re,w){var M=w(5976),G=w(77813),z=w(16612),I=w(81704),R=Object.prototype,L=R.hasOwnProperty,B=M(function(D,_){D=Object(D);var j=-1,N=_.length,V=N>2?_[2]:void 0;for(V&&z(_[0],_[1],V)&&(N=1);++j<N;)for(var ne=_[j],ee=I(ne),fe=-1,he=ee.length;++fe<he;){var K=ee[fe],se=D[K];(se===void 0||G(se,R[K])&&!L.call(D,K))&&(D[K]=ne[K])}return D});Q.exports=B},85768:function(Q,re,w){Q.exports=w(84486)},63105:function(Q,re,w){var M=w(34963),G=w(80760),z=w(67206),I=w(1469);function R(L,B){var D=I(L)?M:G;return D(L,z(B,3))}Q.exports=R},13311:function(Q,re,w){var M=w(67740),G=w(30998),z=M(G);Q.exports=z},30998:function(Q,re,w){var M=w(41848),G=w(67206),z=w(40554),I=Math.max;function R(L,B,D){var _=L==null?0:L.length;if(!_)return-1;var j=D==null?0:z(D);return j<0&&(j=I(_+j,0)),M(L,G(B,3),j)}Q.exports=R},85564:function(Q,re,w){var M=w(21078);function G(z){var I=z==null?0:z.length;return I?M(z,1):[]}Q.exports=G},84486:function(Q,re,w){var M=w(77412),G=w(89881),z=w(54290),I=w(1469);function R(L,B){var D=I(L)?M:G;return D(L,z(B))}Q.exports=R},62620:function(Q,re,w){var M=w(28483),G=w(54290),z=w(81704);function I(R,L){return R==null?R:M(R,G(L),z)}Q.exports=I},27361:function(Q,re,w){var M=w(97786);function G(z,I,R){var L=z==null?void 0:M(z,I);return L===void 0?R:L}Q.exports=G},18721:function(Q,re,w){var M=w(78565),G=w(222);function z(I,R){return I!=null&&G(I,R,M)}Q.exports=z},79095:function(Q,re,w){var M=w(13),G=w(222);function z(I,R){return I!=null&&G(I,R,M)}Q.exports=z},41609:function(Q,re,w){var M=w(280),G=w(64160),z=w(35694),I=w(1469),R=w(98612),L=w(44144),B=w(25726),D=w(36719),_="[object Map]",j="[object Set]",N=Object.prototype,V=N.hasOwnProperty;function ne(ee){if(ee==null)return!0;if(R(ee)&&(I(ee)||typeof ee=="string"||typeof ee.splice=="function"||L(ee)||D(ee)||z(ee)))return!ee.length;var fe=G(ee);if(fe==_||fe==j)return!ee.size;if(B(ee))return!M(ee).length;for(var he in ee)if(V.call(ee,he))return!1;return!0}Q.exports=ne},56688:function(Q,re,w){var M=w(25588),G=w(7518),z=w(31167),I=z&&z.isMap,R=I?G(I):M;Q.exports=R},72928:function(Q,re,w){var M=w(29221),G=w(7518),z=w(31167),I=z&&z.isSet,R=I?G(I):M;Q.exports=R},47037:function(Q,re,w){var M=w(44239),G=w(1469),z=w(37005),I="[object String]";function R(L){return typeof L=="string"||!G(L)&&z(L)&&M(L)==I}Q.exports=R},33448:function(Q,re,w){var M=w(44239),G=w(37005),z="[object Symbol]";function I(R){return typeof R=="symbol"||G(R)&&M(R)==z}Q.exports=I},52353:function(Q){function re(w){return w===void 0}Q.exports=re},3674:function(Q,re,w){var M=w(14636),G=w(280),z=w(98612);function I(R){return z(R)?M(R):G(R)}Q.exports=I},10928:function(Q){function re(w){var M=w==null?0:w.length;return M?w[M-1]:void 0}Q.exports=re},35161:function(Q,re,w){var M=w(29932),G=w(67206),z=w(69199),I=w(1469);function R(L,B){var D=I(L)?M:z;return D(L,G(B,3))}Q.exports=R},8521:function(Q,re,w){var M=w(89465),G=w(47816),z=w(67206);function I(R,L){var B={};return L=z(L,3),G(R,function(D,_,j){M(B,_,L(D,_,j))}),B}Q.exports=I},6162:function(Q,re,w){var M=w(56029),G=w(53325),z=w(6557);function I(R){return R&&R.length?M(R,z,G):void 0}Q.exports=I},88306:function(Q,re,w){var M=w(83369),G="Expected a function";function z(I,R){if(typeof I!="function"||R!=null&&typeof R!="function")throw new TypeError(G);var L=function(){var B=arguments,D=R?R.apply(this,B):B[0],_=L.cache;if(_.has(D))return _.get(D);var j=I.apply(this,B);return L.cache=_.set(D,j)||_,j};return L.cache=new(z.Cache||M),L}z.Cache=M,Q.exports=z},53632:function(Q,re,w){var M=w(56029),G=w(70433),z=w(6557);function I(R){return R&&R.length?M(R,z,G):void 0}Q.exports=I},22762:function(Q,re,w){var M=w(56029),G=w(67206),z=w(70433);function I(R,L){return R&&R.length?M(R,G(L,2),z):void 0}Q.exports=I},50308:function(Q){function re(){}Q.exports=re},7771:function(Q,re,w){var M=w(55639),G=function(){return M.Date.now()};Q.exports=G},78718:function(Q,re,w){var M=w(25970),G=w(99021),z=G(function(I,R){return I==null?{}:M(I,R)});Q.exports=z},39601:function(Q,re,w){var M=w(40371),G=w(79152),z=w(15403),I=w(40327);function R(L){return z(L)?M(I(L)):G(L)}Q.exports=R},96026:function(Q,re,w){var M=w(47445),G=M();Q.exports=G},54061:function(Q,re,w){var M=w(62663),G=w(89881),z=w(67206),I=w(10107),R=w(1469);function L(B,D,_){var j=R(B)?M:I,N=arguments.length<3;return j(B,z(D,4),_,N,G)}Q.exports=L},84238:function(Q,re,w){var M=w(280),G=w(64160),z=w(98612),I=w(47037),R=w(88016),L="[object Map]",B="[object Set]";function D(_){if(_==null)return 0;if(z(_))return I(_)?R(_):_.length;var j=G(_);return j==L||j==B?_.size:M(_).length}Q.exports=D},89734:function(Q,re,w){var M=w(21078),G=w(82689),z=w(5976),I=w(16612),R=z(function(L,B){if(L==null)return[];var D=B.length;return D>1&&I(L,B[0],B[1])?B=[]:D>2&&I(B[0],B[1],B[2])&&(B=[B[0]]),G(L,M(B,1),[])});Q.exports=R},70479:function(Q){function re(){return[]}Q.exports=re},18601:function(Q,re,w){var M=w(14841),G=1/0,z=17976931348623157e292;function I(R){if(!R)return R===0?R:0;if(R=M(R),R===G||R===-G){var L=R<0?-1:1;return L*z}return R===R?R:0}Q.exports=I},40554:function(Q,re,w){var M=w(18601);function G(z){var I=M(z),R=I%1;return I===I?R?I-R:I:0}Q.exports=G},14841:function(Q,re,w){var M=w(27561),G=w(13218),z=w(33448),I=NaN,R=/^[-+]0x[0-9a-f]+$/i,L=/^0b[01]+$/i,B=/^0o[0-7]+$/i,D=parseInt;function _(j){if(typeof j=="number")return j;if(z(j))return I;if(G(j)){var N=typeof j.valueOf=="function"?j.valueOf():j;j=G(N)?N+"":N}if(typeof j!="string")return j===0?j:+j;j=M(j);var V=L.test(j);return V||B.test(j)?D(j.slice(2),V?2:8):R.test(j)?I:+j}Q.exports=_},79833:function(Q,re,w){var M=w(80531);function G(z){return z==null?"":M(z)}Q.exports=G},68718:function(Q,re,w){var M=w(77412),G=w(3118),z=w(47816),I=w(67206),R=w(85924),L=w(1469),B=w(44144),D=w(23560),_=w(13218),j=w(36719);function N(V,ne,ee){var fe=L(V),he=fe||B(V)||j(V);if(ne=I(ne,4),ee==null){var K=V&&V.constructor;he?ee=fe?new K:[]:_(V)?ee=D(K)?G(R(V)):{}:ee={}}return(he?M:z)(V,function(se,le,ye){return ne(ee,se,le,ye)}),ee}Q.exports=N},93386:function(Q,re,w){var M=w(21078),G=w(5976),z=w(45652),I=w(29246),R=G(function(L){return z(M(L,1,I,!0))});Q.exports=R},73955:function(Q,re,w){var M=w(79833),G=0;function z(I){var R=++G;return M(I)+R}Q.exports=z},52628:function(Q,re,w){var M=w(47415),G=w(3674);function z(I){return I==null?[]:M(I,G(I))}Q.exports=z},7287:function(Q,re,w){var M=w(34865),G=w(1757);function z(I,R){return G(I||[],R||[],M)}Q.exports=z},75823:function(Q,re,w){"use strict";w.r(re),w.d(re,{default:function(){return I}});var M=w(44091);function G(R){var L=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!(0,M.isAnyArray)(R))throw new TypeError("input must be an array");if(R.length===0)throw new TypeError("input must not be empty");var B=L.fromIndex,D=B===void 0?0:B,_=L.toIndex,j=_===void 0?R.length:_;if(D<0||D>=R.length||!Number.isInteger(D))throw new Error("fromIndex must be a positive integer smaller than length");if(j<=D||j>R.length||!Number.isInteger(j))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var N=R[D],V=D+1;V<j;V++)R[V]>N&&(N=R[V]);return N}function z(R){var L=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!(0,M.isAnyArray)(R))throw new TypeError("input must be an array");if(R.length===0)throw new TypeError("input must not be empty");var B=L.fromIndex,D=B===void 0?0:B,_=L.toIndex,j=_===void 0?R.length:_;if(D<0||D>=R.length||!Number.isInteger(D))throw new Error("fromIndex must be a positive integer smaller than length");if(j<=D||j>R.length||!Number.isInteger(j))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var N=R[D],V=D+1;V<j;V++)R[V]<N&&(N=R[V]);return N}function I(R){var L=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if((0,M.isAnyArray)(R)){if(R.length===0)throw new TypeError("input must not be empty")}else throw new TypeError("input must be an array");var B;if(L.output!==void 0){if(!(0,M.isAnyArray)(L.output))throw new TypeError("output option must be an array if specified");B=L.output}else B=new Array(R.length);var D=z(R),_=G(R);if(D===_)throw new RangeError("minimum and maximum input values are equal. Cannot rescale a constant array");var j=L.min,N=j===void 0?L.autoMinMax?D:0:j,V=L.max,ne=V===void 0?L.autoMinMax?_:1:V;if(N>=ne)throw new RangeError("min option must be smaller than max option");for(var ee=(ne-N)/(_-D),fe=0;fe<R.length;fe++)B[fe]=(R[fe]-D)*ee+N;return B}},86851:function(Q,re,w){"use strict";var M=w(89594),G=Array.prototype.concat,z=Array.prototype.slice,I=Q.exports=function(L){for(var B=[],D=0,_=L.length;D<_;D++){var j=L[D];M(j)?B=G.call(B,z.call(j)):B.push(j)}return B};I.wrap=function(R){return function(){return R(I(arguments))}}},89594:function(Q){Q.exports=function(w){return!w||typeof w=="string"?!1:w instanceof Array||Array.isArray(w)||w.length>=0&&(w.splice instanceof Function||Object.getOwnPropertyDescriptor(w,w.length-1)&&w.constructor.name!=="String")}},99755:function(Q){"use strict";Q.exports="data:image/png;base64,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"},92691:function(Q){"use strict";Q.exports="data:image/png;base64,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"},46016:function(Q){"use strict";Q.exports="data:image/png;base64,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"},37426:function(Q){"use strict";Q.exports="data:image/png;base64,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"},19150:function(Q){"use strict";Q.exports="data:image/png;base64,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"},55303:function(Q){"use strict";Q.exports="data:image/png;base64,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"},64849:function(Q,re,w){"use strict";w.d(re,{H:function(){return z},Z:function(){return M}});function M(I){const R=+this._x.call(null,I),L=+this._y.call(null,I),B=+this._z.call(null,I);return G(this.cover(R,L,B),R,L,B,I)}function G(I,R,L,B,D){if(isNaN(R)||isNaN(L)||isNaN(B))return I;var _,j=I._root,N={data:D},V=I._x0,ne=I._y0,ee=I._z0,fe=I._x1,he=I._y1,K=I._z1,se,le,ye,be,Ee,Ne,Pe,xe,ke,Le,Ie;if(!j)return I._root=N,I;for(;j.length;)if((Pe=R>=(se=(V+fe)/2))?V=se:fe=se,(xe=L>=(le=(ne+he)/2))?ne=le:he=le,(ke=B>=(ye=(ee+K)/2))?ee=ye:K=ye,_=j,!(j=j[Le=ke<<2|xe<<1|Pe]))return _[Le]=N,I;if(be=+I._x.call(null,j.data),Ee=+I._y.call(null,j.data),Ne=+I._z.call(null,j.data),R===be&&L===Ee&&B===Ne)return N.next=j,_?_[Le]=N:I._root=N,I;do _=_?_[Le]=new Array(8):I._root=new Array(8),(Pe=R>=(se=(V+fe)/2))?V=se:fe=se,(xe=L>=(le=(ne+he)/2))?ne=le:he=le,(ke=B>=(ye=(ee+K)/2))?ee=ye:K=ye;while((Le=ke<<2|xe<<1|Pe)===(Ie=(Ne>=ye)<<2|(Ee>=le)<<1|be>=se));return _[Ie]=j,_[Le]=N,I}function z(I){Array.isArray(I)||(I=Array.from(I));const R=I.length,L=new Float64Array(R),B=new Float64Array(R),D=new Float64Array(R);let _=1/0,j=1/0,N=1/0,V=-1/0,ne=-1/0,ee=-1/0;for(let fe=0,he,K,se,le;fe<R;++fe)isNaN(K=+this._x.call(null,he=I[fe]))||isNaN(se=+this._y.call(null,he))||isNaN(le=+this._z.call(null,he))||(L[fe]=K,B[fe]=se,D[fe]=le,K<_&&(_=K),K>V&&(V=K),se<j&&(j=se),se>ne&&(ne=se),le<N&&(N=le),le>ee&&(ee=le));if(_>V||j>ne||N>ee)return this;this.cover(_,j,N).cover(V,ne,ee);for(let fe=0;fe<R;++fe)G(this,L[fe],B[fe],D[fe],I[fe]);return this}},55802:function(Q,re,w){"use strict";w.d(re,{Z:function(){return M}});function M(G,z,I){if(isNaN(G=+G)||isNaN(z=+z)||isNaN(I=+I))return this;var R=this._x0,L=this._y0,B=this._z0,D=this._x1,_=this._y1,j=this._z1;if(isNaN(R))D=(R=Math.floor(G))+1,_=(L=Math.floor(z))+1,j=(B=Math.floor(I))+1;else{for(var N=D-R||1,V=this._root,ne,ee;R>G||G>=D||L>z||z>=_||B>I||I>=j;)switch(ee=(I<B)<<2|(z<L)<<1|G<R,ne=new Array(8),ne[ee]=V,V=ne,N*=2,ee){case 0:D=R+N,_=L+N,j=B+N;break;case 1:R=D-N,_=L+N,j=B+N;break;case 2:D=R+N,L=_-N,j=B+N;break;case 3:R=D-N,L=_-N,j=B+N;break;case 4:D=R+N,_=L+N,B=j-N;break;case 5:R=D-N,_=L+N,B=j-N;break;case 6:D=R+N,L=_-N,B=j-N;break;case 7:R=D-N,L=_-N,B=j-N;break}this._root&&this._root.length&&(this._root=V)}return this._x0=R,this._y0=L,this._z0=B,this._x1=D,this._y1=_,this._z1=j,this}},65587:function(Q,re,w){"use strict";w.d(re,{Z:function(){return M}});function M(){var G=[];return this.visit(function(z){if(!z.length)do G.push(z.data);while(z=z.next)}),G}},31756:function(Q,re,w){"use strict";w.d(re,{Z:function(){return M}});function M(G){return arguments.length?this.cover(+G[0][0],+G[0][1],+G[0][2]).cover(+G[1][0],+G[1][1],+G[1][2]):isNaN(this._x0)?void 0:[[this._x0,this._y0,this._z0],[this._x1,this._y1,this._z1]]}},60444:function(Q,re,w){"use strict";w.d(re,{Z:function(){return G}});var M=w(14086);function G(z,I,R,L){var B,D=this._x0,_=this._y0,j=this._z0,N,V,ne,ee,fe,he,K=this._x1,se=this._y1,le=this._z1,ye=[],be=this._root,Ee,Ne;for(be&&ye.push(new M.Z(be,D,_,j,K,se,le)),L==null?L=1/0:(D=z-L,_=I-L,j=R-L,K=z+L,se=I+L,le=R+L,L*=L);Ee=ye.pop();)if(!(!(be=Ee.node)||(N=Ee.x0)>K||(V=Ee.y0)>se||(ne=Ee.z0)>le||(ee=Ee.x1)<D||(fe=Ee.y1)<_||(he=Ee.z1)<j))if(be.length){var Pe=(N+ee)/2,xe=(V+fe)/2,ke=(ne+he)/2;ye.push(new M.Z(be[7],Pe,xe,ke,ee,fe,he),new M.Z(be[6],N,xe,ke,Pe,fe,he),new M.Z(be[5],Pe,V,ke,ee,xe,he),new M.Z(be[4],N,V,ke,Pe,xe,he),new M.Z(be[3],Pe,xe,ne,ee,fe,ke),new M.Z(be[2],N,xe,ne,Pe,fe,ke),new M.Z(be[1],Pe,V,ne,ee,xe,ke),new M.Z(be[0],N,V,ne,Pe,xe,ke)),(Ne=(R>=ke)<<2|(I>=xe)<<1|z>=Pe)&&(Ee=ye[ye.length-1],ye[ye.length-1]=ye[ye.length-1-Ne],ye[ye.length-1-Ne]=Ee)}else{var Le=z-+this._x.call(null,be.data),Ie=I-+this._y.call(null,be.data),Ye=R-+this._z.call(null,be.data),Je=Le*Le+Ie*Ie+Ye*Ye;if(Je<L){var at=Math.sqrt(L=Je);D=z-at,_=I-at,j=R-at,K=z+at,se=I+at,le=R+at,B=be.data}}return B}},14086:function(Q,re,w){"use strict";w.d(re,{Z:function(){return M}});function M(G,z,I,R,L,B,D){this.node=G,this.x0=z,this.y0=I,this.z0=R,this.x1=L,this.y1=B,this.z1=D}},67217:function(Q,re,w){"use strict";w.d(re,{Z:function(){return ee}});var M=w(64849),G=w(55802),z=w(65587),I=w(31756),R=w(60444),L=w(44576),B=w(76077),D=w(53212),_=w(42043),j=w(36427),N=w(79853),V=w(79840),ne=w(87325);function ee(se,le,ye,be){var Ee=new fe(le==null?N.P:le,ye==null?V.q:ye,be==null?ne.i:be,NaN,NaN,NaN,NaN,NaN,NaN);return se==null?Ee:Ee.addAll(se)}function fe(se,le,ye,be,Ee,Ne,Pe,xe,ke){this._x=se,this._y=le,this._z=ye,this._x0=be,this._y0=Ee,this._z0=Ne,this._x1=Pe,this._y1=xe,this._z1=ke,this._root=void 0}function he(se){for(var le={data:se.data},ye=le;se=se.next;)ye=ye.next={data:se.data};return le}var K=ee.prototype=fe.prototype;K.copy=function(){var se=new fe(this._x,this._y,this._z,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1),le=this._root,ye,be;if(!le)return se;if(!le.length)return se._root=he(le),se;for(ye=[{source:le,target:se._root=new Array(8)}];le=ye.pop();)for(var Ee=0;Ee<8;++Ee)(be=le.source[Ee])&&(be.length?ye.push({source:be,target:le.target[Ee]=new Array(8)}):le.target[Ee]=he(be));return se},K.add=M.Z,K.addAll=M.H,K.cover=G.Z,K.data=z.Z,K.extent=I.Z,K.find=R.Z,K.remove=L.Z,K.removeAll=L.x,K.root=B.Z,K.size=D.Z,K.visit=_.Z,K.visitAfter=j.Z,K.x=N.Z,K.y=V.Z,K.z=ne.Z},44576:function(Q,re,w){"use strict";w.d(re,{Z:function(){return M},x:function(){return G}});function M(z){if(isNaN(fe=+this._x.call(null,z))||isNaN(he=+this._y.call(null,z))||isNaN(K=+this._z.call(null,z)))return this;var I,R=this._root,L,B,D,_=this._x0,j=this._y0,N=this._z0,V=this._x1,ne=this._y1,ee=this._z1,fe,he,K,se,le,ye,be,Ee,Ne,Pe,xe;if(!R)return this;if(R.length)for(;;){if((be=fe>=(se=(_+V)/2))?_=se:V=se,(Ee=he>=(le=(j+ne)/2))?j=le:ne=le,(Ne=K>=(ye=(N+ee)/2))?N=ye:ee=ye,I=R,!(R=R[Pe=Ne<<2|Ee<<1|be]))return this;if(!R.length)break;(I[Pe+1&7]||I[Pe+2&7]||I[Pe+3&7]||I[Pe+4&7]||I[Pe+5&7]||I[Pe+6&7]||I[Pe+7&7])&&(L=I,xe=Pe)}for(;R.data!==z;)if(B=R,!(R=R.next))return this;return(D=R.next)&&delete R.next,B?(D?B.next=D:delete B.next,this):I?(D?I[Pe]=D:delete I[Pe],(R=I[0]||I[1]||I[2]||I[3]||I[4]||I[5]||I[6]||I[7])&&R===(I[7]||I[6]||I[5]||I[4]||I[3]||I[2]||I[1]||I[0])&&!R.length&&(L?L[xe]=R:this._root=R),this):(this._root=D,this)}function G(z){for(var I=0,R=z.length;I<R;++I)this.remove(z[I]);return this}},76077:function(Q,re,w){"use strict";w.d(re,{Z:function(){return M}});function M(){return this._root}},53212:function(Q,re,w){"use strict";w.d(re,{Z:function(){return M}});function M(){var G=0;return this.visit(function(z){if(!z.length)do++G;while(z=z.next)}),G}},42043:function(Q,re,w){"use strict";w.d(re,{Z:function(){return G}});var M=w(14086);function G(z){var I=[],R,L=this._root,B,D,_,j,N,V,ne;for(L&&I.push(new M.Z(L,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1));R=I.pop();)if(!z(L=R.node,D=R.x0,_=R.y0,j=R.z0,N=R.x1,V=R.y1,ne=R.z1)&&L.length){var ee=(D+N)/2,fe=(_+V)/2,he=(j+ne)/2;(B=L[7])&&I.push(new M.Z(B,ee,fe,he,N,V,ne)),(B=L[6])&&I.push(new M.Z(B,D,fe,he,ee,V,ne)),(B=L[5])&&I.push(new M.Z(B,ee,_,he,N,fe,ne)),(B=L[4])&&I.push(new M.Z(B,D,_,he,ee,fe,ne)),(B=L[3])&&I.push(new M.Z(B,ee,fe,j,N,V,he)),(B=L[2])&&I.push(new M.Z(B,D,fe,j,ee,V,he)),(B=L[1])&&I.push(new M.Z(B,ee,_,j,N,fe,he)),(B=L[0])&&I.push(new M.Z(B,D,_,j,ee,fe,he))}return this}},36427:function(Q,re,w){"use strict";w.d(re,{Z:function(){return G}});var M=w(14086);function G(z){var I=[],R=[],L;for(this._root&&I.push(new M.Z(this._root,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1));L=I.pop();){var B=L.node;if(B.length){var D,_=L.x0,j=L.y0,N=L.z0,V=L.x1,ne=L.y1,ee=L.z1,fe=(_+V)/2,he=(j+ne)/2,K=(N+ee)/2;(D=B[0])&&I.push(new M.Z(D,_,j,N,fe,he,K)),(D=B[1])&&I.push(new M.Z(D,fe,j,N,V,he,K)),(D=B[2])&&I.push(new M.Z(D,_,he,N,fe,ne,K)),(D=B[3])&&I.push(new M.Z(D,fe,he,N,V,ne,K)),(D=B[4])&&I.push(new M.Z(D,_,j,K,fe,he,ee)),(D=B[5])&&I.push(new M.Z(D,fe,j,K,V,he,ee)),(D=B[6])&&I.push(new M.Z(D,_,he,K,fe,ne,ee)),(D=B[7])&&I.push(new M.Z(D,fe,he,K,V,ne,ee))}R.push(L)}for(;L=R.pop();)z(L.node,L.x0,L.y0,L.z0,L.x1,L.y1,L.z1);return this}},79853:function(Q,re,w){"use strict";w.d(re,{P:function(){return M},Z:function(){return G}});function M(z){return z[0]}function G(z){return arguments.length?(this._x=z,this):this._x}},79840:function(Q,re,w){"use strict";w.d(re,{Z:function(){return G},q:function(){return M}});function M(z){return z[1]}function G(z){return arguments.length?(this._y=z,this):this._y}},87325:function(Q,re,w){"use strict";w.d(re,{Z:function(){return G},i:function(){return M}});function M(z){return z[2]}function G(z){return arguments.length?(this._z=z,this):this._z}},59715:function(Q,re,w){"use strict";w.d(re,{H:function(){return z},Z:function(){return M}});function M(I){const R=+this._x.call(null,I),L=+this._y.call(null,I);return G(this.cover(R,L),R,L,I)}function G(I,R,L,B){if(isNaN(R)||isNaN(L))return I;var D,_=I._root,j={data:B},N=I._x0,V=I._y0,ne=I._x1,ee=I._y1,fe,he,K,se,le,ye,be,Ee;if(!_)return I._root=j,I;for(;_.length;)if((le=R>=(fe=(N+ne)/2))?N=fe:ne=fe,(ye=L>=(he=(V+ee)/2))?V=he:ee=he,D=_,!(_=_[be=ye<<1|le]))return D[be]=j,I;if(K=+I._x.call(null,_.data),se=+I._y.call(null,_.data),R===K&&L===se)return j.next=_,D?D[be]=j:I._root=j,I;do D=D?D[be]=new Array(4):I._root=new Array(4),(le=R>=(fe=(N+ne)/2))?N=fe:ne=fe,(ye=L>=(he=(V+ee)/2))?V=he:ee=he;while((be=ye<<1|le)===(Ee=(se>=he)<<1|K>=fe));return D[Ee]=_,D[be]=j,I}function z(I){var R,L,B=I.length,D,_,j=new Array(B),N=new Array(B),V=1/0,ne=1/0,ee=-1/0,fe=-1/0;for(L=0;L<B;++L)isNaN(D=+this._x.call(null,R=I[L]))||isNaN(_=+this._y.call(null,R))||(j[L]=D,N[L]=_,D<V&&(V=D),D>ee&&(ee=D),_<ne&&(ne=_),_>fe&&(fe=_));if(V>ee||ne>fe)return this;for(this.cover(V,ne).cover(ee,fe),L=0;L<B;++L)G(this,j[L],N[L],I[L]);return this}},86290:function(Q,re,w){"use strict";w.d(re,{Z:function(){return M}});function M(G,z){if(isNaN(G=+G)||isNaN(z=+z))return this;var I=this._x0,R=this._y0,L=this._x1,B=this._y1;if(isNaN(I))L=(I=Math.floor(G))+1,B=(R=Math.floor(z))+1;else{for(var D=L-I||1,_=this._root,j,N;I>G||G>=L||R>z||z>=B;)switch(N=(z<R)<<1|G<I,j=new Array(4),j[N]=_,_=j,D*=2,N){case 0:L=I+D,B=R+D;break;case 1:I=L-D,B=R+D;break;case 2:L=I+D,R=B-D;break;case 3:I=L-D,R=B-D;break}this._root&&this._root.length&&(this._root=_)}return this._x0=I,this._y0=R,this._x1=L,this._y1=B,this}},11145:function(Q,re,w){"use strict";w.d(re,{Z:function(){return M}});function M(){var G=[];return this.visit(function(z){if(!z.length)do G.push(z.data);while(z=z.next)}),G}},57059:function(Q,re,w){"use strict";w.d(re,{Z:function(){return M}});function M(G){return arguments.length?this.cover(+G[0][0],+G[0][1]).cover(+G[1][0],+G[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}},13297:function(Q,re,w){"use strict";w.d(re,{Z:function(){return G}});var M=w(92936);function G(z,I,R){var L,B=this._x0,D=this._y0,_,j,N,V,ne=this._x1,ee=this._y1,fe=[],he=this._root,K,se;for(he&&fe.push(new M.Z(he,B,D,ne,ee)),R==null?R=1/0:(B=z-R,D=I-R,ne=z+R,ee=I+R,R*=R);K=fe.pop();)if(!(!(he=K.node)||(_=K.x0)>ne||(j=K.y0)>ee||(N=K.x1)<B||(V=K.y1)<D))if(he.length){var le=(_+N)/2,ye=(j+V)/2;fe.push(new M.Z(he[3],le,ye,N,V),new M.Z(he[2],_,ye,le,V),new M.Z(he[1],le,j,N,ye),new M.Z(he[0],_,j,le,ye)),(se=(I>=ye)<<1|z>=le)&&(K=fe[fe.length-1],fe[fe.length-1]=fe[fe.length-1-se],fe[fe.length-1-se]=K)}else{var be=z-+this._x.call(null,he.data),Ee=I-+this._y.call(null,he.data),Ne=be*be+Ee*Ee;if(Ne<R){var Pe=Math.sqrt(R=Ne);B=z-Pe,D=I-Pe,ne=z+Pe,ee=I+Pe,L=he.data}}return L}},92936:function(Q,re,w){"use strict";w.d(re,{Z:function(){return M}});function M(G,z,I,R,L){this.node=G,this.x0=z,this.y0=I,this.x1=R,this.y1=L}},46632:function(Q,re,w){"use strict";w.d(re,{Z:function(){return ne}});var M=w(59715),G=w(86290),z=w(11145),I=w(57059),R=w(13297),L=w(85854),B=w(39033),D=w(56590),_=w(61034),j=w(88020),N=w(40220),V=w(88792);function ne(K,se,le){var ye=new ee(se==null?N.P:se,le==null?V.q:le,NaN,NaN,NaN,NaN);return K==null?ye:ye.addAll(K)}function ee(K,se,le,ye,be,Ee){this._x=K,this._y=se,this._x0=le,this._y0=ye,this._x1=be,this._y1=Ee,this._root=void 0}function fe(K){for(var se={data:K.data},le=se;K=K.next;)le=le.next={data:K.data};return se}var he=ne.prototype=ee.prototype;he.copy=function(){var K=new ee(this._x,this._y,this._x0,this._y0,this._x1,this._y1),se=this._root,le,ye;if(!se)return K;if(!se.length)return K._root=fe(se),K;for(le=[{source:se,target:K._root=new Array(4)}];se=le.pop();)for(var be=0;be<4;++be)(ye=se.source[be])&&(ye.length?le.push({source:ye,target:se.target[be]=new Array(4)}):se.target[be]=fe(ye));return K},he.add=M.Z,he.addAll=M.H,he.cover=G.Z,he.data=z.Z,he.extent=I.Z,he.find=R.Z,he.remove=L.Z,he.removeAll=L.x,he.root=B.Z,he.size=D.Z,he.visit=_.Z,he.visitAfter=j.Z,he.x=N.Z,he.y=V.Z},85854:function(Q,re,w){"use strict";w.d(re,{Z:function(){return M},x:function(){return G}});function M(z){if(isNaN(ne=+this._x.call(null,z))||isNaN(ee=+this._y.call(null,z)))return this;var I,R=this._root,L,B,D,_=this._x0,j=this._y0,N=this._x1,V=this._y1,ne,ee,fe,he,K,se,le,ye;if(!R)return this;if(R.length)for(;;){if((K=ne>=(fe=(_+N)/2))?_=fe:N=fe,(se=ee>=(he=(j+V)/2))?j=he:V=he,I=R,!(R=R[le=se<<1|K]))return this;if(!R.length)break;(I[le+1&3]||I[le+2&3]||I[le+3&3])&&(L=I,ye=le)}for(;R.data!==z;)if(B=R,!(R=R.next))return this;return(D=R.next)&&delete R.next,B?(D?B.next=D:delete B.next,this):I?(D?I[le]=D:delete I[le],(R=I[0]||I[1]||I[2]||I[3])&&R===(I[3]||I[2]||I[1]||I[0])&&!R.length&&(L?L[ye]=R:this._root=R),this):(this._root=D,this)}function G(z){for(var I=0,R=z.length;I<R;++I)this.remove(z[I]);return this}},39033:function(Q,re,w){"use strict";w.d(re,{Z:function(){return M}});function M(){return this._root}},56590:function(Q,re,w){"use strict";w.d(re,{Z:function(){return M}});function M(){var G=0;return this.visit(function(z){if(!z.length)do++G;while(z=z.next)}),G}},61034:function(Q,re,w){"use strict";w.d(re,{Z:function(){return G}});var M=w(92936);function G(z){var I=[],R,L=this._root,B,D,_,j,N;for(L&&I.push(new M.Z(L,this._x0,this._y0,this._x1,this._y1));R=I.pop();)if(!z(L=R.node,D=R.x0,_=R.y0,j=R.x1,N=R.y1)&&L.length){var V=(D+j)/2,ne=(_+N)/2;(B=L[3])&&I.push(new M.Z(B,V,ne,j,N)),(B=L[2])&&I.push(new M.Z(B,D,ne,V,N)),(B=L[1])&&I.push(new M.Z(B,V,_,j,ne)),(B=L[0])&&I.push(new M.Z(B,D,_,V,ne))}return this}},88020:function(Q,re,w){"use strict";w.d(re,{Z:function(){return G}});var M=w(92936);function G(z){var I=[],R=[],L;for(this._root&&I.push(new M.Z(this._root,this._x0,this._y0,this._x1,this._y1));L=I.pop();){var B=L.node;if(B.length){var D,_=L.x0,j=L.y0,N=L.x1,V=L.y1,ne=(_+N)/2,ee=(j+V)/2;(D=B[0])&&I.push(new M.Z(D,_,j,ne,ee)),(D=B[1])&&I.push(new M.Z(D,ne,j,N,ee)),(D=B[2])&&I.push(new M.Z(D,_,ee,ne,V)),(D=B[3])&&I.push(new M.Z(D,ne,ee,N,V))}R.push(L)}for(;L=R.pop();)z(L.node,L.x0,L.y0,L.x1,L.y1);return this}},40220:function(Q,re,w){"use strict";w.d(re,{P:function(){return M},Z:function(){return G}});function M(z){return z[0]}function G(z){return arguments.length?(this._x=z,this):this._x}},88792:function(Q,re,w){"use strict";w.d(re,{Z:function(){return G},q:function(){return M}});function M(z){return z[1]}function G(z){return arguments.length?(this._y=z,this):this._y}},97582:function(Q,re,w){"use strict";w.d(re,{CR:function(){return K},Jh:function(){return ne},Q_:function(){return Je},XA:function(){return he},ZT:function(){return G},_T:function(){return I},ev:function(){return ye},mG:function(){return V},pi:function(){return z}});var M=function(Me,De){return M=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(ze,me){ze.__proto__=me}||function(ze,me){for(var Te in me)Object.prototype.hasOwnProperty.call(me,Te)&&(ze[Te]=me[Te])},M(Me,De)};function G(Me,De){if(typeof De!="function"&&De!==null)throw new TypeError("Class extends value "+String(De)+" is not a constructor or null");M(Me,De);function ze(){this.constructor=Me}Me.prototype=De===null?Object.create(De):(ze.prototype=De.prototype,new ze)}var z=function(){return z=Object.assign||function(De){for(var ze,me=1,Te=arguments.length;me<Te;me++){ze=arguments[me];for(var Ae in ze)Object.prototype.hasOwnProperty.call(ze,Ae)&&(De[Ae]=ze[Ae])}return De},z.apply(this,arguments)};function I(Me,De){var ze={};for(var me in Me)Object.prototype.hasOwnProperty.call(Me,me)&&De.indexOf(me)<0&&(ze[me]=Me[me]);if(Me!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Te=0,me=Object.getOwnPropertySymbols(Me);Te<me.length;Te++)De.indexOf(me[Te])<0&&Object.prototype.propertyIsEnumerable.call(Me,me[Te])&&(ze[me[Te]]=Me[me[Te]]);return ze}function R(Me,De,ze,me){var Te=arguments.length,Ae=Te<3?De:me===null?me=Object.getOwnPropertyDescriptor(De,ze):me,He;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Ae=Reflect.decorate(Me,De,ze,me);else for(var xt=Me.length-1;xt>=0;xt--)(He=Me[xt])&&(Ae=(Te<3?He(Ae):Te>3?He(De,ze,Ae):He(De,ze))||Ae);return Te>3&&Ae&&Object.defineProperty(De,ze,Ae),Ae}function L(Me,De){return function(ze,me){De(ze,me,Me)}}function B(Me,De,ze,me,Te,Ae){function He(Sr){if(Sr!==void 0&&typeof Sr!="function")throw new TypeError("Function expected");return Sr}for(var xt=me.kind,Ft=xt==="getter"?"get":xt==="setter"?"set":"value",St=!De&&Me?me.static?Me:Me.prototype:null,Yt=De||(St?Object.getOwnPropertyDescriptor(St,me.name):{}),Un,jn=!1,Dt=ze.length-1;Dt>=0;Dt--){var Nt={};for(var wt in me)Nt[wt]=wt==="access"?{}:me[wt];for(var wt in me.access)Nt.access[wt]=me.access[wt];Nt.addInitializer=function(Sr){if(jn)throw new TypeError("Cannot add initializers after decoration has completed");Ae.push(He(Sr||null))};var It=(0,ze[Dt])(xt==="accessor"?{get:Yt.get,set:Yt.set}:Yt[Ft],Nt);if(xt==="accessor"){if(It===void 0)continue;if(It===null||typeof It!="object")throw new TypeError("Object expected");(Un=He(It.get))&&(Yt.get=Un),(Un=He(It.set))&&(Yt.set=Un),(Un=He(It.init))&&Te.unshift(Un)}else(Un=He(It))&&(xt==="field"?Te.unshift(Un):Yt[Ft]=Un)}St&&Object.defineProperty(St,me.name,Yt),jn=!0}function D(Me,De,ze){for(var me=arguments.length>2,Te=0;Te<De.length;Te++)ze=me?De[Te].call(Me,ze):De[Te].call(Me);return me?ze:void 0}function _(Me){return typeof Me=="symbol"?Me:"".concat(Me)}function j(Me,De,ze){return typeof De=="symbol"&&(De=De.description?"[".concat(De.description,"]"):""),Object.defineProperty(Me,"name",{configurable:!0,value:ze?"".concat(ze," ",De):De})}function N(Me,De){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(Me,De)}function V(Me,De,ze,me){function Te(Ae){return Ae instanceof ze?Ae:new ze(function(He){He(Ae)})}return new(ze||(ze=Promise))(function(Ae,He){function xt(Yt){try{St(me.next(Yt))}catch(Un){He(Un)}}function Ft(Yt){try{St(me.throw(Yt))}catch(Un){He(Un)}}function St(Yt){Yt.done?Ae(Yt.value):Te(Yt.value).then(xt,Ft)}St((me=me.apply(Me,De||[])).next())})}function ne(Me,De){var ze={label:0,sent:function(){if(Ae[0]&1)throw Ae[1];return Ae[1]},trys:[],ops:[]},me,Te,Ae,He=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return He.next=xt(0),He.throw=xt(1),He.return=xt(2),typeof Symbol=="function"&&(He[Symbol.iterator]=function(){return this}),He;function xt(St){return function(Yt){return Ft([St,Yt])}}function Ft(St){if(me)throw new TypeError("Generator is already executing.");for(;He&&(He=0,St[0]&&(ze=0)),ze;)try{if(me=1,Te&&(Ae=St[0]&2?Te.return:St[0]?Te.throw||((Ae=Te.return)&&Ae.call(Te),0):Te.next)&&!(Ae=Ae.call(Te,St[1])).done)return Ae;switch(Te=0,Ae&&(St=[St[0]&2,Ae.value]),St[0]){case 0:case 1:Ae=St;break;case 4:return ze.label++,{value:St[1],done:!1};case 5:ze.label++,Te=St[1],St=[0];continue;case 7:St=ze.ops.pop(),ze.trys.pop();continue;default:if(Ae=ze.trys,!(Ae=Ae.length>0&&Ae[Ae.length-1])&&(St[0]===6||St[0]===2)){ze=0;continue}if(St[0]===3&&(!Ae||St[1]>Ae[0]&&St[1]<Ae[3])){ze.label=St[1];break}if(St[0]===6&&ze.label<Ae[1]){ze.label=Ae[1],Ae=St;break}if(Ae&&ze.label<Ae[2]){ze.label=Ae[2],ze.ops.push(St);break}Ae[2]&&ze.ops.pop(),ze.trys.pop();continue}St=De.call(Me,ze)}catch(Yt){St=[6,Yt],Te=0}finally{me=Ae=0}if(St[0]&5)throw St[1];return{value:St[0]?St[1]:void 0,done:!0}}}var ee=Object.create?function(Me,De,ze,me){me===void 0&&(me=ze);var Te=Object.getOwnPropertyDescriptor(De,ze);(!Te||("get"in Te?!De.__esModule:Te.writable||Te.configurable))&&(Te={enumerable:!0,get:function(){return De[ze]}}),Object.defineProperty(Me,me,Te)}:function(Me,De,ze,me){me===void 0&&(me=ze),Me[me]=De[ze]};function fe(Me,De){for(var ze in Me)ze!=="default"&&!Object.prototype.hasOwnProperty.call(De,ze)&&ee(De,Me,ze)}function he(Me){var De=typeof Symbol=="function"&&Symbol.iterator,ze=De&&Me[De],me=0;if(ze)return ze.call(Me);if(Me&&typeof Me.length=="number")return{next:function(){return Me&&me>=Me.length&&(Me=void 0),{value:Me&&Me[me++],done:!Me}}};throw new TypeError(De?"Object is not iterable.":"Symbol.iterator is not defined.")}function K(Me,De){var ze=typeof Symbol=="function"&&Me[Symbol.iterator];if(!ze)return Me;var me=ze.call(Me),Te,Ae=[],He;try{for(;(De===void 0||De-- >0)&&!(Te=me.next()).done;)Ae.push(Te.value)}catch(xt){He={error:xt}}finally{try{Te&&!Te.done&&(ze=me.return)&&ze.call(me)}finally{if(He)throw He.error}}return Ae}function se(){for(var Me=[],De=0;De<arguments.length;De++)Me=Me.concat(K(arguments[De]));return Me}function le(){for(var Me=0,De=0,ze=arguments.length;De<ze;De++)Me+=arguments[De].length;for(var me=Array(Me),Te=0,De=0;De<ze;De++)for(var Ae=arguments[De],He=0,xt=Ae.length;He<xt;He++,Te++)me[Te]=Ae[He];return me}function ye(Me,De,ze){if(ze||arguments.length===2)for(var me=0,Te=De.length,Ae;me<Te;me++)(Ae||!(me in De))&&(Ae||(Ae=Array.prototype.slice.call(De,0,me)),Ae[me]=De[me]);return Me.concat(Ae||Array.prototype.slice.call(De))}function be(Me){return this instanceof be?(this.v=Me,this):new be(Me)}function Ee(Me,De,ze){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var me=ze.apply(Me,De||[]),Te,Ae=[];return Te=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),xt("next"),xt("throw"),xt("return",He),Te[Symbol.asyncIterator]=function(){return this},Te;function He(Dt){return function(Nt){return Promise.resolve(Nt).then(Dt,Un)}}function xt(Dt,Nt){me[Dt]&&(Te[Dt]=function(wt){return new Promise(function(It,Sr){Ae.push([Dt,wt,It,Sr])>1||Ft(Dt,wt)})},Nt&&(Te[Dt]=Nt(Te[Dt])))}function Ft(Dt,Nt){try{St(me[Dt](Nt))}catch(wt){jn(Ae[0][3],wt)}}function St(Dt){Dt.value instanceof be?Promise.resolve(Dt.value.v).then(Yt,Un):jn(Ae[0][2],Dt)}function Yt(Dt){Ft("next",Dt)}function Un(Dt){Ft("throw",Dt)}function jn(Dt,Nt){Dt(Nt),Ae.shift(),Ae.length&&Ft(Ae[0][0],Ae[0][1])}}function Ne(Me){var De,ze;return De={},me("next"),me("throw",function(Te){throw Te}),me("return"),De[Symbol.iterator]=function(){return this},De;function me(Te,Ae){De[Te]=Me[Te]?function(He){return(ze=!ze)?{value:be(Me[Te](He)),done:!1}:Ae?Ae(He):He}:Ae}}function Pe(Me){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var De=Me[Symbol.asyncIterator],ze;return De?De.call(Me):(Me=typeof he=="function"?he(Me):Me[Symbol.iterator](),ze={},me("next"),me("throw"),me("return"),ze[Symbol.asyncIterator]=function(){return this},ze);function me(Ae){ze[Ae]=Me[Ae]&&function(He){return new Promise(function(xt,Ft){He=Me[Ae](He),Te(xt,Ft,He.done,He.value)})}}function Te(Ae,He,xt,Ft){Promise.resolve(Ft).then(function(St){Ae({value:St,done:xt})},He)}}function xe(Me,De){return Object.defineProperty?Object.defineProperty(Me,"raw",{value:De}):Me.raw=De,Me}var ke=Object.create?function(Me,De){Object.defineProperty(Me,"default",{enumerable:!0,value:De})}:function(Me,De){Me.default=De},Le=function(Me){return Le=Object.getOwnPropertyNames||function(De){var ze=[];for(var me in De)Object.prototype.hasOwnProperty.call(De,me)&&(ze[ze.length]=me);return ze},Le(Me)};function Ie(Me){if(Me&&Me.__esModule)return Me;var De={};if(Me!=null)for(var ze=Le(Me),me=0;me<ze.length;me++)ze[me]!=="default"&&ee(De,Me,ze[me]);return ke(De,Me),De}function Ye(Me){return Me&&Me.__esModule?Me:{default:Me}}function Je(Me,De,ze,me){if(ze==="a"&&!me)throw new TypeError("Private accessor was defined without a getter");if(typeof De=="function"?Me!==De||!me:!De.has(Me))throw new TypeError("Cannot read private member from an object whose class did not declare it");return ze==="m"?me:ze==="a"?me.call(Me):me?me.value:De.get(Me)}function at(Me,De,ze,me,Te){if(me==="m")throw new TypeError("Private method is not writable");if(me==="a"&&!Te)throw new TypeError("Private accessor was defined without a setter");if(typeof De=="function"?Me!==De||!Te:!De.has(Me))throw new TypeError("Cannot write private member to an object whose class did not declare it");return me==="a"?Te.call(Me,ze):Te?Te.value=ze:De.set(Me,ze),ze}function bt(Me,De){if(De===null||typeof De!="object"&&typeof De!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof Me=="function"?De===Me:Me.has(De)}function $t(Me,De,ze){if(De!=null){if(typeof De!="object"&&typeof De!="function")throw new TypeError("Object expected.");var me,Te;if(ze){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");me=De[Symbol.asyncDispose]}if(me===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");me=De[Symbol.dispose],ze&&(Te=me)}if(typeof me!="function")throw new TypeError("Object not disposable.");Te&&(me=function(){try{Te.call(this)}catch(Ae){return Promise.reject(Ae)}}),Me.stack.push({value:De,dispose:me,async:ze})}else ze&&Me.stack.push({async:!0});return De}var tr=typeof SuppressedError=="function"?SuppressedError:function(Me,De,ze){var me=new Error(ze);return me.name="SuppressedError",me.error=Me,me.suppressed=De,me};function Wr(Me){function De(Ae){Me.error=Me.hasError?new tr(Ae,Me.error,"An error was suppressed during disposal."):Ae,Me.hasError=!0}var ze,me=0;function Te(){for(;ze=Me.stack.pop();)try{if(!ze.async&&me===1)return me=0,Me.stack.push(ze),Promise.resolve().then(Te);if(ze.dispose){var Ae=ze.dispose.call(ze.value);if(ze.async)return me|=2,Promise.resolve(Ae).then(Te,function(He){return De(He),Te()})}else me|=1}catch(He){De(He)}if(me===1)return Me.hasError?Promise.reject(Me.error):Promise.resolve();if(Me.hasError)throw Me.error}return Te()}function Ga(Me,De){return typeof Me=="string"&&/^\.\.?\//.test(Me)?Me.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(ze,me,Te,Ae,He){return me?De?".jsx":".js":Te&&(!Ae||!He)?ze:Te+Ae+"."+He.toLowerCase()+"js"}):Me}var cs={__extends:G,__assign:z,__rest:I,__decorate:R,__param:L,__esDecorate:B,__runInitializers:D,__propKey:_,__setFunctionName:j,__metadata:N,__awaiter:V,__generator:ne,__createBinding:ee,__exportStar:fe,__values:he,__read:K,__spread:se,__spreadArrays:le,__spreadArray:ye,__await:be,__asyncGenerator:Ee,__asyncDelegator:Ne,__asyncValues:Pe,__makeTemplateObject:xe,__importStar:Ie,__importDefault:Ye,__classPrivateFieldGet:Je,__classPrivateFieldSet:at,__classPrivateFieldIn:bt,__addDisposableResource:$t,__disposeResources:Wr,__rewriteRelativeImportExtension:Ga}}}]);
|
|
|
}()); |