You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
NewEduCoderBuild/1445.bd7cafff.async.js

133 lines
1.3 MiB

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

!(function(){var L9=Object.defineProperty,D9=Object.defineProperties;var R9=Object.getOwnPropertyDescriptors;var aw=Object.getOwnPropertySymbols;var I9=Object.prototype.hasOwnProperty,B9=Object.prototype.propertyIsEnumerable;var as=Math.pow,X0=(X,Q,E)=>Q in X?L9(X,Q,{enumerable:!0,configurable:!0,writable:!0,value:E}):X[Q]=E,Io=(X,Q)=>{for(var E in Q||(Q={}))I9.call(Q,E)&&X0(X,E,Q[E]);if(aw)for(var E of aw(Q))B9.call(Q,E)&&X0(X,E,Q[E]);return X},V0=(X,Q)=>D9(X,R9(Q));var Tn=(X,Q,E)=>X0(X,typeof Q!="symbol"?Q+"":Q,E);(self.webpackChunk=self.webpackChunk||[]).push([[1445],{74212:function(X,Q,E){"use strict";E.d(Q,{kJ:function(){return sf},RN:function(){return g9}});var P={};E.r(P),E.d(P,{add:function(){return hw},adjoint:function(){return At},clone:function(){return ue},copy:function(){return we},create:function(){return Gt},decompose:function(){return bf},determinant:function(){return Vt},equals:function(){return vw},exactEquals:function(){return Mf},frob:function(){return uw},fromQuat:function(){return Zo},fromQuat2:function(){return Dr},fromRotation:function(){return qr},fromRotationTranslation:function(){return Ar},fromRotationTranslationScale:function(){return xf},fromRotationTranslationScaleOrigin:function(){return hs},fromScaling:function(){return gn},fromTranslation:function(){return Un},fromValues:function(){return Se},fromXRotation:function(){return di},fromYRotation:function(){return Fe},fromZRotation:function(){return jn},frustum:function(){return Ef},getRotation:function(){return qs},getScaling:function(){return Ca},getTranslation:function(){return Sn},identity:function(){return ge},invert:function(){return _e},lookAt:function(){return sg},mul:function(){return lg},multiply:function(){return qt},multiplyScalar:function(){return fw},multiplyScalarAndAdd:function(){return dw},ortho:function(){return ig},orthoNO:function(){return rg},orthoZO:function(){return ag},perspective:function(){return wf},perspectiveFromFieldOfView:function(){return ow},perspectiveNO:function(){return Kl},perspectiveZO:function(){return sw},rotate:function(){return tn},rotateX:function(){return un},rotateY:function(){return vn},rotateZ:function(){return nr},scale:function(){return dn},set:function(){return cn},str:function(){return cw},sub:function(){return gw},subtract:function(){return og},targetTo:function(){return lw},translate:function(){return Yt},transpose:function(){return xe}});var _={};E.r(_),E.d(_,{circle:function(){return EN},diamond:function(){return wN},rect:function(){return AN},simple:function(){return SN},triangle:function(){return p1},triangleRect:function(){return PN},vee:function(){return MN}});var z=E(98506),C=E(42573),S=E(58698),N=E(15142),R=E(91768),T=E(74700),L=E(16886),F=E(37271),I=F,H=1e-6,U=typeof Float32Array!="undefined"?Float32Array:Array,K=Math.random,rt="zyx";function tt(n){return n>=0?Math.round(n):n%.5===0?Math.floor(n):Math.round(n)}function J(n){U=n}var it=Math.PI/180,at=180/Math.PI;function ut(n){return n*it}function ht(n){return n*at}function bt(n,t){var e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:H;return Math.abs(n-t)<=e*Math.max(1,Math.abs(n),Math.abs(t))}function pt(){var n=new U(3);return U!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0),n}function wt(n){var t=new U(3);return t[0]=n[0],t[1]=n[1],t[2]=n[2],t}function ft(n){var t=n[0],e=n[1],r=n[2];return Math.sqrt(t*t+e*e+r*r)}function xt(n,t,e){var r=new U(3);return r[0]=n,r[1]=t,r[2]=e,r}function Nt(n,t){return n[0]=t[0],n[1]=t[1],n[2]=t[2],n}function Bt(n,t,e,r){return n[0]=t,n[1]=e,n[2]=r,n}function _t(n,t,e){return n[0]=t[0]+e[0],n[1]=t[1]+e[1],n[2]=t[2]+e[2],n}function Kt(n,t,e){return n[0]=t[0]-e[0],n[1]=t[1]-e[1],n[2]=t[2]-e[2],n}function me(n,t,e){return n[0]=t[0]*e[0],n[1]=t[1]*e[1],n[2]=t[2]*e[2],n}function Me(n,t,e){return n[0]=t[0]/e[0],n[1]=t[1]/e[1],n[2]=t[2]/e[2],n}function Ge(n,t){return n[0]=Math.ceil(t[0]),n[1]=Math.ceil(t[1]),n[2]=Math.ceil(t[2]),n}function Rn(n,t){return n[0]=Math.floor(t[0]),n[1]=Math.floor(t[1]),n[2]=Math.floor(t[2]),n}function Mr(n,t,e){return n[0]=Math.min(t[0],e[0]),n[1]=Math.min(t[1],e[1]),n[2]=Math.min(t[2],e[2]),n}function Pi(n,t,e){return n[0]=Math.max(t[0],e[0]),n[1]=Math.max(t[1],e[1]),n[2]=Math.max(t[2],e[2]),n}function la(n,t){return n[0]=glMatrix.round(t[0]),n[1]=glMatrix.round(t[1]),n[2]=glMatrix.round(t[2]),n}function kt(n,t,e){return n[0]=t[0]*e,n[1]=t[1]*e,n[2]=t[2]*e,n}function Rt(n,t,e,r){return n[0]=t[0]+e[0]*r,n[1]=t[1]+e[1]*r,n[2]=t[2]+e[2]*r,n}function zt(n,t){var e=t[0]-n[0],r=t[1]-n[1],i=t[2]-n[2];return Math.sqrt(e*e+r*r+i*i)}function dt(n,t){var e=t[0]-n[0],r=t[1]-n[1],i=t[2]-n[2];return e*e+r*r+i*i}function Mt(n){var t=n[0],e=n[1],r=n[2];return t*t+e*e+r*r}function Tt(n,t){return n[0]=-t[0],n[1]=-t[1],n[2]=-t[2],n}function Wt(n,t){return n[0]=1/t[0],n[1]=1/t[1],n[2]=1/t[2],n}function oe(n,t){var e=t[0],r=t[1],i=t[2],a=e*e+r*r+i*i;return a>0&&(a=1/Math.sqrt(a)),n[0]=t[0]*a,n[1]=t[1]*a,n[2]=t[2]*a,n}function be(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function fe(n,t,e){var r=t[0],i=t[1],a=t[2],s=e[0],o=e[1],l=e[2];return n[0]=i*l-a*o,n[1]=a*s-r*l,n[2]=r*o-i*s,n}function Re(n,t,e,r){var i=t[0],a=t[1],s=t[2];return n[0]=i+r*(e[0]-i),n[1]=a+r*(e[1]-a),n[2]=s+r*(e[2]-s),n}function An(n,t,e,r){var i=Math.acos(Math.min(Math.max(be(t,e),-1),1)),a=Math.sin(i),s=Math.sin((1-r)*i)/a,o=Math.sin(r*i)/a;return n[0]=s*t[0]+o*e[0],n[1]=s*t[1]+o*e[1],n[2]=s*t[2]+o*e[2],n}function Cn(n,t,e,r,i,a){var s=a*a,o=s*(2*a-3)+1,l=s*(a-2)+a,c=s*(a-1),u=s*(3-2*a);return n[0]=t[0]*o+e[0]*l+r[0]*c+i[0]*u,n[1]=t[1]*o+e[1]*l+r[1]*c+i[1]*u,n[2]=t[2]*o+e[2]*l+r[2]*c+i[2]*u,n}function Le(n,t,e,r,i,a){var s=1-a,o=s*s,l=a*a,c=o*s,u=3*a*o,h=3*l*s,f=l*a;return n[0]=t[0]*c+e[0]*u+r[0]*h+i[0]*f,n[1]=t[1]*c+e[1]*u+r[1]*h+i[1]*f,n[2]=t[2]*c+e[2]*u+r[2]*h+i[2]*f,n}function Ae(n,t){t=t===void 0?1:t;var e=glMatrix.RANDOM()*2*Math.PI,r=glMatrix.RANDOM()*2-1,i=Math.sqrt(1-r*r)*t;return n[0]=Math.cos(e)*i,n[1]=Math.sin(e)*i,n[2]=r*t,n}function re(n,t,e){var r=t[0],i=t[1],a=t[2],s=e[3]*r+e[7]*i+e[11]*a+e[15];return s=s||1,n[0]=(e[0]*r+e[4]*i+e[8]*a+e[12])/s,n[1]=(e[1]*r+e[5]*i+e[9]*a+e[13])/s,n[2]=(e[2]*r+e[6]*i+e[10]*a+e[14])/s,n}function Oe(n,t,e){var r=t[0],i=t[1],a=t[2];return n[0]=r*e[0]+i*e[3]+a*e[6],n[1]=r*e[1]+i*e[4]+a*e[7],n[2]=r*e[2]+i*e[5]+a*e[8],n}function cr(n,t,e){var r=e[0],i=e[1],a=e[2],s=e[3],o=t[0],l=t[1],c=t[2],u=i*c-a*l,h=a*o-r*c,f=r*l-i*o;return u=u+u,h=h+h,f=f+f,n[0]=o+s*u+i*f-a*h,n[1]=l+s*h+a*u-r*f,n[2]=c+s*f+r*h-i*u,n}function ca(n,t,e,r){var i=[],a=[];return i[0]=t[0]-e[0],i[1]=t[1]-e[1],i[2]=t[2]-e[2],a[0]=i[0],a[1]=i[1]*Math.cos(r)-i[2]*Math.sin(r),a[2]=i[1]*Math.sin(r)+i[2]*Math.cos(r),n[0]=a[0]+e[0],n[1]=a[1]+e[1],n[2]=a[2]+e[2],n}function ne(n,t,e,r){var i=[],a=[];return i[0]=t[0]-e[0],i[1]=t[1]-e[1],i[2]=t[2]-e[2],a[0]=i[2]*Math.sin(r)+i[0]*Math.cos(r),a[1]=i[1],a[2]=i[2]*Math.cos(r)-i[0]*Math.sin(r),n[0]=a[0]+e[0],n[1]=a[1]+e[1],n[2]=a[2]+e[2],n}function ss(n,t,e,r){var i=[],a=[];return i[0]=t[0]-e[0],i[1]=t[1]-e[1],i[2]=t[2]-e[2],a[0]=i[0]*Math.cos(r)-i[1]*Math.sin(r),a[1]=i[0]*Math.sin(r)+i[1]*Math.cos(r),a[2]=i[2],n[0]=a[0]+e[0],n[1]=a[1]+e[1],n[2]=a[2]+e[2],n}function kr(n,t){var e=n[0],r=n[1],i=n[2],a=t[0],s=t[1],o=t[2],l=Math.sqrt((e*e+r*r+i*i)*(a*a+s*s+o*o)),c=l&&be(n,t)/l;return Math.acos(Math.min(Math.max(c,-1),1))}function Yn(n){return n[0]=0,n[1]=0,n[2]=0,n}function Lr(n){return"vec3("+n[0]+", "+n[1]+", "+n[2]+")"}function os(n,t){return n[0]===t[0]&&n[1]===t[1]&&n[2]===t[2]}function ua(n,t){var e=n[0],r=n[1],i=n[2],a=t[0],s=t[1],o=t[2];return Math.abs(e-a)<=H*Math.max(1,Math.abs(e),Math.abs(a))&&Math.abs(r-s)<=H*Math.max(1,Math.abs(r),Math.abs(s))&&Math.abs(i-o)<=H*Math.max(1,Math.abs(i),Math.abs(o))}var Js=Kt,ha=null,Bo=null,ls=zt,cs=null,us=ft,Si=null,Oi=function(){var n=pt();return function(t,e,r,i,a,s){var o,l;for(e||(e=3),r||(r=0),i?l=Math.min(i*e+r,t.length):l=t.length,o=r;o<l;o+=e)n[0]=t[o],n[1]=t[o+1],n[2]=t[o+2],a(n,n,s),t[o]=n[0],t[o+1]=n[1],t[o+2]=n[2];return t}}();function Pn(){var n=new U(4);return U!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0,n[3]=0),n}function ff(n){var t=new U(4);return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t}function Vi(n,t,e,r){var i=new U(4);return i[0]=n,i[1]=t,i[2]=e,i[3]=r,i}function Ti(n,t){return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n}function zo(n,t,e,r,i){return n[0]=t,n[1]=e,n[2]=r,n[3]=i,n}function Ta(n,t,e){return n[0]=t[0]+e[0],n[1]=t[1]+e[1],n[2]=t[2]+e[2],n[3]=t[3]+e[3],n}function K0(n,t,e){return n[0]=t[0]-e[0],n[1]=t[1]-e[1],n[2]=t[2]-e[2],n[3]=t[3]-e[3],n}function df(n,t,e){return n[0]=t[0]*e[0],n[1]=t[1]*e[1],n[2]=t[2]*e[2],n[3]=t[3]*e[3],n}function jo(n,t,e){return n[0]=t[0]/e[0],n[1]=t[1]/e[1],n[2]=t[2]/e[2],n[3]=t[3]/e[3],n}function Q0(n,t){return n[0]=Math.ceil(t[0]),n[1]=Math.ceil(t[1]),n[2]=Math.ceil(t[2]),n[3]=Math.ceil(t[3]),n}function J0(n,t){return n[0]=Math.floor(t[0]),n[1]=Math.floor(t[1]),n[2]=Math.floor(t[2]),n[3]=Math.floor(t[3]),n}function q0(n,t,e){return n[0]=Math.min(t[0],e[0]),n[1]=Math.min(t[1],e[1]),n[2]=Math.min(t[2],e[2]),n[3]=Math.min(t[3],e[3]),n}function $0(n,t,e){return n[0]=Math.max(t[0],e[0]),n[1]=Math.max(t[1],e[1]),n[2]=Math.max(t[2],e[2]),n[3]=Math.max(t[3],e[3]),n}function tg(n,t){return n[0]=glMatrix.round(t[0]),n[1]=glMatrix.round(t[1]),n[2]=glMatrix.round(t[2]),n[3]=glMatrix.round(t[3]),n}function vf(n,t,e){return n[0]=t[0]*e,n[1]=t[1]*e,n[2]=t[2]*e,n[3]=t[3]*e,n}function gf(n,t,e,r){return n[0]=t[0]+e[0]*r,n[1]=t[1]+e[1]*r,n[2]=t[2]+e[2]*r,n[3]=t[3]+e[3]*r,n}function eg(n,t){var e=t[0]-n[0],r=t[1]-n[1],i=t[2]-n[2],a=t[3]-n[3];return Math.sqrt(e*e+r*r+i*i+a*a)}function ng(n,t){var e=t[0]-n[0],r=t[1]-n[1],i=t[2]-n[2],a=t[3]-n[3];return e*e+r*r+i*i+a*a}function pf(n){var t=n[0],e=n[1],r=n[2],i=n[3];return Math.sqrt(t*t+e*e+r*r+i*i)}function mf(n){var t=n[0],e=n[1],r=n[2],i=n[3];return t*t+e*e+r*r+i*i}function Fo(n,t){return n[0]=-t[0],n[1]=-t[1],n[2]=-t[2],n[3]=-t[3],n}function yf(n,t){return n[0]=1/t[0],n[1]=1/t[1],n[2]=1/t[2],n[3]=1/t[3],n}function Ul(n,t){var e=t[0],r=t[1],i=t[2],a=t[3],s=e*e+r*r+i*i+a*a;return s>0&&(s=1/Math.sqrt(s)),n[0]=e*s,n[1]=r*s,n[2]=i*s,n[3]=a*s,n}function Y(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]+n[3]*t[3]}function x(n,t,e,r){var i=e[0]*r[1]-e[1]*r[0],a=e[0]*r[2]-e[2]*r[0],s=e[0]*r[3]-e[3]*r[0],o=e[1]*r[2]-e[2]*r[1],l=e[1]*r[3]-e[3]*r[1],c=e[2]*r[3]-e[3]*r[2],u=t[0],h=t[1],f=t[2],d=t[3];return n[0]=h*c-f*l+d*o,n[1]=-(u*c)+f*s-d*a,n[2]=u*l-h*s+d*i,n[3]=-(u*o)+h*a-f*i,n}function w(n,t,e,r){var i=t[0],a=t[1],s=t[2],o=t[3];return n[0]=i+r*(e[0]-i),n[1]=a+r*(e[1]-a),n[2]=s+r*(e[2]-s),n[3]=o+r*(e[3]-o),n}function m(n,t){t=t===void 0?1:t;var e,r,i,a,s,o,l;l=glMatrix.RANDOM(),e=l*2-1,r=(4*glMatrix.RANDOM()-2)*Math.sqrt(l*-l+l),s=e*e+r*r,l=glMatrix.RANDOM(),i=l*2-1,a=(4*glMatrix.RANDOM()-2)*Math.sqrt(l*-l+l),o=i*i+a*a;var c=Math.sqrt((1-s)/o);return n[0]=t*e,n[1]=t*r,n[2]=t*i*c,n[3]=t*a*c,n}function A(n,t,e){var r=t[0],i=t[1],a=t[2],s=t[3];return n[0]=e[0]*r+e[4]*i+e[8]*a+e[12]*s,n[1]=e[1]*r+e[5]*i+e[9]*a+e[13]*s,n[2]=e[2]*r+e[6]*i+e[10]*a+e[14]*s,n[3]=e[3]*r+e[7]*i+e[11]*a+e[15]*s,n}function Z(n,t,e){var r=e[0],i=e[1],a=e[2],s=e[3],o=t[0],l=t[1],c=t[2],u=i*c-a*l,h=a*o-r*c,f=r*l-i*o;return u=u+u,h=h+h,f=f+f,n[0]=o+s*u+i*f-a*h,n[1]=l+s*h+a*u-r*f,n[2]=c+s*f+r*h-i*u,n[3]=t[3],n}function et(n){return n[0]=0,n[1]=0,n[2]=0,n[3]=0,n}function nt(n){return"vec4("+n[0]+", "+n[1]+", "+n[2]+", "+n[3]+")"}function st(n,t){return n[0]===t[0]&&n[1]===t[1]&&n[2]===t[2]&&n[3]===t[3]}function lt(n,t){var e=n[0],r=n[1],i=n[2],a=n[3],s=t[0],o=t[1],l=t[2],c=t[3];return Math.abs(e-s)<=glMatrix.EPSILON*Math.max(1,Math.abs(e),Math.abs(s))&&Math.abs(r-o)<=glMatrix.EPSILON*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(i-l)<=glMatrix.EPSILON*Math.max(1,Math.abs(i),Math.abs(l))&&Math.abs(a-c)<=glMatrix.EPSILON*Math.max(1,Math.abs(a),Math.abs(c))}var St=null,gt=null,Ft=null,Jt=null,Dt=null,Ht=null,le=null,Et=function(){var n=Pn();return function(t,e,r,i,a,s){var o,l;for(e||(e=4),r||(r=0),i?l=Math.min(i*e+r,t.length):l=t.length,o=r;o<l;o+=e)n[0]=t[o],n[1]=t[o+1],n[2]=t[o+2],n[3]=t[o+3],a(n,n,s),t[o]=n[0],t[o+1]=n[1],t[o+2]=n[2],t[o+3]=n[3];return t}}();function Gt(){var n=new U(16);return U!=Float32Array&&(n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[11]=0,n[12]=0,n[13]=0,n[14]=0),n[0]=1,n[5]=1,n[10]=1,n[15]=1,n}function ue(n){var t=new U(16);return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],t}function we(n,t){return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n[6]=t[6],n[7]=t[7],n[8]=t[8],n[9]=t[9],n[10]=t[10],n[11]=t[11],n[12]=t[12],n[13]=t[13],n[14]=t[14],n[15]=t[15],n}function Se(n,t,e,r,i,a,s,o,l,c,u,h,f,d,v,g){var p=new U(16);return p[0]=n,p[1]=t,p[2]=e,p[3]=r,p[4]=i,p[5]=a,p[6]=s,p[7]=o,p[8]=l,p[9]=c,p[10]=u,p[11]=h,p[12]=f,p[13]=d,p[14]=v,p[15]=g,p}function cn(n,t,e,r,i,a,s,o,l,c,u,h,f,d,v,g,p){return n[0]=t,n[1]=e,n[2]=r,n[3]=i,n[4]=a,n[5]=s,n[6]=o,n[7]=l,n[8]=c,n[9]=u,n[10]=h,n[11]=f,n[12]=d,n[13]=v,n[14]=g,n[15]=p,n}function ge(n){return n[0]=1,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=1,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=1,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,n}function xe(n,t){if(n===t){var e=t[1],r=t[2],i=t[3],a=t[6],s=t[7],o=t[11];n[1]=t[4],n[2]=t[8],n[3]=t[12],n[4]=e,n[6]=t[9],n[7]=t[13],n[8]=r,n[9]=a,n[11]=t[14],n[12]=i,n[13]=s,n[14]=o}else n[0]=t[0],n[1]=t[4],n[2]=t[8],n[3]=t[12],n[4]=t[1],n[5]=t[5],n[6]=t[9],n[7]=t[13],n[8]=t[2],n[9]=t[6],n[10]=t[10],n[11]=t[14],n[12]=t[3],n[13]=t[7],n[14]=t[11],n[15]=t[15];return n}function _e(n,t){var e=t[0],r=t[1],i=t[2],a=t[3],s=t[4],o=t[5],l=t[6],c=t[7],u=t[8],h=t[9],f=t[10],d=t[11],v=t[12],g=t[13],p=t[14],y=t[15],b=e*o-r*s,M=e*l-i*s,O=e*c-a*s,k=r*l-i*o,D=r*c-a*o,j=i*c-a*l,B=u*g-h*v,W=u*p-f*v,V=u*y-d*v,q=h*p-f*g,$=h*y-d*g,ot=f*y-d*p,ct=b*ot-M*$+O*q+k*V-D*W+j*B;return ct?(ct=1/ct,n[0]=(o*ot-l*$+c*q)*ct,n[1]=(i*$-r*ot-a*q)*ct,n[2]=(g*j-p*D+y*k)*ct,n[3]=(f*D-h*j-d*k)*ct,n[4]=(l*V-s*ot-c*W)*ct,n[5]=(e*ot-i*V+a*W)*ct,n[6]=(p*O-v*j-y*M)*ct,n[7]=(u*j-f*O+d*M)*ct,n[8]=(s*$-o*V+c*B)*ct,n[9]=(r*V-e*$-a*B)*ct,n[10]=(v*D-g*O+y*b)*ct,n[11]=(h*O-u*D-d*b)*ct,n[12]=(o*W-s*q-l*B)*ct,n[13]=(e*q-r*W+i*B)*ct,n[14]=(g*M-v*k-p*b)*ct,n[15]=(u*k-h*M+f*b)*ct,n):null}function At(n,t){var e=t[0],r=t[1],i=t[2],a=t[3],s=t[4],o=t[5],l=t[6],c=t[7],u=t[8],h=t[9],f=t[10],d=t[11],v=t[12],g=t[13],p=t[14],y=t[15],b=e*o-r*s,M=e*l-i*s,O=e*c-a*s,k=r*l-i*o,D=r*c-a*o,j=i*c-a*l,B=u*g-h*v,W=u*p-f*v,V=u*y-d*v,q=h*p-f*g,$=h*y-d*g,ot=f*y-d*p;return n[0]=o*ot-l*$+c*q,n[1]=i*$-r*ot-a*q,n[2]=g*j-p*D+y*k,n[3]=f*D-h*j-d*k,n[4]=l*V-s*ot-c*W,n[5]=e*ot-i*V+a*W,n[6]=p*O-v*j-y*M,n[7]=u*j-f*O+d*M,n[8]=s*$-o*V+c*B,n[9]=r*V-e*$-a*B,n[10]=v*D-g*O+y*b,n[11]=h*O-u*D-d*b,n[12]=o*W-s*q-l*B,n[13]=e*q-r*W+i*B,n[14]=g*M-v*k-p*b,n[15]=u*k-h*M+f*b,n}function Vt(n){var t=n[0],e=n[1],r=n[2],i=n[3],a=n[4],s=n[5],o=n[6],l=n[7],c=n[8],u=n[9],h=n[10],f=n[11],d=n[12],v=n[13],g=n[14],p=n[15],y=t*s-e*a,b=t*o-r*a,M=e*o-r*s,O=c*v-u*d,k=c*g-h*d,D=u*g-h*v,j=t*D-e*k+r*O,B=a*D-s*k+o*O,W=c*M-u*b+h*y,V=d*M-v*b+g*y;return l*j-i*B+p*W-f*V}function qt(n,t,e){var r=t[0],i=t[1],a=t[2],s=t[3],o=t[4],l=t[5],c=t[6],u=t[7],h=t[8],f=t[9],d=t[10],v=t[11],g=t[12],p=t[13],y=t[14],b=t[15],M=e[0],O=e[1],k=e[2],D=e[3];return n[0]=M*r+O*o+k*h+D*g,n[1]=M*i+O*l+k*f+D*p,n[2]=M*a+O*c+k*d+D*y,n[3]=M*s+O*u+k*v+D*b,M=e[4],O=e[5],k=e[6],D=e[7],n[4]=M*r+O*o+k*h+D*g,n[5]=M*i+O*l+k*f+D*p,n[6]=M*a+O*c+k*d+D*y,n[7]=M*s+O*u+k*v+D*b,M=e[8],O=e[9],k=e[10],D=e[11],n[8]=M*r+O*o+k*h+D*g,n[9]=M*i+O*l+k*f+D*p,n[10]=M*a+O*c+k*d+D*y,n[11]=M*s+O*u+k*v+D*b,M=e[12],O=e[13],k=e[14],D=e[15],n[12]=M*r+O*o+k*h+D*g,n[13]=M*i+O*l+k*f+D*p,n[14]=M*a+O*c+k*d+D*y,n[15]=M*s+O*u+k*v+D*b,n}function Yt(n,t,e){var r=e[0],i=e[1],a=e[2],s,o,l,c,u,h,f,d,v,g,p,y;return t===n?(n[12]=t[0]*r+t[4]*i+t[8]*a+t[12],n[13]=t[1]*r+t[5]*i+t[9]*a+t[13],n[14]=t[2]*r+t[6]*i+t[10]*a+t[14],n[15]=t[3]*r+t[7]*i+t[11]*a+t[15]):(s=t[0],o=t[1],l=t[2],c=t[3],u=t[4],h=t[5],f=t[6],d=t[7],v=t[8],g=t[9],p=t[10],y=t[11],n[0]=s,n[1]=o,n[2]=l,n[3]=c,n[4]=u,n[5]=h,n[6]=f,n[7]=d,n[8]=v,n[9]=g,n[10]=p,n[11]=y,n[12]=s*r+u*i+v*a+t[12],n[13]=o*r+h*i+g*a+t[13],n[14]=l*r+f*i+p*a+t[14],n[15]=c*r+d*i+y*a+t[15]),n}function dn(n,t,e){var r=e[0],i=e[1],a=e[2];return n[0]=t[0]*r,n[1]=t[1]*r,n[2]=t[2]*r,n[3]=t[3]*r,n[4]=t[4]*i,n[5]=t[5]*i,n[6]=t[6]*i,n[7]=t[7]*i,n[8]=t[8]*a,n[9]=t[9]*a,n[10]=t[10]*a,n[11]=t[11]*a,n[12]=t[12],n[13]=t[13],n[14]=t[14],n[15]=t[15],n}function tn(n,t,e,r){var i=r[0],a=r[1],s=r[2],o=Math.sqrt(i*i+a*a+s*s),l,c,u,h,f,d,v,g,p,y,b,M,O,k,D,j,B,W,V,q,$,ot,ct,vt;return o<H?null:(o=1/o,i*=o,a*=o,s*=o,l=Math.sin(e),c=Math.cos(e),u=1-c,h=t[0],f=t[1],d=t[2],v=t[3],g=t[4],p=t[5],y=t[6],b=t[7],M=t[8],O=t[9],k=t[10],D=t[11],j=i*i*u+c,B=a*i*u+s*l,W=s*i*u-a*l,V=i*a*u-s*l,q=a*a*u+c,$=s*a*u+i*l,ot=i*s*u+a*l,ct=a*s*u-i*l,vt=s*s*u+c,n[0]=h*j+g*B+M*W,n[1]=f*j+p*B+O*W,n[2]=d*j+y*B+k*W,n[3]=v*j+b*B+D*W,n[4]=h*V+g*q+M*$,n[5]=f*V+p*q+O*$,n[6]=d*V+y*q+k*$,n[7]=v*V+b*q+D*$,n[8]=h*ot+g*ct+M*vt,n[9]=f*ot+p*ct+O*vt,n[10]=d*ot+y*ct+k*vt,n[11]=v*ot+b*ct+D*vt,t!==n&&(n[12]=t[12],n[13]=t[13],n[14]=t[14],n[15]=t[15]),n)}function un(n,t,e){var r=Math.sin(e),i=Math.cos(e),a=t[4],s=t[5],o=t[6],l=t[7],c=t[8],u=t[9],h=t[10],f=t[11];return t!==n&&(n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[12]=t[12],n[13]=t[13],n[14]=t[14],n[15]=t[15]),n[4]=a*i+c*r,n[5]=s*i+u*r,n[6]=o*i+h*r,n[7]=l*i+f*r,n[8]=c*i-a*r,n[9]=u*i-s*r,n[10]=h*i-o*r,n[11]=f*i-l*r,n}function vn(n,t,e){var r=Math.sin(e),i=Math.cos(e),a=t[0],s=t[1],o=t[2],l=t[3],c=t[8],u=t[9],h=t[10],f=t[11];return t!==n&&(n[4]=t[4],n[5]=t[5],n[6]=t[6],n[7]=t[7],n[12]=t[12],n[13]=t[13],n[14]=t[14],n[15]=t[15]),n[0]=a*i-c*r,n[1]=s*i-u*r,n[2]=o*i-h*r,n[3]=l*i-f*r,n[8]=a*r+c*i,n[9]=s*r+u*i,n[10]=o*r+h*i,n[11]=l*r+f*i,n}function nr(n,t,e){var r=Math.sin(e),i=Math.cos(e),a=t[0],s=t[1],o=t[2],l=t[3],c=t[4],u=t[5],h=t[6],f=t[7];return t!==n&&(n[8]=t[8],n[9]=t[9],n[10]=t[10],n[11]=t[11],n[12]=t[12],n[13]=t[13],n[14]=t[14],n[15]=t[15]),n[0]=a*i+c*r,n[1]=s*i+u*r,n[2]=o*i+h*r,n[3]=l*i+f*r,n[4]=c*i-a*r,n[5]=u*i-s*r,n[6]=h*i-o*r,n[7]=f*i-l*r,n}function Un(n,t){return n[0]=1,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=1,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=1,n[11]=0,n[12]=t[0],n[13]=t[1],n[14]=t[2],n[15]=1,n}function gn(n,t){return n[0]=t[0],n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=t[1],n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=t[2],n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,n}function qr(n,t,e){var r=e[0],i=e[1],a=e[2],s=Math.sqrt(r*r+i*i+a*a),o,l,c;return s<H?null:(s=1/s,r*=s,i*=s,a*=s,o=Math.sin(t),l=Math.cos(t),c=1-l,n[0]=r*r*c+l,n[1]=i*r*c+a*o,n[2]=a*r*c-i*o,n[3]=0,n[4]=r*i*c-a*o,n[5]=i*i*c+l,n[6]=a*i*c+r*o,n[7]=0,n[8]=r*a*c+i*o,n[9]=i*a*c-r*o,n[10]=a*a*c+l,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,n)}function di(n,t){var e=Math.sin(t),r=Math.cos(t);return n[0]=1,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=r,n[6]=e,n[7]=0,n[8]=0,n[9]=-e,n[10]=r,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,n}function Fe(n,t){var e=Math.sin(t),r=Math.cos(t);return n[0]=r,n[1]=0,n[2]=-e,n[3]=0,n[4]=0,n[5]=1,n[6]=0,n[7]=0,n[8]=e,n[9]=0,n[10]=r,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,n}function jn(n,t){var e=Math.sin(t),r=Math.cos(t);return n[0]=r,n[1]=e,n[2]=0,n[3]=0,n[4]=-e,n[5]=r,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=1,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,n}function Ar(n,t,e){var r=t[0],i=t[1],a=t[2],s=t[3],o=r+r,l=i+i,c=a+a,u=r*o,h=r*l,f=r*c,d=i*l,v=i*c,g=a*c,p=s*o,y=s*l,b=s*c;return n[0]=1-(d+g),n[1]=h+b,n[2]=f-y,n[3]=0,n[4]=h-b,n[5]=1-(u+g),n[6]=v+p,n[7]=0,n[8]=f+y,n[9]=v-p,n[10]=1-(u+d),n[11]=0,n[12]=e[0],n[13]=e[1],n[14]=e[2],n[15]=1,n}function Dr(n,t){var e=new U(3),r=-t[0],i=-t[1],a=-t[2],s=t[3],o=t[4],l=t[5],c=t[6],u=t[7],h=r*r+i*i+a*a+s*s;return h>0?(e[0]=(o*s+u*r+l*a-c*i)*2/h,e[1]=(l*s+u*i+c*r-o*a)*2/h,e[2]=(c*s+u*a+o*i-l*r)*2/h):(e[0]=(o*s+u*r+l*a-c*i)*2,e[1]=(l*s+u*i+c*r-o*a)*2,e[2]=(c*s+u*a+o*i-l*r)*2),Ar(n,t,e),n}function Sn(n,t){return n[0]=t[12],n[1]=t[13],n[2]=t[14],n}function Ca(n,t){var e=t[0],r=t[1],i=t[2],a=t[4],s=t[5],o=t[6],l=t[8],c=t[9],u=t[10];return n[0]=Math.sqrt(e*e+r*r+i*i),n[1]=Math.sqrt(a*a+s*s+o*o),n[2]=Math.sqrt(l*l+c*c+u*u),n}function qs(n,t){var e=new U(3);Ca(e,t);var r=1/e[0],i=1/e[1],a=1/e[2],s=t[0]*r,o=t[1]*i,l=t[2]*a,c=t[4]*r,u=t[5]*i,h=t[6]*a,f=t[8]*r,d=t[9]*i,v=t[10]*a,g=s+u+v,p=0;return g>0?(p=Math.sqrt(g+1)*2,n[3]=.25*p,n[0]=(h-d)/p,n[1]=(f-l)/p,n[2]=(o-c)/p):s>u&&s>v?(p=Math.sqrt(1+s-u-v)*2,n[3]=(h-d)/p,n[0]=.25*p,n[1]=(o+c)/p,n[2]=(f+l)/p):u>v?(p=Math.sqrt(1+u-s-v)*2,n[3]=(f-l)/p,n[0]=(o+c)/p,n[1]=.25*p,n[2]=(h+d)/p):(p=Math.sqrt(1+v-s-u)*2,n[3]=(o-c)/p,n[0]=(f+l)/p,n[1]=(h+d)/p,n[2]=.25*p),n}function bf(n,t,e,r){t[0]=r[12],t[1]=r[13],t[2]=r[14];var i=r[0],a=r[1],s=r[2],o=r[4],l=r[5],c=r[6],u=r[8],h=r[9],f=r[10];e[0]=Math.sqrt(i*i+a*a+s*s),e[1]=Math.sqrt(o*o+l*l+c*c),e[2]=Math.sqrt(u*u+h*h+f*f);var d=1/e[0],v=1/e[1],g=1/e[2],p=i*d,y=a*v,b=s*g,M=o*d,O=l*v,k=c*g,D=u*d,j=h*v,B=f*g,W=p+O+B,V=0;return W>0?(V=Math.sqrt(W+1)*2,n[3]=.25*V,n[0]=(k-j)/V,n[1]=(D-b)/V,n[2]=(y-M)/V):p>O&&p>B?(V=Math.sqrt(1+p-O-B)*2,n[3]=(k-j)/V,n[0]=.25*V,n[1]=(y+M)/V,n[2]=(D+b)/V):O>B?(V=Math.sqrt(1+O-p-B)*2,n[3]=(D-b)/V,n[0]=(y+M)/V,n[1]=.25*V,n[2]=(k+j)/V):(V=Math.sqrt(1+B-p-O)*2,n[3]=(y-M)/V,n[0]=(D+b)/V,n[1]=(k+j)/V,n[2]=.25*V),n}function xf(n,t,e,r){var i=t[0],a=t[1],s=t[2],o=t[3],l=i+i,c=a+a,u=s+s,h=i*l,f=i*c,d=i*u,v=a*c,g=a*u,p=s*u,y=o*l,b=o*c,M=o*u,O=r[0],k=r[1],D=r[2];return n[0]=(1-(v+p))*O,n[1]=(f+M)*O,n[2]=(d-b)*O,n[3]=0,n[4]=(f-M)*k,n[5]=(1-(h+p))*k,n[6]=(g+y)*k,n[7]=0,n[8]=(d+b)*D,n[9]=(g-y)*D,n[10]=(1-(h+v))*D,n[11]=0,n[12]=e[0],n[13]=e[1],n[14]=e[2],n[15]=1,n}function hs(n,t,e,r,i){var a=t[0],s=t[1],o=t[2],l=t[3],c=a+a,u=s+s,h=o+o,f=a*c,d=a*u,v=a*h,g=s*u,p=s*h,y=o*h,b=l*c,M=l*u,O=l*h,k=r[0],D=r[1],j=r[2],B=i[0],W=i[1],V=i[2],q=(1-(g+y))*k,$=(d+O)*k,ot=(v-M)*k,ct=(d-O)*D,vt=(1-(f+y))*D,Ct=(p+b)*D,Ot=(v+M)*j,mt=(p-b)*j,yt=(1-(f+g))*j;return n[0]=q,n[1]=$,n[2]=ot,n[3]=0,n[4]=ct,n[5]=vt,n[6]=Ct,n[7]=0,n[8]=Ot,n[9]=mt,n[10]=yt,n[11]=0,n[12]=e[0]+B-(q*B+ct*W+Ot*V),n[13]=e[1]+W-($*B+vt*W+mt*V),n[14]=e[2]+V-(ot*B+Ct*W+yt*V),n[15]=1,n}function Zo(n,t){var e=t[0],r=t[1],i=t[2],a=t[3],s=e+e,o=r+r,l=i+i,c=e*s,u=r*s,h=r*o,f=i*s,d=i*o,v=i*l,g=a*s,p=a*o,y=a*l;return n[0]=1-h-v,n[1]=u+y,n[2]=f-p,n[3]=0,n[4]=u-y,n[5]=1-c-v,n[6]=d+g,n[7]=0,n[8]=f+p,n[9]=d-g,n[10]=1-c-h,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,n}function Ef(n,t,e,r,i,a,s){var o=1/(e-t),l=1/(i-r),c=1/(a-s);return n[0]=a*2*o,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=a*2*l,n[6]=0,n[7]=0,n[8]=(e+t)*o,n[9]=(i+r)*l,n[10]=(s+a)*c,n[11]=-1,n[12]=0,n[13]=0,n[14]=s*a*2*c,n[15]=0,n}function Kl(n,t,e,r,i){var a=1/Math.tan(t/2);if(n[0]=a/e,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=a,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[11]=-1,n[12]=0,n[13]=0,n[15]=0,i!=null&&i!==1/0){var s=1/(r-i);n[10]=(i+r)*s,n[14]=2*i*r*s}else n[10]=-1,n[14]=-2*r;return n}var wf=Kl;function sw(n,t,e,r,i){var a=1/Math.tan(t/2);if(n[0]=a/e,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=a,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[11]=-1,n[12]=0,n[13]=0,n[15]=0,i!=null&&i!==1/0){var s=1/(r-i);n[10]=i*s,n[14]=i*r*s}else n[10]=-1,n[14]=-r;return n}function ow(n,t,e,r){var i=Math.tan(t.upDegrees*Math.PI/180),a=Math.tan(t.downDegrees*Math.PI/180),s=Math.tan(t.leftDegrees*Math.PI/180),o=Math.tan(t.rightDegrees*Math.PI/180),l=2/(s+o),c=2/(i+a);return n[0]=l,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=c,n[6]=0,n[7]=0,n[8]=-((s-o)*l*.5),n[9]=(i-a)*c*.5,n[10]=r/(e-r),n[11]=-1,n[12]=0,n[13]=0,n[14]=r*e/(e-r),n[15]=0,n}function rg(n,t,e,r,i,a,s){var o=1/(t-e),l=1/(r-i),c=1/(a-s);return n[0]=-2*o,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=-2*l,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=2*c,n[11]=0,n[12]=(t+e)*o,n[13]=(i+r)*l,n[14]=(s+a)*c,n[15]=1,n}var ig=rg;function ag(n,t,e,r,i,a,s){var o=1/(t-e),l=1/(r-i),c=1/(a-s);return n[0]=-2*o,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=-2*l,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=c,n[11]=0,n[12]=(t+e)*o,n[13]=(i+r)*l,n[14]=a*c,n[15]=1,n}function sg(n,t,e,r){var i,a,s,o,l,c,u,h,f,d,v=t[0],g=t[1],p=t[2],y=r[0],b=r[1],M=r[2],O=e[0],k=e[1],D=e[2];return Math.abs(v-O)<H&&Math.abs(g-k)<H&&Math.abs(p-D)<H?ge(n):(u=v-O,h=g-k,f=p-D,d=1/Math.sqrt(u*u+h*h+f*f),u*=d,h*=d,f*=d,i=b*f-M*h,a=M*u-y*f,s=y*h-b*u,d=Math.sqrt(i*i+a*a+s*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-u*s,c=u*a-h*i,d=Math.sqrt(o*o+l*l+c*c),d?(d=1/d,o*=d,l*=d,c*=d):(o=0,l=0,c=0),n[0]=i,n[1]=o,n[2]=u,n[3]=0,n[4]=a,n[5]=l,n[6]=h,n[7]=0,n[8]=s,n[9]=c,n[10]=f,n[11]=0,n[12]=-(i*v+a*g+s*p),n[13]=-(o*v+l*g+c*p),n[14]=-(u*v+h*g+f*p),n[15]=1,n)}function lw(n,t,e,r){var i=t[0],a=t[1],s=t[2],o=r[0],l=r[1],c=r[2],u=i-e[0],h=a-e[1],f=s-e[2],d=u*u+h*h+f*f;d>0&&(d=1/Math.sqrt(d),u*=d,h*=d,f*=d);var v=l*f-c*h,g=c*u-o*f,p=o*h-l*u;return d=v*v+g*g+p*p,d>0&&(d=1/Math.sqrt(d),v*=d,g*=d,p*=d),n[0]=v,n[1]=g,n[2]=p,n[3]=0,n[4]=h*p-f*g,n[5]=f*v-u*p,n[6]=u*g-h*v,n[7]=0,n[8]=u,n[9]=h,n[10]=f,n[11]=0,n[12]=i,n[13]=a,n[14]=s,n[15]=1,n}function cw(n){return"mat4("+n[0]+", "+n[1]+", "+n[2]+", "+n[3]+", "+n[4]+", "+n[5]+", "+n[6]+", "+n[7]+", "+n[8]+", "+n[9]+", "+n[10]+", "+n[11]+", "+n[12]+", "+n[13]+", "+n[14]+", "+n[15]+")"}function uw(n){return Math.sqrt(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]+n[3]*n[3]+n[4]*n[4]+n[5]*n[5]+n[6]*n[6]+n[7]*n[7]+n[8]*n[8]+n[9]*n[9]+n[10]*n[10]+n[11]*n[11]+n[12]*n[12]+n[13]*n[13]+n[14]*n[14]+n[15]*n[15])}function hw(n,t,e){return n[0]=t[0]+e[0],n[1]=t[1]+e[1],n[2]=t[2]+e[2],n[3]=t[3]+e[3],n[4]=t[4]+e[4],n[5]=t[5]+e[5],n[6]=t[6]+e[6],n[7]=t[7]+e[7],n[8]=t[8]+e[8],n[9]=t[9]+e[9],n[10]=t[10]+e[10],n[11]=t[11]+e[11],n[12]=t[12]+e[12],n[13]=t[13]+e[13],n[14]=t[14]+e[14],n[15]=t[15]+e[15],n}function og(n,t,e){return n[0]=t[0]-e[0],n[1]=t[1]-e[1],n[2]=t[2]-e[2],n[3]=t[3]-e[3],n[4]=t[4]-e[4],n[5]=t[5]-e[5],n[6]=t[6]-e[6],n[7]=t[7]-e[7],n[8]=t[8]-e[8],n[9]=t[9]-e[9],n[10]=t[10]-e[10],n[11]=t[11]-e[11],n[12]=t[12]-e[12],n[13]=t[13]-e[13],n[14]=t[14]-e[14],n[15]=t[15]-e[15],n}function fw(n,t,e){return n[0]=t[0]*e,n[1]=t[1]*e,n[2]=t[2]*e,n[3]=t[3]*e,n[4]=t[4]*e,n[5]=t[5]*e,n[6]=t[6]*e,n[7]=t[7]*e,n[8]=t[8]*e,n[9]=t[9]*e,n[10]=t[10]*e,n[11]=t[11]*e,n[12]=t[12]*e,n[13]=t[13]*e,n[14]=t[14]*e,n[15]=t[15]*e,n}function dw(n,t,e,r){return n[0]=t[0]+e[0]*r,n[1]=t[1]+e[1]*r,n[2]=t[2]+e[2]*r,n[3]=t[3]+e[3]*r,n[4]=t[4]+e[4]*r,n[5]=t[5]+e[5]*r,n[6]=t[6]+e[6]*r,n[7]=t[7]+e[7]*r,n[8]=t[8]+e[8]*r,n[9]=t[9]+e[9]*r,n[10]=t[10]+e[10]*r,n[11]=t[11]+e[11]*r,n[12]=t[12]+e[12]*r,n[13]=t[13]+e[13]*r,n[14]=t[14]+e[14]*r,n[15]=t[15]+e[15]*r,n}function Mf(n,t){return n[0]===t[0]&&n[1]===t[1]&&n[2]===t[2]&&n[3]===t[3]&&n[4]===t[4]&&n[5]===t[5]&&n[6]===t[6]&&n[7]===t[7]&&n[8]===t[8]&&n[9]===t[9]&&n[10]===t[10]&&n[11]===t[11]&&n[12]===t[12]&&n[13]===t[13]&&n[14]===t[14]&&n[15]===t[15]}function vw(n,t){var e=n[0],r=n[1],i=n[2],a=n[3],s=n[4],o=n[5],l=n[6],c=n[7],u=n[8],h=n[9],f=n[10],d=n[11],v=n[12],g=n[13],p=n[14],y=n[15],b=t[0],M=t[1],O=t[2],k=t[3],D=t[4],j=t[5],B=t[6],W=t[7],V=t[8],q=t[9],$=t[10],ot=t[11],ct=t[12],vt=t[13],Ct=t[14],Ot=t[15];return Math.abs(e-b)<=H*Math.max(1,Math.abs(e),Math.abs(b))&&Math.abs(r-M)<=H*Math.max(1,Math.abs(r),Math.abs(M))&&Math.abs(i-O)<=H*Math.max(1,Math.abs(i),Math.abs(O))&&Math.abs(a-k)<=H*Math.max(1,Math.abs(a),Math.abs(k))&&Math.abs(s-D)<=H*Math.max(1,Math.abs(s),Math.abs(D))&&Math.abs(o-j)<=H*Math.max(1,Math.abs(o),Math.abs(j))&&Math.abs(l-B)<=H*Math.max(1,Math.abs(l),Math.abs(B))&&Math.abs(c-W)<=H*Math.max(1,Math.abs(c),Math.abs(W))&&Math.abs(u-V)<=H*Math.max(1,Math.abs(u),Math.abs(V))&&Math.abs(h-q)<=H*Math.max(1,Math.abs(h),Math.abs(q))&&Math.abs(f-$)<=H*Math.max(1,Math.abs(f),Math.abs($))&&Math.abs(d-ot)<=H*Math.max(1,Math.abs(d),Math.abs(ot))&&Math.abs(v-ct)<=H*Math.max(1,Math.abs(v),Math.abs(ct))&&Math.abs(g-vt)<=H*Math.max(1,Math.abs(g),Math.abs(vt))&&Math.abs(p-Ct)<=H*Math.max(1,Math.abs(p),Math.abs(Ct))&&Math.abs(y-Ot)<=H*Math.max(1,Math.abs(y),Math.abs(Ot))}var lg=qt,gw=og;function cg(){var n=new U(9);return U!=Float32Array&&(n[1]=0,n[2]=0,n[3]=0,n[5]=0,n[6]=0,n[7]=0),n[0]=1,n[4]=1,n[8]=1,n}function pw(n,t){return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[4],n[4]=t[5],n[5]=t[6],n[6]=t[8],n[7]=t[9],n[8]=t[10],n}function z9(n){var t=new glMatrix.ARRAY_TYPE(9);return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t}function j9(n,t){return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n[6]=t[6],n[7]=t[7],n[8]=t[8],n}function mw(n,t,e,r,i,a,s,o,l){var c=new U(9);return c[0]=n,c[1]=t,c[2]=e,c[3]=r,c[4]=i,c[5]=a,c[6]=s,c[7]=o,c[8]=l,c}function F9(n,t,e,r,i,a,s,o,l,c){return n[0]=t,n[1]=e,n[2]=r,n[3]=i,n[4]=a,n[5]=s,n[6]=o,n[7]=l,n[8]=c,n}function Z9(n){return n[0]=1,n[1]=0,n[2]=0,n[3]=0,n[4]=1,n[5]=0,n[6]=0,n[7]=0,n[8]=1,n}function _9(n,t){if(n===t){var e=t[1],r=t[2],i=t[5];n[1]=t[3],n[2]=t[6],n[3]=e,n[5]=t[7],n[6]=r,n[7]=i}else n[0]=t[0],n[1]=t[3],n[2]=t[6],n[3]=t[1],n[4]=t[4],n[5]=t[7],n[6]=t[2],n[7]=t[5],n[8]=t[8];return n}function H9(n,t){var e=t[0],r=t[1],i=t[2],a=t[3],s=t[4],o=t[5],l=t[6],c=t[7],u=t[8],h=u*s-o*c,f=-u*a+o*l,d=c*a-s*l,v=e*h+r*f+i*d;return v?(v=1/v,n[0]=h*v,n[1]=(-u*r+i*c)*v,n[2]=(o*r-i*s)*v,n[3]=f*v,n[4]=(u*e-i*l)*v,n[5]=(-o*e+i*a)*v,n[6]=d*v,n[7]=(-c*e+r*l)*v,n[8]=(s*e-r*a)*v,n):null}function G9(n,t){var e=t[0],r=t[1],i=t[2],a=t[3],s=t[4],o=t[5],l=t[6],c=t[7],u=t[8];return n[0]=s*u-o*c,n[1]=i*c-r*u,n[2]=r*o-i*s,n[3]=o*l-a*u,n[4]=e*u-i*l,n[5]=i*a-e*o,n[6]=a*c-s*l,n[7]=r*l-e*c,n[8]=e*s-r*a,n}function W9(n){var t=n[0],e=n[1],r=n[2],i=n[3],a=n[4],s=n[5],o=n[6],l=n[7],c=n[8];return t*(c*a-s*l)+e*(-c*i+s*o)+r*(l*i-a*o)}function X9(n,t,e){var r=t[0],i=t[1],a=t[2],s=t[3],o=t[4],l=t[5],c=t[6],u=t[7],h=t[8],f=e[0],d=e[1],v=e[2],g=e[3],p=e[4],y=e[5],b=e[6],M=e[7],O=e[8];return n[0]=f*r+d*s+v*c,n[1]=f*i+d*o+v*u,n[2]=f*a+d*l+v*h,n[3]=g*r+p*s+y*c,n[4]=g*i+p*o+y*u,n[5]=g*a+p*l+y*h,n[6]=b*r+M*s+O*c,n[7]=b*i+M*o+O*u,n[8]=b*a+M*l+O*h,n}function V9(n,t,e){var r=t[0],i=t[1],a=t[2],s=t[3],o=t[4],l=t[5],c=t[6],u=t[7],h=t[8],f=e[0],d=e[1];return n[0]=r,n[1]=i,n[2]=a,n[3]=s,n[4]=o,n[5]=l,n[6]=f*r+d*s+c,n[7]=f*i+d*o+u,n[8]=f*a+d*l+h,n}function Y9(n,t,e){var r=t[0],i=t[1],a=t[2],s=t[3],o=t[4],l=t[5],c=t[6],u=t[7],h=t[8],f=Math.sin(e),d=Math.cos(e);return n[0]=d*r+f*s,n[1]=d*i+f*o,n[2]=d*a+f*l,n[3]=d*s-f*r,n[4]=d*o-f*i,n[5]=d*l-f*a,n[6]=c,n[7]=u,n[8]=h,n}function U9(n,t,e){var r=e[0],i=e[1];return n[0]=r*t[0],n[1]=r*t[1],n[2]=r*t[2],n[3]=i*t[3],n[4]=i*t[4],n[5]=i*t[5],n[6]=t[6],n[7]=t[7],n[8]=t[8],n}function K9(n,t){return n[0]=1,n[1]=0,n[2]=0,n[3]=0,n[4]=1,n[5]=0,n[6]=t[0],n[7]=t[1],n[8]=1,n}function Q9(n,t){var e=Math.sin(t),r=Math.cos(t);return n[0]=r,n[1]=e,n[2]=0,n[3]=-e,n[4]=r,n[5]=0,n[6]=0,n[7]=0,n[8]=1,n}function J9(n,t){return n[0]=t[0],n[1]=0,n[2]=0,n[3]=0,n[4]=t[1],n[5]=0,n[6]=0,n[7]=0,n[8]=1,n}function q9(n,t){return n[0]=t[0],n[1]=t[1],n[2]=0,n[3]=t[2],n[4]=t[3],n[5]=0,n[6]=t[4],n[7]=t[5],n[8]=1,n}function $9(n,t){var e=t[0],r=t[1],i=t[2],a=t[3],s=e+e,o=r+r,l=i+i,c=e*s,u=r*s,h=r*o,f=i*s,d=i*o,v=i*l,g=a*s,p=a*o,y=a*l;return n[0]=1-h-v,n[3]=u-y,n[6]=f+p,n[1]=u+y,n[4]=1-c-v,n[7]=d-g,n[2]=f-p,n[5]=d+g,n[8]=1-c-h,n}function tB(n,t){var e=t[0],r=t[1],i=t[2],a=t[3],s=t[4],o=t[5],l=t[6],c=t[7],u=t[8],h=t[9],f=t[10],d=t[11],v=t[12],g=t[13],p=t[14],y=t[15],b=e*o-r*s,M=e*l-i*s,O=e*c-a*s,k=r*l-i*o,D=r*c-a*o,j=i*c-a*l,B=u*g-h*v,W=u*p-f*v,V=u*y-d*v,q=h*p-f*g,$=h*y-d*g,ot=f*y-d*p,ct=b*ot-M*$+O*q+k*V-D*W+j*B;return ct?(ct=1/ct,n[0]=(o*ot-l*$+c*q)*ct,n[1]=(l*V-s*ot-c*W)*ct,n[2]=(s*$-o*V+c*B)*ct,n[3]=(i*$-r*ot-a*q)*ct,n[4]=(e*ot-i*V+a*W)*ct,n[5]=(r*V-e*$-a*B)*ct,n[6]=(g*j-p*D+y*k)*ct,n[7]=(p*O-v*j-y*M)*ct,n[8]=(v*D-g*O+y*b)*ct,n):null}function eB(n,t,e){return n[0]=2/t,n[1]=0,n[2]=0,n[3]=0,n[4]=-2/e,n[5]=0,n[6]=-1,n[7]=1,n[8]=1,n}function nB(n){return"mat3("+n[0]+", "+n[1]+", "+n[2]+", "+n[3]+", "+n[4]+", "+n[5]+", "+n[6]+", "+n[7]+", "+n[8]+")"}function rB(n){return Math.sqrt(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]+n[3]*n[3]+n[4]*n[4]+n[5]*n[5]+n[6]*n[6]+n[7]*n[7]+n[8]*n[8])}function iB(n,t,e){return n[0]=t[0]+e[0],n[1]=t[1]+e[1],n[2]=t[2]+e[2],n[3]=t[3]+e[3],n[4]=t[4]+e[4],n[5]=t[5]+e[5],n[6]=t[6]+e[6],n[7]=t[7]+e[7],n[8]=t[8]+e[8],n}function aB(n,t,e){return n[0]=t[0]-e[0],n[1]=t[1]-e[1],n[2]=t[2]-e[2],n[3]=t[3]-e[3],n[4]=t[4]-e[4],n[5]=t[5]-e[5],n[6]=t[6]-e[6],n[7]=t[7]-e[7],n[8]=t[8]-e[8],n}function sB(n,t,e){return n[0]=t[0]*e,n[1]=t[1]*e,n[2]=t[2]*e,n[3]=t[3]*e,n[4]=t[4]*e,n[5]=t[5]*e,n[6]=t[6]*e,n[7]=t[7]*e,n[8]=t[8]*e,n}function oB(n,t,e,r){return n[0]=t[0]+e[0]*r,n[1]=t[1]+e[1]*r,n[2]=t[2]+e[2]*r,n[3]=t[3]+e[3]*r,n[4]=t[4]+e[4]*r,n[5]=t[5]+e[5]*r,n[6]=t[6]+e[6]*r,n[7]=t[7]+e[7]*r,n[8]=t[8]+e[8]*r,n}function lB(n,t){return n[0]===t[0]&&n[1]===t[1]&&n[2]===t[2]&&n[3]===t[3]&&n[4]===t[4]&&n[5]===t[5]&&n[6]===t[6]&&n[7]===t[7]&&n[8]===t[8]}function cB(n,t){var e=n[0],r=n[1],i=n[2],a=n[3],s=n[4],o=n[5],l=n[6],c=n[7],u=n[8],h=t[0],f=t[1],d=t[2],v=t[3],g=t[4],p=t[5],y=t[6],b=t[7],M=t[8];return Math.abs(e-h)<=glMatrix.EPSILON*Math.max(1,Math.abs(e),Math.abs(h))&&Math.abs(r-f)<=glMatrix.EPSILON*Math.max(1,Math.abs(r),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-y)<=glMatrix.EPSILON*Math.max(1,Math.abs(l),Math.abs(y))&&Math.abs(c-b)<=glMatrix.EPSILON*Math.max(1,Math.abs(c),Math.abs(b))&&Math.abs(u-M)<=glMatrix.EPSILON*Math.max(1,Math.abs(u),Math.abs(M))}var uB=null,hB=null;function Kn(){var n=new U(4);return U!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0),n[3]=1,n}function fB(n){return n[0]=0,n[1]=0,n[2]=0,n[3]=1,n}function Na(n,t,e){e=e*.5;var r=Math.sin(e);return n[0]=r*t[0],n[1]=r*t[1],n[2]=r*t[2],n[3]=Math.cos(e),n}function dB(n,t){var e=Math.acos(t[3])*2,r=Math.sin(e/2);return r>glMatrix.EPSILON?(n[0]=t[0]/r,n[1]=t[1]/r,n[2]=t[2]/r):(n[0]=1,n[1]=0,n[2]=0),e}function vB(n,t){var e=Mw(n,t);return Math.acos(2*e*e-1)}function ka(n,t,e){var r=t[0],i=t[1],a=t[2],s=t[3],o=e[0],l=e[1],c=e[2],u=e[3];return n[0]=r*u+s*o+i*c-a*l,n[1]=i*u+s*l+a*o-r*c,n[2]=a*u+s*c+r*l-i*o,n[3]=s*u-r*o-i*l-a*c,n}function gB(n,t,e){e*=.5;var r=t[0],i=t[1],a=t[2],s=t[3],o=Math.sin(e),l=Math.cos(e);return n[0]=r*l+s*o,n[1]=i*l+a*o,n[2]=a*l-i*o,n[3]=s*l-r*o,n}function pB(n,t,e){e*=.5;var r=t[0],i=t[1],a=t[2],s=t[3],o=Math.sin(e),l=Math.cos(e);return n[0]=r*l-a*o,n[1]=i*l+s*o,n[2]=a*l+r*o,n[3]=s*l-i*o,n}function mB(n,t,e){e*=.5;var r=t[0],i=t[1],a=t[2],s=t[3],o=Math.sin(e),l=Math.cos(e);return n[0]=r*l+i*o,n[1]=i*l-r*o,n[2]=a*l+s*o,n[3]=s*l-a*o,n}function yB(n,t){var e=t[0],r=t[1],i=t[2];return n[0]=e,n[1]=r,n[2]=i,n[3]=Math.sqrt(Math.abs(1-e*e-r*r-i*i)),n}function yw(n,t){var e=t[0],r=t[1],i=t[2],a=t[3],s=Math.sqrt(e*e+r*r+i*i),o=Math.exp(a),l=s>0?o*Math.sin(s)/s:0;return n[0]=e*l,n[1]=r*l,n[2]=i*l,n[3]=o*Math.cos(s),n}function bw(n,t){var e=t[0],r=t[1],i=t[2],a=t[3],s=Math.sqrt(e*e+r*r+i*i),o=s>0?Math.atan2(s,a)/s:0;return n[0]=e*o,n[1]=r*o,n[2]=i*o,n[3]=.5*Math.log(e*e+r*r+i*i+a*a),n}function bB(n,t,e){return bw(n,t),ww(n,n,e),yw(n,n),n}function Af(n,t,e,r){var i=t[0],a=t[1],s=t[2],o=t[3],l=e[0],c=e[1],u=e[2],h=e[3],f,d,v,g,p;return d=i*l+a*c+s*u+o*h,d<0&&(d=-d,l=-l,c=-c,u=-u,h=-h),1-d>H?(f=Math.acos(d),v=Math.sin(f),g=Math.sin((1-r)*f)/v,p=Math.sin(r*f)/v):(g=1-r,p=r),n[0]=g*i+p*l,n[1]=g*a+p*c,n[2]=g*s+p*u,n[3]=g*o+p*h,n}function xB(n){var t=glMatrix.RANDOM(),e=glMatrix.RANDOM(),r=glMatrix.RANDOM(),i=Math.sqrt(1-t),a=Math.sqrt(t);return n[0]=i*Math.sin(2*Math.PI*e),n[1]=i*Math.cos(2*Math.PI*e),n[2]=a*Math.sin(2*Math.PI*r),n[3]=a*Math.cos(2*Math.PI*r),n}function Pf(n,t){var e=t[0],r=t[1],i=t[2],a=t[3],s=e*e+r*r+i*i+a*a,o=s?1/s:0;return n[0]=-e*o,n[1]=-r*o,n[2]=-i*o,n[3]=a*o,n}function EB(n,t){return n[0]=-t[0],n[1]=-t[1],n[2]=-t[2],n[3]=t[3],n}function xw(n,t){var e=t[0]+t[4]+t[8],r;if(e>0)r=Math.sqrt(e+1),n[3]=.5*r,r=.5/r,n[0]=(t[5]-t[7])*r,n[1]=(t[6]-t[2])*r,n[2]=(t[1]-t[3])*r;else{var i=0;t[4]>t[0]&&(i=1),t[8]>t[i*3+i]&&(i=2);var a=(i+1)%3,s=(i+2)%3;r=Math.sqrt(t[i*3+i]-t[a*3+a]-t[s*3+s]+1),n[i]=.5*r,r=.5/r,n[3]=(t[a*3+s]-t[s*3+a])*r,n[a]=(t[a*3+i]+t[i*3+a])*r,n[s]=(t[s*3+i]+t[i*3+s])*r}return n}function Ql(n,t,e,r){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:rt,a=Math.PI/360;t*=a,r*=a,e*=a;var s=Math.sin(t),o=Math.cos(t),l=Math.sin(e),c=Math.cos(e),u=Math.sin(r),h=Math.cos(r);switch(i){case"xyz":n[0]=s*c*h+o*l*u,n[1]=o*l*h-s*c*u,n[2]=o*c*u+s*l*h,n[3]=o*c*h-s*l*u;break;case"xzy":n[0]=s*c*h-o*l*u,n[1]=o*l*h-s*c*u,n[2]=o*c*u+s*l*h,n[3]=o*c*h+s*l*u;break;case"yxz":n[0]=s*c*h+o*l*u,n[1]=o*l*h-s*c*u,n[2]=o*c*u-s*l*h,n[3]=o*c*h+s*l*u;break;case"yzx":n[0]=s*c*h+o*l*u,n[1]=o*l*h+s*c*u,n[2]=o*c*u-s*l*h,n[3]=o*c*h-s*l*u;break;case"zxy":n[0]=s*c*h-o*l*u,n[1]=o*l*h+s*c*u,n[2]=o*c*u+s*l*h,n[3]=o*c*h-s*l*u;break;case"zyx":n[0]=s*c*h-o*l*u,n[1]=o*l*h+s*c*u,n[2]=o*c*u-s*l*h,n[3]=o*c*h+s*l*u;break;default:throw new Error("Unknown angle order "+i)}return n}function wB(n){return"quat("+n[0]+", "+n[1]+", "+n[2]+", "+n[3]+")"}var MB=ff,Ew=Vi,Jl=Ti,ug=zo,AB=Ta,hg=ka,ww=vf,Mw=Y,PB=w,SB=pf,OB=null,TB=mf,CB=null,ql=Ul,NB=st;function kB(n,t){return Math.abs(vec4.dot(n,t))>=1-glMatrix.EPSILON}var LB=function(){var n=pt(),t=xt(1,0,0),e=xt(0,1,0);return function(r,i,a){var s=be(i,a);return s<-.999999?(fe(n,t,i),us(n)<1e-6&&fe(n,e,i),oe(n,n),Na(r,n,Math.PI),r):s>.999999?(r[0]=0,r[1]=0,r[2]=0,r[3]=1,r):(fe(n,i,a),r[0]=n[0],r[1]=n[1],r[2]=n[2],r[3]=1+s,ql(r,r))}}(),DB=function(){var n=Kn(),t=Kn();return function(e,r,i,a,s,o){return Af(n,r,s,o),Af(t,i,a,o),Af(e,n,t,2*o*(1-o)),e}}(),RB=function(){var n=cg();return function(t,e,r,i){return n[0]=r[0],n[3]=r[1],n[6]=r[2],n[1]=i[0],n[4]=i[1],n[7]=i[2],n[2]=-e[0],n[5]=-e[1],n[8]=-e[2],ql(t,xw(t,n))}}();function Sf(){var n=new U(2);return U!=Float32Array&&(n[0]=0,n[1]=0),n}function IB(n){var t=new glMatrix.ARRAY_TYPE(2);return t[0]=n[0],t[1]=n[1],t}function BB(n,t){var e=new glMatrix.ARRAY_TYPE(2);return e[0]=n,e[1]=t,e}function Aw(n,t){return n[0]=t[0],n[1]=t[1],n}function Pw(n,t,e){return n[0]=t,n[1]=e,n}function zB(n,t,e){return n[0]=t[0]+e[0],n[1]=t[1]+e[1],n}function jB(n,t,e){return n[0]=t[0]-e[0],n[1]=t[1]-e[1],n}function FB(n,t,e){return n[0]=t[0]*e[0],n[1]=t[1]*e[1],n}function ZB(n,t,e){return n[0]=t[0]/e[0],n[1]=t[1]/e[1],n}function _B(n,t){return n[0]=Math.ceil(t[0]),n[1]=Math.ceil(t[1]),n}function HB(n,t){return n[0]=Math.floor(t[0]),n[1]=Math.floor(t[1]),n}function GB(n,t,e){return n[0]=Math.min(t[0],e[0]),n[1]=Math.min(t[1],e[1]),n}function WB(n,t,e){return n[0]=Math.max(t[0],e[0]),n[1]=Math.max(t[1],e[1]),n}function XB(n,t){return n[0]=glMatrix.round(t[0]),n[1]=glMatrix.round(t[1]),n}function VB(n,t,e){return n[0]=t[0]*e,n[1]=t[1]*e,n}function YB(n,t,e,r){return n[0]=t[0]+e[0]*r,n[1]=t[1]+e[1]*r,n}function UB(n,t){var e=t[0]-n[0],r=t[1]-n[1];return Math.sqrt(e*e+r*r)}function KB(n,t){var e=t[0]-n[0],r=t[1]-n[1];return e*e+r*r}function QB(n){var t=n[0],e=n[1];return Math.sqrt(t*t+e*e)}function JB(n){var t=n[0],e=n[1];return t*t+e*e}function qB(n,t){return n[0]=-t[0],n[1]=-t[1],n}function $B(n,t){return n[0]=1/t[0],n[1]=1/t[1],n}function Sw(n,t){var e=t[0],r=t[1],i=e*e+r*r;return i>0&&(i=1/Math.sqrt(i)),n[0]=t[0]*i,n[1]=t[1]*i,n}function Ow(n,t){return n[0]*t[0]+n[1]*t[1]}function tz(n,t,e){var r=t[0]*e[1]-t[1]*e[0];return n[0]=n[1]=0,n[2]=r,n}function ez(n,t,e,r){var i=t[0],a=t[1];return n[0]=i+r*(e[0]-i),n[1]=a+r*(e[1]-a),n}function nz(n,t){t=t===void 0?1:t;var e=glMatrix.RANDOM()*2*Math.PI;return n[0]=Math.cos(e)*t,n[1]=Math.sin(e)*t,n}function rz(n,t,e){var r=t[0],i=t[1];return n[0]=e[0]*r+e[2]*i,n[1]=e[1]*r+e[3]*i,n}function iz(n,t,e){var r=t[0],i=t[1];return n[0]=e[0]*r+e[2]*i+e[4],n[1]=e[1]*r+e[3]*i+e[5],n}function az(n,t,e){var r=t[0],i=t[1];return n[0]=e[0]*r+e[3]*i+e[6],n[1]=e[1]*r+e[4]*i+e[7],n}function sz(n,t,e){var r=t[0],i=t[1];return n[0]=e[0]*r+e[4]*i+e[12],n[1]=e[1]*r+e[5]*i+e[13],n}function oz(n,t,e,r){var i=t[0]-e[0],a=t[1]-e[1],s=Math.sin(r),o=Math.cos(r);return n[0]=i*o-a*s+e[0],n[1]=i*s+a*o+e[1],n}function lz(n,t){var e=n[0],r=n[1],i=t[0],a=t[1];return Math.abs(Math.atan2(r*i-e*a,e*i+r*a))}function cz(n,t){var e=n[0],r=n[1],i=t[0],a=t[1];return Math.atan2(e*a-r*i,e*i+r*a)}function uz(n){return n[0]=0,n[1]=0,n}function hz(n){return"vec2("+n[0]+", "+n[1]+")"}function Tw(n,t){return n[0]===t[0]&&n[1]===t[1]}function fz(n,t){var e=n[0],r=n[1],i=t[0],a=t[1];return Math.abs(e-i)<=glMatrix.EPSILON*Math.max(1,Math.abs(e),Math.abs(i))&&Math.abs(r-a)<=glMatrix.EPSILON*Math.max(1,Math.abs(r),Math.abs(a))}var dz=null,vz=null,gz=null,pz=null,mz=null,yz=null,bz=null,xz=function(){var n=Sf();return function(t,e,r,i,a,s){var o,l;for(e||(e=2),r||(r=0),i?l=Math.min(i*e+r,t.length):l=t.length,o=r;o<l;o+=e)n[0]=t[o],n[1]=t[o+1],a(n,n,s),t[o]=n[0],t[o+1]=n[1];return t}}();function ie(n){return typeof n=="number"}function Hr(n,t){return Math.sqrt((n[0]-t[0])*(n[0]-t[0])+(n[1]-t[1])*(n[1]-t[1]))}function ye(n){return n==null}function We(n){return typeof n=="string"}var Cw=function(n,t,e){return n<t?t:n>e?e:n},Nn=Cw,G=E(80813),_o={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0};function fg(n){return Array.isArray(n)&&n.every(function(t){var e=t[0].toLowerCase();return _o[e]===t.length-1&&"achlmqstvz".includes(e)})}function dg(n){return fg(n)&&n.every(function(t){var e=t[0];return e===e.toUpperCase()})}function vg(n){return dg(n)&&n.every(function(t){var e=t[0];return"ACLMQZ".includes(e)})}var gg={x1:0,y1:0,x2:0,y2:0,x:0,y:0,qx:null,qy:null};function pg(n){for(var t=n.pathValue[n.segmentStart],e=t.toLowerCase(),r=n.data;r.length>=_o[e]&&(e==="m"&&r.length>2?(n.segments.push([t].concat(r.splice(0,2))),e="l",t=t==="m"?"l":"L"):n.segments.push([t].concat(r.splice(0,_o[e]))),!!_o[e]););}function Nw(n){var t=n.index,e=n.pathValue,r=e.charCodeAt(t);if(r===48){n.param=0,n.index+=1;return}if(r===49){n.param=1,n.index+=1;return}n.err='[path-util]: invalid Arc flag "'.concat(e[t],'", expecting 0 or 1 at index ').concat(t)}function kw(n){return n>=48&&n<=57||n===43||n===45||n===46}function $s(n){return n>=48&&n<=57}function Lw(n){var t=n.max,e=n.pathValue,r=n.index,i=r,a=!1,s=!1,o=!1,l=!1,c;if(i>=t){n.err="[path-util]: Invalid path value at index ".concat(i,', "pathValue" is missing param');return}if(c=e.charCodeAt(i),(c===43||c===45)&&(i+=1,c=e.charCodeAt(i)),!$s(c)&&c!==46){n.err="[path-util]: Invalid path value at index ".concat(i,', "').concat(e[i],'" is not a number');return}if(c!==46){if(a=c===48,i+=1,c=e.charCodeAt(i),a&&i<t&&c&&$s(c)){n.err="[path-util]: Invalid path value at index ".concat(r,', "').concat(e[r],'" illegal number');return}for(;i<t&&$s(e.charCodeAt(i));)i+=1,s=!0;c=e.charCodeAt(i)}if(c===46){for(l=!0,i+=1;$s(e.charCodeAt(i));)i+=1,o=!0;c=e.charCodeAt(i)}if(c===101||c===69){if(l&&!s&&!o){n.err="[path-util]: Invalid path value at index ".concat(i,', "').concat(e[i],'" invalid float exponent');return}if(i+=1,c=e.charCodeAt(i),(c===43||c===45)&&(i+=1),i<t&&$s(e.charCodeAt(i)))for(;i<t&&$s(e.charCodeAt(i));)i+=1;else{n.err="[path-util]: Invalid path value at index ".concat(i,', "').concat(e[i],'" invalid integer exponent');return}}n.index=i,n.param=+n.pathValue.slice(r,i)}function Dw(n){var t=[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279];return n===10||n===13||n===8232||n===8233||n===32||n===9||n===11||n===12||n===160||n>=5760&&t.includes(n)}function $l(n){for(var t=n.pathValue,e=n.max;n.index<e&&Dw(t.charCodeAt(n.index));)n.index+=1}function Rw(n){switch(n|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 Iw(n){return(n|32)===97}function Bw(n){var t=n.max,e=n.pathValue,r=n.index,i=e.charCodeAt(r),a=_o[e[r].toLowerCase()];if(n.segmentStart=r,!Rw(i)){n.err='[path-util]: Invalid path value "'.concat(e[r],'" is not a path command');return}if(n.index+=1,$l(n),n.data=[],!a){pg(n);return}for(;;){for(var s=a;s>0;s-=1){if(Iw(i)&&(s===3||s===4)?Nw(n):Lw(n),n.err.length)return;n.data.push(n.param),$l(n),n.index<t&&e.charCodeAt(n.index)===44&&(n.index+=1,$l(n))}if(n.index>=n.max||!kw(e.charCodeAt(n.index)))break}pg(n)}var zw=function(){function n(t){this.pathValue=t,this.segments=[],this.max=t.length,this.index=0,this.param=0,this.segmentStart=0,this.data=[],this.err=""}return n}();function jw(n){if(fg(n))return[].concat(n);var t=new zw(n);for($l(t);t.index<t.max&&!t.err.length;)Bw(t);return t.err?t.err:t.segments}function Fw(n){if(dg(n))return[].concat(n);var t=jw(n),e=0,r=0,i=0,a=0;return t.map(function(s){var o=s.slice(1).map(Number),l=s[0],c=l.toUpperCase();if(l==="M")return e=o[0],r=o[1],i=e,a=r,["M",e,r];var u;if(l!==c)switch(c){case"A":u=[c,o[0],o[1],o[2],o[3],o[4],o[5]+e,o[6]+r];break;case"V":u=[c,o[0]+r];break;case"H":u=[c,o[0]+e];break;default:{var h=o.map(function(d,v){return d+(v%2?r:e)});u=[c].concat(h)}}else u=[c].concat(o);var f=u.length;switch(c){case"Z":e=i,r=a;break;case"H":e=u[1];break;case"V":r=u[1];break;default:e=u[f-2],r=u[f-1],c==="M"&&(i=e,a=r)}return u})}function Zw(n,t){var e=n[0],r=t.x1,i=t.y1,a=t.x2,s=t.y2,o=n.slice(1).map(Number),l=n;if("TQ".includes(e)||(t.qx=null,t.qy=null),e==="H")l=["L",n[1],i];else if(e==="V")l=["L",r,n[1]];else if(e==="S"){var c=r*2-a,u=i*2-s;t.x1=c,t.y1=u,l=["C",c,u].concat(o)}else if(e==="T"){var h=r*2-t.qx,f=i*2-t.qy;t.qx=h,t.qy=f,l=["Q",h,f].concat(o)}else if(e==="Q"){var d=o[0],v=o[1];t.qx=d,t.qy=v}return l}function tc(n){if(vg(n))return[].concat(n);for(var t=Fw(n),e=(0,G.pi)({},gg),r=0;r<t.length;r+=1){t[r]=Zw(t[r],e);var i=t[r],a=i.length;e.x1=+i[a-2],e.y1=+i[a-1],e.x2=+i[a-4]||e.x1,e.y2=+i[a-3]||e.y1}return t}function La(n,t,e){var r=n[0],i=n[1],a=t[0],s=t[1];return[r+(a-r)*e,i+(s-i)*e]}function Of(n,t,e,r,i){var a=Hr([n,t],[e,r]),s={x:0,y:0};if(typeof i=="number")if(i<=0)s={x:n,y:t};else if(i>=a)s={x:e,y:r};else{var o=La([n,t],[e,r],i/a),l=o[0],c=o[1];s={x:l,y:c}}return{length:a,point:s,min:{x:Math.min(n,e),y:Math.min(t,r)},max:{x:Math.max(n,e),y:Math.max(t,r)}}}function mg(n,t){var e=n.x,r=n.y,i=t.x,a=t.y,s=e*i+r*a,o=Math.sqrt((Math.pow(e,2)+Math.pow(r,2))*(Math.pow(i,2)+Math.pow(a,2))),l=e*a-r*i<0?-1:1,c=l*Math.acos(s/o);return c}function _w(n,t,e,r,i,a,s,o,l,c){var u=Math.abs,h=Math.sin,f=Math.cos,d=Math.sqrt,v=Math.PI,g=u(e),p=u(r),y=(i%360+360)%360,b=y*(v/180);if(n===o&&t===l)return{x:n,y:t};if(g===0||p===0)return Of(n,t,o,l,c).point;var M=(n-o)/2,O=(t-l)/2,k={x:f(b)*M+h(b)*O,y:-h(b)*M+f(b)*O},D=Math.pow(k.x,2)/Math.pow(g,2)+Math.pow(k.y,2)/Math.pow(p,2);D>1&&(g*=d(D),p*=d(D));var j=Math.pow(g,2)*Math.pow(p,2)-Math.pow(g,2)*Math.pow(k.y,2)-Math.pow(p,2)*Math.pow(k.x,2),B=Math.pow(g,2)*Math.pow(k.y,2)+Math.pow(p,2)*Math.pow(k.x,2),W=j/B;W=W<0?0:W;var V=(a!==s?1:-1)*d(W),q={x:V*(g*k.y/p),y:V*(-(p*k.x)/g)},$={x:f(b)*q.x-h(b)*q.y+(n+o)/2,y:h(b)*q.x+f(b)*q.y+(t+l)/2},ot={x:(k.x-q.x)/g,y:(k.y-q.y)/p},ct=mg({x:1,y:0},ot),vt={x:(-k.x-q.x)/g,y:(-k.y-q.y)/p},Ct=mg(ot,vt);!s&&Ct>0?Ct-=2*v:s&&Ct<0&&(Ct+=2*v),Ct%=2*v;var Ot=ct+Ct*c,mt=g*f(Ot),yt=p*h(Ot),Lt={x:f(b)*mt-h(b)*yt+$.x,y:h(b)*mt+f(b)*yt+$.y};return Lt}function Hw(n,t,e,r,i,a,s,o,l,c,u){var h,f=u.bbox,d=f===void 0?!0:f,v=u.length,g=v===void 0?!0:v,p=u.sampleSize,y=p===void 0?30:p,b=typeof c=="number",M=n,O=t,k=0,D=[M,O,k],j=[M,O],B=0,W={x:0,y:0},V=[{x:M,y:O}];b&&c<=0&&(W={x:M,y:O});for(var q=0;q<=y;q+=1){if(B=q/y,h=_w(n,t,e,r,i,a,s,o,l,B),M=h.x,O=h.y,d&&V.push({x:M,y:O}),g&&(k+=Hr(j,[M,O])),j=[M,O],b&&k>=c&&c>D[2]){var $=(k-c)/(k-D[2]);W={x:j[0]*(1-$)+D[0]*$,y:j[1]*(1-$)+D[1]*$}}D=[M,O,k]}return b&&c>=k&&(W={x:o,y:l}),{length:k,point:W,min:{x:Math.min.apply(null,V.map(function(ot){return ot.x})),y:Math.min.apply(null,V.map(function(ot){return ot.y}))},max:{x:Math.max.apply(null,V.map(function(ot){return ot.x})),y:Math.max.apply(null,V.map(function(ot){return ot.y}))}}}function Gw(n,t,e,r,i,a,s,o,l){var c=1-l;return{x:Math.pow(c,3)*n+3*Math.pow(c,2)*l*e+3*c*Math.pow(l,2)*i+Math.pow(l,3)*s,y:Math.pow(c,3)*t+3*Math.pow(c,2)*l*r+3*c*Math.pow(l,2)*a+Math.pow(l,3)*o}}function yg(n,t,e,r,i,a,s,o,l,c){var u,h=c.bbox,f=h===void 0?!0:h,d=c.length,v=d===void 0?!0:d,g=c.sampleSize,p=g===void 0?10:g,y=typeof l=="number",b=n,M=t,O=0,k=[b,M,O],D=[b,M],j=0,B={x:0,y:0},W=[{x:b,y:M}];y&&l<=0&&(B={x:b,y:M});for(var V=0;V<=p;V+=1){if(j=V/p,u=Gw(n,t,e,r,i,a,s,o,j),b=u.x,M=u.y,f&&W.push({x:b,y:M}),v&&(O+=Hr(D,[b,M])),D=[b,M],y&&O>=l&&l>k[2]){var q=(O-l)/(O-k[2]);B={x:D[0]*(1-q)+k[0]*q,y:D[1]*(1-q)+k[1]*q}}k=[b,M,O]}return y&&l>=O&&(B={x:s,y:o}),{length:O,point:B,min:{x:Math.min.apply(null,W.map(function($){return $.x})),y:Math.min.apply(null,W.map(function($){return $.y}))},max:{x:Math.max.apply(null,W.map(function($){return $.x})),y:Math.max.apply(null,W.map(function($){return $.y}))}}}function Ww(n,t,e,r,i,a,s){var o=1-s;return{x:Math.pow(o,2)*n+2*o*s*e+Math.pow(s,2)*i,y:Math.pow(o,2)*t+2*o*s*r+Math.pow(s,2)*a}}function Xw(n,t,e,r,i,a,s,o){var l,c=o.bbox,u=c===void 0?!0:c,h=o.length,f=h===void 0?!0:h,d=o.sampleSize,v=d===void 0?10:d,g=typeof s=="number",p=n,y=t,b=0,M=[p,y,b],O=[p,y],k=0,D={x:0,y:0},j=[{x:p,y}];g&&s<=0&&(D={x:p,y});for(var B=0;B<=v;B+=1){if(k=B/v,l=Ww(n,t,e,r,i,a,k),p=l.x,y=l.y,u&&j.push({x:p,y}),f&&(b+=Hr(O,[p,y])),O=[p,y],g&&b>=s&&s>M[2]){var W=(b-s)/(b-M[2]);D={x:O[0]*(1-W)+M[0]*W,y:O[1]*(1-W)+M[1]*W}}M=[p,y,b]}return g&&s>=b&&(D={x:i,y:a}),{length:b,point:D,min:{x:Math.min.apply(null,j.map(function(V){return V.x})),y:Math.min.apply(null,j.map(function(V){return V.y}))},max:{x:Math.max.apply(null,j.map(function(V){return V.x})),y:Math.max.apply(null,j.map(function(V){return V.y}))}}}function bg(n,t,e){for(var r,i,a,s,o,l,c=tc(n),u=typeof t=="number",h,f=[],d,v=0,g=0,p=0,y=0,b,M=[],O=[],k=0,D={x:0,y:0},j=D,B=D,W=D,V=0,q=0,$=c.length;q<$;q+=1)b=c[q],d=b[0],h=d==="M",f=h?f:[v,g].concat(b.slice(1)),h?(p=b[1],y=b[2],D={x:p,y},j=D,k=0,u&&t<.001&&(W=D)):d==="L"?(r=Of(f[0],f[1],f[2],f[3],(t||0)-V),k=r.length,D=r.min,j=r.max,B=r.point):d==="A"?(i=Hw(f[0],f[1],f[2],f[3],f[4],f[5],f[6],f[7],f[8],(t||0)-V,e||{}),k=i.length,D=i.min,j=i.max,B=i.point):d==="C"?(a=yg(f[0],f[1],f[2],f[3],f[4],f[5],f[6],f[7],(t||0)-V,e||{}),k=a.length,D=a.min,j=a.max,B=a.point):d==="Q"?(s=Xw(f[0],f[1],f[2],f[3],f[4],f[5],(t||0)-V,e||{}),k=s.length,D=s.min,j=s.max,B=s.point):d==="Z"&&(f=[v,g,p,y],o=Of(f[0],f[1],f[2],f[3],(t||0)-V),k=o.length,D=o.min,j=o.max,B=o.point),u&&V<t&&V+k>=t&&(W=B),O.push(j),M.push(D),V+=k,l=d!=="Z"?b.slice(-2):[p,y],v=l[0],g=l[1];return u&&t>=V&&(W={x:v,y:g}),{length:V,point:W,min:{x:Math.min.apply(null,M.map(function(ot){return ot.x})),y:Math.min.apply(null,M.map(function(ot){return ot.y}))},max:{x:Math.max.apply(null,O.map(function(ot){return ot.x})),y:Math.max.apply(null,O.map(function(ot){return ot.y}))}}}function Vw(n,t){return bg(n,void 0,(0,G.pi)((0,G.pi)({},t),{bbox:!1,length:!0})).length}function Gr(n){return Array.isArray(n)}var ec=function(n){if(Gr(n))return n.reduce(function(t,e){return Math.min(t,e)},n[0])};function nc(n){if(!Array.isArray(n))return-1/0;var t=n.length;if(!t)return-1/0;for(var e=n[0],r=1;r<t;r++)e=Math.max(e,n[r]);return e}var Yw=1e-5;function Ho(n,t,e){return e===void 0&&(e=Yw),n===t||Math.abs(n-t)<e}var Uw=function(n,t){return(n%t+t)%t},xg=Uw;function Kw(n,t,e){if(n[e].length>7){n[e].shift();for(var r=n[e],i=e;r.length;)t[e]="A",n.splice(i+=1,0,["C"].concat(r.splice(0,6)));n.splice(e,1)}}function Qw(n){return vg(n)&&n.every(function(t){var e=t[0];return"MC".includes(e)})}function rc(n,t,e){var r=n*Math.cos(e)-t*Math.sin(e),i=n*Math.sin(e)+t*Math.cos(e);return{x:r,y:i}}function Tf(n,t,e,r,i,a,s,o,l,c){var u=n,h=t,f=e,d=r,v=o,g=l,p=Math.PI*120/180,y=Math.PI/180*(+i||0),b=[],M,O,k,D,j;if(c)O=c[0],k=c[1],D=c[2],j=c[3];else{M=rc(u,h,-y),u=M.x,h=M.y,M=rc(v,g,-y),v=M.x,g=M.y;var B=(u-v)/2,W=(h-g)/2,V=B*B/(f*f)+W*W/(d*d);V>1&&(V=Math.sqrt(V),f*=V,d*=V);var q=f*f,$=d*d,ot=(a===s?-1:1)*Math.sqrt(Math.abs((q*$-q*W*W-$*B*B)/(q*W*W+$*B*B)));D=ot*f*W/d+(u+v)/2,j=ot*-d*B/f+(h+g)/2,O=Math.asin(((h-j)/d*Math.pow(10,9)>>0)/Math.pow(10,9)),k=Math.asin(((g-j)/d*Math.pow(10,9)>>0)/Math.pow(10,9)),O=u<D?Math.PI-O:O,k=v<D?Math.PI-k:k,O<0&&(O=Math.PI*2+O),k<0&&(k=Math.PI*2+k),s&&O>k&&(O-=Math.PI*2),!s&&k>O&&(k-=Math.PI*2)}var ct=k-O;if(Math.abs(ct)>p){var vt=k,Ct=v,Ot=g;k=O+p*(s&&k>O?1:-1),v=D+f*Math.cos(k),g=j+d*Math.sin(k),b=Tf(v,g,f,d,i,0,s,Ct,Ot,[k,vt,D,j])}ct=k-O;var mt=Math.cos(O),yt=Math.sin(O),Lt=Math.cos(k),Zt=Math.sin(k),Ut=Math.tan(ct/4),ee=4/3*f*Ut,ae=4/3*d*Ut,he=[u,h],ce=[u+ee*yt,h-ae*mt],Ee=[v+ee*Zt,g-ae*Lt],Ce=[v,g];if(ce[0]=2*he[0]-ce[0],ce[1]=2*he[1]-ce[1],c)return ce.concat(Ee,Ce,b);b=ce.concat(Ee,Ce,b);for(var Ze=[],Ve=0,or=b.length;Ve<or;Ve+=1)Ze[Ve]=Ve%2?rc(b[Ve-1],b[Ve],y).y:rc(b[Ve],b[Ve+1],y).x;return Ze}function Jw(n,t,e,r,i,a){var s=.3333333333333333,o=2/3;return[s*n+o*e,s*t+o*r,s*i+o*e,s*a+o*r,i,a]}var Eg=function(n,t,e,r){var i=.5,a=La([n,t],[e,r],i);return(0,G.ev)((0,G.ev)([],a,!0),[e,r,e,r],!1)};function qw(n,t){var e=n[0],r=n.slice(1).map(Number),i=r[0],a=r[1],s,o=t.x1,l=t.y1,c=t.x,u=t.y;switch("TQ".includes(e)||(t.qx=null,t.qy=null),e){case"M":return t.x=i,t.y=a,n;case"A":return s=[o,l].concat(r),["C"].concat(Tf(s[0],s[1],s[2],s[3],s[4],s[5],s[6],s[7],s[8],s[9]));case"Q":return t.qx=i,t.qy=a,s=[o,l].concat(r),["C"].concat(Jw(s[0],s[1],s[2],s[3],s[4],s[5]));case"L":return["C"].concat(Eg(o,l,i,a));case"Z":return o===c&&l===u?["C",o,l,c,u,c,u]:["C"].concat(Eg(o,l,c,u));default:}return n}function Cf(n,t){if(t===void 0&&(t=!1),Qw(n)){var e=[].concat(n);return t?[e,[]]:e}for(var r=tc(n),i=(0,G.pi)({},gg),a=[],s="",o=r.length,l,c,u=[],h=0;h<o;h+=1){r[h]&&(s=r[h][0]),a[h]=s;var f=qw(r[h],i);r[h]=f,Kw(r,a,h),o=r.length,s==="Z"&&u.push(h),l=r[h],c=l.length,i.x1=+l[c-2],i.y1=+l[c-1],i.x2=+l[c-4]||i.x1,i.y2=+l[c-3]||i.y1}return t?[r,u]:r}var $w=50;function t2(n,t){t===void 0&&(t=.5);var e=n.slice(0,2),r=n.slice(2,4),i=n.slice(4,6),a=n.slice(6,8),s=La(e,r,t),o=La(r,i,t),l=La(i,a,t),c=La(s,o,t),u=La(o,l,t),h=La(c,u,t);return[["C"].concat(s,c,h),["C"].concat(u,l,a)]}function wg(n){return n.map(function(t,e,r){var i=e&&r[e-1].slice(-2).concat(t.slice(1)),a=e?yg(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8],{bbox:!1}).length:0,s;return e?s=a?t2(i):[t,t]:s=[t],{s:t,ss:s,l:a}})}function Mg(n,t,e,r){if(r===void 0&&(r=0),r>$w)return console.warn("Maximum recursion depth reached in equalizeSegments"),[n,t];var i=wg(n),a=wg(t),s=i.length,o=a.length,l=i.filter(function(y){return y.l}).length,c=a.filter(function(y){return y.l}).length,u=i.filter(function(y){return y.l}).reduce(function(y,b){var M=b.l;return y+M},0)/l||0,h=a.filter(function(y){return y.l}).reduce(function(y,b){var M=b.l;return y+M},0)/c||0,f=e||Math.max(s,o),d=[u,h],v=[f-s,f-o],g=0,p=[i,a].map(function(y,b){return y.l===f?y.map(function(M){return M.s}):y.map(function(M,O){return g=O&&v[b]&&M.l>=d[b],v[b]-=g?1:0,g?M.ss:[M.s]}).flat()});return p[0].length===p[1].length?p:Mg(p[0],p[1],f,r+1)}function e2(n,t,e,r,i,a,s,o){return 3*((o-t)*(e+i)-(s-n)*(r+a)+r*(n-i)-e*(t-a)+o*(i+n/3)-s*(a+t/3))/20}function n2(n){var t=0,e=0,r=0;return Cf(n).map(function(i){var a;switch(i[0]){case"M":return t=i[1],e=i[2],0;default:var s=i.slice(1),o=s[0],l=s[1],c=s[2],u=s[3],h=s[4],f=s[5];return r=e2(t,e,o,l,c,u,h,f),a=i.slice(-2),t=a[0],e=a[1],r}}).reduce(function(i,a){return i+a},0)}function Ag(n){return n2(n)>=0}function r2(n){var t=n.slice(1).map(function(e,r,i){return r?i[r-1].slice(-2).concat(e.slice(1)):n[0].slice(1).concat(e.slice(1))}).map(function(e){return e.map(function(r,i){return e[e.length-i-2*(1-i%2)]})}).reverse();return[["M"].concat(t[0].slice(0,2))].concat(t.map(function(e){return["C"].concat(e.slice(2))}))}function i2(n){return n.map(function(t){return Array.isArray(t)?[].concat(t):t})}function a2(n){var t=n.length,e=t-1;return n.map(function(r,i){return n.map(function(a,s){var o=i+s,l;return s===0||n[o]&&n[o][0]==="M"?(l=n[o],["M"].concat(l.slice(-2))):(o>=t&&(o-=e),n[o])})})}function s2(n,t){var e=n.length-1,r=[],i=0,a=0,s=a2(n);return s.forEach(function(o,l){n.slice(1).forEach(function(c,u){a+=Hr(n[(l+u)%e].slice(-2),t[u%e].slice(-2))}),r[l]=a,a=0}),i=r.indexOf(Math.min.apply(null,r)),s[i]}var o2=function(n){return n===void 0},Te=o2,l2={}.toString,c2=function(n,t){return l2.call(n)==="[object "+t+"]"},Pg=c2,u2=function(n){return Pg(n,"Boolean")},Go=u2;function de(n){return typeof n=="function"}var Fn=function(n){var t=typeof n;return n!==null&&t==="object"||t==="function"};function h2(n,t,e){return bg(n,t,(0,G.pi)((0,G.pi)({},e),{bbox:!1,length:!0})).point}var se=E(52873),Sg=E(20456);function f2(n,t){for(;!{}.hasOwnProperty.call(n,t)&&(n=(0,Sg.Z)(n))!==null;);return n}function Nf(){return Nf=typeof Reflect!="undefined"&&Reflect.get?Reflect.get.bind():function(n,t,e){var r=f2(n,t);if(r){var i=Object.getOwnPropertyDescriptor(r,t);return i.get?i.get.call(arguments.length<3?n:e):i.value}},Nf.apply(null,arguments)}function Og(n,t,e,r){var i=Nf((0,Sg.Z)(1&r?n.prototype:n),t,e);return 2&r&&typeof i=="function"?function(a){return i.apply(e,a)}:i}function Pr(n,t,e,r){var i=n-e,a=t-r;return Math.sqrt(i*i+a*a)}function ic(n,t){var e=Math.min.apply(Math,(0,N.Z)(n)),r=Math.min.apply(Math,(0,N.Z)(t)),i=Math.max.apply(Math,(0,N.Z)(n)),a=Math.max.apply(Math,(0,N.Z)(t));return{x:e,y:r,width:i-e,height:a-r}}function Tg(n){return(n+Math.PI*2)%(Math.PI*2)}function Cg(n,t){var e=Math.abs(n);return t>0?e:e*-1}function d2(n,t,e,r,i,a){var s=e,o=r;if(s===0||o===0)return{x:n,y:t};for(var l=i-n,c=a-t,u=Math.abs(l),h=Math.abs(c),f=s*s,d=o*o,v=Math.PI/4,g=0,p=0,y=0;y<4;y++){g=s*Math.cos(v),p=o*Math.sin(v);var b=(f-d)*Math.pow(Math.cos(v),3)/s,M=(d-f)*Math.pow(Math.sin(v),3)/o,O=g-b,k=p-M,D=u-b,j=h-M,B=Math.hypot(k,O),W=Math.hypot(j,D),V=B*Math.asin((O*j-k*D)/(B*W)),q=V/Math.sqrt(f+d-g*g-p*p);v+=q,v=Math.min(Math.PI/2,Math.max(0,v))}return{x:n+Cg(g,l),y:t+Cg(p,c)}}function v2(n,t,e,r,i,a,s,o){return-1*e*Math.cos(i)*Math.sin(o)-r*Math.sin(i)*Math.cos(o)}function g2(n,t,e,r,i,a,s,o){return-1*e*Math.sin(i)*Math.sin(o)+r*Math.cos(i)*Math.cos(o)}function p2(n,t,e){return Math.atan(-t/n*Math.tan(e))}function m2(n,t,e){return Math.atan(t/(n*Math.tan(e)))}function y2(n,t,e,r,i,a){return e*Math.cos(i)*Math.cos(a)-r*Math.sin(i)*Math.sin(a)+n}function b2(n,t,e,r,i,a){return e*Math.sin(i)*Math.cos(a)+r*Math.cos(i)*Math.sin(a)+t}function x2(n,t,e,r){var i=Math.atan2(r*n,e*t);return(i+Math.PI*2)%(Math.PI*2)}function Ng(n,t,e){return{x:n*Math.cos(e),y:t*Math.sin(e)}}function kg(n,t,e){var r=Math.cos(e),i=Math.sin(e);return[n*r-t*i,n*i+t*r]}function E2(n,t,e,r,i,a,s){for(var o=p2(e,r,i),l=1/0,c=-1/0,u=[a,s],h=-Math.PI*2;h<=Math.PI*2;h+=Math.PI){var f=o+h;a<s?a<f&&f<s&&u.push(f):s<f&&f<a&&u.push(f)}for(var d=0;d<u.length;d++){var v=y2(n,t,e,r,i,u[d]);v<l&&(l=v),v>c&&(c=v)}for(var g=m2(e,r,i),p=1/0,y=-1/0,b=[a,s],M=-Math.PI*2;M<=Math.PI*2;M+=Math.PI){var O=g+M;a<s?a<O&&O<s&&b.push(O):s<O&&O<a&&b.push(O)}for(var k=0;k<b.length;k++){var D=b2(n,t,e,r,i,b[k]);D<p&&(p=D),D>y&&(y=D)}return{x:l,y:p,width:c-l,height:y-p}}function Ez(n,t,e,r,i,a,s,o,l){var c=kg(o-n,l-t,-i),u=_slicedToArray(c,2),h=u[0],f=u[1],d=d2(0,0,e,r,h,f),v=x2(e,r,d.x,d.y);v<a?d=Ng(e,r,a):v>s&&(d=Ng(e,r,s));var g=kg(d.x,d.y,i);return{x:g[0]+n,y:g[1]+t}}function wz(n,t,e,r,i,a,s,o){var l=(s-a)*o+a,c=v2(n,t,e,r,i,a,s,l),u=g2(n,t,e,r,i,a,s,l);return Tg(Math.atan2(u,c))}var w2=1e-4;function Lg(n,t,e,r,i,a){var s=-1,o=1/0,l=[e,r],c=20;a&&a>200&&(c=a/10);for(var u=1/c,h=u/10,f=0;f<=c;f++){var d=f*u,v=[i.apply(void 0,(0,N.Z)(n.concat([d]))),i.apply(void 0,(0,N.Z)(t.concat([d])))],g=Pr(l[0],l[1],v[0],v[1]);g<o&&(s=d,o=g)}if(s===0)return{x:n[0],y:t[0]};if(s===1){var p=n.length;return{x:n[p-1],y:t[p-1]}}o=1/0;for(var y=0;y<32&&!(h<w2);y++){var b=s-h,M=s+h,O=[i.apply(void 0,(0,N.Z)(n.concat([b]))),i.apply(void 0,(0,N.Z)(t.concat([b])))],k=Pr(l[0],l[1],O[0],O[1]);if(b>=0&&k<o)s=b,o=k;else{var D=[i.apply(void 0,(0,N.Z)(n.concat([M]))),i.apply(void 0,(0,N.Z)(t.concat([M])))],j=Pr(l[0],l[1],D[0],D[1]);M<=1&&j<o?(s=M,o=j):h*=.5}}return{x:i.apply(void 0,(0,N.Z)(n.concat([s]))),y:i.apply(void 0,(0,N.Z)(t.concat([s])))}}function M2(n,t){for(var e=0,r=n.length,i=0;i<r;i++){var a=n[i],s=t[i],o=n[(i+1)%r],l=t[(i+1)%r];e+=Pr(a,s,o,l)}return e/2}function Mz(n,t,e,r){return ic([n,e],[t,r])}function Dg(n,t,e,r){return Pr(n,t,e,r)}function Yi(n,t,e,r,i){return{x:(1-i)*n+i*e,y:(1-i)*t+i*r}}function A2(n,t,e,r,i,a){var s=(e-n)*(i-n)+(r-t)*(a-t);if(s<0)return Pr(n,t,i,a);var o=(e-n)*(e-n)+(r-t)*(r-t);return s>o?Pr(e,r,i,a):Rg(n,t,e,r,i,a)}function Rg(n,t,e,r,i,a){var s=[e-n,r-t];if(Tw(s,[0,0]))return Math.sqrt((i-n)*(i-n)+(a-t)*(a-t));var o=[-s[1],s[0]];Sw(o,o);var l=[i-n,a-t];return Math.abs(Ow(l,o))}function Az(n,t,e,r){return Math.atan2(r-t,e-n)}function fs(n,t,e,r,i){var a=1-i;return a*a*a*n+3*t*i*a*a+3*e*i*i*a+r*i*i*i}function Ig(n,t,e,r,i){var a=1-i;return 3*(a*a*(t-n)+2*a*i*(e-t)+i*i*(r-e))}function Bg(n,t,e,r){var i=-3*n+9*t-9*e+3*r,a=6*n-12*t+6*e,s=3*t-3*n,o=[],l,c,u;if(Ho(i,0))Ho(a,0)||(l=-s/a,l>=0&&l<=1&&o.push(l));else{var h=a*a-4*i*s;Ho(h,0)?o.push(-a/(2*i)):h>0&&(u=Math.sqrt(h),l=(-a+u)/(2*i),c=(-a-u)/(2*i),l>=0&&l<=1&&o.push(l),c>=0&&c<=1&&o.push(c))}return o}function P2(n,t,e,r,i,a,s,o,l){var c=fs(n,e,i,s,l),u=fs(t,r,a,o,l),h=Yi(n,t,e,r,l),f=Yi(e,r,i,a,l),d=Yi(i,a,s,o,l),v=Yi(h.x,h.y,f.x,f.y,l),g=Yi(f.x,f.y,d.x,d.y,l);return[[n,t,h.x,h.y,v.x,v.y,c,u],[c,u,g.x,g.y,d.x,d.y,s,o]]}function kf(n,t,e,r,i,a,s,o,l){if(l===0)return M2([n,e,i,s],[t,r,a,o]);var c=P2(n,t,e,r,i,a,s,o,.5),u=[].concat(_toConsumableArray(c[0]),[l-1]),h=[].concat(_toConsumableArray(c[1]),[l-1]);return kf.apply(void 0,_toConsumableArray(u))+kf.apply(void 0,_toConsumableArray(h))}function S2(n,t,e,r,i,a,s,o){for(var l=[n,s],c=[t,o],u=Bg(n,e,i,s),h=Bg(t,r,a,o),f=0;f<u.length;f++)l.push(fs(n,e,i,s,u[f]));for(var d=0;d<h.length;d++)c.push(fs(t,r,a,o,h[d]));return ic(l,c)}function Pz(n,t,e,r,i,a,s,o){return kf(n,t,e,r,i,a,s,o,3)}function O2(n,t,e,r,i,a,s,o,l,c,u){return Lg([n,e,i,s],[t,r,a,o],l,c,fs,u)}function zg(n,t,e,r,i,a,s,o,l,c,u){var h=O2(n,t,e,r,i,a,s,o,l,c,u);return Pr(h.x,h.y,l,c)}function Sz(n,t,e,r,i,a,s,o,l){return{x:fs(n,e,i,s,l),y:fs(t,r,a,o,l)}}function Oz(n,t,e,r,i,a,s,o,l){var c=Ig(n,e,i,s,l),u=Ig(t,r,a,o,l);return Tg(Math.atan2(u,c))}function jg(n){for(var t=0,e=[],r=0;r<n.length-1;r++){var i=n[r],a=n[r+1],s=Pr(i[0],i[1],a[0],a[1]),o={from:i,to:a,length:s};e.push(o),t+=s}return{segments:e,totalLength:t}}function Fg(n){if(n.length<2)return 0;for(var t=0,e=0;e<n.length-1;e++){var r=n[e],i=n[e+1];t+=Pr(r[0],r[1],i[0],i[1])}return t}function Zg(n,t){if(t>1||t<0||n.length<2)return null;var e=jg(n),r=e.segments,i=e.totalLength;if(i===0)return{x:n[0][0],y:n[0][1]};for(var a=0,s=null,o=0;o<r.length;o++){var l=r[o],c=l.from,u=l.to,h=l.length/i;if(t>=a&&t<=a+h){var f=(t-a)/h;s=Yi(c[0],c[1],u[0],u[1],f);break}a+=h}return s}function _g(n,t){if(t>1||t<0||n.length<2)return 0;for(var e=jg(n),r=e.segments,i=e.totalLength,a=0,s=0,o=0;o<r.length;o++){var l=r[o],c=l.from,u=l.to,h=l.length/i;if(t>=a&&t<=a+h){s=Math.atan2(u[1]-c[1],u[0]-c[0]);break}a+=h}return s}function Hg(n,t,e){for(var r=1/0,i=0;i<n.length-1;i++){var a=n[i],s=n[i+1],o=A2(a[0],a[1],s[0],s[1],t,e);o<r&&(r=o)}return r}function T2(n){for(var t=[],e=[],r=0;r<n.length;r++){var i=n[r];t.push(i[0]),e.push(i[1])}return ic(t,e)}function C2(n){return Fg(n)}function Tz(n,t){return Zg(n,t)}function Cz(n,t,e){return Hg(n,t,e)}function Nz(n,t){return _g(n,t)}function ac(n){var t=n.slice(0);return n.length&&t.push(n[0]),t}function kz(n){return T2(n)}function Lz(n){return Fg(ac(n))}function Dz(n,t){return Zg(ac(n),t)}function Rz(n,t,e){return Hg(ac(n),t,e)}function Iz(n,t){return _g(ac(n),t)}function Wo(n,t,e,r){var i=1-r;return i*i*n+2*r*i*t+r*r*e}function Gg(n,t,e){var r=n+e-2*t;if(Ho(r,0))return[.5];var i=(n-t)/r;return i<=1&&i>=0?[i]:[]}function N2(n,t,e,r,i,a,s){var o=Wo(n,e,i,s),l=Wo(t,r,a,s),c=Yi(n,t,e,r,s),u=Yi(e,r,i,a,s);return[[n,t,c.x,c.y,o,l],[o,l,u.x,u.y,i,a]]}function Lf(n,t,e,r,i,a,s){if(s===0)return(Pr(n,t,e,r)+Pr(e,r,i,a)+Pr(n,t,i,a))/2;var o=N2(n,t,e,r,i,a,.5),l=o[0],c=o[1];return l.push(s-1),c.push(s-1),Lf.apply(void 0,_toConsumableArray(l))+Lf.apply(void 0,_toConsumableArray(c))}function k2(n,t,e,r,i,a){var s=Gg(n,e,i)[0],o=Gg(t,r,a)[0],l=[n,i],c=[t,a];return s!==void 0&&l.push(Wo(n,e,i,s)),o!==void 0&&c.push(Wo(t,r,a,o)),ic(l,c)}function Bz(n,t,e,r,i,a){return Lf(n,t,e,r,i,a,3)}function L2(n,t,e,r,i,a,s,o){return Lg([n,e,i],[t,r,a],s,o,Wo)}function D2(n,t,e,r,i,a,s,o){var l=L2(n,t,e,r,i,a,s,o);return Pr(l.x,l.y,s,o)}var Sr=E(77910),Da=E(51343),ds=E(69889),vs=E(33346);var R2=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof E.g!="undefined"?E.g:typeof self!="undefined"?self:{},Wg={exports:{}};(function(n,t){(function(e,r){n.exports=r()})(R2,function(){function e(k,D,j,B,W){r(k,D,j||0,B||k.length-1,W||a)}function r(k,D,j,B,W){for(;B>j;){if(B-j>600){var V=B-j+1,q=D-j+1,$=Math.log(V),ot=.5*Math.exp(2*$/3),ct=.5*Math.sqrt($*ot*(V-ot)/V)*(q-V/2<0?-1:1),vt=Math.max(j,Math.floor(D-q*ot/V+ct)),Ct=Math.min(B,Math.floor(D+(V-q)*ot/V+ct));r(k,D,vt,Ct,W)}var Ot=k[D],mt=j,yt=B;for(i(k,j,D),W(k[B],Ot)>0&&i(k,j,B);mt<yt;){for(i(k,mt,yt),mt++,yt--;W(k[mt],Ot)<0;)mt++;for(;W(k[yt],Ot)>0;)yt--}W(k[j],Ot)===0?i(k,j,yt):(yt++,i(k,yt,B)),yt<=D&&(j=yt+1),D<=yt&&(B=yt-1)}}function i(k,D,j){var B=k[D];k[D]=k[j],k[j]=B}function a(k,D){return k<D?-1:k>D?1:0}var s=function(D){D===void 0&&(D=9),this._maxEntries=Math.max(4,D),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(D){var j=this.data,B=[];if(!b(D,j))return B;for(var W=this.toBBox,V=[];j;){for(var q=0;q<j.children.length;q++){var $=j.children[q],ot=j.leaf?W($):$;b(D,ot)&&(j.leaf?B.push($):y(D,ot)?this._all($,B):V.push($))}j=V.pop()}return B},s.prototype.collides=function(D){var j=this.data;if(!b(D,j))return!1;for(var B=[];j;){for(var W=0;W<j.children.length;W++){var V=j.children[W],q=j.leaf?this.toBBox(V):V;if(b(D,q)){if(j.leaf||y(D,q))return!0;B.push(V)}}j=B.pop()}return!1},s.prototype.load=function(D){if(!(D&&D.length))return this;if(D.length<this._minEntries){for(var j=0;j<D.length;j++)this.insert(D[j]);return this}var B=this._build(D.slice(),0,D.length-1,0);if(!this.data.children.length)this.data=B;else if(this.data.height===B.height)this._splitRoot(this.data,B);else{if(this.data.height<B.height){var W=this.data;this.data=B,B=W}this._insert(B,this.data.height-B.height-1,!0)}return this},s.prototype.insert=function(D){return D&&this._insert(D,this.data.height-1),this},s.prototype.clear=function(){return this.data=M([]),this},s.prototype.remove=function(D,j){if(!D)return this;for(var B=this.data,W=this.toBBox(D),V=[],q=[],$,ot,ct;B||V.length;){if(B||(B=V.pop(),ot=V[V.length-1],$=q.pop(),ct=!0),B.leaf){var vt=o(D,B.children,j);if(vt!==-1)return B.children.splice(vt,1),V.push(B),this._condense(V),this}!ct&&!B.leaf&&y(B,W)?(V.push(B),q.push($),$=0,ot=B,B=B.children[0]):ot?($++,B=ot.children[$],ct=!1):B=null}return this},s.prototype.toBBox=function(D){return D},s.prototype.compareMinX=function(D,j){return D.minX-j.minX},s.prototype.compareMinY=function(D,j){return D.minY-j.minY},s.prototype.toJSON=function(){return this.data},s.prototype.fromJSON=function(D){return this.data=D,this},s.prototype._all=function(D,j){for(var B=[];D;)D.leaf?j.push.apply(j,D.children):B.push.apply(B,D.children),D=B.pop();return j},s.prototype._build=function(D,j,B,W){var V=B-j+1,q=this._maxEntries,$;if(V<=q)return $=M(D.slice(j,B+1)),l($,this.toBBox),$;W||(W=Math.ceil(Math.log(V)/Math.log(q)),q=Math.ceil(V/Math.pow(q,W-1))),$=M([]),$.leaf=!1,$.height=W;var ot=Math.ceil(V/q),ct=ot*Math.ceil(Math.sqrt(q));O(D,j,B,ct,this.compareMinX);for(var vt=j;vt<=B;vt+=ct){var Ct=Math.min(vt+ct-1,B);O(D,vt,Ct,ot,this.compareMinY);for(var Ot=vt;Ot<=Ct;Ot+=ot){var mt=Math.min(Ot+ot-1,Ct);$.children.push(this._build(D,Ot,mt,W-1))}}return l($,this.toBBox),$},s.prototype._chooseSubtree=function(D,j,B,W){for(;W.push(j),!(j.leaf||W.length-1===B);){for(var V=1/0,q=1/0,$=void 0,ot=0;ot<j.children.length;ot++){var ct=j.children[ot],vt=d(ct),Ct=g(D,ct)-vt;Ct<q?(q=Ct,V=vt<V?vt:V,$=ct):Ct===q&&vt<V&&(V=vt,$=ct)}j=$||j.children[0]}return j},s.prototype._insert=function(D,j,B){var W=B?D:this.toBBox(D),V=[],q=this._chooseSubtree(W,this.data,j,V);for(q.children.push(D),u(q,W);j>=0&&V[j].children.length>this._maxEntries;)this._split(V,j),j--;this._adjustParentBBoxes(W,V,j)},s.prototype._split=function(D,j){var B=D[j],W=B.children.length,V=this._minEntries;this._chooseSplitAxis(B,V,W);var q=this._chooseSplitIndex(B,V,W),$=M(B.children.splice(q,B.children.length-q));$.height=B.height,$.leaf=B.leaf,l(B,this.toBBox),l($,this.toBBox),j?D[j-1].children.push($):this._splitRoot(B,$)},s.prototype._splitRoot=function(D,j){this.data=M([D,j]),this.data.height=D.height+1,this.data.leaf=!1,l(this.data,this.toBBox)},s.prototype._chooseSplitIndex=function(D,j,B){for(var W,V=1/0,q=1/0,$=j;$<=B-j;$++){var ot=c(D,0,$,this.toBBox),ct=c(D,$,B,this.toBBox),vt=p(ot,ct),Ct=d(ot)+d(ct);vt<V?(V=vt,W=$,q=Ct<q?Ct:q):vt===V&&Ct<q&&(q=Ct,W=$)}return W||B-j},s.prototype._chooseSplitAxis=function(D,j,B){var W=D.leaf?this.compareMinX:h,V=D.leaf?this.compareMinY:f,q=this._allDistMargin(D,j,B,W),$=this._allDistMargin(D,j,B,V);q<$&&D.children.sort(W)},s.prototype._allDistMargin=function(D,j,B,W){D.children.sort(W);for(var V=this.toBBox,q=c(D,0,j,V),$=c(D,B-j,B,V),ot=v(q)+v($),ct=j;ct<B-j;ct++){var vt=D.children[ct];u(q,D.leaf?V(vt):vt),ot+=v(q)}for(var Ct=B-j-1;Ct>=j;Ct--){var Ot=D.children[Ct];u($,D.leaf?V(Ot):Ot),ot+=v($)}return ot},s.prototype._adjustParentBBoxes=function(D,j,B){for(var W=B;W>=0;W--)u(j[W],D)},s.prototype._condense=function(D){for(var j=D.length-1,B=void 0;j>=0;j--)D[j].children.length===0?j>0?(B=D[j-1].children,B.splice(B.indexOf(D[j]),1)):this.clear():l(D[j],this.toBBox)};function o(k,D,j){if(!j)return D.indexOf(k);for(var B=0;B<D.length;B++)if(j(k,D[B]))return B;return-1}function l(k,D){c(k,0,k.children.length,D,k)}function c(k,D,j,B,W){W||(W=M(null)),W.minX=1/0,W.minY=1/0,W.maxX=-1/0,W.maxY=-1/0;for(var V=D;V<j;V++){var q=k.children[V];u(W,k.leaf?B(q):q)}return W}function u(k,D){return k.minX=Math.min(k.minX,D.minX),k.minY=Math.min(k.minY,D.minY),k.maxX=Math.max(k.maxX,D.maxX),k.maxY=Math.max(k.maxY,D.maxY),k}function h(k,D){return k.minX-D.minX}function f(k,D){return k.minY-D.minY}function d(k){return(k.maxX-k.minX)*(k.maxY-k.minY)}function v(k){return k.maxX-k.minX+(k.maxY-k.minY)}function g(k,D){return(Math.max(D.maxX,k.maxX)-Math.min(D.minX,k.minX))*(Math.max(D.maxY,k.maxY)-Math.min(D.minY,k.minY))}function p(k,D){var j=Math.max(k.minX,D.minX),B=Math.max(k.minY,D.minY),W=Math.min(k.maxX,D.maxX),V=Math.min(k.maxY,D.maxY);return Math.max(0,W-j)*Math.max(0,V-B)}function y(k,D){return k.minX<=D.minX&&k.minY<=D.minY&&D.maxX<=k.maxX&&D.maxY<=k.maxY}function b(k,D){return D.minX<=k.maxX&&D.minY<=k.maxY&&D.maxX>=k.minX&&D.maxY>=k.minY}function M(k){return{children:k,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function O(k,D,j,B,W){for(var V=[D,j];V.length;)if(j=V.pop(),D=V.pop(),!(j-D<=B)){var q=D+Math.ceil((j-D)/B/2)*B;e(k,q,D,j,W),V.push(D,q,q,j)}}return s})})(Wg);var I2=Wg.exports,It=function(n){return n.GROUP="g",n.FRAGMENT="fragment",n.CIRCLE="circle",n.ELLIPSE="ellipse",n.IMAGE="image",n.RECT="rect",n.LINE="line",n.POLYLINE="polyline",n.POLYGON="polygon",n.TEXT="text",n.PATH="path",n.HTML="html",n.MESH="mesh",n}({}),sc=function(n){return n[n.ZERO=0]="ZERO",n[n.NEGATIVE_ONE=1]="NEGATIVE_ONE",n}({}),Ra=function(){function n(){(0,C.Z)(this,n),this.plugins=[]}return(0,S.Z)(n,[{key:"addRenderingPlugin",value:function(e){this.plugins.push(e),this.context.renderingPlugins.push(e)}},{key:"removeAllRenderingPlugins",value:function(){var e=this;this.plugins.forEach(function(r){var i=e.context.renderingPlugins.indexOf(r);i>=0&&e.context.renderingPlugins.splice(i,1)})}}])}(),B2=function(){function n(t){(0,C.Z)(this,n),this.clipSpaceNearZ=sc.NEGATIVE_ONE,this.plugins=[],this.config=(0,z.Z)({enableDirtyCheck:!0,enableCulling:!1,enableAutoRendering:!0,enableDirtyRectangleRendering:!0,enableDirtyRectangleRenderingDebug:!1,enableSizeAttenuation:!0,enableRenderingOptimization:!1},t)}return(0,S.Z)(n,[{key:"registerPlugin",value:function(e){var r=this.plugins.findIndex(function(i){return i===e});r===-1&&this.plugins.push(e)}},{key:"unregisterPlugin",value:function(e){var r=this.plugins.findIndex(function(i){return i===e});r>-1&&this.plugins.splice(r,1)}},{key:"getPlugins",value:function(){return this.plugins}},{key:"getPlugin",value:function(e){return this.plugins.find(function(r){return r.name===e})}},{key:"getConfig",value:function(){return this.config}},{key:"setConfig",value:function(e){Object.assign(this.config,e)}}])}(),Df=_t,to=Nt,z2=Pi,j2=Mr,Xg=kt,Rf=Js,pn=function(){function n(){(0,C.Z)(this,n),this.center=[0,0,0],this.halfExtents=[0,0,0],this.min=[0,0,0],this.max=[0,0,0]}return(0,S.Z)(n,[{key:"update",value:function(e,r){to(this.center,e),to(this.halfExtents,r),Rf(this.min,this.center,this.halfExtents),Df(this.max,this.center,this.halfExtents)}},{key:"setMinMax",value:function(e,r){Df(this.center,r,e),Xg(this.center,this.center,.5),Rf(this.halfExtents,r,e),Xg(this.halfExtents,this.halfExtents,.5),to(this.min,e),to(this.max,r)}},{key:"getMin",value:function(){return this.min}},{key:"getMax",value:function(){return this.max}},{key:"add",value:function(e){if(!n.isEmpty(e)){if(n.isEmpty(this)){this.setMinMax(e.getMin(),e.getMax());return}var r=this.center,i=r[0],a=r[1],s=r[2],o=this.halfExtents,l=o[0],c=o[1],u=o[2],h=i-l,f=i+l,d=a-c,v=a+c,g=s-u,p=s+u,y=e.center,b=y[0],M=y[1],O=y[2],k=e.halfExtents,D=k[0],j=k[1],B=k[2],W=b-D,V=b+D,q=M-j,$=M+j,ot=O-B,ct=O+B;W<h&&(h=W),V>f&&(f=V),q<d&&(d=q),$>v&&(v=$),ot<g&&(g=ot),ct>p&&(p=ct),r[0]=(h+f)*.5,r[1]=(d+v)*.5,r[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(e,r){var i=this.center,a=this.halfExtents,s=e.center,o=e.halfExtents,l=r[0],c=r[4],u=r[8],h=r[1],f=r[5],d=r[9],v=r[2],g=r[6],p=r[10],y=Math.abs(l),b=Math.abs(c),M=Math.abs(u),O=Math.abs(h),k=Math.abs(f),D=Math.abs(d),j=Math.abs(v),B=Math.abs(g),W=Math.abs(p);i[0]=r[12]+l*s[0]+c*s[1]+u*s[2],i[1]=r[13]+h*s[0]+f*s[1]+d*s[2],i[2]=r[14]+v*s[0]+g*s[1]+p*s[2],a[0]=y*o[0]+b*o[1]+M*o[2],a[1]=O*o[0]+k*o[1]+D*o[2],a[2]=j*o[0]+B*o[1]+W*o[2],Rf(this.min,i,a),Df(this.max,i,a)}},{key:"intersects",value:function(e){var r=this.getMax(),i=this.getMin(),a=e.getMax(),s=e.getMin();return i[0]<=a[0]&&r[0]>=s[0]&&i[1]<=a[1]&&r[1]>=s[1]&&i[2]<=a[2]&&r[2]>=s[2]}},{key:"intersection",value:function(e){if(!this.intersects(e))return null;var r=new n,i=z2([0,0,0],this.getMin(),e.getMin()),a=j2([0,0,0],this.getMax(),e.getMax());return r.setMinMax(i,a),r}},{key:"getNegativeFarPoint",value:function(e){return e.pnVertexFlag===273?to([0,0,0],this.min):e.pnVertexFlag===272?[this.min[0],this.min[1],this.max[2]]:e.pnVertexFlag===257?[this.min[0],this.max[1],this.min[2]]:e.pnVertexFlag===256?[this.min[0],this.max[1],this.max[2]]:e.pnVertexFlag===17?[this.max[0],this.min[1],this.min[2]]:e.pnVertexFlag===16?[this.max[0],this.min[1],this.max[2]]:e.pnVertexFlag===1?[this.max[0],this.max[1],this.min[2]]:[this.max[0],this.max[1],this.max[2]]}},{key:"getPositiveFarPoint",value:function(e){return e.pnVertexFlag===273?to([0,0,0],this.max):e.pnVertexFlag===272?[this.max[0],this.max[1],this.min[2]]:e.pnVertexFlag===257?[this.max[0],this.min[1],this.max[2]]:e.pnVertexFlag===256?[this.max[0],this.min[1],this.min[2]]:e.pnVertexFlag===17?[this.min[0],this.max[1],this.max[2]]:e.pnVertexFlag===16?[this.min[0],this.max[1],this.min[2]]:e.pnVertexFlag===1?[this.min[0],this.min[1],this.max[2]]:[this.min[0],this.min[1],this.min[2]]}}],[{key:"isEmpty",value:function(e){return!e||e.halfExtents[0]===0&&e.halfExtents[1]===0&&e.halfExtents[2]===0}}])}(),F2=function(){function n(t,e){(0,C.Z)(this,n),this.distance=t||0,this.normal=e||xt(0,1,0),this.updatePNVertexFlag()}return(0,S.Z)(n,[{key:"updatePNVertexFlag",value:function(){this.pnVertexFlag=(+(this.normal[0]>=0)<<8)+(+(this.normal[1]>=0)<<4)+ +(this.normal[2]>=0)}},{key:"distanceToPoint",value:function(e){return be(e,this.normal)-this.distance}},{key:"normalize",value:function(){var e=1/us(this.normal);kt(this.normal,this.normal,e),this.distance*=e}},{key:"intersectsLine",value:function(e,r,i){var a=this.distanceToPoint(e),s=this.distanceToPoint(r),o=a/(a-s),l=o>=0&&o<=1;return l&&i&&Re(i,e,r,o),l}}])}(),eo=function(n){return n[n.OUTSIDE=4294967295]="OUTSIDE",n[n.INSIDE=0]="INSIDE",n[n.INDETERMINATE=2147483647]="INDETERMINATE",n}({}),Z2=function(){function n(t){if((0,C.Z)(this,n),this.planes=[],t)this.planes=t;else for(var e=0;e<6;e++)this.planes.push(new F2)}return(0,S.Z)(n,[{key:"extractFromVPMatrix",value:function(e){var r=(0,L.Z)(e,16),i=r[0],a=r[1],s=r[2],o=r[3],l=r[4],c=r[5],u=r[6],h=r[7],f=r[8],d=r[9],v=r[10],g=r[11],p=r[12],y=r[13],b=r[14],M=r[15];Bt(this.planes[0].normal,o-i,h-l,g-f),this.planes[0].distance=M-p,Bt(this.planes[1].normal,o+i,h+l,g+f),this.planes[1].distance=M+p,Bt(this.planes[2].normal,o+a,h+c,g+d),this.planes[2].distance=M+y,Bt(this.planes[3].normal,o-a,h-c,g-d),this.planes[3].distance=M-y,Bt(this.planes[4].normal,o-s,h-u,g-v),this.planes[4].distance=M-b,Bt(this.planes[5].normal,o+s,h+u,g+v),this.planes[5].distance=M+b,this.planes.forEach(function(O){O.normalize(),O.updatePNVertexFlag()})}}])}(),vr=function(){function n(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;(0,C.Z)(this,n),this.x=0,this.y=0,this.x=t,this.y=e}return(0,S.Z)(n,[{key:"clone",value:function(){return new n(this.x,this.y)}},{key:"copyFrom",value:function(e){this.x=e.x,this.y=e.y}}])}(),no=function(){function n(t,e,r,i){(0,C.Z)(this,n),this.x=t,this.y=e,this.width=r,this.height=i,this.left=t,this.right=t+r,this.top=e,this.bottom=e+i}return(0,S.Z)(n,[{key:"toJSON",value:function(){}}],[{key:"fromRect",value:function(e){return new n(e.x,e.y,e.width,e.height)}},{key:"applyTransform",value:function(e,r){var i=Vi(e.x,e.y,0,1),a=Vi(e.x+e.width,e.y,0,1),s=Vi(e.x,e.y+e.height,0,1),o=Vi(e.x+e.width,e.y+e.height,0,1),l=Pn(),c=Pn(),u=Pn(),h=Pn();A(l,i,r),A(c,a,r),A(u,s,r),A(h,o,r);var f=Math.min(l[0],c[0],u[0],h[0]),d=Math.min(l[1],c[1],u[1],h[1]),v=Math.max(l[0],c[0],u[0],h[0]),g=Math.max(l[1],c[1],u[1],h[1]);return n.fromRect({x:f,y:d,width:v-f,height:g-d})}}])}(),nn="Method not implemented.",ro="Use document.documentElement instead.",_2="Cannot append a destroyed element.";function io(n){return n===void 0?0:n>360||n<-360?n%360:n}var If=pt();function Rr(n){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;return Array.isArray(n)&&n.length===3?r?wt(n):Nt(If,n):ie(n)?r?xt(n,t,e):Bt(If,n,t,e):r?xt(n[0],n[1]||t,n[2]||e):Bt(If,n[0],n[1]||t,n[2]||e)}var H2=Math.PI/180;function rn(n){return n*H2}var G2=180/Math.PI;function Wr(n){return n*G2}var W2=.9;function zz(n){return n%=400,n<0&&(n+=400),n*W2}function jz(n){return n/360}function X2(n){return 360*n}var oc=Math.PI/2;function V2(n,t){var e=t[0],r=t[1],i=t[2],a=t[3],s=e*e,o=r*r,l=i*i,c=a*a,u=s+o+l+c,h=e*a-r*i;return h>.499995*u?(n[0]=oc,n[1]=2*Math.atan2(r,e),n[2]=0):h<-.499995*u?(n[0]=-oc,n[1]=2*Math.atan2(r,e),n[2]=0):(n[0]=Math.asin(2*(e*i-a*r)),n[1]=Math.atan2(2*(e*a+r*i),1-2*(l+c)),n[2]=Math.atan2(2*(e*r+i*a),1-2*(o+l))),n}function Y2(n,t){var e,r,i=Ca(pt(),t),a=(0,L.Z)(i,3),s=a[0],o=a[1],l=a[2],c=Math.asin(-t[2]/s);return c<oc?c>-oc?(e=Math.atan2(t[6]/o,t[10]/l),r=Math.atan2(t[1]/s,t[0]/s)):(r=0,e=-Math.atan2(t[4]/o,t[5]/o)):(r=0,e=Math.atan2(t[4]/o,t[5]/o)),n[0]=e,n[1]=c,n[2]=r,n}function Bf(n,t){return t.length===16?Y2(n,t):V2(n,t)}function U2(n,t,e,r,i){var a=Math.cos(n),s=Math.sin(n);return mw(r*a,i*s,0,-r*s,i*a,0,t,e,1)}function K2(n,t,e,r,i,a,s){var o=arguments.length>7&&arguments[7]!==void 0?arguments[7]:!1,l=2*a,c=e-t,u=r-i,h=l/c,f=l/u,d=(e+t)/c,v=(r+i)/u,g,p,y=s-a,b=s*a;return o?(g=-s/y,p=-b/y):(g=-(s+a)/y,p=-2*b/y),n[0]=h,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=f,n[6]=0,n[7]=0,n[8]=d,n[9]=v,n[10]=g,n[11]=-1,n[12]=0,n[13]=0,n[14]=p,n[15]=0,n}function Vg(n){var t=n[0],e=n[1],r=n[3],i=n[4],a=Math.sqrt(t*t+e*e),s=Math.sqrt(r*r+i*i),o=t*i-e*r;if(o<0&&(t<i?a=-a:s=-s),a){var l=1/a;t*=l,e*=l}if(s){var c=1/s;r*=c,i*=c}var u=Math.atan2(e,t),h=Wr(u);return[n[6],n[7],a,s,h]}var Ui=Gt(),Ci=Gt(),Xo=Pn(),Pe=[pt(),pt(),pt()],Yg=pt();function Q2(n,t,e,r,i,a){if(!J2(Ui,n)||(we(Ci,Ui),Ci[3]=0,Ci[7]=0,Ci[11]=0,Ci[15]=1,Math.abs(Vt(Ci))<1e-8))return!1;var s=Ui[3],o=Ui[7],l=Ui[11],c=Ui[12],u=Ui[13],h=Ui[14],f=Ui[15];if(s!==0||o!==0||l!==0){Xo[0]=s,Xo[1]=o,Xo[2]=l,Xo[3]=f;var d=_e(Ci,Ci);if(!d)return!1;xe(Ci,Ci),A(i,Xo,Ci)}else i[0]=i[1]=i[2]=0,i[3]=1;if(t[0]=c,t[1]=u,t[2]=h,q2(Pe,Ui),e[0]=ft(Pe[0]),oe(Pe[0],Pe[0]),r[0]=be(Pe[0],Pe[1]),zf(Pe[1],Pe[1],Pe[0],1,-r[0]),e[1]=ft(Pe[1]),oe(Pe[1],Pe[1]),r[0]/=e[1],r[1]=be(Pe[0],Pe[2]),zf(Pe[2],Pe[2],Pe[0],1,-r[1]),r[2]=be(Pe[1],Pe[2]),zf(Pe[2],Pe[2],Pe[1],1,-r[2]),e[2]=ft(Pe[2]),oe(Pe[2],Pe[2]),r[1]/=e[2],r[2]/=e[2],fe(Yg,Pe[1],Pe[2]),be(Pe[0],Yg)<0)for(var v=0;v<3;v++)e[v]*=-1,Pe[v][0]*=-1,Pe[v][1]*=-1,Pe[v][2]*=-1;return a[0]=.5*Math.sqrt(Math.max(1+Pe[0][0]-Pe[1][1]-Pe[2][2],0)),a[1]=.5*Math.sqrt(Math.max(1-Pe[0][0]+Pe[1][1]-Pe[2][2],0)),a[2]=.5*Math.sqrt(Math.max(1-Pe[0][0]-Pe[1][1]+Pe[2][2],0)),a[3]=.5*Math.sqrt(Math.max(1+Pe[0][0]+Pe[1][1]+Pe[2][2],0)),Pe[2][1]>Pe[1][2]&&(a[0]=-a[0]),Pe[0][2]>Pe[2][0]&&(a[1]=-a[1]),Pe[1][0]>Pe[0][1]&&(a[2]=-a[2]),!0}function J2(n,t){var e=t[15];if(e===0)return!1;for(var r=1/e,i=0;i<16;i++)n[i]=t[i]*r;return!0}function q2(n,t){n[0][0]=t[0],n[0][1]=t[1],n[0][2]=t[2],n[1][0]=t[4],n[1][1]=t[5],n[1][2]=t[6],n[2][0]=t[8],n[2][1]=t[9],n[2][2]=t[10]}function zf(n,t,e,r,i){n[0]=t[0]*r+e[0]*i,n[1]=t[1]*r+e[1]*i,n[2]=t[2]*r+e[2]*i}var an=function(n){return n[n.ORBITING=0]="ORBITING",n[n.EXPLORING=1]="EXPLORING",n[n.TRACKING=2]="TRACKING",n}({}),jf=function(n){return n[n.DEFAULT=0]="DEFAULT",n[n.ROTATIONAL=1]="ROTATIONAL",n[n.TRANSLATIONAL=2]="TRANSLATIONAL",n[n.CINEMATIC=3]="CINEMATIC",n}({}),vi=function(n){return n[n.ORTHOGRAPHIC=0]="ORTHOGRAPHIC",n[n.PERSPECTIVE=1]="PERSPECTIVE",n}({}),Ug={UPDATED:"updated"},Kg=2e-4,Qg=function(){function n(){(0,C.Z)(this,n),this.clipSpaceNearZ=sc.NEGATIVE_ONE,this.eventEmitter=new I,this.matrix=Gt(),this.right=xt(1,0,0),this.up=xt(0,1,0),this.forward=xt(0,0,1),this.position=xt(0,0,1),this.focalPoint=xt(0,0,0),this.distanceVector=xt(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=Gt(),this.projectionMatrixInverse=Gt(),this.jitteredProjectionMatrix=void 0,this.enableUpdate=!0,this.type=an.EXPLORING,this.trackingMode=jf.DEFAULT,this.projectionMode=vi.PERSPECTIVE,this.frustum=new Z2,this.orthoMatrix=Gt()}return(0,S.Z)(n,[{key:"isOrtho",value:function(){return this.projectionMode===vi.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(e){this.enableUpdate=e}},{key:"setType",value:function(e,r){return this.type=e,this.type===an.EXPLORING?this.setWorldRotation(!0):this.setWorldRotation(!1),this._getAngles(),this.type===an.TRACKING&&r!==void 0&&this.setTrackingMode(r),this}},{key:"setProjectionMode",value:function(e){return this.projectionMode=e,this}},{key:"setTrackingMode",value:function(e){if(this.type!==an.TRACKING)throw new Error("Impossible to set a tracking mode if the camera is not of tracking type");return this.trackingMode=e,this}},{key:"setWorldRotation",value:function(e){return this.rotateWorld=e,this._getAngles(),this}},{key:"getViewTransform",value:function(){return _e(Gt(),this.matrix)}},{key:"getWorldTransform",value:function(){return this.matrix}},{key:"jitterProjectionMatrix",value:function(e,r){var i=Un(Gt(),[e,r,0]);this.jitteredProjectionMatrix=qt(Gt(),i,this.projectionMatrix)}},{key:"clearJitterProjectionMatrix",value:function(){this.jitteredProjectionMatrix=void 0}},{key:"setMatrix",value:function(e){return this.matrix=e,this._update(),this}},{key:"setProjectionMatrix",value:function(e){this.projectionMatrix=e}},{key:"setFov",value:function(e){return this.setPerspective(this.near,this.far,e,this.aspect),this}},{key:"setAspect",value:function(e){return this.setPerspective(this.near,this.far,this.fov,e),this}},{key:"setNear",value:function(e){return this.projectionMode===vi.PERSPECTIVE?this.setPerspective(e,this.far,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,e,this.far),this}},{key:"setFar",value:function(e){return this.projectionMode===vi.PERSPECTIVE?this.setPerspective(this.near,e,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,e),this}},{key:"setViewOffset",value:function(e,r,i,a,s,o){return this.aspect=e/r,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=e,this.view.fullHeight=r,this.view.offsetX=i,this.view.offsetY=a,this.view.width=s,this.view.height=o,this.projectionMode===vi.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===vi.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(e){return this.zoom=e,this.projectionMode===vi.ORTHOGRAPHIC?this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,this.far):this.projectionMode===vi.PERSPECTIVE&&this.setPerspective(this.near,this.far,this.fov,this.aspect),this}},{key:"setZoomByViewportPoint",value:function(e,r){var i=this.canvas.viewport2Canvas({x:r[0],y:r[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(e),this.rotate(0,0,o);var l=this.canvas.viewport2Canvas({x:r[0],y:r[1]}),c=l.x,u=l.y,h=xt(c-a,u-s,0),f=be(h,this.right)/ft(this.right),d=be(h,this.up)/ft(this.up),v=this.getPosition(),g=(0,L.Z)(v,2),p=g[0],y=g[1],b=this.getFocalPoint(),M=(0,L.Z)(b,2),O=M[0],k=M[1];return this.setPosition(p-f,y-d),this.setFocalPoint(O-f,k-d),this}},{key:"setPerspective",value:function(e,r,i,a){var s;this.projectionMode=vi.PERSPECTIVE,this.fov=i,this.near=e,this.far=r,this.aspect=a;var o=this.near*Math.tan(rn(.5*this.fov))/this.zoom,l=2*o,c=this.aspect*l,u=-.5*c;if((s=this.view)!==null&&s!==void 0&&s.enabled){var h=this.view.fullWidth,f=this.view.fullHeight;u+=this.view.offsetX*c/h,o-=this.view.offsetY*l/f,c*=this.view.width/h,l*=this.view.height/f}return K2(this.projectionMatrix,u,u+c,o-l,o,e,this.far,this.clipSpaceNearZ===sc.ZERO),_e(this.projectionMatrixInverse,this.projectionMatrix),this.triggerUpdate(),this}},{key:"setOrthographic",value:function(e,r,i,a,s,o){var l;this.projectionMode=vi.ORTHOGRAPHIC,this.rright=r,this.left=e,this.top=i,this.bottom=a,this.near=s,this.far=o;var c=(this.rright-this.left)/(2*this.zoom),u=(this.top-this.bottom)/(2*this.zoom),h=(this.rright+this.left)/2,f=(this.top+this.bottom)/2,d=h-c,v=h+c,g=f+u,p=f-u;if((l=this.view)!==null&&l!==void 0&&l.enabled){var y=(this.rright-this.left)/this.view.fullWidth/this.zoom,b=(this.top-this.bottom)/this.view.fullHeight/this.zoom;d+=y*this.view.offsetX,v=d+y*this.view.width,g-=b*this.view.offsetY,p=g-b*this.view.height}return this.clipSpaceNearZ===sc.NEGATIVE_ONE?ig(this.projectionMatrix,d,v,g,p,s,o):ag(this.projectionMatrix,d,v,g,p,s,o),_e(this.projectionMatrixInverse,this.projectionMatrix),this._getOrthoMatrix(),this.triggerUpdate(),this}},{key:"setPosition",value:function(e){var r=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=Rr(e,r,i);return this._setPosition(a),this.setFocalPoint(this.focalPoint),this.triggerUpdate(),this}},{key:"setFocalPoint",value:function(e){var r=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=xt(0,1,0);if(this.focalPoint=Rr(e,r,i),this.trackingMode===jf.CINEMATIC){var s=Kt(pt(),this.focalPoint,this.position);e=s[0],r=s[1],i=s[2];var o=ft(s),l=Wr(Math.asin(r/o)),c=90+Wr(Math.atan2(i,e)),u=Gt();vn(u,u,rn(c)),un(u,u,rn(l)),a=re(pt(),[0,1,0],u)}return _e(this.matrix,sg(Gt(),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(e){if(this.distance===e||e<0)return this;this.distance=e,this.distance<Kg&&(this.distance=Kg),this.dollyingStep=this.distance/100;var r=pt();e=this.distance;var i=this.forward,a=this.focalPoint;return r[0]=e*i[0]+a[0],r[1]=e*i[1]+a[1],r[2]=e*i[2]+a[2],this._setPosition(r),this.triggerUpdate(),this}},{key:"setMaxDistance",value:function(e){return this.maxDistance=e,this}},{key:"setMinDistance",value:function(e){return this.minDistance=e,this}},{key:"setAzimuth",value:function(e){return this.azimuth=io(e),this.computeMatrix(),this._getAxes(),this.type===an.ORBITING||this.type===an.EXPLORING?this._getPosition():this.type===an.TRACKING&&this._getFocalPoint(),this.triggerUpdate(),this}},{key:"getAzimuth",value:function(){return this.azimuth}},{key:"setElevation",value:function(e){return this.elevation=io(e),this.computeMatrix(),this._getAxes(),this.type===an.ORBITING||this.type===an.EXPLORING?this._getPosition():this.type===an.TRACKING&&this._getFocalPoint(),this.triggerUpdate(),this}},{key:"getElevation",value:function(){return this.elevation}},{key:"setRoll",value:function(e){return this.roll=io(e),this.computeMatrix(),this._getAxes(),this.type===an.ORBITING||this.type===an.EXPLORING?this._getPosition():this.type===an.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 e=Na(Kn(),[0,0,1],rn(this.roll));ge(this.matrix);var r=Na(Kn(),[1,0,0],rn((this.rotateWorld&&this.type!==an.TRACKING||this.type===an.TRACKING?1:-1)*this.elevation)),i=Na(Kn(),[0,1,0],rn((this.rotateWorld&&this.type!==an.TRACKING||this.type===an.TRACKING?1:-1)*this.azimuth)),a=ka(Kn(),i,r);a=ka(Kn(),a,e);var s=Zo(Gt(),a);this.type===an.ORBITING||this.type===an.EXPLORING?(Yt(this.matrix,this.matrix,this.focalPoint),qt(this.matrix,this.matrix,s),Yt(this.matrix,this.matrix,[0,0,this.distance])):this.type===an.TRACKING&&(Yt(this.matrix,this.matrix,this.position),qt(this.matrix,this.matrix,s))}},{key:"_setPosition",value:function(e,r,i){this.position=Rr(e,r,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(){Nt(this.right,Rr(A(Pn(),[1,0,0,0],this.matrix))),Nt(this.up,Rr(A(Pn(),[0,1,0,0],this.matrix))),Nt(this.forward,Rr(A(Pn(),[0,0,1,0],this.matrix))),oe(this.right,this.right),oe(this.up,this.up),oe(this.forward,this.forward)}},{key:"_getAngles",value:function(){var e=this.distanceVector[0],r=this.distanceVector[1],i=this.distanceVector[2],a=ft(this.distanceVector);if(a===0){this.elevation=0,this.azimuth=0;return}this.type===an.TRACKING?(this.elevation=Wr(Math.asin(r/a)),this.azimuth=Wr(Math.atan2(-e,-i))):this.rotateWorld?(this.elevation=Wr(Math.asin(r/a)),this.azimuth=Wr(Math.atan2(-e,-i))):(this.elevation=-Wr(Math.asin(r/a)),this.azimuth=-Wr(Math.atan2(-e,-i)))}},{key:"_getPosition",value:function(){Nt(this.position,Rr(A(Pn(),[0,0,0,1],this.matrix))),this._getDistance()}},{key:"_getFocalPoint",value:function(){Oe(this.distanceVector,[0,0,-this.distance],pw(cg(),this.matrix)),_t(this.focalPoint,this.position,this.distanceVector),this._getDistance()}},{key:"_getDistance",value:function(){this.distanceVector=Kt(pt(),this.focalPoint,this.position),this.distance=ft(this.distanceVector),this.dollyingStep=this.distance/100}},{key:"_getOrthoMatrix",value:function(){if(this.projectionMode===vi.ORTHOGRAPHIC){var e=this.position,r=Na(Kn(),[0,0,1],-this.roll*Math.PI/180);hs(this.orthoMatrix,r,xt((this.rright-this.left)/2-e[0],(this.top-this.bottom)/2-e[1],0),xt(this.zoom,this.zoom,1),e)}}},{key:"triggerUpdate",value:function(){if(this.enableUpdate){var e=this.getViewTransform(),r=qt(Gt(),this.getPerspective(),e);this.getFrustum().extractFromVPMatrix(r),this.eventEmitter.emit(Ug.UPDATED)}}},{key:"rotate",value:function(e,r,i){throw new Error(nn)}},{key:"pan",value:function(e,r){throw new Error(nn)}},{key:"dolly",value:function(e){throw new Error(nn)}},{key:"createLandmark",value:function(e,r){throw new Error(nn)}},{key:"gotoLandmark",value:function(e,r){throw new Error(nn)}},{key:"cancelLandmarkAnimation",value:function(){throw new Error(nn)}}])}(),$2=function(n){return n[n.Standard=0]="Standard",n}({}),lc=function(n){return n[n.ADDED=0]="ADDED",n[n.REMOVED=1]="REMOVED",n[n.Z_INDEX_CHANGED=2]="Z_INDEX_CHANGED",n}({}),tM=pt(),Vo=Gt(),eM=Kn();function Jg(n){if(n.localDirtyFlag){var t=n.localSkew[0]!==0||n.localSkew[1]!==0;if(t){hs(n.localTransform,n.localRotation,n.localPosition,xt(1,1,1),n.origin),(n.localSkew[0]!==0||n.localSkew[1]!==0)&&(ge(Vo),Vo[4]=Math.tan(n.localSkew[0]),Vo[1]=Math.tan(n.localSkew[1]),qt(n.localTransform,n.localTransform,Vo));var e=hs(Vo,ug(eM,0,0,0,1),Bt(tM,1,1,1),n.localScale,n.origin);qt(n.localTransform,n.localTransform,e)}else{var r=n.localTransform,i=n.localPosition,a=n.localRotation,s=n.localScale,o=n.origin,l=i[0]!==0||i[1]!==0||i[2]!==0,c=a[3]!==1||a[0]!==0||a[1]!==0||a[2]!==0,u=s[0]!==1||s[1]!==1||s[2]!==1,h=o[0]!==0||o[1]!==0||o[2]!==0;!c&&!u&&!h?l?Un(r,i):ge(r):hs(r,a,i,s,o)}n.localDirtyFlag=!1}}function nM(n,t){n.dirtyFlag&&(t?qt(n.worldTransform,t.worldTransform,n.localTransform):we(n.worldTransform,n.localTransform),n.dirtyFlag=!1)}var qg={absolutePath:[],hasArc:!1,segments:[],polygons:[],polylines:[],curve:null,totalLength:0,rect:new no(0,0,0,0)},$t=function(n){return n.COORDINATE="<coordinate>",n.COLOR="<color>",n.PAINT="<paint>",n.NUMBER="<number>",n.ANGLE="<angle>",n.OPACITY_VALUE="<opacity-value>",n.SHADOW_BLUR="<shadow-blur>",n.LENGTH="<length>",n.PERCENTAGE="<percentage>",n.LENGTH_PERCENTAGE="<length> | <percentage>",n.LENGTH_PERCENTAGE_12="[<length> | <percentage>]{1,2}",n.LENGTH_PERCENTAGE_14="[<length> | <percentage>]{1,4}",n.LIST_OF_POINTS="<list-of-points>",n.PATH="<path>",n.FILTER="<filter>",n.Z_INDEX="<z-index>",n.OFFSET_DISTANCE="<offset-distance>",n.DEFINED_PATH="<defined-path>",n.MARKER="<marker>",n.TRANSFORM="<transform>",n.TRANSFORM_ORIGIN="<transform-origin>",n.TEXT="<text>",n.TEXT_TRANSFORM="<text-transform>",n}({});function Ff(n,t,e){n.prototype=t.prototype=e,e.constructor=n}function $g(n,t){var e=Object.create(n.prototype);for(var r in t)e[r]=t[r];return e}function Yo(){}var Uo=.7,cc=1/Uo,ao="\\s*([+-]?\\d+)\\s*",Ko="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Ki="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",rM=/^#([0-9a-f]{3,8})$/,iM=new RegExp(`^rgb\\(${ao},${ao},${ao}\\)$`),aM=new RegExp(`^rgb\\(${Ki},${Ki},${Ki}\\)$`),sM=new RegExp(`^rgba\\(${ao},${ao},${ao},${Ko}\\)$`),oM=new RegExp(`^rgba\\(${Ki},${Ki},${Ki},${Ko}\\)$`),lM=new RegExp(`^hsl\\(${Ko},${Ki},${Ki}\\)$`),cM=new RegExp(`^hsla\\(${Ko},${Ki},${Ki},${Ko}\\)$`),tp={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};Ff(Yo,uc,{copy(n){return Object.assign(new this.constructor,this,n)},displayable(){return this.rgb().displayable()},hex:ep,formatHex:ep,formatHex8:uM,formatHsl:hM,formatRgb:np,toString:np});function ep(){return this.rgb().formatHex()}function uM(){return this.rgb().formatHex8()}function hM(){return op(this).formatHsl()}function np(){return this.rgb().formatRgb()}function uc(n){var t,e;return n=(n+"").trim().toLowerCase(),(t=rM.exec(n))?(e=t[1].length,t=parseInt(t[1],16),e===6?rp(t):e===3?new Xr(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):e===8?hc(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):e===4?hc(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=iM.exec(n))?new Xr(t[1],t[2],t[3],1):(t=aM.exec(n))?new Xr(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=sM.exec(n))?hc(t[1],t[2],t[3],t[4]):(t=oM.exec(n))?hc(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=lM.exec(n))?sp(t[1],t[2]/100,t[3]/100,1):(t=cM.exec(n))?sp(t[1],t[2]/100,t[3]/100,t[4]):tp.hasOwnProperty(n)?rp(tp[n]):n==="transparent"?new Xr(NaN,NaN,NaN,0):null}function rp(n){return new Xr(n>>16&255,n>>8&255,n&255,1)}function hc(n,t,e,r){return r<=0&&(n=t=e=NaN),new Xr(n,t,e,r)}function fM(n){return n instanceof Yo||(n=uc(n)),n?(n=n.rgb(),new Xr(n.r,n.g,n.b,n.opacity)):new Xr}function dM(n,t,e,r){return arguments.length===1?fM(n):new Xr(n,t,e,r==null?1:r)}function Xr(n,t,e,r){this.r=+n,this.g=+t,this.b=+e,this.opacity=+r}Ff(Xr,dM,$g(Yo,{brighter(n){return n=n==null?cc:Math.pow(cc,n),new Xr(this.r*n,this.g*n,this.b*n,this.opacity)},darker(n){return n=n==null?Uo:Math.pow(Uo,n),new Xr(this.r*n,this.g*n,this.b*n,this.opacity)},rgb(){return this},clamp(){return new Xr(gs(this.r),gs(this.g),gs(this.b),fc(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:ip,formatHex:ip,formatHex8:vM,formatRgb:ap,toString:ap}));function ip(){return`#${ps(this.r)}${ps(this.g)}${ps(this.b)}`}function vM(){return`#${ps(this.r)}${ps(this.g)}${ps(this.b)}${ps((isNaN(this.opacity)?1:this.opacity)*255)}`}function ap(){const n=fc(this.opacity);return`${n===1?"rgb(":"rgba("}${gs(this.r)}, ${gs(this.g)}, ${gs(this.b)}${n===1?")":`, ${n})`}`}function fc(n){return isNaN(n)?1:Math.max(0,Math.min(1,n))}function gs(n){return Math.max(0,Math.min(255,Math.round(n)||0))}function ps(n){return n=gs(n),(n<16?"0":"")+n.toString(16)}function sp(n,t,e,r){return r<=0?n=t=e=NaN:e<=0||e>=1?n=t=NaN:t<=0&&(n=NaN),new Ni(n,t,e,r)}function op(n){if(n instanceof Ni)return new Ni(n.h,n.s,n.l,n.opacity);if(n instanceof Yo||(n=uc(n)),!n)return new Ni;if(n instanceof Ni)return n;n=n.rgb();var t=n.r/255,e=n.g/255,r=n.b/255,i=Math.min(t,e,r),a=Math.max(t,e,r),s=NaN,o=a-i,l=(a+i)/2;return o?(t===a?s=(e-r)/o+(e<r)*6:e===a?s=(r-t)/o+2:s=(t-e)/o+4,o/=l<.5?a+i:2-a-i,s*=60):o=l>0&&l<1?0:s,new Ni(s,o,l,n.opacity)}function gM(n,t,e,r){return arguments.length===1?op(n):new Ni(n,t,e,r==null?1:r)}function Ni(n,t,e,r){this.h=+n,this.s=+t,this.l=+e,this.opacity=+r}Ff(Ni,gM,$g(Yo,{brighter(n){return n=n==null?cc:Math.pow(cc,n),new Ni(this.h,this.s,this.l*n,this.opacity)},darker(n){return n=n==null?Uo:Math.pow(Uo,n),new Ni(this.h,this.s,this.l*n,this.opacity)},rgb(){var n=this.h%360+(this.h<0)*360,t=isNaN(n)||isNaN(this.s)?0:this.s,e=this.l,r=e+(e<.5?e:1-e)*t,i=2*e-r;return new Xr(Zf(n>=240?n-240:n+120,i,r),Zf(n,i,r),Zf(n<120?n+240:n-120,i,r),this.opacity)},clamp(){return new Ni(lp(this.h),dc(this.s),dc(this.l),fc(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 n=fc(this.opacity);return`${n===1?"hsl(":"hsla("}${lp(this.h)}, ${dc(this.s)*100}%, ${dc(this.l)*100}%${n===1?")":`, ${n})`}`}}));function lp(n){return n=(n||0)%360,n<0?n+360:n}function dc(n){return Math.max(0,Math.min(1,n||0))}function Zf(n,t,e){return(n<60?t+(e-t)*n/60:n<180?e:n<240?t+(e-t)*(240-n)/60:t)*255}function Zn(n,t){if(typeof n!="function"||t!=null&&typeof t!="function")throw new TypeError("Expected a function");var e=function(){for(var i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];var o=t?t.apply(this,a):a[0],l=e.cache;if(l.has(o))return l.get(o);var c=n.apply(this,a);return e.cache=l.set(o,c)||l,c};return e.cache=new(Zn.Cache||Map),Zn.cacheList.push(e.cache),e}Zn.Cache=Map,Zn.cacheList=[],Zn.clearCache=function(){Zn.cacheList.forEach(function(n){return n.clear()})};var te=function(n){return n[n.kUnknown=0]="kUnknown",n[n.kNumber=1]="kNumber",n[n.kPercentage=2]="kPercentage",n[n.kEms=3]="kEms",n[n.kPixels=4]="kPixels",n[n.kRems=5]="kRems",n[n.kDegrees=6]="kDegrees",n[n.kRadians=7]="kRadians",n[n.kGradians=8]="kGradians",n[n.kTurns=9]="kTurns",n[n.kMilliseconds=10]="kMilliseconds",n[n.kSeconds=11]="kSeconds",n[n.kInteger=12]="kInteger",n}({}),ki=function(n){return n[n.kUNumber=0]="kUNumber",n[n.kUPercent=1]="kUPercent",n[n.kULength=2]="kULength",n[n.kUAngle=3]="kUAngle",n[n.kUTime=4]="kUTime",n[n.kUOther=5]="kUOther",n}({}),pM=function(n){return n[n.kYes=0]="kYes",n[n.kNo=1]="kNo",n}({}),mM=function(n){return n[n.kYes=0]="kYes",n[n.kNo=1]="kNo",n}({}),yM=[{name:"em",unit_type:te.kEms},{name:"px",unit_type:te.kPixels},{name:"deg",unit_type:te.kDegrees},{name:"rad",unit_type:te.kRadians},{name:"grad",unit_type:te.kGradians},{name:"ms",unit_type:te.kMilliseconds},{name:"s",unit_type:te.kSeconds},{name:"rem",unit_type:te.kRems},{name:"turn",unit_type:te.kTurns}],so=function(n){return n[n.kUnknownType=0]="kUnknownType",n[n.kUnparsedType=1]="kUnparsedType",n[n.kKeywordType=2]="kKeywordType",n[n.kUnitType=3]="kUnitType",n[n.kSumType=4]="kSumType",n[n.kProductType=5]="kProductType",n[n.kNegateType=6]="kNegateType",n[n.kInvertType=7]="kInvertType",n[n.kMinType=8]="kMinType",n[n.kMaxType=9]="kMaxType",n[n.kClampType=10]="kClampType",n[n.kTransformType=11]="kTransformType",n[n.kPositionType=12]="kPositionType",n[n.kURLImageType=13]="kURLImageType",n[n.kColorType=14]="kColorType",n[n.kUnsupportedColorType=15]="kUnsupportedColorType",n}({}),bM=function(t){return yM.find(function(e){return e.name===t}).unit_type},xM=function(t){return t?t==="number"?te.kNumber:t==="percent"||t==="%"?te.kPercentage:bM(t):te.kUnknown},EM=function(t){switch(t){case te.kNumber:case te.kInteger:return ki.kUNumber;case te.kPercentage:return ki.kUPercent;case te.kPixels:return ki.kULength;case te.kMilliseconds:case te.kSeconds:return ki.kUTime;case te.kDegrees:case te.kRadians:case te.kGradians:case te.kTurns:return ki.kUAngle;default:return ki.kUOther}},wM=function(t){switch(t){case ki.kUNumber:return te.kNumber;case ki.kULength:return te.kPixels;case ki.kUPercent:return te.kPercentage;case ki.kUTime:return te.kSeconds;case ki.kUAngle:return te.kDegrees;default:return te.kUnknown}},cp=function(t){var e=1;switch(t){case te.kPixels:case te.kDegrees:case te.kSeconds:break;case te.kMilliseconds:e=.001;break;case te.kRadians:e=180/Math.PI;break;case te.kGradians:e=.9;break;case te.kTurns:e=360;break}return e},_f=function(t){switch(t){case te.kNumber:case te.kInteger:return"";case te.kPercentage:return"%";case te.kEms:return"em";case te.kRems:return"rem";case te.kPixels:return"px";case te.kDegrees:return"deg";case te.kRadians:return"rad";case te.kGradians:return"grad";case te.kMilliseconds:return"ms";case te.kSeconds:return"s";case te.kTurns:return"turn"}return""},vc=function(){function n(){(0,C.Z)(this,n)}return(0,S.Z)(n,[{key:"toString",value:function(){return this.buildCSSText(pM.kNo,mM.kNo,"")}},{key:"isNumericValue",value:function(){return this.getType()>=so.kUnitType&&this.getType()<=so.kClampType}}],[{key:"isAngle",value:function(e){return e===te.kDegrees||e===te.kRadians||e===te.kGradians||e===te.kTurns}},{key:"isLength",value:function(e){return e>=te.kEms&&e<te.kDegrees}},{key:"isRelativeUnit",value:function(e){return e===te.kPercentage||e===te.kEms||e===te.kRems}},{key:"isTime",value:function(e){return e===te.kSeconds||e===te.kMilliseconds}}])}(),MM=function(n){function t(e){var r;return(0,C.Z)(this,t),r=(0,R.Z)(this,t),r.colorSpace=e,r}return(0,T.Z)(t,n),(0,S.Z)(t,[{key:"getType",value:function(){return so.kColorType}},{key:"to",value:function(r){return this}}])}(vc),Ia=function(n){return n[n.Constant=0]="Constant",n[n.LinearGradient=1]="LinearGradient",n[n.RadialGradient=2]="RadialGradient",n}({}),gc=function(n){function t(e,r){var i;return(0,C.Z)(this,t),i=(0,R.Z)(this,t),i.type=e,i.value=r,i}return(0,T.Z)(t,n),(0,S.Z)(t,[{key:"clone",value:function(){return new t(this.type,this.value)}},{key:"buildCSSText",value:function(r,i,a){return a}},{key:"getType",value:function(){return so.kColorType}}])}(vc),gi=function(n){function t(e){var r;return(0,C.Z)(this,t),r=(0,R.Z)(this,t),r.value=e,r}return(0,T.Z)(t,n),(0,S.Z)(t,[{key:"clone",value:function(){return new t(this.value)}},{key:"getType",value:function(){return so.kKeywordType}},{key:"buildCSSText",value:function(r,i,a){return a+this.value}}])}(vc),AM=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",r="";return Number.isFinite(t)?r="NaN":t>0?r="infinity":r="-infinity",r+=e},Hf=function(t){return wM(EM(t))},sn=function(n){function t(e){var r,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:te.kNumber;(0,C.Z)(this,t),r=(0,R.Z)(this,t);var a;return typeof i=="string"?a=xM(i):a=i,r.unit=a,r.value=e,r}return(0,T.Z)(t,n),(0,S.Z)(t,[{key:"clone",value:function(){return new t(this.value,this.unit)}},{key:"equals",value:function(r){var i=r;return this.value===i.value&&this.unit===i.unit}},{key:"getType",value:function(){return so.kUnitType}},{key:"convertTo",value:function(r){if(this.unit===r)return new t(this.value,this.unit);var i=Hf(this.unit);if(i!==Hf(r)||i===te.kUnknown)return null;var a=cp(this.unit)/cp(r);return new t(this.value*a,r)}},{key:"buildCSSText",value:function(r,i,a){var s;switch(this.unit){case te.kUnknown:break;case te.kInteger:s=Number(this.value).toFixed(0);break;case te.kNumber:case te.kPercentage:case te.kEms:case te.kRems:case te.kPixels:case te.kDegrees:case te.kRadians:case te.kGradians:case te.kMilliseconds:case te.kSeconds:case te.kTurns:{var o=-999999,l=999999,c=this.value,u=_f(this.unit);if(c<o||c>l){var h=_f(this.unit);!Number.isFinite(c)||Number.isNaN(c)?s=AM(c,h):s=c+(h||"")}else s="".concat(c).concat(u)}}return a+=s,a}}])}(vc),Li=new sn(0,"px");new sn(1,"px");var ms=new sn(0,"deg"),Gf=function(n){function t(e,r,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(0,C.Z)(this,t),a=(0,R.Z)(this,t,["rgb"]),a.r=e,a.g=r,a.b=i,a.alpha=s,a.isNone=o,a}return(0,T.Z)(t,n),(0,S.Z)(t,[{key:"clone",value:function(){return new t(this.r,this.g,this.b,this.alpha)}},{key:"buildCSSText",value:function(r,i,a){return"".concat(a,"rgba(").concat(this.r,",").concat(this.g,",").concat(this.b,",").concat(this.alpha,")")}}])}(MM),up=new gi("unset"),PM=new gi("initial"),SM=new gi("inherit"),Wf={"":up,unset:up,initial:PM,inherit:SM},OM=function(t){return Wf[t]||(Wf[t]=new gi(t)),Wf[t]},hp=new Gf(0,0,0,0,!0),fp=new Gf(0,0,0,0),TM=Zn(function(n,t,e,r){return new Gf(n,t,e,r)},function(n,t,e,r){return"rgba(".concat(n,",").concat(t,",").concat(e,",").concat(r,")")}),En=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:te.kNumber;return new sn(t,e)};new sn(50,"%");function CM(n){var t=n.type,e=n.value;return t==="hex"?"#".concat(e):t==="literal"?e:t==="rgb"?"rgb(".concat(e.join(","),")"):"rgba(".concat(e.join(","),")")}var NM=function(){var n={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]+\.?))/},t="";function e(Ot){throw new Error("".concat(t,": ").concat(Ot))}function r(){var Ot=i();return t.length>0&&e("Invalid input not EOF"),Ot}function i(){return M(a)}function a(){return s("linear-gradient",n.linearGradient,l)||s("repeating-linear-gradient",n.repeatingLinearGradient,l)||s("radial-gradient",n.radialGradient,h)||s("repeating-radial-gradient",n.repeatingRadialGradient,h)||s("conic-gradient",n.conicGradient,h)}function s(Ot,mt,yt){return o(mt,function(Lt){var Zt=yt();return Zt&&(vt(n.comma)||e("Missing comma before color stops")),{type:Ot,orientation:Zt,colorStops:M(O)}})}function o(Ot,mt){var yt=vt(Ot);if(yt){vt(n.startCall)||e("Missing (");var Lt=mt(yt);return vt(n.endCall)||e("Missing )"),Lt}}function l(){return c()||u()}function c(){return ct("directional",n.sideOrCorner,1)}function u(){return ct("angular",n.angleValue,1)}function h(){var Ot,mt=f(),yt;return mt&&(Ot=[],Ot.push(mt),yt=t,vt(n.comma)&&(mt=f(),mt?Ot.push(mt):t=yt)),Ot}function f(){var Ot=d()||v();if(Ot)Ot.at=p();else{var mt=g();if(mt){Ot=mt;var yt=p();yt&&(Ot.at=yt)}else{var Lt=y();Lt&&(Ot={type:"default-radial",at:Lt})}}return Ot}function d(){var Ot=ct("shape",/^(circle)/i,0);return Ot&&(Ot.style=ot()||g()),Ot}function v(){var Ot=ct("shape",/^(ellipse)/i,0);return Ot&&(Ot.style=q()||g()),Ot}function g(){return ct("extent-keyword",n.extentKeywords,1)}function p(){if(ct("position",/^at/,0)){var Ot=y();return Ot||e("Missing positioning value"),Ot}}function y(){var Ot=b();if(Ot.x||Ot.y)return{type:"position",value:Ot}}function b(){return{x:q(),y:q()}}function M(Ot){var mt=Ot(),yt=[];if(mt)for(yt.push(mt);vt(n.comma);)mt=Ot(),mt?yt.push(mt):e("One extra comma");return yt}function O(){var Ot=k();return Ot||e("Expected color definition"),Ot.length=q(),Ot}function k(){return j()||W()||B()||D()}function D(){return ct("literal",n.literalColor,0)}function j(){return ct("hex",n.hexColor,1)}function B(){return o(n.rgbColor,function(){return{type:"rgb",value:M(V)}})}function W(){return o(n.rgbaColor,function(){return{type:"rgba",value:M(V)}})}function V(){return vt(n.number)[1]}function q(){return ct("%",n.percentageValue,1)||$()||ot()}function $(){return ct("position-keyword",n.positionKeywords,1)}function ot(){return ct("px",n.pixelValue,1)||ct("em",n.emValue,1)}function ct(Ot,mt,yt){var Lt=vt(mt);if(Lt)return{type:Ot,value:Lt[yt]}}function vt(Ot){var mt=/^[\n\r\t\s]+/.exec(t);mt&&Ct(mt[0].length);var yt=Ot.exec(t);return yt&&Ct(yt[0].length),yt}function Ct(Ot){t=t.substring(Ot)}return function(Ot){return t=Ot,r()}}();function kM(n,t,e,r){var i=rn(r.value),a=0,s=0,o=a+t/2,l=s+e/2,c=Math.abs(t*Math.cos(i))+Math.abs(e*Math.sin(i)),u=n[0]+o-Math.cos(i)*c/2,h=n[1]+l-Math.sin(i)*c/2,f=n[0]+o+Math.cos(i)*c/2,d=n[1]+l+Math.sin(i)*c/2;return{x1:u,y1:h,x2:f,y2:d}}function LM(n,t,e,r,i,a){var s=r.value,o=i.value;r.unit===te.kPercentage&&(s=r.value/100*t),i.unit===te.kPercentage&&(o=i.value/100*e);var l=Math.max(Hr([0,0],[s,o]),Hr([0,e],[s,o]),Hr([t,e],[s,o]),Hr([t,0],[s,o]));return a&&(a instanceof sn?l=a.value:a instanceof gi&&(a.value==="closest-side"?l=Math.min(s,t-s,o,e-o):a.value==="farthest-side"?l=Math.max(s,t-s,o,e-o):a.value==="closest-corner"&&(l=Math.min(Hr([0,0],[s,o]),Hr([0,e],[s,o]),Hr([t,e],[s,o]),Hr([t,0],[s,o]))))),{x:s+n[0],y:o+n[1],r:l}}var DM=/^l\s*\(\s*([\d.]+)\s*\)\s*(.*)/i,RM=/^r\s*\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*\)\s*(.*)/i,IM=/^p\s*\(\s*([axyn])\s*\)\s*(.*)/i,dp=/[\d.]+:(#[^\s]+|[^\)]+\))/gi;function BM(n){var t,e=n.length;if(n[e-1].length=(t=n[e-1].length)!==null&&t!==void 0?t:{type:"%",value:"100"},e>1){var r;n[0].length=(r=n[0].length)!==null&&r!==void 0?r:{type:"%",value:"0"}}for(var i=0,a=Number(n[0].length.value),s=1;s<e;s++){var o,l=(o=n[s].length)===null||o===void 0?void 0:o.value;if(!ye(l)&&!ye(a)){for(var c=1;c<s-i;c++)n[i+c].length={type:"%",value:"".concat(a+(Number(l)-a)*c/(s-i))};i=s,a=Number(l)}}}var zM={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},jM=Zn(function(n){var t;return n.type==="angular"?t=Number(n.value):t=zM[n.value]||0,En(t,"deg")}),FM=Zn(function(n){var t=50,e=50,r="%",i="%";if((n==null?void 0:n.type)==="position"){var a=n.value,s=a.x,o=a.y;(s==null?void 0:s.type)==="position-keyword"&&(s.value==="left"?t=0:s.value==="center"?t=50:s.value==="right"?t=100:s.value==="top"?e=0:s.value==="bottom"&&(e=100)),(o==null?void 0:o.type)==="position-keyword"&&(o.value==="left"?t=0:o.value==="center"?e=50:o.value==="right"?t=100:o.value==="top"?e=0:o.value==="bottom"&&(e=100)),((s==null?void 0:s.type)==="px"||(s==null?void 0:s.type)==="%"||(s==null?void 0:s.type)==="em")&&(r=s==null?void 0:s.type,t=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,e=Number(o.value))}return{cx:En(t,r),cy:En(e,i)}}),ZM=Zn(function(n){if(n.indexOf("linear")>-1||n.indexOf("radial")>-1){var t=NM(n);return t.map(function(o){var l=o.type,c=o.orientation,u=o.colorStops;BM(u);var h=u.map(function(M){return{offset:En(Number(M.length.value),"%"),color:CM(M)}});if(l==="linear-gradient")return new gc(Ia.LinearGradient,{angle:c?jM(c):ms,steps:h});if(l==="radial-gradient"&&(c||(c=[{type:"shape",value:"circle"}]),c[0].type==="shape"&&c[0].value==="circle")){var f=FM(c[0].at),d=f.cx,v=f.cy,g;if(c[0].style){var p=c[0].style,y=p.type,b=p.value;y==="extent-keyword"?g=OM(b):g=En(b,y)}return new gc(Ia.RadialGradient,{cx:d,cy:v,size:g,steps:h})}})}var e=n[0];if(n[1]==="("||n[2]==="("){if(e==="l"){var r=DM.exec(n);if(r){var i,a=((i=r[2].match(dp))===null||i===void 0?void 0:i.map(function(o){return o.split(":")}))||[];return[new gc(Ia.LinearGradient,{angle:En(parseFloat(r[1]),"deg"),steps:a.map(function(o){var l=(0,L.Z)(o,2),c=l[0],u=l[1];return{offset:En(Number(c)*100,"%"),color:u}})})]}}else if(e==="r"){var s=_M(n);if(s)if(We(s))n=s;else return[new gc(Ia.RadialGradient,s)]}else if(e==="p")return HM(n)}});function _M(n){var t=RM.exec(n);if(t){var e,r=((e=t[4].match(dp))===null||e===void 0?void 0:e.map(function(i){return i.split(":")}))||[];return{cx:En(50,"%"),cy:En(50,"%"),steps:r.map(function(i){var a=(0,L.Z)(i,2),s=a[0],o=a[1];return{offset:En(Number(s)*100,"%"),color:o}})}}return null}function HM(n){var t=IM.exec(n);if(t){var e=t[1],r=t[2];switch(e){case"a":e="repeat";break;case"x":e="repeat-x";break;case"y":e="repeat-y";break;case"n":e="no-repeat";break;default:e="no-repeat"}return{image:r,repetition:e}}return null}function Fz(n){return!!n.type&&!!n.value}function ys(n){return n&&!!n.image}function pc(n){return n&&!ye(n.r)&&!ye(n.g)&&!ye(n.b)}var Qo=Zn(function(n){if(ys(n))return(0,z.Z)({repetition:"repeat"},n);if(ye(n)&&(n=""),n==="transparent")return fp;if(n==="currentColor")n="black";else if(n==="none")return hp;var t=ZM(n);if(t)return t;var e=uc(n),r=[0,0,0,0];return e!==null&&(r[0]=e.r||0,r[1]=e.g||0,r[2]=e.b||0,r[3]=e.opacity),TM.apply(void 0,r)});function GM(n,t){if(!(!pc(n)||!pc(t)))return[[Number(n.r),Number(n.g),Number(n.b),Number(n.alpha)],[Number(t.r),Number(t.g),Number(t.b),Number(t.alpha)],function(e){var r=e.slice();if(r[3])for(var i=0;i<3;i++)r[i]=Math.round(Nn(r[i],0,255));return r[3]=Nn(r[3],0,1),"rgba(".concat(r.join(","),")")}]}function Jo(n,t){if(ye(t))return En(0,"px");if(t="".concat(t).trim().toLowerCase(),isFinite(Number(t))){if("px".search(n)>=0)return En(Number(t),"px");if("deg".search(n)>=0)return En(Number(t),"deg")}var e=[];t=t.replace(n,function(i){return e.push(i),"U".concat(i)});var r="U(".concat(n.source,")");return e.map(function(i){return En(Number(t.replace(new RegExp("U".concat(i),"g"),"").replace(new RegExp(r,"g"),"*0")),i)})[0]}var vp=function(t){return Jo(new RegExp("px","g"),t)},WM=Zn(vp),XM=function(t){return Jo(new RegExp("%","g"),t)};Zn(XM);var gp=function(t){return ie(t)||isFinite(Number(t))?En(Number(t)||0,"px"):Jo(new RegExp("px|%|em|rem","g"),t)},Xf=Zn(gp),pp=function(t){return Jo(new RegExp("deg|rad|grad|turn","g"),t)},VM=Zn(pp);function YM(n,t,e,r){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,a="",s=n.value||0,o=t.value||0,l=Hf(n.unit),c=n.convertTo(l),u=t.convertTo(l);return c&&u?(s=c.value,o=u.value,a=_f(n.unit)):(sn.isLength(n.unit)||sn.isLength(t.unit))&&(s=$r(n,i,e),o=$r(t,i,e),a="px"),[s,o,function(h){return r&&(h=Math.max(h,0)),h+a}]}function Vr(n){var t=0;return n.unit===te.kDegrees?t=n.value:n.unit===te.kRadians?t=Wr(Number(n.value)):n.unit===te.kTurns?t=X2(Number(n.value)):n.value&&(t=n.value),t}function mp(n,t){var e;return Array.isArray(n)?e=n.map(function(r){return Number(r)}):We(n)?e=n.split(" ").map(function(r){return Number(r)}):ie(n)&&(e=[n]),t===2?e.length===1?[e[0],e[0]]:[e[0],e[1]]:t===4?e.length===1?[e[0],e[0],e[0],e[0]]:e.length===2?[e[0],e[1],e[0],e[1]]:e.length===3?[e[0],e[1],e[2],e[1]]:[e[0],e[1],e[2],e[3]]:t==="even"&&e.length%2===1?[].concat((0,N.Z)(e),(0,N.Z)(e)):e}function $r(n,t,e){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(n.unit===te.kPixels)return Number(n.value);if(n.unit===te.kPercentage&&e){var i=e.nodeName===It.GROUP?e.getLocalBounds():e.getGeometryBounds();return(r?i.min[t]:0)+n.value/100*i.halfExtents[t]*2}return 0}var UM=function(t){return Jo(/deg|rad|grad|turn|px|%/g,t)},KM=["blur","brightness","drop-shadow","contrast","grayscale","sepia","saturate","hue-rotate","invert"];function QM(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";if(n=n.toLowerCase().trim(),n==="none")return[];for(var t=/\s*([\w-]+)\(([^)]*)\)/g,e=[],r,i=0;r=t.exec(n);){if(r.index!==i)return[];if(i=r.index+r[0].length,KM.indexOf(r[1])>-1&&e.push({name:r[1],params:r[2].split(" ").map(function(a){return UM(a)||Qo(a)})}),t.lastIndex===n.length)return e}return[]}function yp(n){return n.toString()}var bp=function(t){return typeof t=="number"?En(t):/^\s*[-+]?(\d*\.)?\d+\s*$/.test(t)?En(Number(t)):En(0)},Vf=Zn(bp);Zn(function(n){return We(n)?n.split(" ").map(Vf):n.map(Vf)});function Yf(n,t){return[n,t,yp]}function Uf(n,t){return function(e,r){return[e,r,function(i){return yp(Nn(i,n,t))}]}}function xp(n,t){if(n.length===t.length)return[n,t,function(e){return e}]}function Kf(n){return n.parsedStyle.d.totalLength===0&&(n.parsedStyle.d.totalLength=Vw(n.parsedStyle.d.absolutePath)),n.parsedStyle.d.totalLength}function JM(n){return n.parsedStyle.points.totalLength===0&&(n.parsedStyle.points.totalLength=C2(n.parsedStyle.points.points)),n.parsedStyle.points.totalLength}function qM(n){for(var t=0;t<n.length;t++){var e=n[t-1],r=n[t],i=r[0];if(i==="M"&&e){var a=e[0],s=[r[1],r[2]],o=void 0;a==="L"||a==="M"?o=[e[1],e[2]]:(a==="C"||a==="A"||a==="Q")&&(o=[e[e.length-2],e[e.length-1]]),o&&mc(s,o)&&(n.splice(t,1),t--)}}}function $M(n){for(var t=!1,e=n.length,r=0;r<e;r++){var i=n[r],a=i[0];if(a==="C"||a==="A"||a==="Q"){t=!0;break}}return t}function tA(n){for(var t=[],e=[],r=[],i=0;i<n.length;i++){var a=n[i],s=a[0];s==="M"?(r.length&&(e.push(r),r=[]),r.push([a[1],a[2]])):s==="Z"?r.length&&(t.push(r),r=[]):r.push([a[1],a[2]])}return r.length>0&&e.push(r),{polygons:t,polylines:e}}function mc(n,t){return n[0]===t[0]&&n[1]===t[1]}function eA(n,t){for(var e=[],r=[],i=[],a=0;a<n.length;a++){var s=n[a],o=s.currentPoint,l=s.params,c=s.prePoint,u=void 0;switch(s.command){case"Q":u=k2(c[0],c[1],l[1],l[2],l[3],l[4]);break;case"C":u=S2(c[0],c[1],l[1],l[2],l[3],l[4],l[5],l[6]);break;case"A":var h=s.arcParams;u=E2(h.cx,h.cy,h.rx,h.ry,h.xRotation,h.startAngle,h.endAngle);break;default:e.push(o[0]),r.push(o[1]);break}u&&(s.box=u,e.push(u.x,u.x+u.width),r.push(u.y,u.y+u.height)),t&&(s.command==="L"||s.command==="M")&&s.prePoint&&s.nextPoint&&i.push(s)}e=e.filter(function(O){return!Number.isNaN(O)&&O!==1/0&&O!==-1/0}),r=r.filter(function(O){return!Number.isNaN(O)&&O!==1/0&&O!==-1/0});var f=ec(e),d=ec(r),v=nc(e),g=nc(r);if(i.length===0)return{x:f,y:d,width:v-f,height:g-d};for(var p=0;p<i.length;p++){var y=i[p],b=y.currentPoint,M=void 0;b[0]===f?(M=yc(y,t),f-=M.xExtra):b[0]===v&&(M=yc(y,t),v+=M.xExtra),b[1]===d?(M=yc(y,t),d-=M.yExtra):b[1]===g&&(M=yc(y,t),g+=M.yExtra)}return{x:f,y:d,width:v-f,height:g-d}}function yc(n,t){var e=n.prePoint,r=n.currentPoint,i=n.nextPoint,a=Math.pow(r[0]-e[0],2)+Math.pow(r[1]-e[1],2),s=Math.pow(r[0]-i[0],2)+Math.pow(r[1]-i[1],2),o=Math.pow(e[0]-i[0],2)+Math.pow(e[1]-i[1],2),l=Math.acos((a+s-o)/(2*Math.sqrt(a)*Math.sqrt(s)));if(!l||Math.sin(l)===0||Ho(l,0))return{xExtra:0,yExtra:0};var c=Math.abs(Math.atan2(i[1]-r[1],i[0]-r[0])),u=Math.abs(Math.atan2(i[0]-r[0],i[1]-r[1]));c=c>Math.PI/2?Math.PI-c:c,u=u>Math.PI/2?Math.PI-u:u;var h={xExtra:Math.cos(l/2-c)*(t/2*(1/Math.sin(l/2)))-t/2||0,yExtra:Math.cos(u-l/2)*(t/2*(1/Math.sin(l/2)))-t/2||0};return h}function Ep(n,t){return[t[0]+(t[0]-n[0]),t[1]+(t[1]-n[1])]}var wp=function(t,e){var r=t.x*e.x+t.y*e.y,i=Math.sqrt((Math.pow(t.x,2)+Math.pow(t.y,2))*(Math.pow(e.x,2)+Math.pow(e.y,2))),a=t.x*e.y-t.y*e.x<0?-1:1,s=a*Math.acos(r/i);return s},Mp=function(t,e,r,i,a,s,o,l){e=Math.abs(e),r=Math.abs(r),i=xg(i,360);var c=rn(i);if(t.x===o.x&&t.y===o.y)return{x:t.x,y:t.y,ellipticalArcAngle:0};if(e===0||r===0)return{x:0,y:0,ellipticalArcAngle:0};var u=(t.x-o.x)/2,h=(t.y-o.y)/2,f={x:Math.cos(c)*u+Math.sin(c)*h,y:-Math.sin(c)*u+Math.cos(c)*h},d=Math.pow(f.x,2)/Math.pow(e,2)+Math.pow(f.y,2)/Math.pow(r,2);d>1&&(e*=Math.sqrt(d),r*=Math.sqrt(d));var v=Math.pow(e,2)*Math.pow(r,2)-Math.pow(e,2)*Math.pow(f.y,2)-Math.pow(r,2)*Math.pow(f.x,2),g=Math.pow(e,2)*Math.pow(f.y,2)+Math.pow(r,2)*Math.pow(f.x,2),p=v/g;p=p<0?0:p;var y=(a!==s?1:-1)*Math.sqrt(p),b={x:y*(e*f.y/r),y:y*(-(r*f.x)/e)},M={x:Math.cos(c)*b.x-Math.sin(c)*b.y+(t.x+o.x)/2,y:Math.sin(c)*b.x+Math.cos(c)*b.y+(t.y+o.y)/2},O={x:(f.x-b.x)/e,y:(f.y-b.y)/r},k=wp({x:1,y:0},O),D={x:(-f.x-b.x)/e,y:(-f.y-b.y)/r},j=wp(O,D);!s&&j>0?j-=2*Math.PI:s&&j<0&&(j+=2*Math.PI),j%=2*Math.PI;var B=k+j*l,W=e*Math.cos(B),V=r*Math.sin(B),q={x:Math.cos(c)*W-Math.sin(c)*V+M.x,y:Math.sin(c)*W+Math.cos(c)*V+M.y,ellipticalArcStartAngle:k,ellipticalArcEndAngle:k+j,ellipticalArcAngle:B,ellipticalArcCenter:M,resultantRx:e,resultantRy:r};return q};function nA(n){for(var t=[],e=null,r=null,i=null,a=0,s=n.length,o=0;o<s;o++){var l=n[o];r=n[o+1];var c=l[0],u={command:c,prePoint:e,params:l,startTangent:null,endTangent:null,currentPoint:null,nextPoint:null,arcParams:null,box:null,cubicParams:null};switch(c){case"M":i=[l[1],l[2]],a=o;break;case"A":var h=rA(e,l);u.arcParams=h;break}if(c==="Z")e=i,r=n[a+1];else{var f=l.length;e=[l[f-2],l[f-1]]}r&&r[0]==="Z"&&(r=n[a],t[a]&&(t[a].prePoint=e)),u.currentPoint=e,t[a]&&mc(e,t[a].currentPoint)&&(t[a].prePoint=u.prePoint);var d=r?[r[r.length-2],r[r.length-1]]:null;u.nextPoint=d;var v=u.prePoint;if(["L","H","V"].includes(c))u.startTangent=[v[0]-e[0],v[1]-e[1]],u.endTangent=[e[0]-v[0],e[1]-v[1]];else if(c==="Q"){var g=[l[1],l[2]];u.startTangent=[v[0]-g[0],v[1]-g[1]],u.endTangent=[e[0]-g[0],e[1]-g[1]]}else if(c==="T"){var p=t[o-1],y=Ep(p.currentPoint,v);p.command==="Q"?(u.command="Q",u.startTangent=[v[0]-y[0],v[1]-y[1]],u.endTangent=[e[0]-y[0],e[1]-y[1]]):(u.command="TL",u.startTangent=[v[0]-e[0],v[1]-e[1]],u.endTangent=[e[0]-v[0],e[1]-v[1]])}else if(c==="C"){var b=[l[1],l[2]],M=[l[3],l[4]];u.startTangent=[v[0]-b[0],v[1]-b[1]],u.endTangent=[e[0]-M[0],e[1]-M[1]],u.startTangent[0]===0&&u.startTangent[1]===0&&(u.startTangent=[b[0]-M[0],b[1]-M[1]]),u.endTangent[0]===0&&u.endTangent[1]===0&&(u.endTangent=[M[0]-b[0],M[1]-b[1]])}else if(c==="S"){var O=t[o-1],k=Ep(O.currentPoint,v),D=[l[1],l[2]];O.command==="C"?(u.command="C",u.startTangent=[v[0]-k[0],v[1]-k[1]],u.endTangent=[e[0]-D[0],e[1]-D[1]]):(u.command="SQ",u.startTangent=[v[0]-D[0],v[1]-D[1]],u.endTangent=[e[0]-D[0],e[1]-D[1]])}else if(c==="A"){var j=Ap(u,0),B=j.x,W=j.y,V=Ap(u,1,!1),q=V.x,$=V.y;u.startTangent=[B,W],u.endTangent=[q,$]}t.push(u)}return t}function Ap(n,t){var e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,r=n.arcParams,i=r.rx,a=i===void 0?0:i,s=r.ry,o=s===void 0?0:s,l=r.xRotation,c=r.arcFlag,u=r.sweepFlag,h=Mp({x:n.prePoint[0],y:n.prePoint[1]},a,o,l,!!c,!!u,{x:n.currentPoint[0],y:n.currentPoint[1]},t),f=Mp({x:n.prePoint[0],y:n.prePoint[1]},a,o,l,!!c,!!u,{x:n.currentPoint[0],y:n.currentPoint[1]},e?t+.005:t-.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 bc(n){return Math.sqrt(n[0]*n[0]+n[1]*n[1])}function Qf(n,t){return bc(n)*bc(t)?(n[0]*t[0]+n[1]*t[1])/(bc(n)*bc(t)):1}function Pp(n,t){return(n[0]*t[1]<n[1]*t[0]?-1:1)*Math.acos(Qf(n,t))}function rA(n,t){var e=t[1],r=t[2],i=xg(rn(t[3]),Math.PI*2),a=t[4],s=t[5],o=n[0],l=n[1],c=t[6],u=t[7],h=Math.cos(i)*(o-c)/2+Math.sin(i)*(l-u)/2,f=-1*Math.sin(i)*(o-c)/2+Math.cos(i)*(l-u)/2,d=h*h/(e*e)+f*f/(r*r);d>1&&(e*=Math.sqrt(d),r*=Math.sqrt(d));var v=e*e*(f*f)+r*r*(h*h),g=v?Math.sqrt((e*e*(r*r)-v)/v):1;a===s&&(g*=-1),isNaN(g)&&(g=0);var p=r?g*e*f/r:0,y=e?g*-r*h/e:0,b=(o+c)/2+Math.cos(i)*p-Math.sin(i)*y,M=(l+u)/2+Math.sin(i)*p+Math.cos(i)*y,O=[(h-p)/e,(f-y)/r],k=[(-1*h-p)/e,(-1*f-y)/r],D=Pp([1,0],O),j=Pp(O,k);return Qf(O,k)<=-1&&(j=Math.PI),Qf(O,k)>=1&&(j=0),s===0&&j>0&&(j-=2*Math.PI),s===1&&j<0&&(j+=2*Math.PI),{cx:b,cy:M,rx:mc(n,[c,u])?0:e,ry:mc(n,[c,u])?0:r,startAngle:D,endAngle:D+j,xRotation:i,arcFlag:a,sweepFlag:s}}function iA(n,t,e){return n.reduce(function(r,i){var a="";if(i[0]==="M"||i[0]==="L"){var s=vec3.fromValues(i[1],i[2],0);e&&vec3.transformMat4(s,s,e),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),c=vec3.fromValues(i[5],i[6],0);e&&(vec3.transformMat4(o,o,e),vec3.transformMat4(l,l,e),vec3.transformMat4(c,c,e)),a="".concat(i[0]).concat(o[0],",").concat(o[1],",").concat(l[0],",").concat(l[1],",").concat(c[0],",").concat(c[1])}else if(i[0]==="A"){var u=vec3.fromValues(i[6],i[7],0);e&&vec3.transformMat4(u,u,e),a="".concat(i[0]).concat(i[1],",").concat(i[2],",").concat(i[3],",").concat(i[4],",").concat(i[5],",").concat(u[0],",").concat(u[1])}else if(i[0]==="Q"){var h=vec3.fromValues(i[1],i[2],0),f=vec3.fromValues(i[3],i[4],0);e&&(vec3.transformMat4(h,h,e),vec3.transformMat4(f,f,e)),a="".concat(i[0]).concat(i[1],",").concat(i[2],",").concat(i[3],",").concat(i[4],"}")}return r+=a},"")}function aA(n,t,e,r){return[["M",n,t],["L",e,r]]}function Sp(n,t,e,r){var i=(-1+Math.sqrt(2))/3*4,a=n*i,s=t*i,o=e-n,l=e+n,c=r-t,u=r+t;return[["M",o,r],["C",o,r-s,e-a,c,e,c],["C",e+a,c,l,r-s,l,r],["C",l,r+s,e+a,u,e,u],["C",e-a,u,o,r+s,o,r],["Z"]]}function sA(n,t){var e=n.map(function(r,i){return[i===0?"M":"L",r[0],r[1]]});return t&&e.push(["Z"]),e}function oA(n,t,e,r,i){if(i){var a=_slicedToArray(i,4),s=a[0],o=a[1],l=a[2],c=a[3],u=n>0?1:-1,h=t>0?1:-1,f=u+h!==0?1:0;return[["M",u*s+e,r],["L",n-u*o+e,r],o?["A",o,o,0,0,f,n+e,h*o+r]:null,["L",n+e,t-h*l+r],l?["A",l,l,0,0,f,n+e-u*l,t+r]:null,["L",e+u*c,t+r],c?["A",c,c,0,0,f,e,t+r-h*c]:null,["L",e,h*s+r],s?["A",s,s,0,0,f,u*s+e,r]:null,["Z"]].filter(function(d){return d})}return[["M",e,r],["L",e+n,r],["L",e+n,r+t],["L",e,r+t],["Z"]]}function Zz(n){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:n.getLocalTransform(),e=[];switch(n.nodeName){case It.LINE:var r=n.parsedStyle,i=r.x1,a=i===void 0?0:i,s=r.y1,o=s===void 0?0:s,l=r.x2,c=l===void 0?0:l,u=r.y2,h=u===void 0?0:u;e=aA(a,o,c,h);break;case It.CIRCLE:{var f=n.parsedStyle,d=f.r,v=d===void 0?0:d,g=f.cx,p=g===void 0?0:g,y=f.cy,b=y===void 0?0:y;e=Sp(v,v,p,b);break}case It.ELLIPSE:{var M=n.parsedStyle,O=M.rx,k=O===void 0?0:O,D=M.ry,j=D===void 0?0:D,B=M.cx,W=B===void 0?0:B,V=M.cy,q=V===void 0?0:V;e=Sp(k,j,W,q);break}case It.POLYLINE:case It.POLYGON:var $=n.parsedStyle.points;e=sA($.points,n.nodeName===It.POLYGON);break;case It.RECT:var ot=n.parsedStyle,ct=ot.width,vt=ct===void 0?0:ct,Ct=ot.height,Ot=Ct===void 0?0:Ct,mt=ot.x,yt=mt===void 0?0:mt,Lt=ot.y,Zt=Lt===void 0?0:Lt,Ut=ot.radius,ee=Ut&&Ut.some(function(he){return he!==0});e=oA(vt,Ot,yt,Zt,ee&&Ut.map(function(he){return clamp(he,0,Math.min(Math.abs(vt)/2,Math.abs(Ot)/2))}));break;case It.PATH:var ae=n.parsedStyle.d.absolutePath;e=_toConsumableArray(ae);break}if(e.length)return iA(e,n,t)}function _z(n){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,a=n.map(function(s,o){var l=s[0],c=n[o+1],u=o===0&&(t!==0||e!==0),h=(o===n.length-1||c&&(c[0]==="M"||c[0]==="Z"))&&r!==0&&i!==0,f=u?[t,e]:[0,0],d=_slicedToArray(f,2),v=d[0],g=d[1],p=h?[r,i]:[0,0],y=_slicedToArray(p,2),b=y[0],M=y[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]+M);case"Q":return"Q ".concat(s[1]," ").concat(s[2],",").concat(s[3]+b," ").concat(s[4]+M);case"C":return"C ".concat(s[1]," ").concat(s[2],",").concat(s[3]," ").concat(s[4],",").concat(s[5]+b," ").concat(s[6]+M);case"A":return"A ".concat(s[1]," ").concat(s[2]," ").concat(s[3]," ").concat(s[4]," ").concat(s[5]," ").concat(s[6]," ").concat(s[7]).concat(h?" L ".concat(s[6]+r,",").concat(s[7]+i):"");case"Z":return"Z";default:return null}}).filter(function(s){return s!==null}).join(" ");return~a.indexOf("NaN")?"":a}var Op=function(t){if(t===""||Array.isArray(t)&&t.length===0)return{absolutePath:[],hasArc:!1,segments:[],polygons:[],polylines:[],curve:null,totalLength:0,rect:{x:0,y:0,width:0,height:0}};var e;try{e=tc(t)}catch(d){e=tc(""),console.error("[g]: Invalid SVG Path definition: ".concat(t))}qM(e);var r=$M(e),i=tA(e),a=i.polygons,s=i.polylines,o=nA(e),l=eA(o,0),c=l.x,u=l.y,h=l.width,f=l.height;return{absolutePath:e,hasArc:r,segments:o,polygons:a,polylines:s,totalLength:0,rect:{x:Number.isFinite(c)?c:0,y:Number.isFinite(u)?u:0,width:Number.isFinite(h)?h:0,height:Number.isFinite(f)?f:0}}},lA=Zn(Op);function Tp(n){return We(n)?lA(n):Op(n)}function cA(n,t,e){var r=n.curve,i=t.curve;(!r||r.length===0)&&(r=Cf(n.absolutePath,!1),n.curve=r),(!i||i.length===0)&&(i=Cf(t.absolutePath,!1),t.curve=i);var a=[r,i];r.length!==i.length&&(a=Mg(r,i));var s=Ag(a[0])!==Ag(a[1])?r2(a[0]):i2(a[0]);return[s,s2(a[1],s),function(o){return o}]}function uA(n,t){var e;return We(n)?e=n.split(" ").map(function(r){var i=r.split(","),a=(0,L.Z)(i,2),s=a[0],o=a[1];return[Number(s),Number(o)]}):e=n,{points:e,totalLength:0,segments:[]}}function hA(n,t){return[n.points,t.points,function(e){return e}]}var kn=null,oo=/\s*(\w+)\(([^)]*)\)/g;function Yr(n){return function(t){var e=0;return n.map(function(r){return r===kn?t[e++]:r})}}function bs(n){return n}var qo={matrix:["NNNNNN",[kn,kn,0,0,kn,kn,0,0,0,0,1,0,kn,kn,0,1],bs],matrix3d:["NNNNNNNNNNNNNNNN",bs],rotate:["A"],rotateX:["A"],rotateY:["A"],rotateZ:["A"],rotate3d:["NNNA"],perspective:["L"],scale:["Nn",Yr([kn,kn,new sn(1)]),bs],scaleX:["N",Yr([kn,new sn(1),new sn(1)]),Yr([kn,new sn(1)])],scaleY:["N",Yr([new sn(1),kn,new sn(1)]),Yr([new sn(1),kn])],scaleZ:["N",Yr([new sn(1),new sn(1),kn])],scale3d:["NNN",bs],skew:["Aa",null,bs],skewX:["A",null,Yr([kn,ms])],skewY:["A",null,Yr([ms,kn])],translate:["Tt",Yr([kn,kn,Li]),bs],translateX:["T",Yr([kn,Li,Li]),Yr([kn,Li])],translateY:["T",Yr([Li,kn,Li]),Yr([Li,kn])],translateZ:["L",Yr([Li,Li,kn])],translate3d:["TTL",bs]};function Cp(n){for(var t=[],e=n.length,r=0;r<e;r++){var i=n[r],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=qo[a];if(!o)return[];var l=s.map(function(c){return En(c)});t.push({t:a,d:l})}return t}function Np(n){if(Array.isArray(n))return Cp(n);if(n=(n||"none").trim(),n==="none")return[];var t=[],e,r=0;for(oo.lastIndex=0;e=oo.exec(n);){if(e.index!==r)return[];r=e.index+e[0].length;var i=e[1],a=qo[i];if(!a)return[];var s=e[2].split(","),o=a[0];if(o.length<s.length)return[];for(var l=[],c=0;c<o.length;c++){var u=s[c],h=o[c],f=void 0;if(u?f={A:function(v){return v.trim()==="0"?ms:VM(v)},N:Vf,T:Xf,L:WM}[h.toUpperCase()](u):f={a:ms,n:l[0],t:Li}[h],f===void 0)return[];l.push(f)}if(t.push({t:i,d:l}),oo.lastIndex===n.length)return t}return[]}function fA(n){if(Array.isArray(n))return Cp(n);if(n=(n||"none").trim(),n==="none")return[];var t=[],e,r=0;for(oo.lastIndex=0;e=oo.exec(n);){if(e.index!==r)return[];r=e.index+e[0].length;var i=e[1],a=qo[i];if(!a)return[];var s=e[2].split(","),o=a[0];if(o.length<s.length)return[];for(var l=[],c=0;c<o.length;c++){var u=s[c],h=o[c],f=void 0;if(u?f={A:function(v){return v.trim()==="0"?ms:pp(v)},N:bp,T:gp,L:vp}[h.toUpperCase()](u):f={a:ms,n:l[0],t:Li}[h],f===void 0)return[];l.push(f)}if(t.push({t:i,d:l}),oo.lastIndex===n.length)return t}return[]}function dA(n){var t,e,r,i;switch(n.t){case"rotateX":return i=rn(Vr(n.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=rn(Vr(n.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=rn(Vr(n.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":t=n.d[0].value,e=n.d[1].value,r=n.d[2].value,i=rn(Vr(n.d[3]));var a=t*t+e*e+r*r;if(a===0)t=1,e=0,r=0;else if(a!==1){var s=Math.sqrt(a);t/=s,e/=s,r/=s}var o=Math.sin(i/2),l=o*Math.cos(i/2),c=o*o;return[1-2*(e*e+r*r)*c,2*(t*e*c+r*l),2*(t*r*c-e*l),0,2*(t*e*c-r*l),1-2*(t*t+r*r)*c,2*(e*r*c+t*l),0,2*(t*r*c+e*l),2*(e*r*c-t*l),1-2*(t*t+e*e)*c,0,0,0,0,1];case"scale":return[n.d[0].value,0,0,0,0,n.d[1].value,0,0,0,0,1,0,0,0,0,1];case"scaleX":return[n.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,n.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,n.d[0].value,0,0,0,0,1];case"scale3d":return[n.d[0].value,0,0,0,0,n.d[1].value,0,0,0,0,n.d[2].value,0,0,0,0,1];case"skew":var u=rn(Vr(n.d[0])),h=rn(Vr(n.d[1]));return[1,Math.tan(h),0,0,Math.tan(u),1,0,0,0,0,1,0,0,0,0,1];case"skewX":return i=rn(Vr(n.d[0])),[1,0,0,0,Math.tan(i),1,0,0,0,0,1,0,0,0,0,1];case"skewY":return i=rn(Vr(n.d[0])),[1,Math.tan(i),0,0,0,1,0,0,0,0,1,0,0,0,0,1];case"translate":return t=$r(n.d[0],0,null)||0,e=$r(n.d[1],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,t,e,0,1];case"translateX":return t=$r(n.d[0],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,t,0,0,1];case"translateY":return e=$r(n.d[0],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,0,e,0,1];case"translateZ":return r=$r(n.d[0],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,r,1];case"translate3d":return t=$r(n.d[0],0,null)||0,e=$r(n.d[1],0,null)||0,r=$r(n.d[2],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,t,e,r,1];case"perspective":var f=$r(n.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[n.d[0].value,n.d[1].value,0,0,n.d[2].value,n.d[3].value,0,0,0,0,1,0,n.d[4].value,n.d[5].value,0,1];case"matrix3d":return n.d.map(function(v){return v.value})}}function vA(n,t){return[n[0]*t[0]+n[4]*t[1]+n[8]*t[2]+n[12]*t[3],n[1]*t[0]+n[5]*t[1]+n[9]*t[2]+n[13]*t[3],n[2]*t[0]+n[6]*t[1]+n[10]*t[2]+n[14]*t[3],n[3]*t[0]+n[7]*t[1]+n[11]*t[2]+n[15]*t[3],n[0]*t[4]+n[4]*t[5]+n[8]*t[6]+n[12]*t[7],n[1]*t[4]+n[5]*t[5]+n[9]*t[6]+n[13]*t[7],n[2]*t[4]+n[6]*t[5]+n[10]*t[6]+n[14]*t[7],n[3]*t[4]+n[7]*t[5]+n[11]*t[6]+n[15]*t[7],n[0]*t[8]+n[4]*t[9]+n[8]*t[10]+n[12]*t[11],n[1]*t[8]+n[5]*t[9]+n[9]*t[10]+n[13]*t[11],n[2]*t[8]+n[6]*t[9]+n[10]*t[10]+n[14]*t[11],n[3]*t[8]+n[7]*t[9]+n[11]*t[10]+n[15]*t[11],n[0]*t[12]+n[4]*t[13]+n[8]*t[14]+n[12]*t[15],n[1]*t[12]+n[5]*t[13]+n[9]*t[14]+n[13]*t[15],n[2]*t[12]+n[6]*t[13]+n[10]*t[14]+n[14]*t[15],n[3]*t[12]+n[7]*t[13]+n[11]*t[14]+n[15]*t[15]]}function gA(n){return n.length===0?[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]:n.map(dA).reduce(vA)}function kp(n){var t=[0,0,0],e=[1,1,1],r=[0,0,0],i=[0,0,0,1],a=[0,0,0,1];return Q2(gA(n),t,e,r,i,a),[[t,e,r,a,i]]}var pA=function(){function n(r,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]*r[l][o];return a}function t(r){return r[0][2]===0&&r[0][3]===0&&r[1][2]===0&&r[1][3]===0&&r[2][0]===0&&r[2][1]===0&&r[2][2]===1&&r[2][3]===0&&r[3][2]===0&&r[3][3]===1}function e(r,i,a,s,o){for(var l=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]],c=0;c<4;c++)l[c][3]=o[c];for(var u=0;u<3;u++)for(var h=0;h<3;h++)l[3][u]+=r[h]*l[h][u];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=n(l,p);var y=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]];a[2]&&(y[2][1]=a[2],l=n(l,y)),a[1]&&(y[2][1]=0,y[2][0]=a[0],l=n(l,y)),a[0]&&(y[2][0]=0,y[1][0]=a[0],l=n(l,y));for(var b=0;b<3;b++)for(var M=0;M<3;M++)l[b][M]*=i[b];return t(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 e}();function mA(n){return n.toFixed(6).replace(".000000","")}function Jf(n,t){var e,r;return n.decompositionPair!==t&&(n.decompositionPair=t,e=kp(n)),t.decompositionPair!==n&&(t.decompositionPair=n,r=kp(t)),e[0]===null||r[0]===null?[[!1],[!0],function(i){return i?t[0].d:n[0].d}]:(e[0].push(0),r[0].push(1),[e,r,function(i){var a=bA(e[0][3],r[0][3],i[5]),s=pA(i[0],i[1],i[2],a,i[4]),o=s.map(mA).join(",");return o}])}function yA(n,t){for(var e=0,r=0;r<n.length;r++)e+=n[r]*t[r];return e}function bA(n,t,e){var r=yA(n,t);r=Nn(r,-1,1);var i=[];if(r===1)i=n;else for(var a=Math.acos(r),s=Math.sin(e*a)*1/Math.sqrt(1-r*r),o=0;o<4;o++)i.push(n[o]*(Math.cos(e*a)-r*s)+t[o]*s);return i}function qf(n){return n.replace(/[XY]/,"")}function $f(n){return n.replace(/(X|Y|Z|3d)?$/,"3d")}var xA=function(t,e){return t==="perspective"&&e==="perspective"||(t==="matrix"||t==="matrix3d")&&(e==="matrix"||e==="matrix3d")};function EA(n,t,e){var r=!1;if(!n.length||!t.length){n.length||(r=!0,n=t,t=[]);for(var i=function(){var q=n[a],$=q.t,ot=q.d,ct=$.substring(0,5)==="scale"?1:0;t.push({t:$,d:ot.map(function(vt){return typeof vt=="number"?En(ct):En(ct,vt.unit)})})},a=0;a<n.length;a++)i()}var s=[],o=[],l=[];if(n.length!==t.length){var c=Jf(n,t);s=[c[0]],o=[c[1]],l=[["matrix",[c[2]]]]}else for(var u=0;u<n.length;u++){var h=n[u].t,f=t[u].t,d=n[u].d,v=t[u].d,g=qo[h],p=qo[f],y=void 0;if(xA(h,f)){var b=Jf([n[u]],[t[u]]);s.push(b[0]),o.push(b[1]),l.push(["matrix",[b[2]]]);continue}else if(h===f)y=h;else if(g[2]&&p[2]&&qf(h)===qf(f))y=qf(h),d=g[2](d),v=p[2](v);else if(g[1]&&p[1]&&$f(h)===$f(f))y=$f(h),d=g[1](d),v=p[1](v);else{var M=Jf(n,t);s=[M[0]],o=[M[1]],l=[["matrix",[M[2]]]];break}for(var O=[],k=[],D=[],j=0;j<d.length;j++){var B=YM(d[j],v[j],e,!1,j);O[j]=B[0],k[j]=B[1],D.push(B[2])}s.push(O),o.push(k),l.push([y,D])}if(r){var W=s;s=o,o=W}return[s,o,function(V){return V.map(function(q,$){var ot=q.map(function(ct,vt){return l[$][1][vt](ct)}).join(",");return l[$][0]==="matrix"&&ot.split(",").length===16&&(l[$][0]="matrix3d"),l[$][0]==="matrix3d"&&ot.split(",").length===6&&(l[$][0]="matrix"),"".concat(l[$][0],"(").concat(ot,")")}).join(" ")}]}var wA=Zn(function(n){if(We(n)){if(n==="text-anchor")return[En(0,"px"),En(0,"px")];var t=n.split(" ");return t.length===1&&(t[0]==="top"||t[0]==="bottom"?(t[1]=t[0],t[0]="center"):t[1]="center"),t.length!==2?null:[Xf(Lp(t[0])),Xf(Lp(t[1]))]}return[En(n[0]||0,"px"),En(n[1]||0,"px")]});function Lp(n){return n==="center"?"50%":n==="left"||n==="top"?"0%":n==="right"||n==="bottom"?"100%":n}var td=[{n:"display",k:["none"]},{n:"opacity",int:!0,inh:!0,d:"1",syntax:$t.OPACITY_VALUE},{n:"fillOpacity",int:!0,inh:!0,d:"1",syntax:$t.OPACITY_VALUE},{n:"strokeOpacity",int:!0,inh:!0,d:"1",syntax:$t.OPACITY_VALUE},{n:"fill",int:!0,k:["none"],d:"none",syntax:$t.PAINT},{n:"fillRule",k:["nonzero","evenodd"],d:"nonzero"},{n:"stroke",int:!0,k:["none"],d:"none",syntax:$t.PAINT,l:!0},{n:"shadowType",k:["inner","outer","both"],d:"outer",l:!0},{n:"shadowColor",int:!0,syntax:$t.COLOR},{n:"shadowOffsetX",int:!0,l:!0,d:"0",syntax:$t.LENGTH_PERCENTAGE},{n:"shadowOffsetY",int:!0,l:!0,d:"0",syntax:$t.LENGTH_PERCENTAGE},{n:"shadowBlur",int:!0,l:!0,d:"0",syntax:$t.SHADOW_BLUR},{n:"lineWidth",int:!0,inh:!0,d:"1",l:!0,a:["strokeWidth"],syntax:$t.LENGTH_PERCENTAGE},{n:"increasedLineWidthForHitTesting",inh:!0,d:"0",l:!0,syntax:$t.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:$t.LENGTH_PERCENTAGE_12},{n:"lineDashOffset",int:!0,inh:!0,d:"0",a:["strokeDashoffset"],syntax:$t.LENGTH_PERCENTAGE},{n:"offsetPath",syntax:$t.DEFINED_PATH},{n:"offsetDistance",int:!0,syntax:$t.OFFSET_DISTANCE},{n:"dx",int:!0,l:!0,d:"0",syntax:$t.LENGTH_PERCENTAGE},{n:"dy",int:!0,l:!0,d:"0",syntax:$t.LENGTH_PERCENTAGE},{n:"zIndex",ind:!0,int:!0,d:"0",k:["auto"],syntax:$t.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:$t.FILTER},{n:"clipPath",syntax:$t.DEFINED_PATH},{n:"textPath",syntax:$t.DEFINED_PATH},{n:"textPathSide",k:["left","right"],d:"left"},{n:"textPathStartOffset",l:!0,d:"0",syntax:$t.LENGTH_PERCENTAGE},{n:"transform",p:100,int:!0,k:["none"],d:"none",syntax:$t.TRANSFORM},{n:"transformOrigin",p:100,d:"0 0",l:!0,syntax:$t.TRANSFORM_ORIGIN},{n:"cx",int:!0,l:!0,d:"0",syntax:$t.COORDINATE},{n:"cy",int:!0,l:!0,d:"0",syntax:$t.COORDINATE},{n:"cz",int:!0,l:!0,d:"0",syntax:$t.COORDINATE},{n:"r",int:!0,l:!0,d:"0",syntax:$t.LENGTH_PERCENTAGE},{n:"rx",int:!0,l:!0,d:"0",syntax:$t.LENGTH_PERCENTAGE},{n:"ry",int:!0,l:!0,d:"0",syntax:$t.LENGTH_PERCENTAGE},{n:"x",int:!0,l:!0,d:"0",syntax:$t.COORDINATE},{n:"y",int:!0,l:!0,d:"0",syntax:$t.COORDINATE},{n:"z",int:!0,l:!0,d:"0",syntax:$t.COORDINATE},{n:"width",int:!0,l:!0,k:["auto","fit-content","min-content","max-content"],d:"0",syntax:$t.LENGTH_PERCENTAGE},{n:"height",int:!0,l:!0,k:["auto","fit-content","min-content","max-content"],d:"0",syntax:$t.LENGTH_PERCENTAGE},{n:"radius",int:!0,l:!0,d:"0",syntax:$t.LENGTH_PERCENTAGE_14},{n:"x1",int:!0,l:!0,syntax:$t.COORDINATE},{n:"y1",int:!0,l:!0,syntax:$t.COORDINATE},{n:"z1",int:!0,l:!0,syntax:$t.COORDINATE},{n:"x2",int:!0,l:!0,syntax:$t.COORDINATE},{n:"y2",int:!0,l:!0,syntax:$t.COORDINATE},{n:"z2",int:!0,l:!0,syntax:$t.COORDINATE},{n:"d",int:!0,l:!0,d:"",syntax:$t.PATH,p:50},{n:"points",int:!0,l:!0,syntax:$t.LIST_OF_POINTS,p:50},{n:"text",l:!0,d:"",syntax:$t.TEXT,p:50},{n:"textTransform",l:!0,inh:!0,k:["capitalize","uppercase","lowercase","none"],d:"none",syntax:$t.TEXT_TRANSFORM,p:51},{n:"font",l:!0},{n:"fontSize",int:!0,inh:!0,d:"16px",l:!0,syntax:$t.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:$t.LENGTH,int:!0,d:"0"},{n:"letterSpacing",l:!0,syntax:$t.LENGTH,int:!0,d:"0"},{n:"miterLimit",l:!0,syntax:$t.NUMBER,d:function(t){return t===It.PATH||t===It.POLYGON||t===It.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:$t.MARKER},{n:"markerEnd",syntax:$t.MARKER},{n:"markerMid",syntax:$t.MARKER},{n:"markerStartOffset",syntax:$t.LENGTH,l:!0,int:!0,d:"0"},{n:"markerEndOffset",syntax:$t.LENGTH,l:!0,int:!0,d:"0"}],MA=new Set(td.filter(function(n){return!!n.l}).map(function(n){return n.n})),Dp={},AA=function(){function n(t){var e=this;(0,C.Z)(this,n),this.runtime=t,td.forEach(function(r){e.registerMetadata(r)})}return(0,S.Z)(n,[{key:"registerMetadata",value:function(e){[e.n].concat((0,N.Z)(e.a||[])).forEach(function(r){Dp[r]=e})}},{key:"getPropertySyntax",value:function(e){return this.runtime.CSSPropertySyntaxFactory[e]}},{key:"processProperties",value:function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{skipUpdateAttribute:!1,skipParse:!1,forceUpdateGeometry:!1,usedAttributes:[],memoize:!0};Object.assign(e.attributes,r);var a=e.parsedStyle.clipPath,s=e.parsedStyle.offsetPath;PA(e,r);var o=!!i.forceUpdateGeometry;if(!o){for(var l in r)if(MA.has(l)){o=!0;break}}var c=Rp(e);c.has("fill")&&r.fill&&(e.parsedStyle.fill=Qo(r.fill)),c.has("stroke")&&r.stroke&&(e.parsedStyle.stroke=Qo(r.stroke)),c.has("shadowColor")&&r.shadowColor&&(e.parsedStyle.shadowColor=Qo(r.shadowColor)),c.has("filter")&&r.filter&&(e.parsedStyle.filter=QM(r.filter)),c.has("radius")&&!ye(r.radius)&&(e.parsedStyle.radius=mp(r.radius,4)),c.has("lineDash")&&!ye(r.lineDash)&&(e.parsedStyle.lineDash=mp(r.lineDash,"even")),c.has("points")&&r.points&&(e.parsedStyle.points=uA(r.points)),c.has("d")&&r.d===""&&(e.parsedStyle.d=(0,z.Z)({},qg)),c.has("d")&&r.d&&(e.parsedStyle.d=Tp(r.d)),c.has("textTransform")&&r.textTransform&&this.runtime.CSSPropertySyntaxFactory[$t.TEXT_TRANSFORM].calculator(null,null,{value:r.textTransform},e,null),c.has("clipPath")&&!Te(r.clipPath)&&this.runtime.CSSPropertySyntaxFactory[$t.DEFINED_PATH].calculator("clipPath",a,r.clipPath,e,this.runtime),c.has("offsetPath")&&r.offsetPath&&this.runtime.CSSPropertySyntaxFactory[$t.DEFINED_PATH].calculator("offsetPath",s,r.offsetPath,e,this.runtime),c.has("transform")&&r.transform&&(e.parsedStyle.transform=Np(r.transform)),c.has("transformOrigin")&&r.transformOrigin&&(e.parsedStyle.transformOrigin=wA(r.transformOrigin)),c.has("markerStart")&&r.markerStart&&(e.parsedStyle.markerStart=this.runtime.CSSPropertySyntaxFactory[$t.MARKER].calculator(null,r.markerStart,r.markerStart,null,null)),c.has("markerEnd")&&r.markerEnd&&(e.parsedStyle.markerEnd=this.runtime.CSSPropertySyntaxFactory[$t.MARKER].calculator(null,r.markerEnd,r.markerEnd,null,null)),c.has("markerMid")&&r.markerMid&&(e.parsedStyle.markerMid=this.runtime.CSSPropertySyntaxFactory[$t.MARKER].calculator("",r.markerMid,r.markerMid,null,null)),c.has("zIndex")&&!ye(r.zIndex)&&this.runtime.CSSPropertySyntaxFactory[$t.Z_INDEX].postProcessor(e),c.has("offsetDistance")&&!ye(r.offsetDistance)&&this.runtime.CSSPropertySyntaxFactory[$t.OFFSET_DISTANCE].postProcessor(e),c.has("transform")&&r.transform&&this.runtime.CSSPropertySyntaxFactory[$t.TRANSFORM].postProcessor(e),c.has("transformOrigin")&&r.transformOrigin&&this.runtime.CSSPropertySyntaxFactory[$t.TRANSFORM_ORIGIN].postProcessor(e),o&&(e.geometry.dirty=!0,e.dirty(!0,!0),i.forceUpdateGeometry||this.runtime.sceneGraphService.dirtyToRoot(e))}},{key:"updateGeometry",value:function(e){var r=e.nodeName,i=this.runtime.geometryUpdaterFactory[r];if(i){var a=e.geometry;a.contentBounds||(a.contentBounds=new pn),a.renderBounds||(a.renderBounds=new pn);var s=e.parsedStyle,o=i.update(s,e),l=o.cx,c=l===void 0?0:l,u=o.cy,h=u===void 0?0:u,f=o.cz,d=f===void 0?0:f,v=o.hwidth,g=v===void 0?0:v,p=o.hheight,y=p===void 0?0:p,b=o.hdepth,M=b===void 0?0:b,O=[Math.abs(g),Math.abs(y),M],k=s.stroke,D=s.lineWidth,j=D===void 0?1:D,B=s.increasedLineWidthForHitTesting,W=B===void 0?0:B,V=s.shadowType,q=V===void 0?"outer":V,$=s.shadowColor,ot=s.filter,ct=ot===void 0?[]:ot,vt=s.transformOrigin,Ct=[c,h,d];a.contentBounds.update(Ct,O);var Ot=r===It.POLYLINE||r===It.POLYGON||r===It.PATH?Math.SQRT2:.5,mt=k&&!k.isNone;if(mt){var yt=((j||0)+(W||0))*Ot;O[0]+=yt,O[1]+=yt}if(a.renderBounds.update(Ct,O),$&&q&&q!=="inner"){var Lt=a.renderBounds,Zt=Lt.min,Ut=Lt.max,ee=s.shadowBlur,ae=s.shadowOffsetX,he=s.shadowOffsetY,ce=ee||0,Ee=ae||0,Ce=he||0,Ze=Zt[0]-ce+Ee,Ve=Ut[0]+ce+Ee,or=Zt[1]-ce+Ce,Qe=Ut[1]+ce+Ce;Zt[0]=Math.min(Zt[0],Ze),Ut[0]=Math.max(Ut[0],Ve),Zt[1]=Math.min(Zt[1],or),Ut[1]=Math.max(Ut[1],Qe),a.renderBounds.setMinMax(Zt,Ut)}ct.forEach(function(dr){var Pa=dr.name,wr=dr.params;if(Pa==="blur"){var Jr=wr[0].value;a.renderBounds.update(a.renderBounds.center,_t(a.renderBounds.halfExtents,a.renderBounds.halfExtents,[Jr,Jr,0]))}else if(Pa==="drop-shadow"){var ze=wr[0].value,Je=wr[1].value,je=wr[2].value,Ye=a.renderBounds,en=Ye.min,pe=Ye.max,Ue=en[0]-je+ze,qe=pe[0]+je+ze,er=en[1]-je+Je,$e=pe[1]+je+Je;en[0]=Math.min(en[0],Ue),pe[0]=Math.max(pe[0],qe),en[1]=Math.min(en[1],er),pe[1]=Math.max(pe[1],$e),a.renderBounds.setMinMax(en,pe)}}),e.geometry.dirty=!1;var ui=g<0,Nr=y<0,rs=(ui?-1:1)*(vt?$r(vt[0],0,e,!0):0),Er=(Nr?-1:1)*(vt?$r(vt[1],1,e,!0):0);(rs||Er)&&e.setOrigin(rs,Er)}}},{key:"updateSizeAttenuation",value:function(e,r){e.style.isSizeAttenuation?(e.style.rawLineWidth||(e.style.rawLineWidth=e.style.lineWidth),e.style.lineWidth=(e.style.rawLineWidth||1)/r,e.nodeName===It.CIRCLE&&(e.style.rawR||(e.style.rawR=e.style.r),e.style.r=(e.style.rawR||1)/r)):(e.style.rawLineWidth&&(e.style.lineWidth=e.style.rawLineWidth,delete e.style.rawLineWidth),e.nodeName===It.CIRCLE&&e.style.rawR&&(e.style.r=e.style.rawR,delete e.style.rawR))}}])}();function PA(n,t){var e=Rp(n);for(var r in t)e.has(r)&&(n.parsedStyle[r]=t[r])}function Rp(n){return n.constructor.PARSED_STYLE_LIST}var SA=function(){function n(){(0,C.Z)(this,n),this.mixer=Yf}return(0,S.Z)(n,[{key:"calculator",value:function(e,r,i,a){return Vr(i)}}])}(),OA=function(){function n(){(0,C.Z)(this,n)}return(0,S.Z)(n,[{key:"calculator",value:function(e,r,i,a,s){return i instanceof gi&&(i=null),s.sceneGraphService.updateDisplayObjectDependency(e,r,i,a),e==="clipPath"&&a.forEach(function(o){o.childNodes.length===0&&s.sceneGraphService.dirtyToRoot(o)}),i}}])}(),TA=function(){function n(){(0,C.Z)(this,n),this.parser=Qo,this.mixer=GM}return(0,S.Z)(n,[{key:"calculator",value:function(e,r,i,a){return i instanceof gi?i.value==="none"?hp:fp:i}}])}(),CA=function(){function n(){(0,C.Z)(this,n)}return(0,S.Z)(n,[{key:"calculator",value:function(e,r,i){return i instanceof gi?[]:i}}])}();function Ip(n){var t=n.parsedStyle,e=t.fontSize;return ye(e)?null:e}var ed=function(){function n(){(0,C.Z)(this,n),this.mixer=Yf}return(0,S.Z)(n,[{key:"calculator",value:function(e,r,i,a,s){if(ie(i))return i;if(sn.isRelativeUnit(i.unit)){if(i.unit===te.kPercentage)return 0;if(i.unit===te.kEms){if(a.parentNode){var o=Ip(a.parentNode);if(o)return o*=i.value,o}return 0}if(i.unit===te.kRems){var l;if(a!=null&&(l=a.ownerDocument)!==null&&l!==void 0&&l.documentElement){var c=Ip(a.ownerDocument.documentElement);if(c)return c*=i.value,c}return 0}}else return i.value}}])}(),NA=function(){function n(){(0,C.Z)(this,n),this.mixer=xp}return(0,S.Z)(n,[{key:"calculator",value:function(e,r,i){return i.map(function(a){return a.value})}}])}(),kA=function(){function n(){(0,C.Z)(this,n),this.mixer=xp}return(0,S.Z)(n,[{key:"calculator",value:function(e,r,i){return i.map(function(a){return a.value})}}])}(),LA=function(){function n(){(0,C.Z)(this,n)}return(0,S.Z)(n,[{key:"calculator",value:function(e,r,i,a){var s;i instanceof gi&&(i=null);var o=(s=i)===null||s===void 0?void 0:s.cloneNode(!0);return o&&(o.style.isMarker=!0),o}}])}(),DA=function(){function n(){(0,C.Z)(this,n),this.mixer=Yf}return(0,S.Z)(n,[{key:"calculator",value:function(e,r,i){return i.value}}])}(),RA=function(){function n(){(0,C.Z)(this,n),this.mixer=Uf(0,1)}return(0,S.Z)(n,[{key:"calculator",value:function(e,r,i){return i.value}},{key:"postProcessor",value:function(e){var r=e.parsedStyle,i=r.offsetPath,a=r.offsetDistance;if(i){var s=i.nodeName;if(s===It.LINE||s===It.PATH||s===It.POLYLINE){var o=i.getPoint(a);o&&e.setLocalPosition(o.x,o.y)}}}}])}(),IA=function(){function n(){(0,C.Z)(this,n),this.mixer=Uf(0,1)}return(0,S.Z)(n,[{key:"calculator",value:function(e,r,i){return i.value}}])}(),BA=function(){function n(){(0,C.Z)(this,n),this.parser=Tp,this.mixer=cA}return(0,S.Z)(n,[{key:"calculator",value:function(e,r,i){return i instanceof gi&&i.value==="unset"?{absolutePath:[],hasArc:!1,segments:[],polygons:[],polylines:[],curve:null,totalLength:0,rect:new no(0,0,0,0)}:i}}])}(),zA=(0,S.Z)(function n(){(0,C.Z)(this,n),this.mixer=hA}),jA=function(n){function t(){var e;(0,C.Z)(this,t);for(var r=arguments.length,i=new Array(r),a=0;a<r;a++)i[a]=arguments[a];return e=(0,R.Z)(this,t,[].concat(i)),e.mixer=Uf(0,1/0),e}return(0,T.Z)(t,n),(0,S.Z)(t)}(ed),FA=function(){function n(){(0,C.Z)(this,n)}return(0,S.Z)(n,[{key:"calculator",value:function(e,r,i,a){return i instanceof gi?i.value==="unset"?"":i.value:"".concat(i)}},{key:"postProcessor",value:function(e){e.nodeValue="".concat(e.parsedStyle.text)||""}}])}(),ZA=function(){function n(){(0,C.Z)(this,n)}return(0,S.Z)(n,[{key:"calculator",value:function(e,r,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}}])}(),Hz=function(t){return Object.fromEntries(Object.entries(t).filter(function(e){var r=_slicedToArray(e,2),i=r[1];return i!==void 0}))},nd=new WeakMap;function _A(n,t,e){if(n){var r=typeof n=="string"?document.getElementById(n):n;nd.has(r)&&nd.get(r).destroy(e),nd.set(r,t)}}var rd=typeof window!="undefined"&&typeof window.document!="undefined";function HA(n){return!!n.getAttribute}function GA(n,t){for(var e=0,r=n.length;e<r;){var i=e+r>>>1;Bp(n[i],t)<0?e=i+1:r=i}return e}function Bp(n,t){var e=Number(n.parsedStyle.zIndex||0),r=Number(t.parsedStyle.zIndex||0);if(e===r){var i=n.parentNode;if(i){var a=i.childNodes||[];return a.indexOf(n)-a.indexOf(t)}}return e-r}function zp(n){var t=n;do{var e,r=(e=t.parsedStyle)===null||e===void 0?void 0:e.clipPath;if(r)return t;t=t.parentElement}while(t!==null);return null}var jp="px";function WA(n,t,e){rd&&n.style&&(n.style.width=t+jp,n.style.height=e+jp)}function Fp(n,t){if(rd)return document.defaultView.getComputedStyle(n,null).getPropertyValue(t)}function XA(n){var t=Fp(n,"width");return t==="auto"?n.offsetWidth:parseFloat(t)}function VA(n){var t=Fp(n,"height");return t==="auto"?n.offsetHeight:parseFloat(t)}var YA=1,UA={touchstart:"pointerdown",touchend:"pointerup",touchendoutside:"pointerupoutside",touchmove:"pointermove",touchcancel:"pointercancel"},id=typeof performance=="object"&&performance.now?performance:Date;function xc(n){return n.nodeName===It.FRAGMENT?!0:n.getRootNode().nodeName===It.FRAGMENT}function xs(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"auto",t=arguments.length>1?arguments[1]:void 0,e=arguments.length>2?arguments[2]:void 0,r=!1,i=!1,a=!!t&&!t.isNone,s=!!e&&!e.isNone;return n==="visiblepainted"||n==="painted"||n==="auto"?(r=a,i=s):n==="visiblefill"||n==="fill"?r=!0:n==="visiblestroke"||n==="stroke"?i=!0:(n==="visible"||n==="all")&&(r=!0,i=!0),[r,i]}var KA=1,QA=function(){return KA++},Qi=typeof self=="object"&&self.self===self?self:typeof E.g=="object"&&E.g.global===E.g?E.g:{},JA=Date.now(),qA=function(){return Qi.performance&&typeof Qi.performance.now=="function"?Qi.performance.now():Date.now()-JA},$o={},Zp=Date.now(),$A=function(t){if(typeof t!="function")throw new TypeError("".concat(t," is not a function"));var e=Date.now(),r=e-Zp,i=r>16?0:16-r,a=QA();return $o[a]=t,Object.keys($o).length>1||setTimeout(function(){Zp=e;var s=$o;$o={},Object.keys(s).forEach(function(o){return s[o](qA())})},i),a},tP=function(t){delete $o[t]},eP=["","webkit","moz","ms","o"],_p=function(t){return typeof t!="string"?$A:t===""?Qi.requestAnimationFrame:Qi["".concat(t,"RequestAnimationFrame")]},nP=function(t){return typeof t!="string"?tP:t===""?Qi.cancelAnimationFrame:Qi["".concat(t,"CancelAnimationFrame")]||Qi["".concat(t,"CancelRequestAnimationFrame")]},rP=function(t,e){for(var r=0;t[r]!==void 0;){if(e(t[r]))return t[r];r+=1}},Hp=rP(eP,function(n){return!!_p(n)}),ad=_p(Hp),Gp=nP(Hp);Qi.requestAnimationFrame=ad,Qi.cancelAnimationFrame=Gp;var iP=function(){function n(){(0,C.Z)(this,n),this.callbacks=[]}return(0,S.Z)(n,[{key:"getCallbacksNum",value:function(){return this.callbacks.length}},{key:"tapPromise",value:function(e,r){this.callbacks.push(r)}},{key:"promise",value:function(){for(var e=arguments.length,r=new Array(e),i=0;i<e;i++)r[i]=arguments[i];return Promise.all(this.callbacks.map(function(a){return a.apply(void 0,r)}))}}])}(),aP=function(){function n(){(0,C.Z)(this,n),this.callbacks=[]}return(0,S.Z)(n,[{key:"tapPromise",value:function(e,r){this.callbacks.push(r)}},{key:"promise",value:function(){var t=(0,Da.Z)((0,Sr.Z)().mark(function r(){var i,a,s,o,l=arguments;return(0,Sr.Z)().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(!this.callbacks.length){c.next=6;break}return c.next=1,(i=this.callbacks)[0].apply(i,l);case 1:a=c.sent,s=0;case 2:if(!(s<this.callbacks.length-1)){c.next=5;break}return o=this.callbacks[s],c.next=3,o(a);case 3:a=c.sent;case 4:s++,c.next=2;break;case 5:return c.abrupt("return",a);case 6:return c.abrupt("return",null);case 7:case"end":return c.stop()}},r,this)}));function e(){return t.apply(this,arguments)}return e}()}])}(),Ir=function(){function n(){(0,C.Z)(this,n),this.callbacks=[]}return(0,S.Z)(n,[{key:"tap",value:function(e,r){this.callbacks.push(r)}},{key:"call",value:function(){for(var e=arguments.length,r=new Array(e),i=0;i<e;i++)r[i]=arguments[i];var a=arguments;this.callbacks.forEach(function(s){s.apply(void 0,a)})}}])}(),sd=function(){function n(){(0,C.Z)(this,n),this.callbacks=[]}return(0,S.Z)(n,[{key:"tap",value:function(e,r){this.callbacks.push(r)}},{key:"call",value:function(){for(var e=arguments.length,r=new Array(e),i=0;i<e;i++)r[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}}])}(),sP=["serif","sans-serif","monospace","cursive","fantasy","system-ui"],oP=/([\"\'])[^\'\"]+\1/;function Wp(n){var t=n.fontSize,e=t===void 0?16:t,r=n.fontFamily,i=r===void 0?"sans-serif":r,a=n.fontStyle,s=a===void 0?"normal":a,o=n.fontVariant,l=o===void 0?"normal":o,c=n.fontWeight,u=c===void 0?"normal":c;return{fontSize:e,fontFamily:i,fontStyle:s,fontVariant:l,fontWeight:u}}var Xp=Zn(function(t){for(var e=Wp(t),r=e.fontSize,i=e.fontFamily,a=e.fontStyle,s=e.fontVariant,o=e.fontWeight,l=ie(r)&&"".concat(r,"px")||"16px",c=i.split(","),u=c.length-1;u>=0;u--){var h=c[u].trim();!oP.test(h)&&sP.indexOf(h)<0&&(h='"'.concat(h,'"')),c[u]=h}return"".concat(a," ").concat(s," ").concat(o," ").concat(l," ").concat(c.join(","))},function(n){var t=Wp(n),e=t.fontSize,r=t.fontFamily,i=t.fontStyle,a=t.fontVariant,s=t.fontWeight;return"".concat(i,"_").concat(a,"_").concat(s,"_").concat(e,"_").concat(r)}),lP=1e-6,tl=function(t){return Math.max(t,lP)};function od(n,t,e){return ge(n),n[4]=Math.tan(t),n[1]=Math.tan(e),n}var _n=Gt(),cP=Gt(),uP={scale:function(t){gn(_n,[t[0].value,t[1].value,1].map(function(e){return tl(e)}))},scaleX:function(t){gn(_n,[t[0].value,1,1].map(function(e){return tl(e)}))},scaleY:function(t){gn(_n,[1,t[0].value,1].map(function(e){return tl(e)}))},scaleZ:function(t){gn(_n,[1,1,t[0].value].map(function(e){return tl(e)}))},scale3d:function(t){gn(_n,[t[0].value,t[1].value,t[2].value].map(function(e){return tl(e)}))},translate:function(t){Un(_n,[t[0].value,t[1].value,0])},translateX:function(t){Un(_n,[t[0].value,0,0])},translateY:function(t){Un(_n,[0,t[0].value,0])},translateZ:function(t){Un(_n,[0,0,t[0].value])},translate3d:function(t){Un(_n,[t[0].value,t[1].value,t[2].value])},rotate:function(t){jn(_n,rn(Vr(t[0])))},rotateX:function(t){di(_n,rn(Vr(t[0])))},rotateY:function(t){Fe(_n,rn(Vr(t[0])))},rotateZ:function(t){jn(_n,rn(Vr(t[0])))},rotate3d:function(t){qr(_n,rn(Vr(t[3])),[t[0].value,t[1].value,t[2].value])},skew:function(t){od(_n,rn(t[0].value),rn(t[1].value))},skewX:function(t){od(_n,rn(t[0].value),0)},skewY:function(t){od(_n,0,rn(t[0].value))},matrix:function(t){cn(_n,t[0].value,t[1].value,0,0,t[2].value,t[3].value,0,0,0,0,1,0,t[4].value,t[5].value,0,1)},matrix3d:function(t){cn.apply(P,[_n].concat((0,N.Z)(t.map(function(e){return e.value}))))}},hP=xt(1,1,1),fP=pt(),Vp={translate:function(t,e){Xt.sceneGraphService.setLocalScale(t,hP,!1),Xt.sceneGraphService.setLocalEulerAngles(t,fP,void 0,void 0,!1),Xt.sceneGraphService.setLocalPosition(t,[e[0].value,e[1].value,0],!1),Xt.sceneGraphService.dirtyLocalTransform(t,t.transformable)}};function Yp(n,t){if(n.length){if(n.length===1&&Vp[n[0].t]){Vp[n[0].t](t,n[0].d);return}for(var e=ge(cP),r=0;r<n.length;r++){var i=n[r],a=i.t,s=i.d,o=uP[a];o&&(o(s),lg(e,e,_n))}t.setLocalTransform(e)}else t.resetLocalTransform();return t.getLocalTransform()}var dP=function(){function n(){(0,C.Z)(this,n),this.parser=fA,this.mixer=EA}return(0,S.Z)(n,[{key:"calculator",value:function(e,r,i,a){return i instanceof gi?[]:i}},{key:"postProcessor",value:function(e){Yp(e.parsedStyle.transform,e)}}])}(),vP=function(){function n(){(0,C.Z)(this,n)}return(0,S.Z)(n,[{key:"postProcessor",value:function(e){var r=e.parsedStyle.transformOrigin;r[0].unit===te.kPixels&&r[1].unit===te.kPixels?e.setOrigin(r[0].value,r[1].value):e.getGeometryBounds()}}])}(),gP=function(){function n(){(0,C.Z)(this,n)}return(0,S.Z)(n,[{key:"calculator",value:function(e,r,i,a){return i.value}},{key:"postProcessor",value:function(e){if(e.parentNode){var r=e.parentNode,i=r.renderable,a=r.sortable;i&&r.dirty(),a&&(a.dirty=!0,a.dirtyReason=lc.Z_INDEX_CHANGED)}}}])}(),pP=function(){function n(){(0,C.Z)(this,n)}return(0,S.Z)(n,[{key:"update",value:function(e,r){var i=e.cx,a=i===void 0?0:i,s=e.cy,o=s===void 0?0:s,l=e.r,c=l===void 0?0:l;return{cx:a,cy:o,hwidth:c,hheight:c}}}])}(),mP=function(){function n(){(0,C.Z)(this,n)}return(0,S.Z)(n,[{key:"update",value:function(e,r){var i=e.cx,a=i===void 0?0:i,s=e.cy,o=s===void 0?0:s,l=e.rx,c=l===void 0?0:l,u=e.ry,h=u===void 0?0:u;return{cx:a,cy:o,hwidth:c,hheight:h}}}])}(),yP=function(){function n(){(0,C.Z)(this,n)}return(0,S.Z)(n,[{key:"update",value:function(e){var r=e.x1,i=e.y1,a=e.x2,s=e.y2,o=Math.min(r,a),l=Math.max(r,a),c=Math.min(i,s),u=Math.max(i,s),h=l-o,f=u-c,d=h/2,v=f/2;return{cx:o+d,cy:c+v,hwidth:d,hheight:v}}}])}(),bP=function(){function n(){(0,C.Z)(this,n)}return(0,S.Z)(n,[{key:"update",value:function(e){var r=e.d,i=r.rect,a=i.x,s=i.y,o=i.width,l=i.height,c=o/2,u=l/2;return{cx:a+c,cy:s+u,hwidth:c,hheight:u}}}])}(),xP=function(){function n(){(0,C.Z)(this,n)}return(0,S.Z)(n,[{key:"update",value:function(e){if(e.points&&Gr(e.points.points)){var r=e.points.points,i=Math.min.apply(Math,(0,N.Z)(r.map(function(f){return f[0]}))),a=Math.max.apply(Math,(0,N.Z)(r.map(function(f){return f[0]}))),s=Math.min.apply(Math,(0,N.Z)(r.map(function(f){return f[1]}))),o=Math.max.apply(Math,(0,N.Z)(r.map(function(f){return f[1]}))),l=a-i,c=o-s,u=l/2,h=c/2;return{cx:i+u,cy:s+h,hwidth:u,hheight:h}}return{cx:0,cy:0,hwidth:0,hheight:0}}}])}(),EP=function(){function n(){(0,C.Z)(this,n)}return(0,S.Z)(n,[{key:"update",value:function(e,r){var i=e.x,a=i===void 0?0:i,s=e.y,o=s===void 0?0:s,l=e.src,c=e.width,u=c===void 0?0:c,h=e.height,f=h===void 0?0:h,d=u,v=f;return l&&!We(l)&&(d||(d=l.width,e.width=d),v||(v=l.height,e.height=v)),{cx:a+d/2,cy:o+v/2,hwidth:d/2,hheight:v/2}}}])}(),wP=function(){function n(t){(0,C.Z)(this,n),this.globalRuntime=t}return(0,S.Z)(n,[{key:"isReadyToMeasure",value:function(e,r){var i=e.text;return i}},{key:"update",value:function(e,r){var i,a=e.text,s=e.textAlign,o=s===void 0?"start":s,l=e.lineWidth,c=l===void 0?1:l,u=e.textBaseline,h=u===void 0?"alphabetic":u,f=e.dx,d=f===void 0?0:f,v=e.dy,g=v===void 0?0:v,p=e.x,y=p===void 0?0:p,b=e.y,M=b===void 0?0:b;if(!this.isReadyToMeasure(e,r))return e.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=(r==null||(i=r.ownerDocument)===null||i===void 0||(i=i.defaultView)===null||i===void 0?void 0:i.getConfig())||{},k=O.offscreenCanvas,D=this.globalRuntime.textService.measureText(a,e,k);e.metrics=D;var j=D.width,B=D.height,W=j/2,V=B/2,q=y+W;o==="center"||o==="middle"?q+=c/2-W:(o==="right"||o==="end")&&(q+=c-W*2);var $=M-V;return h==="middle"?$+=V:h==="top"||h==="hanging"?$+=V*2:h==="alphabetic"||(h==="bottom"||h==="ideographic")&&($+=0),d&&(q+=d),g&&($+=g),{cx:q,cy:$,hwidth:W,hheight:V}}}])}(),MP=function(){function n(){(0,C.Z)(this,n)}return(0,S.Z)(n,[{key:"update",value:function(e,r){return{cx:0,cy:0,hwidth:0,hheight:0}}}])}(),AP=function(){function n(){(0,C.Z)(this,n)}return(0,S.Z)(n,[{key:"update",value:function(e,r){var i=e.x,a=i===void 0?0:i,s=e.y,o=s===void 0?0:s,l=e.width,c=l===void 0?0:l,u=e.height,h=u===void 0?0:u;return{cx:a+c/2,cy:o+h/2,hwidth:c/2,hheight:h/2}}}])}();function Gz(n){return!!n.type}var Ec=function(){function n(t){(0,C.Z)(this,n),this.eventPhase=n.prototype.NONE,this.bubbles=!0,this.cancelBubble=!0,this.cancelable=!1,this.defaultPrevented=!1,this.propagationStopped=!1,this.propagationImmediatelyStopped=!1,this.layer=new vr,this.page=new vr,this.canvas=new vr,this.viewport=new vr,this.composed=!1,this.NONE=0,this.CAPTURING_PHASE=1,this.AT_TARGET=2,this.BUBBLING_PHASE=3,this.manager=t}return(0,S.Z)(n,[{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(nn)}}])}(),Up=function(n){function t(){var e;(0,C.Z)(this,t);for(var r=arguments.length,i=new Array(r),a=0;a<r;a++)i[a]=arguments[a];return e=(0,R.Z)(this,t,[].concat(i)),e.client=new vr,e.movement=new vr,e.offset=new vr,e.global=new vr,e.screen=new vr,e}return(0,T.Z)(t,n),(0,S.Z)(t,[{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(r){return"getModifierState"in this.nativeEvent&&this.nativeEvent.getModifierState(r)}},{key:"initMouseEvent",value:function(){throw new Error(nn)}}])}(Ec),wc=function(n){function t(){var e;(0,C.Z)(this,t);for(var r=arguments.length,i=new Array(r),a=0;a<r;a++)i[a]=arguments[a];return e=(0,R.Z)(this,t,[].concat(i)),e.width=0,e.height=0,e.isPrimary=!1,e}return(0,T.Z)(t,n),(0,S.Z)(t,[{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)}}])}(Up),ld=function(n){function t(){return(0,C.Z)(this,t),(0,R.Z)(this,t,arguments)}return(0,T.Z)(t,n),(0,S.Z)(t,[{key:"clone",value:function(){return this.manager.cloneWheelEvent(this)}}])}(Up),Qn=function(n){function t(e,r){var i;return(0,C.Z)(this,t),i=(0,R.Z)(this,t,[null]),i.type=e,i.detail=r,Object.assign(i,r),i}return(0,T.Z)(t,n),(0,S.Z)(t)}(Ec),Kp=function(){function n(){(0,C.Z)(this,n),this.emitter=new I}return(0,S.Z)(n,[{key:"on",value:function(e,r,i){return this.addEventListener(e,r,i),this}},{key:"addEventListener",value:function(e,r,i){var a=!1,s=!1;if(Go(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&&(e+="capture"),r=de(r)?r:r.handleEvent;var c=de(r)?void 0:r;return s?this.emitter.once(e,r,c):this.emitter.on(e,r,c),this}},{key:"off",value:function(e,r,i){return e?this.removeEventListener(e,r,i):this.removeAllEventListeners(),this}},{key:"removeAllEventListeners",value:function(){var e;(e=this.emitter)===null||e===void 0||e.removeAllListeners()}},{key:"removeEventListener",value:function(e,r,i){var a;if(!this.emitter)return this;var s=Go(i)?i:i==null?void 0:i.capture;s&&(e+="capture"),r=de(r)?r:(a=r)===null||a===void 0?void 0:a.handleEvent;var o=de(r)?void 0:r;return this.emitter.off(e,r,o),this}},{key:"emit",value:function(e,r){this.dispatchEvent(new Qn(e,r))}},{key:"dispatchEventToSelf",value:function(e){e.target||(e.target=this),e.currentTarget=this,this.emitter.emit(e.type,e)}},{key:"dispatchEvent",value:function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,i=arguments.length>2?arguments[2]:void 0;if(i)return this.dispatchEventToSelf(e),!0;var a;if(this.document)a=this;else if(this.defaultView)a=this.defaultView;else{var s;a=(s=this.ownerDocument)===null||s===void 0?void 0:s.defaultView}if(a){if(e.manager=a.getEventService(),!e.manager)return!1;e.defaultPrevented=!1,e.path?e.path.length=0:e.page=[],r||(e.target=this),e.manager.dispatchEvent(e,e.type,r)}else this.dispatchEventToSelf(e);return!e.defaultPrevented}}])}(),On=function(n){function t(){var e;(0,C.Z)(this,t);for(var r=arguments.length,i=new Array(r),a=0;a<r;a++)i[a]=arguments[a];return e=(0,R.Z)(this,t,[].concat(i)),e.shadow=!1,e.ownerDocument=null,e.isConnected=!1,e.baseURI="",e.childNodes=[],e.nodeType=0,e.nodeName="",e.nodeValue=null,e.parentNode=null,e.destroyed=!1,e}return(0,T.Z)(t,n),(0,S.Z)(t,[{key:"textContent",get:function(){var r="";this.nodeName===It.TEXT&&(r+=this.style.text);var i=(0,ds.Z)(this.childNodes),a;try{for(i.s();!(a=i.n()).done;){var s=a.value;s.nodeName===It.TEXT?r+=s.nodeValue:r+=s.textContent}}catch(o){i.e(o)}finally{i.f()}return r},set:function(r){var i=this;this.childNodes.slice().forEach(function(a){i.removeChild(a)}),this.nodeName===It.TEXT&&(this.style.text="".concat(r))}},{key:"getRootNode",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.parentNode?this.parentNode.getRootNode(r):r.composed&&this.host?this.host.getRootNode(r):this}},{key:"hasChildNodes",value:function(){return this.childNodes.length>0}},{key:"isDefaultNamespace",value:function(r){throw new Error(nn)}},{key:"lookupNamespaceURI",value:function(r){throw new Error(nn)}},{key:"lookupPrefix",value:function(r){throw new Error(nn)}},{key:"normalize",value:function(){throw new Error(nn)}},{key:"isEqualNode",value:function(r){return this===r}},{key:"isSameNode",value:function(r){return this.isEqualNode(r)}},{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(r){if(r===this)return 0;for(var i=r,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 t.DOCUMENT_POSITION_DISCONNECTED|t.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC|t.DOCUMENT_POSITION_PRECEDING;var c=s.length>o.length?s:o,u=c===s?o:s;if(c[c.length-u.length]===u[0])return c===s?t.DOCUMENT_POSITION_CONTAINED_BY|t.DOCUMENT_POSITION_FOLLOWING:t.DOCUMENT_POSITION_CONTAINS|t.DOCUMENT_POSITION_PRECEDING;for(var h=c.length-u.length,f=u.length-1;f>=0;f--){var d=u[f],v=c[h+f];if(v!==d){var g=d.parentNode.childNodes;return g.indexOf(d)<g.indexOf(v)?u===s?t.DOCUMENT_POSITION_PRECEDING:t.DOCUMENT_POSITION_FOLLOWING:c===s?t.DOCUMENT_POSITION_PRECEDING:t.DOCUMENT_POSITION_FOLLOWING}}return t.DOCUMENT_POSITION_FOLLOWING}},{key:"contain",value:function(r){return this.contains(r)}},{key:"contains",value:function(r){for(var i=r;i&&this!==i;)i=i.parentNode;return!!i}},{key:"getAncestor",value:function(r){for(var i=this;r>0&&i;)i=i.parentNode,r--;return i}},{key:"forEach",value:function(r){for(var i=[this];i.length>0;){var a=i.pop(),s=r(a);if(s===!1)break;for(var o=a.childNodes.length-1;o>=0;o--)i.push(a.childNodes[o])}}}],[{key:"isNode",value:function(r){return!!r.childNodes}}])}(Kp);On.DOCUMENT_POSITION_DISCONNECTED=1,On.DOCUMENT_POSITION_PRECEDING=2,On.DOCUMENT_POSITION_FOLLOWING=4,On.DOCUMENT_POSITION_CONTAINS=8,On.DOCUMENT_POSITION_CONTAINED_BY=16,On.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC=32;var PP=2048,SP=function(){function n(t,e){var r=this;(0,C.Z)(this,n),this.nativeHTMLMap=new WeakMap,this.cursor="default",this.mappingTable={},this.mappingState={trackingData:{}},this.eventPool=new Map,this.tmpMatrix=Gt(),this.tmpVec3=pt(),this.onPointerDown=function(i){var a=r.createPointerEvent(i);if(r.dispatchEvent(a,"pointerdown"),a.pointerType==="touch")r.dispatchEvent(a,"touchstart");else if(a.pointerType==="mouse"||a.pointerType==="pen"){var s=a.button===2;r.dispatchEvent(a,s?"rightdown":"mousedown")}var o=r.trackingData(i.pointerId);o.pressTargetsByButton[i.button]=a.composedPath(),r.freeEvent(a)},this.onPointerUp=function(i){var a=id.now(),s=r.createPointerEvent(i,void 0,void 0,r.context.config.alwaysTriggerPointerEventOnCanvas?r.rootTarget:void 0);if(r.dispatchEvent(s,"pointerup"),s.pointerType==="touch")r.dispatchEvent(s,"touchend");else if(s.pointerType==="mouse"||s.pointerType==="pen"){var o=s.button===2;r.dispatchEvent(s,o?"rightup":"mouseup")}var l=r.trackingData(i.pointerId),c=r.findMountedTarget(l.pressTargetsByButton[i.button]),u=c;if(c&&!s.composedPath().includes(c)){for(var h=c;h&&!s.composedPath().includes(h);){if(s.currentTarget=h,r.notifyTarget(s,"pointerupoutside"),s.pointerType==="touch")r.notifyTarget(s,"touchendoutside");else if(s.pointerType==="mouse"||s.pointerType==="pen"){var f=s.button===2;r.notifyTarget(s,f?"rightupoutside":"mouseupoutside")}On.isNode(h)&&(h=h.parentNode)}delete l.pressTargetsByButton[i.button],u=h}if(u){var d,v=r.clonePointerEvent(s,"click");v.target=u,v.path=[],l.clicksByButton[i.button]||(l.clicksByButton[i.button]={clickCount:0,target:v.target,timeStamp:a});var g=r.context.renderingContext.root.ownerDocument.defaultView,p=l.clicksByButton[i.button];p.target===v.target&&a-p.timeStamp<g.getConfig().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||(!r.context.config.useNativeClickEvent&&(v.pointerType==="mouse"||v.pointerType==="touch")&&r.dispatchEvent(v,"click"),r.dispatchEvent(v,"pointertap")),r.freeEvent(v)}r.freeEvent(s)},this.onPointerMove=function(i){var a=r.createPointerEvent(i,void 0,void 0,r.context.config.alwaysTriggerPointerEventOnCanvas?r.rootTarget:void 0),s=a.pointerType==="mouse"||a.pointerType==="pen",o=r.trackingData(i.pointerId),l=r.findMountedTarget(o.overTargets);if(o.overTargets&&l!==a.target){var c=i.type==="mousemove"?"mouseout":"pointerout",u=r.createPointerEvent(i,c,l||void 0);if(r.dispatchEvent(u,"pointerout"),s&&r.dispatchEvent(u,"mouseout"),!a.composedPath().includes(l)){var h=r.createPointerEvent(i,"pointerleave",l||void 0);for(h.eventPhase=h.AT_TARGET;h.target&&!a.composedPath().includes(h.target);)h.currentTarget=h.target,r.notifyTarget(h),s&&r.notifyTarget(h,"mouseleave"),On.isNode(h.target)&&(h.target=h.target.parentNode);r.freeEvent(h)}r.freeEvent(u)}if(l!==a.target){var f=i.type==="mousemove"?"mouseover":"pointerover",d=r.clonePointerEvent(a,f);r.dispatchEvent(d,"pointerover"),s&&r.dispatchEvent(d,"mouseover");for(var v=l&&On.isNode(l)&&l.parentNode;v&&v!==(On.isNode(r.rootTarget)&&r.rootTarget.parentNode)&&v!==a.target;)v=v.parentNode;var g=!v||v===(On.isNode(r.rootTarget)&&r.rootTarget.parentNode);if(g){var p=r.clonePointerEvent(a,"pointerenter");for(p.eventPhase=p.AT_TARGET;p.target&&p.target!==l&&p.target!==(On.isNode(r.rootTarget)&&r.rootTarget.parentNode);)p.currentTarget=p.target,r.notifyTarget(p),s&&r.notifyTarget(p,"mouseenter"),On.isNode(p.target)&&(p.target=p.target.parentNode);r.freeEvent(p)}r.freeEvent(d)}r.dispatchEvent(a,"pointermove"),a.pointerType==="touch"&&r.dispatchEvent(a,"touchmove"),s&&(r.dispatchEvent(a,"mousemove"),r.cursor=r.getCursor(a.target)),o.overTargets=a.composedPath(),r.freeEvent(a)},this.onPointerOut=function(i){var a=r.trackingData(i.pointerId);if(a.overTargets){var s=i.pointerType==="mouse"||i.pointerType==="pen",o=r.findMountedTarget(a.overTargets),l=r.createPointerEvent(i,"pointerout",o||void 0);r.dispatchEvent(l),s&&r.dispatchEvent(l,"mouseout");var c=r.createPointerEvent(i,"pointerleave",o||void 0);for(c.eventPhase=c.AT_TARGET;c.target&&c.target!==(On.isNode(r.rootTarget)&&r.rootTarget.parentNode);)c.currentTarget=c.target,r.notifyTarget(c),s&&r.notifyTarget(c,"mouseleave"),On.isNode(c.target)&&(c.target=c.target.parentNode);a.overTargets=null,r.freeEvent(l),r.freeEvent(c)}r.cursor=null},this.onPointerOver=function(i){var a=r.trackingData(i.pointerId),s=r.createPointerEvent(i),o=s.pointerType==="mouse"||s.pointerType==="pen";r.dispatchEvent(s,"pointerover"),o&&r.dispatchEvent(s,"mouseover"),s.pointerType==="mouse"&&(r.cursor=r.getCursor(s.target));var l=r.clonePointerEvent(s,"pointerenter");for(l.eventPhase=l.AT_TARGET;l.target&&l.target!==(On.isNode(r.rootTarget)&&r.rootTarget.parentNode);)l.currentTarget=l.target,r.notifyTarget(l),o&&r.notifyTarget(l,"mouseenter"),On.isNode(l.target)&&(l.target=l.target.parentNode);a.overTargets=s.composedPath(),r.freeEvent(s),r.freeEvent(l)},this.onPointerUpOutside=function(i){var a=r.trackingData(i.pointerId),s=r.findMountedTarget(a.pressTargetsByButton[i.button]),o=r.createPointerEvent(i);if(s){for(var l=s;l;)o.currentTarget=l,r.notifyTarget(o,"pointerupoutside"),o.pointerType==="touch"||(o.pointerType==="mouse"||o.pointerType==="pen")&&r.notifyTarget(o,o.button===2?"rightupoutside":"mouseupoutside"),On.isNode(l)&&(l=l.parentNode);delete a.pressTargetsByButton[i.button]}r.freeEvent(o)},this.onWheel=function(i){var a=r.createWheelEvent(i);r.dispatchEvent(a),r.freeEvent(a)},this.onClick=function(i){if(r.context.config.useNativeClickEvent){var a=r.createPointerEvent(i);r.dispatchEvent(a),r.freeEvent(a)}},this.onPointerCancel=function(i){var a=r.createPointerEvent(i,void 0,void 0,r.context.config.alwaysTriggerPointerEventOnCanvas?r.rootTarget:void 0);r.dispatchEvent(a),r.freeEvent(a)},this.globalRuntime=t,this.context=e}return(0,S.Z)(n,[{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.mappingTable={},this.mappingState={},this.eventPool.clear()}},{key:"getScale",value:function(){var e=this.context.contextService.getBoundingClientRect(),r=1,i=1,a=this.context.contextService.getDomElement();if(a&&e){var s=a.offsetWidth,o=a.offsetHeight;s&&o&&(r=e.width/s,i=e.height/o)}return{scaleX:r,scaleY:i,bbox:e}}},{key:"client2Viewport",value:function(e){var r=this.getScale(),i=r.scaleX,a=r.scaleY,s=r.bbox;return new vr((e.x-((s==null?void 0:s.left)||0))/i,(e.y-((s==null?void 0:s.top)||0))/a)}},{key:"viewport2Client",value:function(e){var r=this.getScale(),i=r.scaleX,a=r.scaleY,s=r.bbox;return new vr((e.x+((s==null?void 0:s.left)||0))*i,(e.y+((s==null?void 0:s.top)||0))*a)}},{key:"viewport2Canvas",value:function(e){var r=e.x,i=e.y,a=this.rootTarget.defaultView,s=a.getCamera(),o=this.context.config,l=o.width,c=o.height,u=s.getPerspectiveInverse(),h=s.getWorldTransform(),f=qt(this.tmpMatrix,h,u),d=Bt(this.tmpVec3,r/l*2-1,(1-i/c)*2-1,0);return re(d,d,f),new vr(d[0],d[1])}},{key:"canvas2Viewport",value:function(e){var r=this.rootTarget.defaultView,i=r.getCamera(),a=i.getPerspective(),s=i.getViewTransform(),o=qt(this.tmpMatrix,a,s),l=Bt(this.tmpVec3,e.x,e.y,0);re(this.tmpVec3,this.tmpVec3,o);var c=this.context.config,u=c.width,h=c.height;return new vr((l[0]+1)/2*u,(1-(l[1]+1)/2)*h)}},{key:"setPickHandler",value:function(e){this.pickHandler=e}},{key:"addEventMapping",value:function(e,r){this.mappingTable[e]||(this.mappingTable[e]=[]),this.mappingTable[e].push({fn:r,priority:0}),this.mappingTable[e].sort(function(i,a){return i.priority-a.priority})}},{key:"mapEvent",value:function(e){if(this.rootTarget){var r=this.mappingTable[e.type];if(r)for(var i=0,a=r.length;i<a;i++)r[i].fn(e);else console.warn("[EventService]: Event mapping not defined for ".concat(e.type))}}},{key:"dispatchEvent",value:function(e,r,i){if(!i)e.propagationStopped=!1,e.propagationImmediatelyStopped=!1,this.propagate(e,r);else{e.eventPhase=e.AT_TARGET;var a=this.rootTarget.defaultView||null;e.currentTarget=a,this.notifyListeners(e,r)}}},{key:"propagate",value:function(e,r){if(e.target){var i=e.composedPath();e.eventPhase=e.CAPTURING_PHASE;for(var a=i.length-1;a>=1;a--)if(e.currentTarget=i[a],this.notifyTarget(e,r),e.propagationStopped||e.propagationImmediatelyStopped)return;if(e.eventPhase=e.AT_TARGET,e.currentTarget=e.target,this.notifyTarget(e,r),!(e.propagationStopped||e.propagationImmediatelyStopped)){var s=i.indexOf(e.currentTarget);e.eventPhase=e.BUBBLING_PHASE;for(var o=s+1;o<i.length;o++)if(e.currentTarget=i[o],this.notifyTarget(e,r),e.propagationStopped||e.propagationImmediatelyStopped)return}}}},{key:"propagationPath",value:function(e){var r=[e],i=this.rootTarget.defaultView||null;if(i&&i===e)return r.unshift(i.document),r;for(var a=0;a<PP&&e!==this.rootTarget;a++)On.isNode(e)&&e.parentNode&&(r.push(e.parentNode),e=e.parentNode);return i&&r.push(i),r}},{key:"hitTest",value:function(e){var r=e.viewportX,i=e.viewportY,a=this.context.config,s=a.width,o=a.height,l=a.disableHitTesting;return r<0||i<0||r>s||i>o?null:!l&&this.pickHandler(e)||this.rootTarget||null}},{key:"isNativeEventFromCanvas",value:function(e,r){var i,a=r==null?void 0:r.target;if((i=a)!==null&&i!==void 0&&i.shadowRoot&&(a=r.composedPath()[0]),a){if(a===e)return!0;if(e&&e.contains)return e.contains(a)}return r!=null&&r.composedPath?r.composedPath().indexOf(e)>-1:!1}},{key:"getExistedHTML",value:function(e){if(e.nativeEvent.composedPath)for(var r=0,i=e.nativeEvent.composedPath();r<i.length;r++){var a=i[r],s=this.nativeHTMLMap.get(a);if(s)return s}return null}},{key:"pickTarget",value:function(e){return this.hitTest({clientX:e.clientX,clientY:e.clientY,viewportX:e.viewportX,viewportY:e.viewportY,x:e.canvasX,y:e.canvasY})}},{key:"createPointerEvent",value:function(e,r,i,a){var s=this.allocateEvent(wc);this.copyPointerData(e,s),this.copyMouseData(e,s),this.copyData(e,s),s.nativeEvent=e.nativeEvent,s.originalEvent=e;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 r=="string"&&(s.type=r),s}},{key:"createWheelEvent",value:function(e){var r=this.allocateEvent(ld);this.copyWheelData(e,r),this.copyMouseData(e,r),this.copyData(e,r),r.nativeEvent=e.nativeEvent,r.originalEvent=e;var i=this.getExistedHTML(r),a=this.context.contextService.getDomElement();return r.target=i||this.isNativeEventFromCanvas(a,r.nativeEvent)&&this.pickTarget(r),r}},{key:"trackingData",value:function(e){return this.mappingState.trackingData[e]||(this.mappingState.trackingData[e]={pressTargetsByButton:{},clicksByButton:{},overTarget:null}),this.mappingState.trackingData[e]}},{key:"cloneWheelEvent",value:function(e){var r=this.allocateEvent(ld);return r.nativeEvent=e.nativeEvent,r.originalEvent=e.originalEvent,this.copyWheelData(e,r),this.copyMouseData(e,r),this.copyData(e,r),r.target=e.target,r.path=e.composedPath().slice(),r.type=e.type,r}},{key:"clonePointerEvent",value:function(e,r){var i=this.allocateEvent(wc);return i.nativeEvent=e.nativeEvent,i.originalEvent=e.originalEvent,this.copyPointerData(e,i),this.copyMouseData(e,i),this.copyData(e,i),i.target=e.target,i.path=e.composedPath().slice(),i.type=r!=null?r:i.type,i}},{key:"copyPointerData",value:function(e,r){r.pointerId=e.pointerId,r.width=e.width,r.height=e.height,r.isPrimary=e.isPrimary,r.pointerType=e.pointerType,r.pressure=e.pressure,r.tangentialPressure=e.tangentialPressure,r.tiltX=e.tiltX,r.tiltY=e.tiltY,r.twist=e.twist}},{key:"copyMouseData",value:function(e,r){r.altKey=e.altKey,r.button=e.button,r.buttons=e.buttons,r.ctrlKey=e.ctrlKey,r.metaKey=e.metaKey,r.shiftKey=e.shiftKey,r.client.copyFrom(e.client),r.movement.copyFrom(e.movement),r.canvas.copyFrom(e.canvas),r.screen.copyFrom(e.screen),r.global.copyFrom(e.global),r.offset.copyFrom(e.offset)}},{key:"copyWheelData",value:function(e,r){r.deltaMode=e.deltaMode,r.deltaX=e.deltaX,r.deltaY=e.deltaY,r.deltaZ=e.deltaZ}},{key:"copyData",value:function(e,r){r.isTrusted=e.isTrusted,r.timeStamp=id.now(),r.type=e.type,r.detail=e.detail,r.view=e.view,r.page.copyFrom(e.page),r.viewport.copyFrom(e.viewport)}},{key:"allocateEvent",value:function(e){this.eventPool.has(e)||this.eventPool.set(e,[]);var r=this.eventPool.get(e).pop()||new e(this);return r.eventPhase=r.NONE,r.currentTarget=null,r.path=[],r.target=null,r}},{key:"freeEvent",value:function(e){if(e.manager!==this)throw new Error("It is illegal to free an event not managed by this EventBoundary!");var r=e.constructor;this.eventPool.has(r)||this.eventPool.set(r,[]),this.eventPool.get(r).push(e)}},{key:"notifyTarget",value:function(e,r){r=r!=null?r:e.type;var i=e.eventPhase===e.CAPTURING_PHASE||e.eventPhase===e.AT_TARGET?"".concat(r,"capture"):r;this.notifyListeners(e,i),e.eventPhase===e.AT_TARGET&&this.notifyListeners(e,r)}},{key:"notifyListeners",value:function(e,r){var i=e.currentTarget.emitter,a=i._events[r];if(a)if("fn"in a)a.once&&i.removeListener(r,a.fn,void 0,!0),a.fn.call(e.currentTarget||a.context,e);else for(var s=0;s<a.length&&!e.propagationImmediatelyStopped;s++)a[s].once&&i.removeListener(r,a[s].fn,void 0,!0),a[s].fn.call(e.currentTarget||a[s].context,e)}},{key:"findMountedTarget",value:function(e){if(!e)return null;for(var r=e[e.length-1],i=e.length-2;i>=0;i--){var a=e[i];if(a===this.rootTarget||On.isNode(a)&&a.parentNode===r)r=e[i];else break}return r}},{key:"getCursor",value:function(e){for(var r=e;r;){var i=HA(r)&&r.getAttribute("cursor");if(i)return i;r=On.isNode(r)&&r.parentNode}}}])}(),cd=function(){function n(){(0,C.Z)(this,n)}return(0,S.Z)(n,[{key:"getOrCreateCanvas",value:function(e,r){if(this.canvas)return this.canvas;if(e||Xt.offscreenCanvas)this.canvas=e||Xt.offscreenCanvas,this.context=this.canvas.getContext("2d",(0,z.Z)({willReadFrequently:!0},r));else try{this.canvas=new window.OffscreenCanvas(0,0),this.context=this.canvas.getContext("2d",(0,z.Z)({willReadFrequently:!0},r)),(!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",(0,z.Z)({willReadFrequently:!0},r))}return this.canvas.width=10,this.canvas.height=10,this.canvas}},{key:"getOrCreateContext",value:function(e,r){return this.context?this.context:(this.getOrCreateCanvas(e,r),this.context)}}],[{key:"createCanvas",value:function(){try{return new window.OffscreenCanvas(0,0)}catch(e){}try{return document.createElement("canvas")}catch(e){}return null}}])}(),lo=function(n){return n[n.CAMERA_CHANGED=0]="CAMERA_CHANGED",n[n.DISPLAY_OBJECT_CHANGED=1]="DISPLAY_OBJECT_CHANGED",n[n.NONE=2]="NONE",n}({}),OP=function(){function n(t,e){(0,C.Z)(this,n),this.inited=!1,this.stats={total:0,rendered:0},this.zIndexCounter=0,this.hooks={init:new Ir,initAsync:new iP,dirtycheck:new sd,cull:new sd,beginFrame:new Ir,beforeRender:new Ir,render:new Ir,afterRender:new Ir,endFrame:new Ir,destroy:new Ir,pick:new aP,pickSync:new sd,pointerDown:new Ir,pointerUp:new Ir,pointerMove:new Ir,pointerOut:new Ir,pointerOver:new Ir,pointerWheel:new Ir,pointerCancel:new Ir,click:new Ir},this.globalRuntime=t,this.context=e}return(0,S.Z)(n,[{key:"init",value:function(e){var r=this,i=(0,z.Z)((0,z.Z)({},this.globalRuntime),this.context);this.context.renderingPlugins.forEach(function(a){a.apply(i,r.globalRuntime)}),this.hooks.init.call(),this.hooks.initAsync.getCallbacksNum()===0?(this.inited=!0,e()):this.hooks.initAsync.promise().then(function(){r.inited=!0,e()}).catch(function(a){})}},{key:"getStats",value:function(){return this.stats}},{key:"disableDirtyRectangleRendering",value:function(){var e=this.context.config.renderer,r=e.getConfig(),i=r.enableDirtyRectangleRendering;return!i||this.context.renderingContext.renderReasons.has(lo.CAMERA_CHANGED)}},{key:"render",value:function(e,r,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(lo.CAMERA_CHANGED),l=!e.disableRenderHooks||!o;l&&this.renderDisplayObject(s.root,e,s),this.hooks.beginFrame.call(r),l&&s.renderListCurrentFrame.forEach(function(c){a.hooks.beforeRender.call(c),a.hooks.render.call(c),a.hooks.afterRender.call(c)}),this.hooks.endFrame.call(r),s.renderListCurrentFrame=[],s.renderReasons.clear(),i()}}},{key:"renderDisplayObject",value:function(e,r,i){var a=this,s=r.renderer.getConfig(),o=s.enableDirtyCheck,l=s.enableCulling;function c(g){var p=g.renderable,y=g.sortable,b=o?p.dirty||i.dirtyRectangleRenderingDisabled?g:null:g,M=null;b&&(M=l?a.hooks.cull.call(b,a.context.camera):b,M&&(a.stats.rendered+=1,i.renderListCurrentFrame.push(M))),g.dirty(!1),y.renderOrder=a.zIndexCounter,a.zIndexCounter+=1,a.stats.total+=1,y.dirty&&(a.sort(g,y),y.dirty=!1,y.dirtyChildren=[],y.dirtyReason=void 0)}for(var u=[e];u.length>0;){var h,f=u.pop();c(f);for(var d=((h=f.sortable)===null||h===void 0||(h=h.sorted)===null||h===void 0?void 0:h.length)>0?f.sortable.sorted:f.childNodes,v=d.length-1;v>=0;v--)u.push(d[v])}}},{key:"sort",value:function(e,r){var i,a;(r==null||(i=r.sorted)===null||i===void 0?void 0:i.length)>0&&r.dirtyReason!==lc.Z_INDEX_CHANGED?r.dirtyChildren.forEach(function(s){var o=r.sorted.indexOf(s);o>-1&&r.sorted.splice(o,1);var l=e.childNodes.indexOf(s);if(l>-1)if(r.sorted.length===0)r.sorted.push(s);else{var c=GA(r.sorted,s);r.sorted.splice(c,0,s)}}):r.sorted=e.childNodes.slice().sort(Bp),((a=r.sorted)===null||a===void 0?void 0:a.length)>0&&e.childNodes.filter(function(s){return s.parsedStyle.zIndex}).length===0&&(r.sorted=[])}},{key:"destroy",value:function(){this.inited=!1,this.hooks.destroy.call(),this.globalRuntime.sceneGraphService.clearPendingEvents()}},{key:"dirtify",value:function(){this.context.renderingContext.renderReasons.add(lo.DISPLAY_OBJECT_CHANGED)}}])}(),TP=/\[\s*(.*)=(.*)\s*\]/,CP=function(){function n(){(0,C.Z)(this,n)}return(0,S.Z)(n,[{key:"selectOne",value:function(e,r){var i=this;if(e.startsWith("."))return r.find(function(l){return((l==null?void 0:l.classList)||[]).indexOf(i.getIdOrClassname(e))>-1});if(e.startsWith("#"))return r.find(function(l){return l.id===i.getIdOrClassname(e)});if(e.startsWith("[")){var a=this.getAttribute(e),s=a.name,o=a.value;return s?r.find(function(l){return r!==l&&(s==="name"?l.name===o:i.attributeToString(l,s)===o)}):null}return r.find(function(l){return r!==l&&l.nodeName===e})}},{key:"selectAll",value:function(e,r){var i=this;if(e.startsWith("."))return r.findAll(function(l){return r!==l&&((l==null?void 0:l.classList)||[]).indexOf(i.getIdOrClassname(e))>-1});if(e.startsWith("#"))return r.findAll(function(l){return r!==l&&l.id===i.getIdOrClassname(e)});if(e.startsWith("[")){var a=this.getAttribute(e),s=a.name,o=a.value;return s?r.findAll(function(l){return r!==l&&(s==="name"?l.name===o:i.attributeToString(l,s)===o)}):[]}return r.findAll(function(l){return r!==l&&l.nodeName===e})}},{key:"is",value:function(e,r){if(e.startsWith("."))return r.className===this.getIdOrClassname(e);if(e.startsWith("#"))return r.id===this.getIdOrClassname(e);if(e.startsWith("[")){var i=this.getAttribute(e),a=i.name,s=i.value;return a==="name"?r.name===s:this.attributeToString(r,a)===s}return r.nodeName===e}},{key:"getIdOrClassname",value:function(e){return e.substring(1)}},{key:"getAttribute",value:function(e){var r=e.match(TP),i="",a="";return r&&r.length>2&&(i=r[1].replace(/"/g,""),a=r[2].replace(/"/g,"")),{name:i,value:a}}},{key:"attributeToString",value:function(e,r){if(!e.getAttribute)return"";var i=e.getAttribute(r);return ye(i)?"":i.toString?i.toString():""}}])}(),Ie=function(n){return n.ATTR_MODIFIED="DOMAttrModified",n.INSERTED="DOMNodeInserted",n.MOUNTED="DOMNodeInsertedIntoDocument",n.REMOVED="removed",n.UNMOUNTED="DOMNodeRemovedFromDocument",n.REPARENT="reparent",n.DESTROY="destroy",n.BOUNDS_CHANGED="bounds-changed",n.CULLED="culled",n}({}),Ji=function(n){function t(e,r,i,a,s,o,l,c){var u;return(0,C.Z)(this,t),u=(0,R.Z)(this,t,[null]),u.relatedNode=r,u.prevValue=i,u.newValue=a,u.attrName=s,u.attrChange=o,u.prevParsedValue=l,u.newParsedValue=c,u.type=e,u}return(0,T.Z)(t,n),(0,S.Z)(t)}(Ec);Ji.ADDITION=2,Ji.MODIFICATION=1,Ji.REMOVAL=3;var NP=new Ji(Ie.REPARENT,null,"","","",0,"",""),kP=Sf(),Mc=pt(),LP=xt(1,1,1),DP=Gt(),RP=Sf(),Es=pt(),IP=Gt(),ws=Kn(),BP=pt(),zP=Kn(),jP=pt(),el=pt(),Ms=pt(),Ac=Gt(),Qp=Kn(),Jp=Kn(),Pc=Kn(),Sc={affectChildren:!0},FP=function(){function n(t){(0,C.Z)(this,n),this.pendingEvents=new Map,this.boundsChangedEvent=new Qn(Ie.BOUNDS_CHANGED),this.displayObjectDependencyMap=new WeakMap,this.runtime=t}return(0,S.Z)(n,[{key:"matches",value:function(e,r){return this.runtime.sceneGraphSelector.is(e,r)}},{key:"querySelector",value:function(e,r){return this.runtime.sceneGraphSelector.selectOne(e,r)}},{key:"querySelectorAll",value:function(e,r){return this.runtime.sceneGraphSelector.selectAll(e,r)}},{key:"attach",value:function(e,r,i){var a,s=!1;e.parentNode&&(s=e.parentNode!==r,this.detach(e));var o=e.nodeName===It.FRAGMENT,l=xc(r);e.parentNode=r;var c=o?e.childNodes:[e];ie(i)?c.forEach(function(g){r.childNodes.splice(i,0,g),g.parentNode=r}):c.forEach(function(g){r.childNodes.push(g),g.parentNode=r});var u=r,h=u.sortable;if((h!=null&&(a=h.sorted)!==null&&a!==void 0&&a.length||h.dirty||e.parsedStyle.zIndex)&&(h.dirtyChildren.indexOf(e)===-1&&h.dirtyChildren.push(e),h.dirty=!0,h.dirtyReason=lc.ADDED),!l){if(o)this.dirtifyFragment(e);else{var f=e.transformable;f&&this.dirtyWorldTransform(e,f)}if(s){var d,v=((d=r.ownerDocument)===null||d===void 0||(d=d.defaultView)===null||d===void 0||(d=d.getConfig())===null||d===void 0||(d=d.future)===null||d===void 0?void 0:d.experimentalCancelEventPropagation)===!0;e.dispatchEvent(NP,v,v)}}}},{key:"detach",value:function(e){var r,i;if(e.parentNode){var a=e.transformable,s=e.parentNode,o=s.sortable;(o!=null&&(r=o.sorted)!==null&&r!==void 0&&r.length||(i=e.style)!==null&&i!==void 0&&i.zIndex)&&(o.dirtyChildren.indexOf(e)===-1&&o.dirtyChildren.push(e),o.dirty=!0,o.dirtyReason=lc.REMOVED);var l=e.parentNode.childNodes.indexOf(e);l>-1&&e.parentNode.childNodes.splice(l,1),a&&this.dirtyWorldTransform(e,a),e.parentNode=null}}},{key:"getLocalPosition",value:function(e){return e.transformable.localPosition}},{key:"getLocalRotation",value:function(e){return e.transformable.localRotation}},{key:"getLocalScale",value:function(e){return e.transformable.localScale}},{key:"getLocalSkew",value:function(e){return e.transformable.localSkew}},{key:"getLocalTransform",value:function(e){var r=e.transformable;return Jg(r),r.localTransform}},{key:"setLocalPosition",value:function(e,r){var i,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,s=e.transformable;el[0]=r[0],el[1]=r[1],el[2]=(i=r[2])!==null&&i!==void 0?i:0,!ua(s.localPosition,el)&&(Nt(s.localPosition,el),a&&this.dirtyLocalTransform(e,s))}},{key:"translateLocal",value:function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof r=="number"&&(r=xt(r,i,a));var s=e.transformable;ua(r,Mc)||(cr(r,r,s.localRotation),_t(s.localPosition,s.localPosition,r),this.dirtyLocalTransform(e,s))}},{key:"setLocalRotation",value:function(e,r,i,a,s){var o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;typeof r=="number"&&(r=ug(ws,r,i,a,s));var l=e.transformable;Jl(l.localRotation,r),o&&this.dirtyLocalTransform(e,l)}},{key:"rotateLocal",value:function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof r=="number"&&(r=xt(r,i,a));var s=e.transformable;Ql(Jp,r[0],r[1],r[2]),hg(s.localRotation,s.localRotation,Jp),this.dirtyLocalTransform(e,s)}},{key:"setLocalScale",value:function(e,r){var i,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,s=e.transformable;Bt(Es,r[0],r[1],(i=r[2])!==null&&i!==void 0?i:s.localScale[2]),!ua(Es,s.localScale)&&(Nt(s.localScale,Es),a&&this.dirtyLocalTransform(e,s))}},{key:"scaleLocal",value:function(e,r){var i,a=e.transformable;me(a.localScale,a.localScale,Bt(Es,r[0],r[1],(i=r[2])!==null&&i!==void 0?i:1)),this.dirtyLocalTransform(e,a)}},{key:"setLocalSkew",value:function(e,r,i){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;typeof r=="number"&&(r=Pw(RP,r,i));var s=e.transformable;Aw(s.localSkew,r),a&&this.dirtyLocalTransform(e,s)}},{key:"setLocalEulerAngles",value:function(e,r){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 r=="number"&&(r=xt(r,i,a));var o=e.transformable;Ql(o.localRotation,r[0],r[1],r[2]),s&&this.dirtyLocalTransform(e,o)}},{key:"setLocalTransform",value:function(e,r){var i=Sn(BP,r),a=qs(zP,r),s=Ca(jP,r);this.setLocalScale(e,s,!1),this.setLocalPosition(e,i,!1),this.setLocalRotation(e,a,void 0,void 0,void 0,!1),this.dirtyLocalTransform(e,e.transformable)}},{key:"resetLocalTransform",value:function(e){this.setLocalScale(e,LP,!1),this.setLocalPosition(e,Mc,!1),this.setLocalEulerAngles(e,Mc,void 0,void 0,!1),this.setLocalSkew(e,kP,void 0,!1),this.dirtyLocalTransform(e,e.transformable)}},{key:"getPosition",value:function(e){var r=e.transformable;return Sn(r.position,this.getWorldTransform(e,r))}},{key:"getRotation",value:function(e){var r=e.transformable;return qs(r.rotation,this.getWorldTransform(e,r))}},{key:"getScale",value:function(e){var r=e.transformable;return Ca(r.scaling,this.getWorldTransform(e,r))}},{key:"getOrigin",value:function(e){return e.getGeometryBounds(),e.transformable.origin}},{key:"getWorldTransform",value:function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e.transformable;return!r.localDirtyFlag&&!r.dirtyFlag||(e.parentNode&&e.parentNode.transformable&&this.getWorldTransform(e.parentNode),this.internalUpdateTransform(e)),r.worldTransform}},{key:"setPosition",value:function(e,r){var i,a=e.transformable;if(Ms[0]=r[0],Ms[1]=r[1],Ms[2]=(i=r[2])!==null&&i!==void 0?i:0,!ua(this.getPosition(e),Ms)){if(Nt(a.position,Ms),e.parentNode===null||!e.parentNode.transformable)Nt(a.localPosition,Ms);else{var s=e.parentNode.transformable;we(Ac,s.worldTransform),_e(Ac,Ac),re(a.localPosition,Ms,Ac)}this.dirtyLocalTransform(e,a)}}},{key:"translate",value:function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof r=="number"&&(r=Bt(Es,r,i,a)),!ua(r,Mc)&&(_t(Es,this.getPosition(e),r),this.setPosition(e,Es))}},{key:"setRotation",value:function(e,r,i,a,s){var o=e.transformable;if(typeof r=="number"&&(r=Ew(r,i,a,s)),e.parentNode===null||!e.parentNode.transformable)this.setLocalRotation(e,r);else{var l=this.getRotation(e.parentNode);Jl(ws,l),Pf(ws,ws),ka(o.localRotation,ws,r),ql(o.localRotation,o.localRotation),this.dirtyLocalTransform(e,o)}}},{key:"rotate",value:function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof r=="number"&&(r=xt(r,i,a));var s=e.transformable;if(e.parentNode===null||!e.parentNode.transformable)this.rotateLocal(e,r);else{var o=ws;Ql(o,r[0],r[1],r[2]);var l=this.getRotation(e),c=this.getRotation(e.parentNode);Jl(Pc,c),Pf(Pc,Pc),ka(o,Pc,o),ka(s.localRotation,o,l),ql(s.localRotation,s.localRotation),this.dirtyLocalTransform(e,s)}}},{key:"setOrigin",value:function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof r=="number"&&(r=[r,i,a]);var s=e.transformable;if(!(r[0]===s.origin[0]&&r[1]===s.origin[1]&&r[2]===s.origin[2])){var o=s.origin;o[0]=r[0],o[1]=r[1],o[2]=r[2]||0,this.dirtyLocalTransform(e,s)}}},{key:"setEulerAngles",value:function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof r=="number"&&(r=xt(r,i,a));var s=e.transformable;if(e.parentNode===null||!e.parentNode.transformable)this.setLocalEulerAngles(e,r);else{Ql(s.localRotation,r[0],r[1],r[2]);var o=this.getRotation(e.parentNode);Jl(Qp,Pf(ws,o)),hg(s.localRotation,s.localRotation,Qp),this.dirtyLocalTransform(e,s)}}},{key:"getTransformedGeometryBounds",value:function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,i=arguments.length>2?arguments[2]:void 0,a=this.getGeometryBounds(e,r);if(!pn.isEmpty(a)){var s=i||new pn;return s.setFromTransformedAABB(a,this.getWorldTransform(e)),s}return null}},{key:"getGeometryBounds",value:function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,i=e,a=i.geometry;a.dirty&&Xt.styleValueRegistry.updateGeometry(e);var s=r?a.renderBounds:a.contentBounds||null;return s||new pn}},{key:"getBounds",value:function(e){var r=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a=e,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(e,i,o),c=e.childNodes;if(c.forEach(function(f){var d=r.getBounds(f,i);d&&(l?l.add(d):(l=o||new pn,l.update(d.center,d.halfExtents)))}),l||(l=new pn),i){var u=zp(e);if(u){var h=u.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(e){if(e.parentNode){var r=DP;e.parentNode.transformable&&(r=_e(IP,this.getWorldTransform(e.parentNode)));var i=this.getBounds(e);if(!pn.isEmpty(i)){var a=new pn;return a.setFromTransformedAABB(i,r),a}}return this.getBounds(e)}},{key:"getBoundingClientRect",value:function(e){var r,i,a=this.getGeometryBounds(e);pn.isEmpty(a)||(i=new pn,i.setFromTransformedAABB(a,this.getWorldTransform(e)));var s=(r=e.ownerDocument)===null||r===void 0||(r=r.defaultView)===null||r===void 0?void 0:r.getContextService().getBoundingClientRect();if(i){var o=i.getMin(),l=(0,L.Z)(o,2),c=l[0],u=l[1],h=i.getMax(),f=(0,L.Z)(h,2),d=f[0],v=f[1];return new no(c+((s==null?void 0:s.left)||0),u+((s==null?void 0:s.top)||0),d-c,v-u)}return new no((s==null?void 0:s.left)||0,(s==null?void 0:s.top)||0,0,0)}},{key:"internalUpdateTransform",value:function(e){var r,i=(r=e.parentNode)===null||r===void 0?void 0:r.transformable;Jg(e.transformable),nM(e.transformable,i)}},{key:"internalUpdateElement",value:function(e,r){var i,a,s,o,l=((i=e.ownerDocument)===null||i===void 0||(i=i.defaultView)===null||i===void 0||(i=i.getConfig())===null||i===void 0||(i=i.future)===null||i===void 0?void 0:i.experimentalAttributeUpdateOptimization)===!0,c=r[r.length-1],u=(c==null?void 0:c.transformDirty)||((a=e.transformable)===null||a===void 0?void 0:a.localDirtyFlag);if(e.transformable){var h;(h=e.transformable).dirtyFlag||(h.dirtyFlag=u)}if(this.internalUpdateTransform(e),u){var f;(f=e.dirty)===null||f===void 0||f.call(e,!0,!0)}var d=((s=e.renderable)===null||s===void 0?void 0:s.boundsDirty)||((o=e.renderable)===null||o===void 0?void 0:o.renderBoundsDirty);if((u||d)&&(c==null?void 0:c.shapeUpdated)===!1&&l)for(var v=r.length-1;v>=0;){var g,p,y=r[v];if(y.shapeUpdated)break;(g=(p=y.node).dirty)===null||g===void 0||g.call(p,!0,!0),y.shapeUpdated=!0,v-=1}return u}},{key:"syncHierarchy",value:function(e){for(var r,i,a=[e],s=e.parentNode?[{node:e.parentNode,transformDirty:((r=e.parentNode.transformable)===null||r===void 0?void 0:r.localDirtyFlag)||((i=e.parentNode.transformable)===null||i===void 0?void 0:i.dirtyFlag),shapeUpdated:!1}]:[];a.length>0;){for(var o=a.pop(),l=s[s.length-1];s.length>0&&o.parentNode!==l.node;)l=s.pop();var c=this.internalUpdateElement(o,s);if(o.childNodes.length>0){for(var u=o.childNodes.length-1;u>=0;u--)a.push(o.childNodes[u]);s.push({node:o,transformDirty:c,shapeUpdated:!1})}}}},{key:"dirtyLocalTransform",value:function(e,r){xc(e)||r.localDirtyFlag||(r.localDirtyFlag=!0,r.dirtyFlag||this.dirtyWorldTransform(e,r))}},{key:"dirtyWorldTransform",value:function(e,r){this.dirtifyWorldInternal(e,r),this.dirtyToRoot(e,!0)}},{key:"dirtifyWorldInternal",value:function(e,r){var i,a=this,s=((i=e.ownerDocument)===null||i===void 0||(i=i.defaultView)===null||i===void 0||(i=i.getConfig())===null||i===void 0||(i=i.future)===null||i===void 0?void 0:i.experimentalAttributeUpdateOptimization)===!0;r.dirtyFlag||(r.dirtyFlag=!0,e.dirty(!0,!0),s||e.childNodes.forEach(function(o){var l=o.transformable;a.dirtifyWorldInternal(o,l)}))}},{key:"dirtyToRoot",value:function(e){for(var r,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a=e,s=((r=e.ownerDocument)===null||r===void 0||(r=r.defaultView)===null||r===void 0||(r=r.getConfig())===null||r===void 0||(r=r.future)===null||r===void 0?void 0:r.experimentalAttributeUpdateOptimization)===!0;a;){var o,l;if((o=(l=a).dirty)===null||o===void 0||o.call(l,!0,!0),s)break;a=a.parentNode}i&&e.forEach(function(c){var u;(u=c.dirty)===null||u===void 0||u.call(c,!0,!0)}),this.informDependentDisplayObjects(e),this.pendingEvents.set(e,i)}},{key:"dirtifyFragment",value:function(e){var r,i,a=e.transformable;a&&(a.dirtyFlag=!0,a.localDirtyFlag=!0),(r=(i=e).dirty)===null||r===void 0||r.call(i,!0,!0);for(var s=e.childNodes.length,o=0;o<s;o++)this.dirtifyFragment(e.childNodes[o]);e.nodeName===It.FRAGMENT&&this.pendingEvents.set(e,!1)}},{key:"triggerPendingEvents",value:function(){var e=this,r=new Set,i,a,s=function(l,c){if(!(!l.isConnected||r.has(l)||l.nodeName===It.FRAGMENT)){if(e.boundsChangedEvent.detail=c,e.boundsChangedEvent.target=l,l.isMutationObserved)l.dispatchEvent(e.boundsChangedEvent);else{if(i===void 0){var u;i=((u=l.ownerDocument.defaultView)===null||u===void 0||(u=u.getConfig())===null||u===void 0||(u=u.future)===null||u===void 0?void 0:u.experimentalCancelEventPropagation)===!0}l.ownerDocument.defaultView.dispatchEvent(e.boundsChangedEvent,!0,i)}r.add(l)}};this.pendingEvents.forEach(function(o,l){if(l.nodeName!==It.FRAGMENT){if(a===void 0){var c;a=((c=l.ownerDocument)===null||c===void 0||(c=c.defaultView)===null||c===void 0||(c=c.getConfig())===null||c===void 0||(c=c.future)===null||c===void 0?void 0:c.experimentalAttributeUpdateOptimization)===!0}Sc.affectChildren=o,a?s(l,Sc):o?l.forEach(function(u){s(u,Sc)}):s(l,Sc)}}),r.clear(),this.clearPendingEvents()}},{key:"clearPendingEvents",value:function(){this.pendingEvents.clear()}},{key:"updateDisplayObjectDependency",value:function(e,r,i,a){if(r&&r!==i){var s=this.displayObjectDependencyMap.get(r);if(s&&s[e]){var o=s[e].indexOf(a);s[e].splice(o,1)}}if(i){var l=this.displayObjectDependencyMap.get(i);l||(this.displayObjectDependencyMap.set(i,{}),l=this.displayObjectDependencyMap.get(i)),l[e]||(l[e]=[]),l[e].push(a)}}},{key:"informDependentDisplayObjects",value:function(e){var r,i=this,a=this.displayObjectDependencyMap.get(e);if(a){var s=(r=e.ownerDocument)===null||r===void 0||(r=r.defaultView)===null||r===void 0||(r=r.getConfig())===null||r===void 0||(r=r.future)===null||r===void 0?void 0:r.experimentalCancelEventPropagation;Object.keys(a).forEach(function(o){a[o].forEach(function(l){i.dirtyToRoot(l,!0),l.dispatchEvent(new Ji(Ie.ATTR_MODIFIED,l,i,i,o,Ji.MODIFICATION,i,i),s,s),l.isCustomElement&&l.isConnected&&l.attributeChangedCallback&&l.attributeChangedCallback(o,i,i)})})}}}])}(),qp=function(){function n(t){if((0,C.Z)(this,n),t<=0)throw new Error("LRU capacity must be a positive number.");this.capacity=t,this.cache=new Map}return(0,S.Z)(n,[{key:"get",value:function(e){if(this.cache.has(e)){var r=this.cache.get(e);return this.cache.delete(e),this.cache.set(e,r),r}}},{key:"put",value:function(e,r){if(this.cache.has(e)&&this.cache.delete(e),this.cache.set(e,r),this.cache.size>this.capacity){var i=this.cache.keys().next().value;this.cache.delete(i)}}},{key:"len",value:function(){return this.cache.size}},{key:"clear",value:function(){this.cache.clear()}}])}(),As={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]},$p=/[a-zA-Z0-9\u00C0-\u00D6\u00D8-\u00f6\u00f8-\u00ff!"#$%&'()*+,-./:;]/,ZP=/[!%),.:;?\]}¢°·'""†‡›℃∶、。〃〆〕〗〞﹚﹜!"%'),.:;?!]}~]/,_P=/[$(£¥·'"〈《「『【〔〖〝﹙﹛$(.[{£¥]/,HP=/[!),.:;?\]}¢·–—'"•"、。〆〞〕〉》」︰︱︲︳﹐﹑﹒﹓﹔﹕﹖﹘﹚﹜!),.:;?︶︸︺︼︾﹀﹂﹗]|}、]/,GP=/[([{£¥'"‵〈《「『〔〝︴﹙﹛({︵︷︹︻︽︿﹁﹃﹏]/,WP=/[)\]}〕〉》」』】〙〗〟'"⦆»ヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻‐゠–〜?!‼⁇⁈⁉・、:;,。.]/,XP=/[([{〔〈《「『【〘〖〝'"⦅«—...‥〳〴〵]/,VP=/[!%),.:;?\]}¢°'"†‡℃〆〈《「『〕!%),.:;?]}]/,YP=/[$([{£¥'"々〇〉》」〔$([{⦆¥₩#]/,UP=new RegExp("".concat(ZP.source,"|").concat(HP.source,"|").concat(WP.source,"|").concat(VP.source)),KP=new RegExp("".concat(_P.source,"|").concat(GP.source,"|").concat(XP.source,"|").concat(YP.source)),QP=function(){function n(t){var e=this;(0,C.Z)(this,n),this.fontMetricsCache={},this.shouldBreakByKinsokuShorui=function(r,i){return e.isBreakingSpace(i)?!1:!!(r&&(KP.exec(i)||UP.exec(r)))},this.trimByKinsokuShorui=function(r){var i=(0,N.Z)(r),a=i[i.length-2];if(!a)return r;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=t,this.charWidthCache=new qp(100)}return(0,S.Z)(n,[{key:"measureFont",value:function(e,r){if(this.fontMetricsCache[e])return this.fontMetricsCache[e];var i={ascent:0,descent:0,fontSize:0},a=this.runtime.offscreenCanvasCreator.getOrCreateCanvas(r),s=this.runtime.offscreenCanvasCreator.getOrCreateContext(r,{willReadFrequently:!0});s.font=e;var o=As.MetricsString+As.BaselineSymbol,l=Math.ceil(s.measureText(o).width),c=Math.ceil(s.measureText(As.BaselineSymbol).width),u=As.HeightMultiplier*c;c=c*As.BaselineMultiplier|0,a.width=l,a.height=u,s.fillStyle="#f00",s.fillRect(0,0,l,u),s.font=e,s.textBaseline="alphabetic",s.fillStyle="#000",s.fillText(o,0,c);var h=s.getImageData(0,0,l||1,u||1).data,f=h.length,d=l*4,v=0,g=0,p=!1;for(v=0;v<c;++v){for(var y=0;y<d;y+=4)if(h[g+y]!==255){p=!0;break}if(!p)g+=d;else break}for(i.ascent=c-v,g=f-d,p=!1,v=u;v>c;--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-c,i.fontSize=i.ascent+i.descent,this.fontMetricsCache[e]=i,i}},{key:"measureText",value:function(e,r,i){var a=r.fontSize,s=a===void 0?16:a,o=r.wordWrap,l=o===void 0?!1:o,c=r.lineHeight,u=r.lineWidth,h=u===void 0?1:u,f=r.textBaseline,d=f===void 0?"alphabetic":f,v=r.textAlign,g=v===void 0?"start":v,p=r.letterSpacing,y=p===void 0?0:p,b=r.textPath;r.textPathSide,r.textPathStartOffset;var M=r.leading,O=M===void 0?0:M,k=Xp(r),D=this.measureFont(k,i);D.fontSize===0&&(D.fontSize=s,D.ascent=s);var j=this.runtime.offscreenCanvasCreator.getOrCreateContext(i);j.font=k,r.isOverflowing=!1;var B=l?this.wordWrap(e,r,i):e,W=B.split(/(?:\r\n|\r|\n)/),V=new Array(W.length),q=0;if(b){b.getTotalLength();for(var $=0;$<W.length;$++)j.measureText(W[$]).width+(W[$].length-1)*y}else{for(var ot=0;ot<W.length;ot++){var ct=j.measureText(W[ot]).width+(W[ot].length-1)*y;V[ot]=ct,q=Math.max(q,ct)}var vt=q+h,Ct=c||D.fontSize+h,Ot=Math.max(Ct,D.fontSize+h)+(W.length-1)*(Ct+O);Ct+=O;var mt=0;return d==="middle"?mt=-Ot/2:d==="bottom"||d==="alphabetic"||d==="ideographic"?mt=-Ot:(d==="top"||d==="hanging")&&(mt=0),{font:k,width:vt,height:Ot,lines:W,lineWidths:V,lineHeight:Ct,maxLineWidth:q,fontProperties:D,lineMetrics:V.map(function(yt,Lt){var Zt=0;return g==="center"||g==="middle"?Zt-=yt/2:(g==="right"||g==="end")&&(Zt-=yt),new no(Zt-h/2,mt+Lt*Ct,yt+h,Ct)})}}}},{key:"wordWrap",value:function(e,r,i){var a=this,s=Array.from(e);if(s.length===0)return"";var o=this,l=r.wordWrapWidth,c=l===void 0?0:l,u=r.letterSpacing,h=u===void 0?0:u,f=r.maxLines,d=f===void 0?1/0:f,v=r.textOverflow,g=this.runtime.offscreenCanvasCreator.getOrCreateContext(i),p=c+h,y="";v==="ellipsis"?y="...":v&&v!=="clip"&&(y=v);var b=[""],M=0,O=0,k=-1,D=Xp(r),j=this.charWidthCache.get(D);j||(j=new qp(500),this.charWidthCache.put(D,j));var B=function(yt){return a.getFromCache(yt,h,j,g)},W=B(y);function V(mt,yt,Lt,Zt){for(;B(mt)<Zt&&yt<s.length-1&&!o.isNewline(s[yt+1]);)yt+=1,mt+=s[yt];for(;B(mt)>Zt&&yt>=Lt;)yt-=1,mt=mt.slice(0,-1);return{lineTxt:mt,txtLastCharIndex:yt}}function q(mt,yt){if(!(W<=0||W>p)){if(!b[mt]){b[mt]=y;return}var Lt=V(b[mt],yt,k+1,p-W);b[mt]=Lt.lineTxt+y}}for(var $=0;$<s.length;$++){var ot=s[$],ct=s[$-1],vt=s[$+1],Ct=B(ot);if(this.isNewline(ot)){if(M+1>=d){$<s.length-1&&q(M,$-1),r.isOverflowing=!0;break}k=$-1,M+=1,O=0,b[M]="";continue}if(Ct>p){q(M,$-1),r.isOverflowing=!0;break}if(O>0&&O+Ct>p){var Ot=V(b[M],$-1,k+1,p);if(Ot.txtLastCharIndex!==$-1){if(b[M]=Ot.lineTxt,Ot.txtLastCharIndex===s.length-1)break;$=Ot.txtLastCharIndex+1,ot=s[$],ct=s[$-1],vt=s[$+1],Ct=B(ot)}if(M+1>=d){q(M,$-1),r.isOverflowing=!0;break}if(k=$-1,M+=1,O=0,b[M]="",this.isBreakingSpace(ot))continue;this.canBreakInLastChar(ot)||(b=this.trimToBreakable(b),O=this.sumTextWidthByCache(b[M]||"",B)),this.shouldBreakByKinsokuShorui(ot,vt)&&(b=this.trimByKinsokuShorui(b),O+=B(ct||""))}O+=Ct,b[M]+=ot}return b.join(`
`)}},{key:"isBreakingSpace",value:function(e){return typeof e!="string"?!1:As.BreakingSpaces.indexOf(e.charCodeAt(0))>=0}},{key:"isNewline",value:function(e){return typeof e!="string"?!1:As.Newlines.indexOf(e.charCodeAt(0))>=0}},{key:"trimToBreakable",value:function(e){var r=(0,N.Z)(e),i=r[r.length-2],a=this.findBreakableIndex(i);if(a===-1||!i)return r;var s=i.slice(a,a+1),o=this.isBreakingSpace(s),l=a+1,c=a+(o?0:1);return r[r.length-1]+=i.slice(l,i.length),r[r.length-2]=i.slice(0,c),r}},{key:"canBreakInLastChar",value:function(e){return!(e&&$p.test(e))}},{key:"sumTextWidthByCache",value:function(e,r){return e.split("").reduce(function(i,a){return i+r(a)},0)}},{key:"findBreakableIndex",value:function(e){for(var r=e.length-1;r>=0;r--)if(!$p.test(e[r]))return r;return-1}},{key:"getFromCache",value:function(e,r,i,a){var s=i.get(e);if(typeof s!="number"){var o=e.length*r,l=a.measureText(e);s=l.width+o,i.put(e,s)}return s}},{key:"clearCache",value:function(){this.fontMetricsCache={},this.charWidthCache.clear()}}])}(),Xt={},JP=function(n){var t=new EP,e=new xP;return n={},(0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)(n,It.FRAGMENT,null),It.CIRCLE,new pP),It.ELLIPSE,new mP),It.RECT,t),It.IMAGE,t),It.GROUP,new MP),It.LINE,new yP),It.TEXT,new wP(Xt)),It.POLYLINE,e),It.POLYGON,e),(0,se.Z)((0,se.Z)((0,se.Z)(n,It.PATH,new bP),It.HTML,new AP),It.MESH,null)}(),qP=function(n){var t=new TA,e=new ed;return n={},(0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)(n,$t.PERCENTAGE,null),$t.NUMBER,new DA),$t.ANGLE,new SA),$t.DEFINED_PATH,new OA),$t.PAINT,t),$t.COLOR,t),$t.FILTER,new CA),$t.LENGTH,e),$t.LENGTH_PERCENTAGE,e),$t.LENGTH_PERCENTAGE_12,new NA),(0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)(n,$t.LENGTH_PERCENTAGE_14,new kA),$t.COORDINATE,new ed),$t.OFFSET_DISTANCE,new RA),$t.OPACITY_VALUE,new IA),$t.PATH,new BA),$t.LIST_OF_POINTS,new zA),$t.SHADOW_BLUR,new jA),$t.TEXT,new FA),$t.TEXT_TRANSFORM,new ZA),$t.TRANSFORM,new dP),(0,se.Z)((0,se.Z)((0,se.Z)(n,$t.TRANSFORM_ORIGIN,new vP),$t.Z_INDEX,new gP),$t.MARKER,new LA)}(),$P=function(){return typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:typeof window!="undefined"?window:typeof E.g!="undefined"?E.g:{}};Xt.CameraContribution=Qg,Xt.AnimationTimeline=null,Xt.EasingFunction=null,Xt.offscreenCanvasCreator=new cd,Xt.sceneGraphSelector=new CP,Xt.sceneGraphService=new FP(Xt),Xt.textService=new QP(Xt),Xt.geometryUpdaterFactory=JP,Xt.CSSPropertySyntaxFactory=qP,Xt.styleValueRegistry=new AA(Xt),Xt.layoutRegistry=null,Xt.globalThis=$P(),Xt.enableStyleSyntax=!0,Xt.enableSizeAttenuation=!1;var tm=0;function Wz(){tm=0}var ud=new Ji(Ie.INSERTED,null,"","","",0,"",""),hd=new Ji(Ie.REMOVED,null,"","","",0,"",""),em=new Qn(Ie.DESTROY),tS=function(n){function t(){var e;(0,C.Z)(this,t);for(var r=arguments.length,i=new Array(r),a=0;a<r;a++)i[a]=arguments[a];return e=(0,R.Z)(this,t,[].concat(i)),e.entity=tm++,e.transformable={dirtyFlag:!1,localDirtyFlag:!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]},e.renderable={bounds:void 0,boundsDirty:!0,renderBounds:void 0,renderBoundsDirty:!0,dirtyRenderBounds:void 0,dirty:!1},e.geometry={contentBounds:void 0,renderBounds:void 0,dirty:!0},e.cullable={strategy:$2.Standard,visibilityPlaneMask:-1,visible:!0,enable:!0},e.sortable={dirty:!1,sorted:void 0,renderOrder:0,dirtyChildren:[],dirtyReason:void 0},e.rBushNode={aabb:void 0},e.namespaceURI="g",e.scrollLeft=0,e.scrollTop=0,e.clientTop=0,e.clientLeft=0,e.style={},e.computedStyle={},e.parsedStyle={},e.attributes={},e}return(0,T.Z)(t,n),(0,S.Z)(t,[{key:"dirty",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.renderable.dirty=r,i&&(this.renderable.boundsDirty=r,this.renderable.renderBoundsDirty=r)}},{key:"className",get:function(){return this.getAttribute("class")||""},set:function(r){this.setAttribute("class",r)}},{key:"classList",get:function(){return this.className.split(" ").filter(function(r){return r!==""})}},{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 r=this.parentNode.childNodes.indexOf(this);return this.parentNode.childNodes[r+1]||null}return null}},{key:"previousSibling",get:function(){if(this.parentNode){var r=this.parentNode.childNodes.indexOf(this);return this.parentNode.childNodes[r-1]||null}return null}},{key:"cloneNode",value:function(r){throw new Error(nn)}},{key:"appendChild",value:function(r,i){var a;if(r.destroyed)throw new Error(_2);return Xt.sceneGraphService.attach(r,this,i),(a=this.ownerDocument)!==null&&a!==void 0&&a.defaultView&&(!xc(this)&&r.nodeName===It.FRAGMENT?this.ownerDocument.defaultView.mountFragment(r):this.ownerDocument.defaultView.mountChildren(r)),this.isMutationObserved&&(ud.relatedNode=this,r.dispatchEvent(ud)),r}},{key:"insertBefore",value:function(r,i){if(!i)this.appendChild(r);else{r.parentElement&&r.parentElement.removeChild(r);var a=this.childNodes.indexOf(i);a===-1?this.appendChild(r):this.appendChild(r,a)}return r}},{key:"replaceChild",value:function(r,i){var a=this.childNodes.indexOf(i);return this.removeChild(i),this.appendChild(r,a),i}},{key:"removeChild",value:function(r){var i,a,s=((i=this.ownerDocument)===null||i===void 0||(i=i.defaultView)===null||i===void 0||(i=i.getConfig().future)===null||i===void 0?void 0:i.experimentalCancelEventPropagation)===!0;return hd.relatedNode=this,r.dispatchEvent(hd,s,s),(a=r.ownerDocument)!==null&&a!==void 0&&a.defaultView&&r.ownerDocument.defaultView.unmountChildren(r),Xt.sceneGraphService.detach(r),r}},{key:"removeChildren",value:function(){for(var r=this.childNodes.length-1;r>=0;r--){var i=this.childNodes[r];this.removeChild(i)}}},{key:"destroyChildren",value:function(){for(var r=this.childNodes.length-1;r>=0;r--){var i=this.childNodes[r];i.childNodes.length>0&&i.destroyChildren(),i.destroy()}}},{key:"matches",value:function(r){return Xt.sceneGraphService.matches(r,this)}},{key:"getElementById",value:function(r){return Xt.sceneGraphService.querySelector("#".concat(r),this)}},{key:"getElementsByName",value:function(r){return Xt.sceneGraphService.querySelectorAll('[name="'.concat(r,'"]'),this)}},{key:"getElementsByClassName",value:function(r){return Xt.sceneGraphService.querySelectorAll(".".concat(r),this)}},{key:"getElementsByTagName",value:function(r){return Xt.sceneGraphService.querySelectorAll(r,this)}},{key:"querySelector",value:function(r){return Xt.sceneGraphService.querySelector(r,this)}},{key:"querySelectorAll",value:function(r){return Xt.sceneGraphService.querySelectorAll(r,this)}},{key:"closest",value:function(r){var i=this;do{if(Xt.sceneGraphService.matches(r,i))return i;i=i.parentElement}while(i!==null);return null}},{key:"find",value:function(r){var i=this,a=null;return this.forEach(function(s){return s!==i&&r(s)?(a=s,!1):!0}),a}},{key:"findAll",value:function(r){var i=this,a=[];return this.forEach(function(s){s!==i&&r(s)&&a.push(s)}),a}},{key:"after",value:function(){var r=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,c){var u;return(u=r.parentNode)===null||u===void 0?void 0:u.appendChild(l,i+c+1)})}}},{key:"before",value:function(){if(this.parentNode){for(var r,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],c=s.slice(1);this.parentNode.appendChild(l,i),(r=l).after.apply(r,(0,N.Z)(c))}}},{key:"replaceWith",value:function(){this.after.apply(this,arguments),this.remove()}},{key:"append",value:function(){for(var r=this,i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];a.forEach(function(o){return r.appendChild(o)})}},{key:"prepend",value:function(){for(var r=this,i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];a.forEach(function(o,l){return r.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(){var r,i=((r=this.ownerDocument)===null||r===void 0||(r=r.defaultView)===null||r===void 0||(r=r.getConfig().future)===null||r===void 0?void 0:r.experimentalCancelEventPropagation)===!0;this.destroyChildren(),this.dispatchEvent(em,i,i),this.remove(),this.emitter.removeAllListeners(),this.destroyed=!0}},{key:"getGeometryBounds",value:function(){return Xt.sceneGraphService.getGeometryBounds(this)}},{key:"getRenderBounds",value:function(){return Xt.sceneGraphService.getBounds(this,!0)}},{key:"getBounds",value:function(){return Xt.sceneGraphService.getBounds(this)}},{key:"getLocalBounds",value:function(){return Xt.sceneGraphService.getLocalBounds(this)}},{key:"getBoundingClientRect",value:function(){return Xt.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(r){if(typeof r!="symbol"){var i=this.attributes[r];return i}}},{key:"hasAttribute",value:function(r){return this.getAttributeNames().includes(r)}},{key:"hasAttributes",value:function(){return!!this.getAttributeNames().length}},{key:"removeAttribute",value:function(r){this.setAttribute(r,null),delete this.attributes[r]}},{key:"setAttribute",value:function(r,i,a,s){this.attributes[r]=i}},{key:"getAttributeNS",value:function(r,i){throw new Error(nn)}},{key:"getAttributeNode",value:function(r){throw new Error(nn)}},{key:"getAttributeNodeNS",value:function(r,i){throw new Error(nn)}},{key:"hasAttributeNS",value:function(r,i){throw new Error(nn)}},{key:"removeAttributeNS",value:function(r,i){throw new Error(nn)}},{key:"removeAttributeNode",value:function(r){throw new Error(nn)}},{key:"setAttributeNS",value:function(r,i,a){throw new Error(nn)}},{key:"setAttributeNode",value:function(r){throw new Error(nn)}},{key:"setAttributeNodeNS",value:function(r){throw new Error(nn)}},{key:"toggleAttribute",value:function(r,i){throw new Error(nn)}}])}(On);function Xe(n){return!!(n!=null&&n.nodeName)}var eS=Xt.globalThis.Proxy?Xt.globalThis.Proxy:function(){},qi=new Ji(Ie.ATTR_MODIFIED,null,null,null,null,Ji.MODIFICATION,null,null),nl=pt(),nS=Kn(),yn=function(n){function t(e){var r;return(0,C.Z)(this,t),r=(0,R.Z)(this,t),r.isCustomElement=!1,r.isMutationObserved=!1,r.activeAnimations=[],r.config=e,r.id=e.id||"",r.name=e.name||"",(e.className||e.class)&&(r.className=e.className||e.class),r.nodeName=e.type||It.GROUP,e.initialParsedStyle&&Object.assign(r.parsedStyle,e.initialParsedStyle),r.initAttributes(e.style),Xt.enableStyleSyntax&&(r.style=new eS({setProperty:function(a,s){r.setAttribute(a,s)},getPropertyValue:function(a){return r.getAttribute(a)},removeProperty:function(a){r.removeAttribute(a)},item:function(){return""}},{get:function(a,s){return a[s]!==void 0?a[s]:r.getAttribute(s)},set:function(a,s,o){return r.setAttribute(s,o),!0}})),r}return(0,T.Z)(t,n),(0,S.Z)(t,[{key:"destroy",value:function(){Og(t,"destroy",this,3)([]),this.getAnimations().forEach(function(r){r.cancel()})}},{key:"cloneNode",value:function(r,i){var a=(0,z.Z)({},this.attributes);for(var s in a){var o=a[s];Xe(o)&&s!=="clipPath"&&s!=="offsetPath"&&s!=="textPath"&&(a[s]=o.cloneNode(r)),i&&(a[s]=i(s,o))}var l=new this.constructor((0,z.Z)((0,z.Z)({},this.config),{},{style:a}));return l.setLocalTransform(this.getLocalTransform()),r&&this.children.forEach(function(c){if(!c.style.isMarker){var u=c.cloneNode(r);l.appendChild(u)}}),l}},{key:"initAttributes",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i={forceUpdateGeometry:!0};Xt.styleValueRegistry.processProperties(this,r,i),this.dirty()}},{key:"setAttribute",value:function(r,i){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;Te(i)||(a||i!==this.attributes[r])&&(this.internalSetAttribute(r,i,{memoize:s}),Og(t,"setAttribute",this,3)([r,i]))}},{key:"internalSetAttribute",value:function(r,i){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s=this.attributes[r],o=this.parsedStyle[r];Xt.styleValueRegistry.processProperties(this,(0,se.Z)({},r,i),a),this.dirty();var l=this.parsedStyle[r];if(this.isConnected)if(qi.relatedNode=this,qi.prevValue=s,qi.newValue=i,qi.attrName=r,qi.prevParsedValue=o,qi.newParsedValue=l,this.isMutationObserved)this.dispatchEvent(qi);else{var c,u=((c=this.ownerDocument.defaultView.getConfig().future)===null||c===void 0?void 0:c.experimentalCancelEventPropagation)===!0;qi.target=this,this.ownerDocument.defaultView.dispatchEvent(qi,!0,u)}if(this.isCustomElement&&this.isConnected||!this.isCustomElement){var h,f;(h=(f=this).attributeChangedCallback)===null||h===void 0||h.call(f,r,s,i,o,l)}}},{key:"getBBox",value:function(){var r=this.getBounds(),i=r.getMin(),a=(0,L.Z)(i,2),s=a[0],o=a[1],l=r.getMax(),c=(0,L.Z)(l,2),u=c[0],h=c[1];return new no(s,o,u-s,h-o)}},{key:"setOrigin",value:function(r){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Xt.sceneGraphService.setOrigin(this,Rr(r,i,a,!1)),this}},{key:"getOrigin",value:function(){return Xt.sceneGraphService.getOrigin(this)}},{key:"setPosition",value:function(r){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Xt.sceneGraphService.setPosition(this,Rr(r,i,a,!1)),this}},{key:"setLocalPosition",value:function(r){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Xt.sceneGraphService.setLocalPosition(this,Rr(r,i,a,!1)),this}},{key:"translate",value:function(r){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Xt.sceneGraphService.translate(this,Rr(r,i,a,!1)),this}},{key:"translateLocal",value:function(r){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Xt.sceneGraphService.translateLocal(this,Rr(r,i,a,!1)),this}},{key:"getPosition",value:function(){return Xt.sceneGraphService.getPosition(this)}},{key:"getLocalPosition",value:function(){return Xt.sceneGraphService.getLocalPosition(this)}},{key:"scale",value:function(r,i,a){return this.scaleLocal(r,i,a)}},{key:"scaleLocal",value:function(r,i,a){return typeof r=="number"&&(i=i||r,a=a||r,r=Rr(r,i,a,!1)),Xt.sceneGraphService.scaleLocal(this,r),this}},{key:"setLocalScale",value:function(r,i,a){return typeof r=="number"&&(i=i||r,a=a||r,r=Rr(r,i,a,!1)),Xt.sceneGraphService.setLocalScale(this,r),this}},{key:"getLocalScale",value:function(){return Xt.sceneGraphService.getLocalScale(this)}},{key:"getScale",value:function(){return Xt.sceneGraphService.getScale(this)}},{key:"getEulerAngles",value:function(){var r=Bf(nl,Xt.sceneGraphService.getWorldTransform(this)),i=(0,L.Z)(r,3),a=i[2];return Wr(a)}},{key:"getLocalEulerAngles",value:function(){var r=Bf(nl,Xt.sceneGraphService.getLocalRotation(this)),i=(0,L.Z)(r,3),a=i[2];return Wr(a)}},{key:"setEulerAngles",value:function(r){return Xt.sceneGraphService.setEulerAngles(this,0,0,r),this}},{key:"setLocalEulerAngles",value:function(r){return Xt.sceneGraphService.setLocalEulerAngles(this,0,0,r),this}},{key:"rotateLocal",value:function(r,i,a){return ye(i)&&ye(a)?Xt.sceneGraphService.rotateLocal(this,0,0,r):Xt.sceneGraphService.rotateLocal(this,r,i,a),this}},{key:"rotate",value:function(r,i,a){return ye(i)&&ye(a)?Xt.sceneGraphService.rotate(this,0,0,r):Xt.sceneGraphService.rotate(this,r,i,a),this}},{key:"setRotation",value:function(r,i,a,s){return Xt.sceneGraphService.setRotation(this,r,i,a,s),this}},{key:"setLocalRotation",value:function(r,i,a,s){return Xt.sceneGraphService.setLocalRotation(this,r,i,a,s),this}},{key:"setLocalSkew",value:function(r,i){return Xt.sceneGraphService.setLocalSkew(this,r,i),this}},{key:"getRotation",value:function(){return Xt.sceneGraphService.getRotation(this)}},{key:"getLocalRotation",value:function(){return Xt.sceneGraphService.getLocalRotation(this)}},{key:"getLocalSkew",value:function(){return Xt.sceneGraphService.getLocalSkew(this)}},{key:"getLocalTransform",value:function(){return Xt.sceneGraphService.getLocalTransform(this)}},{key:"getWorldTransform",value:function(){return Xt.sceneGraphService.getWorldTransform(this)}},{key:"setLocalTransform",value:function(r){return Xt.sceneGraphService.setLocalTransform(this,r),this}},{key:"resetLocalTransform",value:function(){Xt.sceneGraphService.resetLocalTransform(this)}},{key:"getAnimations",value:function(){return this.activeAnimations}},{key:"animate",value:function(r,i){var a,s=(a=this.ownerDocument)===null||a===void 0?void 0:a.timeline;return s?s.play(this,r,i):null}},{key:"isVisible",value:function(){var r;return((r=this.parsedStyle)===null||r===void 0?void 0:r.visibility)!=="hidden"}},{key:"interactive",get:function(){return this.isInteractive()},set:function(r){this.style.pointerEvents=r?"auto":"none"}},{key:"isInteractive",value:function(){var r;return((r=this.parsedStyle)===null||r===void 0?void 0:r.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,(0,N.Z)(this.parentNode.children.map(function(r){return Number(r.style.zIndex)})))+1),this}},{key:"toBack",value:function(){return this.parentNode&&(this.style.zIndex=Math.min.apply(Math,(0,N.Z)(this.parentNode.children.map(function(r){return Number(r.style.zIndex)})))-1),this}},{key:"getConfig",value:function(){return this.config}},{key:"attr",value:function(){for(var r=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?Fn(o)?(Object.keys(o).forEach(function(c){r.setAttribute(c,o[c])}),this):a.length===2?(this.setAttribute(o,l),this):this.attributes[o]:this.attributes}},{key:"getMatrix",value:function(r){var i=r||this.getWorldTransform(),a=Sn(nl,i),s=(0,L.Z)(a,2),o=s[0],l=s[1],c=Ca(nl,i),u=(0,L.Z)(c,2),h=u[0],f=u[1],d=qs(nS,i),v=Bf(nl,d),g=(0,L.Z)(v,3),p=g[0],y=g[2];return U2(p||y,o,l,h,f)}},{key:"getLocalMatrix",value:function(){return this.getMatrix(this.getLocalTransform())}},{key:"setMatrix",value:function(r){var i=Vg(r),a=(0,L.Z)(i,5),s=a[0],o=a[1],l=a[2],c=a[3],u=a[4];this.setEulerAngles(u).setPosition(s,o).setLocalScale(l,c)}},{key:"setLocalMatrix",value:function(r){var i=Vg(r),a=(0,L.Z)(i,5),s=a[0],o=a[1],l=a[2],c=a[3],u=a[4];this.setLocalEulerAngles(u).setLocalPosition(s,o).setLocalScale(l,c)}},{key:"show",value:function(){this.forEach(function(r){r.style.visibility="visible"})}},{key:"hide",value:function(){this.forEach(function(r){r.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(r){return this.children[r]||null}},{key:"add",value:function(r,i){return this.appendChild(r,i)}},{key:"set",value:function(r,i){this.config[r]=i}},{key:"get",value:function(r){return this.config[r]}},{key:"moveTo",value:function(r){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(r,i,a),this}},{key:"move",value:function(r){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(r,i,a),this}},{key:"setZIndex",value:function(r){return this.style.zIndex=r,this}}])}(tS);yn.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 fa=function(n){function t(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,C.Z)(this,t),(0,R.Z)(this,t,[(0,z.Z)({type:It.CIRCLE},e)])}return(0,T.Z)(t,n),(0,S.Z)(t)}(yn);fa.PARSED_STYLE_LIST=new Set([].concat((0,N.Z)(yn.PARSED_STYLE_LIST),["cx","cy","cz","r","isBillboard","isSizeAttenuation"]));var rS=["style"],fd=function(n){function t(){var e,r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=r.style,a=(0,vs.Z)(r,rS);return(0,C.Z)(this,t),e=(0,R.Z)(this,t,[(0,z.Z)({style:i},a)]),e.isCustomElement=!0,e}return(0,T.Z)(t,n),(0,S.Z)(t)}(yn);fd.PARSED_STYLE_LIST=new Set(["class","className","clipPath","cursor","draggable","droppable","opacity","pointerEvents","transform","transformOrigin","zIndex","visibility"]);var rl=function(n){function t(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,C.Z)(this,t),(0,R.Z)(this,t,[(0,z.Z)({type:It.ELLIPSE},e)])}return(0,T.Z)(t,n),(0,S.Z)(t)}(yn);rl.PARSED_STYLE_LIST=new Set([].concat((0,N.Z)(yn.PARSED_STYLE_LIST),["cx","cy","cz","rx","ry","isBillboard","isSizeAttenuation"]));var iS=function(n){function t(){return(0,C.Z)(this,t),(0,R.Z)(this,t,[{type:It.FRAGMENT}])}return(0,T.Z)(t,n),(0,S.Z)(t)}(yn);iS.PARSED_STYLE_LIST=new Set(["class","className"]);var rr=function(n){function t(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,C.Z)(this,t),(0,R.Z)(this,t,[(0,z.Z)({type:It.GROUP},e)])}return(0,T.Z)(t,n),(0,S.Z)(t)}(yn);rr.PARSED_STYLE_LIST=new Set(["class","className","clipPath","cursor","draggable","droppable","opacity","pointerEvents","transform","transformOrigin","zIndex","visibility"]);var aS=["style"],il=function(n){function t(){var e,r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=r.style,a=(0,vs.Z)(r,aS);return(0,C.Z)(this,t),e=(0,R.Z)(this,t,[(0,z.Z)({type:It.HTML,style:i},a)]),e.cullable.enable=!1,e}return(0,T.Z)(t,n),(0,S.Z)(t,[{key:"getDomElement",value:function(){return this.parsedStyle.$el}},{key:"getClientRects",value:function(){return[this.getBoundingClientRect()]}},{key:"getLocalBounds",value:function(){if(this.parentNode){var r=_e(Gt(),this.parentNode.getWorldTransform()),i=this.getBounds();if(!pn.isEmpty(i)){var a=new pn;return a.setFromTransformedAABB(i,r),a}}return this.getBounds()}}])}(yn);il.PARSED_STYLE_LIST=new Set([].concat((0,N.Z)(yn.PARSED_STYLE_LIST),["x","y","$el","innerHTML","width","height"]));var al=function(n){function t(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,C.Z)(this,t),(0,R.Z)(this,t,[(0,z.Z)({type:It.IMAGE},e)])}return(0,T.Z)(t,n),(0,S.Z)(t)}(yn);al.PARSED_STYLE_LIST=new Set([].concat((0,N.Z)(yn.PARSED_STYLE_LIST),["x","y","z","src","width","height","isBillboard","billboardRotation","isSizeAttenuation","keepAspectRatio"]));var sS=["style"],Ps=function(n){function t(){var e,r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=r.style,a=(0,vs.Z)(r,sS);(0,C.Z)(this,t),e=(0,R.Z)(this,t,[(0,z.Z)({type:It.LINE,style:(0,z.Z)({x1:0,y1:0,x2:0,y2:0,z1:0,z2:0},i)},a)]),e.markerStartAngle=0,e.markerEndAngle=0;var s=e.parsedStyle,o=s.markerStart,l=s.markerEnd;return o&&Xe(o)&&(e.markerStartAngle=o.getLocalEulerAngles(),e.appendChild(o)),l&&Xe(l)&&(e.markerEndAngle=l.getLocalEulerAngles(),e.appendChild(l)),e.transformMarker(!0),e.transformMarker(!1),e}return(0,T.Z)(t,n),(0,S.Z)(t,[{key:"attributeChangedCallback",value:function(r,i,a,s,o){r==="x1"||r==="y1"||r==="x2"||r==="y2"||r==="markerStartOffset"||r==="markerEndOffset"?(this.transformMarker(!0),this.transformMarker(!1)):r==="markerStart"?(s&&Xe(s)&&(this.markerStartAngle=0,s.remove()),o&&Xe(o)&&(this.markerStartAngle=o.getLocalEulerAngles(),this.appendChild(o),this.transformMarker(!0))):r==="markerEnd"&&(s&&Xe(s)&&(this.markerEndAngle=0,s.remove()),o&&Xe(o)&&(this.markerEndAngle=o.getLocalEulerAngles(),this.appendChild(o),this.transformMarker(!1)))}},{key:"transformMarker",value:function(r){var i=this.parsedStyle,a=i.markerStart,s=i.markerEnd,o=i.markerStartOffset,l=i.markerEndOffset,c=i.x1,u=i.x2,h=i.y1,f=i.y2,d=r?a:s;if(!(!d||!Xe(d))){var v=0,g,p,y,b,M,O;r?(y=c,b=h,g=u-c,p=f-h,M=o||0,O=this.markerStartAngle):(y=u,b=f,g=c-u,p=h-f,M=l||0,O=this.markerEndAngle),v=Math.atan2(p,g),d.setLocalEulerAngles(v*180/Math.PI+O),d.setLocalPosition(y+Math.cos(v)*M,b+Math.sin(v)*M)}}},{key:"getPoint",value:function(r){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a=this.parsedStyle,s=a.x1,o=a.y1,l=a.x2,c=a.y2,u=Yi(s,o,l,c,r),h=u.x,f=u.y,d=re(pt(),xt(h,f,0),i?this.getWorldTransform():this.getLocalTransform());return new vr(d[0],d[1])}},{key:"getPointAtLength",value:function(r){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return this.getPoint(r/this.getTotalLength(),i)}},{key:"getTotalLength",value:function(){var r=this.parsedStyle,i=r.x1,a=r.y1,s=r.x2,o=r.y2;return Dg(i,a,s,o)}}])}(yn);Ps.PARSED_STYLE_LIST=new Set([].concat((0,N.Z)(yn.PARSED_STYLE_LIST),["x1","y1","x2","y2","z1","z2","isBillboard","isSizeAttenuation","markerStart","markerEnd","markerStartOffset","markerEndOffset"]));var oS=["style"],ti=function(n){function t(){var e,r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=r.style,a=(0,vs.Z)(r,oS);(0,C.Z)(this,t),e=(0,R.Z)(this,t,[(0,z.Z)({type:It.PATH,style:i,initialParsedStyle:{miterLimit:4,d:(0,z.Z)({},qg)}},a)]),e.markerStartAngle=0,e.markerEndAngle=0,e.markerMidList=[];var s=e.parsedStyle,o=s.markerStart,l=s.markerEnd,c=s.markerMid;return o&&Xe(o)&&(e.markerStartAngle=o.getLocalEulerAngles(),e.appendChild(o)),c&&Xe(c)&&e.placeMarkerMid(c),l&&Xe(l)&&(e.markerEndAngle=l.getLocalEulerAngles(),e.appendChild(l)),e.transformMarker(!0),e.transformMarker(!1),e}return(0,T.Z)(t,n),(0,S.Z)(t,[{key:"attributeChangedCallback",value:function(r,i,a,s,o){r==="d"?(this.transformMarker(!0),this.transformMarker(!1),this.placeMarkerMid(this.parsedStyle.markerMid)):r==="markerStartOffset"||r==="markerEndOffset"?(this.transformMarker(!0),this.transformMarker(!1)):r==="markerStart"?(s&&Xe(s)&&(this.markerStartAngle=0,s.remove()),o&&Xe(o)&&(this.markerStartAngle=o.getLocalEulerAngles(),this.appendChild(o),this.transformMarker(!0))):r==="markerEnd"?(s&&Xe(s)&&(this.markerEndAngle=0,s.remove()),o&&Xe(o)&&(this.markerEndAngle=o.getLocalEulerAngles(),this.appendChild(o),this.transformMarker(!1))):r==="markerMid"&&this.placeMarkerMid(o)}},{key:"transformMarker",value:function(r){var i=this.parsedStyle,a=i.markerStart,s=i.markerEnd,o=i.markerStartOffset,l=i.markerEndOffset,c=r?a:s;if(!(!c||!Xe(c))){var u=0,h,f,d,v,g,p;if(r){var y=this.getStartTangent(),b=(0,L.Z)(y,2),M=b[0],O=b[1];d=O[0],v=O[1],h=M[0]-O[0],f=M[1]-O[1],g=o||0,p=this.markerStartAngle}else{var k=this.getEndTangent(),D=(0,L.Z)(k,2),j=D[0],B=D[1];d=B[0],v=B[1],h=j[0]-B[0],f=j[1]-B[1],g=l||0,p=this.markerEndAngle}u=Math.atan2(f,h),c.setLocalEulerAngles(u*180/Math.PI+p),c.setLocalPosition(d+Math.cos(u)*g,v+Math.sin(u)*g)}}},{key:"placeMarkerMid",value:function(r){var i=this.parsedStyle.d.segments;if(this.markerMidList.forEach(function(u){u.remove()}),r&&Xe(r))for(var a=1;a<i.length-1;a++){var s=(0,L.Z)(i[a].currentPoint,2),o=s[0],l=s[1],c=a===1?r:r.cloneNode(!0);this.markerMidList.push(c),this.appendChild(c),c.setLocalPosition(o,l)}}},{key:"getTotalLength",value:function(){return Kf(this)}},{key:"getPointAtLength",value:function(r){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a=this.parsedStyle.d.absolutePath,s=h2(a,r),o=s.x,l=s.y,c=re(pt(),xt(o,l,0),i?this.getWorldTransform():this.getLocalTransform());return new vr(c[0],c[1])}},{key:"getPoint",value:function(r){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return this.getPointAtLength(r*Kf(this),i)}},{key:"getStartTangent",value:function(){var r=this.parsedStyle.d.segments,i=[];if(r.length>1){var a=r[0].currentPoint,s=r[1].currentPoint,o=r[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 r=this.parsedStyle.d.segments,i=r.length,a=[];if(i>1){var s=r[i-2].currentPoint,o=r[i-1].currentPoint,l=r[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}}])}(yn);ti.PARSED_STYLE_LIST=new Set([].concat((0,N.Z)(yn.PARSED_STYLE_LIST),["d","markerStart","markerMid","markerEnd","markerStartOffset","markerEndOffset","isBillboard","isSizeAttenuation"]));var lS=["style"],Ss=function(n){function t(){var e,r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=r.style,a=(0,vs.Z)(r,lS);(0,C.Z)(this,t),e=(0,R.Z)(this,t,[(0,z.Z)({type:It.POLYGON,style:i,initialParsedStyle:{points:{points:[],totalLength:0,segments:[]},miterLimit:4,isClosed:!0}},a)]),e.markerStartAngle=0,e.markerEndAngle=0,e.markerMidList=[];var s=e.parsedStyle,o=s.markerStart,l=s.markerEnd,c=s.markerMid;return o&&Xe(o)&&(e.markerStartAngle=o.getLocalEulerAngles(),e.appendChild(o)),c&&Xe(c)&&e.placeMarkerMid(c),l&&Xe(l)&&(e.markerEndAngle=l.getLocalEulerAngles(),e.appendChild(l)),e.transformMarker(!0),e.transformMarker(!1),e}return(0,T.Z)(t,n),(0,S.Z)(t,[{key:"attributeChangedCallback",value:function(r,i,a,s,o){r==="points"?(this.transformMarker(!0),this.transformMarker(!1),this.placeMarkerMid(this.parsedStyle.markerMid)):r==="markerStartOffset"||r==="markerEndOffset"?(this.transformMarker(!0),this.transformMarker(!1)):r==="markerStart"?(s&&Xe(s)&&(this.markerStartAngle=0,s.remove()),o&&Xe(o)&&(this.markerStartAngle=o.getLocalEulerAngles(),this.appendChild(o),this.transformMarker(!0))):r==="markerEnd"?(s&&Xe(s)&&(this.markerEndAngle=0,s.remove()),o&&Xe(o)&&(this.markerEndAngle=o.getLocalEulerAngles(),this.appendChild(o),this.transformMarker(!1))):r==="markerMid"&&this.placeMarkerMid(o)}},{key:"transformMarker",value:function(r){var i=this.parsedStyle,a=i.markerStart,s=i.markerEnd,o=i.markerStartOffset,l=i.markerEndOffset,c=i.points,u=c||{},h=u.points,f=r?a:s;if(!(!f||!Xe(f)||!h)){var d=0,v,g,p,y,b,M;if(p=h[0][0],y=h[0][1],r)v=h[1][0]-h[0][0],g=h[1][1]-h[0][1],b=o||0,M=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],y=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,M=this.markerEndAngle}d=Math.atan2(g,v),f.setLocalEulerAngles(d*180/Math.PI+M),f.setLocalPosition(p+Math.cos(d)*b,y+Math.sin(d)*b)}}},{key:"placeMarkerMid",value:function(r){var i=this.parsedStyle.points,a=i||{},s=a.points;if(this.markerMidList.forEach(function(h){h.remove()}),this.markerMidList=[],r&&Xe(r)&&s)for(var o=1;o<(this.parsedStyle.isClosed?s.length:s.length-1);o++){var l=s[o][0],c=s[o][1],u=o===1?r:r.cloneNode(!0);this.markerMidList.push(u),this.appendChild(u),u.setLocalPosition(l,c)}}}])}(yn);Ss.PARSED_STYLE_LIST=new Set([].concat((0,N.Z)(yn.PARSED_STYLE_LIST),["points","markerStart","markerMid","markerEnd","markerStartOffset","markerEndOffset","isClosed","isBillboard","isSizeAttenuation"]));var cS=["style"],Oc=function(n){function t(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=e.style,i=(0,vs.Z)(e,cS);return(0,C.Z)(this,t),(0,R.Z)(this,t,[(0,z.Z)({type:It.POLYLINE,style:r,initialParsedStyle:{points:{points:[],totalLength:0,segments:[]},miterLimit:4,isClosed:!1}},i)])}return(0,T.Z)(t,n),(0,S.Z)(t,[{key:"getTotalLength",value:function(){return JM(this)}},{key:"getPointAtLength",value:function(r){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return this.getPoint(r/this.getTotalLength(),i)}},{key:"getPoint",value:function(r){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,c,u=this.getTotalLength();a.forEach(function(y,b){a[b+1]&&(l=[0,0],l[0]=o/u,c=Dg(y[0],y[1],a[b+1][0],a[b+1][1]),o+=c,l[1]=o/u,s.push(l))}),this.parsedStyle.points.segments=s}var h=0,f=0;this.parsedStyle.points.segments.forEach(function(y,b){r>=y[0]&&r<=y[1]&&(h=(r-y[0])/(y[1]-y[0]),f=b)});var d=Yi(a[f][0],a[f][1],a[f+1][0],a[f+1][1],h),v=d.x,g=d.y,p=re(pt(),xt(v,g,0),i?this.getWorldTransform():this.getLocalTransform());return new vr(p[0],p[1])}},{key:"getStartTangent",value:function(){var r=this.parsedStyle.points.points,i=[];return i.push([r[1][0],r[1][1]]),i.push([r[0][0],r[0][1]]),i}},{key:"getEndTangent",value:function(){var r=this.parsedStyle.points.points,i=r.length-1,a=[];return a.push([r[i-1][0],r[i-1][1]]),a.push([r[i][0],r[i][1]]),a}}])}(Ss);Oc.PARSED_STYLE_LIST=new Set([].concat((0,N.Z)(Ss.PARSED_STYLE_LIST),["points","markerStart","markerMid","markerEnd","markerStartOffset","markerEndOffset","isBillboard"]));var gr=function(n){function t(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,C.Z)(this,t),(0,R.Z)(this,t,[(0,z.Z)({type:It.RECT},e)])}return(0,T.Z)(t,n),(0,S.Z)(t)}(yn);gr.PARSED_STYLE_LIST=new Set([].concat((0,N.Z)(yn.PARSED_STYLE_LIST),["x","y","z","width","height","isBillboard","isSizeAttenuation","radius"]));var uS=["style"],Os=function(n){function t(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=e.style,i=(0,vs.Z)(e,uS);return(0,C.Z)(this,t),(0,R.Z)(this,t,[(0,z.Z)({type:It.TEXT,style:(0,z.Z)({fill:"black"},r)},i)])}return(0,T.Z)(t,n),(0,S.Z)(t,[{key:"getComputedTextLength",value:function(){var r;return this.getGeometryBounds(),((r=this.parsedStyle.metrics)===null||r===void 0?void 0:r.maxLineWidth)||0}},{key:"getLineBoundingRects",value:function(){var r;return this.getGeometryBounds(),((r=this.parsedStyle.metrics)===null||r===void 0?void 0:r.lineMetrics)||[]}},{key:"isOverflowing",value:function(){return this.getGeometryBounds(),!!this.parsedStyle.isOverflowing}}])}(yn);Os.PARSED_STYLE_LIST=new Set([].concat((0,N.Z)(yn.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 hS=function(){function n(){(0,C.Z)(this,n),this.registry={},this.define(It.CIRCLE,fa),this.define(It.ELLIPSE,rl),this.define(It.RECT,gr),this.define(It.IMAGE,al),this.define(It.LINE,Ps),this.define(It.GROUP,rr),this.define(It.PATH,ti),this.define(It.POLYGON,Ss),this.define(It.POLYLINE,Oc),this.define(It.TEXT,Os),this.define(It.HTML,il)}return(0,S.Z)(n,[{key:"define",value:function(e,r){this.registry[e]=r}},{key:"get",value:function(e){return this.registry[e]}}])}(),Xz={number:function(t){return new sn(t)},percent:function(t){return new sn(t,"%")},px:function(t){return new sn(t,"px")},em:function(t){return new sn(t,"em")},rem:function(t){return new sn(t,"rem")},deg:function(t){return new sn(t,"deg")},grad:function(t){return new sn(t,"grad")},rad:function(t){return new sn(t,"rad")},turn:function(t){return new sn(t,"turn")},s:function(t){return new sn(t,"s")},ms:function(t){return new sn(t,"ms")},registerProperty:function(t){var e=t.name,r=t.inherits,i=t.interpolable,a=t.initialValue,s=t.syntax;Xt.styleValueRegistry.registerMetadata({n:e,inh:r,int:i,d:a,syntax:s})},registerLayout:function(t,e){Xt.layoutRegistry.registerLayout(t,e)}},nm=function(n){function t(){var e;(0,C.Z)(this,t),e=(0,R.Z)(this,t),e.defaultView=null,e.ownerDocument=null,e.nodeName="document";try{e.timeline=new Xt.AnimationTimeline(e)}catch(i){}var r={};return td.forEach(function(i){var a=i.n,s=i.inh,o=i.d;s&&o&&(r[a]=de(o)?o(It.GROUP):o)}),e.documentElement=new rr({id:"g-root",style:r}),e.documentElement.ownerDocument=e,e.documentElement.parentNode=e,e.childNodes=[e.documentElement],e}return(0,T.Z)(t,n),(0,S.Z)(t,[{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(r,i){if(r==="svg")return this.documentElement;var a=this.defaultView.customElements.get(r);a||(console.warn("Unsupported tagName: ",r),a=r==="tspan"?Os:rr);var s=new a(i);return s.ownerDocument=this,s}},{key:"createElementNS",value:function(r,i,a){return this.createElement(i,a)}},{key:"cloneNode",value:function(r){throw new Error(nn)}},{key:"destroy",value:function(){try{this.documentElement.destroyChildren(),this.timeline.destroy()}catch(r){}}},{key:"elementsFromBBox",value:function(r,i,a,s){var o=this.defaultView.context.rBushRoot,l=o.search({minX:r,minY:i,maxX:a,maxY:s}),c=[];return l.forEach(function(u){var h=u.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()&&c.push(h)}),c.sort(function(u,h){return h.sortable.renderOrder-u.sortable.renderOrder}),c}},{key:"elementFromPointSync",value:function(r,i){var a=this.defaultView.canvas2Viewport({x:r,y:i}),s=a.x,o=a.y,l=this.defaultView.getConfig(),c=l.width,u=l.height;if(s<0||o<0||s>c||o>u)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:r,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 e=(0,Da.Z)((0,Sr.Z)().mark(function i(a,s){var o,l,c,u,h,f,d,v,g,p,y;return(0,Sr.Z)().wrap(function(b){for(;;)switch(b.prev=b.next){case 0:if(o=this.defaultView.canvas2Viewport({x:a,y:s}),l=o.x,c=o.y,u=this.defaultView.getConfig(),h=u.width,f=u.height,!(l<0||c<0||l>h||c>f)){b.next=1;break}return b.abrupt("return",null);case 1:return d=this.defaultView.viewport2Client({x:l,y:c}),v=d.x,g=d.y,b.next=2,this.defaultView.getRenderingService().hooks.pick.promise({topmost:!0,position:{x:a,y:s,viewportX:l,viewportY:c,clientX:v,clientY:g},picked:[]});case 2:return p=b.sent,y=p.picked,b.abrupt("return",y&&y[0]||this.documentElement);case 3:case"end":return b.stop()}},i,this)}));function r(i,a){return e.apply(this,arguments)}return r}()},{key:"elementsFromPointSync",value:function(r,i){var a=this.defaultView.canvas2Viewport({x:r,y:i}),s=a.x,o=a.y,l=this.defaultView.getConfig(),c=l.width,u=l.height;if(s<0||o<0||s>c||o>u)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:r,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 e=(0,Da.Z)((0,Sr.Z)().mark(function i(a,s){var o,l,c,u,h,f,d,v,g,p,y;return(0,Sr.Z)().wrap(function(b){for(;;)switch(b.prev=b.next){case 0:if(o=this.defaultView.canvas2Viewport({x:a,y:s}),l=o.x,c=o.y,u=this.defaultView.getConfig(),h=u.width,f=u.height,!(l<0||c<0||l>h||c>f)){b.next=1;break}return b.abrupt("return",[]);case 1:return d=this.defaultView.viewport2Client({x:l,y:c}),v=d.x,g=d.y,b.next=2,this.defaultView.getRenderingService().hooks.pick.promise({topmost:!1,position:{x:a,y:s,viewportX:l,viewportY:c,clientX:v,clientY:g},picked:[]});case 2:return p=b.sent,y=p.picked,y[y.length-1]!==this.documentElement&&y.push(this.documentElement),b.abrupt("return",y);case 3:case"end":return b.stop()}},i,this)}));function r(i,a){return e.apply(this,arguments)}return r}()},{key:"appendChild",value:function(r,i){throw new Error(ro)}},{key:"insertBefore",value:function(r,i){throw new Error(ro)}},{key:"removeChild",value:function(r,i){throw new Error(ro)}},{key:"replaceChild",value:function(r,i,a){throw new Error(ro)}},{key:"append",value:function(){throw new Error(ro)}},{key:"prepend",value:function(){throw new Error(ro)}},{key:"getElementById",value:function(r){return this.documentElement.getElementById(r)}},{key:"getElementsByName",value:function(r){return this.documentElement.getElementsByName(r)}},{key:"getElementsByTagName",value:function(r){return this.documentElement.getElementsByTagName(r)}},{key:"getElementsByClassName",value:function(r){return this.documentElement.getElementsByClassName(r)}},{key:"querySelector",value:function(r){return this.documentElement.querySelector(r)}},{key:"querySelectorAll",value:function(r){return this.documentElement.querySelectorAll(r)}},{key:"find",value:function(r){return this.documentElement.find(r)}},{key:"findAll",value:function(r){return this.documentElement.findAll(r)}}])}(On),rm=function(){function n(t){(0,C.Z)(this,n),this.strategies=t}return(0,S.Z)(n,[{key:"apply",value:function(e){var r=e.config,i=e.camera,a=e.renderingService,s=e.renderingContext,o=this.strategies;a.hooks.cull.tap(n.tag,function(l){if(l){var c,u=l.cullable;if(o.length===0?u.visible=s.unculledEntities.indexOf(l.entity)>-1:u.visible=o.every(function(f){return f.isVisible(i,l)}),!l.isCulled()&&l.isVisible())return l;var h=((c=r.future)===null||c===void 0?void 0:c.experimentalCancelEventPropagation)===!0;return l.dispatchEvent(new Qn(Ie.CULLED),h,h),null}return l}),a.hooks.afterRender.tap(n.tag,function(l){l.cullable.visibilityPlaneMask=-1})}}])}();rm.tag="Culling";var im=function(){function n(){var t=this;(0,C.Z)(this,n),this.autoPreventDefault=!1,this.rootPointerEvent=new wc(null),this.rootWheelEvent=new ld(null),this.onPointerMove=function(e){var r,i=(r=t.context.renderingContext.root)===null||r===void 0||(r=r.ownerDocument)===null||r===void 0?void 0:r.defaultView;if(!(i.supportsTouchEvents&&e.pointerType==="touch")){var a=t.normalizeToPointerEvent(e,i),s=(0,ds.Z)(a),o;try{for(s.s();!(o=s.n()).done;){var l=o.value,c=t.bootstrapEvent(t.rootPointerEvent,l,i,e);t.context.eventService.mapEvent(c)}}catch(u){s.e(u)}finally{s.f()}t.setCursor(t.context.eventService.cursor)}},this.onClick=function(e){var r,i=(r=t.context.renderingContext.root)===null||r===void 0||(r=r.ownerDocument)===null||r===void 0?void 0:r.defaultView,a=t.normalizeToPointerEvent(e,i),s=(0,ds.Z)(a),o;try{for(s.s();!(o=s.n()).done;){var l=o.value,c=t.bootstrapEvent(t.rootPointerEvent,l,i,e);t.context.eventService.mapEvent(c)}}catch(u){s.e(u)}finally{s.f()}t.setCursor(t.context.eventService.cursor)}}return(0,S.Z)(n,[{key:"apply",value:function(e){var r=this;this.context=e;var i=e.renderingService,a=this.context.renderingContext.root.ownerDocument.defaultView;this.context.eventService.setPickHandler(function(s){var o=r.context.renderingService.hooks.pickSync.call({position:s,picked:[],topmost:!0}),l=o.picked;return l[0]||null}),i.hooks.pointerWheel.tap(n.tag,function(s){var o=r.normalizeWheelEvent(s);r.context.eventService.mapEvent(o)}),i.hooks.pointerDown.tap(n.tag,function(s){if(!(a.supportsTouchEvents&&s.pointerType==="touch")){var o=r.normalizeToPointerEvent(s,a);if(r.autoPreventDefault&&o[0].isNormalized){var l=s.cancelable||!("cancelable"in s);l&&s.preventDefault()}var c=(0,ds.Z)(o),u;try{for(c.s();!(u=c.n()).done;){var h=u.value,f=r.bootstrapEvent(r.rootPointerEvent,h,a,s);r.context.eventService.mapEvent(f)}}catch(d){c.e(d)}finally{c.f()}r.setCursor(r.context.eventService.cursor)}}),i.hooks.pointerUp.tap(n.tag,function(s){if(!(a.supportsTouchEvents&&s.pointerType==="touch")){var o=r.context.contextService.getDomElement(),l=r.context.eventService.isNativeEventFromCanvas(o,s),c=l?"":"outside",u=r.normalizeToPointerEvent(s,a),h=(0,ds.Z)(u),f;try{for(h.s();!(f=h.n()).done;){var d=f.value,v=r.bootstrapEvent(r.rootPointerEvent,d,a,s);v.type+=c,r.context.eventService.mapEvent(v)}}catch(g){h.e(g)}finally{h.f()}r.setCursor(r.context.eventService.cursor)}}),i.hooks.pointerMove.tap(n.tag,this.onPointerMove),i.hooks.pointerOver.tap(n.tag,this.onPointerMove),i.hooks.pointerOut.tap(n.tag,this.onPointerMove),i.hooks.click.tap(n.tag,this.onClick),i.hooks.pointerCancel.tap(n.tag,function(s){var o=r.normalizeToPointerEvent(s,a),l=(0,ds.Z)(o),c;try{for(l.s();!(c=l.n()).done;){var u=c.value,h=r.bootstrapEvent(r.rootPointerEvent,u,a,s);r.context.eventService.mapEvent(h)}}catch(f){l.e(f)}finally{l.f()}r.setCursor(r.context.eventService.cursor)})}},{key:"bootstrapEvent",value:function(e,r,i,a){e.view=i,e.originalEvent=null,e.nativeEvent=a,e.pointerId=r.pointerId,e.width=r.width,e.height=r.height,e.isPrimary=r.isPrimary,e.pointerType=r.pointerType,e.pressure=r.pressure,e.tangentialPressure=r.tangentialPressure,e.tiltX=r.tiltX,e.tiltY=r.tiltY,e.twist=r.twist,this.transferMouseData(e,r);var s=this.context.eventService.client2Viewport({x:r.clientX,y:r.clientY}),o=s.x,l=s.y;e.viewport.x=o,e.viewport.y=l;var c=this.context.eventService.viewport2Canvas(e.viewport),u=c.x,h=c.y;return e.canvas.x=u,e.canvas.y=h,e.global.copyFrom(e.canvas),e.offset.copyFrom(e.canvas),e.isTrusted=a.isTrusted,e.type==="pointerleave"&&(e.type="pointerout"),e.type.startsWith("mouse")&&(e.type=e.type.replace("mouse","pointer")),e.type.startsWith("touch")&&(e.type=UA[e.type]||e.type),e}},{key:"normalizeWheelEvent",value:function(e){var r=this.rootWheelEvent;this.transferMouseData(r,e),r.deltaMode=e.deltaMode,r.deltaX=e.deltaX,r.deltaY=e.deltaY,r.deltaZ=e.deltaZ;var i=this.context.eventService.client2Viewport({x:e.clientX,y:e.clientY}),a=i.x,s=i.y;r.viewport.x=a,r.viewport.y=s;var o=this.context.eventService.viewport2Canvas(r.viewport),l=o.x,c=o.y;return r.canvas.x=l,r.canvas.y=c,r.global.copyFrom(r.canvas),r.offset.copyFrom(r.canvas),r.nativeEvent=e,r.type=e.type,r}},{key:"transferMouseData",value:function(e,r){e.isTrusted=r.isTrusted,e.srcElement=r.srcElement,e.timeStamp=id.now(),e.type=r.type,e.altKey=r.altKey,e.metaKey=r.metaKey,e.shiftKey=r.shiftKey,e.ctrlKey=r.ctrlKey,e.button=r.button,e.buttons=r.buttons,e.client.x=r.clientX,e.client.y=r.clientY,e.movement.x=r.movementX,e.movement.y=r.movementY,e.page.x=r.pageX,e.page.y=r.pageY,e.screen.x=r.screenX,e.screen.y=r.screenY,e.relatedTarget=null}},{key:"setCursor",value:function(e){this.context.contextService.applyCursorStyle(e||this.context.config.cursor||"default")}},{key:"normalizeToPointerEvent",value:function(e,r){var i=[];if(r.isTouchEvent(e))for(var a=0;a<e.changedTouches.length;a++){var s=e.changedTouches[a];Te(s.button)&&(s.button=0),Te(s.buttons)&&(s.buttons=1),Te(s.isPrimary)&&(s.isPrimary=e.touches.length===1&&e.type==="touchstart"),Te(s.width)&&(s.width=s.radiusX||1),Te(s.height)&&(s.height=s.radiusY||1),Te(s.tiltX)&&(s.tiltX=0),Te(s.tiltY)&&(s.tiltY=0),Te(s.pointerType)&&(s.pointerType="touch"),Te(s.pointerId)&&(s.pointerId=s.identifier||0),Te(s.pressure)&&(s.pressure=s.force||.5),Te(s.twist)&&(s.twist=0),Te(s.tangentialPressure)&&(s.tangentialPressure=0),s.isNormalized=!0,s.type=e.type,i.push(s)}else if(r.isMouseEvent(e)){var o=e;Te(o.isPrimary)&&(o.isPrimary=!0),Te(o.width)&&(o.width=1),Te(o.height)&&(o.height=1),Te(o.tiltX)&&(o.tiltX=0),Te(o.tiltY)&&(o.tiltY=0),Te(o.pointerType)&&(o.pointerType="mouse"),Te(o.pointerId)&&(o.pointerId=YA),Te(o.pressure)&&(o.pressure=.5),Te(o.twist)&&(o.twist=0),Te(o.tangentialPressure)&&(o.tangentialPressure=0),o.isNormalized=!0,i.push(o)}else i.push(e);return i}}])}();im.tag="Event";var fS=[It.CIRCLE,It.ELLIPSE,It.IMAGE,It.RECT,It.LINE,It.POLYLINE,It.POLYGON,It.TEXT,It.PATH,It.HTML],dS=function(){function n(){(0,C.Z)(this,n)}return(0,S.Z)(n,[{key:"isVisible",value:function(e,r){var i,a=r.cullable;if(!a.enable)return!0;var s=r.getRenderBounds();if(pn.isEmpty(s))return!1;var o=e.getFrustum(),l=(i=r.parentNode)===null||i===void 0||(i=i.cullable)===null||i===void 0?void 0:i.visibilityPlaneMask;return a.visibilityPlaneMask=this.computeVisibilityWithPlaneMask(r,s,l||eo.INDETERMINATE,o.planes),a.visible=a.visibilityPlaneMask!==eo.OUTSIDE,a.visible}},{key:"computeVisibilityWithPlaneMask",value:function(e,r,i,a){if(i===eo.OUTSIDE||i===eo.INSIDE)return i;for(var s=eo.INSIDE,o=fS.indexOf(e.nodeName)>-1,l=0,c=a.length;l<c;++l){var u=1<<l;if(i&u&&!(o&&(l===4||l===5))){var h=a[l],f=h.normal,d=h.distance;if(be(f,r.getPositiveFarPoint(a[l]))+d<0)return eo.OUTSIDE;be(f,r.getNegativeFarPoint(a[l]))+d<0&&(s|=u)}}return s}}])}(),am=function(){function n(){(0,C.Z)(this,n),this.syncTasks=new Map,this.isFirstTimeRendering=!0,this.syncing=!1,this.isFirstTimeRenderingFinished=!1}return(0,S.Z)(n,[{key:"apply",value:function(e){var r=this,i,a,s=e.config,o=e.renderingService,l=e.renderingContext,c=e.rBushRoot,u=l.root.ownerDocument.defaultView;this.rBush=c;var h=function(b){o.dirtify()},f=function(b){r.syncTasks.set(b.target,b.detail.affectChildren),o.dirtify()},d=function(b){var M=b.target;Xt.enableSizeAttenuation&&Xt.styleValueRegistry.updateSizeAttenuation(M,u.getCamera().getZoom())},v=function(b){var M=b.target,O=M.rBushNode;O!=null&&O.aabb&&r.rBush.remove(O.aabb),r.syncTasks.delete(M),Xt.sceneGraphService.dirtyToRoot(M),o.dirtify()};o.hooks.init.tap(n.tag,function(){u.addEventListener(Ie.MOUNTED,d),u.addEventListener(Ie.UNMOUNTED,v),u.addEventListener(Ie.ATTR_MODIFIED,h),u.addEventListener(Ie.BOUNDS_CHANGED,f)}),o.hooks.destroy.tap(n.tag,function(){u.removeEventListener(Ie.MOUNTED,d),u.removeEventListener(Ie.UNMOUNTED,v),u.removeEventListener(Ie.ATTR_MODIFIED,h),u.removeEventListener(Ie.BOUNDS_CHANGED,f),r.syncTasks.clear()});var g=(i=Xt.globalThis.requestIdleCallback)!==null&&i!==void 0?i:ad.bind(Xt.globalThis),p=((a=s.future)===null||a===void 0?void 0:a.experimentalRICSyncRTree)===!0;o.hooks.endFrame.tap(n.tag,function(){r.isFirstTimeRendering?(r.isFirstTimeRendering=!1,r.syncing=!0,g(function(){r.syncRTree(!0),r.isFirstTimeRenderingFinished=!0})):p&&Xt.globalThis.requestIdleCallback&&Xt.globalThis.cancelIdleCallback?(Xt.globalThis.cancelIdleCallback(r.ricSyncRTreeId),r.ricSyncRTreeId=Xt.globalThis.requestIdleCallback(function(){return r.syncRTree()})):r.syncRTree()})}},{key:"syncNode",value:function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(e.isConnected){var i=e.rBushNode;i.aabb&&this.rBush.remove(i.aabb);var a=e.getRenderBounds();if(a){var s=e.renderable;r&&(s.dirtyRenderBounds||(s.dirtyRenderBounds=new pn),s.dirtyRenderBounds.update(a.center,a.halfExtents));var o=a.getMin(),l=(0,L.Z)(o,2),c=l[0],u=l[1],h=a.getMax(),f=(0,L.Z)(h,2),d=f[0],v=f[1];i.aabb||(i.aabb={}),i.aabb.displayObject=e,i.aabb.minX=c,i.aabb.minY=u,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 e=this,r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;if(!(!r&&(this.syncing||this.syncTasks.size===0))){this.syncing=!0;var i=[],a=new Set,s=function(l){if(!a.has(l)&&l.renderable){var c=e.syncNode(l,r);c&&(i.push(c),a.add(l))}};this.syncTasks.forEach(function(o,l){o&&l.forEach(s);for(var c=l;c;)s(c),c=c.parentElement}),this.rBush.load(i),i.length=0,this.syncing=!1}}}])}();am.tag="Prepare";function Vz(n){return!!n.document}var ei=function(n){return n.READY="ready",n.BEFORE_RENDER="beforerender",n.RERENDER="rerender",n.AFTER_RENDER="afterrender",n.BEFORE_DESTROY="beforedestroy",n.AFTER_DESTROY="afterdestroy",n.RESIZE="resize",n.DIRTY_RECTANGLE="dirtyrectangle",n.RENDERER_CHANGED="rendererchanged",n}({}),sm=500,vS=.1,gS=1e3,Tc=new Qn(Ie.MOUNTED),Cc=new Qn(Ie.UNMOUNTED),dd=new Qn(ei.BEFORE_RENDER),om=new Qn(ei.RERENDER),vd=new Qn(ei.AFTER_RENDER),gd=function(n){function t(e){var r;(0,C.Z)(this,t),r=(0,R.Z)(this,t),r.Element=yn,r.inited=!1,r.context={};var i=e.container,a=e.canvas,s=e.renderer,o=e.width,l=e.height,c=e.background,u=e.cursor,h=e.supportsMutipleCanvasesInOneContainer,f=e.cleanUpOnDestroy,d=f===void 0?!0:f,v=e.offscreenCanvas,g=e.devicePixelRatio,p=e.requestAnimationFrame,y=e.cancelAnimationFrame,b=e.createImage,M=e.supportsTouchEvents,O=e.supportsPointerEvents,k=e.isTouchEvent,D=e.isMouseEvent,j=e.dblClickSpeed,B=o,W=l,V=g||rd&&window.devicePixelRatio||1;return V=V>=1?Math.ceil(V):1,a&&(B=o||XA(a)||a.width/V,W=l||VA(a)||a.height/V),r.customElements=new hS,r.devicePixelRatio=V,r.requestAnimationFrame=p!=null?p:ad.bind(Xt.globalThis),r.cancelAnimationFrame=y!=null?y:Gp.bind(Xt.globalThis),r.createImage=b!=null?b:function(){return new window.Image},r.supportsTouchEvents=M!=null?M:"ontouchstart"in Xt.globalThis,r.supportsPointerEvents=O!=null?O:!!Xt.globalThis.PointerEvent,r.isTouchEvent=k!=null?k:function(q){return r.supportsTouchEvents&&q instanceof Xt.globalThis.TouchEvent},r.isMouseEvent=D!=null?D:function(q){return!Xt.globalThis.MouseEvent||q instanceof Xt.globalThis.MouseEvent&&(!r.supportsPointerEvents||!(q instanceof Xt.globalThis.PointerEvent))},v&&(Xt.offscreenCanvas=v),r.document=new nm,r.document.defaultView=r,h||_A(i,r,d),r.initRenderingContext((0,z.Z)((0,z.Z)({},e),{},{width:B,height:W,background:c!=null?c:"transparent",cursor:u!=null?u:"default",cleanUpOnDestroy:d,devicePixelRatio:V,requestAnimationFrame:r.requestAnimationFrame,cancelAnimationFrame:r.cancelAnimationFrame,createImage:r.createImage,supportsTouchEvents:r.supportsTouchEvents,supportsPointerEvents:r.supportsPointerEvents,isTouchEvent:r.isTouchEvent,isMouseEvent:r.isMouseEvent,dblClickSpeed:j!=null?j:200})),r.initDefaultCamera(B,W,s.clipSpaceNearZ),r.initRenderer(s,!0),r}return(0,T.Z)(t,n),(0,S.Z)(t,[{key:"initRenderingContext",value:function(r){this.context.config=r,this.context.renderingContext={root:this.document.documentElement,unculledEntities:[],renderListCurrentFrame:[],renderReasons:new Set,force:!1,dirty:!1}}},{key:"initDefaultCamera",value:function(r,i,a){var s=this,o=new Xt.CameraContribution;o.clipSpaceNearZ=a,o.setType(an.EXPLORING,jf.DEFAULT).setPosition(r/2,i/2,sm).setFocalPoint(r/2,i/2,0).setOrthographic(r/-2,r/2,i/2,i/-2,vS,gS),o.canvas=this,o.eventEmitter.on(Ug.UPDATED,function(){s.context.renderingContext.renderReasons.add(lo.CAMERA_CHANGED),Xt.enableSizeAttenuation&&s.getConfig().renderer.getConfig().enableSizeAttenuation&&s.updateSizeAttenuation()}),this.context.camera=o}},{key:"updateSizeAttenuation",value:function(){var r=this.getCamera().getZoom();this.document.documentElement.forEach(function(i){Xt.styleValueRegistry.updateSizeAttenuation(i,r)})}},{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 r=this;return this.readyPromise||(this.readyPromise=new Promise(function(i){r.resolveReadyPromise=function(){i(r)}}),this.inited&&this.resolveReadyPromise()),this.readyPromise}},{key:"destroy",value:function(){var r,i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,a=arguments.length>1?arguments[1]:void 0;Zn.clearCache();var s=((r=this.getConfig().future)===null||r===void 0?void 0:r.experimentalCancelEventPropagation)===!0;a||this.dispatchEvent(new Qn(ei.BEFORE_DESTROY),s,s),this.frameId&&this.cancelAnimationFrame(this.frameId);var o=this.getRoot();i&&(this.unmountChildren(o),this.document.destroy(),this.getEventService().destroy()),this.getRenderingService().destroy(),this.getContextService().destroy(),this.context.rBushRoot&&this.context.rBushRoot.clear(),a||this.dispatchEvent(new Qn(ei.AFTER_DESTROY),s,s);var l=function(u){u.currentTarget=null,u.manager=null,u.target=null,u.relatedNode=null};l(Tc),l(Cc),l(dd),l(om),l(vd),l(qi),l(ud),l(hd),l(em),Xt.textService.clearCache()}},{key:"changeSize",value:function(r,i){this.resize(r,i)}},{key:"resize",value:function(r,i){var a,s=this.context.config;s.width=r,s.height=i,this.getContextService().resize(r,i);var o=this.context.camera,l=o.getProjectionMode();o.setPosition(r/2,i/2,sm).setFocalPoint(r/2,i/2,0),l===vi.ORTHOGRAPHIC?o.setOrthographic(r/-2,r/2,i/2,i/-2,o.getNear(),o.getFar()):o.setAspect(r/i);var c=((a=s.future)===null||a===void 0?void 0:a.experimentalCancelEventPropagation)===!0;this.dispatchEvent(new Qn(ei.RESIZE,{width:r,height:i}),c,c)}},{key:"appendChild",value:function(r,i){return this.document.documentElement.appendChild(r,i)}},{key:"insertBefore",value:function(r,i){return this.document.documentElement.insertBefore(r,i)}},{key:"removeChild",value:function(r){return this.document.documentElement.removeChild(r)}},{key:"removeChildren",value:function(){this.document.documentElement.removeChildren()}},{key:"destroyChildren",value:function(){this.document.documentElement.destroyChildren()}},{key:"render",value:function(r){var i,a=this;r&&(dd.detail=r,vd.detail=r);var s=((i=this.getConfig().future)===null||i===void 0?void 0:i.experimentalCancelEventPropagation)===!0;this.dispatchEvent(dd,s,s);var o=this.getRenderingService();o.render(this.getConfig(),r,function(){a.dispatchEvent(om,s,s)}),this.dispatchEvent(vd,s,s)}},{key:"run",value:function(){var r=this,i=function(s,o){r.render(o),r.frameId=r.requestAnimationFrame(i)};i()}},{key:"initRenderer",value:function(r){var i=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(!r)throw new Error("Renderer is required.");this.inited=!1,this.readyPromise=void 0,this.context.rBushRoot=new I2,this.context.renderingPlugins=[],this.context.renderingPlugins.push(new im,new am,new rm([new dS])),this.loadRendererContainerModule(r),this.context.contextService=new this.context.ContextService((0,z.Z)((0,z.Z)({},Xt),this.context)),this.context.renderingService=new OP(Xt,this.context),this.context.eventService=new SP(Xt,this.context),this.context.eventService.init(),this.context.contextService.init?(this.context.contextService.init(),this.initRenderingService(r,a,!0)):this.context.contextService.initAsync().then(function(){i.initRenderingService(r,a)}).catch(function(s){console.error(s)})}},{key:"initRenderingService",value:function(r){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(){var o;i.inited=!0;var l=((o=i.getConfig().future)===null||o===void 0?void 0:o.experimentalCancelEventPropagation)===!0;a?s?i.requestAnimationFrame(function(){i.dispatchEvent(new Qn(ei.READY),l,l)}):i.dispatchEvent(new Qn(ei.READY),l,l):i.dispatchEvent(new Qn(ei.RENDERER_CHANGED),l,l),i.readyPromise&&i.resolveReadyPromise(),a||i.getRoot().forEach(function(c){var u,h;(u=(h=c).dirty)===null||u===void 0||u.call(h,!0,!0)}),i.mountChildren(i.getRoot()),r.getConfig().enableAutoRendering&&i.run()})}},{key:"loadRendererContainerModule",value:function(r){var i=this,a=r.getPlugins();a.forEach(function(s){s.context=i.context,s.init(Xt)})}},{key:"setRenderer",value:function(r){var i=this.getConfig();if(i.renderer!==r){var a=i.renderer;i.renderer=r,this.destroy(!1,!0),(0,N.Z)((a==null?void 0:a.getPlugins())||[]).reverse().forEach(function(s){s.destroy(Xt)}),this.initRenderer(r)}}},{key:"setCursor",value:function(r){var i=this.getConfig();i.cursor=r,this.getContextService().applyCursorStyle(r)}},{key:"unmountChildren",value:function(r){var i=this;if(r.childNodes.forEach(function(o){i.unmountChildren(o)}),this.inited){if(r.isMutationObserved)r.dispatchEvent(Cc);else{var a,s=((a=this.getConfig().future)===null||a===void 0?void 0:a.experimentalCancelEventPropagation)===!0;Cc.target=r,this.dispatchEvent(Cc,!0,s)}r!==this.document.documentElement&&(r.ownerDocument=null),r.isConnected=!1}r.isCustomElement&&r.disconnectedCallback&&r.disconnectedCallback()}},{key:"mountChildren",value:function(r){var i=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:xc(r);if(this.inited){if(!r.isConnected&&(r.ownerDocument=this.document,r.isConnected=!0,!a))if(r.isMutationObserved)r.dispatchEvent(Tc);else{var s,o=((s=this.getConfig().future)===null||s===void 0?void 0:s.experimentalCancelEventPropagation)===!0;Tc.target=r,this.dispatchEvent(Tc,!0,o)}}else 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: ",r.nodeName);r.childNodes.forEach(function(l){i.mountChildren(l,a)}),r.isCustomElement&&r.connectedCallback&&r.connectedCallback()}},{key:"mountFragment",value:function(r){this.mountChildren(r,!1)}},{key:"client2Viewport",value:function(r){return this.getEventService().client2Viewport(r)}},{key:"viewport2Client",value:function(r){return this.getEventService().viewport2Client(r)}},{key:"viewport2Canvas",value:function(r){return this.getEventService().viewport2Canvas(r)}},{key:"canvas2Viewport",value:function(r){return this.getEventService().canvas2Viewport(r)}},{key:"getPointByClient",value:function(r,i){return this.client2Viewport({x:r,y:i})}},{key:"getClientByPoint",value:function(r,i){return this.viewport2Client({x:r,y:i})}}])}(Kp);var pS=function(n){function t(){var e;(0,C.Z)(this,t);for(var r=arguments.length,i=new Array(r),a=0;a<r;a++)i[a]=arguments[a];return e=(0,R.Z)(this,t,[].concat(i)),e.landmarks=[],e}return(0,T.Z)(t,n),(0,S.Z)(t,[{key:"rotate",value:function(r,i,a){if(this.relElevation=io(i),this.relAzimuth=io(r),this.relRoll=io(a),this.elevation+=this.relElevation,this.azimuth+=this.relAzimuth,this.roll+=this.relRoll,this.type===an.EXPLORING){var s=Na(Kn(),[1,0,0],rn((this.rotateWorld?1:-1)*this.relElevation)),o=Na(Kn(),[0,1,0],rn((this.rotateWorld?1:-1)*this.relAzimuth)),l=Na(Kn(),[0,0,1],rn(this.relRoll)),c=ka(Kn(),o,s);c=ka(Kn(),c,l);var u=Zo(Gt(),c);Yt(this.matrix,this.matrix,[0,0,-this.distance]),qt(this.matrix,this.matrix,u),Yt(this.matrix,this.matrix,[0,0,this.distance])}else{if(Math.abs(this.elevation)>90)return this;this.computeMatrix()}return this._getAxes(),this.type===an.ORBITING||this.type===an.EXPLORING?this._getPosition():this.type===an.TRACKING&&this._getFocalPoint(),this._update(),this}},{key:"pan",value:function(r,i){var a=Rr(r,i,0),s=wt(this.position);return _t(s,s,kt(pt(),this.right,a[0])),_t(s,s,kt(pt(),this.up,a[1])),this._setPosition(s),this.triggerUpdate(),this}},{key:"dolly",value:function(r){var i=this.forward,a=wt(this.position),s=r*this.dollyingStep,o=this.distance+r*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===an.ORBITING||this.type===an.EXPLORING?this._getDistance():this.type===an.TRACKING&&_t(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(r){var i,a,s,o,l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},c=l.position,u=c===void 0?this.position:c,h=l.focalPoint,f=h===void 0?this.focalPoint:h,d=l.roll,v=l.zoom,g=new Xt.CameraContribution;g.setType(this.type,void 0),g.setPosition(u[0],(i=u[1])!==null&&i!==void 0?i:this.position[1],(a=u[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:r,matrix:ue(g.getWorldTransform()),right:wt(g.right),up:wt(g.up),forward:wt(g.forward),position:wt(g.getPosition()),focalPoint:wt(g.getFocalPoint()),distanceVector:wt(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(r){var i=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=We(r)?this.landmarks.find(function(q){return q.name===r}):r;if(s){var o=ie(a)?{duration:a}:a,l=o.easing,c=l===void 0?"linear":l,u=o.duration,h=u===void 0?100:u,f=o.easingFunction,d=f===void 0?void 0:f,v=o.onfinish,g=v===void 0?void 0:v,p=o.onframe,y=p===void 0?void 0:p,b=.01;this.cancelLandmarkAnimation();var M=s.position,O=s.focalPoint,k=s.zoom,D=s.roll,j=d||Xt.EasingFunction(c),B,W=function(){i.setFocalPoint(O),i.setPosition(M),i.setRoll(D),i.setZoom(k),i.computeMatrix(),i.triggerUpdate(),g==null||g()};if(h===0)return W();var V=function($){B===void 0&&(B=$);var ot=$-B;if(ot>=h){W();return}var ct=j(ot/h),vt=pt(),Ct=pt(),Ot=1,mt=0;Re(vt,i.focalPoint,O,ct),Re(Ct,i.position,M,ct),mt=i.roll*(1-ct)+D*ct,Ot=i.zoom*(1-ct)+k*ct,i.setFocalPoint(vt),i.setPosition(Ct),i.setRoll(mt),i.setZoom(Ot);var yt=ls(vt,O)+ls(Ct,M);if(yt<=b&&k===void 0&&D===void 0)return W();i.computeMatrix(),i.triggerUpdate(),ot<h&&(y==null||y(ct),i.landmarkAnimationID=i.canvas.requestAnimationFrame(V))};this.canvas.requestAnimationFrame(V)}}}])}(Qg);Xt.CameraContribution=pS;var lm=null,Yz=0,cm=new WeakMap,Uz=null,Kz=null,Nc,da;function Qz(n,t){return Nc=new lm(n,t)}function Jz(n){return da||(da=lm.copy(Nc),da.oldValue=n,da)}function qz(){Nc=da=void 0}function mS(n){return n===da||n===Nc}function $z(n,t){return n===t?n:da&&mS(n)?da:null}function yS(n){n.nodes.forEach(function(t){var e=cm.get(t);e&&e.forEach(function(r){r.observer===n&&r.removeTransientObservers()})})}function t7(n,t){for(var e=n;e;e=e.parentNode){var r=cm.get(e);if(r)for(var i=0;i<r.length;i++){var a=r[i],s=a.options;if(!(e!==n&&!s.subtree)){var o=t(s);o&&a.enqueue(o)}}}}var pd=!1,md=null;function e7(n){md.push(n),pd||(pd=!0,typeof runtime.globalThis!="undefined"?runtime.globalThis.setTimeout(yd):yd())}function yd(){pd=!1;var n=md;md=[],n.sort(function(e,r){return e.uid-r.uid});var t=!1;n.forEach(function(e){var r=e.takeRecords();yS(e),r.length&&(e.callback(r,e),t=!0)}),t&&yd()}var bd=function(n){function t(e,r,i,a){var s;return(0,C.Z)(this,t),s=(0,R.Z)(this,t,[e]),s.currentTime=i,s.timelineTime=a,s.target=r,s.type="finish",s.bubbles=!1,s.currentTarget=r,s.defaultPrevented=!1,s.eventPhase=s.AT_TARGET,s.timeStamp=Date.now(),s.currentTime=i,s.timelineTime=a,s}return(0,T.Z)(t,n),(0,S.Z)(t)}(Ec),bS=0,xS=function(){function n(t,e){var r;(0,C.Z)(this,n),this.currentTimePending=!1,this._idle=!0,this._paused=!1,this._finishedFlag=!0,this._currentTime=0,this._playbackRate=1,this._inTimeline=!0,this.effect=t,t.animation=this,this.timeline=e,this.id="".concat(bS++),this._inEffect=!!this.effect.update(0),this._totalDuration=Number((r=this.effect)===null||r===void 0?void 0:r.getComputedTiming().endTime),this._holdTime=0,this._paused=!1,this.oldPlayState="idle",this.updatePromises()}return(0,S.Z)(n,[{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 e=this;return this.readyPromise||(this.timeline.animationsWithPromises.indexOf(this)===-1&&this.timeline.animationsWithPromises.push(this),this.readyPromise=new Promise(function(r,i){e.resolveReadyPromise=function(){r(e)},e.rejectReadyPromise=function(){i(new Error)}}),this.pending||this.resolveReadyPromise()),this.readyPromise}},{key:"finished",get:function(){var e=this;return this.finishedPromise||(this.timeline.animationsWithPromises.indexOf(this)===-1&&this.timeline.animationsWithPromises.push(this),this.finishedPromise=new Promise(function(r,i){e.resolveFinishedPromise=function(){r(e)},e.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(e){if(e=Number(e),!isNaN(e)){if(this.timeline.restart(),!this._paused&&this._startTime!==null){var r;this._startTime=Number((r=this.timeline)===null||r===void 0?void 0:r.currentTime)-e/this.playbackRate}this.currentTimePending=!1,this._currentTime!==e&&(this._idle&&(this._idle=!1,this._paused=!0),this.tickCurrentTime(e,!0),this.timeline.applyDirtiedAnimation(this))}}},{key:"startTime",get:function(){return this._startTime},set:function(e){if(e!==null){if(this.updatePromises(),e=Number(e),isNaN(e)||this._paused||this._idle)return;this._startTime=e,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(e){if(e!==this._playbackRate){this.updatePromises();var r=this.currentTime;this._playbackRate=e,this.startTime=null,this.playState!=="paused"&&this.playState!=="idle"&&(this._finishedFlag=!1,this._idle=!1,this.ensureAlive(),this.timeline.applyDirtiedAnimation(this)),r!==null&&(this.currentTime=r),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 e;if((e=this.effect.target)!==null&&e!==void 0&&e.destroyed)return this.readyPromise=void 0,this.finishedPromise=void 0,!1;var r=this.oldPlayState,i=this.pending?"pending":this.playState;return this.readyPromise&&i!==r&&(i==="idle"?(this.rejectReadyPromise(),this.readyPromise=void 0):r==="pending"?this.resolveReadyPromise():i==="pending"&&(this.readyPromise=void 0)),this.finishedPromise&&i!==r&&(i==="idle"?(this.rejectFinishedPromise(),this.finishedPromise=void 0):i==="finished"?this.resolveFinishedPromise():r==="finished"&&(this.finishedPromise=void 0)),this.oldPlayState=i,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 e=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 r=new bd(null,this,this.currentTime,null);setTimeout(function(){e.oncancel(r)})}}},{key:"reverse",value:function(){this.updatePromises();var e=this.currentTime;this.playbackRate*=-1,this.play(),e!==null&&(this.currentTime=e),this.updatePromises()}},{key:"updatePlaybackRate",value:function(e){this.playbackRate=e}},{key:"targetAnimations",value:function(){var e,r=(e=this.effect)===null||e===void 0?void 0:e.target;return r.getAnimations()}},{key:"markTarget",value:function(){var e=this.targetAnimations();e.indexOf(this)===-1&&e.push(this)}},{key:"unmarkTarget",value:function(){var e=this.targetAnimations(),r=e.indexOf(this);r!==-1&&e.splice(r,1)}},{key:"tick",value:function(e,r){!this._idle&&!this._paused&&(this._startTime===null?r&&(this.startTime=e-this._currentTime/this.playbackRate):this._isFinished||this.tickCurrentTime((e-this._startTime)*this.playbackRate)),r&&(this.currentTimePending=!1,this.fireEvents(e))}},{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(nn)}},{key:"addEventListener",value:function(e,r,i){throw new Error(nn)}},{key:"removeEventListener",value:function(e,r,i){throw new Error(nn)}},{key:"dispatchEvent",value:function(e){throw new Error(nn)}},{key:"commitStyles",value:function(){throw new Error(nn)}},{key:"ensureAlive",value:function(){if(this.playbackRate<0&&this.currentTime===0){var e;this._inEffect=!!((e=this.effect)!==null&&e!==void 0&&e.update(-1))}else{var r;this._inEffect=!!((r=this.effect)!==null&&r!==void 0&&r.update(this.currentTime))}!this._inTimeline&&(this._inEffect||!this._finishedFlag)&&(this._inTimeline=!0,this.timeline.animations.push(this))}},{key:"tickCurrentTime",value:function(e,r){e!==this._currentTime&&(this._currentTime=e,this._isFinished&&!r&&(this._currentTime=this._playbackRate>0?this._totalDuration:0),this.ensureAlive())}},{key:"fireEvents",value:function(e){var r=this;if(this._isFinished){if(!this._finishedFlag){if(this.onfinish){var i=new bd(null,this,this.currentTime,e);setTimeout(function(){r.onfinish&&r.onfinish(i)})}this._finishedFlag=!0}}else{if(this.onframe&&this.playState==="running"){var a=new bd(null,this,this.currentTime,e);this.onframe(a)}this._finishedFlag=!1}}}])}(),ES=4,wS=.001,MS=1e-7,AS=10,sl=11,kc=1/(sl-1),PS=typeof Float32Array=="function",um=function(t,e){return 1-3*e+3*t},hm=function(t,e){return 3*e-6*t},fm=function(t){return 3*t},Lc=function(t,e,r){return((um(e,r)*t+hm(e,r))*t+fm(e))*t},dm=function(t,e,r){return 3*um(e,r)*t*t+2*hm(e,r)*t+fm(e)},SS=function(t,e,r,i,a){var s,o,l=0;do o=e+(r-e)/2,s=Lc(o,i,a)-t,s>0?r=o:e=o;while(Math.abs(s)>MS&&++l<AS);return o},OS=function(t,e,r,i){for(var a=0;a<ES;++a){var s=dm(e,r,i);if(s===0)return e;var o=Lc(e,r,i)-t;e-=o/s}return e},xd=function(t,e,r,i){if(!(t>=0&&t<=1&&r>=0&&r<=1))throw new Error("bezier x values must be in [0, 1] range");if(t===e&&r===i)return function(l){return l};for(var a=PS?new Float32Array(sl):new Array(sl),s=0;s<sl;++s)a[s]=Lc(s*kc,t,r);var o=function(c){for(var u=0,h=1,f=sl-1;h!==f&&a[h]<=c;++h)u+=kc;--h;var d=(c-a[h])/(a[h+1]-a[h]),v=u+d*kc,g=dm(v,t,r);return g>=wS?OS(c,v,t,r):g===0?v:SS(c,u,u+kc,t,r)};return function(l){return l===0||l===1?l:Lc(o(l),e,i)}},TS=function(t){return t=t.replace(/([A-Z])/g,function(e){return"-".concat(e.toLowerCase())}),t.charAt(0)==="-"?t.substring(1):t},Dc=function(t){return Math.pow(t,2)},Rc=function(t){return Math.pow(t,3)},Ic=function(t){return Math.pow(t,4)},Bc=function(t){return Math.pow(t,5)},zc=function(t){return Math.pow(t,6)},jc=function(t){return 1-Math.cos(t*Math.PI/2)},Fc=function(t){return 1-Math.sqrt(1-t*t)},Zc=function(t){return t*t*(3*t-2)},_c=function(t){for(var e,r=4;t<((e=Math.pow(2,--r))-1)/11;);return 1/Math.pow(4,3-r)-7.5625*Math.pow((e*3-2)/22-t,2)},Hc=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=(0,L.Z)(e,2),i=r[0],a=i===void 0?1:i,s=r[1],o=s===void 0?.5:s,l=Nn(Number(a),1,10),c=Nn(Number(o),.1,2);return t===0||t===1?t:-l*Math.pow(2,10*(t-1))*Math.sin((t-1-c/(Math.PI*2)*Math.asin(1/l))*(Math.PI*2)/c)},ol=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=arguments.length>2?arguments[2]:void 0,i=(0,L.Z)(e,4),a=i[0],s=a===void 0?1:a,o=i[1],l=o===void 0?100:o,c=i[2],u=c===void 0?10:c,h=i[3],f=h===void 0?0:h;s=Nn(s,.1,1e3),l=Nn(l,.1,1e3),u=Nn(u,.1,1e3),f=Nn(f,.1,1e3);var d=Math.sqrt(l/s),v=u/(2*Math.sqrt(l*s)),g=v<1?d*Math.sqrt(1-v*v):0,p=1,y=v<1?(v*d+-f)/g:-f+d,b=r?r*t/1e3:t;return v<1?b=Math.exp(-b*v*d)*(p*Math.cos(g*b)+y*Math.sin(g*b)):b=(p+y*b)*Math.exp(-b*d),t===0||t===1?t:1-b},Ed=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=e,i=(0,L.Z)(r,2),a=i[0],s=a===void 0?10:a,o=i[1],l=o==="start"?Math.ceil:Math.floor;return l(Nn(t,0,1)*s)/s},vm=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=(0,L.Z)(e,4),i=r[0],a=r[1],s=r[2],o=r[3];return xd(i,a,s,o)(t)},Gc=xd(.42,0,1,1),pi=function(t){return function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0;return 1-t(1-e,r,i)}},mi=function(t){return function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0;return e<.5?t(e*2,r,i)/2:1-t(e*-2+2,r,i)/2}},yi=function(t){return function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0;return e<.5?(1-t(1-e*2,r,i))/2:(t(e*2-1,r,i)+1)/2}},gm={steps:Ed,"step-start":function(t){return Ed(t,[1,"start"])},"step-end":function(t){return Ed(t,[1,"end"])},linear:function(t){return t},"cubic-bezier":vm,ease:function(t){return vm(t,[.25,.1,.25,1])},in:Gc,out:pi(Gc),"in-out":mi(Gc),"out-in":yi(Gc),"in-quad":Dc,"out-quad":pi(Dc),"in-out-quad":mi(Dc),"out-in-quad":yi(Dc),"in-cubic":Rc,"out-cubic":pi(Rc),"in-out-cubic":mi(Rc),"out-in-cubic":yi(Rc),"in-quart":Ic,"out-quart":pi(Ic),"in-out-quart":mi(Ic),"out-in-quart":yi(Ic),"in-quint":Bc,"out-quint":pi(Bc),"in-out-quint":mi(Bc),"out-in-quint":yi(Bc),"in-expo":zc,"out-expo":pi(zc),"in-out-expo":mi(zc),"out-in-expo":yi(zc),"in-sine":jc,"out-sine":pi(jc),"in-out-sine":mi(jc),"out-in-sine":yi(jc),"in-circ":Fc,"out-circ":pi(Fc),"in-out-circ":mi(Fc),"out-in-circ":yi(Fc),"in-back":Zc,"out-back":pi(Zc),"in-out-back":mi(Zc),"out-in-back":yi(Zc),"in-bounce":_c,"out-bounce":pi(_c),"in-out-bounce":mi(_c),"out-in-bounce":yi(_c),"in-elastic":Hc,"out-elastic":pi(Hc),"in-out-elastic":mi(Hc),"out-in-elastic":yi(Hc),spring:ol,"spring-in":ol,"spring-out":pi(ol),"spring-in-out":mi(ol),"spring-out-in":yi(ol)},CS=function(t){return TS(t).replace(/^ease-/,"").replace(/(\(|\s).+/,"").toLowerCase().trim()},NS=function(t){return gm[CS(t)]||gm.linear},kS=function(t){return t},LS=1,DS=.5,pm=0;function mm(n,t){return function(e){if(e>=1)return 1;var r=1/n;return e+=t*r,e-e%r}}var Wc="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s*",RS=new RegExp("cubic-bezier\\(".concat(Wc,",").concat(Wc,",").concat(Wc,",").concat(Wc,"\\)")),IS=/steps\(\s*(\d+)\s*\)/,BS=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/;function wd(n){var t=RS.exec(n);if(t)return xd.apply(void 0,(0,N.Z)(t.slice(1).map(Number)));var e=IS.exec(n);if(e)return mm(Number(e[1]),pm);var r=BS.exec(n);return r?mm(Number(r[1]),{start:LS,middle:DS,end:pm}[r[2]]):NS(n)}function zS(n){return Math.abs(jS(n)/(n.playbackRate||1))}function jS(n){var t;return n.duration===0||n.iterations===0?0:(n.duration==="auto"?0:Number(n.duration))*((t=n.iterations)!==null&&t!==void 0?t:1)}var ym=0,Md=1,Xc=2,bm=3;function FS(n,t,e){if(t===null)return ym;var r=e.endTime;return t<Math.min(e.delay,r)?Md:t>=Math.min(e.delay+n+e.endDelay,r)?Xc:bm}function ZS(n,t,e,r,i){switch(r){case Md:return t==="backwards"||t==="both"?0:null;case bm:return e-i;case Xc:return t==="forwards"||t==="both"?n:null;case ym:return null}}function _S(n,t,e,r,i){var a=i;return n===0?t!==Md&&(a+=e):a+=r/n,a}function HS(n,t,e,r,i,a){var s=n===1/0?t%1:n%1;return s===0&&e===Xc&&r!==0&&(i!==0||a===0)&&(s=1),s}function GS(n,t,e,r){return n===Xc&&t===1/0?1/0:e===1?Math.floor(r)-1:Math.floor(r)}function WS(n,t,e){var r=n;if(n!=="normal"&&n!=="reverse"){var i=t;n==="alternate-reverse"&&(i+=1),r="normal",i!==1/0&&i%2!==0&&(r="reverse")}return r==="normal"?e:1-e}function XS(n,t,e){var r=FS(n,t,e),i=ZS(n,e.fill,t,r,e.delay);if(i===null)return null;var a=e.duration==="auto"?0:e.duration,s=_S(a,r,e.iterations,i,e.iterationStart),o=HS(s,e.iterationStart,r,e.iterations,i,a),l=GS(r,e.iterations,o,s),c=WS(e.direction,l,o);return e.currentIteration=l,e.progress=c,e.easingFunction(c)}function VS(n,t,e){var r=YS(n,t),i=US(r,e);return function(a,s){if(s!==null)i.filter(function(l){return s>=l.applyFrom&&s<l.applyTo}).forEach(function(l){var c=s-l.startOffset,u=l.endOffset-l.startOffset,h=u===0?0:c/u;a.setAttribute(l.property,l.interpolation(h),!1,!1)});else for(var o in r)xm(o)&&a.setAttribute(o,null)}}function xm(n){return n!=="offset"&&n!=="easing"&&n!=="composite"&&n!=="computedOffset"}function YS(n,t){for(var e={},r=0;r<n.length;r++)for(var i in n[r])if(xm(i)){var a={offset:n[r].offset,computedOffset:n[r].computedOffset,easing:n[r].easing,easingFunction:wd(n[r].easing)||t.easingFunction,value:n[r][i]};e[i]=e[i]||[],e[i].push(a)}return e}function US(n,t){var e=[];for(var r in n)for(var i=n[r],a=0;a<i.length-1;a++){var s=a,o=a+1,l=i[s].computedOffset,c=i[o].computedOffset,u=l,h=c;a===0&&(u=-1/0,c===0&&(o=s)),a===i.length-2&&(h=1/0,l===1&&(s=o)),e.push({applyFrom:u,applyTo:h,startOffset:i[s].computedOffset,endOffset:i[o].computedOffset,easingFunction:i[s].easingFunction,property:r,interpolation:KS(r,i[s].value,i[o].value,t)})}return e.sort(function(f,d){return f.startOffset-d.startOffset}),e}var Em=function(t,e,r){return function(i){var a=wm(t,e,i);return ie(a)?a:r(a)}};function KS(n,t,e,r){var i=Dp[n];if(i&&i.syntax&&i.int){var a=Xt.styleValueRegistry.getPropertySyntax(i.syntax);if(a){var s=a.parser,o=s?s(t,r):t,l=s?s(e,r):e,c=a.mixer(o,l,r);if(c){var u=Em.apply(void 0,(0,N.Z)(c));return function(h){return h===0?t:h===1?e:u(h)}}}}return Em(!1,!0,function(h){return h?e:t})}function wm(n,t,e){if(typeof n=="number"&&typeof t=="number")return n*(1-e)+t*e;if(typeof n=="boolean"&&typeof t=="boolean"||typeof n=="string"&&typeof t=="string")return e<.5?n:t;if(Array.isArray(n)&&Array.isArray(t)){for(var r=n.length,i=t.length,a=Math.max(r,i),s=[],o=0;o<a;o++)s.push(wm(n[o<r?o:r-1],t[o<i?o:i-1],e));return s}throw new Error("Mismatched interpolation arguments ".concat(n,":").concat(t))}var QS=function(){function n(){(0,C.Z)(this,n),this.delay=0,this.direction="normal",this.duration="auto",this._easing="linear",this.easingFunction=kS,this.endDelay=0,this.fill="auto",this.iterationStart=0,this.iterations=1,this.currentIteration=null,this.progress=null}return(0,S.Z)(n,[{key:"easing",get:function(){return this._easing},set:function(e){this.easingFunction=wd(e),this._easing=e}}])}();function JS(n){var t=[];for(var e in n)if(!(e in["easing","offset","composite"])){var r=n[e];Array.isArray(r)||(r=[r]);for(var i=r.length,a=0;a<i;a++){if(!t[a]){var s={};"offset"in n&&(s.offset=Number(n.offset)),"easing"in n&&(s.easing=n.easing),"composite"in n&&(s.composite=n.composite),t[a]=s}r[a]!==void 0&&r[a]!==null&&(t[a][e]=r[a])}}return t.sort(function(o,l){return(o.computedOffset||0)-(l.computedOffset||0)}),t}function Mm(n,t){if(n===null)return[];Array.isArray(n)||(n=JS(n));for(var e=n.map(function(l){var c={};t!=null&&t.composite&&(c.composite="auto");for(var u in l){var h=l[u];if(u==="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.");c.computedOffset=h}}else if(u==="composite"&&["replace","add","accumulate","auto"].indexOf(h)===-1)throw new Error("".concat(h," compositing is not supported"));c[u]=h}return c.offset===void 0&&(c.offset=null),c.easing===void 0&&(c.easing=(t==null?void 0:t.easing)||"linear"),c.composite===void 0&&(c.composite="auto"),c}),r=!0,i=-1/0,a=0;a<e.length;a++){var s=e[a].offset;if(ye(s))r=!1;else{if(s<i)throw new TypeError("Keyframes are not loosely sorted by offset. Sort or specify offsets.");i=s}}e=e.filter(function(l){return Number(l.offset)>=0&&Number(l.offset)<=1});function o(){var l,c=e,u=c.length;if(e[u-1].computedOffset=Number((l=e[u-1].offset)!==null&&l!==void 0?l:1),u>1){var h;e[0].computedOffset=Number((h=e[0].offset)!==null&&h!==void 0?h:0)}for(var f=0,d=Number(e[0].computedOffset),v=1;v<u;v++){var g=e[v].computedOffset;if(!ye(g)&&!ye(d)){for(var p=1;p<v-f;p++)e[f+p].computedOffset=d+(Number(g)-d)*p/(v-f);f=v,d=Number(g)}}}return r||o(),e}var qS="backwards|forwards|both|none".split("|"),$S="reverse|alternate|alternate-reverse".split("|");function tO(n,t){var e=new QS;return t&&(e.fill="both",e.duration="auto"),typeof n=="number"&&!isNaN(n)?e.duration=n:n!==void 0&&Object.keys(n).forEach(function(r){if(n[r]!==void 0&&n[r]!==null&&n[r]!=="auto"){if((typeof e[r]=="number"||r==="duration")&&(typeof n[r]!="number"||isNaN(n[r]))||r==="fill"&&qS.indexOf(n[r])===-1||r==="direction"&&$S.indexOf(n[r])===-1)return;e[r]=n[r]}}),e}function eO(n,t){return n=nO(n!=null?n:{duration:"auto"}),tO(n,t)}function nO(n){return typeof n=="number"&&(isNaN(n)?n={duration:"auto"}:n={duration:n}),n}var rO=function(){function n(t,e,r){var i=this;(0,C.Z)(this,n),this.composite="replace",this.iterationComposite="replace",this.target=t,this.timing=eO(r,!1),this.timing.effect=this,this.timing.activeDuration=zS(this.timing),this.timing.endTime=Math.max(0,this.timing.delay+this.timing.activeDuration+this.timing.endDelay),this.normalizedKeyframes=Mm(e,this.timing),this.interpolations=VS(this.normalizedKeyframes,this.timing,this.target);var a=Xt.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(0,S.Z)(n,[{key:"applyInterpolations",value:function(){this.interpolations(this.target,Number(this.timeFraction))}},{key:"update",value:function(e){return e===null?!1:(this.timeFraction=XS(this.timing.activeDuration,e,this.timing),this.timeFraction!==null)}},{key:"getKeyframes",value:function(){return this.normalizedKeyframes}},{key:"setKeyframes",value:function(e){this.normalizedKeyframes=Mm(e)}},{key:"getComputedTiming",value:function(){return this.computedTiming}},{key:"getTiming",value:function(){return this.timing}},{key:"updateTiming",value:function(e){var r=this;Object.keys(e||{}).forEach(function(i){r.timing[i]=e[i]})}}])}();function Am(n,t){return Number(n.id)-Number(t.id)}var iO=function(){function n(t){var e=this;(0,C.Z)(this,n),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(r){e.currentTime=r,e.discardAnimations(),e.animations.length===0?e.timelineTicking=!1:e.requestAnimationFrame(e.webAnimationsNextTick)},this.processRafCallbacks=function(r){var i=e.rafCallbacks;e.rafCallbacks=[],r<Number(e.currentTime)&&(r=Number(e.currentTime)),e.animations.sort(Am),e.animations=e.tick(r,!0,e.animations)[0],i.forEach(function(a){a[1](r)}),e.applyPendingEffects()},this.document=t}return(0,S.Z)(n,[{key:"getAnimations",value:function(){return this.discardAnimations(),this.animations.slice()}},{key:"isTicking",value:function(){return this.inTick}},{key:"play",value:function(e,r,i){var a=new rO(e,r,i),s=new xS(a,this);return this.animations.push(s),this.restartWebAnimationsNextTick(),s.updatePromises(),s.play(),s.updatePromises(),s}},{key:"applyDirtiedAnimation",value:function(e){var r=this;if(!this.inTick){e.markTarget();var i=e.targetAnimations();i.sort(Am);var a=this.tick(Number(this.currentTime),!1,i.slice())[1];a.forEach(function(s){var o=r.animations.indexOf(s);o!==-1&&r.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(e){e==null||e.applyInterpolations()}),this.pendingEffects=[]}},{key:"updateAnimationsPromises",value:function(){this.animationsWithPromises=this.animationsWithPromises.filter(function(e){return e.updatePromises()})}},{key:"discardAnimations",value:function(){this.updateAnimationsPromises(),this.animations=this.animations.filter(function(e){return e.playState!=="finished"&&e.playState!=="idle"})}},{key:"restartWebAnimationsNextTick",value:function(){this.timelineTicking||(this.timelineTicking=!0,this.requestAnimationFrame(this.webAnimationsNextTick))}},{key:"rAF",value:function(e){var r=this.rafId++;return this.rafCallbacks.length===0&&(this.frameId=this.document.defaultView.requestAnimationFrame(this.processRafCallbacks)),this.rafCallbacks.push([r,e]),r}},{key:"requestAnimationFrame",value:function(e){var r=this;return this.rAF(function(i){r.updateAnimationsPromises(),e(i),r.updateAnimationsPromises()})}},{key:"tick",value:function(e,r,i){var a=this,s,o;this.inTick=!0,this.hasRestartedThisFrame=!1,this.currentTime=e,this.ticking=!1;var l=[],c=[],u=[],h=[];return i.forEach(function(f){f.tick(e,r),f._inEffect?(c.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?u.push(f):h.push(f)}),(s=this.pendingEffects).push.apply(s,l),(o=this.pendingEffects).push.apply(o,c),this.ticking&&this.requestAnimationFrame(function(){}),this.inTick=!1,[u,h]}}])}();Xt.EasingFunction=wd,Xt.AnimationTimeline=iO;var Pm=function(n){return ye(n)?"":n.toString()},aO=function(n){var t=Pm(n);return t.charAt(0).toUpperCase()+t.substring(1)},Vc=aO,sO=function(n){return typeof n=="object"&&n!==null},Ad=sO,oO=function(n){return n!==null&&typeof n!="function"&&isFinite(n.length)},ll=oO,Pd=function(n,t){if(n===t)return!0;if(!n||!t||We(n)||We(t))return!1;if(ll(n)||ll(t)){if(n.length!==t.length)return!1;for(var e=!0,r=0;r<n.length&&(e=Pd(n[r],t[r]),!!e);r++);return e}if(Ad(n)||Ad(t)){var i=Object.keys(n),a=Object.keys(t);if(i.length!==a.length)return!1;for(var e=!0,r=0;r<i.length&&(e=Pd(n[i[r]],t[i[r]]),!!e);r++);return e}return!1},Hn=Pd;const lO={duration:500},cO={duration:1e3,easing:"cubic-bezier(0.250, 0.460, 0.450, 0.940)",iterations:1,fill:"both"},n7={CHANGE:"change"};var wn;(function(n){n.NodeAdded="NodeAdded",n.NodeUpdated="NodeUpdated",n.NodeRemoved="NodeRemoved",n.EdgeAdded="EdgeAdded",n.EdgeUpdated="EdgeUpdated",n.EdgeRemoved="EdgeRemoved",n.ComboAdded="ComboAdded",n.ComboUpdated="ComboUpdated",n.ComboRemoved="ComboRemoved"})(wn||(wn={}));var Ur;(function(n){n.DRAW="draw",n.COLLAPSE="collapse",n.EXPAND="expand",n.TRANSFORM="transform"})(Ur||(Ur={}));var va;(function(n){n.CLICK="canvas:click",n.DBLCLICK="canvas:dblclick",n.POINTER_OVER="canvas:pointerover",n.POINTER_LEAVE="canvas:pointerleave",n.POINTER_ENTER="canvas:pointerenter",n.POINTER_MOVE="canvas:pointermove",n.POINTER_OUT="canvas:pointerout",n.POINTER_DOWN="canvas:pointerdown",n.POINTER_UP="canvas:pointerup",n.CONTEXT_MENU="canvas:contextmenu",n.DRAG_START="canvas:dragstart",n.DRAG="canvas:drag",n.DRAG_END="canvas:dragend",n.DRAG_ENTER="canvas:dragenter",n.DRAG_OVER="canvas:dragover",n.DRAG_LEAVE="canvas:dragleave",n.DROP="canvas:drop",n.WHEEL="canvas:wheel"})(va||(va={}));var Ts;(function(n){n.CLICK="combo:click",n.DBLCLICK="combo:dblclick",n.POINTER_OVER="combo:pointerover",n.POINTER_LEAVE="combo:pointerleave",n.POINTER_ENTER="combo:pointerenter",n.POINTER_MOVE="combo:pointermove",n.POINTER_OUT="combo:pointerout",n.POINTER_DOWN="combo:pointerdown",n.POINTER_UP="combo:pointerup",n.CONTEXT_MENU="combo:contextmenu",n.DRAG_START="combo:dragstart",n.DRAG="combo:drag",n.DRAG_END="combo:dragend",n.DRAG_ENTER="combo:dragenter",n.DRAG_OVER="combo:dragover",n.DRAG_LEAVE="combo:dragleave",n.DROP="combo:drop"})(Ts||(Ts={}));var jt;(function(n){n.CLICK="click",n.DBLCLICK="dblclick",n.POINTER_OVER="pointerover",n.POINTER_LEAVE="pointerleave",n.POINTER_ENTER="pointerenter",n.POINTER_MOVE="pointermove",n.POINTER_OUT="pointerout",n.POINTER_DOWN="pointerdown",n.POINTER_UP="pointerup",n.CONTEXT_MENU="contextmenu",n.DRAG_START="dragstart",n.DRAG="drag",n.DRAG_END="dragend",n.DRAG_ENTER="dragenter",n.DRAG_OVER="dragover",n.DRAG_LEAVE="dragleave",n.DROP="drop",n.KEY_DOWN="keydown",n.KEY_UP="keyup",n.WHEEL="wheel",n.PINCH="pinch"})(jt||(jt={}));var co;(function(n){n.KEY_DOWN="keydown",n.KEY_UP="keyup"})(co||(co={}));var Yc;(function(n){n.CLICK="edge:click",n.DBLCLICK="edge:dblclick",n.POINTER_OVER="edge:pointerover",n.POINTER_LEAVE="edge:pointerleave",n.POINTER_ENTER="edge:pointerenter",n.POINTER_MOVE="edge:pointermove",n.POINTER_OUT="edge:pointerout",n.POINTER_DOWN="edge:pointerdown",n.POINTER_UP="edge:pointerup",n.CONTEXT_MENU="edge:contextmenu",n.DRAG_ENTER="edge:dragenter",n.DRAG_OVER="edge:dragover",n.DRAG_LEAVE="edge:dragleave",n.DROP="edge:drop"})(Yc||(Yc={}));var Qt;(function(n){n.BEFORE_CANVAS_INIT="beforecanvasinit",n.AFTER_CANVAS_INIT="aftercanvasinit",n.BEFORE_SIZE_CHANGE="beforesizechange",n.AFTER_SIZE_CHANGE="aftersizechange",n.BEFORE_ELEMENT_CREATE="beforeelementcreate",n.AFTER_ELEMENT_CREATE="afterelementcreate",n.BEFORE_ELEMENT_UPDATE="beforeelementupdate",n.AFTER_ELEMENT_UPDATE="afterelementupdate",n.BEFORE_ELEMENT_DESTROY="beforeelementdestroy",n.AFTER_ELEMENT_DESTROY="afterelementdestroy",n.BEFORE_ELEMENT_TRANSLATE="beforeelementtranslate",n.AFTER_ELEMENT_TRANSLATE="afterelementtranslate",n.BEFORE_DRAW="beforedraw",n.AFTER_DRAW="afterdraw",n.BEFORE_RENDER="beforerender",n.AFTER_RENDER="afterrender",n.BEFORE_ANIMATE="beforeanimate",n.AFTER_ANIMATE="afteranimate",n.BEFORE_LAYOUT="beforelayout",n.AFTER_LAYOUT="afterlayout",n.BEFORE_STAGE_LAYOUT="beforestagelayout",n.AFTER_STAGE_LAYOUT="afterstagelayout",n.BEFORE_TRANSFORM="beforetransform",n.AFTER_TRANSFORM="aftertransform",n.BATCH_START="batchstart",n.BATCH_END="batchend",n.BEFORE_DESTROY="beforedestroy",n.AFTER_DESTROY="afterdestroy",n.BEFORE_RENDERER_CHANGE="beforerendererchange",n.AFTER_RENDERER_CHANGE="afterrendererchange"})(Qt||(Qt={}));var Ba;(function(n){n.UNDO="undo",n.REDO="redo",n.CANCEL="cancel",n.ADD="add",n.CLEAR="clear",n.CHANGE="change"})(Ba||(Ba={}));var bi;(function(n){n.CLICK="node:click",n.DBLCLICK="node:dblclick",n.POINTER_OVER="node:pointerover",n.POINTER_LEAVE="node:pointerleave",n.POINTER_ENTER="node:pointerenter",n.POINTER_MOVE="node:pointermove",n.POINTER_OUT="node:pointerout",n.POINTER_DOWN="node:pointerdown",n.POINTER_UP="node:pointerup",n.CONTEXT_MENU="node:contextmenu",n.DRAG_START="node:dragstart",n.DRAG="node:drag",n.DRAG_END="node:dragend",n.DRAG_ENTER="node:dragenter",n.DRAG_OVER="node:dragover",n.DRAG_LEAVE="node:dragleave",n.DROP="node:drop"})(bi||(bi={}));const hn="combo",ni="tree";var cl;(function(n){n.NODE="node",n.EDGE="edge",n.COMBO="combo",n.THEME="theme",n.PALETTE="palette",n.LAYOUT="layout",n.BEHAVIOR="behavior",n.PLUGIN="plugin",n.ANIMATION="animation",n.TRANSFORM="transform",n.SHAPE="shape"})(cl||(cl={}));const Sd={animation:{},behavior:{},combo:{},edge:{},layout:{},node:{},palette:{},theme:{},plugin:{},transform:{},shape:{}};function ga(n,t){var e;const r=(e=Sd[n])===null||e===void 0?void 0:e[t];if(r)return r}function r7(n){return EXTENSION_REGISTRY[n]}const uO="5.0.49",hO="G6";function pa(n){return`[${hO} v${uO}] ${n}`}const Kr={mute:!1,debug:n=>{!Kr.mute&&console.debug(pa(n))},info:n=>{!Kr.mute&&console.info(pa(n))},warn:n=>{!Kr.mute&&console.warn(pa(n))},error:n=>{!Kr.mute&&console.error(pa(n))}};function Sm(n){const{theme:t}=n;if(!t)return{};const e=ga(cl.THEME,t);return e||(Kr.warn(`The theme of ${t} is not registered.`),{})}function Od(n,t){if(Array.isArray(n)&&n.length===0)return null;const e=Array.isArray(n)?n[0]:n,r=Array.isArray(n)?n.slice(1):t||[];return new Proxy(e,{get(i,a){return typeof i[a]=="function"&&!["onframe","onfinish"].includes(a)?(...s)=>{i[a](...s),r.forEach(o=>{var l;return(l=o[a])===null||l===void 0?void 0:l.call(o,...s)})}:a==="finished"?Promise.all([e.finished,...r.map(s=>s.finished)]):Reflect.get(i,a)},set(i,a,s){return["onframe","onfinish"].includes(a)||r.forEach(o=>{o[a]=s}),Reflect.set(i,a,s)}})}function Td(n){const t=n.reduce((r,i)=>(Object.entries(i).forEach(([a,s])=>{r[a]===void 0?r[a]=[s]:r[a].push(s)}),r),{});Object.entries(t).forEach(([r,i])=>{(i.length!==n.length||i.some(a=>ye(a))||i.every(a=>!["sourceNode","targetNode","childrenNode"].includes(r)&&Hn(a,i[0])))&&delete t[r]});const e=Object.entries(t).reduce((r,[i,a])=>(a.forEach((s,o)=>{r[o]?r[o][i]=s:r[o]={[i]:s}}),r),[]);return n.length!==0&&e.length===0&&e.push({_:0},{_:0}),e}function ul(n){switch(n){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 Om(n,t){const{animation:e}=n;if(e===!1||t===!1)return!1;const r=Object.assign({},lO);return Fn(e)&&Object.assign(r,e),Fn(t)&&Object.assign(r,t),r}function fO(n){if(typeof n=="string"){const t=ga(cl.ANIMATION,n);return t||(Kr.warn(`The animation of ${n} is not registered.`),[])}return n}function dO(n,t,e,r){var i,a;const{animation:s}=n;if(s===!1||r===!1)return[];const o=(i=n==null?void 0:n[t])===null||i===void 0?void 0:i.animation;if(o===!1)return[];const l=o==null?void 0:o[e];if(l===!1)return[];const c=(a=Sm(n)[t])===null||a===void 0?void 0:a.animation,u=(f=[])=>fO(f).map(d=>Object.assign(Object.assign(Object.assign(Object.assign({},cO),Fn(s)&&s),d),Fn(r)&&r));if(l)return u(l);if(!c)return[];const h=c[e];return h===!1?[]:u(h)}function Tm(n,t,e,r=[]){if(!r&&n===0&&t===0&&e===0)return null;if(Array.isArray(r)){let a=-1;const s=[];for(let o=0;o<r.length;o++){const l=r[o];if(l[0]==="translate"){if(l[1]===n&&l[2]===t)return null;a=o,s.push(["translate",n,t])}else if(l[0]==="translate3d"){if(l[1]===n&&l[2]===t&&l[3]===e)return null;a=o,s.push(["translate3d",n,t,e!=null?e:0])}else s.push(l)}return a===-1&&s.splice(0,0,ie(e)?["translate3d",n,t,e!=null?e:0]:["translate",n,t]),s.length===0?null:s}const i=r?r.replace(/translate(3d)?\([^)]*\)/g,""):"";return e===0?`translate(${n}, ${t})${i}`:`translate3d(${n}, ${t}, ${e})${i}`}var vO=function(n,t){var e={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&t.indexOf(r)<0&&(e[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(n);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(n,r[i])&&(e[r[i]]=n[r[i]]);return e};const gO=(n,t,e)=>{if(!e.length)return null;const[r,i]=t,a=c=>{var u;if(c){const h=n.getShape(c);if(!h)return null;const f=`get${Vc(c)}Style`,d=((u=n==null?void 0:n[f])===null||u===void 0?void 0:u.bind(n))||(p=>p),v=(d==null?void 0:d(r))||{},g=(d==null?void 0:d(i))||{};return{shape:h,fromStyle:v,toStyle:g}}else return{shape:n,fromStyle:r,toStyle:i}};let s;const o=e.map(c=>{var{fields:u,shape:h,states:f}=c,d=vO(c,["fields","shape","states"]);const v=a(h);if(!v)return null;const{shape:g,fromStyle:p,toStyle:y}=v,b=[{},{}];if(u.forEach(O=>{var k,D;Object.assign(b[0],{[O]:(k=p[O])!==null&&k!==void 0?k:ul(O)}),Object.assign(b[1],{[O]:(D=y[O])!==null&&D!==void 0?D:ul(O)})}),b.some(O=>Object.keys(O).some(k=>["x","y","z"].includes(k)))){const{x:O=0,y:k=0,z:D,transform:j=""}=g.attributes||{};b.forEach(B=>{var W,V,q;B.transform=Tm((W=B.x)!==null&&W!==void 0?W:O,(V=B.y)!==null&&V!==void 0?V:k,(q=B.z)!==null&&q!==void 0?q:D,j)})}const M=g.animate(Td(b),d);return h===void 0&&(s=M),M}).filter(Boolean),l=s||(o==null?void 0:o[0]);return l?Od(l,o.filter(c=>c!==c)):null},pO=[{fields:["opacity"]}],mO=[{fields:["x","y"]}],Cm=[{fields:["x","y"]}],yO=Cm,Nm=[{fields:["sourceNode","targetNode"]}],bO=Nm,km=[{fields:["childrenNode","x","y"]}],xO=km,i7=[{fields:["childrenNode","x","y"]}];var EO=Object.prototype.hasOwnProperty;function wO(n,t){if(!t||!Gr(n))return{};for(var e={},r=de(t)?t:function(o){return o[t]},i,a=0;a<n.length;a++){var s=n[a];i=r(s),EO.call(e,i)?e[i].push(s):e[i]=[s]}return e}var Uc=wO,Lm=function(n,t,e){var r,i,a,s,o=0;e||(e={});var l=function(){o=e.leading===!1?0:Date.now(),r=null,s=n.apply(i,a),r||(i=a=null)},c=function(){var u=Date.now();!o&&e.leading===!1&&(o=u);var h=t-(u-o);return i=this,a=arguments,h<=0||h>t?(r&&(clearTimeout(r),r=null),o=u,s=n.apply(i,a),r||(i=a=null)):!r&&e.trailing!==!1&&(r=setTimeout(l,h)),s};return c.cancel=function(){clearTimeout(r),o=0,r=i=a=null},c},Cd=function(n){if(typeof n!="object"||n===null)return n;var t;if(Gr(n)){t=[];for(var e=0,r=n.length;e<r;e++)typeof n[e]=="object"&&n[e]!=null?t[e]=Cd(n[e]):t[e]=n[e]}else{t={};for(var i in n)typeof n[i]=="object"&&n[i]!=null?t[i]=Cd(n[i]):t[i]=n[i]}return t},uo=Cd;function MO(n){return"source"in n&&"target"in n}function AO(n){return n.length===2}function a7(n){return n.length===3}function ho(n){return n instanceof Float32Array?!0:Array.isArray(n)&&(n.length===2||n.length===3)?n.every(t=>typeof t=="number"):!1}function $i(n,t,e){return n>=t&&n<=e}function Di(n=0){if(Array.isArray(n)){const[t=0,e=t,r=t,i=e]=n;return[t,e,r,i]}return[n,n,n,n]}function PO(n=0){const t=Di(n);return t[0]+t[2]}function s7(n=0){const t=Di(n);return t[1]+t[3]}function ta(n){return n.max[0]-n.min[0]}function ea(n){return n.max[1]-n.min[1]}function za(n){return[ta(n),ea(n)]}function ja(n,t){const e=ho(n)?Nd(n):n.getShape("key").getBounds();return t?Fa(e,t):e}function Nd(n){const[t,e,r=0]=n,i=new pn;return i.setMinMax([t,e,r],[t,e,r]),i}function Fa(n,t){const[e,r,i,a]=Di(t),[s,o,l]=n.min,[c,u,h]=n.max,f=new pn;return f.setMinMax([s-a,o-e,l],[c+r,u+i,h]),f}function hl(n){if(n.length===0)return new pn;if(n.length===1)return n[0];const t=new pn;t.setMinMax(n[0].min,n[0].max);for(let e=1;e<n.length;e++){const r=n[e];t.setMinMax([Math.min(t.min[0],r.min[0]),Math.min(t.min[1],r.min[1]),Math.min(t.min[2],r.min[2])],[Math.max(t.max[0],r.max[0]),Math.max(t.max[1],r.max[1]),Math.max(t.max[2],r.max[2])])}return t}function SO(n,t){const[e,r]=n.min,[i,a]=n.max,[s,o]=t.min,[l,c]=t.max;return e>=s&&i<=l&&r>=o&&a<=c}function Ri(n,t){return $i(n[0],t.min[0],t.max[0])&&$i(n[1],t.min[1],t.max[1])}function Dm(n,t,e=!1){const{min:[r,i],max:[a,s]}=t,o=(n[1]===i||n[1]===s)&&(e||$i(n[0],r,a)),l=(n[0]===r||n[0]===a)&&(e||$i(n[1],i,s));return o||l}function OO(n,t){return!Ri(n,t)}function Kc(n,t){const{center:e}=t;return n[0]===e[0]&&n[1]===e[1]}function fl(n,t){const[e,r]=n,[i,a]=t.min,[s,o]=t.max,l=e-i,c=s-e,u=r-a,h=o-r,f=Math.min(l,c,u,h);return f===l?"left":f===c?"right":f===u?"top":f===h?"bottom":"left"}function Cs(n,t){const e=uo(n);if(Ri(n,t))switch(fl(n,t)){case"left":e[0]=t.min[0];break;case"right":e[0]=t.max[0];break;case"top":e[1]=t.min[1];break;case"bottom":e[1]=t.max[1];break}else{const[r,i]=n,[a,s]=t.min,[o,l]=t.max;e[0]=$i(r,a,o)?r:r<a?a:o,e[1]=$i(i,s,l)?i:i<s?s:l}return e}function TO(n,t){const{center:e}=n,[r,i]=za(n),a=t==="up"||t==="down"?e[0]:t==="right"?e[0]-r/6:e[0]+r/6,s=t==="left"||t==="right"?e[1]:t==="down"?e[1]-i/6:e[1]+i/6;return[a,s]}function CO(n,t){let[e,r]=za(n);return[e,r]=t==="up"||t==="down"?[e,r]:[r,e],(Math.pow(r,2)-Math.pow(Math.sqrt(Math.pow(e/2,2)+Math.pow(r,2))-e/2,2))/(2*r)}function NO(n){const{min:[t,e],max:[r,i]}=n,a=[t,i],s=[r,i],o=[r,e],l=[t,e];return[[a,s],[s,o],[o,l],[l,a]]}var kO=function(t,e){var r=t.nodes,i=t.edges,a=[],s={};if(!r)throw new Error("invalid nodes data!");return r&&r.forEach(function(o,l){s[o.id]=l;var c=[];a.push(c)}),i&&i.forEach(function(o){var l=o.source,c=o.target,u=s[l],h=s[c];!u&&u!==0||!h&&h!==0||(a[u][h]=1,e||(a[h][u]=1))}),a},Qc=kO,LO=function(t,e){return t===e},Rm=function(){function n(t,e){e===void 0&&(e=null),this.value=t,this.next=e}return n.prototype.toString=function(t){return t?t(this.value):"".concat(this.value)},n}(),DO=function(){function n(t){t===void 0&&(t=LO),this.head=null,this.tail=null,this.compare=t}return n.prototype.prepend=function(t){var e=new Rm(t,this.head);return this.head=e,this.tail||(this.tail=e),this},n.prototype.append=function(t){var e=new Rm(t);return this.head?(this.tail.next=e,this.tail=e,this):(this.head=e,this.tail=e,this)},n.prototype.delete=function(t){if(!this.head)return null;for(var e=null;this.head&&this.compare(this.head.value,t);)e=this.head,this.head=this.head.next;var r=this.head;if(r!==null)for(;r.next;)this.compare(r.next.value,t)?(e=r.next,r.next=r.next.next):r=r.next;return this.compare(this.tail.value,t)&&(this.tail=r),e},n.prototype.find=function(t){var e=t.value,r=e===void 0?void 0:e,i=t.callback,a=i===void 0?void 0:i;if(!this.head)return null;for(var s=this.head;s;){if(a&&a(s.value)||r!==void 0&&this.compare(s.value,r))return s;s=s.next}return null},n.prototype.deleteTail=function(){var t=this.tail;if(this.head===this.tail)return this.head=null,this.tail=null,t;for(var e=this.head;e.next;)e.next.next?e=e.next:e.next=null;return this.tail=e,t},n.prototype.deleteHead=function(){if(!this.head)return null;var t=this.head;return this.head.next?this.head=this.head.next:(this.head=null,this.tail=null),t},n.prototype.fromArray=function(t){var e=this;return t.forEach(function(r){return e.append(r)}),this},n.prototype.toArray=function(){for(var t=[],e=this.head;e;)t.push(e),e=e.next;return t},n.prototype.reverse=function(){for(var t=this.head,e=null,r=null;t;)r=t.next,t.next=e,e=t,t=r;this.tail=this.head,this.head=e},n.prototype.toString=function(t){return t===void 0&&(t=void 0),this.toArray().map(function(e){return e.toString(t)}).toString()},n}(),Im=DO,RO=function(){function n(){this.linkedList=new Im}return n.prototype.isEmpty=function(){return!this.linkedList.head},n.prototype.peek=function(){return this.linkedList.head?this.linkedList.head.value:null},n.prototype.enqueue=function(t){this.linkedList.append(t)},n.prototype.dequeue=function(){var t=this.linkedList.deleteHead();return t?t.value:null},n.prototype.toString=function(t){return this.linkedList.toString(t)},n}(),IO=RO,xi=function(t,e,r){e===void 0&&(e=[]);var i=e.filter(function(l){return l.source===t||l.target===t});if(r==="target"){var a=function(c){return c.source===t};return i.filter(a).map(function(l){return l.target})}if(r==="source"){var s=function(c){return c.target===t};return i.filter(s).map(function(l){return l.source})}var o=function(c){return c.source===t?c.target:c.source};return i.map(o)},BO=function(t,e){return e.filter(function(r){return r.source===t})},Jc=function(t,e){return e.filter(function(r){return r.source===t||r.target===t})},Bm=function(t){t===void 0&&(t=0);var e="".concat(Math.random()).split(".")[1].substr(0,5),r="".concat(Math.random()).split(".")[1].substr(0,5);return"".concat(t,"-").concat(e).concat(r)};function zO(n){n===void 0&&(n={});var t=n,e=function(){},r=function(){var i={};return function(a){var s=a.next,o=s;return i[o]?!1:(i[o]=!0,!0)}}();return t.allowTraversal=n.allowTraversal||r,t.enter=n.enter||e,t.leave=n.leave||e,t}var jO=function(t,e,r,i){i===void 0&&(i=!0);var a=zO(r),s=new IO,o=t.edges,l=o===void 0?[]:o;s.enqueue(e);for(var c="",u=function(){var f=s.dequeue();a.enter({current:f,previous:c}),xi(f,l,i?"target":void 0).forEach(function(d){a.allowTraversal({previous:c,current:f,next:d})&&s.enqueue(d)}),a.leave({current:f,previous:c}),c=f};!s.isEmpty();)u()},FO=jO,ZO=function(t){for(var e=t.nodes,r=e===void 0?[]:e,i=t.edges,a=i===void 0?[]:i,s=[],o={},l=[],c=function d(v){l.push(v),o[v.id]=!0;for(var g=xi(v.id,a),p=function(M){var O=g[M];if(!o[O]){var k=r.filter(function(D){return D.id===O});k.length>0&&d(k[0])}},y=0;y<g.length;++y)p(y)},u=0;u<r.length;u++){var h=r[u];if(!o[h.id]){c(h);for(var f=[];l.length>0;)f.push(l.pop());s.push(f)}}return s},zm=function(t){for(var e=t.nodes,r=e===void 0?[]:e,i=t.edges,a=i===void 0?[]:i,s=[],o={},l={},c={},u=[],h=0,f=function p(y){l[y.id]=h,c[y.id]=h,h+=1,s.push(y),o[y.id]=!0;for(var b=xi(y.id,a,"target").filter(function(j){return r.map(function(B){return B.id}).indexOf(j)>-1}),M=function(B){var W=b[B];if(!l[W]&&l[W]!==0){var V=r.filter(function(q){return q.id===W});V.length>0&&p(V[0]),c[y.id]=Math.min(c[y.id],c[W])}else o[W]&&(c[y.id]=Math.min(c[y.id],l[W]))},O=0;O<b.length;O++)M(O);if(c[y.id]===l[y.id]){for(var k=[];s.length>0;){var D=s.pop();if(o[D.id]=!1,k.push(D),D===y)break}k.length>0&&u.push(k)}},d=0,v=r;d<v.length;d++){var g=v[d];!l[g.id]&&l[g.id]!==0&&f(g)}return u};function jm(n,t){return t?zm(n):ZO(n)}var dl=function(t){var e={},r=t.nodes,i=r===void 0?[]:r,a=t.edges,s=a===void 0?[]:a;return i.forEach(function(o){e[o.id]={degree:0,inDegree:0,outDegree:0}}),s.forEach(function(o){e[o.source].degree++,e[o.source].outDegree++,e[o.target].degree++,e[o.target].inDegree++}),e},kd=dl,_O=function(t,e){var r=dl(t);return r[e]?dl(t)[e].inDegree:0},HO=function(t,e){var r=dl(t);return r[e]?dl(t)[e].outDegree:0};function GO(n){n===void 0&&(n={});var t=n,e=function(){},r=function(){var i={};return function(a){var s=a.next;return i[s]?!1:(i[s]=!0,!0)}}();return t.allowTraversal=n.allowTraversal||r,t.enter=n.enter||e,t.leave=n.leave||e,t}function Fm(n,t,e,r,i){i===void 0&&(i=!0),r.enter({current:t,previous:e});var a=n.edges,s=a===void 0?[]:a;xi(t,s,i?"target":void 0).forEach(function(o){r.allowTraversal({previous:e,current:t,next:o})&&Fm(n,o,t,r,i)}),r.leave({current:t,previous:e})}function Zm(n,t,e,r){r===void 0&&(r=!0),Fm(n,t,"",GO(e),r)}var WO=function(t){var e=null,r=t.nodes,i=r===void 0?[]:r,a={},s={},o={},l={};i.forEach(function(h){s[h.id]=h});for(var c={enter:function(f){var d=f.current,v=f.previous;if(o[d]){e={};for(var g=d,p=v;p!==d;)e[g]=p,g=p,p=a[p];e[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 e?!1:!l[d]}};Object.keys(s).length;){var u=Object.keys(s)[0];Zm(t,u,c)}return e},_m=function(t,e,r){var i,a;r===void 0&&(r=!0);for(var s=[],o=jm(t,!1),l=0,c=o;l<c.length;l++){var u=c[l];if(u.length)for(var h=u[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(),y=p.id,b=xi(y,t.edges),M=function(D){var j,B=b[D],W=t.nodes.find(function(vt){return vt.id===B});if(B===y)s.push((j={},j[B]=p,j));else if(!(B in g))v[B]=p,d.push(W),g[B]=new Set([p]);else if(!g[y].has(W)){for(var V=!0,q=[W,p],$=v[y];g[B].size&&!g[B].has($)&&(q.push($),$!==v[$.id]);)$=v[$.id];if(q.push($),e&&r?(V=!1,q.findIndex(function(vt){return e.indexOf(vt.id)>-1})>-1&&(V=!0)):e&&!r&&q.findIndex(function(vt){return e.indexOf(vt.id)>-1})>-1&&(V=!1),V){for(var ot={},ct=1;ct<q.length;ct+=1)ot[q[ct-1].id]=q[ct];q.length&&(ot[q[q.length-1].id]=q[0]),s.push(ot)}g[B].add(p)}},O=0;O<b.length;O+=1)M(O)}return s},Hm=function(t,e,r){r===void 0&&(r=!0);for(var i=[],a=new Set,s=[],o=[],l={},c={},u=function($){for(var ot=[$];ot.length>0;){var ct=ot.pop();a.has(ct)&&(a.delete(ct),s[ct.id].forEach(function(vt){ot.push(vt)}),s[ct.id].clear())}},h=function q($,ot,ct){var vt=!1;if(e&&r===!1&&e.indexOf($.id)>-1)return vt;i.push($),a.add($);for(var Ct=ct[$.id],Ot=0;Ot<Ct.length;Ot+=1){var mt=l[Ct[Ot]];if(mt===ot){for(var yt={},Lt=1;Lt<i.length;Lt+=1)yt[i[Lt-1].id]=i[Lt];i.length&&(yt[i[i.length-1].id]=i[0]),o.push(yt),vt=!0}else a.has(mt)||q(mt,ot,ct)&&(vt=!0)}if(vt)u($);else for(var Ot=0;Ot<Ct.length;Ot+=1){var mt=l[Ct[Ot]];s[mt.id].has($)||s[mt.id].add($)}return i.pop(),vt},f=t.nodes,d=f===void 0?[]:f,v=0;v<d.length;v+=1){var g=d[v],p=g.id;c[p]=v,l[v]=g}if(e&&r)for(var y=function($){var ot=e[$];c[d[$].id]=c[ot],c[ot]=0,l[0]=d.find(function(ct){return ct.id===ot}),l[c[d[$].id]]=d[$]},v=0;v<e.length;v++)y(v);for(var b=function($){for(var ot,ct,vt=1/0,Ct=0;Ct<$.length;Ct+=1)for(var Ot=$[Ct],mt=0;mt<Ot.length;mt++){var yt=c[Ot[mt].id];yt<vt&&(vt=yt,ct=Ct)}for(var Lt=$[ct],Zt=[],Ct=0;Ct<Lt.length;Ct+=1){var Ut=Lt[Ct];Zt[Ut.id]=[];for(var ee=0,ae=xi(Ut.id,t.edges,"target").filter(function(Ee){return Lt.map(function(Ce){return Ce.id}).indexOf(Ee)>-1});ee<ae.length;ee++){var he=ae[ee];he===Ut.id&&!(r===!1&&e.indexOf(Ut.id)>-1)?o.push((ot={},ot[Ut.id]=Ut,ot)):Zt[Ut.id].push(c[he])}}return{component:Lt,adjList:Zt,minIdx:vt}},M=0;M<d.length;){var O=d.filter(function(q){return c[q.id]>=M}),k=zm({nodes:O,edges:t.edges}).filter(function(q){return q.length>1});if(k.length===0)break;var D=b(k),j=D.minIdx,B=D.adjList,W=D.component;if(W.length>1){W.forEach(function(q){s[q.id]=new Set});var V=l[j];if(e&&r&&e.indexOf(V.id)===-1)return o;h(V,V,B),M=j+1}else break}return o},XO=function(t,e,r,i){return i===void 0&&(i=!0),e?Hm(t,r,i):_m(t,r,i)},Gm=WO,VO={}.toString,YO=function(n,t){return VO.call(n)==="[object "+t+"]"},qc=YO,Ld=function(n){return qc(n,"Function")},Dd=function(n){return Array.isArray?Array.isArray(n):qc(n,"Array")},UO=function(n){var t=typeof n;return n!==null&&t==="object"||t==="function"};function KO(n,t){if(n){var e;if(Dd(n))for(var r=0,i=n.length;r<i&&(e=t(n[r],r),e!==!1);r++);else if(UO(n)){for(var a in n)if(n.hasOwnProperty(a)&&(e=t(n[a],a),e===!1))break}}}var Wm=KO,o7=Object.keys?function(n){return Object.keys(n)}:function(n){var t=[];return Wm(n,function(e,r){Ld(n)&&r==="prototype"||t.push(r)}),t},l7=null;function c7(n,t){var e=keys(t),r=e.length;if(isNil(n))return!r;for(var i=0;i<r;i+=1){var a=e[i];if(t[a]!==n[a]||!(a in n))return!1}return!0}var u7=null,h7=function(n){if(!isObjectLike(n)||!isType(n,"Object"))return!1;if(Object.getPrototypeOf(n)===null)return!0;for(var t=n;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(n)===t},f7=null;function d7(n,t){if(!isArray(n))return null;var e;if(isFunction(t)&&(e=t),isPlainObject(t)&&(e=function(i){return isMatch(i,t)}),e){for(var r=0;r<n.length;r+=1)if(e(n[r]))return n[r]}return null}var v7=null,g7=function(n,t){for(var e=null,r=0;r<n.length;r++){var i=n[r],a=i[t];if(!isNil(a)){isArray(a)?e=a[0]:e=a;break}}return e},p7=null,m7=function(n){if(!isArray(n))return[];for(var t=[],e=0;e<n.length;e++)t=t.concat(n[e]);return t},y7=null,QO=function(n,t){if(t===void 0&&(t=[]),!isArray(n))t.push(n);else for(var e=0;e<n.length;e+=1)QO(n[e],t);return t},b7=null,x7=function(n){if(isArray(n))return n.reduce(function(t,e){return Math.max(t,e)},n[0])},E7=function(n){if(isArray(n))return n.reduce(function(t,e){return Math.min(t,e)},n[0])},w7=function(n){var t=n.filter(function(s){return!isNaN(s)});if(!t.length)return{min:0,max:0};if(isArray(n[0])){for(var e=[],r=0;r<n.length;r++)e=e.concat(n[r]);t=e}var i=getMax(t),a=getMin(t);return{min:a,max:i}},M7=null,Xm=Array.prototype,JO=Xm.splice,qO=Xm.indexOf,A7=function(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];for(var r=0;r<t.length;r++)for(var i=t[r],a=-1;(a=qO.call(n,i))>-1;)JO.call(n,a,1);return n},P7=null,$O=Array.prototype.splice,S7=function(t,e){if(!isArrayLike(t))return[];for(var r=t?e.length:0,i=r-1;r--;){var a=void 0,s=e[r];(r===i||s!==a)&&(a=s,$O.call(t,s,1))}return t},O7=null,T7=function(n,t,e){if(!isArray(n)&&!isPlainObject(n))return n;var r=e;return each(n,function(i,a){r=t(r,i,a)}),r},C7=null,N7=function(n,t){var e=[];if(!isArrayLike(n))return e;for(var r=-1,i=[],a=n.length;++r<a;){var s=n[r];t(s,r,n)&&(e.push(s),i.push(r))}return pullAt(n,i),e},k7=null,Rd=function(n){return qc(n,"String")};function L7(n,t){var e;if(isFunction(t))e=function(i,a){return t(i)-t(a)};else{var r=[];isString(t)?r.push(t):isArray(t)&&(r=t),e=function(i,a){for(var s=0;s<r.length;s+=1){var o=r[s];if(i[o]>a[o])return 1;if(i[o]<a[o])return-1}return 0}}return n.sort(e),n}var D7=null;function Id(n,t){t===void 0&&(t=new Map);var e=[];if(Array.isArray(n))for(var r=0,i=n.length;r<i;r++){var a=n[r];t.has(a)||(e.push(a),t.set(a,!0))}return e}var R7=function(n,t){for(var e=[],r={},i=0;i<n.length;i++){var a=n[i],s=a[t];if(!isNil(s)){isArray(s)||(s=[s]);for(var o=0;o<s.length;o++){var l=s[o];r[l]||(e.push(l),r[l]=!0)}}}return e};function I7(n,t){return isArray(n)||isString(n)?n[0]===t:!1}var B7=null;function z7(n,t){return isArray(n)||isString(n)?n[n.length-1]===t:!1}var j7=null,t3=Object.prototype.hasOwnProperty;function F7(n,t){if(!t||!isArray(n))return{};for(var e={},r=isFunction(t)?t:function(o){return o[t]},i,a=0;a<n.length;a++){var s=n[a];i=r(s),t3.call(e,i)?e[i].push(s):e[i]=[s]}return e}var Z7=null;function _7(n,t){if(!t)return{0:n};if(!isFunction(t)){var e=isArray(t)?t:t.replace(/\s+/g,"").split("*");t=function(r){for(var i="_",a=0,s=e.length;a<s;a++)i+=r[e[a]]&&r[e[a]].toString();return i}}return groupBy(n,t)}var H7=function(n,t){if(!t)return[n];var e=groupToMap(n,t),r=[];for(var i in e)r.push(e[i]);return r},Vm={};function G7(n){var t=Vm[n];if(!t){for(var e=n.toString(16),r=e.length;r<6;r++)e="0"+e;t="#"+e,Vm[n]=t}return t}var W7=null;function X7(n){var t=0,e=0,r=0,i=0;return isArray(n)?n.length===1?t=e=r=i=n[0]:n.length===2?(t=r=n[0],e=i=n[1]):n.length===3?(t=n[0],e=i=n[1],r=n[2]):(t=n[0],e=n[1],r=n[2],i=n[3]):t=e=r=i=n,{r1:t,r2:e,r3:r,r4:i}}var V7=null,e3=function(n){return qc(n,"Number")},n3=e3,Y7=function(n){return isNumber(n)&&n%1!==0},U7=null,K7=function(n){return isNumber(n)&&n%2===0},Q7=null,J7=Number.isInteger?Number.isInteger:function(n){return n3(n)&&n%1===0},q7=null,$7=function(n){return isNumber(n)&&n<0},tj=null,ej=function(n){return isNumber(n)&&n%2!==0},nj=null,rj=function(n){return isNumber(n)&&n>0},ij=null,aj=function(n,t){if(isArray(n)){for(var e,r=-1/0,i=0;i<n.length;i++){var a=n[i],s=isFunction(t)?t(a):a[t];s>r&&(e=a,r=s)}return e}},sj=function(n,t){if(isArray(n)){for(var e,r=1/0,i=0;i<n.length;i++){var a=n[i],s=isFunction(t)?t(a):a[t];s<r&&(e=a,r=s)}return e}},r3=180/Math.PI,oj=function(n){return r3*n},lj=null,i3=Math.PI/180,cj=function(n){return i3*n},uj=null,hj=null,a3=Object.values?function(n){return Object.values(n)}:function(n){var t=[];return Wm(n,function(e,r){Ld(n)&&r==="prototype"||t.push(e)}),t},s3=a3,fj=function(n,t){return contains(values(n),t)},o3={}.toString,dj=function(n){return o3.call(n).replace(/^\[object /,"").replace(/]$/,"")},vj=null,gj=function(n){return isType(n,"Arguments")},pj=null,mj=function(n){return isType(n,"Boolean")},yj=null,bj=function(n){return isType(n,"Date")},xj=null,Ej=function(n){return isType(n,"Error")},wj=null;function Mj(n){return isNumber(n)&&isFinite(n)}var l3=Object.prototype,Aj=function(n){var t=n&&n.constructor,e=typeof t=="function"&&t.prototype||l3;return n===e},Pj=null,Sj=function(n){return isType(n,"RegExp")},Oj=null,Tj=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];for(var e=n[0],r=1;r<n.length;r++){var i=n[r];isFunction(i)&&(i=i.prototype),mix(e.prototype,i)}},Cj=null,Bd=function(n){if(typeof n!="object"||n===null)return n;var t;if(Dd(n)){t=[];for(var e=0,r=n.length;e<r;e++)typeof n[e]=="object"&&n[e]!=null?t[e]=Bd(n[e]):t[e]=n[e]}else{t={};for(var i in n)typeof n[i]=="object"&&n[i]!=null?t[i]=Bd(n[i]):t[i]=n[i]}return t},vl=Bd,c3=function(n,t){if(!Ld(n))throw new TypeError("Expected a function");var e=function(){for(var r=[],i=0;i<arguments.length;i++)r[i]=arguments[i];var a=t?t.apply(this,r):r[0],s=e.cache;if(s.has(a))return s.get(a);var o=n.apply(this,r);return s.set(a,o),o};return e.cache=new Map,e},u3=5;function Ym(n,t,e,r){e=e||0,r=r||u3;for(var i in t)if(t.hasOwnProperty(i)){var a=t[i];a!==null&&isPlainObject(a)?(isPlainObject(n[i])||(n[i]={}),e<r?Ym(n[i],a,e+1,r):n[i]=t[i]):isArray(a)?(n[i]=[],n[i]=n[i].concat(a)):a!==void 0&&(n[i]=a)}}var Nj=function(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];for(var r=0;r<t.length;r+=1)Ym(n,t[r]);return n},kj=null,Lj=function(n,t,e,r){isFunction(t)||(e=t,t=n,n=function(){});var i=Object.create?function(s,o){return Object.create(s,{constructor:{value:o}})}:function(s,o){function l(){}l.prototype=s;var c=new l;return c.constructor=o,c},a=i(t.prototype,n);return n.prototype=mix(a,n.prototype),n.superclass=i(t.prototype,t),mix(a,e),mix(n,r),n},Dj=null,h3=Object.prototype.hasOwnProperty;function Rj(n){if(isNil(n))return!0;if(isArrayLike(n))return!n.length;var t=getType(n);if(t==="Map"||t==="Set")return!n.size;if(isPrototype(n))return!Object.keys(n).length;for(var e in n)if(h3.call(n,e))return!1;return!0}var Ij=null,f3=function(n){return typeof n=="object"&&n!==null},Um=f3,d3=function(n){return n!==null&&typeof n!="function"&&isFinite(n.length)},Km=d3,zd=function(n,t){if(n===t)return!0;if(!n||!t||Rd(n)||Rd(t))return!1;if(Km(n)||Km(t)){if(n.length!==t.length)return!1;for(var e=!0,r=0;r<n.length&&(e=zd(n[r],t[r]),!!e);r++);return e}if(Um(n)||Um(t)){var i=Object.keys(n),a=Object.keys(t);if(i.length!==a.length)return!1;for(var e=!0,r=0;r<i.length&&(e=zd(n[i[r]],t[i[r]]),!!e);r++);return e}return!1},v3=zd,Bj=function(n,t,e){return isFunction(e)?!!e(n,t):isEqual(n,t)},zj=function(n,t,e){for(var r=0,i=isString(t)?t.split("."):t;n&&r<i.length;)n=n[i[r++]];return n===void 0||r<i.length?e:n},jj=function(n,t,e){var r=n,i=isString(t)?t.split("."):t;return i.forEach(function(a,s){s<i.length-1?(isObject(r[a])||(r[a]=isNumber(i[s+1])?[]:{}),r=r[a]):r[a]=e}),n},g3=Object.prototype.hasOwnProperty,Fj=function(n,t){if(n===null||!isPlainObject(n))return{};var e={};return each(t,function(r){g3.call(n,r)&&(e[r]=n[r])}),e},Zj=function(n,t){return reduce(n,function(e,r,i){return t.includes(i)||(e[i]=r),e},{})},$c={},_j=function(n){return n=n||"g",$c[n]?$c[n]+=1:$c[n]=1,n+$c[n]},tu,Hj=c3(function(n,t){t===void 0&&(t={});var e=t.fontSize,r=t.fontFamily,i=t.fontWeight,a=t.fontStyle,s=t.fontVariant;return tu||(tu=document.createElement("canvas").getContext("2d")),tu.font=[a,s,i,e+"px",r].join(" "),tu.measureText(Rd(n)?n:"").width},function(n,t){return t===void 0&&(t={}),(0,G.pr)([n],s3(t)).join("")}),Gj=function(n,t,e,r){r===void 0&&(r="...");var i=16,a=measureTextWidth(r,e),s=isString(n)?n:toString(n),o=t,l=[],c,u;if(measureTextWidth(n,e)<=t)return n;for(;c=s.substr(0,i),u=measureTextWidth(c,e),!(u+a>o&&u>o);)if(l.push(c),o-=u,s=s.substr(i),!s)return l.join("");for(;c=s.substr(0,1),u=measureTextWidth(c,e),!(u+a>o);)if(l.push(c),o-=u,s=s.substr(1),!s)return l.join("");return""+l.join("")+r},Wj=function(){function n(){this.map={}}return n.prototype.has=function(t){return this.map[t]!==void 0},n.prototype.get=function(t,e){var r=this.map[t];return r===void 0?e:r},n.prototype.set=function(t,e){this.map[t]=e},n.prototype.clear=function(){this.map={}},n.prototype.delete=function(t){delete this.map[t]},n.prototype.size=function(){return Object.keys(this.map).length},n}(),Xj=null,p3=function(t,e,r){for(var i=1/0,a,s=0;s<e.length;s++){var o=e[s].id;!r[o]&&t[o]<=i&&(i=t[o],a=e[s])}return a},m3=function(t,e,r,i){var a=t.nodes,s=a===void 0?[]:a,o=t.edges,l=o===void 0?[]:o,c=[],u={},h={},f={};s.forEach(function(M,O){var k=M.id;c.push(k),h[k]=1/0,k===e&&(h[k]=0)});for(var d=s.length,v=function(O){var k=p3(h,s,u),D=k.id;if(u[D]=!0,h[D]===1/0)return"continue";var j=[];r?j=BO(D,l):j=Jc(D,l),j.forEach(function(B){var W=B.target,V=B.source,q=W===D?V:W,$=i&&B[i]?B[i]:1;h[q]>h[k.id]+$?(h[q]=h[k.id]+$,f[q]=[k.id]):h[q]===h[k.id]+$&&f[q].push(k.id)})},g=0;g<d;g++)v(g);f[e]=[e];var p={};for(var y in h)h[y]!==1/0&&Qm(e,y,f,p);var b={};for(var y in p)b[y]=p[y][0];return{length:h,path:b,allPath:p}},eu=m3;function Qm(n,t,e,r){if(n===t)return[n];if(r[t])return r[t];for(var i=[],a=0,s=e[t];a<s.length;a++){var o=s[a],l=Qm(n,o,e,r);if(!l)return;for(var c=0,u=l;c<u.length;c++){var h=u[c];Dd(h)?i.push((0,G.ev)((0,G.ev)([],h,!0),[t],!1)):i.push([h,t])}}return r[t]=i,r[t]}var jd=function(t,e,r,i,a){var s=eu(t,e,i,a),o=s.length,l=s.path,c=s.allPath;return{length:o[r],path:l[r],allPath:c[r]}},y3=function(t,e,r,i){var a;if(e===r)return[[e]];var s=t.edges,o=s===void 0?[]:s,l=[e],c=(a={},a[e]=!0,a),u=[],h=[],f=i?xi(e,o,"target"):xi(e,o);for(u.push(f);l.length>0&&u.length>0;){var d=u[u.length-1];if(d.length){var v=d.shift();v&&(l.push(v),c[v]=!0,f=i?xi(v,o,"target"):xi(v,o),u.push(f.filter(function(y){return!c[y]})))}else{var g=l.pop();c[g]=!1,u.pop();continue}if(l[l.length-1]===r){var p=l.map(function(b){return b});h.push(p);var g=l.pop();c[g]=!1,u.pop()}}return h},b3=function(t,e){for(var r=Qc(t,e),i=[],a=r.length,s=0;s<a;s+=1){i[s]=[];for(var o=0;o<a;o+=1)s===o?i[s][o]=0:r[s][o]===0||!r[s][o]?i[s][o]=1/0:i[s][o]=r[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},Fd=b3,x3=function(t,e,r,i){e===void 0&&(e=!1),r===void 0&&(r="weight"),i===void 0&&(i=1e3);var a=t.nodes,s=a===void 0?[]:a,o=t.edges,l=o===void 0?[]:o,c={},u={};s.forEach(function(O,k){var D=Bm();O.clusterId=D,c[D]={id:D,nodes:[O]},u[O.id]={node:O,idx:k}});var h=Qc(t,e),f=[],d={};h.forEach(function(O,k){var D=0,j=s[k].id;d[j]={},O.forEach(function(B,W){if(B){D+=B;var V=s[W].id;d[j][V]=B}}),f.push(D)});for(var v=0,g=function(){var k=!1;if(s.forEach(function(D){var j={};Object.keys(d[D.id]).forEach(function(vt){var Ct=d[D.id][vt],Ot=u[vt].node,mt=Ot.clusterId;j[mt]||(j[mt]=0),j[mt]+=Ct});var B=-1/0,W=[];if(Object.keys(j).forEach(function(vt){B<j[vt]?(B=j[vt],W=[vt]):B===j[vt]&&W.push(vt)}),!(W.length===1&&W[0]===D.clusterId)){var V=W.indexOf(D.clusterId);if(V>=0&&W.splice(V,1),W&&W.length){k=!0;var q=c[D.clusterId],$=q.nodes.indexOf(D);q.nodes.splice($,1);var ot=Math.floor(Math.random()*W.length),ct=c[W[ot]];ct.nodes.push(D),D.clusterId=ct.id}}}),!k)return"break";v++};v<i;){var p=g();if(p==="break")break}Object.keys(c).forEach(function(O){var k=c[O];(!k.nodes||!k.nodes.length)&&delete c[O]});var y=[],b={};l.forEach(function(O){var k=O.source,D=O.target,j=O[r]||1,B=u[k].node.clusterId,W=u[D].node.clusterId,V="".concat(B,"---").concat(W);if(b[V])b[V].weight+=j,b[V].count++;else{var q={source:B,target:W,weight:j,count:1};b[V]=q,y.push(q)}});var M=[];return Object.keys(c).forEach(function(O){M.push(c[O])}),{clusters:M,clusterEdges:y}},E3=x3,w3=function(){function n(t){this.arr=t}return n.prototype.getArr=function(){return this.arr||[]},n.prototype.add=function(t){var e,r=t.arr;if(!(!((e=this.arr)===null||e===void 0)&&e.length))return new n(r);if(!(r!=null&&r.length))return new n(this.arr);if(this.arr.length===r.length){var i=[];for(var a in this.arr)i[a]=this.arr[a]+r[a];return new n(i)}},n.prototype.subtract=function(t){var e,r=t.arr;if(!(!((e=this.arr)===null||e===void 0)&&e.length))return new n(r);if(!(r!=null&&r.length))return new n(this.arr);if(this.arr.length===r.length){var i=[];for(var a in this.arr)i[a]=this.arr[a]-r[a];return new n(i)}},n.prototype.avg=function(t){var e=[];if(t!==0)for(var r in this.arr)e[r]=this.arr[r]/t;return new n(e)},n.prototype.negate=function(){var t=[];for(var e in this.arr)t[e]=-this.arr[e];return new n(t)},n.prototype.squareEuclideanDistance=function(t){var e,r=t.arr;if(!(!((e=this.arr)===null||e===void 0)&&e.length)||!(r!=null&&r.length))return 0;if(this.arr.length===r.length){var i=0;for(var a in this.arr)i+=Math.pow(this.arr[a]-t.arr[a],2);return i}},n.prototype.euclideanDistance=function(t){var e,r=t.arr;if(!(!((e=this.arr)===null||e===void 0)&&e.length)||!(r!=null&&r.length))return 0;if(this.arr.length===r.length){var i=0;for(var a in this.arr)i+=Math.pow(this.arr[a]-t.arr[a],2);return Math.sqrt(i)}else console.error("The two vectors are unequal in length.")},n.prototype.normalize=function(){var t=[],e=vl(this.arr);e.sort(function(s,o){return s-o});var r=e[e.length-1],i=e[0];for(var a in this.arr)t[a]=(this.arr[a]-i)/(r-i);return new n(t)},n.prototype.norm2=function(){var t;if(!(!((t=this.arr)===null||t===void 0)&&t.length))return 0;var e=0;for(var r in this.arr)e+=Math.pow(this.arr[r],2);return Math.sqrt(e)},n.prototype.dot=function(t){var e,r=t.arr;if(!(!((e=this.arr)===null||e===void 0)&&e.length)||!(r!=null&&r.length))return 0;if(this.arr.length===r.length){var i=0;for(var a in this.arr)i+=this.arr[a]*t.arr[a];return i}else console.error("The two vectors are unequal in length.")},n.prototype.equal=function(t){var e,r=t.arr;if(((e=this.arr)===null||e===void 0?void 0:e.length)!==(r==null?void 0:r.length))return!1;for(var i in this.arr)if(this.arr[i]!==r[i])return!1;return!0},n}(),Ei=w3,M3=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/,A3=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/,Jm=function(t,e){t===void 0&&(t=[]),e===void 0&&(e=100);var r={};t.forEach(function(a){a.properties&&Object.keys(a.properties).forEach(function(s){if(s==="id"||!"".concat(a.properties[s]).match(M3)&&!"".concat(a.properties[s]).match(A3)&&isNaN(Number(a.properties[s]))){r.hasOwnProperty(s)&&delete r[s];return}r.hasOwnProperty(s)?r[s]+=1:r[s]=1})});var i=Object.keys(r).sort(function(a,s){return r[s]-r[a]});return i.length<e?i:i.slice(0,e)},P3=function(t,e){return e.map(function(r){return t.hasOwnProperty(r)?t[r]:0})},S3=function(t){for(var e=Jm(t),r=[],i=0;i<t.length;i++)r[i]=P3(t[i].properties,e);return r},nu=function(t,e){e===void 0&&(e=void 0);var r=[];return t.forEach(function(i){e===void 0&&r.push(i),i[e]!==void 0&&r.push(i[e])}),r},Vj={getAllSortProperties:Jm,getPropertyWeight:S3,getAllProperties:nu},Ii;(function(n){n.EuclideanDistance="euclideanDistance"})(Ii||(Ii={}));var qm=function(t,e,r){var i=[];e!=null&&e.length?i=e:(t.forEach(function(s){i=i.concat(Object.keys(s))}),i=Id(i));var a={};return i.forEach(function(s){var o=[];t.forEach(function(l){l[s]!==void 0&&l[s]!==""&&o.push(l[s])}),o.length&&!(r!=null&&r.includes(s))&&(a[s]=Id(o))}),a},ru=function(t,e,r){var i=qm(t,e,r),a=[];if(!Object.keys(i).length)return a;var s=Object.values(i),o=s.every(function(l){return l.every(function(c){return typeof c=="number"})});return t.forEach(function(l,c){var u=[];Object.keys(i).forEach(function(h){var f=l[h],d=i[h],v=d.findIndex(function(y){return f===y}),g=[];if(o)g.push(f);else for(var p=0;p<d.length;p++)p===v?g.push(1):g.push(0);u=u.concat(g)}),a[c]=u}),a},Zd=function(t,e,r,i){r===void 0&&(r=Ii.EuclideanDistance);var a=0;switch(r){case Ii.EuclideanDistance:a=new Ei(t).euclideanDistance(new Ei(e));break;default:break}return a},Yj={getAllKeyValueMap:qm,oneHot:ru,getDistance:Zd},$m=function(t,e,r,i){for(var a=e.length,s=2*i,o=0,l=0;l<a;l++)for(var c=t[l].clusterId,u=0;u<a;u++){var h=t[u].clusterId;if(c===h){var f=e[l][u]||0,d=r[l]||0,v=r[u]||0;o+=f-d*v/s}}return o*=1/s,o},_d=function(t,e){t===void 0&&(t=[]);for(var r=t.length,i=new Ei([]),a=0;a<r;a++)i=i.add(new Ei(e[a]));var s=i.avg(r);s.normalize();for(var o=0,a=0;a<r;a++){var l=new Ei(e[a]),c=l.squareEuclideanDistance(s);o+=c}var u=[];t.forEach(function(){u.push([])});for(var a=0;a<r;a++){var l=new Ei(e[a]);t[a].clusterInertial=0;for(var h=0;h<r;h++){if(a===h){u[a][h]=0;continue}var f=new Ei(e[h]);u[a][h]=l.squareEuclideanDistance(f),t[a].clusterInertial+=u[a][h]}}for(var d=0,v=2*r*o,a=0;a<r;a++)for(var g=t[a].clusterId,h=0;h<r;h++){var p=t[h].clusterId;if(!(a===h||g!==p)){var y=t[a].clusterInertial*t[h].clusterInertial/Math.pow(v,2)-u[a][h]/v;d+=y}}return Number(d.toFixed(4))},O3=function(t,e,r,i,a,s,o,l,c){e===void 0&&(e=!1),r===void 0&&(r="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"]),c===void 0&&(c=1);var u=t.nodes,h=u===void 0?[]:u,f=t.edges,d=f===void 0?[]:f,v=[];if(a){h.forEach(function(yt,Lt){yt.properties=yt.properties||{},yt.originIndex=Lt});var g=[];h.every(function(yt){return yt.hasOwnProperty("nodeType")})&&(g=Array.from(new Set(h.map(function(yt){return yt.nodeType}))),h.forEach(function(yt){yt.properties.nodeType=g.findIndex(function(Lt){return Lt===yt.nodeType})}));var p=nu(h,s);v=ru(p,o,l)}var y=1,b={},M={};h.forEach(function(yt,Lt){var Zt=String(y++);yt.clusterId=Zt,b[Zt]={id:Zt,nodes:[yt]},M[yt.id]={node:yt,idx:Lt}});var O=Qc(t,e),k=[],D={},j=0;O.forEach(function(yt,Lt){var Zt=0,Ut=h[Lt].id;D[Ut]={},yt.forEach(function(ee,ae){if(ee){Zt+=ee;var he=h[ae].id;D[Ut][he]=ee,j+=ee}}),k.push(Zt)}),j/=2;for(var B=1/0,W=1/0,V=0,q=[],$={};;){a&&h.every(function(yt){return yt.hasOwnProperty("properties")})?B=$m(h,O,k,j)+_d(h,v)*c:B=$m(h,O,k,j),V===0&&(W=B,q=h,$=b);var ot=B>0&&B>W&&B-W<i;if(B>W&&(q=h.map(function(yt){return{node:yt,clusterId:yt.clusterId}}),$=vl(b),W=B),ot||V>100)break;V++,Object.keys(b).forEach(function(yt){var Lt=0;d.forEach(function(Zt){var Ut=Zt.source,ee=Zt.target,ae=M[Ut].node.clusterId,he=M[ee].node.clusterId;(ae===yt&&he!==yt||he===yt&&ae!==yt)&&(Lt=Lt+(Zt[r]||1))}),b[yt].sumTot=Lt}),h.forEach(function(yt,Lt){var Zt=b[yt.clusterId],Ut=0,ee,ae=k[Lt]/(2*j),he=0,ce=Zt.nodes;ce.forEach(function(Er){var dr=M[Er.id].idx;he+=O[Lt][dr]||0});var Ee=he-Zt.sumTot*ae,Ce=ce.filter(function(Er){return Er.id!==yt.id}),Ze=[];Ce.forEach(function(Er,dr){Ze[dr]=v[Er.originIndex]});var Ve=_d(Ce,v)*c,or=D[yt.id];if(Object.keys(or).forEach(function(Er){var dr=M[Er].node,Pa=dr.clusterId;if(Pa!==yt.clusterId){var wr=b[Pa],Jr=wr.nodes;if(!(!Jr||!Jr.length)){var ze=0;Jr.forEach(function(Ue){var qe=M[Ue.id].idx;ze+=O[Lt][qe]||0});var Je=ze-wr.sumTot*ae,je=Jr.concat([yt]),Ye=[];je.forEach(function(Ue,qe){Ye[qe]=v[Ue.originIndex]});var en=_d(je,v)*c,pe=Je-Ee;a&&(pe=Je+en-(Ee+Ve)),pe>Ut&&(Ut=pe,ee=wr)}}}),Ut>0){ee.nodes.push(yt);var Qe=yt.clusterId;yt.clusterId=ee.id;var ui=Zt.nodes.indexOf(yt);Zt.nodes.splice(ui,1);var Nr=0,rs=0;d.forEach(function(Er){var dr=Er.source,Pa=Er.target,wr=M[dr].node.clusterId,Jr=M[Pa].node.clusterId;(wr===ee.id&&Jr!==ee.id||Jr===ee.id&&wr!==ee.id)&&(Nr=Nr+(Er[r]||1)),(wr===Qe&&Jr!==Qe||Jr===Qe&&wr!==Qe)&&(rs=rs+(Er[r]||1))}),ee.sumTot=Nr,Zt.sumTot=rs}})}var ct={},vt=0;Object.keys($).forEach(function(yt){var Lt=$[yt];if(!Lt.nodes||!Lt.nodes.length){delete $[yt];return}var Zt=String(vt+1);Zt!==yt&&(Lt.id=Zt,Lt.nodes=Lt.nodes.map(function(Ut){return{id:Ut.id,clusterId:Zt}}),$[Zt]=Lt,ct[yt]=Zt,delete $[yt],vt++)}),q.forEach(function(yt){var Lt=yt.node,Zt=yt.clusterId;Lt&&(Lt.clusterId=Zt,Lt.clusterId&&ct[Lt.clusterId]&&(Lt.clusterId=ct[Lt.clusterId]))});var Ct=[],Ot={};d.forEach(function(yt){var Lt=yt.source,Zt=yt.target,Ut=yt[r]||1,ee=M[Lt].node.clusterId,ae=M[Zt].node.clusterId;if(!(!ee||!ae)){var he="".concat(ee,"---").concat(ae);if(Ot[he])Ot[he].weight+=Ut,Ot[he].count++;else{var ce={source:ee,target:ae,weight:Ut,count:1};Ot[he]=ce,Ct.push(ce)}}});var mt=[];return Object.keys($).forEach(function(yt){mt.push($[yt])}),{clusters:mt,clusterEdges:Ct}},ty=O3,T3=function(t,e,r,i,a,s,o,l){return e===void 0&&(e=!1),r===void 0&&(r="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),ty(t,e,r,i,!0,a,s,o,l)},C3=T3,N3=function(t,e){var r;e===void 0&&(e=1);for(var i=vl(t),a=i.nodes,s=a===void 0?[]:a,o=i.edges,l=o===void 0?[]:o,c=function(){var f=kd({nodes:s,edges:l}),d=Object.keys(f);d.sort(function(p,y){var b,M;return((b=f[p])===null||b===void 0?void 0:b.degree)-((M=f[y])===null||M===void 0?void 0:M.degree)});var v=d[0];if(!s.length||((r=f[v])===null||r===void 0?void 0:r.degree)>=e)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 u=c();if(u==="break")break}return{nodes:s,edges:l}},k3=N3,ey=function(t,e,r){var i=[];switch(t){case Ii.EuclideanDistance:i=e[r];break;default:i=[];break}return i},L3=function(t,e,r,i,a,s){e===void 0&&(e=3),r===void 0&&(r=void 0),i===void 0&&(i=[]),a===void 0&&(a=["id"]),s===void 0&&(s=Ii.EuclideanDistance);var o=t.nodes,l=o===void 0?[]:o,c=t.edges,u=c===void 0?[]:c,h={clusters:[{id:"0",nodes:l}],clusterEdges:[]};if(s===Ii.EuclideanDistance&&!l.every(function(Zt){return Zt.hasOwnProperty(r)}))return h;var f=[],d=[];if(s===Ii.EuclideanDistance&&(f=nu(l,r),d=ru(f,i,a)),!d.length)return h;for(var v=Id(d.map(function(Zt){return Zt.join("")})),g=Math.min(e,l.length,v.length),p=0;p<l.length;p++)l[p].originIndex=p;for(var y=[],b=[],M=[],p=0;p<g;p++)if(p===0){var O=Math.floor(Math.random()*l.length);switch(s){case Ii.EuclideanDistance:y[p]=d[O];break;default:y[p]=[];break}b.push(O),M[p]=[l[O]],l[O].clusterId=String(p)}else{for(var k=-1/0,D=0,j=function(ee){if(!b.includes(ee)){for(var ae=0,he=0;he<y.length;he++){var ce=0;switch(s){case Ii.EuclideanDistance:ce=Zd(d[l[ee].originIndex],y[he],s);break;default:break}ae+=ce}var Ee=ae/y.length;Ee>k&&!y.find(function(Ce){return v3(Ce,ey(s,d,l[ee].originIndex))})&&(k=Ee,D=ee)}},B=0;B<l.length;B++)j(B);y[p]=ey(s,d,D),b.push(D),M[p]=[l[D]],l[D].clusterId=String(p)}for(var W=0;;){for(var p=0;p<l.length;p++){var V=0,q=1/0;if(!(W===0&&b.includes(p))){for(var $=0;$<y.length;$++){var ot=0;switch(s){case Ii.EuclideanDistance:ot=Zd(d[p],y[$],s);break;default:break}ot<q&&(q=ot,V=$)}if(l[p].clusterId!==void 0)for(var ct=M[Number(l[p].clusterId)].length-1;ct>=0;ct--)M[Number(l[p].clusterId)][ct].id===l[p].id&&M[Number(l[p].clusterId)].splice(ct,1);l[p].clusterId=String(V),M[V].push(l[p])}}for(var vt=!1,p=0;p<M.length;p++){for(var Ct=M[p],Ot=new Ei([]),$=0;$<Ct.length;$++)Ot=Ot.add(new Ei(d[Ct[$].originIndex]));var mt=Ot.avg(Ct.length);mt.equal(new Ei(y[p]))||(vt=!0,y[p]=mt.getArr())}if(W++,l.every(function(Zt){return Zt.clusterId!==void 0})&&vt||W>=1e3)break}var yt=[],Lt={};return u.forEach(function(Zt){var Ut,ee,ae=Zt.source,he=Zt.target,ce=(Ut=l.find(function(Ve){return Ve.id===ae}))===null||Ut===void 0?void 0:Ut.clusterId,Ee=(ee=l.find(function(Ve){return Ve.id===he}))===null||ee===void 0?void 0:ee.clusterId,Ce="".concat(ce,"---").concat(Ee);if(Lt[Ce])Lt[Ce].count++;else{var Ze={source:ce,target:Ee,count:1};Lt[Ce]=Ze,yt.push(Ze)}}),{clusters:M,clusterEdges:yt}},D3=L3,R3=function(t,e){var r=new Ei(e),i=r.norm2(),a=new Ei(t),s=a.norm2(),o=r.dot(a),l=i*s,c=l?o/l:0;return c},ny=R3,I3=function(t,e,r,i,a){t===void 0&&(t=[]),r===void 0&&(r=void 0),i===void 0&&(i=[]),a===void 0&&(a=[]);var s=vl(t.filter(function(f){return f.id!==e.id})),o=t.findIndex(function(f){return f.id===e.id}),l=nu(t,r),c=ru(l,i,a),u=c[o],h=[];return s.forEach(function(f,d){if(f.id!==e.id){var v=c[d],g=ny(v,u);h.push(g),f.cosineSimilarity=g}}),s.sort(function(f,d){return d.cosineSimilarity-f.cosineSimilarity}),{allCosineSimilarity:h,similarNodes:s}},B3=I3,z3=function(){function n(t){this.count=t.length,this.parent={};for(var e=0,r=t;e<r.length;e++){var i=r[e];this.parent[i]=i}}return n.prototype.find=function(t){for(;this.parent[t]!==t;)t=this.parent[t];return t},n.prototype.union=function(t,e){var r=this.find(t),i=this.find(e);r!==i&&(r<i?(this.parent[e]!==e&&this.union(this.parent[e],t),this.parent[e]=this.parent[t]):(this.parent[t]!==t&&this.union(this.parent[t],e),this.parent[t]=this.parent[e]))},n.prototype.connected=function(t,e){return this.find(t)===this.find(e)},n}(),j3=z3,F3=function(t,e){return t-e},Z3=function(){function n(t){t===void 0&&(t=F3),this.compareFn=t,this.list=[]}return n.prototype.getLeft=function(t){return 2*t+1},n.prototype.getRight=function(t){return 2*t+2},n.prototype.getParent=function(t){return t===0?null:Math.floor((t-1)/2)},n.prototype.isEmpty=function(){return this.list.length<=0},n.prototype.top=function(){return this.isEmpty()?void 0:this.list[0]},n.prototype.delMin=function(){var t=this.top(),e=this.list.pop();return this.list.length>0&&(this.list[0]=e,this.moveDown(0)),t},n.prototype.insert=function(t){if(t!==null){this.list.push(t);var e=this.list.length-1;return this.moveUp(e),!0}return!1},n.prototype.moveUp=function(t){for(var e=this.getParent(t);t&&t>0&&this.compareFn(this.list[e],this.list[t])>0;){var r=this.list[e];this.list[e]=this.list[t],this.list[t]=r,t=e,e=this.getParent(t)}},n.prototype.moveDown=function(t){var e,r=t,i=this.getLeft(t),a=this.getRight(t),s=this.list.length;i!==null&&i<s&&this.compareFn(this.list[r],this.list[i])>0?r=i:a!==null&&a<s&&this.compareFn(this.list[r],this.list[a])>0&&(r=a),t!==r&&(e=[this.list[r],this.list[t]],this.list[t]=e[0],this.list[r]=e[1],this.moveDown(r))},n}(),_3=Z3,H3=function(t,e){var r=[],i=t.nodes,a=i===void 0?[]:i,s=t.edges,o=s===void 0?[]:s;if(a.length===0)return r;var l=a[0],c=new Set;c.add(l);var u=function(p,y){return e?p.weight-y.weight:0},h=new _3(u);for(Jc(l.id,o).forEach(function(g){h.insert(g)});!h.isEmpty();){var f=h.delMin(),d=f.source,v=f.target;c.has(d)&&c.has(v)||(r.push(f),c.has(d)||(c.add(d),Jc(d,o).forEach(function(g){h.insert(g)})),c.has(v)||(c.add(v),Jc(v,o).forEach(function(g){h.insert(g)})))}return r},ry=function(t,e){var r=[],i=t.nodes,a=i===void 0?[]:i,s=t.edges,o=s===void 0?[]:s;if(a.length===0)return r;var l=o.map(function(d){return d});e&&l.sort(function(d,v){return d.weight-v.weight});for(var c=new j3(a.map(function(d){return d.id}));l.length>0;){var u=l.shift(),h=u.source,f=u.target;c.connected(h,f)||(r.push(u),c.union(h,f))}return r},G3=function(t,e,r){var i={prim:H3,kruskal:ry};return r?i[r](t,e):ry(t,e)},W3=G3,X3=function(t,e,r){typeof e!="number"&&(e=1e-6),typeof r!="number"&&(r=.85);for(var i=1,a=0,s=1e3,o=t.nodes,l=o===void 0?[]:o,c=t.edges,u=c===void 0?[]:c,h=l.length,f,d={},v={},g=0;g<h;++g){var p=l[g],y=p.id;d[y]=1/h,v[y]=1/h}for(var b=kd(t);s>0&&i>e;){a=0;for(var g=0;g<h;++g){var p=l[g],y=p.id;if(f=0,b[p.id].inDegree===0)d[y]=0;else{for(var M=xi(y,u,"source"),O=0;O<M.length;++O){var k=M[O],D=b[k].outDegree;D>0&&(f+=v[k]/D)}d[y]=r*f,a+=d[y]}}a=(1-a)/h,i=0;for(var g=0;g<h;++g){var p=l[g],y=p.id;f=d[y]+a,i+=Math.abs(f-v[y]),v[y]=f}s-=1}return v},iy=X3,V3=-1,iu=-1,ay="-1",na="-1",sy=-1,Uj="-1",oy=function(){function n(t,e,r,i){t===void 0&&(t=V3),e===void 0&&(e=iu),r===void 0&&(r=iu),i===void 0&&(i=ay),this.id=t,this.from=e,this.to=r,this.label=i}return n}(),Y3=function(){function n(t,e){t===void 0&&(t=iu),e===void 0&&(e=na),this.id=t,this.label=e,this.edges=[],this.edgeMap={}}return n.prototype.addEdge=function(t){this.edges.push(t),this.edgeMap[t.id]=t},n}(),ly=function(){function n(t,e,r){t===void 0&&(t=iu),e===void 0&&(e=!0),r===void 0&&(r=!1),this.id=t,this.edgeIdAutoIncrease=e,this.edges=[],this.nodes=[],this.nodeMap={},this.edgeMap={},this.nodeLabelMap={},this.edgeLabelMap={},this.counter=0,this.directed=r}return n.prototype.getNodeNum=function(){return this.nodes.length},n.prototype.addNode=function(t,e){if(!this.nodeMap[t]){var r=new Y3(t,e);this.nodes.push(r),this.nodeMap[t]=r,this.nodeLabelMap[e]||(this.nodeLabelMap[e]=[]),this.nodeLabelMap[e].push(t)}},n.prototype.addEdge=function(t,e,r,i){if((this.edgeIdAutoIncrease||t===void 0)&&(t=this.counter++),!(this.nodeMap[e]&&this.nodeMap[r]&&this.nodeMap[r].edgeMap[t])){var a=new oy(t,e,r,i);if(this.edges.push(a),this.edgeMap[t]=a,this.nodeMap[e].addEdge(a),this.edgeLabelMap[i]||(this.edgeLabelMap[i]=[]),this.edgeLabelMap[i].push(a),!this.directed){var s=new oy(t,r,e,i);this.nodeMap[r].addEdge(s),this.edgeLabelMap[i].push(s)}}},n}(),Ns=function(){function n(t,e,r,i,a){this.fromNode=t,this.toNode=e,this.nodeEdgeNodeLabel={nodeLabel1:r||na,edgeLabel:i||ay,nodeLabel2:a||na}}return n.prototype.equalTo=function(t){return this.fromNode===t.formNode&&this.toNode===t.toNode&&this.nodeEdgeNodeLabel===t.nodeEdgeNodeLabel},n.prototype.notEqualTo=function(t){return!this.equalTo(t)},n}(),cy=function(){function n(){this.rmpath=[],this.dfsEdgeList=[]}return n.prototype.equalTo=function(t){var e=this.dfsEdgeList.length,r=t.length;if(e!==r)return!1;for(var i=0;i<e;i++)if(this.dfsEdgeList[i]!==t[i])return!1;return!0},n.prototype.notEqualTo=function(t){return!this.equalTo(t)},n.prototype.pushBack=function(t,e,r,i,a){return this.dfsEdgeList.push(new Ns(t,e,r,i,a)),this.dfsEdgeList},n.prototype.toGraph=function(t,e){t===void 0&&(t=sy),e===void 0&&(e=!1);var r=new ly(t,!0,e);return this.dfsEdgeList.forEach(function(i){var a=i.fromNode,s=i.toNode,o=i.nodeEdgeNodeLabel,l=o.nodeLabel1,c=o.edgeLabel,u=o.nodeLabel2;l!==na&&r.addNode(a,l),u!==na&&r.addNode(s,u),l!==na&&u!==l&&r.addEdge(void 0,a,s,c)}),r},n.prototype.buildRmpath=function(){this.rmpath=[];for(var t=void 0,e=this.dfsEdgeList.length,r=e-1;r>=0;r--){var i=this.dfsEdgeList[r],a=i.fromNode,s=i.toNode;a<s&&(t===void 0||s===t)&&(this.rmpath.push(r),t=a)}return this.rmpath},n.prototype.getNodeNum=function(){var t={};return this.dfsEdgeList.forEach(function(e){t[e.fromNode]||(t[e.fromNode]=!0),t[e.toNode]||(t[e.toNode]=!0)}),Object.keys(t).length},n}(),au=function(){function n(t){if(this.his={},this.nodesUsed={},this.edgesUsed={},this.edges=[],!!t){for(;t;){var e=t.edge;this.edges.push(e),this.nodesUsed[e.from]=1,this.nodesUsed[e.to]=1,this.edgesUsed[e.id]=1,t=t.preNode}this.edges=this.edges.reverse()}}return n.prototype.hasNode=function(t){return this.nodesUsed[t.id]===1},n.prototype.hasEdge=function(t){return this.edgesUsed[t.id]===1},n}(),U3=function(){function n(t){var e=t.graphs,r=t.minSupport,i=r===void 0?2:r,a=t.minNodeNum,s=a===void 0?1:a,o=t.maxNodeNum,l=o===void 0?4:o,c=t.top,u=c===void 0?10:c,h=t.directed,f=h===void 0?!1:h,d=t.verbose,v=d===void 0?!1:d;this.graphs=e,this.dfsCode=new cy,this.support=0,this.frequentSize1Subgraphs=[],this.frequentSubgraphs=[],this.minSupport=i,this.top=u,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 n.prototype.findForwardRootEdges=function(t,e){var r=this,i=[],a=t.nodeMap;return e.edges.forEach(function(s){(r.directed||e.label<=a[s.to].label)&&i.push(s)}),i},n.prototype.findBackwardEdge=function(t,e,r,i){if(!this.directed&&e===r)return null;for(var a=t.nodeMap,s=a[r.to],o=s.edges,l=o.length,c=0;c<l;c++){var u=o[c];if(!(i.hasEdge(u)||u.to!==e.from)){if(this.directed){if(a[e.from].label<a[r.to].label||a[e.from].label===a[r.to].label&&e.label<=u.label)return u}else if(e.label<u.label||e.label===u.label&&a[e.to].label<=a[r.to].label)return u}}return null},n.prototype.findForwardPureEdges=function(t,e,r,i){for(var a=[],s=e.to,o=t.nodeMap[s].edges,l=o.length,c=0;c<l;c++){var u=o[c],h=t.nodeMap[u.to];r<=h.label&&!i.hasNode(h)&&a.push(u)}return a},n.prototype.findForwardRmpathEdges=function(t,e,r,i){for(var a=[],s=t.nodeMap,o=s[e.to].label,l=s[e.from],c=l.edges,u=c.length,h=0;h<u;h++){var f=c[h],d=s[f.to].label;e.to===f.to||r>d||i.hasNode(s[f.to])||(e.label<f.label||e.label===f.label&&o<=d)&&a.push(f)}return a},n.prototype.getSupport=function(t){var e={};return t.forEach(function(r){e[r.graphId]||(e[r.graphId]=!0)}),Object.keys(e).length},n.prototype.findMinLabel=function(t){var e=void 0;return Object.keys(t).forEach(function(r){var i=t[r],a=i.nodeLabel1,s=i.edgeLabel,o=i.nodeLabel2;if(!e){e={nodeLabel1:a,edgeLabel:s,nodeLabel2:o};return}(a<e.nodeLabel1||a===e.nodeLabel1&&s<e.edgeLabel||a===e.nodeLabel1&&s===e.edgeLabel&&o<e.nodeLabel2)&&(e={nodeLabel1:a,edgeLabel:s,nodeLabel2:o})}),e},n.prototype.isMin=function(){var t=this,e=this.dfsCode;if(this.verbose&&console.log("isMin checking",e),e.dfsEdgeList.length===1)return!0;var r=this.directed,i=e.toGraph(sy,r),a=i.nodeMap,s=new cy,o={};i.nodes.forEach(function(h){var f=t.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 Ns(0,1,l.nodeLabel1,l.edgeLabel,l.nodeLabel2));var c=function h(f){for(var d=s.buildRmpath(),v=s.dfsEdgeList[0].nodeEdgeNodeLabel.nodeLabel1,g=s.dfsEdgeList[d[0]].toNode,p={},y=!1,b=0,M=r?-1:0,O=function(Ot){if(y)return"break";f.forEach(function(mt){var yt=new au(mt),Lt=t.findBackwardEdge(i,yt.edges[d[Ot]],yt.edges[d[0]],yt);Lt&&(p[Lt.label]||(p[Lt.label]={projected:[],edgeLabel:Lt.label}),p[Lt.label].projected.push({graphId:i.id,edge:p,preNode:mt}),b=s.dfsEdgeList[d[Ot]].fromNode,y=!0)})},k=d.length-1;k>M;k--){var D=O(k);if(D==="break")break}if(y){var j=t.findMinLabel(p);s.dfsEdgeList.push(new Ns(g,b,na,j.edgeLabel,na));var B=s.dfsEdgeList.length-1;return t.dfsCode.dfsEdgeList[B]!==s.dfsEdgeList[B]?!1:h(p[j.edgeLabel].projected)}var W={};y=!1;var V=0;f.forEach(function(Ct){var Ot=new au(Ct),mt=t.findForwardPureEdges(i,Ot.edges[d[0]],v,Ot);mt.length>0&&(y=!0,V=g,mt.forEach(function(yt){var Lt="".concat(yt.label,"-").concat(a[yt.to].label);W[Lt]||(W[Lt]={projected:[],edgeLabel:yt.label,nodeLabel2:a[yt.to].label}),W[Lt].projected.push({graphId:i.id,edge:yt,preNode:Ct})}))});for(var q=d.length,$=function(Ot){if(y)return"break";var mt=d[Ot];f.forEach(function(yt){var Lt=new au(yt),Zt=t.findForwardRmpathEdges(i,Lt.edges[mt],v,Lt);Zt.length>0&&(y=!0,V=s.dfsEdgeList[mt].fromNode,Zt.forEach(function(Ut){var ee="".concat(Ut.label,"-").concat(a[Ut.to].label);W[ee]||(W[ee]={projected:[],edgeLabel:Ut.label,nodeLabel2:a[Ut.to].label}),W[ee].projected.push({graphId:i.id,edge:Ut,preNode:yt})}))})},k=0;k<q;k++){var ot=$(k);if(ot==="break")break}if(!y)return!0;var ct=t.findMinLabel(W);s.dfsEdgeList.push(new Ns(V,g+1,na,ct.edgeLabel,ct.nodeLabel2));var vt=s.dfsEdgeList.length-1;return e.dfsEdgeList[vt]!==s.dfsEdgeList[vt]?!1:h(W["".concat(ct.edgeLabel,"-").concat(ct.nodeLabel2)].projected)},u="".concat(l.nodeLabel1,"-").concat(l.edgeLabel,"-").concat(l.nodeLabel2);return c(o[u].projected)}},n.prototype.report=function(){if(!(this.dfsCode.getNodeNum()<this.minNodeNum)){this.counter++;var t=this.dfsCode.toGraph(this.counter,this.directed);this.frequentSubgraphs.push(vl(t))}},n.prototype.subGraphMining=function(t){var e=this,r=this.getSupport(t);if(!(r<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={},c={};t.forEach(function(u){for(var h=e.graphs[u.graphId],f=h.nodeMap,d=new au(u),v=a.length-1;v>=0;v--){var g=e.findBackwardEdge(h,d.edges[a[v]],d.edges[a[0]],d);if(g){var p="".concat(e.dfsCode.dfsEdgeList[a[v]].fromNode,"-").concat(g.label);c[p]||(c[p]={projected:[],toNodeId:e.dfsCode.dfsEdgeList[a[v]].fromNode,edgeLabel:g.label}),c[p].projected.push({graphId:u.graphId,edge:g,preNode:u})}}if(!(i>=e.maxNodeNum)){var y=e.findForwardPureEdges(h,d.edges[a[0]],o,d);y.forEach(function(M){var O="".concat(s,"-").concat(M.label,"-").concat(f[M.to].label);l[O]||(l[O]={projected:[],fromNodeId:s,edgeLabel:M.label,nodeLabel2:f[M.to].label}),l[O].projected.push({graphId:u.graphId,edge:M,preNode:u})});for(var b=function(O){var k=e.findForwardRmpathEdges(h,d.edges[a[O]],o,d);k.forEach(function(D){var j="".concat(e.dfsCode.dfsEdgeList[a[O]].fromNode,"-").concat(D.label,"-").concat(f[D.to].label);l[j]||(l[j]={projected:[],fromNodeId:e.dfsCode.dfsEdgeList[a[O]].fromNode,edgeLabel:D.label,nodeLabel2:f[D.to].label}),l[j].projected.push({graphId:u.graphId,edge:D,preNode:u})})},v=0;v<a.length;v++)b(v)}}),Object.keys(c).forEach(function(u){var h=c[u],f=h.toNodeId,d=h.edgeLabel;e.dfsCode.dfsEdgeList.push(new Ns(s,f,"-1",d,"-1")),e.subGraphMining(c[u].projected),e.dfsCode.dfsEdgeList.pop()}),Object.keys(l).forEach(function(u){var h=l[u],f=h.fromNodeId,d=h.edgeLabel,v=h.nodeLabel2;e.dfsCode.dfsEdgeList.push(new Ns(f,s+1,na,d,v)),e.subGraphMining(l[u].projected),e.dfsCode.dfsEdgeList.pop()})}},n.prototype.generate1EdgeFrequentSubGraphs=function(){var t=this.graphs,e=this.directed,r=this.minSupport,i=this.frequentSize1Subgraphs,a={},s={},o={},l={};return Object.keys(t).forEach(function(c){var u=t[c],h=u.nodeMap;u.nodes.forEach(function(f,d){var v=f.label,g="".concat(c,"-").concat(v);if(!o[g]){var p=a[v]||0;p++,a[v]=p}o[g]={graphKey:c,label:v},f.edges.forEach(function(y){var b=v,M=h[y.to].label;if(!e&&b>M){var O=M;M=b,b=O}var k=y.label,D="".concat(c,"-").concat(b,"-").concat(k,"-").concat(M),j="".concat(b,"-").concat(k,"-").concat(M);if(!s[j]){var B=s[j]||0;B++,s[j]=B}l[D]={graphId:c,nodeLabel1:b,edgeLabel:k,nodeLabel2:M}})})}),Object.keys(a).forEach(function(c){var u=a[c];if(!(u<r)){var h={nodes:[],edges:[]};h.nodes.push({id:"0",label:c}),i.push(h)}}),i},n.prototype.run=function(){var t=this;if(this.frequentSize1Subgraphs=this.generate1EdgeFrequentSubGraphs(),!(this.maxNodeNum<2)){var e=this.graphs,r=this.directed,i={};Object.keys(e).forEach(function(a){var s=e[a],o=s.nodeMap;s.nodes.forEach(function(l){var c=t.findForwardRootEdges(s,l);c.forEach(function(u){var h=o[u.to],f="".concat(l.label,"-").concat(u.label,"-").concat(h.label);i[f]||(i[f]={projected:[],nodeLabel1:l.label,edgeLabel:u.label,nodeLabel2:h.label});var d={graphId:a,edge:u,preNode:null};i[f].projected.push(d)})})}),Object.keys(i).forEach(function(a){var s=i[a],o=s.projected,l=s.nodeLabel1,c=s.edgeLabel,u=s.nodeLabel2;t.dfsCode.dfsEdgeList.push(new Ns(0,1,l,c,u)),t.subGraphMining(o),t.dfsCode.dfsEdgeList.pop()})}},n}(),K3=function(t,e,r,i){var a={};return Object.keys(t).forEach(function(s,o){var l=t[s],c=new ly(o,!0,e),u={};l.nodes.forEach(function(h,f){c.addNode(f,h[r]),u[h.id]=f}),l.edges.forEach(function(h,f){var d=u[h.source],v=u[h.target];c.addEdge(-1,d,v,h[i])}),c&&c.getNodeNum()&&(a[c.id]=c)}),a},Q3=function(t,e,r){var i=[];return t.forEach(function(a){var s={nodes:[],edges:[]};a.nodes.forEach(function(o){var l;s.nodes.push((l={id:"".concat(o.id)},l[e]=o.label,l))}),a.edges.forEach(function(o){var l;s.edges.push((l={source:"".concat(o.from),target:"".concat(o.to)},l[r]=o.label,l))}),i.push(s)}),i},uy="cluster",J3=function(t){var e=t.graphs,r=t.directed,i=r===void 0?!1:r,a=t.nodeLabelProp,s=a===void 0?uy:a,o=t.edgeLabelProp,l=o===void 0?uy:o,c=K3(e,i,s,l),u=t.minSupport,h=t.maxNodeNum,f=t.minNodeNum,d=t.verbose,v=t.top,g={graphs:c,minSupport:u,maxNodeNum:h,minNodeNum:f,top:v,verbose:d,directed:i},p=new U3(g);p.run();var y=Q3(p.frequentSubgraphs,s,l);return y},q3=J3,hy=function(t,e,r,i){r===void 0&&(r="cluster"),i===void 0&&(i=2);var a=[],s=t.nodes;return e.forEach(function(o,l){a.push(fy(s,o,l,r,i))}),a},fy=function(t,e,r,i,a){var s=[r],o=[],l={};return e.forEach(function(c,u){if(c<=a&&r!==u){s.push(u),o.push(t[u]);var h=t[u][i];l[h]?(l[h].count++,l[h].dists.push(c)):l[h]={count:1,dists:[c]}}}),Object.keys(l).forEach(function(c){l[c].dists=l[c].dists.sort(function(u,h){return u-h})}),{nodeIdx:r,nodeId:t[r].id,nodeIdxs:s,neighbors:o,neighborNum:s.length-1,nodeLabelCountMap:l}},$3=function(t,e,r,i,a){var s=Math.ceil(r/e),o={},l=0;return i.forEach(function(c,u){for(var h=0,f=0,d=c.nodeIdxs,v=c.neighborNum-1;h<s;){for(var g=d[1+Math.floor(Math.random()*v)],p=0;(o["".concat(u,"-").concat(g)]||o["".concat(g,"-").concat(u)])&&(g=Math.floor(Math.random()*e),p++,!(p>2*e)););if(p<2*e&&(o["".concat(u,"-").concat(g)]={start:u,end:g,distance:a[u][g]},h++,l++,l>=r))return o;if(f++,f>2*e)break}if(h<s){var y=s-h;s=(s+y)/(e-u-1)}}),o},su=function(t,e,r,i){var a=r.nodes;return i||(i={}),Object.keys(t).forEach(function(s){var o,l;if(!(i&&i[s])){i[s]={nodes:[],edges:[]};var c=t[s],u=(o=e[c.start])===null||o===void 0?void 0:o.nodeIdxs,h=(l=e[c.end])===null||l===void 0?void 0:l.nodeIdxs;if(!(!u||!h)){var f=new Set(h),d=u.filter(function(b){return f.has(b)});if(!(!d||!d.length)){for(var v={},g=d.length,p=0;p<g;p++){var y=a[d[p]];i[s].nodes.push(y),v[y.id]=!0}r.edges.forEach(function(b){v[b.source]&&v[b.target]&&i[s].edges.push(b)})}}}}),i},ou=function(t,e,r,i){var a,s,o={};t.nodes.forEach(function(c){o[c.id]=c});var l=0;return!(!((a=e==null?void 0:e.edges)===null||a===void 0)&&a.length)||((s=e==null?void 0:e.nodes)===null||s===void 0?void 0:s.length)<2?0:(t.edges.forEach(function(c){var u=o[c.source][r],h=o[c.target][r],f=e==null?void 0:e.nodes[0][r],d=e==null?void 0:e.nodes[1][r],v=e==null?void 0:e.edges[0][i];c[i]===v&&(u===f&&h===d||u===d&&h===f)&&l++}),l)},tT=function(t,e,r){for(var i=1/0,a=0,s=function(c){var u=t[c],h=Object.keys(u).sort(function(b,M){return u[b]-u[M]}),f=10,d=[];h.forEach(function(b,M){d[M%f]||(d[M%f]={graphs:[],totalCount:0,aveCount:0}),d[M%f].graphs.push(b),d[M%f].totalCount+=u[b]});var v=0,g=[];d.forEach(function(b){var M=b.totalCount/b.graphs.length;b.aveCount=M,g.push(M);var O=0,k=b.length;b.graphs.forEach(function(D,j){var B=u[D];b.graphs.forEach(function(W,V){j!==V&&(O+=Math.abs(B-u[W]))})}),O/=k*(k-1)/2,v+=O}),v/=d.length;var p=0;g.forEach(function(b,M){g.forEach(function(O,k){M!==k&&(p+=Math.abs(b-O))}),p/=g.length*(g.length-1)/2});var y=p-v;i<y&&(i=y,a=c)},o=0;o<e;o++)s(o);return{structure:r[a],structureCountMap:t[a]}},dy=function(t,e){var r={},i={};return t.forEach(function(a,s){r[a.id]={idx:s,node:a,degree:0,inDegree:0,outDegree:0};var o=a[e];i[o]||(i[o]=[]),i[o].push(a)}),{nodeMap:r,nodeLabelMap:i}},vy=function(t,e,r){var i={},a={};return t.forEach(function(s,o){i["".concat(Bm)]={idx:o,edge:s};var l=s[e];a[l]||(a[l]=[]),a[l].push(s);var c=r[s.source];c&&(c.degree++,c.outDegree++);var u=r[s.target];u&&(u.degree++,u.inDegree++)}),{edgeMap:i,edgeLabelMap:a}},gy=function(t,e,r){var i=e.length,a={};return e.forEach(function(s,o){for(var l=r?0:o+1,c=t[o].id,u=l;u<i;u++)if(o!==u){var h=t[u].id,f=s[u];a["".concat(c,"-").concat(h)]=f,r||(a["".concat(h,"-").concat(c)]=f)}}),a},eT=function(t,e,r,i,a,s,o,l,c,u,h){var f,d="".concat(e.id,"-").concat(r.id);if(u&&u[d])return u[d];var v=h?h[d]:void 0;if(!v){var g=(f={},f[d]={start:i[e.id].idx,end:i[r.id].idx,distance:a},f);h=su(g,s,t,h),v=h[d]}return ou(v,o,l,c)},py=function(t,e,r,i){var a,s,o,l=(a=t[e])===null||a===void 0?void 0:a.degree,c=(s=t[e])===null||s===void 0?void 0:s.inDegree,u=(o=t[e])===null||o===void 0?void 0:o.outDegree;return t[e]===void 0&&(l=1/0,c=1/0,u=1/0,i[e].forEach(function(h){var f=r[h.id].degree;l>f&&(l=f);var d=r[h.id].inDegree;c>d&&(c=d);var v=r[h.id].outDegree;u>v&&(u=v)}),t[e]={degree:l,inDegree:c,outDegree:u}),{minPatternNodeLabelDegree:l,minPatternNodeLabelInDegree:c,minPatternNodeLabelOutDegree:u}},nT=function(t,e,r,i,a,s,o){var l;if(r===void 0&&(r=!1),s===void 0&&(s="cluster"),o===void 0&&(o="cluster"),!(!t||!t.nodes)){var c=t.nodes.length;if(c){var u=Fd(t,r),h=Fd(e,r),f=gy(t.nodes,u,r),d=gy(e.nodes,h,r),v=dy(t.nodes,s),g=v.nodeMap,p=v.nodeLabelMap,y=dy(e.nodes,s),b=y.nodeMap,M=y.nodeLabelMap;vy(t.edges,o,g);var O=vy(e.edges,o,b).edgeLabelMap,k=[];h==null||h.forEach(function(ze){k=k.concat(ze)}),a||(a=Math.max.apply(Math,(0,G.ev)((0,G.ev)([],k,!1),[2],!1))),i||(i=a);var D=hy(t,u,s,i),j=hy(e,h,s,i),B=Math.min(100,c*(c-1)/2),W=$3(i,c,B,D,u),V=su(W,D,t),q=10,$=1,ot=1,ct=4,vt={graphs:V,nodeLabelProp:s,edgeLabelProp:o,minSupport:$,minNodeNum:ot,maxNodeNum:ct,directed:r},Ct=q3(vt).slice(0,q),Ot=Ct.length,mt=[];Ct.forEach(function(ze,Je){mt[Je]={},Object.keys(V).forEach(function(je){var Ye=V[je],en=ou(Ye,ze,s,o);mt[Je][je]=en})});var yt=tT(mt,Ot,Ct),Lt=yt.structure,Zt=yt.structureCountMap,Ut=e.nodes[0],ee=[],ae=(l=e.nodes[0])===null||l===void 0?void 0:l[s],he=-1/0;e.nodes.forEach(function(ze){var Je=ze[s],je=p[Je];(je==null?void 0:je.length)>he&&(he=je.length,ee=je,ae=Je,Ut=ze)});var ce={},Ee={},Ce={},Ze={},Ve={},or={};Object.keys(M).forEach(function(ze,Je){Ve[ze]=[],r&&(or[ze]=[]);var je=-1/0,Ye=M[ze],en={};Ye.forEach(function($e){var Ke=d["".concat(Ut.id,"-").concat($e.id)];if(Ke&&Ve[ze].push(Ke),je<Ke&&(je=Ke),en["".concat(Ut.id,"-").concat($e.id)]={start:0,end:b[$e.id].idx,distance:Ke},r){var zn=d["".concat($e.id,"-").concat(Ut.id)];zn&&or[ze].push(zn)}}),Ve[ze]=Ve[ze].sort(function($e,Ke){return $e-Ke}),r&&(or[ze]=or[ze].sort(function($e,Ke){return $e-Ke})),Ee=su(en,j,e,Ee);var pe=[];if(Object.keys(en).forEach(function($e){if(Ce[$e]){pe.push(Ce[$e]);return}var Ke=Ee[$e];Ce[$e]=ou(Ke,Lt,s,o),pe.push(Ce[$e])}),pe=pe.sort(function($e,Ke){return Ke-$e}),Ze["".concat(Ut.id,"-").concat(ze)]=pe,ze!==ae)for(var Ue=(ee==null?void 0:ee.length)||0,qe=function(Ke){var zn=ee[Ke],hi=D[g[zn.id].idx],Vn=hi.nodeLabelCountMap[ze],Ks=M[ze].length;if(!Vn||Vn.count<Ks)return ee.splice(Ke,1),"continue";for(var Ro=!1,Zr=0;Zr<Ks;Zr++)if(Vn.dists[Zr]>Ve[ze][Zr]){Ro=!0;break}if(Ro)return ee.splice(Ke,1),"continue";var Ai={};hi.neighbors.forEach(function(_r){var Xi=f["".concat(zn.id,"-").concat(_r.id)];Ai["".concat(zn.id,"-").concat(_r.id)]={start:g[zn.id].idx,end:g[_r.id].idx,distance:Xi}}),V=su(Ai,D,t,V);var sa=[];Object.keys(Ai).forEach(function(_r){if(Zt[_r]){sa.push(Zt[_r]);return}var Xi=V[_r];Zt[_r]=ou(Xi,Lt,s,o),sa.push(Zt[_r])}),sa=sa.sort(function(_r,Xi){return Xi-_r});for(var is=!1,Zr=0;Zr<Ks;Zr++)if(sa[Zr]<pe[Zr]){is=!0;break}if(is)return ee.splice(Ke,1),"continue"},er=Ue-1;er>=0;er--)qe(er)});var Qe=[];ee==null||ee.forEach(function(ze){for(var Je=g[ze.id].idx,je=fy(t.nodes,u[Je],Je,s,a),Ye=je.neighbors,en=Ye.length,pe=!1,Ue=en-1;Ue>=0;Ue--){if(Ye.length+1<e.nodes.length){pe=!0;return}var qe=Ye[Ue],er=qe[s];if(!M[er]||!M[er].length){Ye.splice(Ue,1);continue}if(!Ve[er]||!Ve[er].length){Ye.splice(Ue,1);continue}var $e="".concat(ze.id,"-").concat(qe.id),Ke=f[$e],zn=Ve[er].length-1,hi=Ve[er][zn];if(Ke>hi){Ye.splice(Ue,1);continue}if(r){var Vn="".concat(qe.id,"-").concat(ze.id),Ks=f[Vn];zn=or[er].length-1;var Ro=or[er][zn];if(Ks>Ro){Ye.splice(Ue,1);continue}}var Zr=Zt[$e]?Zt[$e]:eT(t,ze,qe,g,Ke,D,Lt,s,o,Zt,V),Ai="".concat(Ut.id,"-").concat(er),sa=Ze[Ai][Ze[Ai].length-1];if(Zr<sa){Ye.splice(Ue,1);continue}var is=py(ce,er,b,M),_r=is.minPatternNodeLabelDegree,Xi=is.minPatternNodeLabelInDegree,Sa=is.minPatternNodeLabelOutDegree;if(g[qe.id].degree<_r){Ye.splice(Ue,1);continue}}pe||Qe.push({nodes:[ze].concat(Ye)})});var ui=eu(e,Ut.id,!1).length,Nr={};r?(Object.keys(ui).forEach(function(ze){var Je=b[ze].node[s];Nr[Je]?Nr[Je].push(ui[ze]):Nr[Je]=[ui[ze]]}),Object.keys(Nr).forEach(function(ze){Nr[ze].sort(function(Je,je){return Je-je})})):Nr=Ve;for(var rs=Qe.length,Er=function(Je){var je=Qe[Je],Ye=je.nodes[0],en={},pe={};je.nodes.forEach(function(xn,fi){pe[xn.id]={idx:fi,node:xn,degree:0,inDegree:0,outDegree:0};var lr=xn[s];en[lr]?en[lr]++:en[lr]=1});var Ue=[],qe={};t.edges.forEach(function(xn){pe[xn.source]&&pe[xn.target]&&(Ue.push(xn),qe[xn[o]]?qe[xn[o]]++:qe[xn[o]]=1,pe[xn.source].degree++,pe[xn.target].degree++,pe[xn.source].outDegree++,pe[xn.target].inDegree++)});for(var er=Object.keys(O).length,$e=!1,Ke=0;Ke<er;Ke++){var zn=Object.keys(O)[Ke];if(!qe[zn]||qe[zn]<O[zn].length){$e=!0;break}}if($e)return Qe.splice(Je,1),"continue";var hi=Ue.length;if(hi<e.edges.length)return Qe.splice(Je,1),"break";for(var Vn=!1,Ks=function(fi){var lr=Ue[fi],oa=lr[o],Qs=O[oa];if(!Qs||!Qs.length)return qe[oa]--,Qs&&qe[oa]<Qs.length?(Vn=!0,"break"):(Ue.splice(fi,1),pe[lr.source].degree--,pe[lr.target].degree--,pe[lr.source].outDegree--,pe[lr.target].inDegree--,"continue");var tw=pe[lr.source].node[s],ew=pe[lr.target].node[s],W0=!1;if(Qs.forEach(function(nw){var rw=b[nw.source].node,iw=b[nw.target].node;rw[s]===tw&&iw[s]===ew&&(W0=!0),!r&&rw[s]===ew&&iw[s]===tw&&(W0=!0)}),!W0)return qe[oa]--,Qs&&qe[oa]<Qs.length?(Vn=!0,"break"):(Ue.splice(fi,1),pe[lr.source].degree--,pe[lr.target].degree--,pe[lr.source].outDegree--,pe[lr.target].inDegree--,"continue")},Ke=hi-1;Ke>=0;Ke--){var Ro=Ks(Ke);if(Ro==="break")break}if(Vn)return Qe.splice(Je,1),"continue";je.edges=Ue;var Zr=eu(je,je.nodes[0].id,!1).length;if(Object.keys(Zr).reverse().forEach(function(xn){if(!(xn===je.nodes[0].id||Vn)){if(Zr[xn]===1/0){var fi=pe[xn].node[s];if(en[fi]--,en[fi]<M[fi].length){Vn=!0;return}var lr=je.nodes.indexOf(pe[xn].node);je.nodes.splice(lr,1),pe[xn]=void 0;return}var oa=g[xn].node[s];if(!Nr[oa]||!Nr[oa].length||Zr[xn]>Nr[oa][Nr[oa].length-1]){var fi=pe[xn].node[s];if(en[fi]--,en[fi]<M[fi].length){Vn=!0;return}var lr=je.nodes.indexOf(pe[xn].node);je.nodes.splice(lr,1),pe[xn]=void 0}}}),Vn)return Qe.splice(Je,1),"continue";for(var Ai=!0,sa=0;Ai&&!Vn;){Ai=!1;var is=r?pe[Ye.id].degree<b[Ut.id].degree||pe[Ye.id].inDegree<b[Ut.id].inDegree||pe[Ye.id].outDegree<b[Ut.id].outDegree:pe[Ye.id].degree<b[Ut.id].degree;if(is){Vn=!0;break}if(en[Ye[s]]<M[Ye[s]].length){Vn=!0;break}for(var _r=je.nodes.length,Xi=_r-1;Xi>=0;Xi--){var Sa=je.nodes[Xi],qE=pe[Sa.id].degree,S9=pe[Sa.id].inDegree,O9=pe[Sa.id].outDegree,T9=Sa[s],G0=py(ce,T9,b,M),$E=G0.minPatternNodeLabelDegree,C9=G0.minPatternNodeLabelInDegree,N9=G0.minPatternNodeLabelOutDegree,k9=r?qE<$E||S9<C9||O9<N9:qE<$E;if(k9){if(en[Sa[s]]--,en[Sa[s]]<M[Sa[s]].length){Vn=!0;break}je.nodes.splice(Xi,1),pe[Sa.id]=void 0,Ai=!0}}if(Vn||!Ai&&sa!==0)break;hi=Ue.length;for(var uf=hi-1;uf>=0;uf--){var Oa=Ue[uf];if(!pe[Oa.source]||!pe[Oa.target]){Ue.splice(uf,1);var hf=Oa[o];if(qe[hf]--,pe[Oa.source]&&(pe[Oa.source].degree--,pe[Oa.source].outDegree--),pe[Oa.target]&&(pe[Oa.target].degree--,pe[Oa.target].inDegree--),O[hf]&&qe[hf]<O[hf].length){Vn=!0;break}Ai=!0}}sa++}if(Vn||Vn||je.nodes.length<e.nodes.length||Ue.length<e.edges.length)return Qe.splice(Je,1),"continue"},dr=rs-1;dr>=0;dr--){var Pa=Er(dr);if(Pa==="break")break}for(var wr=Qe.length,Jr=function(Je){var je=Qe[Je],Ye={};je.edges.forEach(function(Ue){var qe="".concat(Ue.source,"-").concat(Ue.target,"-").concat(Ue.label);Ye[qe]?Ye[qe]++:Ye[qe]=1});for(var en=function(qe){var er=Qe[qe],$e={};er.edges.forEach(function(zn){var hi="".concat(zn.source,"-").concat(zn.target,"-").concat(zn.label);$e[hi]?$e[hi]++:$e[hi]=1});var Ke=!0;Object.keys($e).length!==Object.keys(Ye).length?Ke=!1:Object.keys(Ye).forEach(function(zn){$e[zn]!==Ye[zn]&&(Ke=!1)}),Ke&&Qe.splice(qe,1)},pe=wr-1;pe>Je;pe--)en(pe);wr=Qe.length},dr=0;dr<=wr-1;dr++)Jr(dr);return Qe}}},rT=nT,iT=function(){function n(t){t===void 0&&(t=10),this.linkedList=new Im,this.maxStep=t}return Object.defineProperty(n.prototype,"length",{get:function(){return this.linkedList.toArray().length},enumerable:!1,configurable:!0}),n.prototype.isEmpty=function(){return!this.linkedList.head},n.prototype.isMaxStack=function(){return this.toArray().length>=this.maxStep},n.prototype.peek=function(){return this.isEmpty()?null:this.linkedList.head.value},n.prototype.push=function(t){this.linkedList.prepend(t),this.length>this.maxStep&&this.linkedList.deleteTail()},n.prototype.pop=function(){var t=this.linkedList.deleteHead();return t?t.value:null},n.prototype.toArray=function(){return this.linkedList.toArray().map(function(t){return t.value})},n.prototype.clear=function(){for(;!this.isEmpty();)this.pop()},n}(),aT=iT,sT=Gm,Kj={getAdjMatrix:Qc,breadthFirstSearch:FO,connectedComponent:jm,getDegree:kd,getInDegree:_O,getOutDegree:HO,detectCycle:Gm,detectDirectedCycle:sT,detectAllCycles:XO,detectAllDirectedCycle:Hm,detectAllUndirectedCycle:_m,depthFirstSearch:Zm,dijkstra:eu,findAllPath:y3,findShortestPath:jd,floydWarshall:Fd,labelPropagation:E3,louvain:ty,iLouvain:C3,kCore:k3,kMeans:D3,cosineSimilarity:ny,nodesCosineSimilarity:B3,minimumSpanningTree:W3,pageRank:iy,getNeighbors:xi,Stack:aT,GADDI:rT};function Pt(n){if(n.id!==void 0)return n.id;if(n.source!==void 0&&n.target!==void 0)return`${n.source}-${n.target}`;throw new Error(pa("The datum does not have available id."))}function lu(n){return n.combo}function my(n,t){const e={nodes:(n.nodes||[]).map(Pt),edges:(n.edges||[]).map(Pt),combos:(n.combos||[]).map(Pt)};return t?Object.values(e).flat():e}const yy=(n,t,e)=>{var r;switch(e.type){case"degree":{const i=new Map;return(r=n.nodes)===null||r===void 0||r.forEach(a=>{const s=t(Pt(a),e.direction).length;i.set(Pt(a),s)}),i}case"betweenness":return oT(n,e.directed,e.weightPropertyName);case"closeness":return lT(n,e.directed,e.weightPropertyName);case"eigenvector":return uT(n,e.directed);case"pagerank":return cT(n,e.epsilon,e.linkProb);default:return by(n)}},by=n=>{var t;const e=new Map;return(t=n.nodes)===null||t===void 0||t.forEach(r=>{e.set(Pt(r),0)}),e},oT=(n,t,e)=>{const r=by(n),{nodes:i=[]}=n;return i.forEach(a=>{i.forEach(s=>{if(a!==s){const{allPath:o}=jd(n,Pt(a),Pt(s),t,e),l=o.length;o.flat().forEach(c=>{c!==Pt(a)&&c!==Pt(s)&&r.set(c,r.get(c)+1/l)})}})}),r},lT=(n,t,e)=>{const r=new Map,{nodes:i=[]}=n;return i.forEach(a=>{const s=i.reduce((o,l)=>{if(a!==l){const{length:c}=jd(n,Pt(a),Pt(l),t,e);o+=c}return o},0);r.set(Pt(a),1/s)}),r},cT=(n,t,e)=>{var r;const i=new Map,a=iy(n,t,e);return(r=n.nodes)===null||r===void 0||r.forEach(s=>{i.set(Pt(s),a[Pt(s)])}),i},uT=(n,t)=>{const{nodes:e=[]}=n,r=hT(n,t),i=fT(r,e.length),a=new Map;return e.forEach((s,o)=>{a.set(Pt(s),i[o])}),a},hT=(n,t)=>{const{nodes:e=[],edges:r=[]}=n,i=Array(e.length).fill(null).map(()=>Array(e.length).fill(0));return r.forEach(({source:a,target:s})=>{const o=e.findIndex(c=>Pt(c)===a),l=e.findIndex(c=>Pt(c)===s);t?i[o][l]=1:(i[o][l]=1,i[l][o]=1)}),i},fT=(n,t,e=100,r=1e-6)=>{let i=Array(t).fill(1),a=1/0;for(let s=0;s<e&&a>r;s++){const o=Array(t).fill(0);for(let c=0;c<t;c++)for(let u=0;u<t;u++)o[c]+=n[c][u]*i[u];const l=Math.sqrt(o.reduce((c,u)=>c+u*u,0));for(let c=0;c<t;c++)o[c]/=l;a=Math.sqrt(o.reduce((c,u,h)=>c+(u-i[h])*u,0)),i=o}return i};function Za(n,t,e,r=Hn){const i=new Map(n.map(f=>[e(f),f])),a=new Map(t.map(f=>[e(f),f])),s=new Set(i.keys()),o=new Set(a.keys()),l=[],c=[],u=[],h=[];return o.forEach(f=>{s.has(f)?r(i.get(f),a.get(f))?h.push(a.get(f)):c.push(a.get(f)):l.push(a.get(f))}),s.forEach(f=>{o.has(f)||u.push(i.get(f))}),{enter:l,exit:u,keep:h,update:c}}function ks(n,t,e){const r=i=>{e&&!e(i)||(i.style.visibility=t)};n.forEach(i=>{r(i)})}function dT(n,t,e){const r={},i=a=>(a in r||(r[a]=0),`${t}-${a}-${r[a]++}`);return e.map(a=>typeof a=="string"?{type:a,key:i(a)}:typeof a=="function"?a.call(n):a.key?a:Object.assign(Object.assign({},a),{key:i(a.type)}))}class Hd{constructor(t){this.extensions=[],this.extensionMap={},this.context=t}setExtensions(t){const e=dT(this.context.graph,this.category,t),{enter:r,update:i,exit:a,keep:s}=Za(this.extensions,e,o=>o.key);this.createExtensions(r),this.updateExtensions([...i,...s]),this.destroyExtensions(a),this.extensions=e}createExtension(t){const{category:e}=this,{key:r,type:i}=t,a=ga(e,i);if(!a)return Kr.warn(`The extension ${i} of ${e} is not registered.`);const s=new a(this.context,t);s.initialized=!0,this.extensionMap[r]=s}createExtensions(t){t.forEach(e=>this.createExtension(e))}updateExtension(t){const{key:e}=t,r=this.extensionMap[e];r&&r.update(t)}updateExtensions(t){t.forEach(e=>this.updateExtension(e))}destroyExtension(t){const e=this.extensionMap[t];e&&(e.initialized&&!e.destroyed&&e.destroy(),delete this.extensionMap[t])}destroyExtensions(t){t.forEach(({key:e})=>this.destroyExtension(e))}destroy(){this.destroyExtensions(this.extensions),this.context={},this.extensions=[],this.extensionMap={}}}class Gd{constructor(t,e){this.events=[],this.initialized=!1,this.destroyed=!1,this.context=t,this.options=e}update(t){this.options=Object.assign(this.options,t)}destroy(){this.context={},this.options={},this.destroyed=!0}}class ri extends Gd{}class cu extends ri{constructor(t,e){super(t,Object.assign({},cu.defaultOptions,e)),this.isOverlapping=(r,i)=>i.some(a=>r.intersects(a)),this.occupiedBounds=[],this.detectLabelCollision=r=>{const i=this.context.viewport,a={show:[],hide:[]};return this.occupiedBounds=[],r.forEach(s=>{const o=s.getShape("label").getRenderBounds();i.isInViewport(o,!0)&&!this.isOverlapping(o,this.occupiedBounds)?(a.show.push(s),this.occupiedBounds.push(Fa(o,this.options.padding))):a.hide.push(s)}),a},this.hideLabelIfExceedViewport=(r,i)=>{const{exit:a}=Za(r,i,s=>s.id);a==null||a.forEach(this.hideLabel)},this.nodeCentralities=new Map,this.sortNodesByCentrality=(r,i)=>{const{model:a}=this.context,s=a.getData(),o=a.getRelatedEdgesData.bind(a);return r.map(c=>(this.nodeCentralities.has(c.id)||(this.nodeCentralities=yy(s,o,i)),{node:c,centrality:this.nodeCentralities.get(c.id)})).sort((c,u)=>u.centrality-c.centrality).map(c=>c.node)},this.sortLabelElementsInView=r=>{const{sort:i,sortNode:a,sortCombo:s,sortEdge:o}=this.options,{model:l}=this.context;if(de(i))return r.sort((g,p)=>i(l.getElementDataById(g.id),l.getElementDataById(p.id)));const{node:c=[],edge:u=[],combo:h=[]}=Uc(r,g=>g.type),f=de(s)?h.sort((g,p)=>s(...l.getComboData([g.id,p.id]))):h,d=de(a)?c.sort((g,p)=>a(...l.getNodeData([g.id,p.id]))):this.sortNodesByCentrality(c,a),v=de(o)?u.sort((g,p)=>o(...l.getEdgeData([g.id,p.id]))):u;return[...f,...d,...v]},this.labelElementsInView=[],this.isFirstRender=!0,this.onToggleVisibility=r=>{var i;if(((i=r.data)===null||i===void 0?void 0:i.stage)==="zIndex")return;if(!this.validate(r)){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 c=o.length-1;c>=0;c--)this.showLabel(o[c]);l.forEach(this.hideLabel)},this.hiddenElements=new Map,this.hideLabel=r=>{const i=r.getShape("label");i&&ks(i,"hidden"),this.hiddenElements.set(r.id,r)},this.showLabel=r=>{const i=r.getShape("label");i&&ks(i,"visible"),r.toFront(),this.hiddenElements.delete(r.id)},this.onTransform=Lm(this.onToggleVisibility,this.options.throttle,{leading:!0}),this.enableToggle=!0,this.toggle=r=>{this.enableToggle&&this.onToggleVisibility(r)},this.onBeforeRender=()=>{this.enableToggle=!1},this.onAfterRender=r=>{this.onToggleVisibility(r),this.enableToggle=!0},this.bindEvents()}update(t){this.unbindEvents(),super.update(t),this.bindEvents(),this.onToggleVisibility({})}getLabelElements(){const{elementMap:t}=this.context.element,e=[];for(const r in t){const i=t[r];i.isVisible()&&i.getShape("label")&&e.push(i)}return e}getLabelElementsInView(){const t=this.context.viewport;return this.getLabelElements().filter(e=>t.isInViewport(e.getShape("key").getRenderBounds()))}bindEvents(){const{graph:t}=this.context;t.on(Qt.BEFORE_RENDER,this.onBeforeRender),t.on(Qt.AFTER_RENDER,this.onAfterRender),t.on(Qt.AFTER_DRAW,this.toggle),t.on(Qt.AFTER_LAYOUT,this.toggle),t.on(Qt.AFTER_TRANSFORM,this.onTransform)}unbindEvents(){const{graph:t}=this.context;t.off(Qt.BEFORE_RENDER,this.onBeforeRender),t.off(Qt.AFTER_RENDER,this.onAfterRender),t.off(Qt.AFTER_DRAW,this.toggle),t.off(Qt.AFTER_LAYOUT,this.toggle),t.off(Qt.AFTER_TRANSFORM,this.onTransform)}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return de(e)?e(t):!!e}destroy(){this.unbindEvents(),super.destroy()}}cu.defaultOptions={enable:!0,throttle:100,padding:0,sortNode:{type:"degree"}};var vT=function(n){if(!Ad(n)||!Pg(n,"Object"))return!1;if(Object.getPrototypeOf(n)===null)return!0;for(var t=n;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(n)===t},fo=vT,gT=5;function pT(n,t){if(Object.hasOwn)return Object.hasOwn(n,t);if(n==null)throw new TypeError("Cannot convert undefined or null to object");return Object.prototype.hasOwnProperty.call(Object(n),t)}function xy(n,t,e,r){e=e||0,r=r||gT;for(var i in t)if(pT(t,i)){var a=t[i];a!==null&&fo(a)?(fo(n[i])||(n[i]={}),e<r?xy(n[i],a,e+1,r):n[i]=t[i]):Gr(a)?(n[i]=[],n[i]=n[i].concat(a)):a!==void 0&&(n[i]=a)}}var mT=function(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];for(var r=0;r<t.length;r+=1)xy(n,t[r]);return n},pr=mT;const Ey=[0,0,0];function Ne(n,t){return n.map((e,r)=>e+t[r])}function on(n,t){return n.map((e,r)=>e-t[r])}function Bi(n,t){return typeof t=="number"?n.map(e=>e*t):n.map((e,r)=>e*t[r])}function zi(n,t){return typeof t=="number"?n.map(e=>e/t):n.map((e,r)=>e/t[r])}function yT(n,t){return n.reduce((e,r,i)=>e+r*t[i],0)}function bT(n,t){const e=gl(n),r=gl(t);return[e[1]*r[2]-e[2]*r[1],e[2]*r[0]-e[0]*r[2],e[0]*r[1]-e[1]*r[0]]}function _a(n,t){return n.map(e=>e*t)}function bn(n,t){return Math.sqrt(n.reduce((e,r,i)=>e+Math.pow(r-t[i]||0,2),0))}function uu(n,t){return n.reduce((e,r,i)=>e+Math.abs(r-t[i]),0)}function ma(n){const t=n.reduce((e,r)=>e+Math.pow(r,2),0);return n.map(e=>e/Math.sqrt(t))}function Wd(n,t,e=!1){const r=n[0]*t[1]-n[1]*t[0];let i=Math.acos(Bi(n,t).reduce((a,s)=>a+s,0)/(bn(n,Ey)*bn(t,Ey)));return e&&r<0&&(i=2*Math.PI-i),i}function Qj(n,t){return n.every((e,r)=>e===t[r])}function hu(n,t=!0){return t?[-n[1],n[0]]:[n[1],-n[0]]}function Xd(n,t){return n.map(e=>e%t)}function Ls(n){return[n[0],n[1]]}function gl(n){return AO(n)?[n[0],n[1],0]:n}function wy(n){const[t,e]=n;return!t&&!e?0:Math.atan2(e,t)}function My(n,t){const[e,r]=n,[i,a]=t,s=on(e,r),o=on(i,a);return bT(s,o).every(l=>l===0)}function Vd(n,t,e=!1){if(My(n,t))return;const[r,i]=n,[a,s]=t,o=((r[0]-a[0])*(a[1]-s[1])-(r[1]-a[1])*(a[0]-s[0]))/((r[0]-i[0])*(a[1]-s[1])-(r[1]-i[1])*(a[0]-s[0])),l=s[0]-a[0]?(r[0]-a[0]+o*(i[0]-r[0]))/(s[0]-a[0]):(r[1]-a[1]+o*(i[1]-r[1]))/(s[1]-a[1]);if(!(!e&&(!$i(o,0,1)||!$i(l,0,1))))return[r[0]+o*(i[0]-r[0]),r[1]+o*(i[1]-r[1])]}function Ay(n){if(Array.isArray(n))return $i(n[0],0,1)&&$i(n[1],0,1)?n:[.5,.5];const t=n.split("-"),e=t.includes("left")?0:t.includes("right")?1:.5,r=t.includes("top")?0:t.includes("bottom")?1:.5;return[e,r]}function ir(n){const{x:t=0,y:e=0,z:r=0}=n.style||{};return[+t,+e,+r]}function xT(n){const{x:t,y:e,z:r}=n.style||{};return t!==void 0||e!==void 0||r!==void 0}function Py(n,t){const[e,r]=t,{min:i,max:a}=n;return[i[0]+e*(a[0]-i[0]),i[1]+r*(a[1]-i[1])]}function ya(n,t="center"){const e=Ay(t);return Py(n,e)}function Jj(n,t){const e=parseAnchor(t);return Py(n,e)}const qj=n=>{const[t,e]=n;return{left:Math.min(t[0],e[0]),right:Math.max(t[0],e[0]),top:Math.min(t[1],e[1]),bottom:Math.max(t[1],e[1])}};function mr(n){var t;return[n.x,n.y,(t=n.z)!==null&&t!==void 0?t:0]}function ji(n){var t;return{x:n[0],y:n[1],z:(t=n[2])!==null&&t!==void 0?t:0}}function $j(n){return n.sort((t,e)=>t[0]-e[0]||t[1]-e[1])}function tF(n){const t=new Set;return n.filter(e=>{const r=e.join(",");return t.has(r)?!1:(t.add(r),!0)})}function pl(n,t=0){return n.map(e=>parseFloat(e.toFixed(t)))}function Ha(n,t,e,r=!1){if(Hn(n,t))return n;const i=r?on(n,t):on(t,n),a=ma(i),s=[a[0]*e,a[1]*e];return Ne(Ls(n),s)}function Sy(n,t){return n[1]===t[1]}function ET(n,t){return n[0]===t[0]}function wT(n,t){return Sy(n,t)||ET(n,t)}function Oy(n,t,e){return My([n,t],[t,e])}function Ty(n,t){return[2*t[0]-n[0],2*t[1]-n[1]]}function Cy(n,t,e,r=!0,i=!1){for(let a=0;a<e.length;a++){let s=e[a],o=e[(a+1)%e.length];r&&(s=Ne(t,s),o=Ne(t,o));const l=i?Ty(n,t):n,c=Vd([t,l],[s,o]);if(c)return{point:c,line:[s,o]}}return{point:t,line:void 0}}function MT(n,t,e,r){const i=n[0],a=n[1];let s=!1;e===void 0&&(e=0),r===void 0&&(r=t.length);const o=r-e;for(let l=0,c=o-1;l<o;c=l++){const u=t[l+e][0],h=t[l+e][1],f=t[c+e][0],d=t[c+e][1];h>a!=d>a&&i<(f-u)*(a-h)/(d-h)+u&&(s=!s)}return s}function AT(n,t,e=!1){const r=ya(t,"center"),i=[ya(t,"left-top"),ya(t,"right-top"),ya(t,"right-bottom"),ya(t,"left-bottom")];return Cy(n,r,i,!1,e).point}function fu(n,t,e=!1){const r=t.center,i=e?Ty(n,r):n,a=on(i,t.center),s=Math.atan2(a[1],a[0]);if(isNaN(s))return r;const o=ta(t)/2,l=ea(t)/2,c=r[0]+o*Math.cos(s),u=r[1]+l*Math.sin(s);return[c,u]}function PT(n,t){let e=1/0,r=[n[0],t[0]];return n.forEach(i=>{t.forEach(a=>{const s=bn(i,a);s<e&&(e=s,r=[i,a])})}),r}function ST(n,t){let e=1/0,r=[[0,0],[0,0]];return t.forEach(i=>{const a=OT(n,i);a<e&&(e=a,r=i)}),r}function OT(n,t){const e=Ny(n,t);return bn(n,e)}function Ny(n,t){const[e,r]=t[0],[i,a]=t[1],[s,o]=n,l=i-e,c=a-r;if(l===0&&c===0)return[e,r];let u=((s-e)*l+(o-r)*c)/(l*l+c*c);u>1?u=1:u<0&&(u=0);const h=e+u*l,f=r+u*c;return[h,f]}function TT(n){const t=n.reduce((e,r)=>Ne(e,r),[0,0]);return zi(t,n.length)}function Yd(n,t=!0){const e=TT(n);return n.sort(([r,i],[a,s])=>{const o=Math.atan2(i-e[1],r-e[0]),l=Math.atan2(s-e[1],a-e[0]);return t?l-o:o-l})}function ky(n,t){return[n,[n[0],t[1]],t,[t[0],n[1]]]}class Gn{constructor(t,e,r){if(this.phase=e,this.pointerByTouch=[],this.initialDistance=null,this.emitter=t,Gn.instance)return Gn.callbacks[this.phase].push(r),Gn.instance;this.onPointerDown=this.onPointerDown.bind(this),this.onPointerMove=this.onPointerMove.bind(this),this.onPointerUp=this.onPointerUp.bind(this),this.bindEvents(),Gn.instance=this,Gn.callbacks[this.phase].push(r)}bindEvents(){const{emitter:t}=this;t.on(jt.POINTER_DOWN,this.onPointerDown),t.on(jt.POINTER_MOVE,this.onPointerMove),t.on(jt.POINTER_UP,this.onPointerUp)}updatePointerPosition(t,e,r){const i=this.pointerByTouch.findIndex(a=>a.pointerId===t);i>=0&&(this.pointerByTouch[i]={x:e,y:r,pointerId:t})}onPointerDown(t){const{x:e,y:r}=t.client||{};if(!(e===void 0||r===void 0)&&(this.pointerByTouch.push({x:e,y:r,pointerId:t.pointerId}),t.pointerType==="touch"&&this.pointerByTouch.length===2)){Gn.isPinching=!0;const i=this.pointerByTouch[0].x-this.pointerByTouch[1].x,a=this.pointerByTouch[0].y-this.pointerByTouch[1].y;this.initialDistance=Math.sqrt(i*i+a*a),Gn.callbacks.pinchstart.forEach(s=>s(t,{scale:0}))}}onPointerMove(t){if(this.pointerByTouch.length!==2||this.initialDistance===null)return;const{x:e,y:r}=t.client||{};if(e===void 0||r===void 0)return;this.updatePointerPosition(t.pointerId,e,r);const i=this.pointerByTouch[0].x-this.pointerByTouch[1].x,a=this.pointerByTouch[0].y-this.pointerByTouch[1].y,o=Math.sqrt(i*i+a*a)/this.initialDistance;Gn.callbacks.pinchmove.forEach(l=>l(t,{scale:(o-1)*5}))}onPointerUp(t){var e;Gn.callbacks.pinchend.forEach(r=>r(t,{scale:0})),Gn.isPinching=!1,this.initialDistance=null,this.pointerByTouch=[],(e=Gn.instance)===null||e===void 0||e.tryDestroy()}destroy(){this.emitter.off(jt.POINTER_DOWN,this.onPointerDown),this.emitter.off(jt.POINTER_MOVE,this.onPointerMove),this.emitter.off(jt.POINTER_UP,this.onPointerUp),Gn.instance=null}off(t,e){const r=Gn.callbacks[t].indexOf(e);r>-1&&Gn.callbacks[t].splice(r,1),this.tryDestroy()}tryDestroy(){Object.values(Gn.callbacks).every(t=>t.length===0)&&this.destroy()}}Gn.isPinching=!1,Gn.instance=null,Gn.callbacks={pinchstart:[],pinchmove:[],pinchend:[]};const Ly=n=>n.map(t=>We(t)?t.toLocaleLowerCase():t);class vo{constructor(t){this.map=new Map,this.boundHandlePinch=()=>{},this.recordKey=new Set,this.onKeyDown=e=>{e!=null&&e.key&&(this.recordKey.add(e.key),this.trigger(e))},this.onKeyUp=e=>{e!=null&&e.key&&this.recordKey.delete(e.key)},this.onWheel=e=>{this.triggerExtendKey(jt.WHEEL,e)},this.onDrag=e=>{this.triggerExtendKey(jt.DRAG,e)},this.handlePinch=(e,r)=>{this.triggerExtendKey(jt.PINCH,Object.assign(Object.assign({},e),r))},this.onFocus=()=>{this.recordKey.clear()},this.emitter=t,this.bindEvents()}bind(t,e){t.length!==0&&(t.includes(jt.PINCH)&&!this.pinchHandler&&(this.boundHandlePinch=this.handlePinch.bind(this),this.pinchHandler=new Gn(this.emitter,"pinchmove",this.boundHandlePinch)),this.map.set(t,e))}unbind(t,e){this.map.forEach((r,i)=>{Hn(i,t)&&(!e||e===r)&&this.map.delete(i)})}unbindAll(){this.map.clear()}match(t){const e=Ly(Array.from(this.recordKey)).sort(),r=Ly(t).sort();return Hn(e,r)}bindEvents(){var t;const{emitter:e}=this;e.on(jt.KEY_DOWN,this.onKeyDown),e.on(jt.KEY_UP,this.onKeyUp),e.on(jt.WHEEL,this.onWheel),e.on(jt.DRAG,this.onDrag),(t=globalThis.addEventListener)===null||t===void 0||t.call(globalThis,"focus",this.onFocus)}trigger(t){this.map.forEach((e,r)=>{this.match(r)&&e(t)})}triggerExtendKey(t,e){this.map.forEach((r,i)=>{i.includes(t)&&Hn(Array.from(this.recordKey),i.filter(a=>a!==t))&&r(e)})}destroy(){var t,e;this.unbindAll(),this.emitter.off(jt.KEY_DOWN,this.onKeyDown),this.emitter.off(jt.KEY_UP,this.onKeyUp),this.emitter.off(jt.WHEEL,this.onWheel),this.emitter.off(jt.DRAG,this.onDrag),(t=this.pinchHandler)===null||t===void 0||t.off("pinchmove",this.boundHandlePinch),(e=globalThis.removeEventListener)===null||e===void 0||e.call(globalThis,"blur",this.onFocus)}}class ml extends ri{constructor(t,e){super(t,pr({},ml.defaultOptions,e)),this.shortcut=new vo(t.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(t){if(!this.validate(t)||!this.isKeydown()||this.startPoint)return;const{canvas:e,graph:r}=this.context,i=Object.assign({},this.options.style);this.options.style.lineWidth&&(i.lineWidth=+this.options.style.lineWidth/r.getZoom()),this.rectShape=new gr({id:"g6-brush-select",style:i}),e.appendChild(this.rectShape),this.startPoint=[t.canvas.x,t.canvas.y]}onPointerMove(t){var e;if(!this.startPoint)return;const{immediately:r,mode:i}=this.options;this.endPoint=du(t),(e=this.rectShape)===null||e===void 0||e.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])}),r&&i==="default"&&this.updateElementsStates(ky(this.startPoint,this.endPoint))}onPointerUp(t){if(this.startPoint){if(!this.endPoint){this.clearBrush();return}this.endPoint=du(t),this.updateElementsStates(ky(this.startPoint,this.endPoint)),this.clearBrush()}}clearStates(){this.endPoint||this.clearElementsStates()}clearElementsStates(){const{graph:t}=this.context,e=Object.values(t.getData()).reduce((r,i)=>Object.assign({},r,i.reduce((a,s)=>{var o;const l=(o=s.states||[])===null||o===void 0?void 0:o.filter(c=>c!==this.options.state);return a[Pt(s)]=l,a},{})),{});t.setElementState(e,this.options.animation)}updateElementsStates(t){const{graph:e}=this.context,{enableElements:r,state:i,mode:a,onSelect:s}=this.options,o=this.selector(e,t,r);let l={};switch(a){case"union":o.forEach(c=>{l[c]=[...e.getElementState(c),i]});break;case"diff":o.forEach(c=>{const u=e.getElementState(c);l[c]=u.includes(i)?u.filter(h=>h!==i):[...u,i]});break;case"intersect":o.forEach(c=>{const u=e.getElementState(c);l[c]=u.includes(i)?[i]:[]});break;case"default":default:o.forEach(c=>{l[c]=[i]});break}de(s)&&(l=s(l)),e.setElementState(l,this.options.animation)}selector(t,e,r){if(!r||r.length===0)return[];const i=[],a=t.getData();if(r.forEach(s=>{a[`${s}s`].forEach(o=>{const l=Pt(o);t.getElementVisibility(l)!=="hidden"&&MT(t.getElementPosition(l),e)&&i.push(l)})}),r.includes("edge")){const s=a.edges;s==null||s.forEach(o=>{const{source:l,target:c}=o;i.includes(l)&&i.includes(c)&&i.push(Pt(o))})}return i}clearBrush(){var t;(t=this.rectShape)===null||t===void 0||t.remove(),this.rectShape=void 0,this.startPoint=void 0,this.endPoint=void 0}isKeydown(){const{trigger:t}=this.options,e=Array.isArray(t)?t:[t];return this.shortcut.match(e.filter(r=>r!=="drag"))}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return de(e)?e(t):!!e}bindEvents(){const{graph:t}=this.context;t.on(jt.POINTER_DOWN,this.onPointerDown),t.on(jt.POINTER_MOVE,this.onPointerMove),t.on(jt.POINTER_UP,this.onPointerUp),t.on(va.CLICK,this.clearStates)}unbindEvents(){const{graph:t}=this.context;t.off(jt.POINTER_DOWN,this.onPointerDown),t.off(jt.POINTER_MOVE,this.onPointerMove),t.off(jt.POINTER_UP,this.onPointerUp),t.off(va.CLICK,this.clearStates)}update(t){this.unbindEvents(),this.options=pr(this.options,t),this.bindEvents()}destroy(){this.unbindEvents(),super.destroy()}}ml.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 du=n=>[n.canvas.x,n.canvas.y],ba=.8,Ds=["node","edge","combo"];function Rs(n,t,e,r,i=0){r==="TB"&&t(n,i);const a=e(n);if(a)for(const s of a)Rs(s,t,e,r,i+1);r==="BT"&&t(n,i)}function CT(n,t,e){const r=[[n,0]];for(;r.length;){const[i,a]=r.shift();t(i,a);const s=e(i);if(s)for(const o of s)r.push([o,a+1])}}function Dy(n,t,e,r,i="both"){if(t==="combo"||t==="node")return Ud(n,e,r,i);const a=n.getEdgeData(e);if(!a)return[];const s=Ud(n,a.source,r-1,i),o=Ud(n,a.target,r-1,i);return Array.from(new Set([...s,...o,e]))}function Ud(n,t,e,r="both"){const i=new Set,a=new Set,s=new Set;return CT(t,(o,l)=>{l>e||(s.add(o),n.getRelatedEdgesData(o,r).forEach(c=>{const u=Pt(c);!a.has(u)&&l<e&&(s.add(u),a.add(u))}))},o=>n.getRelatedEdgesData(o,r).map(l=>l.source===o?l.target:l.source).filter(l=>i.has(l)?!1:(i.add(l),!0))),Array.from(s)}function Kd(n){return n.states||[]}var vu=function(n,t,e,r){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(u){try{c(r.next(u))}catch(h){s(h)}}function l(u){try{c(r.throw(u))}catch(h){s(h)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((r=r.apply(n,t||[])).next())})};class gu extends ri{constructor(t,e){super(t,Object.assign({},gu.defaultOptions,e)),this.onClickSelect=r=>vu(this,void 0,void 0,function*(){var i,a;this.validate(r)&&(yield this.updateState(r),(a=(i=this.options).onClick)===null||a===void 0||a.call(i,r))}),this.onClickCanvas=r=>vu(this,void 0,void 0,function*(){var i,a;this.validate(r)&&(yield this.clearState(),(a=(i=this.options).onClick)===null||a===void 0||a.call(i,r))}),this.shortcut=new vo(t.graph),this.bindEvents()}bindEvents(){const{graph:t}=this.context;this.unbindEvents(),Ds.forEach(e=>{t.on(`${e}:${jt.CLICK}`,this.onClickSelect)}),t.on(va.CLICK,this.onClickCanvas)}get isMultipleSelect(){const{multiple:t,trigger:e}=this.options;return t&&this.shortcut.match(e)}getNeighborIds(t){const{target:e,targetType:r}=t,{graph:i}=this.context,{degree:a}=this.options;return Dy(i,r,e.id,typeof a=="function"?a(t):a).filter(s=>s!==e.id)}updateState(t){return vu(this,void 0,void 0,function*(){const{state:e,unselectedState:r,neighborState:i,animation:a}=this.options;if(!e&&!i&&!r)return;const{target:s}=t,{graph:o}=this.context,l=o.getElementData(s.id),c=Kd(l).includes(e)?"unselect":"select",u={},h=this.isMultipleSelect,f=[s.id],d=this.getNeighborIds(t);if(h)if(Object.assign(u,this.getDataStates()),c==="select"){const v=(g,p)=>{g.forEach(y=>{const b=new Set(o.getElementState(y));b.add(p),b.delete(r),u[y]=Array.from(b)})};v(f,e),v(d,i),r&&Object.keys(u).forEach(g=>{const p=u[g];!p.includes(e)&&!p.includes(i)&&!p.includes(r)&&u[g].push(r)})}else{const v=u[s.id];u[s.id]=v.filter(g=>g!==e&&g!==i),v.includes(r)||u[s.id].push(r),d.forEach(g=>{u[g]=u[g].filter(p=>p!==i),u[g].includes(e)||u[g].push(r)})}else if(c==="select"){Object.assign(u,this.getClearStates(!!r));const v=(g,p)=>{g.forEach(y=>{u[y]||(u[y]=o.getElementState(y)),u[y].push(p)})};v(f,e),v(d,i),r&&Object.keys(u).forEach(g=>{!f.includes(g)&&!d.includes(g)&&u[g].push(r)})}else Object.assign(u,this.getClearStates());yield o.setElementState(u,a)})}getDataStates(){const{graph:t}=this.context,{nodes:e,edges:r,combos:i}=t.getData(),a={};return[...e,...r,...i].forEach(s=>{a[Pt(s)]=Kd(s)}),a}getClearStates(t=!1){const{graph:e}=this.context,{state:r,unselectedState:i,neighborState:a}=this.options,s=new Set([r,i,a]),{nodes:o,edges:l,combos:c}=e.getData(),u={};return[...o,...l,...c].forEach(h=>{const f=Kd(h),d=f.filter(v=>!s.has(v));(t||d.length!==f.length)&&(u[Pt(h)]=d)}),u}clearState(){return vu(this,void 0,void 0,function*(){const{graph:t}=this.context;yield t.setElementState(this.getClearStates(),this.options.animation)})}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return de(e)?e(t):!!e}unbindEvents(){const{graph:t}=this.context;Ds.forEach(e=>{t.off(`${e}:${jt.CLICK}`,this.onClickSelect)}),t.off(va.CLICK,this.onClickCanvas)}destroy(){this.unbindEvents(),super.destroy()}}gu.defaultOptions={animation:!0,enable:!0,multiple:!1,trigger:["shift"],state:"selected",neighborState:"selected",unselectedState:void 0,degree:0};function Qr(n){var t;return!!(!((t=n.style)===null||t===void 0)&&t.collapsed)}var Br=function(n,t,e){for(var r=0,i=We(t)?t.split("."):t;n&&r<i.length;)n=n[i[r++]];return n===void 0||r<i.length?e:n},yl=function(n,t,e){var r=n,i=We(t)?t.split("."):t;return i.forEach(function(a,s){s<i.length-1?(Fn(r[a])||(r[a]=ie(i[s+1])?[]:{}),r=r[a]):r[a]=e}),n},NT=function(n){var t=Pm(n);return t.charAt(0).toLowerCase()+t.substring(1)},kT=NT;function bl(n,t){if(!n.startsWith(t))return!1;const e=n[t.length];return e>="A"&&e<="Z"}function Ry(n,t){return`${t}${Vc(n)}`}function Iy(n,t,e=!0){if(!t||!bl(n,t))return n;const r=n.slice(t.length);return e?kT(r):r}function Jn(n,t){const e=Object.entries(n).reduce((r,[i,a])=>(i==="className"||i==="class"||bl(i,t)&&Object.assign(r,{[Iy(i,t)]:a}),r),{});if("opacity"in n){const r=Ry("opacity",t),i=n.opacity;if(r in n){const a=n[r];Object.assign(e,{opacity:i*a})}else Object.assign(e,{opacity:i})}return e}function Qd(n,t){const e=t.length;return Object.keys(n).reduce((r,i)=>{if(i.startsWith(t)){const a=i.slice(e);r[a]=n[i]}return r},{})}function By(n,t){const e=typeof t=="string"?[t]:t,r={};return Object.keys(n).forEach(i=>{e.find(a=>i.startsWith(a))||(r[i]=n[i])}),r}function eF(n,t,e){return Object.entries(n).reduce((r,[i,a])=>(bl(i,t)?r[Ry(Iy(i,t,!1),e)]=a:r[i]=a,r),{})}function ii(n=0){if(typeof n=="number")return[n,n,n];const[t,e=t,r=t]=n;return[t,e,r]}var LT=function(n,t){var e={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&t.indexOf(r)<0&&(e[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(n);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(n,r[i])&&(e[r[i]]=n[r[i]]);return e};function zy(n,t){const{datum:e,graph:r}=t;return typeof n=="function"?n.call(r,e):Object.fromEntries(Object.entries(n).map(([i,a])=>typeof a=="function"?[i,a.call(r,e)]:[i,a]))}function ur(n,t){const e=(n==null?void 0:n.style)||{},r=(t==null?void 0:t.style)||{};for(const i in e)i in r||(r[i]=e[i]);return Object.assign({},n,t,{style:r})}function DT(n){const{x:t,y:e,z:r,class:i,className:a,transform:s,transformOrigin:o,zIndex:l,visibility:c}=n;return LT(n,["x","y","z","class","className","transform","transformOrigin","zIndex","visibility"])}function RT(n,t){const e=ii(n);let r={};return t.text&&!t.fontSize&&(r={fontSize:Math.min(...e)*.5}),t.src&&(!t.width||!t.height)&&(r={width:e[0]*.5,height:e[1]*.5}),r}function jy(n){if(n)return typeof n=="string"||typeof n=="function"||Array.isArray(n)?{type:"group",field:t=>t.id,color:n,invert:!1}:n}function IT(n,t){if(!t)return{};const{type:e,color:r,field:i,invert:a}=t,s=l=>{const c=typeof r=="string"?ga("palette",r):r;if(typeof c=="function"){const u={};return l.forEach(([h,f])=>{u[h]=c(a?1-f:f)}),u}else if(Array.isArray(c)){const u=a?[...c].reverse():c,h={};return l.forEach(([f,d])=>{h[f]=u[d%c.length]}),h}return{}},o=(l,c)=>{var u;return typeof l=="string"?(u=c.data)===null||u===void 0?void 0:u[l]:l==null?void 0:l(c)};if(e==="group"){const l=Uc(n,f=>{if(!i)return"default";const d=o(i,f);return d?String(d):"default"}),c=Object.keys(l),u=s(c.map((f,d)=>[f,d])),h={};return Object.entries(l).forEach(([f,d])=>{d.forEach(v=>{h[Pt(v)]=u[f]})}),h}else if(e==="value"){const[l,c]=n.reduce(([h,f],d)=>{const v=o(i,d);if(typeof v!="number")throw new Error(pa(`Palette field ${i} is not a number`));return[Math.min(h,v),Math.max(f,v)]},[1/0,-1/0]),u=c-l;return s(n.map(h=>[h.id,(o(i,h)-l)/u]))}}function Fy(n){const t=typeof n=="string"?ga("palette",n):n;if(typeof t!="function")return t}function Zy(n,t){let e=2*n;return typeof t=="string"?e=n*Number(t.replace("%",""))/100:typeof t=="number"&&(e=t),isNaN(e)&&(e=2*n),e}function _y(n,t,e=1,r=!1){const i=r?e:1,a=(n.max[0]-n.min[0])*i;return Zy(a,t)}function BT(n,t,e=1){const r=bn(n[0],n[1])*e;return Zy(r,t)}var zT={}.toString,jT=function(n){return zT.call(n).replace(/^\[object /,"").replace(/]$/,"")},FT=jT,ZT=Object.prototype,_T=function(n){var t=n&&n.constructor,e=typeof t=="function"&&t.prototype||ZT;return n===e},HT=_T,GT=Object.prototype.hasOwnProperty;function WT(n){if(ye(n))return!0;if(ll(n))return!n.length;var t=FT(n);if(t==="Map"||t==="Set")return!n.size;if(HT(n))return!Object.keys(n).length;for(var e in n)if(GT.call(n,e))return!1;return!0}var ra=WT;class xl extends fd{constructor(t){Hy(t.style),super(t),this.shapeMap={},this.animateMap={},this.render(this.attributes,this),this.setVisibility(),this.bindEvents()}get parsedAttributes(){return this.attributes}upsert(t,e,r,i,a){var s,o,l,c,u,h,f,d;const v=this.shapeMap[t];if(r===!1){v&&((s=a==null?void 0:a.beforeDestroy)===null||s===void 0||s.call(a,v),i.removeChild(v),delete this.shapeMap[t],(o=a==null?void 0:a.afterDestroy)===null||o===void 0||o.call(a,v));return}const g=typeof e=="string"?ga(cl.SHAPE,e):e;if(!g)throw new Error(pa(`Shape ${e} 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(),(c=a==null?void 0:a.afterDestroy)===null||c===void 0||c.call(a,v)),(u=a==null?void 0:a.beforeCreate)===null||u===void 0||u.call(a);const p=new g({className:t,style:r});return i.appendChild(p),this.shapeMap[t]=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),yv(v,r),(d=a==null?void 0:a.afterUpdate)===null||d===void 0||d.call(a,v),v}update(t={}){const e=Object.assign({},this.attributes,t);Hy(e),XN(this,e),this.render(e,this),this.setVisibility()}bindEvents(){}getGraphicStyle(t){return DT(t)}get compositeShapes(){return[["badges","badge-"],["ports","port-"]]}animate(t,e){if(t.length===0)return null;const r=[];if(t[0].x!==void 0||t[0].y!==void 0||t[0].z!==void 0){const{x:a=0,y:s=0,z:o=0}=this.attributes;t.forEach(l=>{const{x:c=a,y:u=s,z:h=o}=l;Object.assign(l,{transform:h?[["translate3d",c,u,h]]:[["translate",c,u]]})})}const i=super.animate(t,e);if(i&&(Jd(this,i),r.push(i)),Array.isArray(t)&&t.length>0){const a=["transform","transformOrigin","x","y","z","zIndex"];if(Object.keys(t[0]).some(s=>!a.includes(s))){Object.entries(this.shapeMap).forEach(([o,l])=>{const c=`get${Vc(o)}Style`,u=this[c];if(de(u)){const h=t.map(d=>u.call(this,Object.assign(Object.assign({},this.attributes),d))),f=l.animate(Td(h),e);f&&(Jd(l,f),r.push(f))}});const s=(o,l)=>{if(!ra(o)){const c=`get${Vc(l)}Style`,u=this[c];if(de(u)){const h=t.map(f=>u.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(Td(d),e);g&&(Jd(v,g),r.push(g))}})}}};this.compositeShapes.forEach(([o,l])=>{const c=Qd(this.shapeMap,l);s(c,o)})}}return Od(r)}getShape(t){return this.shapeMap[t]}setVisibility(){const{visibility:t}=this.attributes;ks(this,t)}destroy(){this.shapeMap={},this.animateMap={},super.destroy()}}function Jd(n,t){t==null||t.finished.then(()=>{const e=n.activeAnimations.findIndex(r=>r===t);e>-1&&n.activeAnimations.splice(e,1)})}function Hy(n){if(!n)return{};if("x"in n||"y"in n||"z"in n){const{x:t=0,y:e=0,z:r,transform:i}=n,a=Tm(t,e,r,i);a&&(n.transform=a)}return n}var XT=function(n,t){var e={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&t.indexOf(r)<0&&(e[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(n);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(n,r[i])&&(e[r[i]]=n[r[i]]);return e};class Ga extends xl{constructor(t){super(ur({style:Ga.defaultStyleProps},t))}isTextStyle(t){return bl(t,"label")}isBackgroundStyle(t){return bl(t,"background")}getTextStyle(t){const e=this.getGraphicStyle(t),{padding:r}=e,i=XT(e,["padding"]);return By(i,"background")}getBackgroundStyle(t){if(t.background===!1)return!1;const e=this.getGraphicStyle(t),{wordWrap:r,wordWrapWidth:i,padding:a}=e,s=Jn(e,"background"),{min:[o,l],center:[c,u],halfExtents:[h,f]}=this.shapeMap.text.getGeometryBounds(),[d,v,g,p]=Di(a),y=h*2+p+v,{width:b,height:M}=s;b&&M?Object.assign(s,{x:c-Number(b)/2,y:u-Number(M)/2}):Object.assign(s,{x:o-p,y:l-d,width:r?Math.min(y,i+p+v):y,height:f*2+d+g});const{radius:O}=s;if(typeof O=="string"&&O.endsWith("%")){const k=Number(O.replace("%",""))/100;s.radius=Math.min(+s.width,+s.height)*k}return s}render(t=this.parsedAttributes,e=this){this.upsert("text",Os,this.getTextStyle(t),e),this.upsert("background",gr,this.getBackgroundStyle(t),e)}getGeometryBounds(){return(this.getShape("background")||this.getShape("text")).getGeometryBounds()}}Ga.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 go extends xl{constructor(t){super(ur({style:go.defaultStyleProps},t))}getBadgeStyle(t){return this.getGraphicStyle(t)}render(t=this.parsedAttributes,e=this){this.upsert("label",Ga,this.getBadgeStyle(t),e)}getGeometryBounds(){const t=this.getShape("label");return(t.getShape("background")||t.getShape("text")).getGeometryBounds()}}go.defaultStyleProps={padding:[2,4,2,4],fontSize:10,wordWrap:!1,backgroundRadius:"50%",backgroundOpacity:1};function VT(n,t=!0){const e=[];return n.forEach((r,i)=>{e.push([i===0?"M":"L",...r])}),t&&e.push(["Z"]),e}const Gy={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 YT(n){const t=n.replace(/[\n\r]/g,"").replace(/-/g," -").replace(/(\d*\.)(\d+)(?=\.)/g,"$1$2 ").trim().split(/\s*,|\s+/),e=[];let r="",i={};for(;t.length>0;){let a=t.shift();a in Gy?r=a:t.unshift(a),i={type:r},Gy[r].forEach(l=>{a=t.shift(),i[l]=a}),r==="M"?r="L":r==="m"&&(r="l");const[s,...o]=Object.values(i);e.push([s,...o.map(Number)])}return e}function UT(n){const t=[];return(typeof n=="string"?YT(n):n).forEach(r=>{const i=r[0];if(i==="Z"){t.push(t[0]);return}if(i!=="A")for(let a=1;a<r.length;a=a+2)t.push([r[a],r[a+1],0]);else{const a=r.length;t.push([r[a-2],r[a-1],0])}}),t}const Wy=n=>{if(n.length<2)return[["M",0,0],["L",0,0]];const t=n[0],e=n[1],r=n[n.length-1],i=n[n.length-2];n.unshift(i,r),n.push(t,e);const a=[["M",r[0],r[1]]];for(let s=1;s<n.length-2;s+=1){const[o,l]=n[s-1],[c,u]=n[s],[h,f]=n[s+1],[d,v]=s!==n.length-2?n[s+2]:[h,f],g=c+(h-o)/6,p=u+(f-l)/6,y=h-(d-c)/6,b=f-(v-u)/6;a.push(["C",g,p,y,b,h,f])}return a};function KT(n,t,e,r,i,a,s){const[o,l]=ya(n,t),c={textAlign:t==="left"?"right":t==="right"?"left":"center",textBaseline:t==="top"?"bottom":t==="bottom"?"top":"middle",transform:[["translate",o+e,l+r]]};if(t==="center"||!i)return c;const u=UT(a);if(!u||u.length<=3)return c;const h=u.map((v,g)=>{const p=v,y=u[(g+1)%u.length];return Hn(p,y)?null:[p,y]}).filter(Boolean),f=ST([o,l],h),d=Ny([o,l],f);if(d&&f&&(c.transform=[["translate",d[0]+e,d[1]+r]],s)){const v=Math.atan((f[0][1]-f[1][1])/(f[0][0]-f[1][0]));c.transform.push(["rotate",v/Math.PI*180]),c.textAlign="center",(t==="right"||t==="left")&&(v>0?c.textBaseline=t==="right"?"bottom":"top":c.textBaseline=t==="right"?"top":"bottom")}return c}var QT=function(n,t){var e={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&t.indexOf(r)<0&&(e[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(n);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(n,r[i])&&(e[r[i]]=n[r[i]]);return e};class El extends xl{constructor(t){super(ur({style:El.defaultStyleProps},t))}getLabelStyle(t){if(!t.label||!t.d||t.d.length===0)return!1;const e=Jn(this.getGraphicStyle(t),"label"),{maxWidth:r,offsetX:i,offsetY:a,autoRotate:s,placement:o,closeToPath:l}=e,c=QT(e,["maxWidth","offsetX","offsetY","autoRotate","placement","closeToPath"]),u=this.shapeMap.key,h=u==null?void 0:u.getRenderBounds();return Object.assign(KT(h,o,i,a,l,t.d,s),{wordWrapWidth:_y(h,r)},c)}getKeyStyle(t){return this.getGraphicStyle(t)}render(t,e){this.upsert("key",ti,this.getKeyStyle(t),e),this.upsert("label",Ga,this.getLabelStyle(t),e)}}El.defaultStyleProps={label:!0,labelPlacement:"bottom",labelCloseToPath:!0,labelAutoRotate:!0,labelOffsetX:0,labelOffsetY:0};function JT(n){const t=[],e=r=>{r!=null&&r.children.length&&r.children.forEach(i=>{t.push(i),e(i)})};return e(n),t}function qT(n){const t=[];let e=n.parentNode;for(;e;)t.push(e),e=e.parentNode;return t}class qd extends al{constructor(t){super(t),this.onMounted=()=>{this.handleRadius()},this.onAttrModified=()=>{this.handleRadius()},po=this,this.isMutationObserved=!0,this.addEventListener(Ie.MOUNTED,this.onMounted),this.addEventListener(Ie.ATTR_MODIFIED,this.onAttrModified)}handleRadius(){const{radius:t,clipPath:e,width:r=0,height:i=0}=this.attributes;if(t&&r&&i){const[a,s]=this.getBounds().min,o={x:a,y:s,radius:t,width:r,height:i};if(e)Object.assign(this.parsedStyle.clipPath.style,o);else{const l=new gr({style:o});this.style.clipPath=l}}else e&&(this.style.clipPath=null)}}const $d=new WeakMap;let po=null;const tv=n=>{if(po&&qT(po).includes(n)){const t=$d.get(n);t?t.includes(po)||t.push(po):$d.set(n,[po])}},ev=n=>{const t=$d.get(n);t&&t.forEach(e=>e.handleRadius())};class Xy extends xl{constructor(t){super(t)}isImage(){const{src:t}=this.attributes;return!!t}getIconStyle(t=this.attributes){const{width:e=0,height:r=0}=t,i=this.getGraphicStyle(t);return this.isImage()?Object.assign({x:-e/2,y:-r/2},i):Object.assign({textBaseline:"middle",textAlign:"center"},i)}render(t=this.attributes,e=this){this.upsert("icon",this.isImage()?qd:Os,this.getIconStyle(t),e)}}class Vy extends xl{get context(){return this.config.context}get parsedAttributes(){return this.attributes}onframe(){}animate(t,e){const r=super.animate(t,e);return r&&(r.onframe=()=>this.onframe(),r.finished.then(()=>this.onframe())),r}}var pu=function(n,t){var e={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&t.indexOf(r)<0&&(e[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(n);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(n,r[i])&&(e[r[i]]=n[r[i]]);return e};class Fi extends Vy{constructor(t){super(ur({style:Fi.defaultStyleProps},t)),this.type="node"}getSize(t=this.attributes){const{size:e}=t;return ii(e)}getKeyStyle(t){const e=this.getGraphicStyle(t);return Object.assign(By(e,["label","halo","icon","badge","port"]))}getLabelStyle(t){if(t.label===!1||!t.labelText)return!1;const e=Jn(this.getGraphicStyle(t),"label"),{placement:r,maxWidth:i,offsetX:a,offsetY:s}=e,o=pu(e,["placement","maxWidth","offsetX","offsetY"]),l=this.getShape("key").getLocalBounds();return Object.assign(P1(l,r,a,s),{wordWrapWidth:_y(l,i)},o)}getHaloStyle(t){if(t.halo===!1)return!1;const e=this.getKeyStyle(t),{fill:r}=e,i=pu(e,["fill"]),a=Jn(this.getGraphicStyle(t),"halo");return Object.assign(Object.assign(Object.assign({},i),{stroke:r}),a)}getIconStyle(t){if(t.icon===!1||!t.iconText&&!t.iconSrc)return!1;const e=Jn(this.getGraphicStyle(t),"icon");return Object.assign(RT(t.size,e),e)}getBadgesStyle(t){var e;const r=Qd(this.shapeMap,"badge-"),i={};if(Object.keys(r).forEach(h=>{i[h]=!1}),t.badge===!1||!(!((e=t.badges)===null||e===void 0)&&e.length))return i;const{badges:a=[],badgePalette:s,opacity:o=1}=t,l=pu(t,["badges","badgePalette","opacity"]),c=Fy(s),u=Jn(this.getGraphicStyle(l),"badge");return a.forEach((h,f)=>{i[f]=Object.assign(Object.assign({backgroundFill:c?c[f%(c==null?void 0:c.length)]:void 0,opacity:o},u),this.getBadgeStyle(h))}),i}getBadgeStyle(t){const e=this.getShape("key"),{placement:r="top",offsetX:i,offsetY:a}=t,s=pu(t,["placement","offsetX","offsetY"]),o=P1(e.getLocalBounds(),r,i,a,!0);return Object.assign(Object.assign({},o),s)}getPortsStyle(t){var e;const r=this.getPorts(),i={};if(Object.keys(r).forEach(o=>{i[o]=!1}),t.port===!1||!(!((e=t.ports)===null||e===void 0)&&e.length))return i;const a=Jn(this.getGraphicStyle(t),"port"),{ports:s=[]}=t;return s.forEach((o,l)=>{const c=o.key||l,u=Object.assign(Object.assign({},a),o);if(w1(u))i[c]=!1;else{const[h,f]=this.getPortXY(t,o);i[c]=Object.assign({transform:[["translate",h,f]]},u)}}),i}getPortXY(t,e){const{placement:r="left"}=e,i=this.getShape("key");return gv($T(this.context,i),r)}getPorts(){return Qd(this.shapeMap,"port-")}getCenter(){return this.getShape("key").getBounds().center}getIntersectPoint(t,e=!1){const r=this.getShape("key").getBounds();return AT(t,r,e)}drawHaloShape(t,e){const r=this.getHaloStyle(t),i=this.getShape("key");this.upsert("halo",i.constructor,r,e)}drawIconShape(t,e){const r=this.getIconStyle(t);this.upsert("icon",Xy,r,e),tv(this)}drawBadgeShapes(t,e){const r=this.getBadgesStyle(t);Object.keys(r).forEach(i=>{const a=r[i];this.upsert(`badge-${i}`,go,a,e)})}drawPortShapes(t,e){const r=this.getPortsStyle(t);Object.keys(r).forEach(i=>{const a=r[i],s=`port-${i}`;this.upsert(s,fa,a,e)})}drawLabelShape(t,e){const r=this.getLabelStyle(t);this.upsert("label",Ga,r,e)}_drawKeyShape(t,e){return this.drawKeyShape(t,e)}render(t=this.parsedAttributes,e=this){this._drawKeyShape(t,e),this.getShape("key")&&(this.drawHaloShape(t,e),this.drawIconShape(t,e),this.drawBadgeShapes(t,e),this.drawLabelShape(t,e),this.drawPortShapes(t,e))}update(t){super.update(t),t&&("x"in t||"y"in t||"z"in t)&&ev(this)}onframe(){this.drawBadgeShapes(this.parsedAttributes,this),this.drawLabelShape(this.parsedAttributes,this)}}Fi.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 $T(n,t){if(!n)return t.getLocalBounds();const e=n.canvas.getLayer(),r=t.cloneNode();ks(r,"hidden"),e.appendChild(r);const i=r.getLocalBounds();return r.destroy(),i}class Is extends Fi{constructor(t){super(ur({style:Is.defaultStyleProps},t))}drawKeyShape(t,e){return this.upsert("key",fa,this.getKeyStyle(t),e)}getKeyStyle(t){const e=super.getKeyStyle(t);return Object.assign(Object.assign({},e),{r:Math.min(...this.getSize(t))/2})}getIconStyle(t){const e=super.getIconStyle(t),{r}=this.getShape("key").attributes,i=r*2*ba;return e?Object.assign({width:i,height:i},e):!1}getIntersectPoint(t,e=!1){const r=this.getShape("key").getBounds();return fu(t,r,e)}}Is.defaultStyleProps={size:32};class mu extends Fi{constructor(t){super(t)}get parsedAttributes(){return this.attributes}drawKeyShape(t,e){return this.upsert("key",Ss,this.getKeyStyle(t),e)}getKeyStyle(t){const e=super.getKeyStyle(t);return Object.assign(Object.assign({},e),{points:this.getPoints(t)})}getIntersectPoint(t,e=!1){var r,i;const{points:a}=this.getShape("key").attributes,s=[+(((r=this.attributes)===null||r===void 0?void 0:r.x)||0),+(((i=this.attributes)===null||i===void 0?void 0:i.y)||0)];return Cy(t,s,a,!0,e).point}}class tC extends mu{constructor(t){super(t)}getPoints(t){const[e,r]=this.getSize(t);return WN(e,r)}}var eC=function(n,t){var e={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&t.indexOf(r)<0&&(e[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(n);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(n,r[i])&&(e[r[i]]=n[r[i]]);return e};class yu extends Is{constructor(t){super(ur({style:yu.defaultStyleProps},t))}parseOuterR(){const{size:t}=this.parsedAttributes;return Math.min(...ii(t))/2}parseInnerR(){const{innerR:t}=this.parsedAttributes;return We(t)?parseInt(t)/100*this.parseOuterR():t}drawDonutShape(t,e){const{donuts:r}=t;if(!(r!=null&&r.length))return;const i=r.map(h=>ie(h)?{value:h}:h),a=Jn(this.getGraphicStyle(t),"donut"),s=Fy(t.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(),c=this.parseInnerR();let u=0;i.forEach((h,f)=>{const{value:d=0,color:v=s[f%s.length]}=h,g=eC(h,["value","color"]),p=(o===0?1/i.length:d/o)*360;this.upsert(`round${f}`,ti,Object.assign(Object.assign(Object.assign({},a),{d:iC(l,c,u,u+p),fill:v}),g),e),u+=p})}render(t,e=this){super.render(t,e),this.drawDonutShape(t,e)}}yu.defaultStyleProps={innerR:"50%",donuts:[],donutPalette:"tableau"};const bu=(n,t,e,r)=>[n+Math.sin(r)*e,t-Math.cos(r)*e],nC=(n,t,e,r)=>r<=0||e<=r?[["M",n-e,t],["A",e,e,0,1,1,n+e,t],["A",e,e,0,1,1,n-e,t],["Z"]]:[["M",n-e,t],["A",e,e,0,1,1,n+e,t],["A",e,e,0,1,1,n-e,t],["Z"],["M",n+r,t],["A",r,r,0,1,0,n-r,t],["A",r,r,0,1,0,n+r,t],["Z"]],rC=(n,t,e,r,i,a)=>{const[s,o]=[i/360*2*Math.PI,a/360*2*Math.PI],l=[bu(n,t,r,s),bu(n,t,e,s),bu(n,t,e,o),bu(n,t,r,o)],c=o-s>Math.PI?1:0;return[["M",l[0][0],l[0][1]],["L",l[1][0],l[1][1]],["A",e,e,0,c,1,l[2][0],l[2][1]],["L",l[3][0],l[3][1]],["A",r,r,0,c,0,l[0][0],l[0][1]],["Z"]]},iC=(n=0,t=0,e,r)=>{const[i,a]=[0,0];return Math.abs(e-r)%360<1e-6?nC(i,a,n,t):rC(i,a,n,t,e,r)};class xu extends Fi{constructor(t){super(ur({style:xu.defaultStyleProps},t))}drawKeyShape(t,e){return this.upsert("key",rl,this.getKeyStyle(t),e)}getKeyStyle(t){const e=super.getKeyStyle(t),[r,i]=this.getSize(t);return Object.assign(Object.assign({},e),{rx:r/2,ry:i/2})}getIconStyle(t){const e=super.getIconStyle(t),{rx:r,ry:i}=this.getShape("key").attributes,a=Math.min(+r,+i)*2*ba;return e?Object.assign({width:a,height:a},e):!1}getIntersectPoint(t,e=!1){const r=this.getShape("key").getBounds();return fu(t,r,e)}}xu.defaultStyleProps={size:[45,35]};class aC extends mu{constructor(t){super(t)}getOuterR(t){return t.outerR||Math.min(...this.getSize(t))/2}getPoints(t){return VN(this.getOuterR(t))}getIconStyle(t){const e=super.getIconStyle(t),r=this.getOuterR(t)*ba;return e?Object.assign({width:r,height:r},e):!1}}function sC(n,t){var e=t.cx,r=e===void 0?0:e,i=t.cy,a=i===void 0?0:i,s=t.r;n.arc(r,a,s,0,Math.PI*2,!1)}function oC(n,t){var e=t.cx,r=e===void 0?0:e,i=t.cy,a=i===void 0?0:i,s=t.rx,o=t.ry;if(n.ellipse)n.ellipse(r,a,s,o,0,0,Math.PI*2,!1);else{var l=s>o?s:o,c=s>o?1:s/o,u=s>o?o/s:1;n.save(),n.scale(c,u),n.arc(r,a,l,0,Math.PI*2)}}function lC(n,t){var e=t.x1,r=t.y1,i=t.x2,a=t.y2,s=t.markerStart,o=t.markerEnd,l=t.markerStartOffset,c=t.markerEndOffset,u=0,h=0,f=0,d=0,v=0,g,p;s&&Xe(s)&&l&&(g=i-e,p=a-r,v=Math.atan2(p,g),u=Math.cos(v)*(l||0),h=Math.sin(v)*(l||0)),o&&Xe(o)&&c&&(g=e-i,p=r-a,v=Math.atan2(p,g),f=Math.cos(v)*(c||0),d=Math.sin(v)*(c||0)),n.moveTo(e+u,r+h),n.lineTo(i+f,a+d)}function cC(n,t){var e=t.markerStart,r=t.markerEnd,i=t.markerStartOffset,a=t.markerEndOffset,s=t.d,o=s.absolutePath,l=s.segments,c=0,u=0,h=0,f=0,d=0,v,g;if(e&&Xe(e)&&i){var p=e.parentNode.getStartTangent(),y=(0,L.Z)(p,2),b=y[0],M=y[1];v=b[0]-M[0],g=b[1]-M[1],d=Math.atan2(g,v),c=Math.cos(d)*(i||0),u=Math.sin(d)*(i||0)}if(r&&Xe(r)&&a){var O=r.parentNode.getEndTangent(),k=(0,L.Z)(O,2),D=k[0],j=k[1];v=D[0]-j[0],g=D[1]-j[1],d=Math.atan2(g,v),h=Math.cos(d)*(a||0),f=Math.sin(d)*(a||0)}for(var B=0;B<o.length;B++){var W=o[B],V=W[0],q=o[B+1],$=B===0&&(c!==0||u!==0),ot=(B===o.length-1||q&&(q[0]==="M"||q[0]==="Z"))&&h!==0&&f!==0,ct=$?[c,u]:[0,0],vt=(0,L.Z)(ct,2),Ct=vt[0],Ot=vt[1],mt=ot?[h,f]:[0,0],yt=(0,L.Z)(mt,2),Lt=yt[0],Zt=yt[1];switch(V){case"M":n.moveTo(W[1]+Ct,W[2]+Ot);break;case"L":n.lineTo(W[1]+Lt,W[2]+Zt);break;case"Q":n.quadraticCurveTo(W[1],W[2],W[3]+Lt,W[4]+Zt);break;case"C":n.bezierCurveTo(W[1],W[2],W[3],W[4],W[5]+Lt,W[6]+Zt);break;case"A":{var Ut=l[B].arcParams,ee=Ut.cx,ae=Ut.cy,he=Ut.rx,ce=Ut.ry,Ee=Ut.startAngle,Ce=Ut.endAngle,Ze=Ut.xRotation,Ve=Ut.sweepFlag;if(n.ellipse)n.ellipse(ee,ae,he,ce,Ze,Ee,Ce,!!(1-Ve));else{var or=he>ce?he:ce,Qe=he>ce?1:he/ce,ui=he>ce?ce/he:1;n.translate(ee,ae),n.rotate(Ze),n.scale(Qe,ui),n.arc(0,0,or,Ee,Ce,!!(1-Ve)),n.scale(1/Qe,1/ui),n.rotate(-Ze),n.translate(-ee,-ae)}ot&&n.lineTo(W[6]+h,W[7]+f);break}case"Z":n.closePath();break}}}function uC(n,t){var e=t.markerStart,r=t.markerEnd,i=t.markerStartOffset,a=t.markerEndOffset,s=t.points.points,o=s.length,l=s[0][0],c=s[0][1],u=s[o-1][0],h=s[o-1][1],f=0,d=0,v=0,g=0,p=0,y,b;e&&Xe(e)&&i&&(y=s[1][0]-s[0][0],b=s[1][1]-s[0][1],p=Math.atan2(b,y),f=Math.cos(p)*(i||0),d=Math.sin(p)*(i||0)),r&&Xe(r)&&a&&(y=s[o-1][0]-s[0][0],b=s[o-1][1]-s[0][1],p=Math.atan2(b,y),v=Math.cos(p)*(a||0),g=Math.sin(p)*(a||0)),n.moveTo(l+(f||v),c+(d||g));for(var M=1;M<o-1;M++){var O=s[M];n.lineTo(O[0],O[1])}n.lineTo(u,h)}function hC(n,t){var e=t.markerStart,r=t.markerEnd,i=t.markerStartOffset,a=t.markerEndOffset,s=t.points.points,o=s.length,l=s[0][0],c=s[0][1],u=s[o-1][0],h=s[o-1][1],f=0,d=0,v=0,g=0,p=0,y,b;e&&Xe(e)&&i&&(y=s[1][0]-s[0][0],b=s[1][1]-s[0][1],p=Math.atan2(b,y),f=Math.cos(p)*(i||0),d=Math.sin(p)*(i||0)),r&&Xe(r)&&a&&(y=s[o-2][0]-s[o-1][0],b=s[o-2][1]-s[o-1][1],p=Math.atan2(b,y),v=Math.cos(p)*(a||0),g=Math.sin(p)*(a||0)),n.moveTo(l+f,c+d);for(var M=1;M<o-1;M++){var O=s[M];n.lineTo(O[0],O[1])}n.lineTo(u+v,h+g)}function fC(n,t){var e=t.x,r=e===void 0?0:e,i=t.y,a=i===void 0?0:i,s=t.radius,o=t.width,l=t.height,c=o,u=l,h=s&&s.some(function(k){return k!==0});if(!h)n.rect(r,a,c,u);else{var f=o>0?1:-1,d=l>0?1:-1,v=f+d===0,g=s.map(function(k){return Nn(k,0,Math.min(Math.abs(c)/2,Math.abs(u)/2))}),p=(0,L.Z)(g,4),y=p[0],b=p[1],M=p[2],O=p[3];n.moveTo(f*y+r,a),n.lineTo(c-f*b+r,a),b!==0&&n.arc(c-f*b+r,d*b+a,b,-d*Math.PI/2,f>0?0:Math.PI,v),n.lineTo(c+r,u-d*M+a),M!==0&&n.arc(c-f*M+r,u-d*M+a,M,f>0?0:Math.PI,d>0?Math.PI/2:1.5*Math.PI,v),n.lineTo(f*O+r,u+a),O!==0&&n.arc(f*O+r,u-d*O+a,O,d>0?Math.PI/2:-Math.PI/2,f>0?Math.PI:0,v),n.lineTo(r,d*y+a),y!==0&&n.arc(f*y+r,d*y+a,y,f>0?Math.PI:0,d>0?Math.PI*1.5:Math.PI/2,v)}}var dC=function(n){function t(){var e;(0,C.Z)(this,t);for(var r=arguments.length,i=new Array(r),a=0;a<r;a++)i[a]=arguments[a];return e=(0,R.Z)(this,t,[].concat(i)),e.name="canvas-path-generator",e}return(0,T.Z)(t,n),(0,S.Z)(t,[{key:"init",value:function(){var r,i=(r={},(0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)(r,It.CIRCLE,sC),It.ELLIPSE,oC),It.RECT,fC),It.LINE,lC),It.POLYLINE,hC),It.POLYGON,uC),It.PATH,cC),It.TEXT,void 0),It.GROUP,void 0),It.IMAGE,void 0),(0,se.Z)((0,se.Z)((0,se.Z)(r,It.HTML,void 0),It.MESH,void 0),It.FRAGMENT,void 0));this.context.pathGeneratorFactory=i}},{key:"destroy",value:function(){delete this.context.pathGeneratorFactory}}])}(Ra);var vC=pt(),gC=pt(),pC=pt(),mC=Gt(),Yy=function(){function n(){var t=this;(0,C.Z)(this,n),this.isHit=function(e,r,i,a){var s=t.context.pointInPathPickerFactory[e.nodeName];if(s){var o=_e(mC,i),l=re(gC,Bt(pC,r[0],r[1],0),o);if(s(e,new vr(l[0],l[1]),a,t.isPointInPath,t.context,t.runtime))return!0}return!1},this.isPointInPath=function(e,r){var i=t.runtime.offscreenCanvasCreator.getOrCreateContext(t.context.config.offscreenCanvas),a=t.context.pathGeneratorFactory[e.nodeName];return a&&(i.beginPath(),a(i,e.parsedStyle),i.closePath()),i.isPointInPath(r.x,r.y)}}return(0,S.Z)(n,[{key:"apply",value:function(e,r){var i,a=this,s=e.renderingService,o=e.renderingContext;this.context=e,this.runtime=r;var l=(i=o.root)===null||i===void 0?void 0:i.ownerDocument;s.hooks.pick.tapPromise(n.tag,function(){var c=(0,Da.Z)((0,Sr.Z)().mark(function u(h){return(0,Sr.Z)().wrap(function(f){for(;;)switch(f.prev=f.next){case 0:return f.abrupt("return",a.pick(l,h));case 1:case"end":return f.stop()}},u)}));return function(u){return c.apply(this,arguments)}}()),s.hooks.pickSync.tap(n.tag,function(c){return a.pick(l,c)})}},{key:"pick",value:function(e,r){var i=r.topmost,a=r.position,s=a.x,o=a.y,l=Bt(vC,s,o,0),c=e.elementsFromBBox(l[0],l[1],l[0],l[1]),u=[],h=(0,ds.Z)(c),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=zp(d);if(p){var y=p.parsedStyle.clipPath,b=this.isHit(y,l,y.getWorldTransform(),!0);if(b){if(i)return r.picked=[d],r;u.push(d)}}else{if(i)return r.picked=[d],r;u.push(d)}}}}catch(M){h.e(M)}finally{h.f()}return r.picked=u,r}}])}();Yy.tag="CanvasPicker";function yC(n,t,e){var r=n.parsedStyle,i=r.cx,a=i===void 0?0:i,s=r.cy,o=s===void 0?0:s,l=r.r,c=r.fill,u=r.stroke,h=r.lineWidth,f=h===void 0?1:h,d=r.increasedLineWidthForHitTesting,v=d===void 0?0:d,g=r.pointerEvents,p=g===void 0?"auto":g,y=(f+v)/2,b=Pr(a,o,t.x,t.y),M=xs(p,c,u),O=(0,L.Z)(M,2),k=O[0],D=O[1];return k&&D||e?b<=l+y:k?b<=l:D?b>=l-y&&b<=l+y:!1}function Eu(n,t,e,r){return n/(e*e)+t/(r*r)}function bC(n,t,e){var r=n.parsedStyle,i=r.cx,a=i===void 0?0:i,s=r.cy,o=s===void 0?0:s,l=r.rx,c=r.ry,u=r.fill,h=r.stroke,f=r.lineWidth,d=f===void 0?1:f,v=r.increasedLineWidthForHitTesting,g=v===void 0?0:v,p=r.pointerEvents,y=p===void 0?"auto":p,b=t.x,M=t.y,O=xs(y,u,h),k=(0,L.Z)(O,2),D=k[0],j=k[1],B=(d+g)/2,W=(b-a)*(b-a),V=(M-o)*(M-o);return D&&j||e?Eu(W,V,l+B,c+B)<=1:D?Eu(W,V,l,c)<=1:j?Eu(W,V,l-B,c-B)>=1&&Eu(W,V,l+B,c+B)<=1:!1}function Bs(n,t,e,r,i,a){return i>=n&&i<=n+e&&a>=t&&a<=t+r}function xC(n,t,e,r,i,a,s){var o=i/2;return Bs(n-o,t-o,e,i,a,s)||Bs(n+e-o,t-o,i,r,a,s)||Bs(n+o,t+r-o,e,i,a,s)||Bs(n-o,t+o,i,r,a,s)}function wu(n,t,e,r,i,a,s,o){var l=(Math.atan2(o-t,s-n)+Math.PI*2)%(Math.PI*2),c={x:n+e*Math.cos(l),y:t+e*Math.sin(l)};return Pr(c.x,c.y,s,o)<=a/2}function Wa(n,t,e,r,i,a,s){var o=Math.min(n,e),l=Math.max(n,e),c=Math.min(t,r),u=Math.max(t,r),h=i/2;return a>=o-h&&a<=l+h&&s>=c-h&&s<=u+h?Rg(n,t,e,r,a,s)<=i/2:!1}function Uy(n,t,e,r,i){var a=n.length;if(a<2)return!1;for(var s=0;s<a-1;s++){var o=n[s][0],l=n[s][1],c=n[s+1][0],u=n[s+1][1];if(Wa(o,l,c,u,t,e,r))return!0}if(i){var h=n[0],f=n[a-1];if(Wa(h[0],h[1],f[0],f[1],t,e,r))return!0}return!1}var EC=1e-6;function nv(n){return Math.abs(n)<EC?0:n<0?-1:1}function wC(n,t,e){return(e[0]-n[0])*(t[1]-n[1])===(t[0]-n[0])*(e[1]-n[1])&&Math.min(n[0],t[0])<=e[0]&&e[0]<=Math.max(n[0],t[0])&&Math.min(n[1],t[1])<=e[1]&&e[1]<=Math.max(n[1],t[1])}function Ky(n,t,e){var r=!1,i=n.length;if(i<=2)return!1;for(var a=0;a<i;a++){var s=n[a],o=n[(a+1)%i];if(wC(s,o,[t,e]))return!0;nv(s[1]-e)>0!=nv(o[1]-e)>0&&nv(t-(e-s[1])*(s[0]-o[0])/(s[1]-o[1])-s[0])<0&&(r=!r)}return r}function Qy(n,t,e){for(var r=!1,i=0;i<n.length;i++){var a=n[i];if(r=Ky(a,t,e),r)break}return r}function MC(n,t,e){var r=n.parsedStyle,i=r.x1,a=r.y1,s=r.x2,o=r.y2,l=r.lineWidth,c=l===void 0?1:l,u=r.increasedLineWidthForHitTesting,h=u===void 0?0:u,f=r.pointerEvents,d=f===void 0?"auto":f,v=r.fill,g=r.stroke,p=xs(d,v,g),y=(0,L.Z)(p,2),b=y[1];return!b&&!e||!c?!1:Wa(i,a,s,o,c+h,t.x,t.y)}function AC(n,t,e,r,i){for(var a=!1,s=t/2,o=0;o<n.length;o++){var l=n[o],c=l.currentPoint,u=l.params,h=l.prePoint,f=l.box;if(!(f&&!Bs(f.x-s,f.y-s,f.width+t,f.height+t,e,r)))switch(l.command){case"L":case"Z":if(a=Wa(h[0],h[1],c[0],c[1],t,e,r),a)return!0;break;case"Q":var d=D2(h[0],h[1],u[1],u[2],u[3],u[4],e,r);if(a=d<=t/2,a)return!0;break;case"C":var v=zg(h[0],h[1],u[1],u[2],u[3],u[4],u[5],u[6],e,r,i);if(a=v<=t/2,a)return!0;break;case"A":l.cubicParams||(l.cubicParams=Tf(h[0],h[1],u[1],u[2],u[3],u[4],u[5],u[6],u[7],void 0));for(var g=l.cubicParams,p=h,y=0;y<g.length;y+=6){var b=zg(p[0],p[1],g[y],g[y+1],g[y+2],g[y+3],g[y+4],g[y+5],e,r,i);if(p=[g[y+4],g[y+5]],a=b<=t/2,a)return!0}break}}return a}function PC(n,t,e,r,i,a){var s=n.parsedStyle,o=s.lineWidth,l=o===void 0?1:o,c=s.increasedLineWidthForHitTesting,u=c===void 0?0:c,h=s.stroke,f=s.fill,d=s.d,v=s.pointerEvents,g=v===void 0?"auto":v,p=d.segments,y=d.hasArc,b=d.polylines,M=d.polygons,O=xs(g,(M==null?void 0:M.length)&&f,h),k=(0,L.Z)(O,2),D=k[0],j=k[1],B=Kf(n),W=!1;return D||e?(y?W=r(n,t):W=Qy(M,t.x,t.y)||Qy(b,t.x,t.y),W):((j||e)&&(W=AC(p,l+u,t.x,t.y,B)),W)}function SC(n,t,e){var r=n.parsedStyle,i=r.stroke,a=r.fill,s=r.lineWidth,o=s===void 0?1:s,l=r.increasedLineWidthForHitTesting,c=l===void 0?0:l,u=r.points,h=r.pointerEvents,f=h===void 0?"auto":h,d=xs(f,a,i),v=(0,L.Z)(d,2),g=v[0],p=v[1],y=!1;return(p||e)&&(y=Uy(u.points,o+c,t.x,t.y,!0)),!y&&(g||e)&&(y=Ky(u.points,t.x,t.y)),y}function OC(n,t,e){var r=n.parsedStyle,i=r.lineWidth,a=i===void 0?1:i,s=r.increasedLineWidthForHitTesting,o=s===void 0?0:s,l=r.points,c=r.pointerEvents,u=c===void 0?"auto":c,h=r.fill,f=r.stroke,d=xs(u,h,f),v=(0,L.Z)(d,2),g=v[1];return!g&&!e||!a?!1:Uy(l.points,a+o,t.x,t.y,!1)}function TC(n,t,e,r,i){var a=n.parsedStyle,s=a.radius,o=a.fill,l=a.stroke,c=a.lineWidth,u=c===void 0?1:c,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,y=a.width,b=a.height,M=a.pointerEvents,O=M===void 0?"auto":M,k=xs(O,o,l),D=(0,L.Z)(k,2),j=D[0],B=D[1],W=s&&s.some(function(ot){return ot!==0}),V=u+f;if(W){var $=!1;return(B||e)&&($=CC(v,p,y,b,s.map(function(ot){return Nn(ot,0,Math.min(Math.abs(y)/2,Math.abs(b)/2))}),V,t.x,t.y)),!$&&(j||e)&&($=r(n,t)),$}else{var q=V/2;if(j&&B||e)return Bs(v-q,p-q,y+q,b+q,t.x,t.y);if(j)return Bs(v,p,y,b,t.x,t.y);if(B)return xC(v,p,y,b,V,t.x,t.y)}return!1}function CC(n,t,e,r,i,a,s,o){var l=(0,L.Z)(i,4),c=l[0],u=l[1],h=l[2],f=l[3];return Wa(n+c,t,n+e-u,t,a,s,o)||Wa(n+e,t+u,n+e,t+r-h,a,s,o)||Wa(n+e-h,t+r,n+f,t+r,a,s,o)||Wa(n,t+r-f,n,t+c,a,s,o)||wu(n+e-u,t+u,u,1.5*Math.PI,2*Math.PI,a,s,o)||wu(n+e-h,t+r-h,h,0,.5*Math.PI,a,s,o)||wu(n+f,t+r-f,f,.5*Math.PI,Math.PI,a,s,o)||wu(n+c,t+c,c,Math.PI,1.5*Math.PI,a,s,o)}function NC(n,t,e,r,i,a){var s=n.parsedStyle,o=s.pointerEvents,l=o===void 0?"auto":o,c=s.x,u=c===void 0?0:c,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),y=a.offscreenCanvasCreator.getOrCreateContext(g,{willReadFrequently:!0});p.width=d,p.height=v,i.defaultStyleRendererFactory[It.IMAGE].render(y,(0,z.Z)((0,z.Z)({},n.parsedStyle),{},{x:0,y:0}),n,void 0,void 0,void 0);var b=y.getImageData(t.x-u,t.y-f,1,1).data;return b.every(function(M){return M!==0})}return!0}function kC(n,t,e,r){var i=n.getGeometryBounds();return t.x>=i.min[0]&&t.y>=i.min[1]&&t.x<=i.max[0]&&t.y<=i.max[1]}var LC=function(n){function t(){var e;(0,C.Z)(this,t);for(var r=arguments.length,i=new Array(r),a=0;a<r;a++)i[a]=arguments[a];return e=(0,R.Z)(this,t,[].concat(i)),e.name="canvas-picker",e}return(0,T.Z)(t,n),(0,S.Z)(t,[{key:"init",value:function(){var r,i=(r={},(0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)(r,It.CIRCLE,yC),It.ELLIPSE,bC),It.RECT,TC),It.LINE,MC),It.POLYLINE,OC),It.POLYGON,SC),It.PATH,PC),It.TEXT,kC),It.GROUP,null),It.IMAGE,NC),(0,se.Z)((0,se.Z)(r,It.HTML,null),It.MESH,null));this.context.pointInPathPickerFactory=i,this.addRenderingPlugin(new Yy)}},{key:"destroy",value:function(){delete this.context.pointInPathPickerFactory,this.removeAllRenderingPlugins()}}])}(Ra);function ia(n,t){if(!{}.hasOwnProperty.call(n,t))throw new TypeError("attempted to use private field on non-instance");return n}var DC=0;function RC(n){return"__private_"+DC+++"_"+n}var IC=function(){function n(){(0,C.Z)(this,n),this.cacheStore=new Map}return(0,S.Z)(n,[{key:"onRefAdded",value:function(e){}},{key:"has",value:function(e){return this.cacheStore.has(e)}},{key:"put",value:function(e,r,i){return this.cacheStore.has(e)?!1:(this.cacheStore.set(e,{value:r,counter:new Set([i.entity])}),this.onRefAdded(i),!0)}},{key:"get",value:function(e,r){var i=this.cacheStore.get(e);return i?(i.counter.has(r.entity)||(i.counter.add(r.entity),this.onRefAdded(r)),i.value):null}},{key:"update",value:function(e,r,i){var a=this.cacheStore.get(e);return a?(a.value=(0,z.Z)((0,z.Z)({},a.value),r),a.counter.has(i.entity)||(a.counter.add(i.entity),this.onRefAdded(i)),!0):!1}},{key:"release",value:function(e,r){var i=this.cacheStore.get(e);return i?(i.counter.delete(r.entity),i.counter.size<=0&&this.cacheStore.delete(e),!0):!1}},{key:"releaseRef",value:function(e){var r=this;Array.from(this.cacheStore.keys()).forEach(function(i){r.release(i,e)})}},{key:"getSize",value:function(){return this.cacheStore.size}},{key:"clear",value:function(){this.cacheStore.clear()}}])}(),rv=[],iv=[],av=function(){function n(){(0,C.Z)(this,n)}return(0,S.Z)(n,null,[{key:"stop",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:n.api;n.rafId&&(e.cancelAnimationFrame(n.rafId),n.rafId=null)}},{key:"executeTask",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:n.api;rv.length<=0&&iv.length<=0||(iv.forEach(function(r){return r()}),iv=rv.splice(0,n.TASK_NUM_PER_FRAME),n.rafId=e.requestAnimationFrame(function(){n.executeTask(e)}))}},{key:"sliceImage",value:function(e,r,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]:n.api,l=e.naturalWidth||e.width,c=e.naturalHeight||e.height,u=r-s,h=i-s,f=Math.ceil(l/u),d=Math.ceil(c/h),v={tileSize:[r,i],gridSize:[d,f],tiles:Array(d).fill(null).map(function(){return Array(f).fill(null)})},g=function(b){for(var M=function(D){rv.push(function(){var j=D*u,B=b*h,W=[Math.min(r,l-j),Math.min(i,c-B)],V=W[0],q=W[1],$=o.createCanvas();$.width=r,$.height=i;var ot=$.getContext("2d");ot.drawImage(e,j,B,V,q,0,0,V,q),v.tiles[b][D]={x:j,y:B,tileX:D,tileY:b,data:$},a()})},O=0;O<f;O++)M(O)},p=0;p<d;p++)g(p);return n.stop(),n.executeTask(),v}}])}();av.TASK_NUM_PER_FRAME=10;var ai=new IC;ai.onRefAdded=function(t){var e=this;t.addEventListener(Ie.DESTROY,function(){e.releaseRef(t)},{once:!0})};var sv=function(){function n(t,e){(0,C.Z)(this,n),this.gradientCache={},this.patternCache={},this.context=t,this.runtime=e}return(0,S.Z)(n,[{key:"getImageSync",value:function(e,r,i){var a=We(e)?e:e.src;if(ai.has(a)){var s=ai.get(a,r);if(s.img.complete)return i==null||i(s),s}return this.getOrCreateImage(e,r).then(function(o){i==null||i(o)}).catch(function(o){console.error(o)}),null}},{key:"getOrCreateImage",value:function(e,r){var i=this,a=We(e)?e:e.src;if(!We(e)&&!ai.has(a)){var s={img:e,size:[e.naturalWidth||e.width,e.naturalHeight||e.height],tileSize:Mu(e)};ai.put(a,s,r)}if(ai.has(a)){var o=ai.get(a,r);return o.img.complete?Promise.resolve(o):new Promise(function(l,c){o.img.addEventListener("load",function(){o.size=[o.img.naturalWidth||o.img.width,o.img.naturalHeight||o.img.height],o.tileSize=Mu(o.img),l(o)}),o.img.addEventListener("error",function(u){c(u)})})}return new Promise(function(l,c){var u=i.context.config.createImage();if(u){var h={img:u,size:[0,0],tileSize:Mu(u)};ai.put(a,h,r),u.onload=function(){h.size=[u.naturalWidth||u.width,u.naturalHeight||u.height],h.tileSize=Mu(h.img),l(h)},u.onerror=function(f){c(f)},u.crossOrigin="Anonymous",u.src=a}})}},{key:"createDownSampledImage",value:function(){var t=(0,Da.Z)((0,Sr.Z)().mark(function r(i,a){var s,o,l,c,u,h,f,d,v,g,p,y,b,M;return(0,Sr.Z)().wrap(function(O){for(;;)switch(O.prev=O.next){case 0:return O.next=1,this.getOrCreateImage(i,a);case 1:if(s=O.sent,typeof s.downSamplingRate=="undefined"){O.next=2;break}return O.abrupt("return",s);case 2:if(o=this.context.config.enableLargeImageOptimization,l=typeof o=="boolean"?{}:o,c=l.maxDownSampledImageSize,u=c===void 0?2048:c,h=l.downSamplingRateThreshold,f=h===void 0?.5:h,d=this.runtime.globalThis.createImageBitmap,v=(0,L.Z)(s.size,2),g=v[0],p=v[1],y=s.img,b=Math.min((u+u)/(g+p),Math.max(.01,Math.min(f,.5))),M=(0,z.Z)((0,z.Z)({},s),{},{downSamplingRate:b}),ai.update(s.img.src,M,a),!d){O.next=7;break}return O.prev=3,O.next=4,d(s.img,{resizeWidth:g*b,resizeHeight:p*b});case 4:y=O.sent,O.next=6;break;case 5:O.prev=5,O.catch(3),b=1;case 6:O.next=8;break;case 7:b=1;case 8:return M=(0,z.Z)((0,z.Z)({},this.getImageSync(i,a)),{},{downSampled:y,downSamplingRate:b}),ai.update(s.img.src,M,a),O.abrupt("return",M);case 9:case"end":return O.stop()}},r,this,[[3,5]])}));function e(r,i){return t.apply(this,arguments)}return e}()},{key:"createImageTiles",value:function(){var t=(0,Da.Z)((0,Sr.Z)().mark(function r(i,a,s,o){var l,c,u,h,f;return(0,Sr.Z)().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:return d.next=1,this.getOrCreateImage(i,o);case 1:return l=d.sent,c=o.ownerDocument.defaultView,u=c.requestAnimationFrame,h=c.cancelAnimationFrame,av.api={requestAnimationFrame:u,cancelAnimationFrame:h,createCanvas:function(){return cd.createCanvas()}},f=(0,z.Z)((0,z.Z)({},l),av.sliceImage(l.img,l.tileSize[0],l.tileSize[0],s)),ai.update(l.img.src,f,o),d.abrupt("return",f);case 2:case"end":return d.stop()}},r,this)}));function e(r,i,a,s){return t.apply(this,arguments)}return e}()},{key:"releaseImage",value:function(e,r){ai.release(We(e)?e:e.src,r)}},{key:"releaseImageRef",value:function(e){ai.releaseRef(e)}},{key:"getOrCreatePatternSync",value:function(e,r,i,a,s,o,l){var c=this.generatePatternKey(r);if(c&&this.patternCache[c])return this.patternCache[c];var u=r.image,h=r.repetition,f=r.transform,d,v=!1;if(We(u)){var g=this.getImageSync(u,e,l);d=g==null?void 0:g.img}else a?(d=a,v=!0):d=u;var p=d&&i.createPattern(d,h);if(p){var y;f?y=Yp(Np(f),new yn({})):y=ge(Gt()),v&&dn(y,y,[1/s,1/s,1]),p.setTransform({a:y[0],b:y[1],c:y[4],d:y[5],e:y[12]+o[0],f:y[13]+o[1]})}return c&&p&&(this.patternCache[c]=p),p}},{key:"getOrCreateGradient",value:function(e,r){var i=this.generateGradientKey(e),a=e.type,s=e.steps,o=e.min,l=e.width,c=e.height,u=e.angle,h=e.cx,f=e.cy,d=e.size;if(this.gradientCache[i])return this.gradientCache[i];var v=null;if(a===Ia.LinearGradient){var g=kM(o,l,c,u),p=g.x1,y=g.y1,b=g.x2,M=g.y2;v=r.createLinearGradient(p,y,b,M)}else if(a===Ia.RadialGradient){var O=LM(o,l,c,h,f,d),k=O.x,D=O.y,j=O.r;v=r.createRadialGradient(k,D,0,k,D,j)}return v&&(s.forEach(function(B){var W=B.offset,V=B.color;if(W.unit===te.kPercentage){var q;(q=v)===null||q===void 0||q.addColorStop(W.value/100,V.toString())}}),this.gradientCache[i]=v),this.gradientCache[i]}},{key:"generateGradientKey",value:function(e){var r=e.type,i=e.min,a=e.width,s=e.height,o=e.steps,l=e.angle,c=e.cx,u=e.cy,h=e.size;return"gradient-".concat(r,"-").concat((l==null?void 0:l.toString())||0,"-").concat((c==null?void 0:c.toString())||0,"-").concat((u==null?void 0:u.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(e){var r=e.image,i=e.repetition;if(We(r))return"pattern-".concat(r,"-").concat(i);if(r.nodeName==="rect")return"pattern-".concat(r.entity,"-").concat(i)}}])}();sv.isSupportTile=!!cd.createCanvas();function Mu(n){if(!n.complete)return[0,0];var t=n.naturalWidth||n.width,e=n.naturalHeight||n.height,r=256;return[256,512].forEach(function(i){var a=Math.ceil(e/i),s=Math.ceil(t/i);a*s<1e3&&(r=i)}),[r,r]}var Jy=function(){function n(){(0,C.Z)(this,n)}return(0,S.Z)(n,[{key:"apply",value:function(e){var r=e.renderingService,i=e.renderingContext,a=e.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===It.IMAGE){var g=v.src,p=v.keepAspectRatio;a.getImageSync(g,f,function(y){var b=y.img,M=b.width,O=b.height;p&&o(f,M,O),f.renderable.dirty=!0,r.dirtify()})}},c=function(h){var f=h.target,d=h.attrName,v=h.prevValue,g=h.newValue;f.nodeName!==It.IMAGE||d!=="src"||(v!==g&&a.releaseImage(v,f),We(g)&&a.getOrCreateImage(g,f).then(function(p){var y=p.img,b=y.width,M=y.height;f.attributes.keepAspectRatio&&o(f,b,M),f.renderable.dirty=!0,r.dirtify()}).catch(function(){}))};r.hooks.init.tap(n.tag,function(){s.addEventListener(Ie.MOUNTED,l),s.addEventListener(Ie.ATTR_MODIFIED,c)}),r.hooks.destroy.tap(n.tag,function(){s.removeEventListener(Ie.MOUNTED,l),s.removeEventListener(Ie.ATTR_MODIFIED,c)})}}])}();Jy.tag="LoadImage";var BC=function(n){function t(){var e;(0,C.Z)(this,t);for(var r=arguments.length,i=new Array(r),a=0;a<r;a++)i[a]=arguments[a];return e=(0,R.Z)(this,t,[].concat(i)),e.name="image-loader",e}return(0,T.Z)(t,n),(0,S.Z)(t,[{key:"init",value:function(r){this.context.imagePool=new sv(this.context,r),this.addRenderingPlugin(new Jy)}},{key:"destroy",value:function(){this.removeAllRenderingPlugins()}}])}(Ra);var Wn=RC("renderState"),qy=function(){function n(t){(0,C.Z)(this,n),this.removedRBushNodeAABBs=[],this.renderQueue=[],Object.defineProperty(this,Wn,{writable:!0,value:{restoreStack:[],prevObject:null,currentContext:new Map}}),this.clearFullScreenLastFrame=!1,this.clearFullScreen=!1,this.vpMatrix=Gt(),this.dprMatrix=Gt(),this.tmpMat4=Gt(),this.vec3a=pt(),this.vec3b=pt(),this.vec3c=pt(),this.vec3d=pt(),this.canvasRendererPluginOptions=t}return(0,S.Z)(n,[{key:"apply",value:function(e,r){var i=this;this.context=e;var a=this.context,s=a.config,o=a.camera,l=a.renderingService,c=a.renderingContext,u=a.rBushRoot,h=a.pathGeneratorFactory,f=s.renderer.getConfig().enableRenderingOptimization;s.renderer.getConfig().enableDirtyCheck=!1,s.renderer.getConfig().enableDirtyRectangleRendering=!1,this.rBush=u,this.pathGeneratorFactory=h;var d=e.contextService,v=c.root.ownerDocument.defaultView,g=function(O){var k=O.target,D=k.rBushNode;D!=null&&D.aabb&&i.removedRBushNodeAABBs.push(D.aabb)},p=function(O){var k=O.target,D=k.rBushNode;D.aabb&&i.removedRBushNodeAABBs.push(D.aabb)};l.hooks.init.tap(n.tag,function(){v.addEventListener(Ie.UNMOUNTED,g),v.addEventListener(Ie.CULLED,p);var M=d.getDPR(),O=s.width,k=s.height,D=d.getContext();i.clearRect(D,0,0,O*M,k*M,s.background)}),l.hooks.destroy.tap(n.tag,function(){v.removeEventListener(Ie.UNMOUNTED,g),v.removeEventListener(Ie.CULLED,p),i.renderQueue=[],i.removedRBushNodeAABBs=[],ia(i,Wn)[Wn]={restoreStack:[],prevObject:null,currentContext:null}});var y=function(){var O,k=d.getContext(),D=d.getDPR(),j=s.width,B=s.height,W=i.canvasRendererPluginOptions,V=W.dirtyObjectNumThreshold,q=W.dirtyObjectRatioThreshold,$=l.getStats(),ot=$.total,ct=$.rendered,vt=ct/ot;i.clearFullScreen=i.clearFullScreenLastFrame||!((O=v.context.renderingPlugins[1])!==null&&O!==void 0&&O.isFirstTimeRenderingFinished)||l.disableDirtyRectangleRendering()||ct>V&&vt>q,k&&(typeof k.resetTransform=="function"?k.resetTransform():k.setTransform(1,0,0,1,0,0),i.clearFullScreen&&i.clearRect(k,0,0,j*D,B*D,s.background))},b=function(O,k){for(var D=[O];D.length>0;){var j,B=D.pop();B.isVisible()&&!B.isCulled()&&(f?i.renderDisplayObjectOptimized(B,k,i.context,ia(i,Wn)[Wn],r):i.renderDisplayObject(B,k,i.context,ia(i,Wn)[Wn],r));for(var W=((j=B.sortable)===null||j===void 0||(j=j.sorted)===null||j===void 0?void 0:j.length)>0?B.sortable.sorted:B.childNodes,V=W.length-1;V>=0;V--)D.push(W[V])}};l.hooks.endFrame.tap(n.tag,function(){if(y(),c.root.childNodes.length===0){i.clearFullScreenLastFrame=!0;return}f=s.renderer.getConfig().enableRenderingOptimization,ia(i,Wn)[Wn]={restoreStack:[],prevObject:null,currentContext:ia(i,Wn)[Wn].currentContext},ia(i,Wn)[Wn].currentContext.clear(),i.clearFullScreenLastFrame=!1;var M=d.getContext(),O=d.getDPR();if(gn(i.dprMatrix,[O,O,1]),qt(i.vpMatrix,i.dprMatrix,o.getOrthoMatrix()),i.clearFullScreen)f?(M.save(),b(c.root,M),M.restore()):b(c.root,M),i.removedRBushNodeAABBs=[];else{var k=i.safeMergeAABB.apply(i,[i.mergeDirtyAABBs(i.renderQueue)].concat((0,N.Z)(i.removedRBushNodeAABBs.map(function(ce){var Ee=ce.minX,Ce=ce.minY,Ze=ce.maxX,Ve=ce.maxY,or=new pn;return or.setMinMax([Ee,Ce,0],[Ze,Ve,0]),or}))));if(i.removedRBushNodeAABBs=[],pn.isEmpty(k)){i.renderQueue=[];return}var D=i.convertAABB2Rect(k),j=D.x,B=D.y,W=D.width,V=D.height,q=re(i.vec3a,[j,B,0],i.vpMatrix),$=re(i.vec3b,[j+W,B,0],i.vpMatrix),ot=re(i.vec3c,[j,B+V,0],i.vpMatrix),ct=re(i.vec3d,[j+W,B+V,0],i.vpMatrix),vt=Math.min(q[0],$[0],ct[0],ot[0]),Ct=Math.min(q[1],$[1],ct[1],ot[1]),Ot=Math.max(q[0],$[0],ct[0],ot[0]),mt=Math.max(q[1],$[1],ct[1],ot[1]),yt=Math.floor(vt),Lt=Math.floor(Ct),Zt=Math.ceil(Ot-vt),Ut=Math.ceil(mt-Ct);M.save(),i.clearRect(M,yt,Lt,Zt,Ut,s.background),M.beginPath(),M.rect(yt,Lt,Zt,Ut),M.clip(),M.setTransform(i.vpMatrix[0],i.vpMatrix[1],i.vpMatrix[4],i.vpMatrix[5],i.vpMatrix[12],i.vpMatrix[13]);var ee=s.renderer.getConfig(),ae=ee.enableDirtyRectangleRenderingDebug;ae&&v.dispatchEvent(new Qn(ei.DIRTY_RECTANGLE,{dirtyRect:{x:yt,y:Lt,width:Zt,height:Ut}}));var he=i.searchDirtyObjects(k);he.sort(function(ce,Ee){return ce.sortable.renderOrder-Ee.sortable.renderOrder}).forEach(function(ce){ce&&ce.isVisible()&&!ce.isCulled()&&i.renderDisplayObject(ce,M,i.context,ia(i,Wn)[Wn],r)}),M.restore(),i.renderQueue.forEach(function(ce){i.saveDirtyAABB(ce)}),i.renderQueue=[]}ia(i,Wn)[Wn].restoreStack.forEach(function(){M.restore()}),ia(i,Wn)[Wn].restoreStack=[]}),l.hooks.render.tap(n.tag,function(M){i.clearFullScreen||i.renderQueue.push(M)})}},{key:"clearRect",value:function(e,r,i,a,s,o){e.clearRect(r,i,a,s),o&&(e.fillStyle=o,e.fillRect(r,i,a,s))}},{key:"renderDisplayObjectOptimized",value:function(e,r,i,a,s){var o=e.nodeName,l=!1,c=!1,u=this.context.styleRendererFactory[o],h=this.pathGeneratorFactory[o],f=e.parsedStyle.clipPath;if(f){l=!a.prevObject||!Mf(f.getWorldTransform(),a.prevObject.getWorldTransform()),l&&(this.applyWorldTransform(r,f),a.prevObject=null);var d=this.pathGeneratorFactory[f.nodeName];d&&(r.save(),c=!0,r.beginPath(),d(r,f.parsedStyle),r.closePath(),r.clip())}if(u){l=!a.prevObject||!Mf(e.getWorldTransform(),a.prevObject.getWorldTransform()),l&&this.applyWorldTransform(r,e);var v=!a.prevObject;if(!v){var g=a.prevObject.nodeName;o===It.TEXT?v=g!==It.TEXT:o===It.IMAGE?v=g!==It.IMAGE:v=g===It.TEXT||g===It.IMAGE}u.applyStyleToContext(r,e,v,a),a.prevObject=e}h&&(r.beginPath(),h(r,e.parsedStyle),o!==It.LINE&&o!==It.PATH&&o!==It.POLYLINE&&r.closePath()),u&&u.drawToContext(r,e,ia(this,Wn)[Wn],this,s),c&&r.restore(),e.dirty(!1)}},{key:"renderDisplayObject",value:function(e,r,i,a,s){var o=e.nodeName,l=a.restoreStack[a.restoreStack.length-1];l&&!(e.compareDocumentPosition(l)&On.DOCUMENT_POSITION_CONTAINS)&&(r.restore(),a.restoreStack.pop());var c=this.context.styleRendererFactory[o],u=this.pathGeneratorFactory[o],h=e.parsedStyle.clipPath;if(h){this.applyWorldTransform(r,h);var f=this.pathGeneratorFactory[h.nodeName];f&&(r.save(),a.restoreStack.push(e),r.beginPath(),f(r,h.parsedStyle),r.closePath(),r.clip())}c&&(this.applyWorldTransform(r,e),r.save(),this.applyAttributesToContext(r,e)),u&&(r.beginPath(),u(r,e.parsedStyle),o!==It.LINE&&o!==It.PATH&&o!==It.POLYLINE&&r.closePath()),c&&(c.render(r,e.parsedStyle,e,i,this,s),r.restore()),e.dirty(!1)}},{key:"applyAttributesToContext",value:function(e,r){var i=r.parsedStyle,a=i.stroke,s=i.fill,o=i.opacity,l=i.lineDash,c=i.lineDashOffset;l&&e.setLineDash(l),ye(c)||(e.lineDashOffset=c),ye(o)||(e.globalAlpha*=o),!ye(a)&&!Array.isArray(a)&&!a.isNone&&(e.strokeStyle=r.attributes.stroke),!ye(s)&&!Array.isArray(s)&&!s.isNone&&(e.fillStyle=r.attributes.fill)}},{key:"convertAABB2Rect",value:function(e){var r=e.getMin(),i=e.getMax(),a=Math.floor(r[0]),s=Math.floor(r[1]),o=Math.ceil(i[0]),l=Math.ceil(i[1]),c=o-a,u=l-s;return{x:a,y:s,width:c,height:u}}},{key:"mergeDirtyAABBs",value:function(e){var r=new pn;return e.forEach(function(i){var a=i.getRenderBounds();r.add(a);var s=i.renderable.dirtyRenderBounds;s&&r.add(s)}),r}},{key:"searchDirtyObjects",value:function(e){var r=e.getMin(),i=(0,L.Z)(r,2),a=i[0],s=i[1],o=e.getMax(),l=(0,L.Z)(o,2),c=l[0],u=l[1],h=this.rBush.search({minX:a,minY:s,maxX:c,maxY:u});return h.map(function(f){var d=f.displayObject;return d})}},{key:"saveDirtyAABB",value:function(e){var r=e.renderable;r.dirtyRenderBounds||(r.dirtyRenderBounds=new pn);var i=e.getRenderBounds();i&&r.dirtyRenderBounds.update(i.center,i.halfExtents)}},{key:"applyWorldTransform",value:function(e,r,i){i?(we(this.tmpMat4,r.getLocalTransform()),qt(this.tmpMat4,i,this.tmpMat4),qt(this.tmpMat4,this.vpMatrix,this.tmpMat4)):(we(this.tmpMat4,r.getWorldTransform()),qt(this.tmpMat4,this.vpMatrix,this.tmpMat4)),e.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 e=new pn,r=arguments.length,i=new Array(r),a=0;a<r;a++)i[a]=arguments[a];return i.forEach(function(s){e.add(s)}),e}}])}();qy.tag="CanvasRenderer";function Au(n,t,e,r,i,a,s){var o,l;if(n.image.nodeName==="rect"){var c=n.image.parsedStyle,u=c.width,h=c.height;l=r.contextService.getDPR();var f=r.config.offscreenCanvas;o=a.offscreenCanvasCreator.getOrCreateCanvas(f),o.width=u*l,o.height=h*l;var d=a.offscreenCanvasCreator.getOrCreateContext(f),v={restoreStack:[],prevObject:null,currentContext:new Map};n.image.forEach(function(p){i.renderDisplayObject(p,d,r,v,a)}),v.restoreStack.forEach(function(){d.restore()})}var g=s.getOrCreatePatternSync(t,n,e,o,l,t.getGeometryBounds().min,function(){t.dirty(),r.renderingService.dirtify()});return g}function Pu(n,t,e,r){var i;if(n.type===Ia.LinearGradient||n.type===Ia.RadialGradient){var a=t.getGeometryBounds(),s=a&&a.halfExtents[0]*2||1,o=a&&a.halfExtents[1]*2||1,l=a&&a.min||[0,0];i=r.getOrCreateGradient((0,z.Z)((0,z.Z)({type:n.type},n.value),{},{min:l,width:s,height:o}),e)}return i}var Su=["shadowBlur","shadowOffsetX","shadowOffsetY"],$y=["lineCap","lineJoin","miterLimit"],qn={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},t1={};function Ln(n,t,e,r){var i=r.has(t)?r.get(t):qn[t];return i!==e&&(t==="lineDash"?n.setLineDash(e):n[t]=e,r.set(t,e)),i}var zC=function(){function n(t){(0,C.Z)(this,n),this.imagePool=t}return(0,S.Z)(n,[{key:"applyAttributesToContext",value:function(e,r){}},{key:"render",value:function(e,r,i,a,s,o){}},{key:"applyCommonStyleToContext",value:function(e,r,i,a){var s=i?t1:a.prevObject.parsedStyle,o=r.parsedStyle;(i||o.opacity!==s.opacity)&&Ln(e,"globalAlpha",ye(o.opacity)?qn.globalAlpha:o.opacity,a.currentContext),(i||o.blend!==s.blend)&&Ln(e,"globalCompositeOperation",ye(o.blend)?qn.globalCompositeOperation:o.blend,a.currentContext)}},{key:"applyStrokeFillStyleToContext",value:function(e,r,i,a){var s=i?t1:a.prevObject.parsedStyle,o=r.parsedStyle,l=o.lineWidth,c=l===void 0?qn.lineWidth:l,u=o.fill&&!o.fill.isNone,h=o.stroke&&!o.stroke.isNone&&c>0;if(h){if(i||r.attributes.stroke!==a.prevObject.attributes.stroke){var f=!ye(o.stroke)&&!Array.isArray(o.stroke)&&!o.stroke.isNone?r.attributes.stroke:qn.strokeStyle;Ln(e,"strokeStyle",f,a.currentContext)}(i||o.lineWidth!==s.lineWidth)&&Ln(e,"lineWidth",ye(o.lineWidth)?qn.lineWidth:o.lineWidth,a.currentContext),(i||o.lineDash!==s.lineDash)&&Ln(e,"lineDash",o.lineDash||qn.lineDash,a.currentContext),(i||o.lineDashOffset!==s.lineDashOffset)&&Ln(e,"lineDashOffset",ye(o.lineDashOffset)?qn.lineDashOffset:o.lineDashOffset,a.currentContext);for(var d=0;d<$y.length;d++){var v=$y[d];(i||o[v]!==s[v])&&Ln(e,v,ye(o[v])?qn[v]:o[v],a.currentContext)}}if(u&&(i||r.attributes.fill!==a.prevObject.attributes.fill)){var g=!ye(o.fill)&&!Array.isArray(o.fill)&&!o.fill.isNone?r.attributes.fill:qn.fillStyle;Ln(e,"fillStyle",g,a.currentContext)}}},{key:"applyStyleToContext",value:function(e,r,i,a){var s=r.nodeName;this.applyCommonStyleToContext(e,r,i,a),s===It.IMAGE||this.applyStrokeFillStyleToContext(e,r,i,a)}},{key:"applyShadowAndFilterStyleToContext",value:function(e,r,i,a){var s=r.parsedStyle;if(i){Ln(e,"shadowColor",s.shadowColor.toString(),a.currentContext);for(var o=0;o<Su.length;o++){var l=Su[o];Ln(e,l,s[l]||qn[l],a.currentContext)}}s.filter&&s.filter.length&&Ln(e,"filter",r.attributes.filter,a.currentContext)}},{key:"clearShadowAndFilterStyleForContext",value:function(e,r,i,a){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;if(r){Ln(e,"shadowColor",qn.shadowColor,a.currentContext);for(var o=0;o<Su.length;o++){var l=Su[o];Ln(e,l,qn[l],a.currentContext)}}if(i)if(r&&s){var c=e.filter;!ye(c)&&c.indexOf("drop-shadow")>-1&&Ln(e,"filter",c.replace(/drop-shadow\([^)]*\)/,"").trim()||qn.filter,a.currentContext)}else Ln(e,"filter",qn.filter,a.currentContext)}},{key:"fillToContext",value:function(e,r,i,a,s){var o=this,l=r.parsedStyle,c=l.fill,u=l.fillRule,h=null;if(Array.isArray(c)&&c.length>0)c.forEach(function(d){var v=Ln(e,"fillStyle",Pu(d,r,e,o.imagePool),i.currentContext);h=h!=null?h:v,u?e.fill(u):e.fill()});else{if(ys(c)){var f=Au(c,r,e,r.ownerDocument.defaultView.context,a,s,this.imagePool);f&&(e.fillStyle=f,h=!0)}u?e.fill(u):e.fill()}h!==null&&Ln(e,"fillStyle",h,i.currentContext)}},{key:"strokeToContext",value:function(e,r,i,a,s){var o=this,l=r.parsedStyle.stroke,c=null;if(Array.isArray(l)&&l.length>0)l.forEach(function(f){var d=Ln(e,"strokeStyle",Pu(f,r,e,o.imagePool),i.currentContext);c=c!=null?c:d,e.stroke()});else{if(ys(l)){var u=Au(l,r,e,r.ownerDocument.defaultView.context,a,s,this.imagePool);if(u){var h=Ln(e,"strokeStyle",u,i.currentContext);c=c!=null?c:h}}e.stroke()}c!==null&&Ln(e,"strokeStyle",c,i.currentContext)}},{key:"drawToContext",value:function(e,r,i,a,s){var o,l=r.nodeName,c=r.parsedStyle,u=c.opacity,h=u===void 0?qn.globalAlpha:u,f=c.fillOpacity,d=f===void 0?qn.fillOpacity:f,v=c.strokeOpacity,g=v===void 0?qn.strokeOpacity:v,p=c.lineWidth,y=p===void 0?qn.lineWidth:p,b=c.fill&&!c.fill.isNone,M=c.stroke&&!c.stroke.isNone&&y>0;if(!(!b&&!M)){var O=!ye(c.shadowColor)&&c.shadowBlur>0,k=c.shadowType==="inner",D=((o=c.fill)===null||o===void 0?void 0:o.alpha)===0,j=!!(c.filter&&c.filter.length),B=O&&M&&(l===It.PATH||l===It.LINE||l===It.POLYLINE||D||k),W=null;if(b){B||this.applyShadowAndFilterStyleToContext(e,r,O,i);var V=h*d;W=Ln(e,"globalAlpha",V,i.currentContext),this.fillToContext(e,r,i,a,s),B||this.clearShadowAndFilterStyleForContext(e,O,j,i)}if(M){var q=!1,$=h*g,ot=Ln(e,"globalAlpha",$,i.currentContext);if(W=b?W:ot,B&&(this.applyShadowAndFilterStyleToContext(e,r,O,i),q=!0,k)){var ct=e.globalCompositeOperation;e.globalCompositeOperation="source-atop",this.strokeToContext(e,r,i,a,s),e.globalCompositeOperation=ct,this.clearShadowAndFilterStyleForContext(e,O,j,i,!0)}this.strokeToContext(e,r,i,a,s),q&&this.clearShadowAndFilterStyleForContext(e,O,j,i)}W!==null&&Ln(e,"globalAlpha",W,i.currentContext)}}}])}(),ov=function(n){function t(){return(0,C.Z)(this,t),(0,R.Z)(this,t,arguments)}return(0,T.Z)(t,n),(0,S.Z)(t,[{key:"render",value:function(r,i,a,s,o,l){var c=i.fill,u=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,y=p===void 0?1:p,b=i.lineWidth,M=b===void 0?1:b,O=i.lineCap,k=i.lineJoin,D=i.shadowType,j=i.shadowColor,B=i.shadowBlur,W=i.filter,V=i.miterLimit,q=c&&!c.isNone,$=g&&!g.isNone&&M>0,ot=(c==null?void 0:c.alpha)===0,ct=!!(W&&W.length),vt=!ye(j)&&B>0,Ct=a.nodeName,Ot=D==="inner",mt=$&&vt&&(Ct===It.PATH||Ct===It.LINE||Ct===It.POLYLINE||ot||Ot);q&&(r.globalAlpha=f*v,mt||Ou(a,r,vt),e1(r,a,c,u,s,o,l,this.imagePool),mt||this.clearShadowAndFilter(r,ct,vt)),$&&(r.globalAlpha=f*y,r.lineWidth=M,ye(V)||(r.miterLimit=V),ye(O)||(r.lineCap=O),ye(k)||(r.lineJoin=k),mt&&(Ot&&(r.globalCompositeOperation="source-atop"),Ou(a,r,!0),Ot&&(lv(r,a,g,s,o,l,this.imagePool),r.globalCompositeOperation=qn.globalCompositeOperation,this.clearShadowAndFilter(r,ct,!0))),lv(r,a,g,s,o,l,this.imagePool))}},{key:"clearShadowAndFilter",value:function(r,i,a){if(a&&(r.shadowColor="transparent",r.shadowBlur=0),i){var s=r.filter;!ye(s)&&s.indexOf("drop-shadow")>-1&&(r.filter=s.replace(/drop-shadow\([^)]*\)/,"").trim()||"none")}}}])}(zC);function Ou(n,t,e){var r=n.parsedStyle,i=r.filter,a=r.shadowColor,s=r.shadowBlur,o=r.shadowOffsetX,l=r.shadowOffsetY;i&&i.length&&(t.filter=n.style.filter),e&&(t.shadowColor=a.toString(),t.shadowBlur=s||0,t.shadowOffsetX=o||0,t.shadowOffsetY=l||0)}function e1(n,t,e,r,i,a,s,o){var l=arguments.length>8&&arguments[8]!==void 0?arguments[8]:!1;Array.isArray(e)?e.forEach(function(c){n.fillStyle=Pu(c,t,n,o),l||(r?n.fill(r):n.fill())}):(ys(e)&&(n.fillStyle=Au(e,t,n,i,a,s,o)),l||(r?n.fill(r):n.fill()))}function lv(n,t,e,r,i,a,s){var o=arguments.length>7&&arguments[7]!==void 0?arguments[7]:!1;Array.isArray(e)?e.forEach(function(l){n.strokeStyle=Pu(l,t,n,s),o||n.stroke()}):(ys(e)&&(n.strokeStyle=Au(e,t,n,r,i,a,s)),o||n.stroke())}function jC(n,t){var e=(0,L.Z)(n,4),r=e[0],i=e[1],a=e[2],s=e[3],o=(0,L.Z)(t,4),l=o[0],c=o[1],u=o[2],h=o[3],f=Math.max(r,l),d=Math.max(i,c),v=Math.min(r+a,l+u),g=Math.min(i+s,c+h);return v<=f||g<=d?null:[f,d,v-f,g-d]}function FC(n,t){var e=re(pt(),[n[0],n[1],0],t),r=re(pt(),[n[0]+n[2],n[1],0],t),i=re(pt(),[n[0],n[1]+n[3],0],t),a=re(pt(),[n[0]+n[2],n[1]+n[3],0],t);return[Math.min(e[0],r[0],i[0],a[0]),Math.min(e[1],r[1],i[1],a[1]),Math.max(e[0],r[0],i[0],a[0])-Math.min(e[0],r[0],i[0],a[0]),Math.max(e[1],r[1],i[1],a[1])-Math.min(e[1],r[1],i[1],a[1])]}var ZC=function(n){function t(){return(0,C.Z)(this,t),(0,R.Z)(this,t,arguments)}return(0,T.Z)(t,n),(0,S.Z)(t,[{key:"renderDownSampled",value:function(r,i,a,s){var o=s.src,l=s.imageCache;if(!l.downSampled){this.imagePool.createDownSampledImage(o,a).then(function(){a.ownerDocument&&(a.dirty(),a.ownerDocument.defaultView.context.renderingService.dirtify())}).catch(function(c){console.error(c)});return}r.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(r,i,a,s){var o=s.src,l=s.imageCache,c=s.imageRect,u=s.drawRect,h=l.size,f=r.getTransform(),d=f.a,v=f.b,g=f.c,p=f.d,y=f.e,b=f.f;if(r.resetTransform(),!(l!=null&&l.gridSize)){this.imagePool.createImageTiles(o,[],function(){a.ownerDocument&&(a.dirty(),a.ownerDocument.defaultView.context.renderingService.dirtify())},a).catch(function(vt){console.error(vt)});return}for(var M=[h[0]/c[2],h[1]/c[3]],O=[l.tileSize[0]/M[0],l.tileSize[1]/M[1]],k=[Math.floor((u[0]-c[0])/O[0]),Math.ceil((u[0]+u[2]-c[0])/O[0])],D=k[0],j=k[1],B=[Math.floor((u[1]-c[1])/O[1]),Math.ceil((u[1]+u[3]-c[1])/O[1])],W=B[0],V=B[1],q=W;q<=V;q++)for(var $=D;$<=j;$++){var ot=l.tiles[q][$];if(ot){var ct=[Math.floor(c[0]+ot.tileX*O[0]),Math.floor(c[1]+ot.tileY*O[1]),Math.ceil(O[0]),Math.ceil(O[1])];r.drawImage(ot.data,ct[0],ct[1],ct[2],ct[3])}}r.setTransform(d,v,g,p,y,b)}},{key:"render",value:function(r,i,a){var s=i.x,o=s===void 0?0:s,l=i.y,c=l===void 0?0:l,u=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,y=u,b=h;if(p){y||(y=p.width),b||(b=p.height);var M=!ye(d)&&v>0;Ou(a,r,M);try{var O=a.ownerDocument.defaultView.getContextService().getDomElement(),k=O.width,D=O.height,j=r.getTransform(),B=j.a,W=j.b,V=j.c,q=j.d,$=j.e,ot=j.f,ct=Se(B,V,0,0,W,q,0,0,0,0,1,0,$,ot,0,1),vt=FC([o,c,y,b],ct),Ct=jC([0,0,k,D],vt);if(!Ct)return;if(!a.ownerDocument.defaultView.getConfig().enableLargeImageOptimization){t.renderFull(r,i,a,{image:p,drawRect:[o,c,y,b]});return}var Ot=vt[2]/g.size[0];if(Ot<(g.downSamplingRate||.5)){this.renderDownSampled(r,i,a,{src:f,imageCache:g,drawRect:[o,c,y,b]});return}if(!sv.isSupportTile){t.renderFull(r,i,a,{image:p,drawRect:[o,c,y,b]});return}this.renderTile(r,i,a,{src:f,imageCache:g,imageRect:vt,drawRect:Ct})}catch(mt){}}}},{key:"drawToContext",value:function(r,i,a,s,o){this.render(r,i.parsedStyle,i)}}],[{key:"renderFull",value:function(r,i,a,s){r.drawImage(s.image,Math.floor(s.drawRect[0]),Math.floor(s.drawRect[1]),Math.ceil(s.drawRect[2]),Math.ceil(s.drawRect[3]))}}])}(ov),_C=function(n){function t(){return(0,C.Z)(this,t),(0,R.Z)(this,t,arguments)}return(0,T.Z)(t,n),(0,S.Z)(t,[{key:"render",value:function(r,i,a,s,o,l){a.getBounds();var c=i.lineWidth,u=c===void 0?1:c,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,y=i.miterLimit,b=y===void 0?10:y,M=i.letterSpacing,O=M===void 0?0:M,k=i.stroke,D=i.fill,j=i.fillRule,B=i.fillOpacity,W=B===void 0?1:B,V=i.strokeOpacity,q=V===void 0?1:V,$=i.opacity,ot=$===void 0?1:$,ct=i.metrics,vt=i.x,Ct=vt===void 0?0:vt,Ot=i.y,mt=Ot===void 0?0:Ot,yt=i.dx,Lt=i.dy,Zt=i.shadowColor,Ut=i.shadowBlur,ee=ct.font,ae=ct.lines,he=ct.height,ce=ct.lineHeight,Ee=ct.lineMetrics;r.font=ee,r.lineWidth=u,r.textAlign=f==="middle"?"center":f;var Ce=v;Ce==="alphabetic"&&(Ce="bottom"),r.lineJoin=p,ye(b)||(r.miterLimit=b);var Ze=mt;v==="middle"?Ze+=-he/2-ce/2:v==="bottom"||v==="alphabetic"||v==="ideographic"?Ze+=-he:(v==="top"||v==="hanging")&&(Ze+=-ce);var Ve=Ct+(yt||0);Ze+=Lt||0,ae.length===1&&(Ce==="bottom"?(Ce="middle",Ze-=.5*he):Ce==="top"&&(Ce="middle",Ze+=.5*he)),r.textBaseline=Ce;var or=!ye(Zt)&&Ut>0;Ou(a,r,or);for(var Qe=0;Qe<ae.length;Qe++){var ui=u/2+Ve;Ze+=ce,!ye(k)&&!k.isNone&&u&&this.drawLetterSpacing(r,a,ae[Qe],Ee[Qe],f,ui,Ze,O,D,j,W,k,q,ot,!0,s,o,l),ye(D)||this.drawLetterSpacing(r,a,ae[Qe],Ee[Qe],f,ui,Ze,O,D,j,W,k,q,ot,!1,s,o,l)}}},{key:"drawLetterSpacing",value:function(r,i,a,s,o,l,c,u,h,f,d,v,g,p,y,b,M,O){if(u===0){y?this.strokeText(r,i,a,l,c,v,g,b,M,O):this.fillText(r,i,a,l,c,h,f,d,p,b,M,O);return}var k=r.textAlign;r.textAlign="left";var D=l;o==="center"||o==="middle"?D=l-s.width/2:(o==="right"||o==="end")&&(D=l-s.width);for(var j=Array.from(a),B=r.measureText(a).width,W=0,V=0;V<j.length;++V){var q=j[V];y?this.strokeText(r,i,q,D,c,v,g,b,M,O):this.fillText(r,i,q,D,c,h,f,d,p,b,M,O),W=r.measureText(a.substring(V+1)).width,D+=B-W+u,B=W}r.textAlign=k}},{key:"fillText",value:function(r,i,a,s,o,l,c,u,h,f,d,v){e1(r,i,l,c,f,d,v,this.imagePool,!0);var g,p=!ye(u)&&u!==1;p&&(g=r.globalAlpha,r.globalAlpha=u*h),r.fillText(a,s,o),p&&(r.globalAlpha=g)}},{key:"strokeText",value:function(r,i,a,s,o,l,c,u,h,f){lv(r,i,l,u,h,f,this.imagePool,!0);var d,v=!ye(c)&&c!==1;v&&(d=r.globalAlpha,r.globalAlpha=c),r.strokeText(a,s,o),v&&(r.globalAlpha=d)}},{key:"drawToContext",value:function(r,i,a,s,o){this.render(r,i.parsedStyle,i,i.ownerDocument.defaultView.context,s,o)}}])}(ov),HC=function(n){function t(){var e,r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,C.Z)(this,t),e=(0,R.Z)(this,t),e.name="canvas-renderer",e.options=r,e}return(0,T.Z)(t,n),(0,S.Z)(t,[{key:"init",value:function(){var r,i=(0,z.Z)({dirtyObjectNumThreshold:500,dirtyObjectRatioThreshold:.8},this.options),a=this.context.imagePool,s=new ov(a),o=(r={},(0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)((0,se.Z)(r,It.CIRCLE,s),It.ELLIPSE,s),It.RECT,s),It.IMAGE,new ZC(a)),It.TEXT,new _C(a)),It.LINE,s),It.POLYLINE,s),It.POLYGON,s),It.PATH,s),It.GROUP,void 0),(0,se.Z)((0,se.Z)((0,se.Z)(r,It.HTML,void 0),It.MESH,void 0),It.FRAGMENT,void 0));this.context.defaultStyleRendererFactory=o,this.context.styleRendererFactory=o,this.addRenderingPlugin(new qy(i))}},{key:"destroy",value:function(){this.removeAllRenderingPlugins(),delete this.context.defaultStyleRendererFactory,delete this.context.styleRendererFactory}}])}(Ra);var n1=function(){function n(){(0,C.Z)(this,n)}return(0,S.Z)(n,[{key:"apply",value:function(e,r){var i=this,a=e.renderingService,s=e.renderingContext,o=e.config;this.context=e;var l=s.root.ownerDocument.defaultView,c=function(B){a.hooks.pointerMove.call(B)},u=function(B){a.hooks.pointerUp.call(B)},h=function(B){a.hooks.pointerDown.call(B)},f=function(B){a.hooks.pointerOver.call(B)},d=function(B){a.hooks.pointerOut.call(B)},v=function(B){a.hooks.pointerCancel.call(B)},g=function(B){a.hooks.pointerWheel.call(B)},p=function(B){a.hooks.click.call(B)},y=function(B){r.globalThis.document.addEventListener("pointermove",c,!0),B.addEventListener("pointerdown",h,!0),B.addEventListener("pointerleave",d,!0),B.addEventListener("pointerover",f,!0),r.globalThis.addEventListener("pointerup",u,!0),r.globalThis.addEventListener("pointercancel",v,!0)},b=function(B){B.addEventListener("touchstart",h,!0),B.addEventListener("touchend",u,!0),B.addEventListener("touchmove",c,!0),B.addEventListener("touchcancel",v,!0)},M=function(B){r.globalThis.document.addEventListener("mousemove",c,!0),B.addEventListener("mousedown",h,!0),B.addEventListener("mouseout",d,!0),B.addEventListener("mouseover",f,!0),r.globalThis.addEventListener("mouseup",u,!0)},O=function(B){r.globalThis.document.removeEventListener("pointermove",c,!0),B.removeEventListener("pointerdown",h,!0),B.removeEventListener("pointerleave",d,!0),B.removeEventListener("pointerover",f,!0),r.globalThis.removeEventListener("pointerup",u,!0),r.globalThis.removeEventListener("pointercancel",v,!0)},k=function(B){B.removeEventListener("touchstart",h,!0),B.removeEventListener("touchend",u,!0),B.removeEventListener("touchmove",c,!0),B.removeEventListener("touchcancel",v,!0)},D=function(B){r.globalThis.document.removeEventListener("mousemove",c,!0),B.removeEventListener("mousedown",h,!0),B.removeEventListener("mouseout",d,!0),B.removeEventListener("mouseover",f,!0),r.globalThis.removeEventListener("mouseup",u,!0)};a.hooks.init.tap(n.tag,function(){var j=i.context.contextService.getDomElement();r.globalThis.navigator.msPointerEnabled?(j.style.msContentZooming="none",j.style.msTouchAction="none"):l.supportsPointerEvents&&(j.style.touchAction="none"),l.supportsPointerEvents?y(j):M(j),l.supportsTouchEvents&&b(j),o.useNativeClickEvent&&j.addEventListener("click",p,!0),j.addEventListener("wheel",g,{passive:!0,capture:!0})}),a.hooks.destroy.tap(n.tag,function(){var j=i.context.contextService.getDomElement();r.globalThis.navigator.msPointerEnabled?(j.style.msContentZooming="",j.style.msTouchAction=""):l.supportsPointerEvents&&(j.style.touchAction=""),l.supportsPointerEvents?O(j):D(j),l.supportsTouchEvents&&k(j),o.useNativeClickEvent&&j.removeEventListener("click",p,!0),j.removeEventListener("wheel",g,!0)})}}])}();n1.tag="DOMInteraction";var GC=function(n){function t(){var e;(0,C.Z)(this,t);for(var r=arguments.length,i=new Array(r),a=0;a<r;a++)i[a]=arguments[a];return e=(0,R.Z)(this,t,[].concat(i)),e.name="dom-interaction",e}return(0,T.Z)(t,n),(0,S.Z)(t,[{key:"init",value:function(){this.addRenderingPlugin(new n1)}},{key:"destroy",value:function(){this.removeAllRenderingPlugins()}}])}(Ra);var WC="g-canvas-camera",r1=function(){function n(){(0,C.Z)(this,n),this.displayObjectHTMLElementMap=new WeakMap}return(0,S.Z)(n,[{key:"joinTransformMatrix",value:function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0,0,0];return"matrix(".concat([e[0],e[1],e[4],e[5],e[12]+r[0],e[13]+r[1]].join(","),")")}},{key:"apply",value:function(e,r){var i=this,a=e.camera,s=e.renderingContext,o=e.renderingService;this.context=e;var l=s.root.ownerDocument.defaultView,c=l.context.eventService.nativeHTMLMap,u=function(y,b){b.style.transform=i.joinTransformMatrix(y.getWorldTransform(),y.getOrigin())},h=function(y){var b=y.target;if(b.nodeName===It.HTML){i.$camera||(i.$camera=i.createCamera(a));var M=i.getOrCreateEl(b);i.$camera.appendChild(M),Object.keys(b.attributes).forEach(function(O){i.updateAttribute(O,b)}),u(b,M),c.set(M,b)}},f=function(y){var b=y.target;if(b.nodeName===It.HTML&&i.$camera){var M=i.getOrCreateEl(b);M&&(M.remove(),c.delete(M))}},d=function(y){var b=y.target;if(b.nodeName===It.HTML){var M=y.attrName;i.updateAttribute(M,b)}},v=function(y){var b=y.target,M=b.nodeName===It.FRAGMENT?b.childNodes:[b];M.forEach(function(O){if(O.nodeName===It.HTML){var k=i.getOrCreateEl(O);u(O,k)}})},g=function(){if(i.$camera){var y=i.context.config,b=y.width,M=y.height;i.$camera.parentElement.style.width="".concat(b||0,"px"),i.$camera.parentElement.style.height="".concat(M||0,"px")}};o.hooks.init.tap(n.tag,function(){l.addEventListener(ei.RESIZE,g),l.addEventListener(Ie.MOUNTED,h),l.addEventListener(Ie.UNMOUNTED,f),l.addEventListener(Ie.ATTR_MODIFIED,d),l.addEventListener(Ie.BOUNDS_CHANGED,v)}),o.hooks.endFrame.tap(n.tag,function(){i.$camera&&s.renderReasons.has(lo.CAMERA_CHANGED)&&(i.$camera.style.transform=i.joinTransformMatrix(a.getOrthoMatrix()))}),o.hooks.destroy.tap(n.tag,function(){i.$camera&&i.$camera.remove(),l.removeEventListener(ei.RESIZE,g),l.removeEventListener(Ie.MOUNTED,h),l.removeEventListener(Ie.UNMOUNTED,f),l.removeEventListener(Ie.ATTR_MODIFIED,d),l.removeEventListener(Ie.BOUNDS_CHANGED,v)})}},{key:"createCamera",value:function(e){var r=this.context.config,i=r.document,a=r.width,s=r.height,o=this.context.contextService.getDomElement(),l=o.parentNode;if(l){var c=WC,u=l.querySelector("#".concat(c));if(!u){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");u=f,f.id=c,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(e.getOrthoMatrix()),f.style.pointerEvents="none",f.style.width="100%",f.style.height="100%",h.appendChild(f),l.appendChild(h)}return u}return null}},{key:"getOrCreateEl",value:function(e){var r=this.context.config.document,i=this.displayObjectHTMLElementMap.get(e);return i||(i=(r||document).createElement("div"),e.parsedStyle.$el=i,this.displayObjectHTMLElementMap.set(e,i),e.id&&(i.id=e.id),e.name&&i.setAttribute("name",e.name),e.className&&(i.className=e.className),i.style.position="absolute",i.style["will-change"]="transform",i.style.transform=this.joinTransformMatrix(e.getWorldTransform(),e.getOrigin())),i}},{key:"updateAttribute",value:function(e,r){var i=this.getOrCreateEl(r);switch(e){case"innerHTML":var a=r.parsedStyle.innerHTML;We(a)?i.innerHTML=a:(i.innerHTML="",i.appendChild(a));break;case"x":i.style.left="".concat(r.parsedStyle.x,"px");break;case"y":i.style.top="".concat(r.parsedStyle.y,"px");break;case"transformOrigin":var s=r.parsedStyle.transformOrigin;i.style["transform-origin"]="".concat(s[0].buildCSSText(null,null,"")," ").concat(s[1].buildCSSText(null,null,""));break;case"width":var o=r.parsedStyle.width;i.style.width=ie(o)?"".concat(o,"px"):o.toString();break;case"height":var l=r.parsedStyle.height;i.style.height=ie(l)?"".concat(l,"px"):l.toString();break;case"zIndex":var c=r.parsedStyle.zIndex;i.style["z-index"]="".concat(c);break;case"visibility":var u=r.parsedStyle.visibility;i.style.visibility=u;break;case"pointerEvents":var h=r.parsedStyle.pointerEvents,f=h===void 0?"auto":h;i.style.pointerEvents=f;break;case"opacity":var d=r.parsedStyle.opacity;i.style.opacity="".concat(d);break;case"fill":var v=r.parsedStyle.fill,g="";pc(v)?v.isNone?g="transparent":g=r.getAttribute("fill"):Array.isArray(v)?g=r.getAttribute("fill"):ys(v),i.style.background=g;break;case"stroke":var p=r.parsedStyle.stroke,y="";pc(p)?p.isNone?y="transparent":y=r.getAttribute("stroke"):Array.isArray(p)?y=r.getAttribute("stroke"):ys(p),i.style["border-color"]=y,i.style["border-style"]="solid";break;case"lineWidth":var b=r.parsedStyle.lineWidth;i.style["border-width"]="".concat(b||0,"px");break;case"lineDash":i.style["border-style"]="dashed";break;case"filter":var M=r.style.filter;i.style.filter=M;break;default:!ye(r.style[e])&&r.style[e]!==""&&(i.style[e]=r.style[e])}}}])}();r1.tag="HTMLRendering";var XC=function(n){function t(){var e;(0,C.Z)(this,t);for(var r=arguments.length,i=new Array(r),a=0;a<r;a++)i[a]=arguments[a];return e=(0,R.Z)(this,t,[].concat(i)),e.name="html-renderer",e}return(0,T.Z)(t,n),(0,S.Z)(t,[{key:"init",value:function(){this.addRenderingPlugin(new r1)}},{key:"destroy",value:function(){this.removeAllRenderingPlugins()}}])}(Ra);var VC=function(){function n(t){(0,C.Z)(this,n),this.renderingContext=t.renderingContext,this.canvasConfig=t.config}return(0,S.Z)(n,[{key:"init",value:function(){var e=this.canvasConfig,r=e.container,i=e.canvas;if(i)this.$canvas=i,r&&i.parentElement!==r&&r.appendChild(i),this.$container=i.parentElement,this.canvasConfig.container=this.$container;else if(r&&(this.$container=We(r)?document.getElementById(r):r,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(e,r){var i=this.canvasConfig.devicePixelRatio;this.dpr=i,this.$canvas&&(this.$canvas.width=this.dpr*e,this.$canvas.height=this.dpr*r,WA(this.$canvas,e,r)),this.renderingContext.renderReasons.add(lo.CAMERA_CHANGED)}},{key:"applyCursorStyle",value:function(e){this.$container&&this.$container.style&&(this.$container.style.cursor=e)}},{key:"toDataURL",value:function(){var t=(0,Da.Z)((0,Sr.Z)().mark(function r(){var i,a,s,o=arguments;return(0,Sr.Z)().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:return i=o.length>0&&o[0]!==void 0?o[0]:{},a=i.type,s=i.encoderOptions,l.abrupt("return",this.context.canvas.toDataURL(a,s));case 1:case"end":return l.stop()}},r,this)}));function e(){return t.apply(this,arguments)}return e}()}])}(),YC=function(n){function t(){var e;(0,C.Z)(this,t);for(var r=arguments.length,i=new Array(r),a=0;a<r;a++)i[a]=arguments[a];return e=(0,R.Z)(this,t,[].concat(i)),e.name="canvas-context-register",e}return(0,T.Z)(t,n),(0,S.Z)(t,[{key:"init",value:function(){this.context.ContextService=VC}},{key:"destroy",value:function(){delete this.context.ContextService}}])}(Ra),wl=function(n){function t(e){var r;return(0,C.Z)(this,t),r=(0,R.Z)(this,t,[e]),r.registerPlugin(new YC),r.registerPlugin(new BC),r.registerPlugin(new dC),r.registerPlugin(new HC),r.registerPlugin(new GC),r.registerPlugin(new LC),r.registerPlugin(new XC),r}return(0,T.Z)(t,n),(0,S.Z)(t)}(B2);function UC(n,t){if(n){var e;if(Gr(n))for(var r=0,i=n.length;r<i&&(e=t(n[r],r),e!==!1);r++);else if(Fn(n)){for(var a in n)if(n.hasOwnProperty(a)&&(e=t(n[a],a),e===!1))break}}}var i1=UC,KC=Object.prototype.hasOwnProperty,zs=function(n,t){if(n===null||!fo(n))return{};var e={};return i1(t,function(r){KC.call(n,r)&&(e[r]=n[r])}),e},QC=function(n,t){var e={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&t.indexOf(r)<0&&(e[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(n);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(n,r[i])&&(e[r[i]]=n[r[i]]);return e};class Tu extends Fi{constructor(t){super(Object.assign(Object.assign({},t),{style:Object.assign({},Tu.defaultStyleProps,t.style)})),this.rootPointerEvent=new wc(null),this.forwardEvents=e=>{const r=this.context.canvas,i=r.context.renderingContext.root.ownerDocument.defaultView;this.normalizeToPointerEvent(e,i).forEach(s=>{const o=this.bootstrapEvent(this.rootPointerEvent,s,i,e);yl(r.context.eventService,"mappingTable.pointerupoutside",[]),r.context.eventService.mapEvent(o)})}}get eventService(){return this.context.canvas.context.eventService}get events(){return[jt.CLICK,jt.POINTER_DOWN,jt.POINTER_MOVE,jt.POINTER_UP,jt.POINTER_OVER,jt.POINTER_LEAVE]}getDomElement(){return this.getShape("key").getDomElement()}render(t=this.parsedAttributes,e=this){this.drawKeyShape(t,e),this.drawPortShapes(t,e)}getKeyStyle(t){const e=zs(t,["dx","dy","innerHTML","pointerEvents","cursor"]),{dx:r=0,dy:i=0}=e,a=QC(e,["dx","dy"]),[s,o]=this.getSize(t);return Object.assign(Object.assign({x:r,y:i},a),{width:s,height:o})}drawKeyShape(t,e){const r=this.getKeyStyle(t),{x:i,y:a,width:s=0,height:o=0}=r,l=this.upsert("key-container",gr,{x:i,y:a,width:s,height:o,opacity:0},e);return this.upsert("key",il,r,l)}connectedCallback(){if(!(this.context.canvas.getRenderer("main")instanceof wl))return;const r=this.getDomElement();this.events.forEach(i=>{r.addEventListener(i,this.forwardEvents)})}attributeChangedCallback(t,e,r){t==="zIndex"&&e!==r&&(this.getDomElement().style.zIndex=r)}destroy(){const t=this.getDomElement();this.events.forEach(e=>{t.removeEventListener(e,this.forwardEvents)}),super.destroy()}normalizeToPointerEvent(t,e){const r=[];if(e.isTouchEvent(t))for(let i=0;i<t.changedTouches.length;i++){const a=t.changedTouches[i];Te(a.button)&&(a.button=0),Te(a.buttons)&&(a.buttons=1),Te(a.isPrimary)&&(a.isPrimary=t.touches.length===1&&t.type==="touchstart"),Te(a.width)&&(a.width=a.radiusX||1),Te(a.height)&&(a.height=a.radiusY||1),Te(a.tiltX)&&(a.tiltX=0),Te(a.tiltY)&&(a.tiltY=0),Te(a.pointerType)&&(a.pointerType="touch"),Te(a.pointerId)&&(a.pointerId=a.identifier||0),Te(a.pressure)&&(a.pressure=a.force||.5),Te(a.twist)&&(a.twist=0),Te(a.tangentialPressure)&&(a.tangentialPressure=0),a.isNormalized=!0,a.type=t.type,r.push(a)}else if(e.isMouseEvent(t)){const i=t;Te(i.isPrimary)&&(i.isPrimary=!0),Te(i.width)&&(i.width=1),Te(i.height)&&(i.height=1),Te(i.tiltX)&&(i.tiltX=0),Te(i.tiltY)&&(i.tiltY=0),Te(i.pointerType)&&(i.pointerType="mouse"),Te(i.pointerId)&&(i.pointerId=1),Te(i.pressure)&&(i.pressure=.5),Te(i.twist)&&(i.twist=0),Te(i.tangentialPressure)&&(i.tangentialPressure=0),i.isNormalized=!0,r.push(i)}else r.push(t);return r}transferMouseData(t,e){t.isTrusted=e.isTrusted,t.srcElement=e.srcElement,t.timeStamp=performance.now(),t.type=e.type,t.altKey=e.altKey,t.metaKey=e.metaKey,t.shiftKey=e.shiftKey,t.ctrlKey=e.ctrlKey,t.button=e.button,t.buttons=e.buttons,t.client.x=e.clientX,t.client.y=e.clientY,t.movement.x=e.movementX,t.movement.y=e.movementY,t.page.x=e.pageX,t.page.y=e.pageY,t.screen.x=e.screenX,t.screen.y=e.screenY,t.relatedTarget=null}bootstrapEvent(t,e,r,i){t.view=r,t.originalEvent=null,t.nativeEvent=i,t.pointerId=e.pointerId,t.width=e.width,t.height=e.height,t.isPrimary=e.isPrimary,t.pointerType=e.pointerType,t.pressure=e.pressure,t.tangentialPressure=e.tangentialPressure,t.tiltX=e.tiltX,t.tiltY=e.tiltY,t.twist=e.twist,this.transferMouseData(t,e);const{x:a,y:s}=this.getViewportXY(e);t.viewport.x=a,t.viewport.y=s;const[o,l]=this.context.canvas.getCanvasByViewport([a,s]);return t.canvas.x=o,t.canvas.y=l,t.global.copyFrom(t.canvas),t.offset.copyFrom(t.canvas),t.isTrusted=i.isTrusted,t.type==="pointerleave"&&(t.type="pointerout"),t}getViewportXY(t){let e,r;const{offsetX:i,offsetY:a,clientX:s,clientY:o}=t;if(!ye(i)&&!ye(a))e=i,r=a;else{const l=this.eventService.client2Viewport({x:s,y:o});e=l.x,r=l.y}return{x:e,y:r}}onframe(){super.onframe();const{opacity:t}=this.attributes;this.getDomElement().style.opacity=`${t}`}}Tu.defaultStyleProps={size:[160,80],halo:!1,icon:!1,label:!1,pointerEvents:"auto"};var a1=function(n,t){var e={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&t.indexOf(r)<0&&(e[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(n);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(n,r[i])&&(e[r[i]]=n[r[i]]);return e};class Cu extends Fi{constructor(t){super(ur({style:Cu.defaultStyleProps},t))}getKeyStyle(t){const[e,r]=this.getSize(t),i=super.getKeyStyle(t),{fillOpacity:a,opacity:s=a}=i,o=a1(i,["fillOpacity","opacity"]);return Object.assign(Object.assign({opacity:s},o),{width:e,height:r,x:-e/2,y:-r/2})}getBounds(){return this.getShape("key").getBounds()}getHaloStyle(t){if(t.halo===!1)return!1;const e=this.getShape("key").attributes,{fill:r,stroke:i}=e,a=a1(e,["fill","stroke"]),s=Jn(this.getGraphicStyle(t),"halo"),o=Number(s.lineWidth),[l,c]=Ne(this.getSize(t),[o,o]),{lineWidth:u}=s,h={fill:"transparent",lineWidth:u/2,width:l-u/2,height:c-u/2,x:-(l-u/2)/2,y:-(c-u/2)/2};return Object.assign(Object.assign({},s),h)}getIconStyle(t){const e=super.getIconStyle(t),[r,i]=this.getSize(t);return e?Object.assign({width:r*ba,height:i*ba},e):!1}drawKeyShape(t,e){const r=this.upsert("key",qd,this.getKeyStyle(t),e);return tv(this),r}drawHaloShape(t,e){this.upsert("halo",gr,this.getHaloStyle(t),e)}update(t){super.update(t),t&&("x"in t||"y"in t||"z"in t)&&ev(this)}}Cu.defaultStyleProps={size:32};class JC extends Fi{constructor(t){super(t)}getKeyStyle(t){const[e,r]=this.getSize(t);return Object.assign(Object.assign({},super.getKeyStyle(t)),{width:e,height:r,x:-e/2,y:-r/2})}getIconStyle(t){const e=super.getIconStyle(t),{width:r,height:i}=this.getShape("key").attributes;return e?Object.assign({width:r*ba,height:i*ba},e):!1}drawKeyShape(t,e){return this.upsert("key",gr,this.getKeyStyle(t),e)}}class qC extends mu{constructor(t){super(t)}getInnerR(t){return t.innerR||this.getOuterR(t)*3/8}getOuterR(t){return Math.min(...this.getSize(t))/2}getPoints(t){return ZN(this.getOuterR(t),this.getInnerR(t))}getIconStyle(t){const e=super.getIconStyle(t),r=this.getInnerR(t)*2*ba;return e?Object.assign({width:r,height:r},e):!1}getPortXY(t,e){const{placement:r="top"}=e,i=this.getShape("key").getLocalBounds(),a=_N(this.getOuterR(t),this.getInnerR(t));return gv(i,r,a,!1)}}class Nu extends mu{constructor(t){super(ur({style:Nu.defaultStyleProps},t))}getPoints(t){const{direction:e}=t,[r,i]=this.getSize(t);return HN(r,i,e)}getPortXY(t,e){const{direction:r}=t,{placement:i="top"}=e,a=this.getShape("key").getLocalBounds(),[s,o]=this.getSize(t),l=GN(s,o,r);return gv(a,i,l,!1)}getIconStyle(t){const{icon:e,iconText:r,iconSrc:i,direction:a}=t;if(e===!1||ra(r||i))return!1;const s=Jn(this.getGraphicStyle(t),"icon"),o=this.getShape("key").getLocalBounds(),[l,c]=TO(o,a),u=CO(o,a)*2*ba;return Object.assign({x:l,y:c,width:u,height:u},s)}}Nu.defaultStyleProps={size:40,direction:"up"};var s1=function(n,t){var e={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&t.indexOf(r)<0&&(e[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(n);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(n,r[i])&&(e[r[i]]=n[r[i]]);return e};class mo extends Fi{constructor(t){super(ur({style:mo.defaultStyleProps},t)),this.type="combo",this.updateComboPosition(this.parsedAttributes)}getKeySize(t){const{collapsed:e,childrenNode:r=[]}=t;return r.length===0?this.getEmptyKeySize(t):e?this.getCollapsedKeySize(t):this.getExpandedKeySize(t)}getEmptyKeySize(t){const{padding:e,collapsedSize:r}=t,[i,a,s,o]=Di(e);return Ne(ii(r),[o+a,i+s,0])}getCollapsedKeySize(t){return ii(t.collapsedSize)}getExpandedKeySize(t){const e=this.getContentBBox(t);return[ta(e),ea(e),0]}getContentBBox(t){const{childrenNode:e=[],padding:r}=t,i=e.map(s=>this.context.element.getElement(s)).filter(Boolean);if(i.length===0){const s=new pn,{x:o=0,y:l=0,size:c}=t,[u,h]=ii(c);return s.setMinMax([o-u/2,l-h/2,0],[o+u/2,l+h/2,0]),s}const a=hl(i.map(s=>s.getBounds()));return r?Fa(a,r):a}drawCollapsedMarkerShape(t,e){const r=this.getCollapsedMarkerStyle(t);this.upsert("collapsed-marker",Xy,r,e),tv(this)}getCollapsedMarkerStyle(t){if(!t.collapsed||!t.collapsedMarker)return!1;const e=Jn(this.getGraphicStyle(t),"collapsedMarker"),{type:r}=e,i=s1(e,["type"]),a=this.getShape("key"),[s,o]=ya(a.getLocalBounds(),"center"),l=Object.assign(Object.assign({},i),{x:s,y:o});if(r){const c=this.getCollapsedMarkerText(r,t);Object.assign(l,{text:c})}return l}getCollapsedMarkerText(t,e){const{childrenData:r=[]}=e,{model:i}=this.context;return t==="descendant-count"?i.getDescendantsData(this.id).length.toString():t==="child-count"?r.length.toString():t==="node-count"?i.getDescendantsData(this.id).filter(a=>i.getElementType(Pt(a))==="node").length.toString():de(t)?t(r):""}getComboPosition(t){const{x:e=0,y:r=0,collapsed:i,childrenData:a=[]}=t;if(a.length===0)return[+e,+r,0];if(i){const{model:s}=this.context,o=s.getDescendantsData(this.id).filter(l=>!s.isCombo(Pt(l)));if(o.length>0&&o.some(xT)){const l=o.reduce((c,u)=>Ne(c,ir(u)),[0,0,0]);return zi(l,o.length)}return[+e,+r,0]}return this.getContentBBox(t).center}getComboStyle(t){const[e,r]=this.getComboPosition(t);return{x:e,y:r,transform:[["translate",e,r]]}}updateComboPosition(t){const e=this.getComboStyle(t);Object.assign(this.style,e);const{x:r,y:i}=e;this.context.model.syncNodeLikeDatum({id:this.id,style:{x:r,y:i}}),ev(this)}render(t,e=this){super.render(t,e),this.drawCollapsedMarkerShape(t,e)}update(t={}){super.update(t),this.updateComboPosition(this.parsedAttributes)}onframe(){super.onframe(),this.attributes.collapsed||this.updateComboPosition(this.parsedAttributes),this.drawKeyShape(this.parsedAttributes,this)}animate(t,e){const r=super.animate(this.attributes.collapsed?t:t.map(i=>{var{x:a,y:s,z:o,transform:l}=i,c=s1(i,["x","y","z","transform"]);return c}),e);return r&&new Proxy(r,{set:(i,a,s)=>(a==="currentTime"&&Promise.resolve().then(()=>this.onframe()),Reflect.set(i,a,s))})}}mo.defaultStyleProps={childrenNode:[],droppable:!0,draggable:!0,collapsed:!1,collapsedSize:32,collapsedMarker:!0,collapsedMarkerZIndex:1,collapsedMarkerFontSize:12,collapsedMarkerTextAlign:"center",collapsedMarkerTextBaseline:"middle",collapsedMarkerType:"child-count"};class $C extends mo{constructor(t){super(t)}drawKeyShape(t,e){return this.upsert("key",fa,this.getKeyStyle(t),e)}getKeyStyle(t){const{collapsed:e}=t,r=super.getKeyStyle(t),[i]=this.getKeySize(t);return Object.assign(Object.assign(Object.assign({},r),e&&Jn(r,"collapsed")),{r:i/2})}getCollapsedKeySize(t){const[e,r]=ii(t.collapsedSize),i=Math.max(e,r)/2;return[i*2,i*2,0]}getExpandedKeySize(t){const e=this.getContentBBox(t),[r,i]=za(e),a=Math.sqrt(Math.pow(r,2)+Math.pow(i,2))/2;return[a*2,a*2,0]}getIntersectPoint(t,e=!1){const r=this.getShape("key").getBounds();return fu(t,r,e)}}class tN extends mo{constructor(t){super(t)}drawKeyShape(t,e){return this.upsert("key",gr,this.getKeyStyle(t),e)}getKeyStyle(t){const e=super.getKeyStyle(t),[r,i]=this.getKeySize(t);return Object.assign(Object.assign(Object.assign({},e),t.collapsed&&Jn(e,"collapsed")),{width:r,height:i,x:-r/2,y:-i/2})}}var eN=function(n,t){if(!ll(n))return n;for(var e=[],r=0;r<n.length;r++){var i=n[r];t(i,r)&&e.push(i)}return e},nN=eN,rN=function(n,t){return ll(n)?n.indexOf(t)>-1:!1},iN=rN,aN=function(n,t){return t===void 0&&(t=[]),nN(n,function(e){return!iN(t,e)})},sN=aN;const oN={padding:10};function o1(n,t,e,r,i,a){const{padding:s}=Object.assign(oN,a),o=ja(e,s),l=ja(r,s),c=[n,...i,t];let u=null;const h=[];for(let f=0,d=c.length;f<d-1;f++){const v=f+1,g=c[f],p=c[v],y=wT(g,p);let b=null;if(f===0)if(v===d-1)if(o.intersects(l))b=uv(g,p,o,l);else if(!Kc(g,o)&&!Kc(p,l)){const M=Cs(g,o),O=Cs(p,l);b=c1(M,O,zr(M,O)),b.points.unshift(M),b.points.push(O)}else y||(b=cN(g,p,o,l));else Ri(p,o)?b=uv(g,p,o,ja(p,s),u):y||(b=ku(g,p,o));else v===d-1?Ri(g,l)?b=uv(g,p,ja(g,s),l,u):y||(b=u1(g,p,l,u)):y||(b=c1(g,p,u));b?(h.push(...b.points),u=b.direction):u=zr(g,p),v<d-1&&h.push(p)}return h.map(Ls)}const lN={N:"S",S:"N",W:"E",E:"W"},l1={N:-Math.PI/2,S:Math.PI/2,E:0,W:Math.PI};function zr(n,t){const[e,r]=n,[i,a]=t;return e===i?r>a?"N":"S":r===a?e>i?"W":"E":null}function cv(n,t){return t==="N"||t==="S"?ea(n):ta(n)}function c1(n,t,e){const r=[n[0],t[1]],i=[t[0],n[1]],a=zr(n,r),s=zr(n,i),o=e?lN[e]:null,l=a===e||a!==o&&s!==e?r:i;return{points:[l],direction:zr(l,t)}}function ku(n,t,e){if(Kc(n,e)){const r=Ml(n,t,e);return{points:[r],direction:zr(r,t)}}else{const r=Cs(n,e),a=["left","right"].includes(fl(n,e))?[t[0],r[1]]:[r[0],t[1]];return{points:[a],direction:zr(a,t)}}}function u1(n,t,e,r){const i=Kc(t,e)?t:Cs(t,e),a=[[i[0],n[1]],[n[0],i[1]]],s=a.filter(l=>OO(l,e)&&!Dm(l,e,!0)),o=s.filter(l=>zr(l,n)!==r);if(o.length>0){const l=o.find(c=>zr(n,c)===r)||o[0];return{points:[l],direction:zr(l,t)}}else{const l=sN(a,s)[0],c=Ha(t,l,cv(e,r)/2);return{points:[Ml(c,n,e),c],direction:zr(c,t)}}}function cN(n,t,e,r){let i=ku(n,t,e);const a=gl(i.points[0]);if(Ri(a,r)){i=ku(t,n,r);const s=gl(i.points[0]);if(Ri(s,e)){const o=Ha(n,a,cv(e,zr(n,a))/2),l=Ha(t,s,cv(r,zr(t,s))/2),c=[(o[0]+l[0])/2,(o[1]+l[1])/2],u=ku(n,c,e),h=u1(c,t,r,u.direction);i.points=[u.points[0],h.points[0]],i.direction=h.direction}}return i}function uv(n,t,e,r,i){const s=hl([e,r]),o=bn(t,s.center)>bn(n,s.center),[l,c]=o?[t,n]:[n,t],u=ea(s)+ta(s);let h;if(i){const v=[l[0]+u*Math.cos(l1[i]),l[1]+u*Math.sin(l1[i])];h=Ha(Cs(v,s),v,.01)}else h=Ha(Cs(l,s),l,-.01);let f=Ml(h,c,s),d=[pl(h,2),pl(f,2)];if(Hn(pl(h),pl(f))){const v=Wd(on(h,l),[1,0,0])+Math.PI/2;f=[c[0]+u*Math.cos(v),c[1]+u*Math.sin(v),0],f=pl(Ha(Cs(f,s),c,-.01),2);const g=Ml(h,f,s);d=[h,g,f]}return{points:o?d.reverse():d,direction:zr(o?h:f,t)}}function Ml(n,t,e){let r=[n[0],t[1]];return Ri(r,e)&&(r=[t[0],n[1]]),r}function h1(n,t,e,r,i){let l=typeof t=="number"?t:.5;t==="start"&&(l=0),t==="end"&&(l=.99);const c=mr(n.getPoint(l)),u=mr(n.getPoint(l+.01));let h=t==="start"?"left":t==="end"?"right":"center";if(Sy(c,u)||!e){const[y,b]=f1(n,l,r,i);return{transform:[["translate",y,b]],textAlign:h}}let f=Math.atan2(u[1]-c[1],u[0]-c[0]);u[0]<c[0]&&(h=h==="center"?h:h==="left"?"right":"left",r*=-1,f+=Math.PI);const[v,g]=f1(n,l,r,i,f),p=[["translate",v,g],["rotate",f/Math.PI*180]];return{textAlign:h,transform:p}}function uN(n,t,e,r,i){var a,s;const o=((a=n.badge)===null||a===void 0?void 0:a.getGeometryBounds().halfExtents[0])*2||0,l=((s=n.label)===null||s===void 0?void 0:s.getGeometryBounds().halfExtents[0])*2||0;return h1(n.key,e,!0,(l?(l/2+o/2)*(t==="suffix"?1:-1):0)+r,i)}function f1(n,t,e,r,i){const[a,s]=mr(n.getPoint(t));let o=e,l=r;return i&&(o=e*Math.cos(i)-r*Math.sin(i),l=e*Math.sin(i)+r*Math.cos(i)),[a+o,s+l]}function hv(n,t,e,r){if(Hn(n,t))return n;const i=on(t,n),a=[n[0]+e*i[0],n[1]+e*i[1]],s=ma(hu(i,!1));return a[0]+=r*s[0],a[1]+=r*s[1],a}function hN(n){return ie(n)?[n,-n]:n}function fN(n){return ie(n)?[n,1-n]:n}function dN(n,t,e){return[["M",n[0],n[1]],["Q",e[0],e[1],t[0],t[1]]]}function d1(n,t,e){return[["M",n[0],n[1]],["C",e[0][0],e[0][1],e[1][0],e[1][1],t[0],t[1]]]}function fv(n,t=0,e=!1){const r=n.length-1,i=n[0],a=n[r],s=n.slice(1,r),o=[["M",i[0],i[1]]];return s.forEach((l,c)=>{const u=s[c-1]||i,h=s[c+1]||a;if(!Oy(u,l,h)&&t){const[f,d]=vN(u,l,h,t);o.push(["L",f[0],f[1]],["Q",l[0],l[1],d[0],d[1]],["L",d[0],d[1]])}else o.push(["L",l[0],l[1]])}),o.push(["L",a[0],a[1]]),e&&o.push(["Z"]),o}function vN(n,t,e,r){const i=uu(n,t),a=uu(e,t),s=Math.min(r,Math.min(i,a)/2),o=[t[0]-s/i*(t[0]-n[0]),t[1]-s/i*(t[1]-n[1])],l=[t[0]-s/a*(t[0]-e[0]),t[1]-s/a*(t[1]-e[1])];return[o,l]}const gN=n=>{const t=Math.PI/2,e=ea(n)/2,r=ta(n)/2,i=Math.atan2(e,r)/2,a=Math.atan2(r,e)/2;return{top:[-t-a,-t+a],"top-right":[-t+a,-i],"right-top":[-t+a,-i],right:[-i,i],"bottom-right":[i,t-a],"right-bottom":[i,t-a],bottom:[t-a,t+a],"bottom-left":[t+a,Math.PI-i],"left-bottom":[t+a,Math.PI-i],left:[Math.PI-i,Math.PI+i],"top-left":[Math.PI+i,-t-a],"left-top":[Math.PI+i,-t-a]}};function v1(n,t,e,r,i){const a=ja(n),s=n.getCenter();let o=r&&Va(r),l=i&&Va(i);if(!o||!l){const c=gN(a),u=c[t][0],h=c[t][1],[f,d]=za(a),v=Math.max(f,d),g=Ne(s,[v*Math.cos(u),v*Math.sin(u),0]),p=Ne(s,[v*Math.cos(h),v*Math.sin(h),0]);o=mv(n,g),l=mv(n,p),e||([o,l]=[l,o])}return[o,l]}function pN(n,t,e,r,i,a){const s=n.getPorts()[i||a],o=n.getPorts()[a||i];let[l,c]=v1(n,t,e,s,o);const u=mN(n,l,c,r);return s&&(l=Pl(s,u[0])),o&&(c=Pl(o,u.at(-1))),d1(l,c,u)}function mN(n,t,e,r){const i=n.getCenter();if(Hn(t,e)){const a=on(t,i),s=[r*Math.sign(a[0])||r/2,r*Math.sign(a[1])||-r/2,0];return[Ne(t,s),Ne(e,Bi(s,[1,-1,1]))]}return[Ha(i,t,bn(i,t)+r),Ha(i,e,bn(i,e)+r)]}function yN(n,t,e,r,i,a,s){const o=pv(n),l=o[a||s],c=o[s||a];let[u,h]=v1(n,e,r,l,c);const f=bN(n,u,h,i);return l&&(u=Pl(l,f[0])),c&&(h=Pl(c,f.at(-1))),fv([u,...f,h],t)}function bN(n,t,e,r){const i=[],a=ja(n);if(Hn(t,e))switch(fl(t,a)){case"left":i.push([t[0]-r,t[1]]),i.push([t[0]-r,t[1]+r]),i.push([t[0],t[1]+r]);break;case"right":i.push([t[0]+r,t[1]]),i.push([t[0]+r,t[1]+r]),i.push([t[0],t[1]+r]);break;case"top":i.push([t[0],t[1]-r]),i.push([t[0]+r,t[1]-r]),i.push([t[0]+r,t[1]]);break;case"bottom":i.push([t[0],t[1]+r]),i.push([t[0]+r,t[1]+r]),i.push([t[0]+r,t[1]]);break}else{const s=fl(t,a),o=fl(e,a);if(s===o){const l=s;let c,u;switch(l){case"left":c=Math.min(t[0],e[0])-r,i.push([c,t[1]]),i.push([c,e[1]]);break;case"right":c=Math.max(t[0],e[0])+r,i.push([c,t[1]]),i.push([c,e[1]]);break;case"top":u=Math.min(t[1],e[1])-r,i.push([t[0],u]),i.push([e[0],u]);break;case"bottom":u=Math.max(t[1],e[1])+r,i.push([t[0],u]),i.push([e[0],u]);break}}else{const l=(f,d)=>({left:[d[0]-r,d[1]],right:[d[0]+r,d[1]],top:[d[0],d[1]-r],bottom:[d[0],d[1]+r]})[f],c=l(s,t),u=l(o,e),h=Ml(c,u,a);i.push(c,h,u)}}return i}function dv(n,t){const e=new Set,r=new Set,i=new Set;return n.forEach(a=>{t(a).forEach(o=>{e.add(o),n.includes(o.source)&&n.includes(o.target)?r.add(o):i.add(o)})}),{edges:Array.from(e),internal:Array.from(r),external:Array.from(i)}}function g1(n,t){const e=[];let r=n;for(;r;){e.push(r);const i=t(Pt(r));if(i)r=i;else break}if(e.some(i=>{var a;return(a=i.style)===null||a===void 0?void 0:a.collapsed})){const i=e.reverse().findIndex(Qr);return e[i]||e.at(-1)}return n}function xN(n,t){return t||(n<4?10:n===4?12:n*2.5)}const EN=(n,t)=>{const e=Math.max(n,t)/2;return[["M",-n/2,0],["A",e,e,0,1,0,2*e-n/2,0],["A",e,e,0,1,0,-n/2,0],["Z"]]},p1=(n,t)=>[["M",-n/2,0],["L",n/2,-t/2],["L",n/2,t/2],["Z"]],wN=(n,t)=>[["M",-n/2,0],["L",0,-t/2],["L",n/2,0],["L",0,t/2],["Z"]],MN=(n,t)=>[["M",-n/2,0],["L",n/2,-t/2],["L",4*n/5-n/2,0],["L",n/2,t/2],["Z"]],AN=(n,t)=>[["M",-n/2,-t/2],["L",n/2,-t/2],["L",n/2,t/2],["L",-n/2,t/2],["Z"]],PN=(n,t)=>{const e=n/2,r=n/7,i=n-r;return[["M",-e,0],["L",0,-t/2],["L",0,t/2],["Z"],["M",i-e,-t/2],["L",i+r-e,-t/2],["L",i+r-e,t/2],["L",i-e,t/2],["Z"]]},SN=(n,t)=>[["M",n/2,-t/2],["L",-n/2,0],["L",n/2,0],["L",-n/2,0],["L",n/2,t/2]];var Lu=function(n,t){var e={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&t.indexOf(r)<0&&(e[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(n);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(n,r[i])&&(e[r[i]]=n[r[i]]);return e};class Xa extends Vy{constructor(t){super(ur({style:Xa.defaultStyleProps},t)),this.type="edge"}get sourceNode(){const{sourceNode:t}=this.parsedAttributes;return this.context.element.getElement(t)}get targetNode(){const{targetNode:t}=this.parsedAttributes;return this.context.element.getElement(t)}getKeyStyle(t){const e=this.getGraphicStyle(t),{loop:r}=e,i=Lu(e,["loop"]),{sourceNode:a,targetNode:s}=this,l={d:r&&BN(a,s)?this.getLoopPath(t):this.getKeyPath(t)};return ti.PARSED_STYLE_LIST.forEach(c=>{c in i&&(l[c]=i[c])}),l}getLoopPath(t){const{sourcePort:e,targetPort:r}=t,i=this.sourceNode,a=ja(i),s=Math.max(ta(a),ea(a)),{placement:o,clockwise:l,dist:c=s}=Jn(this.getGraphicStyle(t),"loop");return pN(i,o,l,c,e,r)}getEndpoints(t,e=!0,r=[]){const{sourcePort:i,targetPort:a}=t,{sourceNode:s,targetNode:o}=this,[l,c]=jN(s,o,i,a);if(!e){const d=l?Va(l):s.getCenter(),v=c?Va(c):o.getCenter();return[d,v]}const u=typeof r=="function"?r():r,h=A1(l||s,u[0]||c||o),f=A1(c||o,u[u.length-1]||l||s);return[h,f]}getHaloStyle(t){if(t.halo===!1)return!1;const e=this.getKeyStyle(t),r=Jn(this.getGraphicStyle(t),"halo");return Object.assign(Object.assign({},e),r)}getLabelStyle(t){if(t.label===!1||!t.labelText)return!1;const e=Jn(this.getGraphicStyle(t),"label"),{placement:r,offsetX:i,offsetY:a,autoRotate:s,maxWidth:o}=e,l=Lu(e,["placement","offsetX","offsetY","autoRotate","maxWidth"]),c=h1(this.shapeMap.key,r,s,i,a),u=this.shapeMap.key.getLocalBounds(),h=BT([u.min,u.max],o);return Object.assign({wordWrapWidth:h},c,l)}getBadgeStyle(t){if(t.badge===!1||!t.badgeText)return!1;const e=Jn(t,"badge"),{offsetX:r,offsetY:i,placement:a}=e,s=Lu(e,["offsetX","offsetY","placement"]);return Object.assign(s,uN(this.shapeMap,a,t.labelPlacement,r,i))}drawArrow(t,e){var r;const i=e==="start",s=t[e==="start"?"startArrow":"endArrow"],o=this.shapeMap.key;if(s){const l=this.getArrowStyle(t,i),[c,u,h]=i?["markerStart","markerStartOffset","startArrowOffset"]:["markerEnd","markerEndOffset","endArrowOffset"],f=o.parsedStyle[c];if(f)f.attr(l);else{const d=l.src?al:ti,v=new d({style:l});o.style[c]=v}o.style[u]=t[h]||l.width/2+ +l.lineWidth}else{const l=i?"markerStart":"markerEnd";(r=o.style[l])===null||r===void 0||r.destroy(),o.style[l]=null}}getArrowStyle(t,e){const r=this.getShape("key").attributes,i=e?"startArrow":"endArrow",a=Jn(this.getGraphicStyle(t),i),{size:s,type:o}=a,l=Lu(a,["size","type"]),[c,u]=ii(xN(r.lineWidth,s)),f=(de(o)?o:_[o]||p1)(c,u);return Object.assign(zs(r,["stroke","strokeOpacity","fillOpacity"]),{width:c,height:u},Object.assign({},f&&{d:f,fill:o==="simple"?"":r.stroke}),l)}drawLabelShape(t,e){const r=this.getLabelStyle(t);this.upsert("label",Ga,r,e)}drawHaloShape(t,e){const r=this.getHaloStyle(t);this.upsert("halo",ti,r,e)}drawBadgeShape(t,e){const r=this.getBadgeStyle(t);this.upsert("badge",go,r,e)}drawSourceArrow(t){this.drawArrow(t,"start")}drawTargetArrow(t){this.drawArrow(t,"end")}drawKeyShape(t,e){const r=this.getKeyStyle(t);return this.upsert("key",ti,r,e)}render(t=this.parsedAttributes,e=this){this.drawKeyShape(t,e),this.getShape("key")&&(this.drawSourceArrow(t),this.drawTargetArrow(t),this.drawLabelShape(t,e),this.drawHaloShape(t,e),this.drawBadgeShape(t,e))}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(t,e){const r=super.animate(t,e);return r&&new Proxy(r,{set:(i,a,s)=>(a==="currentTime"&&Promise.resolve().then(()=>this.onframe()),Reflect.set(i,a,s))})}}Xa.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 js extends Xa{constructor(t){super(ur({style:js.defaultStyleProps},t))}getKeyPath(t){const[e,r]=this.getEndpoints(t),{controlPoints:i,curvePosition:a,curveOffset:s}=t,o=this.getControlPoints(e,r,fN(a),hN(s),i);return d1(e,r,o)}getControlPoints(t,e,r,i,a){return(a==null?void 0:a.length)===2?a:[hv(t,e,r[0],i[0]),hv(t,e,r[1],i[1])]}}js.defaultStyleProps={curvePosition:.5,curveOffset:20};class Du extends js{constructor(t){super(ur({style:Du.defaultStyleProps},t))}getControlPoints(t,e,r,i){const a=e[0]-t[0];return[[t[0]+a*r[0]+i[0],t[1]],[e[0]-a*r[1]+i[1],e[1]]]}}Du.defaultStyleProps={curvePosition:[.5,.5],curveOffset:[0,0]};class Ru extends js{constructor(t){super(ur({style:Ru.defaultStyleProps},t))}get ref(){return this.context.model.getRootsData()[0]}getEndpoints(t){if(this.sourceNode.id===this.ref.id)return super.getEndpoints(t);const e=ir(this.ref),r=this.sourceNode.getIntersectPoint(e,!0),i=this.targetNode.getIntersectPoint(e);return[r,i]}toRadialCoordinate(t){const e=ir(this.ref),r=bn(t,e),i=wy(on(t,e));return[r,i]}getControlPoints(t,e,r,i){const[a,s]=this.toRadialCoordinate(t),[o]=this.toRadialCoordinate(e),l=o-a;return[[t[0]+(l*r[0]+i[0])*Math.cos(s),t[1]+(l*r[0]+i[0])*Math.sin(s)],[e[0]-(l*r[1]-i[0])*Math.cos(s),e[1]-(l*r[1]-i[0])*Math.sin(s)]]}}Ru.defaultStyleProps={curvePosition:.5,curveOffset:20};class Iu extends js{constructor(t){super(ur({style:Iu.defaultStyleProps},t))}getControlPoints(t,e,r,i){const a=e[1]-t[1];return[[t[0],t[1]+a*r[0]+i[0]],[e[0],e[1]-a*r[1]+i[1]]]}}Iu.defaultStyleProps={curvePosition:[.5,.5],curveOffset:[0,0]};class Bu extends Xa{constructor(t){super(ur({style:Bu.defaultStyleProps},t))}getKeyPath(t){const[e,r]=this.getEndpoints(t);return[["M",e[0],e[1]],["L",r[0],r[1]]]}}Bu.defaultStyleProps={};const ON={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:uu},xa=n=>`${Math.round(n[0])}|||${Math.round(n[1])}`;function Fs(n,t){const e=r=>Math.round(r/t);return ie(n)?e(n):n.map(e)}function TN(n,t){const e=Math.abs(n-t);return e>Math.PI?2*Math.PI-e:e}function m1(n,t){const e=t[0]-n[0],r=t[1]-n[1];return!e&&!r?0:Math.atan2(r,e)}function y1(n,t,e,r){const i=m1(n,t),a=e[xa(n)],o=m1(a||r,n);return TN(o,i)}const CN=(n,t)=>{const{offset:e,gridSize:r}=t,i={};return n.forEach(a=>{if(!a||a.destroyed||!a.isVisible())return;const s=Fa(a.getRenderBounds(),e);for(let o=Fs(s.min[0],r);o<=Fs(s.max[0],r);o+=1)for(let l=Fs(s.min[1],r);l<=Fs(s.max[1],r);l+=1)i[`${o}|||${l}`]=!0}),i};function b1(n,t,e){return Math.min(...t.map(r=>e(n,r)))}function NN(n,t,e){let r=n[0],i=e(n[0],t);for(let a=0;a<n.length;a++){const s=n[a],o=e(s,t);o<i&&(r=s,i=o)}return r}const x1=(n,t,e,r)=>{if(!t)return[n];const{directionMap:i,offset:a}=r,s=Fa(t.getRenderBounds(),a),o=Object.keys(i).reduce((l,c)=>{if(e.includes(c)){const u=i[c],[h,f]=za(s),d=[n[0]+u.stepX*h,n[1]+u.stepY*f],v=NO(s);for(let g=0;g<v.length;g++){const p=Vd([n,d],v[g]);p&&Dm(p,s)&&l.push(p)}}return l},[]);return Ri(n,s)||o.push(n),o.map(l=>Fs(l,r.gridSize))},kN=(n,t,e,r,i,a,s)=>{const o=[];let l=[a[0]===r[0]?r[0]:n[0]*s,a[1]===r[1]?r[1]:n[1]*s];o.unshift(l);let c=n,u=t[xa(c)];for(;u;){const d=u,v=c;y1(d,v,t,e)&&(l=[d[0]===v[0]?l[0]:d[0]*s,d[1]===v[1]?l[1]:d[1]*s],o.unshift(l)),u=t[xa(d)],c=d}const h=i.map(d=>[d[0]*s,d[1]*s]),f=NN(h,l,uu);return o.unshift(f),o};function LN(n,t,e,r){const i=Ls(n.getCenter()),a=Ls(t.getCenter()),s=Object.assign(ON,r),{gridSize:o}=s,l=s.enableObstacleAvoidance?e:[n,t],c=CN(l,s),u=Fs(i,o),h=Fs(a,o),f=x1(i,n,s.startDirections,s),d=x1(a,t,s.endDirections,s);f.forEach(B=>delete c[xa(B)]),d.forEach(B=>delete c[xa(B)]);const v={},g={},p={},y={},b={},M=new DN;for(let B=0;B<f.length;B++){const W=f[B],V=xa(W);v[V]=W,y[V]=0,b[V]=b1(W,d,s.distFunc),M.add({id:V,value:b[V]})}const O=d.map(B=>xa(B));let k=s.maximumLoops,D,j=1/0;for(const[B,W]of Object.entries(v))b[B]<=j&&(j=b[B],D=W);for(;Object.keys(v).length>0&&k>0;){const B=M.minId(!1);if(B)D=v[B];else break;const W=xa(D);if(O.includes(W))return kN(D,p,u,a,f,h,o);delete v[W],M.remove(W),g[W]=!0;for(const V of Object.values(s.directionMap)){const q=Ne(D,[V.stepX,V.stepY]),$=xa(q);if(g[$])continue;const ot=y1(D,q,p,u);if(ot>s.maxAllowedDirectionChange||c[$])continue;v[$]||(v[$]=q);const ct=s.penalties[ot],vt=s.distFunc(D,q)+(isNaN(ct)?o:ct),Ct=y[W]+vt,Ot=y[$];Ot&&Ct>=Ot||(p[$]=D,y[$]=Ct,b[$]=Ct+b1(q,d,s.distFunc),M.add({id:$,value:b[$]}))}k-=1}return[]}class DN{constructor(){this.arr=[],this.map={},this.arr=[],this.map={}}_innerAdd(t,e){let r=0,i=e-1;for(;i-r>1;){const a=Math.floor((r+i)/2);if(this.arr[a].value>t.value)i=a;else if(this.arr[a].value<t.value)r=a;else{this.arr.splice(a,0,t),this.map[t.id]=!0;return}}this.arr.splice(i,0,t),this.map[t.id]=!0}add(t){delete this.map[t.id];const e=this.arr.length;if(!e||this.arr[e-1].value<t.value){this.arr.push(t),this.map[t.id]=!0;return}this._innerAdd(t,e)}remove(t){this.map[t]&&delete this.map[t]}_clearAndGetMinId(){let t;for(let e=this.arr.length-1;e>=0;e--)this.map[this.arr[e].id]?t=this.arr[e].id:this.arr.splice(e,1);return t}_findFirstId(){for(;this.arr.length;){const t=this.arr.shift();if(this.map[t.id])return t.id}}minId(t){return t?this._clearAndGetMinId():this._findFirstId()}}class zu extends Xa{constructor(t){super(ur({style:zu.defaultStyleProps},t))}getControlPoints(t){const{router:e}=t,{sourceNode:r,targetNode:i}=this,[a,s]=this.getEndpoints(t,!1);let o=[];if(!e)o=t.controlPoints;else if(e.type==="shortest-path"){const l=this.context.element.getNodes();o=LN(r,i,l,e),o.length||(o=o1(a,s,r,i,t.controlPoints,{padding:e.offset}))}else e.type==="orth"&&(o=o1(a,s,r,i,t.controlPoints,e));return o}getPoints(t){const e=this.getControlPoints(t),[r,i]=this.getEndpoints(t,!0,e);return[r,...e,i]}getKeyPath(t){const e=this.getPoints(t);return fv(e,t.radius)}getLoopPath(t){const{sourcePort:e,targetPort:r,radius:i}=t,a=this.sourceNode,s=ja(a),o=Math.max(ta(s),ea(s))/4,{placement:l,clockwise:c,dist:u=o}=Jn(this.getGraphicStyle(t),"loop");return yN(a,i,l,c,u,e,r)}}zu.defaultStyleProps={radius:0,controlPoints:[],router:!1};class ju extends Xa{constructor(t){super(ur({style:ju.defaultStyleProps},t))}getKeyPath(t){const{curvePosition:e,curveOffset:r}=t,[i,a]=this.getEndpoints(t),s=t.controlPoint||hv(i,a,e,r);return dN(i,a,s)}}ju.defaultStyleProps={curvePosition:.5,curveOffset:30};var RN=function(n,t){var e={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&t.indexOf(r)<0&&(e[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(n);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(n,r[i])&&(e[r[i]]=n[r[i]]);return e};function Al(n){return n instanceof Fi&&n.type==="node"}function E1(n){return n instanceof Xa}function vv(n){return n instanceof mo}function IN(n){return Al(n)||E1(n)||vv(n)}function BN(n,t){return!n||!t?!1:n===t}const zN={top:[.5,0],right:[1,.5],bottom:[.5,1],left:[0,.5],"left-top":[0,0],"top-left":[0,0],"left-bottom":[0,1],"bottom-left":[0,1],"right-top":[1,0],"top-right":[1,0],"right-bottom":[1,1],"bottom-right":[1,1],default:[.5,.5]};function gv(n,t,e=zN,r=!0){const i=[.5,.5],a=We(t)?Br(e,t.toLocaleLowerCase(),i):t;if(!r&&We(t))return a;const[s,o]=a||i;return[n.min[0]+ta(n)*s,n.min[1]+ea(n)*o]}function pv(n){if(!n)return{};const t=n.getPorts();return(n.attributes.ports||[]).forEach((r,i)=>{var a;const{key:s,placement:o}=r;w1(r)&&(t[a=s||i]||(t[a]=ya(n.getShape("key").getBounds(),o)))}),t}function w1(n){const{r:t}=n;return!t||Number(t)===0}function Va(n){return ho(n)?n:n.getPosition()}function jN(n,t,e,r){const i=M1(n,t,e,r),a=M1(t,n,r,e);return[i,a]}function M1(n,t,e,r){const i=pv(n);if(e)return i[e];const a=Object.values(i);if(a.length===0)return;const s=a.map(c=>Va(c)),o=FN(t,r),[l]=PT(s,o);return a.find(c=>Va(c)===l)}function FN(n,t){const e=pv(n);if(t)return[Va(e[t])];const r=Object.values(e);return r.length>0?r.map(i=>Va(i)):[n.getCenter()]}function A1(n,t){return vv(n)||Al(n)?mv(n,t):Pl(n,t)}function Pl(n,t){if(!n||!t)return[0,0,0];if(ho(n))return n;if(n.attributes.linkToCenter)return n.getPosition();const e=ho(t)?t:Al(t)?t.getCenter():t.getPosition();return fu(e,n.getBounds())}function mv(n,t){if(!n||!t)return[0,0,0];const e=ho(t)?t:Al(t)?t.getCenter():t.getPosition();return n.getIntersectPoint(e)||n.getCenter()}function P1(n,t="bottom",e=0,r=0,i=!1){const a=t.split("-"),[s,o]=ya(n,t),[l,c]=i?["bottom","top"]:["top","bottom"],u=a.includes("top")?c:a.includes("bottom")?l:"middle",h=a.includes("left")?"right":a.includes("right")?"left":"center";return{transform:[["translate",s+e,o+r]],textBaseline:u,textAlign:h}}function ZN(n,t){return[[0,-n],[t*Math.cos(3*Math.PI/10),-t*Math.sin(3*Math.PI/10)],[n*Math.cos(Math.PI/10),-n*Math.sin(Math.PI/10)],[t*Math.cos(Math.PI/10),t*Math.sin(Math.PI/10)],[n*Math.cos(3*Math.PI/10),n*Math.sin(3*Math.PI/10)],[0,t],[-n*Math.cos(3*Math.PI/10),n*Math.sin(3*Math.PI/10)],[-t*Math.cos(Math.PI/10),t*Math.sin(Math.PI/10)],[-n*Math.cos(Math.PI/10),-n*Math.sin(Math.PI/10)],[-t*Math.cos(3*Math.PI/10),-t*Math.sin(3*Math.PI/10)]]}function _N(n,t){const e={};return e.top=[0,-n],e.left=[-n*Math.cos(Math.PI/10),-n*Math.sin(Math.PI/10)],e["left-bottom"]=[-n*Math.cos(3*Math.PI/10),n*Math.sin(3*Math.PI/10)],e.bottom=[0,t],e["right-bottom"]=[n*Math.cos(3*Math.PI/10),n*Math.sin(3*Math.PI/10)],e.right=e.default=[n*Math.cos(Math.PI/10),-n*Math.sin(Math.PI/10)],e}function HN(n,t,e){const r=t/2,i=n/2,a={up:[[-i,r],[i,r],[0,-r]],left:[[-i,0],[i,r],[i,-r]],right:[[-i,r],[-i,-r],[i,0]],down:[[-i,-r],[i,-r],[0,r]]};return a[e]||a.up}function GN(n,t,e){const r=t/2,i=n/2,a={};return e==="down"?(a.bottom=a.default=[0,r],a.right=[i,-r],a.left=[-i,-r]):e==="left"?(a.top=[i,-r],a.bottom=[i,r],a.left=a.default=[-i,0]):e==="right"?(a.top=[-i,-r],a.bottom=[-i,r],a.right=a.default=[i,0]):(a.left=[-i,r],a.top=a.default=[0,-r],a.right=[i,r]),a}function nF(n,t){return[[n/2,-t/2],[n/2,t/2],[-n/2,t/2],[-n/2,-t/2]]}function WN(n,t){return[[0,-t/2],[n/2,0],[0,t/2],[-n/2,0]]}function S1(n){return Br(n,["style","visibility"])!=="hidden"}function XN(n,t){const{zIndex:e,transform:r,transformOrigin:i,visibility:a,cursor:s,clipPath:o,component:l}=t,c=RN(t,["zIndex","transform","transformOrigin","visibility","cursor","clipPath","component"]);Object.assign(n.attributes,c),r&&n.setAttribute("transform",r),ie(e)&&n.setAttribute("zIndex",e),i&&n.setAttribute("transformOrigin",i),a&&n.setAttribute("visibility",a),s&&n.setAttribute("cursor",s),o&&n.setAttribute("clipPath",o),l&&n.setAttribute("component",l)}function yv(n,t){"update"in n?n.update(t):n.attr(t)}function VN(n){return[[0,n],[n*Math.sqrt(3)/2,n/2],[n*Math.sqrt(3)/2,-n/2],[0,-n],[-n*Math.sqrt(3)/2,-n/2],[-n*Math.sqrt(3)/2,n/2]]}function YN(n){yl(n,"__to_be_destroyed__",!0)}function Sl(n){return Br(n,"__to_be_destroyed__",!1)}var UN=function(n,t,e,r){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(u){try{c(r.next(u))}catch(h){s(h)}}function l(u){try{c(r.throw(u))}catch(h){s(h)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((r=r.apply(n,t||[])).next())})};class Fu extends ri{constructor(t,e){super(t,Object.assign({},Fu.defaultOptions,e)),this.onCollapseExpand=r=>UN(this,void 0,void 0,function*(){if(!this.validate(r))return;const{target:i}=r;if(!IN(i))return;const a=i.id,{model:s,graph:o}=this.context,l=s.getElementDataById(a);if(!l)return!1;const{onCollapse:c,onExpand:u,animation:h,align:f}=this.options;Qr(l)?(yield o.expandElement(a,{animation:h,align:f}),u==null||u(a)):(yield o.collapseElement(a,{animation:h,align:f}),c==null||c(a))}),this.bindEvents()}update(t){this.unbindEvents(),super.update(t),this.bindEvents()}bindEvents(){const{graph:t}=this.context,{trigger:e}=this.options;t.on(`node:${e}`,this.onCollapseExpand),t.on(`combo:${e}`,this.onCollapseExpand)}unbindEvents(){const{graph:t}=this.context,{trigger:e}=this.options;t.off(`node:${e}`,this.onCollapseExpand),t.off(`combo:${e}`,this.onCollapseExpand)}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return de(e)?e(t):!!e}destroy(){this.unbindEvents(),super.destroy()}}Fu.defaultOptions={enable:!0,animation:!0,trigger:jt.DBLCLICK,align:!0};var Zu={},KN=function(n){return n=n||"g",Zu[n]?Zu[n]+=1:Zu[n]=1,n+Zu[n]},_u=function(n,t,e,r){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(u){try{c(r.next(u))}catch(h){s(h)}}function l(u){try{c(r.throw(u))}catch(h){s(h)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((r=r.apply(n,t||[])).next())})};const QN="g6-create-edge-assist-edge-id",Hu="g6-create-edge-assist-node-id";class Gu extends ri{constructor(t,e){super(t,Object.assign({},Gu.defaultOptions,e)),this.drop=r=>_u(this,void 0,void 0,function*(){const{targetType:i}=r;["combo","node"].includes(i)&&this.source?yield this.handleCreateEdge(r):yield this.cancelEdge()}),this.handleCreateEdge=r=>_u(this,void 0,void 0,function*(){var i,a,s;if(!this.validate(r))return;const{graph:o,canvas:l,batch:c,element:u}=this.context,{style:h}=this.options;if(this.source){this.createEdge(r),yield this.cancelEdge();return}c.startBatch(),l.setCursor("crosshair"),this.source=this.getSelectedNodeIDs([r.target.id])[0];const f=o.getElementData(this.source);o.addNodeData([{id:Hu,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:QN,source:this.source,target:Hu,style:Object.assign({pointerEvents:"none"},h)}]),yield(s=u.draw({animation:!1}))===null||s===void 0?void 0:s.finished}),this.updateAssistEdge=r=>_u(this,void 0,void 0,function*(){var i;if(!this.source)return;const{model:a,element:s}=this.context;a.translateNodeTo(Hu,[r.canvas.x,r.canvas.y]),yield(i=s.draw({animation:!1,silence:!0}))===null||i===void 0?void 0:i.finished}),this.createEdge=r=>{var i,a;const{graph:s}=this.context,{style:o,onFinish:l,onCreate:c}=this.options;if(((i=r.target)===null||i===void 0?void 0:i.id)===void 0||this.source===void 0)return;const h=(a=this.getSelectedNodeIDs([r.target.id]))===null||a===void 0?void 0:a[0],f=`${this.source}-${h}-${KN()}`,d=c({id:f,source:this.source,target:h,style:o});d&&(s.addEdgeData([d]),l(d))},this.cancelEdge=()=>_u(this,void 0,void 0,function*(){var r;if(!this.source)return;const{graph:i,element:a,batch:s}=this.context;i.removeNodeData([Hu]),this.source=void 0,yield(r=a.draw({animation:!1}))===null||r===void 0?void 0:r.finished,s.endBatch()}),this.bindEvents()}update(t){super.update(t),this.bindEvents()}bindEvents(){const{graph:t}=this.context,{trigger:e}=this.options;this.unbindEvents(),e==="click"?(t.on(bi.CLICK,this.handleCreateEdge),t.on(Ts.CLICK,this.handleCreateEdge),t.on(va.CLICK,this.cancelEdge),t.on(Yc.CLICK,this.cancelEdge)):(t.on(bi.DRAG_START,this.handleCreateEdge),t.on(Ts.DRAG_START,this.handleCreateEdge),t.on(jt.POINTER_UP,this.drop)),t.on(jt.POINTER_MOVE,this.updateAssistEdge)}getSelectedNodeIDs(t){return Array.from(new Set(this.context.graph.getElementDataByState("node",this.options.state).map(e=>e.id).concat(t)))}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return de(e)?e(t):!!e}unbindEvents(){const{graph:t}=this.context;t.off(bi.CLICK,this.handleCreateEdge),t.off(Ts.CLICK,this.handleCreateEdge),t.off(va.CLICK,this.cancelEdge),t.off(Yc.CLICK,this.cancelEdge),t.off(bi.DRAG_START,this.handleCreateEdge),t.off(Ts.DRAG_START,this.handleCreateEdge),t.off(jt.POINTER_UP,this.drop),t.off(jt.POINTER_MOVE,this.updateAssistEdge)}destroy(){this.unbindEvents(),super.destroy()}}Gu.defaultOptions={animation:!0,enable:!0,style:{},trigger:"drag",onCreate:n=>n,onFinish:()=>{}};function JN(n,t,e){var r;return function(){var i=this,a=arguments,s=function(){r=null,e||n.apply(i,a)},o=e&&!r;clearTimeout(r),r=setTimeout(s,t),o&&n.apply(i,a)}}var Ol=JN,O1=function(n,t,e,r){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(u){try{c(r.next(u))}catch(h){s(h)}}function l(u){try{c(r.throw(u))}catch(h){s(h)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((r=r.apply(n,t||[])).next())})};class Wu extends ri{constructor(t,e){super(t,Object.assign({},Wu.defaultOptions,e)),this.isDragging=!1,this.onDragStart=r=>{this.validate(r)&&(this.isDragging=!0,this.context.canvas.setCursor("grabbing"))},this.onDrag=r=>{var i,a,s,o;if(!this.isDragging||Gn.isPinching)return;const l=(a=(i=r.movement)===null||i===void 0?void 0:i.x)!==null&&a!==void 0?a:r.dx,c=(o=(s=r.movement)===null||s===void 0?void 0:s.y)!==null&&o!==void 0?o:r.dy;l|c&&this.translate([l,c],!1)},this.onDragEnd=()=>{var r,i;this.isDragging=!1,this.context.canvas.setCursor(this.defaultCursor),(i=(r=this.options).onFinish)===null||i===void 0||i.call(r)},this.invokeOnFinish=Ol(()=>{var r,i;(i=(r=this.options).onFinish)===null||i===void 0||i.call(r)},300),this.shortcut=new vo(t.graph),this.bindEvents(),this.defaultCursor=this.context.canvas.getConfig().cursor||"default"}update(t){this.unbindEvents(),super.update(t),this.bindEvents()}bindEvents(){const{trigger:t}=this.options;if(Fn(t)){const{up:e=[],down:r=[],left:i=[],right:a=[]}=t;this.shortcut.bind(e,s=>this.onTranslate([0,1],s)),this.shortcut.bind(r,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:e}=this.context;e.on(jt.DRAG_START,this.onDragStart),e.on(jt.DRAG,this.onDrag),e.on(jt.DRAG_END,this.onDragEnd)}}onTranslate(t,e){return O1(this,void 0,void 0,function*(){if(!this.validate(e))return;const{sensitivity:r}=this.options,i=r*-1;yield this.translate(Bi(t,i),this.options.animation),this.invokeOnFinish()})}translate(t,e){return O1(this,void 0,void 0,function*(){t=this.clampByDirection(t),t=this.clampByRange(t),t=this.clampByRotation(t),yield this.context.graph.translateBy(t,e)})}clampByRotation([t,e]){const r=this.context.graph.getRotation();if(r%360===0)return[t,e];const i=r*Math.PI/180,a=Math.cos(i),s=Math.sin(i);return[t*a-e*s,t*s+e*a]}clampByDirection([t,e]){const{direction:r}=this.options;return r==="x"?e=0:r==="y"&&(t=0),[t,e]}clampByRange([t,e]){const{viewport:r,canvas:i}=this.context,[a,s]=i.getSize(),[o,l,c,u]=Di(this.options.range),h=[s*o,a*l,s*c,a*u],f=Fa(Nd(r.getCanvasCenter()),h),d=on(r.getViewportCenter(),[t,e,0]);if(!Ri(d,f)){const{min:[v,g],max:[p,y]}=f;(d[0]<v&&t>0||d[0]>p&&t<0)&&(t=0),(d[1]<g&&e>0||d[1]>y&&e<0)&&(e=0)}return[t,e]}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return typeof e=="function"?e(t):!!e}unbindEvents(){this.shortcut.unbindAll();const{graph:t}=this.context;t.off(jt.DRAG_START,this.onDragStart),t.off(jt.DRAG,this.onDrag),t.off(jt.DRAG_END,this.onDragEnd)}destroy(){this.shortcut.destroy(),this.unbindEvents(),this.context.canvas.setCursor(this.defaultCursor),super.destroy()}}Wu.defaultOptions={enable:n=>"targetType"in n?n.targetType==="canvas":!0,sensitivity:10,direction:"both",range:1/0};var T1=function(n,t,e,r){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(u){try{c(r.next(u))}catch(h){s(h)}}function l(u){try{c(r.throw(u))}catch(h){s(h)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((r=r.apply(n,t||[])).next())})};class Tl extends ri{constructor(t,e){super(t,Object.assign({},Tl.defaultOptions,e)),this.enable=!1,this.enableElements=["node","combo"],this.target=[],this.shadowOrigin=[0,0],this.hiddenEdges=[],this.isDragging=!1,this.onDrop=r=>T1(this,void 0,void 0,function*(){var i;if(this.options.dropEffect!=="link")return;const{model:a,element:s}=this.context,o=r.target.id;this.target.forEach(l=>{const c=a.getParentData(l,hn);c&&Pt(c)===o&&a.refreshComboData(o),a.setParent(l,o,hn)}),yield(i=s==null?void 0:s.draw({animation:!0}))===null||i===void 0?void 0:i.finished}),this.setCursor=r=>{if(this.isDragging)return;const{type:i}=r,{canvas:a}=this.context,{cursor:s}=this.options;i===jt.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(t){this.unbindEvents(),super.update(t),this.bindEvents()}bindEvents(){const{graph:t,canvas:e}=this.context,r=e.getLayer().getContextService().$canvas;r&&(r.addEventListener("blur",this.onDragEnd),r.addEventListener("contextmenu",this.onDragEnd)),this.enableElements.forEach(i=>{t.on(`${i}:${jt.DRAG_START}`,this.onDragStart),t.on(`${i}:${jt.DRAG}`,this.onDrag),t.on(`${i}:${jt.DRAG_END}`,this.onDragEnd),t.on(`${i}:${jt.POINTER_ENTER}`,this.setCursor),t.on(`${i}:${jt.POINTER_LEAVE}`,this.setCursor)}),["link"].includes(this.options.dropEffect)&&(t.on(Ts.DROP,this.onDrop),t.on(va.DROP,this.onDrop))}getSelectedNodeIDs(t){return Array.from(new Set(this.context.graph.getElementDataByState("node",this.options.state).map(e=>e.id).concat(t)))}getDelta(t){const e=this.context.graph.getZoom();return zi([t.dx,t.dy],e)}onDragStart(t){var e;if(this.enable=this.validate(t),!this.enable)return;const{batch:r,canvas:i,graph:a}=this.context;i.setCursor(((e=this.options.cursor)===null||e===void 0?void 0:e.grabbing)||"grabbing"),this.isDragging=!0,r.startBatch();const s=t.target.id;a.getElementState(s).includes(this.options.state)?this.target=this.getSelectedNodeIDs([s]):this.target=[s],this.hideEdge(),this.context.graph.frontElement(this.target),this.options.shadow&&this.createShadow(this.target)}onDrag(t){if(!this.enable)return;const e=this.getDelta(t);this.options.shadow?this.moveShadow(e):this.moveElement(this.target,e)}onDragEnd(){var t,e,r;if(!this.enable)return;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,c]=on([+s,+o],this.shadowOrigin);this.moveElement(this.target,[l,c])}this.showEdges(),(e=(t=this.options).onFinish)===null||e===void 0||e.call(t,this.target);const{batch:i,canvas:a}=this.context;i.endBatch(),a.setCursor(((r=this.options.cursor)===null||r===void 0?void 0:r.grab)||"grab"),this.isDragging=!1,this.target=[]}validate(t){if(this.destroyed||Sl(t.target)||this.context.graph.isCollapsingExpanding)return!1;const{enable:e}=this.options;return de(e)?e(t):!!e}moveElement(t,e){return T1(this,void 0,void 0,function*(){const{graph:r,model:i}=this.context,{dropEffect:a}=this.options;a==="move"&&t.forEach(s=>i.refreshComboData(s)),r.translateElementBy(Object.fromEntries(t.map(s=>[s,e])),!1)})}moveShadow(t){if(!this.shadow)return;const{x:e=0,y:r=0}=this.shadow.attributes,[i,a]=t;this.shadow.attr({x:+e+i,y:+r+a})}createShadow(t){const e=Jn(this.options,"shadow"),r=hl(t.map(c=>this.context.element.getElement(c).getBounds())),[i,a]=r.min;this.shadowOrigin=[i,a];const[s,o]=za(r),l={width:s,height:o,x:i,y:a};this.shadow?this.shadow.attr(Object.assign(Object.assign(Object.assign({},e),l),{visibility:"visible"})):(this.shadow=new gr({style:Object.assign(Object.assign(Object.assign({$layer:"transient"},e),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:t,shadow:e}=this.options;if(t==="none"||e)return;const{graph:r}=this.context;t==="all"?this.hiddenEdges=r.getEdgeData().map(Pt):this.hiddenEdges=Array.from(new Set(this.target.map(i=>r.getRelatedEdgesData(i,t).map(Pt)).flat())),r.hideElement(this.hiddenEdges)}unbindEvents(){const{graph:t,canvas:e}=this.context,r=e.getLayer().getContextService().$canvas;r&&(r.removeEventListener("blur",this.onDragEnd),r.removeEventListener("contextmenu",this.onDragEnd)),this.enableElements.forEach(i=>{t.off(`${i}:${jt.DRAG_START}`,this.onDragStart),t.off(`${i}:${jt.DRAG}`,this.onDrag),t.off(`${i}:${jt.DRAG_END}`,this.onDragEnd),t.off(`${i}:${jt.POINTER_ENTER}`,this.setCursor),t.off(`${i}:${jt.POINTER_LEAVE}`,this.setCursor)}),t.off(`combo:${jt.DROP}`,this.onDrop),t.off(`canvas:${jt.DROP}`,this.onDrop)}destroy(){var t;this.unbindEvents(),(t=this.shadow)===null||t===void 0||t.destroy(),super.destroy()}}Tl.defaultOptions={animation:!0,enable:n=>["node","combo"].includes(n.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 qN="*",$N=function(){function n(){this._events={}}return n.prototype.on=function(t,e,r){return this._events[t]||(this._events[t]=[]),this._events[t].push({callback:e,once:!!r}),this},n.prototype.once=function(t,e){return this.on(t,e,!0)},n.prototype.emit=function(t){for(var e=this,r=[],i=1;i<arguments.length;i++)r[i-1]=arguments[i];var a=this._events[t]||[],s=this._events[qN]||[],o=function(l){for(var c=l.length,u=0;u<c;u++)if(l[u]){var h=l[u],f=h.callback,d=h.once;d&&(l.splice(u,1),l.length===0&&delete e._events[t],c--,u--),f.apply(e,r)}};o(a),o(s)},n.prototype.off=function(t,e){if(!t)this._events={};else if(!e)delete this._events[t];else{for(var r=this._events[t]||[],i=r.length,a=0;a<i;a++)r[a].callback===e&&(r.splice(a,1),i--,a--);r.length===0&&delete this._events[t]}return this},n.prototype.getEvents=function(){return this._events},n}(),Xu=$N;function bv(n,t,e,r){for(;n.length;){const i=n.shift();if(e(i))return!0;t.add(i.id),r(i.id).forEach(s=>{t.has(s.id)||(t.add(s.id),n.push(s))})}return!1}function Vu(n,t,e,r){if(e(n))return!0;t.add(n.id);for(const a of r(n.id))if(!t.has(a.id)&&Vu(a,t,e,r))return!0;return!1}const C1=()=>!0;class tk{constructor(t){Tn(this,"graph");Tn(this,"nodeFilter");Tn(this,"edgeFilter");Tn(this,"cacheEnabled");Tn(this,"inEdgesMap",new Map);Tn(this,"outEdgesMap",new Map);Tn(this,"bothEdgesMap",new Map);Tn(this,"allNodesMap",new Map);Tn(this,"allEdgesMap",new Map);Tn(this,"clearCache",()=>{this.inEdgesMap.clear(),this.outEdgesMap.clear(),this.bothEdgesMap.clear(),this.allNodesMap.clear(),this.allEdgesMap.clear()});Tn(this,"refreshCache",()=>{this.clearCache(),this.updateCache(this.graph.getAllNodes().map(t=>t.id))});Tn(this,"updateCache",t=>{const e=new Set;t.forEach(r=>{const i=this.bothEdgesMap.get(r);if(i&&i.forEach(a=>e.add(a.id)),!this.hasNode(r))this.inEdgesMap.delete(r),this.outEdgesMap.delete(r),this.bothEdgesMap.delete(r),this.allNodesMap.delete(r);else{const a=this.graph.getRelatedEdges(r,"in").filter(this.edgeFilter),s=this.graph.getRelatedEdges(r,"out").filter(this.edgeFilter),o=Array.from(new Set([...a,...s]));o.forEach(l=>e.add(l.id)),this.inEdgesMap.set(r,a),this.outEdgesMap.set(r,s),this.bothEdgesMap.set(r,o),this.allNodesMap.set(r,this.graph.getNode(r))}}),e.forEach(r=>{this.hasEdge(r)?this.allEdgesMap.set(r,this.graph.getEdge(r)):this.allEdgesMap.delete(r)})});Tn(this,"handleGraphChanged",t=>{const e=new Set;t.changes.forEach(r=>{switch(r.type){case"NodeAdded":e.add(r.value.id);break;case"NodeDataUpdated":e.add(r.id);break;case"EdgeAdded":e.add(r.value.source),e.add(r.value.target);break;case"EdgeUpdated":(r.propertyName==="source"||r.propertyName==="target")&&(e.add(r.oldValue),e.add(r.newValue));break;case"EdgeDataUpdated":if(t.graph.hasEdge(r.id)){const i=t.graph.getEdge(r.id);e.add(i.source),e.add(i.target)}break;case"EdgeRemoved":e.add(r.value.source),e.add(r.value.target);break;case"NodeRemoved":e.add(r.value.id);break;default:break}}),this.updateCache(e)});this.graph=t.graph;const e=t.nodeFilter||C1,r=t.edgeFilter||C1;this.nodeFilter=e,this.edgeFilter=i=>{const{source:a,target:s}=this.graph.getEdgeDetail(i.id);return!e(a)||!e(s)?!1:r(i,a,s)},t.cache==="auto"?(this.cacheEnabled=!0,this.startAutoCache()):t.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(t){this.getNode(t)}hasNode(t){if(!this.graph.hasNode(t))return!1;const e=this.graph.getNode(t);return this.nodeFilter(e)}areNeighbors(t,e){return this.checkNodeExistence(t),this.getNeighbors(e).some(r=>r.id===t)}getNode(t){const e=this.graph.getNode(t);if(!this.nodeFilter(e))throw new Error("Node not found for id: "+t);return e}getRelatedEdges(t,e){return this.checkNodeExistence(t),this.cacheEnabled?e==="in"?this.inEdgesMap.get(t):e==="out"?this.outEdgesMap.get(t):this.bothEdgesMap.get(t):this.graph.getRelatedEdges(t,e).filter(this.edgeFilter)}getDegree(t,e){return this.getRelatedEdges(t,e).length}getSuccessors(t){const r=this.getRelatedEdges(t,"out").map(i=>this.getNode(i.target));return Array.from(new Set(r))}getPredecessors(t){const r=this.getRelatedEdges(t,"in").map(i=>this.getNode(i.source));return Array.from(new Set(r))}getNeighbors(t){const e=this.getPredecessors(t),r=this.getSuccessors(t);return Array.from(new Set([...e,...r]))}hasEdge(t){if(!this.graph.hasEdge(t))return!1;const e=this.graph.getEdge(t);return this.edgeFilter(e)}getEdge(t){const e=this.graph.getEdge(t);if(!this.edgeFilter(e))throw new Error("Edge not found for id: "+t);return e}getEdgeDetail(t){const e=this.getEdge(t);return{edge:e,source:this.getNode(e.source),target:this.getNode(e.target)}}hasTreeStructure(t){return this.graph.hasTreeStructure(t)}getRoots(t){return this.graph.getRoots(t).filter(this.nodeFilter)}getChildren(t,e){return this.checkNodeExistence(t),this.graph.getChildren(t,e).filter(this.nodeFilter)}getParent(t,e){this.checkNodeExistence(t);const r=this.graph.getParent(t,e);return!r||!this.nodeFilter(r)?null:r}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(t,e,r="out"){const i={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[r];bv([this.getNode(t)],new Set,e,i)}dfs(t,e,r="out"){const i={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[r];Vu(this.getNode(t),new Set,e,i)}}class Xn extends Xu{constructor(e){super();Tn(this,"nodeMap",new Map);Tn(this,"edgeMap",new Map);Tn(this,"inEdgesMap",new Map);Tn(this,"outEdgesMap",new Map);Tn(this,"bothEdgesMap",new Map);Tn(this,"treeIndices",new Map);Tn(this,"changes",[]);Tn(this,"batchCount",0);Tn(this,"onChanged",()=>{});Tn(this,"batch",e=>{this.batchCount+=1,e(),this.batchCount-=1,this.batchCount||this.commit()});e&&(e.nodes&&this.addNodes(e.nodes),e.edges&&this.addEdges(e.edges),e.tree&&this.addTree(e.tree),e.onChanged&&(this.onChanged=e.onChanged))}commit(){const e=this.changes;this.changes=[];const r={graph:this,changes:e};this.emit("changed",r),this.onChanged(r)}reduceChanges(e){let r=[];return e.forEach(i=>{switch(i.type){case"NodeRemoved":{let a=!1;r=r.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||r.push(i);break}case"EdgeRemoved":{let a=!1;r=r.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||r.push(i);break}case"NodeDataUpdated":case"EdgeDataUpdated":case"EdgeUpdated":{const a=r.findIndex(o=>o.type===i.type&&o.id===i.id&&(i.propertyName===void 0||o.propertyName===i.propertyName)),s=r[a];s?i.propertyName!==void 0?s.newValue=i.newValue:(r.splice(a,1),r.push(i)):r.push(i);break}case"TreeStructureDetached":{r=r.filter(a=>a.type==="TreeStructureAttached"||a.type==="TreeStructureChanged"?a.treeKey!==i.treeKey:!0),r.push(i);break}case"TreeStructureChanged":{const a=r.find(s=>s.type==="TreeStructureChanged"&&s.treeKey===i.treeKey&&s.nodeId===i.nodeId);a?a.newParentId=i.newParentId:r.push(i);break}default:r.push(i);break}}),r}checkNodeExistence(e){this.getNode(e)}hasNode(e){return this.nodeMap.has(e)}areNeighbors(e,r){return this.getNeighbors(r).some(i=>i.id===e)}getNode(e){const r=this.nodeMap.get(e);if(!r)throw new Error("Node not found for id: "+e);return r}getRelatedEdges(e,r){if(this.checkNodeExistence(e),r==="in"){const i=this.inEdgesMap.get(e);return Array.from(i)}else if(r==="out"){const i=this.outEdgesMap.get(e);return Array.from(i)}else{const i=this.bothEdgesMap.get(e);return Array.from(i)}}getDegree(e,r){return this.getRelatedEdges(e,r).length}getSuccessors(e){const i=this.getRelatedEdges(e,"out").map(a=>this.getNode(a.target));return Array.from(new Set(i))}getPredecessors(e){const i=this.getRelatedEdges(e,"in").map(a=>this.getNode(a.source));return Array.from(new Set(i))}getNeighbors(e){const r=this.getPredecessors(e),i=this.getSuccessors(e);return Array.from(new Set([...r,...i]))}doAddNode(e){if(this.hasNode(e.id))throw new Error("Node already exists: "+e.id);this.nodeMap.set(e.id,e),this.inEdgesMap.set(e.id,new Set),this.outEdgesMap.set(e.id,new Set),this.bothEdgesMap.set(e.id,new Set),this.treeIndices.forEach(r=>{r.childrenMap.set(e.id,new Set)}),this.changes.push({type:"NodeAdded",value:e})}addNodes(e){this.batch(()=>{for(const r of e)this.doAddNode(r)})}addNode(e){this.addNodes([e])}doRemoveNode(e){const r=this.getNode(e),i=this.bothEdgesMap.get(e);i==null||i.forEach(a=>this.doRemoveEdge(a.id)),this.nodeMap.delete(e),this.treeIndices.forEach(a=>{var o,l;(o=a.childrenMap.get(e))==null||o.forEach(c=>{a.parentMap.delete(c.id)});const s=a.parentMap.get(e);s&&((l=a.childrenMap.get(s.id))==null||l.delete(r)),a.parentMap.delete(e),a.childrenMap.delete(e)}),this.bothEdgesMap.delete(e),this.inEdgesMap.delete(e),this.outEdgesMap.delete(e),this.changes.push({type:"NodeRemoved",value:r})}removeNodes(e){this.batch(()=>{e.forEach(r=>this.doRemoveNode(r))})}removeNode(e){this.removeNodes([e])}updateNodeDataProperty(e,r,i){const a=this.getNode(e);this.batch(()=>{const s=a.data[r],o=i;a.data[r]=o,this.changes.push({type:"NodeDataUpdated",id:e,propertyName:r,oldValue:s,newValue:o})})}mergeNodeData(e,r){this.batch(()=>{Object.entries(r).forEach(([i,a])=>{this.updateNodeDataProperty(e,i,a)})})}updateNodeData(...e){const r=e[0],i=this.getNode(r);if(typeof e[1]=="string"){this.updateNodeDataProperty(r,e[1],e[2]);return}let a;if(typeof e[1]=="function"){const s=e[1];a=s(i.data)}else typeof e[1]=="object"&&(a=e[1]);this.batch(()=>{const s=i.data,o=a;i.data=a,this.changes.push({type:"NodeDataUpdated",id:r,oldValue:s,newValue:o})})}checkEdgeExistence(e){if(!this.hasEdge(e))throw new Error("Edge not found for id: "+e)}hasEdge(e){return this.edgeMap.has(e)}getEdge(e){return this.checkEdgeExistence(e),this.edgeMap.get(e)}getEdgeDetail(e){const r=this.getEdge(e);return{edge:r,source:this.getNode(r.source),target:this.getNode(r.target)}}doAddEdge(e){if(this.hasEdge(e.id))throw new Error("Edge already exists: "+e.id);this.checkNodeExistence(e.source),this.checkNodeExistence(e.target),this.edgeMap.set(e.id,e);const r=this.inEdgesMap.get(e.target),i=this.outEdgesMap.get(e.source),a=this.bothEdgesMap.get(e.source),s=this.bothEdgesMap.get(e.target);r.add(e),i.add(e),a.add(e),s.add(e),this.changes.push({type:"EdgeAdded",value:e})}addEdges(e){this.batch(()=>{for(const r of e)this.doAddEdge(r)})}addEdge(e){this.addEdges([e])}doRemoveEdge(e){const r=this.getEdge(e),i=this.outEdgesMap.get(r.source),a=this.inEdgesMap.get(r.target),s=this.bothEdgesMap.get(r.source),o=this.bothEdgesMap.get(r.target);i.delete(r),a.delete(r),s.delete(r),o.delete(r),this.edgeMap.delete(e),this.changes.push({type:"EdgeRemoved",value:r})}removeEdges(e){this.batch(()=>{e.forEach(r=>this.doRemoveEdge(r))})}removeEdge(e){this.removeEdges([e])}updateEdgeSource(e,r){const i=this.getEdge(e);this.checkNodeExistence(r);const a=i.source,s=r;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=r,this.batch(()=>{this.changes.push({type:"EdgeUpdated",id:e,propertyName:"source",oldValue:a,newValue:s})})}updateEdgeTarget(e,r){const i=this.getEdge(e);this.checkNodeExistence(r);const a=i.target,s=r;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=r,this.batch(()=>{this.changes.push({type:"EdgeUpdated",id:e,propertyName:"target",oldValue:a,newValue:s})})}updateEdgeDataProperty(e,r,i){const a=this.getEdge(e);this.batch(()=>{const s=a.data[r],o=i;a.data[r]=o,this.changes.push({type:"EdgeDataUpdated",id:e,propertyName:r,oldValue:s,newValue:o})})}updateEdgeData(...e){const r=e[0],i=this.getEdge(r);if(typeof e[1]=="string"){this.updateEdgeDataProperty(r,e[1],e[2]);return}let a;if(typeof e[1]=="function"){const s=e[1];a=s(i.data)}else typeof e[1]=="object"&&(a=e[1]);this.batch(()=>{const s=i.data,o=a;i.data=a,this.changes.push({type:"EdgeDataUpdated",id:r,oldValue:s,newValue:o})})}mergeEdgeData(e,r){this.batch(()=>{Object.entries(r).forEach(([i,a])=>{this.updateEdgeDataProperty(e,i,a)})})}checkTreeExistence(e){if(!this.hasTreeStructure(e))throw new Error("Tree structure not found for treeKey: "+e)}hasTreeStructure(e){return this.treeIndices.has(e)}attachTreeStructure(e){this.treeIndices.has(e)||(this.treeIndices.set(e,{parentMap:new Map,childrenMap:new Map}),this.batch(()=>{this.changes.push({type:"TreeStructureAttached",treeKey:e})}))}detachTreeStructure(e){this.checkTreeExistence(e),this.treeIndices.delete(e),this.batch(()=>{this.changes.push({type:"TreeStructureDetached",treeKey:e})})}addTree(e,r){this.batch(()=>{this.attachTreeStructure(r);const i=[],a=Array.isArray(e)?e:[e];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,r)})})})}getRoots(e){return this.checkTreeExistence(e),this.getAllNodes().filter(r=>!this.getParent(r.id,e))}getChildren(e,r){this.checkNodeExistence(e),this.checkTreeExistence(r);const a=this.treeIndices.get(r).childrenMap.get(e);return Array.from(a||[])}getParent(e,r){return this.checkNodeExistence(e),this.checkTreeExistence(r),this.treeIndices.get(r).parentMap.get(e)||null}getAncestors(e,r){const i=[];let a=this.getNode(e),s;for(;s=this.getParent(a.id,r);)i.push(s),a=s;return i}setParent(e,r,i){var u,h;this.checkTreeExistence(i);const a=this.treeIndices.get(i);if(!a)return;const s=this.getNode(e),o=a.parentMap.get(e);if((o==null?void 0:o.id)===r)return;if(r==null){o&&((u=a.childrenMap.get(o.id))==null||u.delete(s)),a.parentMap.delete(e);return}const l=this.getNode(r);a.parentMap.set(e,l),o&&((h=a.childrenMap.get(o.id))==null||h.delete(s));let c=a.childrenMap.get(l.id);c||(c=new Set,a.childrenMap.set(l.id,c)),c.add(s),this.batch(()=>{this.changes.push({type:"TreeStructureChanged",treeKey:i,nodeId:e,oldParentId:o==null?void 0:o.id,newParentId:l.id})})}dfsTree(e,r,i){const a=s=>this.getChildren(s,i);return Vu(this.getNode(e),new Set,r,a)}bfsTree(e,r,i){const a=s=>this.getChildren(s,i);return bv([this.getNode(e)],new Set,r,a)}getAllNodes(){return Array.from(this.nodeMap.values())}getAllEdges(){return Array.from(this.edgeMap.values())}bfs(e,r,i="out"){const a={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[i];return bv([this.getNode(e)],new Set,r,a)}dfs(e,r,i="out"){const a={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[i];return Vu(this.getNode(e),new Set,r,a)}clone(){const e=this.getAllNodes().map(a=>V0(Io({},a),{data:Io({},a.data)})),r=this.getAllEdges().map(a=>V0(Io({},a),{data:Io({},a.data)})),i=new Xn({nodes:e,edges:r});return this.treeIndices.forEach(({parentMap:a,childrenMap:s},o)=>{const l=new Map;a.forEach((u,h)=>{l.set(h,i.getNode(u.id))});const c=new Map;s.forEach((u,h)=>{c.set(h,new Set(Array.from(u).map(f=>i.getNode(f.id))))}),i.treeIndices.set(o,{parentMap:l,childrenMap:c})}),i}toJSON(){return JSON.stringify({nodes:this.getAllNodes(),edges:this.getAllEdges()})}createView(e){return new tk(Io({graph:this},e))}}class Yu{constructor(t,e){this.context=t,this.options=e||{}}}var ek=function(n,t,e,r){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(u){try{c(r.next(u))}catch(h){s(h)}}function l(u){try{c(r.throw(u))}catch(h){s(h)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((r=r.apply(n,t||[])).next())})},nk=function(n,t){var e={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&t.indexOf(r)<0&&(e[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(n);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(n,r[i])&&(e[r[i]]=n[r[i]]);return e};function rF(n){const{type:t}=n;return!!(["comboCombined","comboForce"].includes(t)||t==="antv-dagre"&&n.sortByCombo)}function rk(n){const{type:t}=n;return["compact-box","mindmap","dendrogram","indented"].includes(t)}function iF(n){return isNumber(n.x)&&isNumber(n.y)}function ik(n){return!Array.isArray(n)&&(n==null?void 0:n.preLayout)}function Uu(n){const{nodes:t,edges:e}=n,r={nodes:[],edges:[],combos:[]};return t.forEach(i=>{const a=i.data._isCombo?r.combos:r.nodes,{x:s,y:o,z:l=0}=i.data;a==null||a.push({id:i.id,style:{x:s,y:o,z:l}})}),e.forEach(i=>{const{id:a,source:s,target:o,data:{points:l=[],controlPoints:c=l.slice(1,l.length-1)}}=i;r.edges.push({id:a,source:s,target:o,style:Object.assign({},c!=null&&c.length?{controlPoints:c.map(mr)}:{})})}),r}function ak(n,t){class e extends Yu{constructor(i,a){if(super(i,a),this.instance=new n({}),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 Uu(l)}}}execute(i,a){return ek(this,void 0,void 0,function*(){return Uu(yield this.instance.execute(this.graphData2LayoutModel(i),this.transformOptions(pr({},this.options,a))))})}transformOptions(i){if(!("onTick"in i))return i;const a=i.onTick;return i.onTick=s=>a(Uu(s)),i}graphData2LayoutModel(i){const{nodes:a=[],edges:s=[],combos:o=[]}=i,l=a.map(d=>{const v=Pt(d),{data:g,style:p,combo:y}=d,b=nk(d,["data","style","combo"]),M={id:v,data:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},g),{data:g}),y?{parentId:y}:{}),{style:p}),b)};return p!=null&&p.x&&Object.assign(M.data,{x:p.x}),p!=null&&p.y&&Object.assign(M.data,{y:p.y}),p!=null&&p.z&&Object.assign(M.data,{z:p.z}),M}),c=new Map(l.map(d=>[d.id,d])),u=s.filter(d=>{const{source:v,target:g}=d;return c.has(v)&&c.has(g)}).map(d=>{const{source:v,target:g,data:p,style:y}=d;return{id:Pt(d),source:v,target:g,data:Object.assign({},p),style:Object.assign({},y)}}),h=o.map(d=>({id:Pt(d),data:Object.assign({_isCombo:!0},d.data),style:Object.assign({},d.style)})),f=new Xn({nodes:[...l,...h],edges:u});return t.model.model.hasTreeStructure(hn)&&(f.attachTreeStructure(hn),l.forEach(d=>{const v=t.model.model.getParent(d.id,hn);v&&f.hasNode(v.id)&&f.setParent(d.id,v.id,hn)})),f}}return e}function xv(n,t,...e){if(t in n)return n[t](...e);if("instance"in n){const r=n.instance;if(t in r)return r[t](...e)}return null}function N1(n,t){if(t in n)return n[t];if("instance"in n){const e=n.instance;if(t in e)return e[t]}return null}var sk=function(n,t,e,r){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(u){try{c(r.next(u))}catch(h){s(h)}}function l(u){try{c(r.throw(u))}catch(h){s(h)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((r=r.apply(n,t||[])).next())})};class ok extends Tl{get forceLayoutInstance(){return this.context.layout.getLayoutInstance().find(t=>["d3-force","d3-force-3d"].includes(t==null?void 0:t.id))}validate(t){return this.context.layout?this.forceLayoutInstance?super.validate(t):(Kr.warn("DragElementForce only works with d3-force or d3-force-3d layout"),!1):!1}moveElement(t,e){return sk(this,void 0,void 0,function*(){const r=this.forceLayoutInstance;this.context.graph.getNodeData(t).forEach((i,a)=>{const{x:s=0,y:o=0}=i.style||{};r&&xv(r,"setFixedPosition",t[a],[...Ne([+s,+o],e)])})})}onDragStart(t){if(this.enable=this.validate(t),!this.enable)return;this.target=this.getSelectedNodeIDs([t.target.id]),this.hideEdge(),this.context.graph.frontElement(this.target);const e=this.forceLayoutInstance;e&&N1(e,"simulation").alphaTarget(.3).restart(),this.context.graph.getNodeData(this.target).forEach(r=>{const{x:i=0,y:a=0}=r.style||{};e&&xv(e,"setFixedPosition",Pt(r),[+i,+a])})}onDrag(t){if(!this.enable)return;const e=this.getDelta(t);this.moveElement(this.target,e)}onDragEnd(){const t=this.forceLayoutInstance;t&&N1(t,"simulation").alphaTarget(0),!this.options.fixed&&this.context.graph.getNodeData(this.target).forEach(e=>{t&&xv(t,"setFixedPosition",Pt(e),[null,null,null])})}}var k1=function(n,t,e,r){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(u){try{c(r.next(u))}catch(h){s(h)}}function l(u){try{c(r.throw(u))}catch(h){s(h)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((r=r.apply(n,t||[])).next())})};class Ku extends ri{constructor(t,e){super(t,Object.assign({},Ku.defaultOptions,e)),this.isZoomEvent=r=>!!(r.data&&"scale"in r.data),this.relatedEdgeToUpdate=new Set,this.zoom=this.context.graph.getZoom(),this.fixElementSize=r=>k1(this,void 0,void 0,function*(){if(!this.validate(r))return;const{graph:i}=this.context,{state:a,nodeFilter:s,edgeFilter:o,comboFilter:l}=this.options,c=(a?i.getElementDataByState("node",a):i.getNodeData()).filter(s),u=(a?i.getElementDataByState("edge",a):i.getEdgeData()).filter(o),h=(a?i.getElementDataByState("combo",a):i.getComboData()).filter(l),f=this.isZoomEvent(r)?this.zoom=Math.max(.01,Math.min(r.data.scale,10)):this.zoom,d=[...c,...h];d.length>0&&d.forEach(v=>this.fixNodeLike(v,f)),this.updateRelatedEdges(),u.length>0&&u.forEach(v=>this.fixEdge(v,f))}),this.cachedStyles=new Map,this.getOriginalFieldValue=(r,i,a)=>{var s;const o=this.cachedStyles.get(r)||[],l=((s=o.find(c=>c.shape===i))===null||s===void 0?void 0:s.style)||{};return a in l||(l[a]=i.attributes[a],this.cachedStyles.set(r,[...o.filter(c=>c.shape!==i),{shape:i,style:l}])),l[a]},this.scaleEntireElement=(r,i,a)=>{i.setLocalScale(1/a);const s=this.cachedStyles.get(r)||[];s.push({shape:i}),this.cachedStyles.set(r,s)},this.scaleSpecificShapes=(r,i,a)=>{const s=JT(r);(Array.isArray(a)?a:[a]).forEach(l=>{const{shape:c,fields:u}=l,h=typeof c=="function"?c(s):r.getShape(c);if(h){if(!u){this.scaleEntireElement(r.id,h,i);return}u.forEach(f=>{const d=this.getOriginalFieldValue(r.id,h,f);ie(d)&&(h.style[f]=d/i)})}})},this.skipIfExceedViewport=r=>{const{viewport:i}=this.context;return!(i!=null&&i.isInViewport(r.getRenderBounds(),!1,30))},this.fixNodeLike=(r,i)=>{const a=Pt(r),{element:s,model:o}=this.context,l=s.getElement(a);if(!l||this.skipIfExceedViewport(l))return;o.getRelatedEdgesData(a).forEach(h=>this.relatedEdgeToUpdate.add(Pt(h)));const u=this.options[l.type];if(!u){this.scaleEntireElement(a,l,i);return}this.scaleSpecificShapes(l,i,u)},this.fixEdge=(r,i)=>{const a=Pt(r),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:r}=this.context;this.relatedEdgeToUpdate.size>0&&this.relatedEdgeToUpdate.forEach(i=>{const a=r.getElement(i);a==null||a.update({})}),this.relatedEdgeToUpdate.clear()},this.resetTransform=r=>k1(this,void 0,void 0,function*(){var i;!((i=r.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(ra(s))a.setLocalScale(1);else{if(this.options.state)return;Object.entries(s).forEach(([o,l])=>a.style[o]=l)}})});const{graph:t,element:e}=this.context,r=Object.keys(Object.fromEntries(this.cachedStyles)).filter(i=>i&&t.getElementType(i)==="node");if(r.length>0){const i=new Set;r.forEach(a=>{t.getRelatedEdgesData(a).forEach(s=>i.add(Pt(s)))}),i.forEach(a=>{const s=e==null?void 0:e.getElement(a);s==null||s.update({})})}}}bindEvents(){const{graph:t}=this.context;t.on(Qt.AFTER_DRAW,this.resetTransform),t.on(Qt.AFTER_TRANSFORM,this.fixElementSize)}unbindEvents(){const{graph:t}=this.context;t.off(Qt.AFTER_DRAW,this.resetTransform),t.off(Qt.AFTER_TRANSFORM,this.fixElementSize)}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return de(e)?e(t):!!e}destroy(){this.unbindEvents(),super.destroy()}}Ku.defaultOptions={enable:n=>n.data.scale<1,nodeFilter:()=>!0,edgeFilter:()=>!0,comboFilter:()=>!0,edge:[{shape:"key",fields:["lineWidth"]},{shape:"halo",fields:["lineWidth"]},{shape:"label"}],reset:!1};var lk=function(n,t,e,r){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(u){try{c(r.next(u))}catch(h){s(h)}}function l(u){try{c(r.throw(u))}catch(h){s(h)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((r=r.apply(n,t||[])).next())})};class Qu extends ri{constructor(t,e){super(t,Object.assign({},Qu.defaultOptions,e)),this.focus=r=>lk(this,void 0,void 0,function*(){if(!this.validate(r))return;const{graph:i}=this.context;yield i.focusElement(r.target.id,this.options.animation)}),this.bindEvents()}bindEvents(){const{graph:t}=this.context;this.unbindEvents(),Ds.forEach(e=>{t.on(`${e}:${jt.CLICK}`,this.focus)})}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return de(e)?e(t):!!e}unbindEvents(){const{graph:t}=this.context;Ds.forEach(e=>{t.off(`${e}:${jt.CLICK}`,this.focus)})}destroy(){this.unbindEvents(),super.destroy()}}Qu.defaultOptions={animation:{easing:"ease-in",duration:500},enable:!0};class Ju extends ri{constructor(t,e){super(t,Object.assign({},Ju.defaultOptions,e)),this.isFrozen=!1,this.toggleFrozen=r=>{this.isFrozen=r.type==="dragstart"},this.hoverElement=r=>{if(!this.validate(r))return;const i=r.type===jt.POINTER_ENTER;this.updateElementsState(r,i);const{onHover:a,onHoverEnd:s}=this.options;i?a==null||a(r):s==null||s(r)},this.updateElementsState=(r,i)=>{if(!this.options.state&&!this.options.inactiveState)return;const{graph:a}=this.context,{state:s,animation:o,inactiveState:l}=this.options,c=this.getActiveIds(r),u={};if(s&&Object.assign(u,this.getElementsState(c,s,i)),l){const h=my(a.getData(),!0).filter(f=>!c.includes(f));Object.assign(u,this.getElementsState(h,l,i))}a.setElementState(u,o)},this.getElementsState=(r,i,a)=>{const{graph:s}=this.context,o={};return r.forEach(l=>{const c=s.getElementState(l);a?o[l]=c.includes(i)?c:[...c,i]:o[l]=c.filter(u=>u!==i)}),o},this.bindEvents()}bindEvents(){const{graph:t}=this.context;this.unbindEvents(),Ds.forEach(r=>{t.on(`${r}:${jt.POINTER_ENTER}`,this.hoverElement),t.on(`${r}:${jt.POINTER_LEAVE}`,this.hoverElement)});const e=this.context.canvas.document;e.addEventListener(`${jt.DRAG_START}`,this.toggleFrozen),e.addEventListener(`${jt.DRAG_END}`,this.toggleFrozen)}getActiveIds(t){const{graph:e}=this.context,{degree:r,direction:i}=this.options,a=t.target.id;return r?Dy(e,t.targetType,a,typeof r=="function"?r(t):r,i):[a]}validate(t){if(this.destroyed||this.isFrozen||Sl(t.target)||this.context.graph.isCollapsingExpanding)return!1;const{enable:e}=this.options;return de(e)?e(t):!!e}unbindEvents(){const{graph:t}=this.context;Ds.forEach(r=>{t.off(`${r}:${jt.POINTER_ENTER}`,this.hoverElement),t.off(`${r}:${jt.POINTER_LEAVE}`,this.hoverElement)});const e=this.context.canvas.document;e.removeEventListener(`${jt.DRAG_START}`,this.toggleFrozen),e.removeEventListener(`${jt.DRAG_END}`,this.toggleFrozen)}destroy(){this.unbindEvents(),super.destroy()}}Ju.defaultOptions={animation:!1,enable:!0,degree:0,direction:"both",state:"active",inactiveState:void 0};class ck extends ml{onPointerDown(t){if(!super.validate(t)||!super.isKeydown()||this.points)return;const{canvas:e}=this.context;this.pathShape=new ti({id:"g6-lasso-select",style:this.options.style}),e.appendChild(this.pathShape),this.points=[du(t)]}onPointerMove(t){var e;if(!this.points)return;const{immediately:r,mode:i}=this.options;this.points.push(du(t)),(e=this.pathShape)===null||e===void 0||e.setAttribute("d",VT(this.points)),r&&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 t;(t=this.pathShape)===null||t===void 0||t.remove(),this.pathShape=void 0,this.points=void 0}}class qu extends ri{constructor(t,e){super(t,Object.assign({},qu.defaultOptions,e)),this.hiddenShapes=[],this.isVisible=!0,this.setElementsVisibility=(r,i,a)=>{r.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):ks(s,i,a)})},this.filterShapes=(r,i)=>{if(de(i))return s=>!i(r,s);const a=i==null?void 0:i[r];return s=>s.className?!(a!=null&&a.includes(s.className)):!0},this.hideShapes=r=>{if(!this.validate(r)||!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=Ol(r=>{if(!this.validate(r)||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:t}=this.context;t.on(Qt.BEFORE_TRANSFORM,this.hideShapes),t.on(Qt.AFTER_TRANSFORM,this.showShapes)}unbindEvents(){const{graph:t}=this.context;t.off(Qt.BEFORE_TRANSFORM,this.hideShapes),t.off(Qt.AFTER_TRANSFORM,this.showShapes)}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return de(e)?e(t):!!e}update(t){this.unbindEvents(),super.update(t),this.bindEvents()}destroy(){this.unbindEvents(),super.destroy()}}qu.defaultOptions={enable:!0,debounce:200,shapes:n=>n==="node"};var L1=function(n,t,e,r){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(u){try{c(r.next(u))}catch(h){s(h)}}function l(u){try{c(r.throw(u))}catch(h){s(h)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((r=r.apply(n,t||[])).next())})};class $u extends ri{constructor(t,e){super(t,Object.assign({},$u.defaultOptions,e)),this.onWheel=r=>L1(this,void 0,void 0,function*(){this.options.preventDefault&&r.preventDefault();const i=r.deltaX,a=r.deltaY;yield this.scroll([-i,-a],r)}),this.shortcut=new vo(t.graph),this.bindEvents()}update(t){super.update(t),this.bindEvents()}bindEvents(){var t,e;const{trigger:r}=this.options;if(this.shortcut.unbindAll(),Fn(r)){(t=this.graphDom)===null||t===void 0||t.removeEventListener(jt.WHEEL,this.onWheel);const{up:i=[],down:a=[],left:s=[],right:o=[]}=r;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(e=this.graphDom)===null||e===void 0||e.addEventListener(jt.WHEEL,this.onWheel,{passive:!1})}get graphDom(){return this.context.graph.getCanvas().getContextService().getDomElement()}formatDisplacement(t){const{sensitivity:e}=this.options;return t=Bi(t,e),t=this.clampByDirection(t),t=this.clampByRange(t),t}clampByDirection([t,e]){const{direction:r}=this.options;return r==="x"?e=0:r==="y"&&(t=0),[t,e]}clampByRange([t,e]){const{viewport:r,canvas:i}=this.context,[a,s]=i.getSize(),[o,l,c,u]=Di(this.options.range),h=[s*o,a*l,s*c,a*u],f=Fa(Nd(r.getCanvasCenter()),h),d=on(r.getViewportCenter(),[t,e,0]);if(!Ri(d,f)){const{min:[v,g],max:[p,y]}=f;(d[0]<v&&t>0||d[0]>p&&t<0)&&(t=0),(d[1]<g&&e>0||d[1]>y&&e<0)&&(e=0)}return[t,e]}scroll(t,e){return L1(this,void 0,void 0,function*(){if(!this.validate(e))return;const{onFinish:r}=this.options,i=this.context.graph,a=this.formatDisplacement(t);yield i.translateBy(a,!1),r==null||r()})}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return de(e)?e(t):!!e}destroy(){var t;this.shortcut.destroy(),(t=this.graphDom)===null||t===void 0||t.removeEventListener(jt.WHEEL,this.onWheel),super.destroy()}}$u.defaultOptions={enable:!0,sensitivity:1,preventDefault:!0,range:1/0};var D1=function(n,t,e,r){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(u){try{c(r.next(u))}catch(h){s(h)}}function l(u){try{c(r.throw(u))}catch(h){s(h)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((r=r.apply(n,t||[])).next())})};class th extends ri{constructor(t,e){super(t,Object.assign({},th.defaultOptions,e)),this.zoom=(r,i,a)=>D1(this,void 0,void 0,function*(){if(!this.validate(i))return;const{graph:s}=this.context;let o=this.options.origin;!o&&"viewport"in i&&(o=mr(i.viewport));const{sensitivity:l,onFinish:c}=this.options,u=1+Nn(r,-50,50)*l/100,h=s.getZoom();yield s.zoomTo(h*u,a,o),c==null||c()}),this.onReset=()=>D1(this,void 0,void 0,function*(){yield this.context.graph.zoomTo(1,this.options.animation)}),this.preventDefault=r=>{this.options.preventDefault&&r.preventDefault()},this.shortcut=new vo(t.graph),this.bindEvents()}update(t){super.update(t),this.bindEvents()}bindEvents(){const{trigger:t}=this.options;if(this.shortcut.unbindAll(),Array.isArray(t))if(t.includes(jt.PINCH))this.shortcut.bind([jt.PINCH],e=>{this.zoom(e.scale,e,!1)});else{const e=this.context.canvas.getContainer();e==null||e.addEventListener(jt.WHEEL,this.preventDefault),this.shortcut.bind([...t,jt.WHEEL],r=>{const{deltaX:i,deltaY:a}=r;this.zoom(-(a!=null?a:i),r,!1)})}if(typeof t=="object"){const{zoomIn:e=[],zoomOut:r=[],reset:i=[]}=t;this.shortcut.bind(e,a=>this.zoom(10,a,this.options.animation)),this.shortcut.bind(r,a=>this.zoom(-10,a,this.options.animation)),this.shortcut.bind(i,this.onReset)}}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return de(e)?e(t):!!e}destroy(){var t;this.shortcut.destroy(),(t=this.context.canvas.getContainer())===null||t===void 0||t.removeEventListener(jt.WHEEL,this.preventDefault),super.destroy()}}th.defaultOptions={animation:{duration:200},enable:!0,sensitivity:1,trigger:[],preventDefault:!0};var eh=E(13722);const uk=(n,t)=>{if(n!=="next"&&n!=="prev")return t},R1=n=>{n.prev.next=n.next,n.next.prev=n.prev,delete n.next,delete n.prev};class hk{constructor(){const t={};t.prev=t,t.next=t.prev,this.shortcut=t}dequeue(){const t=this.shortcut,e=t.prev;if(e&&e!==t)return R1(e),e}enqueue(t){const e=this.shortcut;t.prev&&t.next&&R1(t),t.next=e.next,e.next.prev=t,e.next=t,t.prev=e}toString(){const t=[],e=this.shortcut;let r=e.prev;for(;r!==e;)t.push(JSON.stringify(r,uk)),r=r==null?void 0:r.prev;return`[${t.join(", ")}]`}}class fk extends hk{}const dk=()=>1,vk=(n,t)=>{var e;if(n.getAllNodes().length<=1)return[];const r=pk(n,t||dk);return(e=gk(r.graph,r.buckets,r.zeroIdx).map(a=>n.getRelatedEdges(a.v,"out").filter(({target:s})=>s===a.w)))===null||e===void 0?void 0:e.flat()},gk=(n,t,e)=>{let r=[];const i=t[t.length-1],a=t[0];let s;for(;n.getAllNodes().length;){for(;s=a.dequeue();)Ev(n,t,e,s);for(;s=i.dequeue();)Ev(n,t,e,s);if(n.getAllNodes().length){for(let o=t.length-2;o>0;--o)if(s=t[o].dequeue(),s){r=r.concat(Ev(n,t,e,s,!0));break}}}return r},Ev=(n,t,e,r,i)=>{var a,s;const o=[];return n.hasNode(r.v)&&((a=n.getRelatedEdges(r.v,"in"))===null||a===void 0||a.forEach(l=>{const c=l.data.weight,u=n.getNode(l.source);i&&o.push({v:l.source,w:l.target,in:0,out:0}),u.data.out===void 0&&(u.data.out=0),u.data.out-=c,wv(t,e,Object.assign({v:u.id},u.data))}),(s=n.getRelatedEdges(r.v,"out"))===null||s===void 0||s.forEach(l=>{const c=l.data.weight,u=l.target,h=n.getNode(u);h.data.in===void 0&&(h.data.in=0),h.data.in-=c,wv(t,e,Object.assign({v:h.id},h.data))}),n.removeNode(r.v)),i?o:void 0},pk=(n,t)=>{const e=new Xn;let r=0,i=0;n.getAllNodes().forEach(l=>{e.addNode({id:l.id,data:{v:l.id,in:0,out:0}})}),n.getAllEdges().forEach(l=>{const c=e.getRelatedEdges(l.source,"out").find(h=>h.target===l.target),u=(t==null?void 0:t(l))||1;c?e.updateEdgeData(c==null?void 0:c.id,Object.assign(Object.assign({},c.data),{weight:c.data.weight+u})):e.addEdge({id:l.id,source:l.source,target:l.target,data:{weight:u}}),i=Math.max(i,e.getNode(l.source).data.out+=u),r=Math.max(r,e.getNode(l.target).data.in+=u)});const a=[],s=i+r+3;for(let l=0;l<s;l++)a.push(new fk);const o=r+1;return e.getAllNodes().forEach(l=>{wv(a,o,Object.assign({v:l.id},e.getNode(l.id).data))}),{buckets:a,zeroIdx:o,graph:e}},wv=(n,t,e)=>{e.out?e.in?n[e.out-e.in+t].enqueue(e):n[n.length-1].enqueue(e):n[0].enqueue(e)},mk=(n,t)=>{const r=t==="greedy"?vk(n,(i=>a=>a.data.weight||1)(n)):yk(n);r==null||r.forEach(i=>{const a=i.data;n.removeEdge(i.id),a.forwardName=i.data.name,a.reversed=!0,n.addEdge({id:i.id,source:i.target,target:i.source,data:Object.assign({},a)})})},yk=n=>{const t=[],e={},r={},i=a=>{r[a]||(r[a]=!0,e[a]=!0,n.getRelatedEdges(a,"out").forEach(s=>{e[s.target]?t.push(s):i(s.target)}),delete e[a])};return n.getAllNodes().forEach(a=>i(a.id)),t},bk=n=>{n.getAllEdges().forEach(t=>{const e=t.data;if(e.reversed){n.removeEdge(t.id);const r=e.forwardName;delete e.reversed,delete e.forwardName,n.addEdge({id:t.id,source:t.target,target:t.source,data:Object.assign(Object.assign({},e),{forwardName:r})})}})},xk=(n,t)=>Number(n)-Number(t),yo=(n,t,e,r)=>{let i;do i=`${r}${Math.random()}`;while(n.hasNode(i));return e.dummy=t,n.addNode({id:i,data:e}),i},Ek=n=>{const t=new Xn;return n.getAllNodes().forEach(e=>{t.addNode(Object.assign({},e))}),n.getAllEdges().forEach(e=>{const r=t.getRelatedEdges(e.source,"out").find(i=>i.target===e.target);r?t.updateEdgeData(r==null?void 0:r.id,Object.assign(Object.assign({},r.data),{weight:r.data.weight+e.data.weight||0,minlen:Math.max(r.data.minlen,e.data.minlen||1)})):t.addEdge({id:e.id,source:e.source,target:e.target,data:{weight:e.data.weight||0,minlen:e.data.minlen||1}})}),t},I1=n=>{const t=new Xn;return n.getAllNodes().forEach(e=>{n.getChildren(e.id).length||t.addNode(Object.assign({},e))}),n.getAllEdges().forEach(e=>{t.addEdge(e)}),t},B1=(n,t)=>n==null?void 0:n.reduce((e,r,i)=>(e[r]=t[i],e),{}),aF=n=>{const t={};return n.getAllNodes().forEach(e=>{const r={};n.getRelatedEdges(e.id,"out").forEach(i=>{r[i.target]=(r[i.target]||0)+(i.data.weight||0)}),t[e.id]=r}),t},sF=n=>{const t=n.getAllNodes(),e=t.map(r=>{const i={};return n.getRelatedEdges(r.id,"in").forEach(a=>{i[a.source]=(i[a.source]||0)+a.data.weight}),i});return B1(t.map(r=>r.id),e)},z1=(n,t)=>{const e=Number(n.x),r=Number(n.y),i=Number(t.x)-e,a=Number(t.y)-r;let s=Number(n.width)/2,o=Number(n.height)/2;if(!i&&!a)return{x:0,y:0};let l,c;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=o*i/a,c=o):(i<0&&(s=-s),l=s,c=s*a/i),{x:e+l,y:r+c}},Cl=n=>{const t=[],e=F1(n)+1;for(let r=0;r<e;r++)t.push([]);n.getAllNodes().forEach(r=>{const i=r.data.rank;i!==void 0&&t[i]&&t[i].push(r.id)});for(let r=0;r<e;r++)t[r]=t[r].sort((i,a)=>xk(n.getNode(i).data.order,n.getNode(a).data.order));return t},wk=n=>{const t=n.getAllNodes().filter(r=>r.data.rank!==void 0).map(r=>r.data.rank),e=Math.min(...t);n.getAllNodes().forEach(r=>{r.data.hasOwnProperty("rank")&&e!==1/0&&(r.data.rank-=e)})},Mk=(n,t=0)=>{const e=n.getAllNodes(),r=e.filter(o=>o.data.rank!==void 0).map(o=>o.data.rank),i=Math.min(...r),a=[];e.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%t!==0&&(s-=1):s&&(l==null||l.forEach(c=>{const u=n.getNode(c);u&&(u.data.rank=u.data.rank||0,u.data.rank+=s)}))}},j1=(n,t,e,r)=>{const i={width:0,height:0};return ie(e)&&ie(r)&&(i.rank=e,i.order=r),yo(n,"border",i,t)},F1=n=>{let t;return n.getAllNodes().forEach(e=>{const r=e.data.rank;r!==void 0&&(t===void 0||r>t)&&(t=r)}),t||(t=0),t},Ak=(n,t)=>{const e={lhs:[],rhs:[]};return n==null||n.forEach(r=>{t(r)?e.lhs.push(r):e.rhs.push(r)}),e},Mv=(n,t)=>n.reduce((e,r)=>{const i=t(e),a=t(r);return i>a?r:e}),Z1=(n,t,e,r,i,a)=>{r.includes(t.id)||(r.push(t.id),e||a.push(t.id),i(t.id).forEach(s=>Z1(n,s,e,r,i,a)),e&&a.push(t.id))},_1=(n,t,e,r)=>{const i=Array.isArray(t)?t:[t],a=l=>r?n.getSuccessors(l):n.getNeighbors(l),s=[],o=[];return i.forEach(l=>{if(n.hasNode(l.id))Z1(n,l,e==="post",o,a,s);else throw new Error(`Graph does not have node: ${l}`)}),s},Pk=n=>{const t=e=>{const r=n.getChildren(e),i=n.getNode(e);if(r!=null&&r.length&&r.forEach(a=>t(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)H1(n,"borderLeft","_bl",e,i,a),H1(n,"borderRight","_br",e,i,a)}};n.getRoots().forEach(e=>t(e.id))},H1=(n,t,e,r,i,a)=>{const s={rank:a,borderType:t,width:0,height:0},o=i.data[t][a-1],l=yo(n,"border",s,e);i.data[t][a]=l,n.setParent(l,r),o&&n.addEdge({id:`e${Math.random()}`,source:o,target:l,data:{weight:1}})},Sk=(n,t)=>{const e=t.toLowerCase();(e==="lr"||e==="rl")&&G1(n)},Ok=(n,t)=>{const e=t.toLowerCase();(e==="bt"||e==="rl")&&Tk(n),(e==="lr"||e==="rl")&&(Ck(n),G1(n))},G1=n=>{n.getAllNodes().forEach(t=>{W1(t)}),n.getAllEdges().forEach(t=>{W1(t)})},W1=n=>{const t=n.data.width;n.data.width=n.data.height,n.data.height=t},Tk=n=>{n.getAllNodes().forEach(t=>{Av(t.data)}),n.getAllEdges().forEach(t=>{var e;(e=t.data.points)===null||e===void 0||e.forEach(r=>Av(r)),t.data.hasOwnProperty("y")&&Av(t.data)})},Av=n=>{n!=null&&n.y&&(n.y=-n.y)},Ck=n=>{n.getAllNodes().forEach(t=>{Pv(t.data)}),n.getAllEdges().forEach(t=>{var e;(e=t.data.points)===null||e===void 0||e.forEach(r=>Pv(r)),t.data.hasOwnProperty("x")&&Pv(t.data)})},Pv=n=>{const t=n.x;n.x=n.y,n.y=t},Nk=n=>{const t=yo(n,"root",{},"_root"),e=kk(n);let r=Math.max(...Object.values(e));Math.abs(r)===1/0&&(r=1);const i=r-1,a=2*i+1;n.getAllEdges().forEach(o=>{o.data.minlen*=a});const s=Lk(n)+1;return n.getRoots().forEach(o=>{X1(n,t,a,s,i,e,o.id)}),{nestingRoot:t,nodeRankFactor:a}},X1=(n,t,e,r,i,a,s)=>{const o=n.getChildren(s);if(!(o!=null&&o.length)){s!==t&&n.addEdge({id:`e${Math.random()}`,source:t,target:s,data:{weight:0,minlen:e}});return}const l=j1(n,"_bt"),c=j1(n,"_bb"),u=n.getNode(s);n.setParent(l,s),u.data.borderTop=l,n.setParent(c,s),u.data.borderBottom=c,o==null||o.forEach(h=>{X1(n,t,e,r,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?r:2*r,g=f!==d?1:i-a[s]+1;n.addEdge({id:`e${Math.random()}`,source:l,target:f,data:{minlen:g,weight:v,nestingEdge:!0}}),n.addEdge({id:`e${Math.random()}`,source:d,target:c,data:{minlen:g,weight:v,nestingEdge:!0}})}),n.getParent(s)||n.addEdge({id:`e${Math.random()}`,source:t,target:l,data:{weight:0,minlen:i+a[s]}})},kk=n=>{const t={},e=(r,i)=>{const a=n.getChildren(r);a==null||a.forEach(s=>e(s.id,i+1)),t[r]=i};return n.getRoots().forEach(r=>e(r.id,1)),t},Lk=n=>{let t=0;return n.getAllEdges().forEach(e=>{t+=e.data.weight}),t},Dk=(n,t)=>{t&&n.removeNode(t),n.getAllEdges().forEach(e=>{e.data.nestingEdge&&n.removeEdge(e.id)})},Rk="edge",V1="edge-label",Ik=(n,t)=>{n.getAllEdges().forEach(e=>Bk(n,e,t))},Bk=(n,t,e)=>{let r=t.source,i=n.getNode(r).data.rank;const a=t.target,s=n.getNode(a).data.rank,o=t.data.labelRank;if(s===i+1)return;n.removeEdge(t.id);let l,c,u;for(u=0,++i;i<s;++u,++i)t.data.points=[],c={originalEdge:t,width:0,height:0,rank:i},l=yo(n,Rk,c,"_d"),i===o&&(c.width=t.data.width,c.height=t.data.height,c.dummy=V1,c.labelpos=t.data.labelpos),n.addEdge({id:`e${Math.random()}`,source:r,target:l,data:{weight:t.data.weight}}),u===0&&e.push(l),r=l;n.addEdge({id:`e${Math.random()}`,source:r,target:a,data:{weight:t.data.weight}})},zk=(n,t)=>{t.forEach(e=>{let r=n.getNode(e);const{data:i}=r,a=i.originalEdge;let s;a&&n.addEdge(a);let o=e;for(;r.data.dummy;)s=n.getSuccessors(o)[0],n.removeNode(o),a.data.points.push({x:r.data.x,y:r.data.y}),r.data.dummy===V1&&(a.data.x=r.data.x,a.data.y=r.data.y,a.data.width=r.data.width,a.data.height=r.data.height),o=s.id,r=n.getNode(o)})},jk=(n,t,e)=>{const r={};let i;e==null||e.forEach(a=>{let s=n.getParent(a),o,l;for(;s;){if(o=n.getParent(s.id),o?(l=r[o.id],r[o.id]=s.id):(l=i,i=s.id),l&&l!==s.id){t.hasNode(l)||t.addNode({id:l,data:{}}),t.hasNode(s.id)||t.addNode({id:s.id,data:{}}),t.hasEdge(`e${l}-${s.id}`)||t.addEdge({id:`e${l}-${s.id}`,source:l,target:s.id,data:{}});return}s=o}})},Fk=(n,t,e)=>{const r=Zk(n),i=new Xn({tree:[{id:r,children:[],data:{}}]});return n.getAllNodes().forEach(a=>{const s=n.getParent(a.id);(a.data.rank===t||a.data.minRank<=t&&t<=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)||r),n.getRelatedEdges(a.id,e).forEach(o=>{const l=o.source===a.id?o.target:o.source;i.hasNode(l)||i.addNode(Object.assign({},n.getNode(l)));const c=i.getRelatedEdges(l,"out").find(({target:h})=>h===a.id),u=c!==void 0?c.data.weight:0;c?i.updateEdgeData(c.id,Object.assign(Object.assign({},c.data),{weight:o.data.weight+u})):i.addEdge({id:o.id,source:l,target:a.id,data:{weight:o.data.weight+u}})}),a.data.hasOwnProperty("minRank")&&i.updateNodeData(a.id,Object.assign(Object.assign({},a.data),{borderLeft:a.data.borderLeft[t],borderRight:a.data.borderRight[t]})))}),i},Zk=n=>{let t;for(;n.hasNode(t=`_root${Math.random()}`););return t},_k=(n,t,e)=>{const r=B1(e,e.map((u,h)=>h)),a=t.map(u=>{const h=n.getRelatedEdges(u,"out").map(f=>({pos:r[f.target]||0,weight:f.data.weight}));return h==null?void 0:h.sort((f,d)=>f.pos-d.pos)}).flat().filter(u=>u!==void 0);let s=1;for(;s<e.length;)s<<=1;const o=2*s-1;s-=1;const l=Array(o).fill(0,0,o);let c=0;return a==null||a.forEach(u=>{if(u){let h=u.pos+s;l[h]+=u.weight;let f=0;for(;h>0;)h%2&&(f+=l[h+1]),h=h-1>>1,l[h]+=u.weight;c+=u.weight*f}}),c},Y1=(n,t)=>{let e=0;for(let r=1;r<(t==null?void 0:t.length);r+=1)e+=_k(n,t[r-1],t[r]);return e},U1=n=>{const t={},e=n.getAllNodes(),r=e.map(c=>{var u;return(u=c.data.rank)!==null&&u!==void 0?u:-1/0}),i=Math.max(...r),a=[];for(let c=0;c<i+1;c++)a.push([]);const s=e.sort((c,u)=>n.getNode(c.id).data.rank-n.getNode(u.id).data.rank),l=s.filter(c=>n.getNode(c.id).data.fixorder!==void 0).sort((c,u)=>n.getNode(c.id).data.fixorder-n.getNode(u.id).data.fixorder);return l==null||l.forEach(c=>{isNaN(n.getNode(c.id).data.rank)||a[n.getNode(c.id).data.rank].push(c.id),t[c.id]=!0}),s==null||s.forEach(c=>n.dfsTree(c.id,u=>{if(t.hasOwnProperty(u.id))return!0;t[u.id]=!0,isNaN(u.data.rank)||a[u.data.rank].push(u.id)})),a},Hk=(n,t)=>t.map(e=>{const r=n.getRelatedEdges(e,"in");if(!(r!=null&&r.length))return{v:e};const i={sum:0,weight:0};return r==null||r.forEach(a=>{const s=n.getNode(a.source);i.sum+=a.data.weight*s.data.order,i.weight+=a.data.weight}),{v:e,barycenter:i.sum/i.weight,weight:i.weight}}),Gk=(n,t)=>{var e,r,i;const a={};n==null||n.forEach((o,l)=>{a[o.v]={i:l,indegree:0,in:[],out:[],vs:[o.v]};const c=a[o.v];o.barycenter!==void 0&&(c.barycenter=o.barycenter,c.weight=o.weight)}),(e=t.getAllEdges())===null||e===void 0||e.forEach(o=>{const l=a[o.source],c=a[o.target];l!==void 0&&c!==void 0&&(c.indegree++,l.out.push(a[o.target]))});const s=(i=(r=Object.values(a)).filter)===null||i===void 0?void 0:i.call(r,o=>!o.indegree);return Wk(s)},Wk=n=>{var t,e;const r=[],i=l=>c=>{c.merged||(c.barycenter===void 0||l.barycenter===void 0||c.barycenter>=l.barycenter)&&Xk(l,c)},a=l=>c=>{c.in.push(l),--c.indegree===0&&n.push(c)};for(;n!=null&&n.length;){const l=n.pop();r.push(l),(t=l.in.reverse())===null||t===void 0||t.forEach(c=>i(l)(c)),(e=l.out)===null||e===void 0||e.forEach(c=>a(l)(c))}const s=r.filter(l=>!l.merged),o=["vs","i","barycenter","weight"];return s.map(l=>{const c={};return o==null||o.forEach(u=>{l[u]!==void 0&&(c[u]=l[u])}),c})},Xk=(n,t)=>{var e;let r=0,i=0;n.weight&&(r+=n.barycenter*n.weight,i+=n.weight),t.weight&&(r+=t.barycenter*t.weight,i+=t.weight),n.vs=(e=t.vs)===null||e===void 0?void 0:e.concat(n.vs),n.barycenter=r/i,n.weight=i,n.i=Math.min(t.i,n.i),t.merged=!0};var Vk=Gk;const Yk=(n,t,e,r)=>{const i=Ak(n,f=>{const d=f.hasOwnProperty("fixorder")&&!isNaN(f.fixorder);return r?!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,c=0,u=0;a==null||a.sort(Uk(!!t,!!e)),u=K1(o,s,u),a==null||a.forEach(f=>{var d;u+=(d=f.vs)===null||d===void 0?void 0:d.length,o.push(f.vs),l+=f.barycenter*f.weight,c+=f.weight,u=K1(o,s,u)});const h={vs:o.flat()};return c&&(h.barycenter=l/c,h.weight=c),h},K1=(n,t,e)=>{let r=e,i;for(;t.length&&(i=t[t.length-1]).i<=r;)t.pop(),n==null||n.push(i.vs),r++;return r},Uk=(n,t)=>(e,r)=>{if(e.fixorder!==void 0&&r.fixorder!==void 0)return e.fixorder-r.fixorder;if(e.barycenter<r.barycenter)return-1;if(e.barycenter>r.barycenter)return 1;if(t&&e.order!==void 0&&r.order!==void 0){if(e.order<r.order)return-1;if(e.order>r.order)return 1}return n?r.i-e.i:e.i-r.i},Q1=(n,t,e,r,i,a)=>{var s,o,l,c;let u=n.getChildren(t).map(b=>b.id);const h=n.getNode(t),f=h?h.data.borderLeft:void 0,d=h?h.data.borderRight:void 0,v={};f&&(u=u==null?void 0:u.filter(b=>b!==f&&b!==d));const g=Hk(n,u||[]);g==null||g.forEach(b=>{var M;if(!((M=n.getChildren(b.v))===null||M===void 0)&&M.length){const O=Q1(n,b.v,e,r,a);v[b.v]=O,O.hasOwnProperty("barycenter")&&Qk(b,O)}});const p=Vk(g,e);Kk(p,v),(s=p.filter(b=>b.vs.length>0))===null||s===void 0||s.forEach(b=>{const M=n.getNode(b.vs[0]);M&&(b.fixorder=M.data.fixorder,b.order=M.data.order)});const y=Yk(p,r,i,a);if(f&&(y.vs=[f,y.vs,d].flat(),!((o=n.getPredecessors(f))===null||o===void 0)&&o.length)){const b=n.getNode(((l=n.getPredecessors(f))===null||l===void 0?void 0:l[0].id)||""),M=n.getNode(((c=n.getPredecessors(d))===null||c===void 0?void 0:c[0].id)||"");y.hasOwnProperty("barycenter")||(y.barycenter=0,y.weight=0),y.barycenter=(y.barycenter*y.weight+b.data.order+M.data.order)/(y.weight+2),y.weight+=2}return y},Kk=(n,t)=>{n==null||n.forEach(e=>{var r;const i=(r=e.vs)===null||r===void 0?void 0:r.map(a=>t[a]?t[a].vs:a);e.vs=i.flat()})},Qk=(n,t)=>{n.barycenter!==void 0?(n.barycenter=(n.barycenter*n.weight+t.barycenter*t.weight)/(n.weight+t.weight),n.weight+=t.weight):(n.barycenter=t.barycenter,n.weight=t.weight)},Jk=(n,t)=>{const e=F1(n),r=[],i=[];for(let u=1;u<e+1;u++)r.push(u);for(let u=e-1;u>-1;u--)i.push(u);const a=J1(n,r,"in"),s=J1(n,i,"out");let o=U1(n);Sv(n,o);let l=Number.POSITIVE_INFINITY,c;for(let u=0,h=0;h<4;++u,++h){q1(u%2?a:s,u%4>=2,!1,t),o=Cl(n);const f=Y1(n,o);f<l&&(h=0,c=uo(o),l=f)}o=U1(n),Sv(n,o);for(let u=0,h=0;h<4;++u,++h){q1(u%2?a:s,u%4>=2,!0,t),o=Cl(n);const f=Y1(n,o);f<l&&(h=0,c=uo(o),l=f)}Sv(n,c)},J1=(n,t,e)=>t.map(r=>Fk(n,r,e)),q1=(n,t,e,r)=>{const i=new Xn;n==null||n.forEach(a=>{var s;const o=a.getRoots()[0].id,l=Q1(a,o,i,t,e,r);for(let c=0;c<((s=l.vs)===null||s===void 0?void 0:s.length);c++){const u=a.getNode(l.vs[c]);u&&(u.data.order=c)}jk(a,i,l.vs)})},Sv=(n,t)=>{t==null||t.forEach(e=>{e==null||e.forEach((r,i)=>{n.getNode(r).data.order=i})})},qk=(n,t)=>{const r=n.getAllNodes().filter(s=>{var o;return!(!((o=n.getChildren(s.id))===null||o===void 0)&&o.length)}).map(s=>s.data.rank),i=Math.max(...r),a=[];for(let s=0;s<i+1;s++)a[s]=[];t==null||t.forEach(s=>{const o=n.getNode(s);!o||o.data.dummy||isNaN(o.data.rank)||(o.data.fixorder=a[o.data.rank].length,a[o.data.rank].push(s))})},$k=n=>{const t={};let e=0;const r=i=>{const a=e;n.getChildren(i).forEach(s=>r(s.id)),t[i]={low:a,lim:e++}};return n.getRoots().forEach(i=>r(i.id)),t},tL=(n,t,e,r)=>{var i,a;const s=[],o=[],l=Math.min(t[e].low,t[r].low),c=Math.max(t[e].lim,t[r].lim);let u,h;u=e;do u=(i=n.getParent(u))===null||i===void 0?void 0:i.id,s.push(u);while(u&&(t[u].low>l||c>t[u].lim));for(h=u,u=r;u&&u!==h;)o.push(u),u=(a=n.getParent(u))===null||a===void 0?void 0:a.id;return{lca:h,path:s.concat(o.reverse())}},eL=(n,t)=>{const e=$k(n);t.forEach(r=>{var i,a;let s=r,o=n.getNode(s);const l=o.data.originalEdge;if(!l)return;const c=tL(n,e,l.source,l.target),u=c.path,h=c.lca;let f=0,d=u[f],v=!0;for(;s!==l.target;){if(o=n.getNode(s),v){for(;d!==h&&((i=n.getNode(d))===null||i===void 0?void 0:i.data.maxRank)<o.data.rank;)f++,d=u[f];d===h&&(v=!1)}if(!v){for(;f<u.length-1&&((a=n.getNode(u[f+1]))===null||a===void 0?void 0:a.data.minRank)<=o.data.rank;)f++;d=u[f]}n.hasNode(d)&&n.setParent(s,d),s=n.getSuccessors(s)[0].id}})},$1=(n,t)=>{const e={},r=(i,a)=>{let s=0,o=0;const l=i.length,c=a==null?void 0:a[(a==null?void 0:a.length)-1];return a==null||a.forEach((u,h)=>{var f;const d=nL(n,u),v=d?n.getNode(d.id).data.order:l;(d||u===c)&&((f=a.slice(o,h+1))===null||f===void 0||f.forEach(g=>{var p;(p=n.getPredecessors(g))===null||p===void 0||p.forEach(y=>{var b;const M=n.getNode(y.id),O=M.data.order;(O<s||v<O)&&!(M.data.dummy&&(!((b=n.getNode(g))===null||b===void 0)&&b.data.dummy))&&eb(e,y.id,g)})}),o=h+1,s=v)}),a};return t!=null&&t.length&&t.reduce(r),e},tb=(n,t)=>{const e={};function r(o,l,c,u,h){var f,d;let v;for(let g=l;g<c;g++)v=o[g],!((f=n.getNode(v))===null||f===void 0)&&f.data.dummy&&((d=n.getPredecessors(v))===null||d===void 0||d.forEach(p=>{const y=n.getNode(p.id);y.data.dummy&&(y.data.order<u||y.data.order>h)&&eb(e,p.id,v)}))}function i(o){return JSON.stringify(o.slice(1))}function a(o,l){const c=i(o);l.get(c)||(r(...o),l.set(c,!0))}const s=(o,l)=>{let c=-1,u,h=0;const f=new Map;return l==null||l.forEach((d,v)=>{var g;if(((g=n.getNode(d))===null||g===void 0?void 0:g.data.dummy)==="border"){const p=n.getPredecessors(d)||[];p.length&&(u=n.getNode(p[0].id).data.order,a([l,h,v,c,u],f),h=v,c=u)}a([l,h,l.length,u,o.length],f)}),l};return t!=null&&t.length&&t.reduce(s),e},nL=(n,t)=>{var e,r;if(!((e=n.getNode(t))===null||e===void 0)&&e.data.dummy)return(r=n.getPredecessors(t))===null||r===void 0?void 0:r.find(i=>n.getNode(i.id).data.dummy)},eb=(n,t,e)=>{let r=t,i=e;if(r>i){const s=r;r=i,i=s}let a=n[r];a||(n[r]=a={}),a[i]=!0},rL=(n,t,e)=>{let r=t,i=e;if(r>i){const a=t;r=i,i=a}return!!n[r]},nb=(n,t,e,r)=>{const i={},a={},s={};return t==null||t.forEach(o=>{o==null||o.forEach((l,c)=>{i[l]=l,a[l]=l,s[l]=c})}),t==null||t.forEach(o=>{let l=-1;o==null||o.forEach(c=>{let u=r(c).map(h=>h.id);if(u.length){u=u.sort((f,d)=>s[f]-s[d]);const h=(u.length-1)/2;for(let f=Math.floor(h),d=Math.ceil(h);f<=d;++f){const v=u[f];a[c]===c&&l<s[v]&&!rL(e,c,v)&&(a[v]=c,a[c]=i[c]=i[v],l=s[v])}}})}),{root:i,align:a}},rb=(n,t,e,r,i,a,s)=>{var o;const l={},c=iL(n,t,e,i,a,s),u=s?"borderLeft":"borderRight",h=(v,g)=>{let p=c.getAllNodes(),y=p.pop();const b={};for(;y;)b[y.id]?v(y.id):(b[y.id]=!0,p.push(y),p=p.concat(g(y.id))),y=p.pop()},f=v=>{l[v]=(c.getRelatedEdges(v,"in")||[]).reduce((g,p)=>Math.max(g,(l[p.source]||0)+p.data.weight),0)},d=v=>{const g=(c.getRelatedEdges(v,"out")||[]).reduce((y,b)=>Math.min(y,(l[b.target]||0)-b.data.weight),Number.POSITIVE_INFINITY),p=n.getNode(v);g!==Number.POSITIVE_INFINITY&&p.data.borderType!==u&&(l[v]=Math.max(l[v],g))};return h(f,c.getPredecessors.bind(c)),h(d,c.getSuccessors.bind(c)),(o=Object.values(r))===null||o===void 0||o.forEach(v=>{l[v]=l[e[v]]}),l},iL=(n,t,e,r,i,a)=>{const s=new Xn,o=aL(r,i,a);return t==null||t.forEach(l=>{let c;l==null||l.forEach(u=>{const h=e[u];if(s.hasNode(h)||s.addNode({id:h,data:{}}),c){const f=e[c],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(n,u,c),d.data.weight||0)})):s.addEdge({id:`e${Math.random()}`,source:f,target:h,data:{weight:Math.max(o(n,u,c),0)}})}c=u})}),s},ib=(n,t)=>Mv(Object.values(t),e=>{var r;let i=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY;return(r=Object.keys(e))===null||r===void 0||r.forEach(s=>{const o=e[s],l=sL(n,s)/2;i=Math.max(o+l,i),a=Math.min(o-l,a)}),i-a});function ab(n,t){const e=Object.values(t),r=Math.min(...e),i=Math.max(...e);["u","d"].forEach(a=>{["l","r"].forEach(s=>{const o=a+s,l=n[o];let c;if(l===t)return;const u=Object.values(l);c=s==="l"?r-Math.min(...u):i-Math.max(...u),c&&(n[o]={},Object.keys(l).forEach(h=>{n[o][h]=l[h]+c}))})})}const sb=(n,t)=>{const e={};return Object.keys(n.ul).forEach(r=>{if(t)e[r]=n[t.toLowerCase()][r];else{const i=Object.values(n).map(a=>a[r]);e[r]=(i[0]+i[1])/2}}),e},oF=(n,t)=>{const{align:e,nodesep:r=0,edgesep:i=0}=t||{},a=buildLayerMatrix(n),s=Object.assign($1(n,a),tb(n,a)),o={};let l;["u","d"].forEach(u=>{l=u==="u"?a:Object.values(a).reverse(),["l","r"].forEach(h=>{h==="r"&&(l=l.map(g=>Object.values(g).reverse()));const f=(u==="u"?n.getPredecessors:n.getSuccessors).bind(n),d=nb(n,l,s,f),v=rb(n,l,d.root,d.align,r,i,h==="r");h==="r"&&Object.keys(v).forEach(g=>{v[g]=-v[g]}),o[u+h]=v})});const c=ib(n,o);return ab(o,c),sb(o,e)},aL=(n,t,e)=>(r,i,a)=>{const s=r.getNode(i),o=r.getNode(a);let l=0,c=0;if(l+=s.data.width/2,s.data.hasOwnProperty("labelpos"))switch((s.data.labelpos||"").toLowerCase()){case"l":c=-s.data.width/2;break;case"r":c=s.data.width/2;break}if(c&&(l+=e?c:-c),c=0,l+=(s.data.dummy?t:n)/2,l+=(o.data.dummy?t:n)/2,l+=o.data.width/2,o.data.labelpos)switch((o.data.labelpos||"").toLowerCase()){case"l":c=o.data.width/2;break;case"r":c=-o.data.width/2;break}return c&&(l+=e?c:-c),c=0,l},sL=(n,t)=>n.getNode(t).data.width||0,oL=(n,t)=>{const{ranksep:e=0}=t||{},r=Cl(n);let i=0;r==null||r.forEach(a=>{const s=a.map(l=>n.getNode(l).data.height),o=Math.max(...s,0);a==null||a.forEach(l=>{n.getNode(l).data.y=i+o/2}),i+=o+e})},lL=(n,t)=>{const{align:e,nodesep:r=0,edgesep:i=0}=t||{},a=Cl(n),s=Object.assign($1(n,a),tb(n,a)),o={};let l=[];["u","d"].forEach(u=>{l=u==="u"?a:Object.values(a).reverse(),["l","r"].forEach(h=>{h==="r"&&(l=l.map(g=>Object.values(g).reverse()));const f=(u==="u"?n.getPredecessors:n.getSuccessors).bind(n),d=nb(n,l,s,f),v=rb(n,l,d.root,d.align,r,i,h==="r");h==="r"&&Object.keys(v).forEach(g=>v[g]=-v[g]),o[u+h]=v})});const c=ib(n,o);return c&&ab(o,c),sb(o,e)},cL=(n,t)=>{var e;const r=I1(n);oL(r,t);const i=lL(r,t);(e=Object.keys(i))===null||e===void 0||e.forEach(a=>{r.getNode(a).data.x=i[a]})},ob=n=>{const t={},e=r=>{var i;const a=n.getNode(r);if(!a)return 0;if(t[r])return a.data.rank;t[r]=!0;let s;return(i=n.getRelatedEdges(r,"out"))===null||i===void 0||i.forEach(o=>{const l=e(o.target),c=o.data.minlen,u=l-c;u&&(s===void 0||u<s)&&(s=u)}),s||(s=0),a.data.rank=s,s};n.getAllNodes().filter(r=>n.getRelatedEdges(r.id,"in").length===0).forEach(r=>e(r.id))},uL=n=>{const t={};let e;const r=s=>{var o;const l=n.getNode(s);if(!l)return 0;if(t[s])return l.data.rank;t[s]=!0;let c;return(o=n.getRelatedEdges(s,"out"))===null||o===void 0||o.forEach(u=>{const h=r(u.target),f=u.data.minlen,d=h-f;d&&(c===void 0||d<c)&&(c=d)}),c||(c=0),(e===void 0||c<e)&&(e=c),l.data.rank=c,c};n.getAllNodes().filter(s=>n.getRelatedEdges(s.id,"in").length===0).forEach(s=>{s&&r(s.id)}),e===void 0&&(e=0);const i={},a=(s,o)=>{var l;const c=n.getNode(s),u=isNaN(c.data.layer)?o:c.data.layer;(c.data.rank===void 0||c.data.rank<u)&&(c.data.rank=u),!i[s]&&(i[s]=!0,(l=n.getRelatedEdges(s,"out"))===null||l===void 0||l.forEach(h=>{a(h.target,u+h.data.minlen)}))};n.getAllNodes().forEach(s=>{const o=s.data;o&&(isNaN(o.layer)?o.rank-=e:a(s.id,o.layer))})},Ya=(n,t)=>n.getNode(t.target).data.rank-n.getNode(t.source).data.rank-t.data.minlen,hL=n=>{const t=new Xn({tree:[]}),e=n.getAllNodes()[0],r=n.getAllNodes().length;t.addNode(e);let i,a;for(;fL(t,n)<r;)i=lb(t,n),a=t.hasNode(i.source)?Ya(n,i):-Ya(n,i),cb(t,n,a);return t},fL=(n,t)=>{const e=r=>{t.getRelatedEdges(r,"both").forEach(i=>{const a=i.source,s=r===a?i.target:a;!n.hasNode(s)&&!Ya(t,i)&&(n.addNode({id:s,data:{}}),n.addEdge({id:i.id,source:r,target:s,data:{}}),e(s))})};return n.getAllNodes().forEach(r=>e(r.id)),n.getAllNodes().length},dL=n=>{const t=new Xn({tree:[]}),e=n.getAllNodes()[0],r=n.getAllNodes().length;t.addNode(e);let i,a;for(;vL(t,n)<r;)i=lb(t,n),a=t.hasNode(i.source)?Ya(n,i):-Ya(n,i),cb(t,n,a);return t},vL=(n,t)=>{const e=r=>{var i;(i=t.getRelatedEdges(r,"both"))===null||i===void 0||i.forEach(a=>{const s=a.source,o=r===s?a.target:s;!n.hasNode(o)&&(t.getNode(o).data.layer!==void 0||!Ya(t,a))&&(n.addNode({id:o,data:{}}),n.addEdge({id:a.id,source:r,target:o,data:{}}),e(o))})};return n.getAllNodes().forEach(r=>e(r.id)),n.getAllNodes().length},lb=(n,t)=>Mv(t.getAllEdges(),e=>n.hasNode(e.source)!==n.hasNode(e.target)?Ya(t,e):1/0),cb=(n,t,e)=>{n.getAllNodes().forEach(r=>{const i=t.getNode(r.id);i.data.rank||(i.data.rank=0),i.data.rank+=e})},gL=n=>{const t=Ek(n);ob(t);const e=hL(t);hb(e),ub(e,t);let r,i;for(;r=yL(e);)i=bL(e,t,r),xL(e,t,r,i)},ub=(n,t)=>{let e=_1(n,n.getAllNodes(),"post",!1);e=e.slice(0,(e==null?void 0:e.length)-1),e.forEach(r=>{pL(n,t,r)})},pL=(n,t,e)=>{const i=n.getNode(e).data.parent,a=n.getRelatedEdges(e,"both").find(s=>s.target===i||s.source===i);a.data.cutvalue=mL(n,t,e)},mL=(n,t,e)=>{const i=n.getNode(e).data.parent;let a=!0,s=t.getRelatedEdges(e,"out").find(l=>l.target===i),o=0;return s||(a=!1,s=t.getRelatedEdges(i,"out").find(l=>l.target===e)),o=s.data.weight,t.getRelatedEdges(e,"both").forEach(l=>{const c=l.source===e,u=c?l.target:l.source;if(u!==i){const h=c===a,f=l.data.weight;if(o+=h?f:-f,wL(n,e,u)){const d=n.getRelatedEdges(e,"both").find(v=>v.source===u||v.target===u).data.cutvalue;o+=h?-d:d}}}),o},hb=(n,t=n.getAllNodes()[0].id)=>{fb(n,{},1,t)},fb=(n,t,e,r,i)=>{var a;const s=e;let o=e;const l=n.getNode(r);return t[r]=!0,(a=n.getNeighbors(r))===null||a===void 0||a.forEach(c=>{t[c.id]||(o=fb(n,t,o,c.id,r))}),l.data.low=s,l.data.lim=o++,i?l.data.parent=i:delete l.data.parent,o},yL=n=>n.getAllEdges().find(t=>t.data.cutvalue<0),bL=(n,t,e)=>{let r=e.source,i=e.target;t.getRelatedEdges(r,"out").find(u=>u.target===i)||(r=e.target,i=e.source);const a=n.getNode(r),s=n.getNode(i);let o=a,l=!1;a.data.lim>s.data.lim&&(o=s,l=!0);const c=t.getAllEdges().filter(u=>l===db(n.getNode(u.source),o)&&l!==db(n.getNode(u.target),o));return Mv(c,u=>Ya(t,u))},xL=(n,t,e,r)=>{const i=n.getRelatedEdges(e.source,"both").find(a=>a.source===e.target||a.target===e.target);i&&n.removeEdge(i.id),n.addEdge({id:`e${Math.random()}`,source:r.source,target:r.target,data:{}}),hb(n),ub(n,t),EL(n,t)},EL=(n,t)=>{const e=n.getAllNodes().find(i=>!i.data.parent);let r=_1(n,e,"pre",!1);r=r.slice(1),r.forEach(i=>{const a=n.getNode(i).data.parent;let s=t.getRelatedEdges(i,"out").find(l=>l.target===a),o=!1;!s&&t.hasNode(a)&&(s=t.getRelatedEdges(a,"out").find(l=>l.target===i),o=!0),t.getNode(i).data.rank=(t.hasNode(a)&&t.getNode(a).data.rank||0)+(o?s==null?void 0:s.data.minlen:-(s==null?void 0:s.data.minlen))})},wL=(n,t,e)=>n.getRelatedEdges(t,"both").find(r=>r.source===e||r.target===e),db=(n,t)=>t.data.low<=n.data.lim&&n.data.lim<=t.data.lim,ML=(n,t)=>{switch(t){case"network-simplex":PL(n);break;case"tight-tree":vb(n);break;case"longest-path":AL(n);break;default:vb(n)}},AL=ob,vb=n=>{uL(n),dL(n)},PL=n=>{gL(n)},SL=(n,t)=>{const{edgeLabelSpace:e,keepNodeOrder:r,prevGraph:i,rankdir:a,ranksep:s}=t;!r&&i&&TL(n,i);const o=RL(n);e&&(t.ranksep=IL(o,{rankdir:a,ranksep:s}));let l;try{l=OL(o,t)}catch(c){if(c.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:
`,c);return}throw c}return CL(n,o),l},OL=(n,t)=>{const{acyclicer:e,ranker:r,rankdir:i="tb",nodeOrder:a,keepNodeOrder:s,align:o,nodesep:l=50,edgesep:c=20,ranksep:u=50}=t;WL(n),mk(n,e);const{nestingRoot:h,nodeRankFactor:f}=Nk(n);ML(I1(n),r),BL(n),Mk(n,f),Dk(n,h),wk(n),zL(n),jL(n);const d=[];Ik(n,d),eL(n,d),Pk(n),s&&qk(n,a),Jk(n,s),XL(n),Sk(n,i),cL(n,{align:o,nodesep:l,edgesep:c,ranksep:u}),VL(n),GL(n),zk(n,d),_L(n),Ok(n,i);const{width:v,height:g}=FL(n);return ZL(n),HL(n),bk(n),{width:v,height:g}},TL=(n,t)=>{n.getAllNodes().forEach(e=>{const r=n.getNode(e.id);if(t.hasNode(e.id)){const i=t.getNode(e.id);r.data.fixorder=i.data._order,delete i.data._order}else delete r.data.fixorder})},CL=(n,t)=>{n.getAllNodes().forEach(e=>{var r;const i=n.getNode(e.id);if(i){const a=t.getNode(e.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,!((r=t.getChildren(e.id))===null||r===void 0)&&r.length&&(i.data.width=a.data.width,i.data.height=a.data.height)}}),n.getAllEdges().forEach(e=>{const r=n.getEdge(e.id),i=t.getEdge(e.id);r.data.points=i?i.data.points:[],i&&i.data.hasOwnProperty("x")&&(r.data.x=i.data.x,r.data.y=i.data.y)})},NL=["width","height","layer","fixorder"],kL={width:0,height:0},LL=["minlen","weight","width","height","labeloffset"],DL={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},Ov=["labelpos"],RL=n=>{const t=new Xn({tree:[]});return n.getAllNodes().forEach(e=>{const r=pb(n.getNode(e.id).data),i=Object.assign(Object.assign({},kL),r),a=gb(i,NL);t.hasNode(e.id)||t.addNode({id:e.id,data:Object.assign({},a)});const s=n.hasTreeStructure("combo")?n.getParent(e.id,"combo"):n.getParent(e.id);ye(s)||(t.hasNode(s.id)||t.addNode(Object.assign({},s)),t.setParent(e.id,s.id))}),n.getAllEdges().forEach(e=>{const r=pb(n.getEdge(e.id).data),i={};Ov==null||Ov.forEach(a=>{r[a]!==void 0&&(i[a]=r[a])}),t.addEdge({id:e.id,source:e.source,target:e.target,data:Object.assign({},DL,gb(r,LL),i)})}),t},IL=(n,t)=>{const{ranksep:e=0,rankdir:r}=t;return n.getAllNodes().forEach(i=>{isNaN(i.data.layer)||i.data.layer||(i.data.layer=0)}),n.getAllEdges().forEach(i=>{var a;i.data.minlen*=2,((a=i.data.labelpos)===null||a===void 0?void 0:a.toLowerCase())!=="c"&&(r==="TB"||r==="BT"?i.data.width+=i.data.labeloffset:i.data.height+=i.data.labeloffset)}),e/2},BL=n=>{n.getAllEdges().forEach(t=>{if(t.data.width&&t.data.height){const e=n.getNode(t.source),r=n.getNode(t.target),i={e:t,rank:(r.data.rank-e.data.rank)/2+e.data.rank};yo(n,"edge-proxy",i,"_ep")}})},zL=n=>{let t=0;return n.getAllNodes().forEach(e=>{var r,i;e.data.borderTop&&(e.data.minRank=(r=n.getNode(e.data.borderTop))===null||r===void 0?void 0:r.data.rank,e.data.maxRank=(i=n.getNode(e.data.borderBottom))===null||i===void 0?void 0:i.data.rank,t=Math.max(t,e.data.maxRank||-1/0))}),t},jL=n=>{n.getAllNodes().forEach(t=>{t.data.dummy==="edge-proxy"&&(n.getEdge(t.data.e.id).data.labelRank=t.data.rank,n.removeNode(t.id))})},FL=(n,t)=>{let e,r=0,i,a=0;const{marginx:s=0,marginy:o=0}=t||{},l=c=>{if(!c.data)return;const u=c.data.x,h=c.data.y,f=c.data.width,d=c.data.height;!isNaN(u)&&!isNaN(f)&&(e===void 0&&(e=u-f/2),e=Math.min(e,u-f/2),r=Math.max(r,u+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 n.getAllNodes().forEach(c=>{l(c)}),n.getAllEdges().forEach(c=>{c!=null&&c.data.hasOwnProperty("x")&&l(c)}),e-=s,i-=o,n.getAllNodes().forEach(c=>{c.data.x-=e,c.data.y-=i}),n.getAllEdges().forEach(c=>{var u;(u=c.data.points)===null||u===void 0||u.forEach(h=>{h.x-=e,h.y-=i}),c.data.hasOwnProperty("x")&&(c.data.x-=e),c.data.hasOwnProperty("y")&&(c.data.y-=i)}),{width:r-e+s,height:a-i+o}},ZL=n=>{n.getAllEdges().forEach(t=>{const e=n.getNode(t.source),r=n.getNode(t.target);let i,a;t.data.points?(i=t.data.points[0],a=t.data.points[t.data.points.length-1]):(t.data.points=[],i={x:r.data.x,y:r.data.y},a={x:e.data.x,y:e.data.y}),t.data.points.unshift(z1(e.data,i)),t.data.points.push(z1(r.data,a))})},_L=n=>{n.getAllEdges().forEach(t=>{if(t.data.hasOwnProperty("x"))switch((t.data.labelpos==="l"||t.data.labelpos==="r")&&(t.data.width-=t.data.labeloffset),t.data.labelpos){case"l":t.data.x-=t.data.width/2+t.data.labeloffset;break;case"r":t.data.x+=t.data.width/2+t.data.labeloffset;break}})},HL=n=>{n.getAllEdges().forEach(t=>{var e;t.data.reversed&&((e=t.data.points)===null||e===void 0||e.reverse())})},GL=n=>{n.getAllNodes().forEach(t=>{var e,r,i;if(!((e=n.getChildren(t.id))===null||e===void 0)&&e.length){const a=n.getNode(t.id),s=n.getNode(a.data.borderTop),o=n.getNode(a.data.borderBottom),l=n.getNode(a.data.borderLeft[((r=a.data.borderLeft)===null||r===void 0?void 0:r.length)-1]),c=n.getNode(a.data.borderRight[((i=a.data.borderRight)===null||i===void 0?void 0:i.length)-1]);a.data.width=Math.abs((c==null?void 0:c.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}}),n.getAllNodes().forEach(t=>{t.data.dummy==="border"&&n.removeNode(t.id)})},WL=n=>{n.getAllEdges().forEach(t=>{if(t.source===t.target){const e=n.getNode(t.source);e.data.selfEdges||(e.data.selfEdges=[]),e.data.selfEdges.push(t),n.removeEdge(t.id)}})},XL=n=>{const t=Cl(n);t==null||t.forEach(e=>{let r=0;e==null||e.forEach((i,a)=>{var s;const o=n.getNode(i);o.data.order=a+r,(s=o.data.selfEdges)===null||s===void 0||s.forEach(l=>{yo(n,"selfedge",{width:l.data.width,height:l.data.height,rank:o.data.rank,order:a+ ++r,e:l},"_se")}),delete o.data.selfEdges})})},VL=n=>{n.getAllNodes().forEach(t=>{const e=n.getNode(t.id);if(e.data.dummy==="selfedge"){const r=n.getNode(e.data.e.source),i=r.data.x+r.data.width/2,a=r.data.y,s=e.data.x-i,o=r.data.height/2;n.hasEdge(e.data.e.id)?n.updateEdgeData(e.data.e.id,e.data.e.data):n.addEdge({id:e.data.e.id,source:e.data.e.source,target:e.data.e.target,data:e.data.e.data}),n.removeNode(t.id),e.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}],e.data.e.data.x=e.data.x,e.data.e.data.y=e.data.y}})},gb=(n,t)=>{const e={};return t==null||t.forEach(r=>{n[r]!==void 0&&(e[r]=+n[r])}),e},pb=(n={})=>{const t={};return Object.keys(n).forEach(e=>{t[e.toLowerCase()]=n[e]}),t};function Nl(n){if(!n)return[0,0,0];if(ie(n))return[n,n,n];if(n.length===0)return[0,0,0];const[t,e=t,r=t]=n;return[t,e,r]}function Zs(n,t){let e;return de(t)?e=t:ie(t)?e=()=>t:e=()=>n,e}function Tv(n,t,e=!0){return!t&&t!==0?r=>{const{size:i}=r.data||{};return i?Array.isArray(i)?e?Math.max(...i)||n:i:Fn(i)&&i.width&&i.height?e?Math.max(i.width,i.height)||n:[i.width,i.height]:i:n}:de(t)?t:ie(t)?()=>t:Array.isArray(t)?()=>e?Math.max(...t)||n:t:Fn(t)&&t.width&&t.height?()=>e?Math.max(t.width,t.height)||n:[t.width,t.height]:()=>n}const Cv=(n,t,e=10)=>{let r;const i=typeof t=="function"?t:()=>t||0;return n?Array.isArray(n)?r=s=>n:de(n)?r=n:r=s=>n:r=s=>{var o,l,c;if(!((o=s.data)===null||o===void 0)&&o.bboxSize)return(l=s.data)===null||l===void 0?void 0:l.bboxSize;if(!((c=s.data)===null||c===void 0)&&c.size){const u=s.data.size;return Array.isArray(u)?u:Fn(u)?[u.width,u.height]:u}return e},s=>{const o=r(s),l=i(s);return Math.max(...Nl(o))+l}},Nv=n=>{if(n===null)return n;if(n instanceof Date)return new Date(n.getTime());if(n instanceof Array){const t=[];return n.forEach(e=>{t.push(e)}),t.map(e=>Nv(e))}if(typeof n=="object"){const t={};return Object.keys(n).forEach(e=>{t[e]=Nv(n[e])}),t}return n},si=(n,t)=>{const e=Nv(n);return e.data=e.data||{},t&&(ie(e.data.x)||(e.data.x=Math.random()*t[0]),ie(e.data.y)||(e.data.y=Math.random()*t[1])),e},YL={rankdir:"TB",nodesep:50,ranksep:50,edgeLabelSpace:!0,ranker:"tight-tree",controlPoints:!1,radial:!1,focusNode:null};class UL{constructor(t={}){this.options=t,this.id="antv-dagre",this.options=Object.assign(Object.assign({},YL),t)}execute(t,e){return(0,G.mG)(this,void 0,void 0,function*(){return this.genericDagreLayout(!1,t,e)})}assign(t,e){return(0,G.mG)(this,void 0,void 0,function*(){yield this.genericDagreLayout(!0,t,e)})}genericDagreLayout(t,e,r){return(0,G.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),r),{nodeSize:a,align:s,rankdir:o="TB",ranksep:l,nodesep:c,ranksepFunc:u,nodesepFunc:h,edgeLabelSpace:f,ranker:d,nodeOrder:v,begin:g,controlPoints:p,radial:y,sortByCombo:b,preset:M}=i,O=new Xn({tree:[]}),k=Zs(l||50,u),D=Zs(c||50,h);let j=D,B=k;(o==="LR"||o==="RL")&&(j=k,B=D);const W=Tv(10,a,!1),V=e.getAllNodes(),q=e.getAllEdges();V.forEach(mt=>{const yt=Nl(W(mt)),Lt=B(mt),Zt=j(mt),Ut=yt[0]+2*Zt,ee=yt[1]+2*Lt,ae=mt.data.layer;ie(ae)?O.addNode({id:mt.id,data:{width:Ut,height:ee,layer:ae}}):O.addNode({id:mt.id,data:{width:Ut,height:ee}})}),b&&(O.attachTreeStructure("combo"),V.forEach(mt=>{const{parentId:yt}=mt.data;yt!==void 0&&O.hasNode(yt)&&O.setParent(mt.id,yt,"combo")})),q.forEach(mt=>{O.addEdge({id:mt.id,source:mt.source,target:mt.target,data:{weight:mt.data.weight||1}})});let $;M!=null&&M.length&&($=new Xn({nodes:M})),SL(O,{prevGraph:$,edgeLabelSpace:f,keepNodeOrder:!!v,nodeOrder:v||[],acyclicer:"greedy",ranker:d,rankdir:o,nodesep:c,align:s});const ot=[0,0];if(g){let mt=1/0,yt=1/0;O.getAllNodes().forEach(Lt=>{mt>Lt.data.x&&(mt=Lt.data.x),yt>Lt.data.y&&(yt=Lt.data.y)}),O.getAllEdges().forEach(Lt=>{var Zt;(Zt=Lt.data.points)===null||Zt===void 0||Zt.forEach(Ut=>{mt>Ut.x&&(mt=Ut.x),yt>Ut.y&&(yt=Ut.y)})}),ot[0]=g[0]-mt,ot[1]=g[1]-yt}const ct=o==="LR"||o==="RL";if(!y){const mt=new Set,Lt=o==="BT"||o==="RL"?(ae,he)=>he-ae:(ae,he)=>ae-he;O.getAllNodes().forEach(ae=>{ae.data.x=ae.data.x+ot[0],ae.data.y=ae.data.y+ot[1],mt.add(ct?ae.data.x:ae.data.y)});const Zt=Array.from(mt).sort(Lt),Ut=ct?(ae,he)=>ae.x!==he.x:(ae,he)=>ae.y!==he.y,ee=ct?(ae,he,ce)=>{const Ee=Math.max(he.y,ce.y),Ce=Math.min(he.y,ce.y);return ae.filter(Ze=>Ze.y<=Ee&&Ze.y>=Ce)}:(ae,he,ce)=>{const Ee=Math.max(he.x,ce.x),Ce=Math.min(he.x,ce.x);return ae.filter(Ze=>Ze.x<=Ee&&Ze.x>=Ce)};O.getAllEdges().forEach((ae,he)=>{var ce;f&&p&&ae.data.type!=="loop"&&(ae.data.controlPoints=KL((ce=ae.data.points)===null||ce===void 0?void 0:ce.map(({x:Ee,y:Ce})=>({x:Ee+ot[0],y:Ce+ot[1]})),O.getNode(ae.source),O.getNode(ae.target),Zt,ct,Ut,ee))})}let vt=[];vt=O.getAllNodes().map(mt=>si(mt));const Ct=O.getAllEdges();return t&&(vt.forEach(mt=>{e.mergeNodeData(mt.id,{x:mt.data.x,y:mt.data.y})}),Ct.forEach(mt=>{e.mergeEdgeData(mt.id,{controlPoints:mt.data.controlPoints})})),{nodes:vt,edges:Ct}})}}const KL=(n,t,e,r,i,a,s)=>{let o=(n==null?void 0:n.slice(1,n.length-1))||[];if(t&&e){let{x:l,y:c}=t.data,{x:u,y:h}=e.data;if(i&&(l=t.data.y,c=t.data.x,u=e.data.y,h=e.data.x),h!==c&&l!==u){const f=r.indexOf(c),d=r[f+1];if(d){const p=o[0],y=i?{x:(c+d)/2,y:(p==null?void 0:p.y)||u}:{x:(p==null?void 0:p.x)||u,y:(c+d)/2};(!p||a(p,y))&&o.unshift(y)}const v=r.indexOf(h),g=Math.abs(v-f);if(g===1)o=s(o,t.data,e.data),o.length||o.push(i?{x:(c+h)/2,y:l}:{x:l,y:(c+h)/2});else if(g>1){const p=r[v-1];if(p){const y=o[o.length-1],b=i?{x:(h+p)/2,y:(y==null?void 0:y.y)||u}:{x:(y==null?void 0:y.x)||l,y:(h+p)/2};(!y||a(y,b))&&o.push(b)}}}}return o},_s=(n,t,e)=>{const r=n.getAllNodes(),i=n.getAllEdges();if(!(r!=null&&r.length))return{nodes:[],edges:i};if(r.length===1)return t&&n.mergeNodeData(r[0].id,{x:e[0],y:e[1]}),{nodes:[Object.assign(Object.assign({},r[0]),{data:Object.assign(Object.assign({},r[0].data),{x:e[0],y:e[1]})})],edges:i}},QL={radius:null,startRadius:null,endRadius:null,startAngle:0,endAngle:2*Math.PI,clockwise:!0,divisions:1,ordering:null,angleRatio:1};class JL{constructor(t={}){this.options=t,this.id="circular",this.options=Object.assign(Object.assign({},QL),t)}execute(t,e){return(0,G.mG)(this,void 0,void 0,function*(){return this.genericCircularLayout(!1,t,e)})}assign(t,e){return(0,G.mG)(this,void 0,void 0,function*(){yield this.genericCircularLayout(!0,t,e)})}genericCircularLayout(t,e,r){return(0,G.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),r),{width:a,height:s,center:o,divisions:l,startAngle:c=0,endAngle:u=2*Math.PI,angleRatio:h,ordering:f,clockwise:d,nodeSpacing:v,nodeSize:g}=i,p=e.getAllNodes(),y=e.getAllEdges(),[b,M,O]=$L(a,s,o),k=p==null?void 0:p.length;if(!k||k===1)return _s(e,t,O);const D=(u-c)/k;let{radius:j,startRadius:B,endRadius:W}=i;if(v){const ct=Zs(10,v),vt=Tv(10,g);let Ct=-1/0;p.forEach(mt=>{const yt=vt(mt);Ct<yt&&(Ct=yt)});let Ot=0;p.forEach((mt,yt)=>{yt===0?Ot+=Ct||10:Ot+=(ct(mt)||0)+(Ct||10)}),j=Ot/(2*Math.PI)}else!j&&!B&&!W?j=Math.min(M,b)/2:!B&&W?B=W:B&&!W&&(W=B);const V=D*h;let q=[];f==="topology"?q=mb(e,p):f==="topology-directed"?q=mb(e,p,!0):f==="degree"?q=qL(e,p):q=p.map(ct=>si(ct));const $=Math.ceil(k/l);for(let ct=0;ct<k;++ct){let vt=j;!vt&&B!==null&&W!==null&&(vt=B+ct*(W-B)/(k-1)),vt||(vt=10+ct*100/(k-1));let Ct=c+ct%$*V+2*Math.PI/l*Math.floor(ct/$);d||(Ct=u-ct%$*V-2*Math.PI/l*Math.floor(ct/$)),q[ct].data.x=O[0]+Math.cos(Ct)*vt,q[ct].data.y=O[1]+Math.sin(Ct)*vt}return t&&q.forEach(ct=>{e.mergeNodeData(ct.id,{x:ct.data.x,y:ct.data.y})}),{nodes:q,edges:y}})}}const mb=(n,t,e=!1)=>{const r=[si(t[0])],i={},a=t.length;i[t[0].id]=!0;let s=0;return t.forEach((o,l)=>{if(l!==0)if((l===a-1||n.getDegree(o.id,"both")!==n.getDegree(t[l+1].id,"both")||n.areNeighbors(r[s].id,o.id))&&!i[o.id])r.push(si(o)),i[o.id]=!0,s++;else{const c=e?n.getSuccessors(r[s].id):n.getNeighbors(r[s].id);let u=!1;for(let f=0;f<c.length;f++){const d=c[f];if(n.getDegree(d.id)===n.getDegree(o.id)&&!i[d.id]){r.push(si(d)),i[d.id]=!0,u=!0;break}}let h=0;for(;!u&&(i[t[h].id]||(r.push(si(t[h])),i[t[h].id]=!0,u=!0),h++,h!==a););}}),r};function qL(n,t){const e=[];return t.forEach((r,i)=>{e.push(si(r))}),e.sort((r,i)=>n.getDegree(r.id,"both")-n.getDegree(i.id,"both")),e}const $L=(n,t,e)=>{let r=n,i=t,a=e;return!r&&typeof window!="undefined"&&(r=window.innerWidth),!i&&typeof window!="undefined"&&(i=window.innerHeight),a||(a=[r/2,i/2]),[r,i,a]},Ea=Array.isArray,tD={nodeSize:30,nodeSpacing:10,preventOverlap:!1,sweep:void 0,equidistant:!1,startAngle:3/2*Math.PI,clockwise:!0,maxLevelDiff:void 0,sortBy:"degree"};class kv{constructor(t={}){this.options=t,this.id="concentric",this.options=Object.assign(Object.assign({},tD),t)}execute(t,e){return(0,G.mG)(this,void 0,void 0,function*(){return this.genericConcentricLayout(!1,t,e)})}assign(t,e){return(0,G.mG)(this,void 0,void 0,function*(){yield this.genericConcentricLayout(!0,t,e)})}genericConcentricLayout(t,e,r){return(0,G.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),r),{center:a,width:s,height:o,sortBy:l,maxLevelDiff:c,sweep:u,clockwise:h,equidistant:f,preventOverlap:d,startAngle:v=3/2*Math.PI,nodeSize:g,nodeSpacing:p}=i,y=e.getAllNodes(),b=e.getAllEdges(),M=!s&&typeof window!="undefined"?window.innerWidth:s,O=!o&&typeof window!="undefined"?window.innerHeight:o,k=a||[M/2,O/2];if(!(y!=null&&y.length)||y.length===1)return _s(e,t,k);const D=[];let j,B=0;Ea(g)?j=Math.max(g[0],g[1]):de(g)?(j=-1/0,y.forEach(mt=>{const yt=Math.max(...Nl(g(mt)));yt>j&&(j=yt)})):j=g,Ea(p)?B=Math.max(p[0],p[1]):ie(p)&&(B=p),y.forEach(mt=>{const yt=si(mt);D.push(yt);let Lt=j;const{data:Zt}=yt;Ea(Zt.size)?Lt=Math.max(Zt.size[0],Zt.size[1]):ie(Zt.size)?Lt=Zt.size:Fn(Zt.size)&&(Lt=Math.max(Zt.size.width,Zt.size.height)),j=Math.max(j,Lt),de(p)&&(B=Math.max(p(mt),B))});const W={};D.forEach((mt,yt)=>{W[mt.id]=yt});let V=l;(!We(V)||D[0].data[V]===void 0)&&(V="degree"),V==="degree"?D.sort((mt,yt)=>e.getDegree(yt.id,"both")-e.getDegree(mt.id,"both")):D.sort((mt,yt)=>yt.data[V]-mt.data[V]);const q=D[0],$=(c||(V==="degree"?e.getDegree(q.id,"both"):q.data[V]))/4,ot=[{nodes:[]}];let ct=ot[0];D.forEach(mt=>{if(ct.nodes.length>0){const yt=Math.abs(V==="degree"?e.getDegree(ct.nodes[0].id,"both")-e.getDegree(mt.id,"both"):ct.nodes[0].data[V]-mt.data[V]);$&&yt>=$&&(ct={nodes:[]},ot.push(ct))}ct.nodes.push(mt)});let vt=j+B;if(!d){const mt=ot.length>0&&ot[0].nodes.length>1,Lt=(Math.min(M,O)/2-vt)/(ot.length+(mt?1:0));vt=Math.min(vt,Lt)}let Ct=0;if(ot.forEach(mt=>{const yt=u===void 0?2*Math.PI-2*Math.PI/mt.nodes.length:u;if(mt.dTheta=yt/Math.max(1,mt.nodes.length-1),mt.nodes.length>1&&d){const Lt=Math.cos(mt.dTheta)-Math.cos(0),Zt=Math.sin(mt.dTheta)-Math.sin(0),Ut=Math.sqrt(vt*vt/(Lt*Lt+Zt*Zt));Ct=Math.max(Ut,Ct)}mt.r=Ct,Ct+=vt}),f){let mt=0,yt=0;for(let Lt=0;Lt<ot.length;Lt++){const Ut=(ot[Lt].r||0)-yt;mt=Math.max(mt,Ut)}yt=0,ot.forEach((Lt,Zt)=>{Zt===0&&(yt=Lt.r||0),Lt.r=yt,yt+=mt})}return ot.forEach(mt=>{const yt=mt.dTheta||0,Lt=mt.r||0;mt.nodes.forEach((Zt,Ut)=>{const ee=v+(h?1:-1)*yt*Ut;Zt.data.x=k[0]+Lt*Math.cos(ee),Zt.data.y=k[1]+Lt*Math.sin(ee)})}),t&&D.forEach(mt=>e.mergeNodeData(mt.id,{x:mt.data.x,y:mt.data.y})),{nodes:D,edges:b}})}}var Lv=E(14301),eD=E(7695);const nD=.81,Dv=.1;function rD(n,t,e,r,i=2){const a=t/e,s=n.getAllNodes(),o=s.map((u,h)=>{const{nodeStrength:f,x:d,y:v,z:g,size:p}=u.data;return{x:d,y:v,z:g,size:p,index:h,id:u.id,vx:0,vy:0,vz:0,weight:a*f}}),l=(i===2?(0,Lv.Z)(o,u=>u.x,u=>u.y):(0,eD.Z)(o,u=>u.x,u=>u.y,u=>u.z)).visitAfter(iD),c=new Map;return o.forEach(u=>{c.set(u.id,u),sD(u,l,i)}),o.map((u,h)=>{const{id:f,data:d}=s[h],{mass:v=1}=d;r[f]={x:u.vx/v,y:u.vy/v,z:u.vz/v}}),r}function iD(n){let t=0,e=0,r=0,i=0,a=0;const s=n.length;if(s){for(let o=0;o<s;o++){const l=n[o];l&&l.weight&&(t+=l.weight,e+=l.x*l.weight,r+=l.y*l.weight,i+=l.z*l.weight,a+=l.size*l.weight)}n.x=e/t,n.y=r/t,n.z=i/t,n.size=a/t,n.weight=t}else{const o=n;n.x=o.data.x,n.y=o.data.y,n.z=o.data.z,n.size=o.data.size,n.weight=o.data.weight}}const aD=(n,t,e,r,i,a,s)=>{var o;if(((o=n.data)===null||o===void 0?void 0:o.id)===a.id)return;const l=[e,r,i][s-1],c=a.x-n.x||Dv,u=a.y-n.y||Dv,h=a.z-n.z||Dv,f=[c,u,h],d=l-t;let v=0;for(let y=0;y<s;y++)v+=f[y]*f[y];const p=Math.sqrt(v)*v;if(d*d*nD<v){const y=n.weight/p;return a.vx+=c*y,a.vy+=u*y,a.vz+=h*y,!0}if(n.length)return!1;if(n.data!==a){const y=n.data.weight/p;a.vx+=c*y,a.vy+=u*y,a.vz+=h*y}};function sD(n,t,e){t.visit((r,i,a,s,o)=>aD(r,i,a,s,o,n,e))}const oD={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 yb{constructor(t={}){this.options=t,this.id="force",this.timeInterval=0,this.judgingDistance=0,this.running=!1,this.options=Object.assign(Object.assign({},oD),t)}execute(t,e){return(0,G.mG)(this,void 0,void 0,function*(){return this.genericForceLayout(!1,t,e)})}assign(t,e){return(0,G.mG)(this,void 0,void 0,function*(){yield this.genericForceLayout(!0,t,e)})}stop(){this.timeInterval&&typeof window!="undefined"&&window.clearInterval(this.timeInterval),this.running=!1}tick(t=this.options.maxIteration||1){if(this.lastResult)return this.lastResult;for(let r=0;(this.judgingDistance>this.lastOptions.minMovement||r<1)&&r<t;r++)this.runOneStep(this.lastCalcGraph,this.lastGraph,r,this.lastVelMap,this.lastOptions),this.updatePosition(this.lastGraph,this.lastCalcGraph,this.lastVelMap,this.lastOptions);const e={nodes:this.lastLayoutNodes,edges:this.lastLayoutEdges};return this.lastAssign&&e.nodes.forEach(r=>this.lastGraph.mergeNodeData(r.id,{x:r.data.x,y:r.data.y,z:this.options.dimensions===3?r.data.z:void 0})),e}genericForceLayout(t,e,r){return(0,G.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),r),a=e.getAllNodes(),s=e.getAllEdges(),o=this.formatOptions(i,e),{dimensions:l,width:c,height:u,nodeSize:h,getMass:f,nodeStrength:d,edgeStrength:v,linkDistance:g}=o,p=a.map((B,W)=>Object.assign(Object.assign({},B),{data:Object.assign(Object.assign({},B.data),{x:ie(B.data.x)?B.data.x:Math.random()*c,y:ie(B.data.y)?B.data.y:Math.random()*u,z:ie(B.data.z)?B.data.z:Math.random()*Math.sqrt(c*u),size:h(B)||30,mass:f(B),nodeStrength:d(B)})})),y=s.map(B=>Object.assign(Object.assign({},B),{data:Object.assign(Object.assign({},B.data),{edgeStrength:v(B),linkDistance:g(B,e.getNode(B.source),e.getNode(B.target))})}));if(!(a!=null&&a.length))return this.lastResult={nodes:[],edges:s},{nodes:[],edges:s};const b={};a.forEach((B,W)=>{b[B.id]={x:0,y:0,z:0}});const M=new Xn({nodes:p,edges:y});this.formatCentripetal(o,M);const{maxIteration:O,minMovement:k,onTick:D}=o;if(this.lastLayoutNodes=p,this.lastLayoutEdges=y,this.lastAssign=t,this.lastGraph=e,this.lastCalcGraph=M,this.lastOptions=o,this.lastVelMap=b,typeof window=="undefined")return;let j=0;return new Promise(B=>{this.timeInterval=window.setInterval(()=>{(!a||!this.running)&&B({nodes:Rv(e,p),edges:s}),this.runOneStep(M,e,j,b,o),this.updatePosition(e,M,b,o),t&&p.forEach(W=>e.mergeNodeData(W.id,{x:W.data.x,y:W.data.y,z:l===3?W.data.z:void 0})),D==null||D({nodes:Rv(e,p),edges:s}),j++,(j>=O||this.judgingDistance<k)&&(window.clearInterval(this.timeInterval),B({nodes:Rv(e,p),edges:s}))},0),this.running=!0})})}formatOptions(t,e){const r=Object.assign({},t),{width:i,height:a,getMass:s}=t;r.width=!i&&typeof window!="undefined"?window.innerWidth:i,r.height=!a&&typeof window!="undefined"?window.innerHeight:a,t.center||(r.center=[r.width/2,r.height/2]),s||(r.getMass=l=>{let c=1;ie(l==null?void 0:l.data.mass)&&(c=l==null?void 0:l.data.mass);const u=e.getDegree(l.id,"both");return!u||u<5?c:u*5*c}),r.nodeSize=Cv(t.nodeSize,t.nodeSpacing);const o=t.linkDistance?Zs(1,t.linkDistance):l=>1+r.nodeSize(e.getNode(l.source))+r.nodeSize(e.getNode(l.target));return r.linkDistance=o,r.nodeStrength=Zs(1,t.nodeStrength),r.edgeStrength=Zs(1,t.edgeStrength),r}formatCentripetal(t,e){const{dimensions:r,centripetalOptions:i,center:a,clusterNodeStrength:s,leafCluster:o,clustering:l,nodeClusterBy:c}=t,u=e.getAllNodes(),h=i||{leaf:2,single:2,others:1,center:y=>({x:a[0],y:a[1],z:r===3?a[2]:void 0})};typeof s!="function"&&(t.clusterNodeStrength=y=>s);let f,d;if(o&&c&&(f=bb(e,c),d=Array.from(new Set(u==null?void 0:u.map(y=>y.data[c])))||[],t.centripetalOptions=Object.assign(h,{single:100,leaf:y=>{const{siblingLeaves:b,sameTypeLeaves:M}=f[y.id]||{};return(M==null?void 0:M.length)===(b==null?void 0:b.length)||(d==null?void 0:d.length)===1?1:t.clusterNodeStrength(y)},others:1,center:y=>{const b=e.getDegree(y.id,"both");if(!b)return{x:100,y:100,z:0};let M;if(b===1){const{sameTypeLeaves:O=[]}=f[y.id]||{};O.length===1?M=void 0:O.length>1&&(M=xb(O))}else M=void 0;return{x:M==null?void 0:M.x,y:M==null?void 0:M.y,z:M==null?void 0:M.z}}})),l&&c){f||(f=bb(e,c)),d||(d=Array.from(new Set(u.map(b=>b.data[c])))),d=d.filter(b=>b!==void 0);const y={};d.forEach(b=>{const M=u.filter(O=>O.data[c]===b).map(O=>e.getNode(O.id));y[b]=xb(M)}),t.centripetalOptions=Object.assign(h,{single:b=>t.clusterNodeStrength(b),leaf:b=>t.clusterNodeStrength(b),others:b=>t.clusterNodeStrength(b),center:b=>{const M=y[b.data[c]];return{x:M==null?void 0:M.x,y:M==null?void 0:M.y,z:M==null?void 0:M.z}}})}const{leaf:v,single:g,others:p}=t.centripetalOptions||{};v&&typeof v!="function"&&(t.centripetalOptions.leaf=()=>v),g&&typeof g!="function"&&(t.centripetalOptions.single=()=>g),p&&typeof p!="function"&&(t.centripetalOptions.others=()=>p)}runOneStep(t,e,r,i,a){const s={},o=t.getAllNodes(),l=t.getAllEdges();if(!(o!=null&&o.length))return;const{monitor:c}=a;if(this.calRepulsive(t,s,a),l&&this.calAttractive(t,s,a),this.calGravity(t,e,s,a),this.updateVelocity(t,s,i,a),c){const u=this.calTotalEnergy(s,o);c({energy:u,nodes:e.getAllNodes(),edges:e.getAllEdges(),iterations:r})}}calTotalEnergy(t,e){if(!(e!=null&&e.length))return 0;let r=0;return e.forEach((i,a)=>{const s=t[i.id].x,o=t[i.id].y,l=this.options.dimensions===3?t[i.id].z:0,c=s*s+o*o+l*l,{mass:u=1}=i.data;r+=u*c*.5}),r}calRepulsive(t,e,r){const{dimensions:i,factor:a,coulombDisScale:s}=r;rD(t,a,s*s,e,i)}calAttractive(t,e,r){const{dimensions:i,nodeSize:a}=r;t.getAllEdges().forEach((s,o)=>{const{source:l,target:c}=s,u=t.getNode(l),h=t.getNode(c);if(!u||!h)return;let f=h.data.x-u.data.x,d=h.data.y-u.data.y,v=i===3?h.data.z-u.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(u)+a(h))return;const p=f/g,y=d/g,b=v/g,{linkDistance:M=200,edgeStrength:O=200}=s.data||{},D=(M-g)*O,j=u.data.mass||1,B=h.data.mass||1,W=1/j,V=1/B,q=p*D,$=y*D,ot=b*D;e[l].x-=q*W,e[l].y-=$*W,e[l].z-=ot*W,e[c].x+=q*V,e[c].y+=$*V,e[c].z+=ot*V})}calGravity(t,e,r,i){const{getCenter:a}=i,s=t.getAllNodes(),o=e.getAllNodes(),l=e.getAllEdges(),{width:c,height:u,center:h,gravity:f,centripetalOptions:d}=i;s&&s.forEach(v=>{const{id:g,data:p}=v,{mass:y,x:b,y:M,z:O}=p,k=e.getNode(g);let D=0,j=0,B=0,W=f;const V=t.getDegree(g,"in"),q=t.getDegree(g,"out"),$=t.getDegree(g,"both"),ot=a==null?void 0:a(k,$);if(ot){const[ct,vt,Ct]=ot;D=b-ct,j=M-vt,W=Ct}else D=b-h[0],j=M-h[1],B=O-h[2];if(W&&(r[g].x-=W*D/y,r[g].y-=W*j/y,r[g].z-=W*B/y),d){const{leaf:ct,single:vt,others:Ct,center:Ot}=d,{x:mt,y:yt,z:Lt,centerStrength:Zt}=(Ot==null?void 0:Ot(k,o,l,c,u))||{x:0,y:0,z:0,centerStrength:0};if(!ie(mt)||!ie(yt))return;const Ut=(b-mt)/y,ee=(M-yt)/y,ae=(O-Lt)/y;if(Zt&&(r[g].x-=Zt*Ut,r[g].y-=Zt*ee,r[g].z-=Zt*ae),$===0){const ce=vt(k);if(!ce)return;r[g].x-=ce*Ut,r[g].y-=ce*ee,r[g].z-=ce*ae;return}if(V===0||q===0){const ce=ct(k,o,l);if(!ce)return;r[g].x-=ce*Ut,r[g].y-=ce*ee,r[g].z-=ce*ae;return}const he=Ct(k);if(!he)return;r[g].x-=he*Ut,r[g].y-=he*ee,r[g].z-=he*ae}})}updateVelocity(t,e,r,i){const{damping:a,maxSpeed:s,interval:o,dimensions:l}=i,c=t.getAllNodes();c!=null&&c.length&&c.forEach(u=>{const{id:h}=u;let f=(r[h].x+e[h].x*o)*a||.01,d=(r[h].y+e[h].y*o)*a||.01,v=l===3?(r[h].z+e[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}r[h]={x:f,y:d,z:v}})}updatePosition(t,e,r,i){const{distanceThresholdMode:a,interval:s,dimensions:o}=i,l=e.getAllNodes();if(!(l!=null&&l.length)){this.judgingDistance=0;return}let c=0;a==="max"?this.judgingDistance=-1/0:a==="min"&&(this.judgingDistance=1/0),l.forEach(u=>{const{id:h}=u,f=t.getNode(h);if(ie(f.data.fx)&&ie(f.data.fy)){e.mergeNodeData(h,{x:f.data.fx,y:f.data.fy,z:o===3?f.data.fz:void 0});return}const d=r[h].x*s,v=r[h].y*s,g=o===3?r[h].z*s:0;e.mergeNodeData(h,{x:u.data.x+d,y:u.data.y+v,z:u.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:c=c+p;break}}),(!a||a==="mean")&&(this.judgingDistance=c/l.length)}}const bb=(n,t)=>{const e=n.getAllNodes();if(!(e!=null&&e.length))return{};const r={};return e.forEach((i,a)=>{n.getDegree(i.id,"both")===1&&(r[i.id]=lD(n,"leaf",i,t))}),r},lD=(n,t,e,r)=>{const i=n.getDegree(e.id,"in"),a=n.getDegree(e.id,"out");let s=e,o=[];i===0?(s=n.getSuccessors(e.id)[0],o=n.getNeighbors(s.id)):a===0&&(s=n.getPredecessors(e.id)[0],o=n.getNeighbors(s.id)),o=o.filter(c=>n.getDegree(c.id,"in")===0||n.getDegree(c.id,"out")===0);const l=cD(n,t,r,e,o);return{coreNode:s,siblingLeaves:o,sameTypeLeaves:l}},cD=(n,t,e,r,i)=>{const a=r.data[e]||"";let s=(i==null?void 0:i.filter(o=>o.data[e]===a))||[];return t==="leaf"&&(s=s.filter(o=>n.getDegree(o.id,"in")===0||n.getDegree(o.id,"out")===0)),s},xb=n=>{const t={x:0,y:0};n.forEach(r=>{const{x:i,y:a}=r.data;t.x+=i||0,t.y+=a||0});const e=n.length||1;return{x:t.x/e,y:t.y/e}},Rv=(n,t)=>t.map(e=>{const{id:r,data:i}=e,a=n.getNode(r);return Object.assign(Object.assign({},a),{data:Object.assign(Object.assign({},a.data),{x:i.x,y:i.y,z:i.z})})});var He=E(56184);const lF=He.XA,cF=He.a_,uF=He.yQ,hF=He.Hs,fF=He.Ec,dF=He.dx,vF=He.LU,gF=He.Rm,Ua=He.y3,pF=He.qK,mF=He.pb,yF=He.j,bF=He.sO,xF=He.BZ,EF=He.EK,wF=He.Db,MF=He.Fx,AF=He.tU,PF=He.Ym,SF=He.rs,OF=He.QR,TF=He.TB,CF=He.oH,Eb=He.Sc,NF=He.BN,kF=He.it,LF=He.$r,DF=He.QM,RF=He.AV;var IF=(He.y3,He.y3);const BF=He.GH,zF=He.SO,jF=He.uZ,FF=He.yU,ZF=He.F1,_F=He.re,wb=n=>{const t=[],e=n.length;for(let r=0;r<e;r+=1){t[r]=[];for(let i=0;i<e;i+=1)r===i?t[r][i]=0:n[r][i]===0||!n[r][i]?t[r][i]=1/0:t[r][i]=n[r][i]}for(let r=0;r<e;r+=1)for(let i=0;i<e;i+=1)for(let a=0;a<e;a+=1)t[i][a]>t[i][r]+t[r][a]&&(t[i][a]=t[i][r]+t[r][a]);return t},Mb=(n,t)=>{const{nodes:e,edges:r}=n,i=[],a={};if(!e)throw new Error("invalid nodes data!");return e&&e.forEach((s,o)=>{a[s.id]=o;const l=[];i.push(l)}),r==null||r.forEach(s=>{const{source:o,target:l}=s,c=a[o],u=a[l];c===void 0||u===void 0||(i[c][u]=1,t||(i[u][c]=1))}),i},uD=(n,t)=>{const e=[];return n.forEach(r=>{const i=[];r.forEach(a=>{i.push(a*t)}),e.push(i)}),e},hD=n=>{let t=1/0,e=1/0,r=-1/0,i=-1/0;return n.forEach(a=>{let s=a.data.size;Ea(s)?s.length===1&&(s=[s[0],s[0]]):ie(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],c=a.data.x+o[0],u=a.data.y-o[1],h=a.data.y+o[1];t>l&&(t=l),e>u&&(e=u),r<c&&(r=c),i<h&&(i=h)}),{minX:t,minY:e,maxX:r,maxY:i}},Ab=(n,t)=>Math.sqrt((n.x-t.x)*(n.x-t.x)+(n.y-t.y)*(n.y-t.y)),Iv=(n,t,e,r="TB",i,a={})=>{if(!(t!=null&&t.length))return;const{stopBranchFn:s,stopAllFn:o}=a;for(let l=0;l<t.length;l++){const c=t[l];if(n.hasNode(c.id)&&!(s!=null&&s(c))){if(o!=null&&o(c))return;r==="TB"&&e(c),Iv(n,n.getChildren(c.id,i),e,r,i,a),r!=="TB"&&e(c)}}},fD={center:[0,0],linkDistance:50};class Pb{constructor(t={}){this.options=t,this.id="mds",this.options=Object.assign(Object.assign({},fD),t)}execute(t,e){return(0,G.mG)(this,void 0,void 0,function*(){return this.genericMDSLayout(!1,t,e)})}assign(t,e){return(0,G.mG)(this,void 0,void 0,function*(){yield this.genericMDSLayout(!0,t,e)})}genericMDSLayout(t,e,r){return(0,G.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),r),{center:a=[0,0],linkDistance:s=50}=i,o=e.getAllNodes(),l=e.getAllEdges();if(!(o!=null&&o.length)||o.length===1)return _s(e,t,a);const c=Mb({nodes:o,edges:l},!1),u=wb(c);dD(u);const h=uD(u,s),f=vD(h),d=[];return f.forEach((g,p)=>{const y=si(o[p]);y.data.x=g[0]+a[0],y.data.y=g[1]+a[1],d.push(y)}),t&&d.forEach(g=>e.mergeNodeData(g.id,{x:g.data.x,y:g.data.y})),{nodes:d,edges:l}})}}const dD=n=>{let t=-999999;n.forEach(e=>{e.forEach(r=>{r!==1/0&&t<r&&(t=r)})}),n.forEach((e,r)=>{e.forEach((i,a)=>{i===1/0&&(n[r][a]=t)})})},vD=n=>{const e=Ua.mul(Ua.pow(n,2),-.5),r=e.mean("row"),i=e.mean("column"),a=e.mean();e.add(a).subRowVector(r).subColumnVector(i);const s=new Eb(e),o=Ua.sqrt(s.diagonalMatrix).diagonal();return s.leftSingularVectors.toJSON().map(l=>Ua.mul([l],[o]).toJSON()[0].splice(0,2))};function Bv(n){return!!n.tick&&!!n.stop}const gD={gForce:!0,force2:!0,d3force:!0,fruchterman:!0,forceAtlas2:!0,force:!0,"graphin-force":!0},pD={center:[0,0],comboPadding:10,treeKey:"combo"};class mD{constructor(t={}){this.options=t,this.id="comboCombined",this.options=Object.assign(Object.assign({},pD),t)}execute(t,e){return(0,G.mG)(this,void 0,void 0,function*(){return this.genericComboCombinedLayout(!1,t,e)})}assign(t,e){return(0,G.mG)(this,void 0,void 0,function*(){yield this.genericComboCombinedLayout(!0,t,e)})}genericComboCombinedLayout(t,e,r){return(0,G.mG)(this,void 0,void 0,function*(){const i=this.initVals(Object.assign(Object.assign({},this.options),r)),{center:a,treeKey:s,outerLayout:o}=i,l=e.getAllNodes().filter(B=>!B.data._isCombo),c=e.getAllNodes().filter(B=>B.data._isCombo),u=e.getAllEdges(),h=l==null?void 0:l.length;if(!h||h===1)return _s(e,t,a);const f=[],d=new Map;l.forEach(B=>{d.set(B.id,B)});const v=new Map;c.forEach(B=>{v.set(B.id,B)});const g=new Map,p=this.getInnerGraphs(e,s,d,v,u,i,g);yield Promise.all(p);const y=new Map,b=[],M=new Map;let O=!0;e.getRoots(s).forEach(B=>{const W=g.get(B.id),V=v.get(B.id)||d.get(B.id),q={id:B.id,data:Object.assign(Object.assign({},B.data),{x:W.data.x||V.data.x,y:W.data.y||V.data.y,fx:W.data.fx||V.data.fx,fy:W.data.fy||V.data.fy,mass:W.data.mass||V.data.mass,size:W.data.size})};b.push(q),y.set(B.id,!0),!isNaN(q.data.x)&&q.data.x!==0&&!isNaN(q.data.y)&&q.data.y!==0?O=!1:(q.data.x=Math.random()*100,q.data.y=Math.random()*100),Iv(e,[B],$=>{$.id!==B.id&&M.set($.id,B.id)},"TB",s)});const k=[];u.forEach(B=>{const W=M.get(B.source)||B.source,V=M.get(B.target)||B.target;W!==V&&y.has(W)&&y.has(V)&&k.push({id:B.id,source:W,target:V,data:{}})});let D;if(b!=null&&b.length){if(b.length===1)b[0].data.x=a[0],b[0].data.y=a[1];else{const B=new Xn({nodes:b,edges:k}),W=o||new yb;O&&gD[W.id]&&(yield(b.length<100?new Pb:new kv).assign(B));const V=Object.assign({center:a,kg:5,preventOverlap:!0,animate:!1},W.id==="force"?{gravity:1,factor:4,linkDistance:(q,$,ot)=>{const ct=Math.max(...$.data.size)||32,vt=Math.max(...ot.data.size)||32;return ct/2+vt/2+200}}:{});D=yield Sb(W,B,V)}g.forEach(B=>{var W;const V=D.nodes.find(ot=>ot.id===B.id);if(V){const{x:ot,y:ct}=V.data;B.data.visited=!0,B.data.x=ot,B.data.y=ct,f.push({id:B.id,data:{x:ot,y:ct}})}const{x:q,y:$}=B.data;(W=B.data.nodes)===null||W===void 0||W.forEach(ot=>{f.push({id:ot.id,data:{x:ot.data.x+q,y:ot.data.y+$}})})}),g.forEach(({data:B})=>{const{x:W,y:V,visited:q,nodes:$}=B;$==null||$.forEach(ot=>{if(!q){const ct=f.find(vt=>vt.id===ot.id);ct.data.x+=W||0,ct.data.y+=V||0}})})}return t&&f.forEach(B=>{e.mergeNodeData(B.id,{x:B.data.x,y:B.data.y})}),{nodes:f,edges:u}})}initVals(t){const e=Object.assign({},t),{nodeSize:r,spacing:i,comboPadding:a}=t;let s,o;if(ie(i)?o=()=>i:de(i)?o=i:o=()=>0,e.spacing=o,!r)s=c=>{const u=o(c);return c.size?Ea(c.size)?((c.size[0]>c.size[1]?c.size[0]:c.size[1])+u)/2:Fn(c.size)?((c.size.width>c.size.height?c.size.width:c.size.height)+u)/2:(c.size+u)/2:32+u/2};else if(de(r))s=c=>{const u=r(c),h=o(c);return Ea(c.size)?((c.size[0]>c.size[1]?c.size[0]:c.size[1])+h)/2:((u||32)+h)/2};else if(Ea(r)){const u=(r[0]>r[1]?r[0]:r[1])/2;s=h=>u+o(h)/2}else{const c=r/2;s=u=>c+o(u)/2}e.nodeSize=s;let l;return ie(a)?l=()=>a:Ea(a)?l=()=>Math.max.apply(null,a):de(a)?l=a:l=()=>0,e.comboPadding=l,e}getInnerGraphs(t,e,r,i,a,s,o){const{nodeSize:l,comboPadding:c,spacing:u,innerLayout:h}=s,f=h||new kv({}),d={center:[0,0],preventOverlap:!0,nodeSpacing:u},v=[],g=p=>{let y=(c==null?void 0:c(p))||10;return Ea(y)&&(y=Math.max(...y)),{size:y?[y*2,y*2]:[30,30],padding:y}};return t.getRoots(e).forEach(p=>{o.set(p.id,{id:p.id,data:{nodes:[],size:g(p).size}});let y=Promise.resolve();Iv(t,[p],b=>{var M;if(!b.data._isCombo)return;const{size:O,padding:k}=g(b);if(!(!((M=t.getChildren(b.id,e))===null||M===void 0)&&M.length))o.set(b.id,{id:b.id,data:Object.assign(Object.assign({},b.data),{size:O})});else{const D=o.get(b.id);o.set(b.id,{id:b.id,data:Object.assign({nodes:[]},D==null?void 0:D.data)});const j=new Map,B=t.getChildren(b.id,e).map(q=>{if(q.data._isCombo)return o.has(q.id)||o.set(q.id,{id:q.id,data:Object.assign({},q.data)}),j.set(q.id,!0),o.get(q.id);const $=r.get(q.id)||i.get(q.id);return j.set(q.id,!0),{id:q.id,data:Object.assign(Object.assign({},$.data),q.data)}}),W={nodes:B,edges:a.filter(q=>j.has(q.source)&&j.has(q.target))};let V=1/0;B.forEach(q=>{var $;let{size:ot}=q.data;ot||(ot=(($=o.get(q.id))===null||$===void 0?void 0:$.data.size)||(l==null?void 0:l(q))||[30,30]),ie(ot)&&(ot=[ot,ot]);const[ct,vt]=ot;V>ct&&(V=ct),V>vt&&(V=vt),q.data.size=ot}),y=y.then(()=>(0,G.mG)(this,void 0,void 0,function*(){const q=new Xn(W);yield Sb(f,q,d,!0);const{minX:$,minY:ot,maxX:ct,maxY:vt}=hD(B),Ct={x:(ct+$)/2,y:(vt+ot)/2};W.nodes.forEach(mt=>{mt.data.x-=Ct.x,mt.data.y-=Ct.y});const Ot=[Math.max(ct-$,V)+k*2,Math.max(vt-ot,V)+k*2];o.get(b.id).data.size=Ot,o.get(b.id).data.nodes=B}))}return!0},"BT",e),v.push(y)}),v}}function Sb(n,t,e,r){var i;return(0,G.mG)(this,void 0,void 0,function*(){return Bv(n)?(n.execute(t,e),n.stop(),n.tick((i=e.iterations)!==null&&i!==void 0?i:300)):r?yield n.assign(t,e):yield n.execute(t,e)})}function ar(n){return function(){return n}}function Ka(n){return(n()-.5)*1e-6}function yD(n){return n.index}function Ob(n,t){var e=n.get(t);if(!e)throw new Error("node not found: "+t);return e}function bD(n){var t=yD,e=h,r,i=ar(30),a,s,o,l,c,u=1;n==null&&(n=[]);function h(p){return 1/Math.min(o[p.source.index],o[p.target.index])}function f(p){for(var y=0,b=n.length;y<u;++y)for(var M=0,O,k,D,j,B,W,V;M<b;++M)O=n[M],k=O.source,D=O.target,j=D.x+D.vx-k.x-k.vx||Ka(c),B=D.y+D.vy-k.y-k.vy||Ka(c),W=Math.sqrt(j*j+B*B),W=(W-a[M])/W*p*r[M],j*=W,B*=W,D.vx-=j*(V=l[M]),D.vy-=B*V,k.vx+=j*(V=1-V),k.vy+=B*V}function d(){if(s){var p,y=s.length,b=n.length,M=new Map(s.map((k,D)=>[t(k,D,s),k])),O;for(p=0,o=new Array(y);p<b;++p)O=n[p],O.index=p,typeof O.source!="object"&&(O.source=Ob(M,O.source)),typeof O.target!="object"&&(O.target=Ob(M,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=n[p],l[p]=o[O.source.index]/(o[O.source.index]+o[O.target.index]);r=new Array(b),v(),a=new Array(b),g()}}function v(){if(s)for(var p=0,y=n.length;p<y;++p)r[p]=+e(n[p],p,n)}function g(){if(s)for(var p=0,y=n.length;p<y;++p)a[p]=+i(n[p],p,n)}return f.initialize=function(p,y){s=p,c=y,d()},f.links=function(p){return arguments.length?(n=p,d(),f):n},f.id=function(p){return arguments.length?(t=p,f):t},f.iterations=function(p){return arguments.length?(u=+p,f):u},f.strength=function(p){return arguments.length?(e=typeof p=="function"?p:ar(+p),v(),f):e},f.distance=function(p){return arguments.length?(i=typeof p=="function"?p:ar(+p),g(),f):i},f}var xD=E(9821),ED=E(83833);const wD=1664525,MD=1013904223,Tb=4294967296;function AD(){let n=1;return()=>(n=(wD*n+MD)%Tb)/Tb}function PD(n){return n.x}function SD(n){return n.y}var OD=10,TD=Math.PI*(3-Math.sqrt(5));function CD(n){var t,e=1,r=.001,i=1-Math.pow(r,1/300),a=0,s=.6,o=new Map,l=(0,ED.HT)(h),c=(0,xD.Z)("tick","end"),u=AD();n==null&&(n=[]);function h(){f(),c.call("tick",t),e<r&&(l.stop(),c.call("end",t))}function f(g){var p,y=n.length,b;g===void 0&&(g=1);for(var M=0;M<g;++M)for(e+=(a-e)*i,o.forEach(function(O){O(e)}),p=0;p<y;++p)b=n[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 t}function d(){for(var g=0,p=n.length,y;g<p;++g){if(y=n[g],y.index=g,y.fx!=null&&(y.x=y.fx),y.fy!=null&&(y.y=y.fy),isNaN(y.x)||isNaN(y.y)){var b=OD*Math.sqrt(.5+g),M=g*TD;y.x=b*Math.cos(M),y.y=b*Math.sin(M)}(isNaN(y.vx)||isNaN(y.vy))&&(y.vx=y.vy=0)}}function v(g){return g.initialize&&g.initialize(n,u),g}return d(),t={tick:f,restart:function(){return l.restart(h),t},stop:function(){return l.stop(),t},nodes:function(g){return arguments.length?(n=g,d(),o.forEach(v),t):n},alpha:function(g){return arguments.length?(e=+g,t):e},alphaMin:function(g){return arguments.length?(r=+g,t):r},alphaDecay:function(g){return arguments.length?(i=+g,t):+i},alphaTarget:function(g){return arguments.length?(a=+g,t):a},velocityDecay:function(g){return arguments.length?(s=1-g,t):1-s},randomSource:function(g){return arguments.length?(u=g,o.forEach(v),t):u},force:function(g,p){return arguments.length>1?(p==null?o.delete(g):o.set(g,v(p)),t):o.get(g)},find:function(g,p,y){var b=0,M=n.length,O,k,D,j,B;for(y==null?y=1/0:y*=y,b=0;b<M;++b)j=n[b],O=g-j.x,k=p-j.y,D=O*O+k*k,D<y&&(B=j,y=D);return B},on:function(g,p){return arguments.length>1?(c.on(g,p),t):c.on(g)}}}function ND(){var n,t,e,r,i=ar(-30),a,s=1,o=1/0,l=.81;function c(d){var v,g=n.length,p=(0,Lv.Z)(n,PD,SD).visitAfter(h);for(r=d,v=0;v<g;++v)t=n[v],p.visit(f)}function u(){if(n){var d,v=n.length,g;for(a=new Array(v),d=0;d<v;++d)g=n[d],a[g.index]=+i(g,d,n)}}function h(d){var v=0,g,p,y=0,b,M,O;if(d.length){for(b=M=O=0;O<4;++O)(g=d[O])&&(p=Math.abs(g.value))&&(v+=g.value,y+=p,b+=p*g.x,M+=p*g.y);d.x=b/y,d.y=M/y}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 y=d.x-t.x,b=d.y-t.y,M=p-v,O=y*y+b*b;if(M*M/l<O)return O<o&&(y===0&&(y=Ka(e),O+=y*y),b===0&&(b=Ka(e),O+=b*b),O<s&&(O=Math.sqrt(s*O)),t.vx+=y*d.value*r/O,t.vy+=b*d.value*r/O),!0;if(d.length||O>=o)return;(d.data!==t||d.next)&&(y===0&&(y=Ka(e),O+=y*y),b===0&&(b=Ka(e),O+=b*b),O<s&&(O=Math.sqrt(s*O)));do d.data!==t&&(M=a[d.data.index]*r/O,t.vx+=y*M,t.vy+=b*M);while(d=d.next)}return c.initialize=function(d,v){n=d,e=v,u()},c.strength=function(d){return arguments.length?(i=typeof d=="function"?d:ar(+d),u(),c):i},c.distanceMin=function(d){return arguments.length?(s=d*d,c):Math.sqrt(s)},c.distanceMax=function(d){return arguments.length?(o=d*d,c):Math.sqrt(o)},c.theta=function(d){return arguments.length?(l=d*d,c):Math.sqrt(l)},c}function kD(n,t){var e,r=1;n==null&&(n=0),t==null&&(t=0);function i(){var a,s=e.length,o,l=0,c=0;for(a=0;a<s;++a)o=e[a],l+=o.x,c+=o.y;for(l=(l/s-n)*r,c=(c/s-t)*r,a=0;a<s;++a)o=e[a],o.x-=l,o.y-=c}return i.initialize=function(a){e=a},i.x=function(a){return arguments.length?(n=+a,i):n},i.y=function(a){return arguments.length?(t=+a,i):t},i.strength=function(a){return arguments.length?(r=+a,i):r},i}function LD(n){return n.x+n.vx}function DD(n){return n.y+n.vy}function RD(n){var t,e,r,i=1,a=1;typeof n!="function"&&(n=ar(n==null?1:+n));function s(){for(var c,u=t.length,h,f,d,v,g,p,y=0;y<a;++y)for(h=(0,Lv.Z)(t,LD,DD).visitAfter(o),c=0;c<u;++c)f=t[c],g=e[f.index],p=g*g,d=f.x+f.vx,v=f.y+f.vy,h.visit(b);function b(M,O,k,D,j){var B=M.data,W=M.r,V=g+W;if(B){if(B.index>f.index){var q=d-B.x-B.vx,$=v-B.y-B.vy,ot=q*q+$*$;ot<V*V&&(q===0&&(q=Ka(r),ot+=q*q),$===0&&($=Ka(r),ot+=$*$),ot=(V-(ot=Math.sqrt(ot)))/ot*i,f.vx+=(q*=ot)*(V=(W*=W)/(p+W)),f.vy+=($*=ot)*V,B.vx-=q*(V=1-V),B.vy-=$*V)}return}return O>d+V||D<d-V||k>v+V||j<v-V}}function o(c){if(c.data)return c.r=e[c.data.index];for(var u=c.r=0;u<4;++u)c[u]&&c[u].r>c.r&&(c.r=c[u].r)}function l(){if(t){var c,u=t.length,h;for(e=new Array(u),c=0;c<u;++c)h=t[c],e[h.index]=+n(h,c,t)}}return s.initialize=function(c,u){t=c,r=u,l()},s.iterations=function(c){return arguments.length?(a=+c,s):a},s.strength=function(c){return arguments.length?(i=+c,s):i},s.radius=function(c){return arguments.length?(n=typeof c=="function"?c:ar(+c),l(),s):n},s}function ID(n,t,e){var r,i=ar(.1),a,s;typeof n!="function"&&(n=ar(+n)),t==null&&(t=0),e==null&&(e=0);function o(c){for(var u=0,h=r.length;u<h;++u){var f=r[u],d=f.x-t||1e-6,v=f.y-e||1e-6,g=Math.sqrt(d*d+v*v),p=(s[u]-g)*a[u]*c/g;f.vx+=d*p,f.vy+=v*p}}function l(){if(r){var c,u=r.length;for(a=new Array(u),s=new Array(u),c=0;c<u;++c)s[c]=+n(r[c],c,r),a[c]=isNaN(s[c])?0:+i(r[c],c,r)}}return o.initialize=function(c){r=c,l()},o.strength=function(c){return arguments.length?(i=typeof c=="function"?c:ar(+c),l(),o):i},o.radius=function(c){return arguments.length?(n=typeof c=="function"?c:ar(+c),l(),o):n},o.x=function(c){return arguments.length?(t=+c,o):t},o.y=function(c){return arguments.length?(e=+c,o):e},o}function BD(n){var t=ar(.1),e,r,i;typeof n!="function"&&(n=ar(n==null?0:+n));function a(o){for(var l=0,c=e.length,u;l<c;++l)u=e[l],u.vx+=(i[l]-u.x)*r[l]*o}function s(){if(e){var o,l=e.length;for(r=new Array(l),i=new Array(l),o=0;o<l;++o)r[o]=isNaN(i[o]=+n(e[o],o,e))?0:+t(e[o],o,e)}}return a.initialize=function(o){e=o,s()},a.strength=function(o){return arguments.length?(t=typeof o=="function"?o:ar(+o),s(),a):t},a.x=function(o){return arguments.length?(n=typeof o=="function"?o:ar(+o),s(),a):n},a}function zD(n){var t=ar(.1),e,r,i;typeof n!="function"&&(n=ar(n==null?0:+n));function a(o){for(var l=0,c=e.length,u;l<c;++l)u=e[l],u.vy+=(i[l]-u.y)*r[l]*o}function s(){if(e){var o,l=e.length;for(r=new Array(l),i=new Array(l),o=0;o<l;++o)r[o]=isNaN(i[o]=+n(e[o],o,e))?0:+t(e[o],o,e)}}return a.initialize=function(o){e=o,s()},a.strength=function(o){return arguments.length?(t=typeof o=="function"?o:ar(+o),s(),a):t},a.y=function(o){return arguments.length?(n=typeof o=="function"?o:ar(+o),s(),a):n},a}class jD{constructor(t){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:bD,manyBody:ND,center:kD,collide:RD,radial:ID,x:BD,y:zD},this.options={link:{id:e=>e.id},manyBody:{},center:{x:0,y:0}},this.context={options:{},assign:!1,nodes:[],edges:[]},pr(this.options,t),this.options.forceSimulation&&(this.simulation=this.options.forceSimulation)}execute(t,e){return(0,G.mG)(this,void 0,void 0,function*(){return this.genericLayout(!1,t,e)})}assign(t,e){return(0,G.mG)(this,void 0,void 0,function*(){yield this.genericLayout(!0,t,e)})}stop(){this.simulation.stop()}tick(t){return this.simulation.tick(t),this.getResult()}restart(){this.simulation.restart()}setFixedPosition(t,e){const r=this.context.nodes.find(i=>i.id===t);r&&e.forEach((i,a)=>{if(typeof i=="number"||i===null){const s=["fx","fy","fz"][a];r[s]=i}})}getOptions(t){var e,r;const i=pr({},this.options,t);return i.collide&&((e=i.collide)===null||e===void 0?void 0:e.radius)===void 0&&(i.collide=i.collide||{},i.collide.radius=(r=i.nodeSize)!==null&&r!==void 0?r: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(t,e,r){var i;return(0,G.mG)(this,void 0,void 0,function*(){const a=this.getOptions(r),s=e.getAllNodes().map(({id:u,data:h})=>Object.assign(Object.assign({id:u},h),zs(h.data,this.config.inputNodeAttrs))),o=e.getAllEdges().map(u=>Object.assign({},u));Object.assign(this.context,{assign:t,nodes:s,edges:o,graph:e});const l=new Promise(u=>{this.resolver=u}),c=this.setSimulation(a);return c.nodes(s),(i=c.force("link"))===null||i===void 0||i.links(o),l})}getResult(){const{assign:t,nodes:e,edges:r,graph:i}=this.context,a=e.map(o=>({id:o.id,data:Object.assign(Object.assign({},o.data),zs(o,this.config.outputNodeAttrs))})),s=r.map(({id:o,source:l,target:c,data:u})=>({id:o,source:typeof l=="object"?l.id:l,target:typeof c=="object"?c.id:c,data:u}));return t&&a.forEach(o=>i.mergeNodeData(o.id,o.data)),{nodes:a,edges:s}}initSimulation(){return CD()}setSimulation(t){const e=this.simulation||this.options.forceSimulation||this.initSimulation();return this.simulation||(this.simulation=e.on("tick",()=>{var r;return(r=t.onTick)===null||r===void 0?void 0:r.call(t,this.getResult())}).on("end",()=>{var r;return(r=this.resolver)===null||r===void 0?void 0:r.call(this,this.getResult())})),Cb(e,this.config.simulationAttrs.map(r=>[r,t[r]])),Object.entries(this.forceMap).forEach(([r,i])=>{const a=r;if(t[r]){let s=e.force(a);s||(s=i(),e.force(a,s)),Cb(s,Object.entries(t[a]))}else e.force(a,null)}),e}}const Cb=(n,t)=>t.reduce((e,[r,i])=>!e[r]||i===void 0?e:e[r].call(n,i),n);var Nb=E(92546),FD=E.n(Nb);class nh{constructor(t){this.id="dagre",this.options={},Object.assign(this.options,nh.defaultOptions,t)}execute(t,e){return(0,G.mG)(this,void 0,void 0,function*(){return this.genericDagreLayout(!1,t,Object.assign(Object.assign({},this.options),e))})}assign(t,e){return(0,G.mG)(this,void 0,void 0,function*(){yield this.genericDagreLayout(!0,t,Object.assign(Object.assign({},this.options),e))})}genericDagreLayout(t,e,r){return(0,G.mG)(this,void 0,void 0,function*(){const{nodeSize:i}=r,a=new Nb.graphlib.Graph;a.setGraph(r),a.setDefaultEdgeLabel(()=>({}));const s=e.getAllNodes(),o=e.getAllEdges();[...s,...o].some(({id:c})=>ie(c))&&console.error("Dagre layout only support string id, it will convert number to string."),e.getAllNodes().forEach(c=>{const{id:u}=c,h=Object.assign({},c.data);if(i!==void 0){const[f,d]=Nl(de(i)?i(c):i);Object.assign(h,{width:f,height:d})}a.setNode(u.toString(),h)}),e.getAllEdges().forEach(({id:c,source:u,target:h})=>{a.setEdge(u.toString(),h.toString(),{id:c})}),FD().layout(a);const l={nodes:[],edges:[]};return a.nodes().forEach(c=>{const u=a.node(c);l.nodes.push({id:c,data:u}),t&&e.mergeNodeData(c,u)}),a.edges().forEach(c=>{const u=a.edge(c),{id:h}=u,f=(0,G._T)(u,["id"]),{v:d,w:v}=c;l.edges.push({id:h,source:d,target:v,data:f}),t&&e.mergeEdgeData(h,f)}),l})}}nh.defaultOptions={};class zv{constructor(t){this.id=t.id||0,this.rx=t.rx,this.ry=t.ry,this.fx=0,this.fy=0,this.mass=t.mass,this.degree=t.degree,this.g=t.g||0}distanceTo(t){const e=this.rx-t.rx,r=this.ry-t.ry;return Math.hypot(e,r)}setPos(t,e){this.rx=t,this.ry=e}resetForce(){this.fx=0,this.fy=0}addForce(t){const e=t.rx-this.rx,r=t.ry-this.ry;let i=Math.hypot(e,r);i=i<1e-4?1e-4:i;const a=this.g*(this.degree+1)*(t.degree+1)/i;this.fx+=a*e/i,this.fy+=a*r/i}in(t){return t.contains(this.rx,this.ry)}add(t){const e=this.mass+t.mass,r=(this.rx*this.mass+t.rx*t.mass)/e,i=(this.ry*this.mass+t.ry*t.mass)/e,a=this.degree+t.degree,s={rx:r,ry:i,mass:e,degree:a};return new zv(s)}}class bo{constructor(t){this.xmid=t.xmid,this.ymid=t.ymid,this.length=t.length,this.massCenter=t.massCenter||[0,0],this.mass=t.mass||1}getLength(){return this.length}contains(t,e){const r=this.length/2;return t<=this.xmid+r&&t>=this.xmid-r&&e<=this.ymid+r&&e>=this.ymid-r}NW(){const t=this.xmid-this.length/4,e=this.ymid+this.length/4,r=this.length/2,i={xmid:t,ymid:e,length:r};return new bo(i)}NE(){const t=this.xmid+this.length/4,e=this.ymid+this.length/4,r=this.length/2,i={xmid:t,ymid:e,length:r};return new bo(i)}SW(){const t=this.xmid-this.length/4,e=this.ymid-this.length/4,r=this.length/2,i={xmid:t,ymid:e,length:r};return new bo(i)}SE(){const t=this.xmid+this.length/4,e=this.ymid-this.length/4,r=this.length/2,i={xmid:t,ymid:e,length:r};return new bo(i)}}class xo{constructor(t){this.body=null,this.quad=null,this.NW=null,this.NE=null,this.SW=null,this.SE=null,this.theta=.5,t!=null&&(this.quad=t)}insert(t){if(this.body==null){this.body=t;return}this._isExternal()?(this.quad&&(this.NW=new xo(this.quad.NW()),this.NE=new xo(this.quad.NE()),this.SW=new xo(this.quad.SW()),this.SE=new xo(this.quad.SE())),this._putBody(this.body),this._putBody(t),this.body=this.body.add(t)):(this.body=this.body.add(t),this._putBody(t))}_putBody(t){this.quad&&(t.in(this.quad.NW())&&this.NW?this.NW.insert(t):t.in(this.quad.NE())&&this.NE?this.NE.insert(t):t.in(this.quad.SW())&&this.SW?this.SW.insert(t):t.in(this.quad.SE())&&this.SE&&this.SE.insert(t))}_isExternal(){return this.NW==null&&this.NE==null&&this.SW==null&&this.SE==null}updateForce(t){if(!(this.body==null||t===this.body))if(this._isExternal())t.addForce(this.body);else{const e=this.quad?this.quad.getLength():0,r=this.body.distanceTo(t);e/r<this.theta?t.addForce(this.body):(this.NW&&this.NW.updateForce(t),this.NE&&this.NE.updateForce(t),this.SW&&this.SW.updateForce(t),this.SE&&this.SE.updateForce(t))}}}const ZD={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 _D{constructor(t={}){this.options=t,this.id="forceAtlas2",this.options=Object.assign(Object.assign({},ZD),t)}execute(t,e){return(0,G.mG)(this,void 0,void 0,function*(){return this.genericForceAtlas2Layout(!1,t,e)})}assign(t,e){return(0,G.mG)(this,void 0,void 0,function*(){yield this.genericForceAtlas2Layout(!0,t,e)})}genericForceAtlas2Layout(t,e,r){return(0,G.mG)(this,void 0,void 0,function*(){const i=e.getAllEdges(),a=e.getAllNodes(),s=this.formatOptions(r,a.length),{width:o,height:l,prune:c,maxIteration:u,nodeSize:h,center:f}=s;if(!(a!=null&&a.length)||a.length===1)return _s(e,t,f);const d=a.map(y=>si(y,[o,l])),v=i.filter(y=>{const{source:b,target:M}=y;return b!==M}),g=new Xn({nodes:d,edges:v}),p=this.getSizes(g,h);if(this.run(g,e,u,p,t,s),c){for(let b=0;b<v.length;b+=1){const{source:M,target:O}=v[b],k=g.getDegree(M),D=g.getDegree(M);if(k<=1){const j=g.getNode(O);g.mergeNodeData(M,{x:j.data.x,y:j.data.y})}else if(D<=1){const j=g.getNode(M);g.mergeNodeData(O,{x:j.data.x,y:j.data.y})}}const y=Object.assign(Object.assign({},s),{prune:!1,barnesHut:!1});this.run(g,e,100,p,t,y)}return{nodes:d,edges:i}})}getSizes(t,e){const r=t.getAllNodes(),i={};for(let a=0;a<r.length;a+=1){const s=r[a];i[s.id]=Cv(e,void 0)(s)}return i}formatOptions(t={},e){const r=Object.assign(Object.assign({},this.options),t),{center:i,width:a,height:s,barnesHut:o,prune:l,maxIteration:c,kr:u,kg:h}=r;return r.width=!a&&typeof window!="undefined"?window.innerWidth:a,r.height=!s&&typeof window!="undefined"?window.innerHeight:s,r.center=i||[r.width/2,r.height/2],o===void 0&&e>250&&(r.barnesHut=!0),l===void 0&&e>100&&(r.prune=!0),c===0&&!l?(r.maxIteration=250,e<=200&&e>100?r.maxIteration=1e3:e>200&&(r.maxIteration=1200)):c===0&&l&&(r.maxIteration=100,e<=200&&e>100?r.maxIteration=500:e>200&&(r.maxIteration=950)),u||(r.kr=50,e>100&&e<=500?r.kr=20:e>500&&(r.kr=1)),h||(r.kg=20,e>100&&e<=500?r.kg=10:e>500&&(r.kg=1)),r}run(t,e,r,i,a,s){const{kr:o,barnesHut:l,onTick:c}=s,u=t.getAllNodes();let h=0,f=r;const d={},v={},g={};for(let p=0;p<u.length;p+=1){const{data:y,id:b}=u[p];if(d[b]=[0,0],l){const M={id:p,rx:y.x,ry:y.y,mass:1,g:o,degree:t.getDegree(b)};g[b]=new zv(M)}}for(;f>0;)h=this.oneStep(t,{iter:f,preventOverlapIters:50,krPrime:100,sg:h,forces:d,preForces:v,bodies:g,sizes:i},s),f--,c==null||c({nodes:u,edges:e.getAllEdges()});return t}oneStep(t,e,r){const{iter:i,preventOverlapIters:a,krPrime:s,sg:o,preForces:l,bodies:c,sizes:u}=e;let{forces:h}=e;const{preventOverlap:f,barnesHut:d}=r,v=t.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(t,i,a,u,h,r),d&&(f&&i>a||!f)?h=this.getOptRepGraForces(t,h,c,r):h=this.getRepGraForces(t,i,a,h,s,u,r),this.updatePos(t,h,l,o,r)}getAttrForces(t,e,r,i,a,s){const{preventOverlap:o,dissuadeHubs:l,mode:c,prune:u}=s,h=t.getAllEdges();for(let f=0;f<h.length;f+=1){const{source:d,target:v}=h[f],g=t.getNode(d),p=t.getNode(v),y=t.getDegree(d),b=t.getDegree(v);if(u&&(y<=1||b<=1))continue;const M=[p.data.x-g.data.x,p.data.y-g.data.y];let O=Math.hypot(M[0],M[1]);O=O<1e-4?1e-4:O,M[0]=M[0]/O,M[1]=M[1]/O,o&&e<r&&(O=O-i[d]-i[v]);let k=O,D=k;c==="linlog"&&(k=Math.log(1+O),D=k),l&&(k=O/y,D=O/b),o&&e<r&&O<=0?(k=0,D=0):o&&e<r&&O>0&&(k=O,D=O),a[d][0]+=k*M[0],a[v][0]-=D*M[0],a[d][1]+=k*M[1],a[v][1]-=D*M[1]}return a}getOptRepGraForces(t,e,r,i){const{kg:a,center:s,prune:o}=i,l=t.getAllNodes(),c=l.length;let u=9e10,h=-9e10,f=9e10,d=-9e10;for(let b=0;b<c;b+=1){const{id:M,data:O}=l[b];o&&t.getDegree(M)<=1||(r[M].setPos(O.x,O.y),O.x>=h&&(h=O.x),O.x<=u&&(u=O.x),O.y>=d&&(d=O.y),O.y<=f&&(f=O.y))}const v=Math.max(h-u,d-f),g={xmid:(h+u)/2,ymid:(d+f)/2,length:v,massCenter:s,mass:c},p=new bo(g),y=new xo(p);for(let b=0;b<c;b+=1){const{id:M}=l[b];o&&t.getDegree(M)<=1||r[M].in(p)&&y.insert(r[M])}for(let b=0;b<c;b+=1){const{id:M,data:O}=l[b],k=t.getDegree(M);if(o&&k<=1)continue;r[M].resetForce(),y.updateForce(r[M]),e[M][0]-=r[M].fx,e[M][1]-=r[M].fy;const D=[O.x-s[0],O.y-s[1]];let j=Math.hypot(D[0],D[1]);j=j<1e-4?1e-4:j,D[0]=D[0]/j,D[1]=D[1]/j;const B=a*(k+1);e[M][0]-=B*D[0],e[M][1]-=B*D[1]}return e}getRepGraForces(t,e,r,i,a,s,o){const{preventOverlap:l,kr:c,kg:u,center:h,prune:f}=o,d=t.getAllNodes(),v=d.length;for(let g=0;g<v;g+=1){const p=d[g],y=t.getDegree(p.id);for(let k=g+1;k<v;k+=1){const D=d[k],j=t.getDegree(D.id);if(f&&(y<=1||j<=1))continue;const B=[D.data.x-p.data.x,D.data.y-p.data.y];let W=Math.hypot(B[0],B[1]);W=W<1e-4?1e-4:W,B[0]=B[0]/W,B[1]=B[1]/W,l&&e<r&&(W=W-s[p.id]-s[D.id]);let V=c*(y+1)*(j+1)/W;l&&e<r&&W<0?V=a*(y+1)*(j+1):l&&e<r&&W===0?V=0:l&&e<r&&W>0&&(V=c*(y+1)*(j+1)/W),i[p.id][0]-=V*B[0],i[D.id][0]+=V*B[0],i[p.id][1]-=V*B[1],i[D.id][1]+=V*B[1]}const b=[p.data.x-h[0],p.data.y-h[1]],M=Math.hypot(b[0],b[1]);b[0]=b[0]/M,b[1]=b[1]/M;const O=u*(y+1);i[p.id][0]-=O*b[0],i[p.id][1]-=O*b[1]}return i}updatePos(t,e,r,i,a){const{ks:s,tao:o,prune:l,ksmax:c}=a,u=t.getAllNodes(),h=u.length,f=[],d=[];let v=0,g=0,p=i;for(let b=0;b<h;b+=1){const{id:M}=u[b],O=t.getDegree(M);if(l&&O<=1)continue;const k=[e[M][0]-r[M][0],e[M][1]-r[M][1]],D=Math.hypot(k[0],k[1]),j=[e[M][0]+r[M][0],e[M][1]+r[M][1]],B=Math.hypot(j[0],j[1]);f[b]=D,d[b]=B/2,v+=(O+1)*f[b],g+=(O+1)*d[b]}const y=p;p=o*g/v,y!==0&&(p=p>1.5*y?1.5*y:p);for(let b=0;b<h;b+=1){const{id:M,data:O}=u[b],k=t.getDegree(M);if(l&&k<=1||ie(O.fx)&&ie(O.fy))continue;let D=s*p/(1+p*Math.sqrt(f[b])),j=Math.hypot(e[M][0],e[M][1]);j=j<1e-4?1e-4:j;const B=c/j;D=D>B?B:D;const W=D*e[M][0],V=D*e[M][1];t.mergeNodeData(M,{x:O.x+W,y:O.y+V})}return p}}const HD={maxIteration:1e3,gravity:10,speed:5,clustering:!1,clusterGravity:10,width:300,height:300,nodeClusterBy:"cluster"},GD=800;class WD{constructor(t={}){this.options=t,this.id="fruchterman",this.timeInterval=0,this.running=!1,this.options=Object.assign(Object.assign({},HD),t)}execute(t,e){return(0,G.mG)(this,void 0,void 0,function*(){return this.genericFruchtermanLayout(!1,t,e)})}assign(t,e){return(0,G.mG)(this,void 0,void 0,function*(){yield this.genericFruchtermanLayout(!0,t,e)})}stop(){this.timeInterval&&typeof window!="undefined"&&window.clearInterval(this.timeInterval),this.running=!1}tick(t=this.options.maxIteration||1){if(this.lastResult)return this.lastResult;for(let r=0;r<t;r++)this.runOneStep(this.lastGraph,this.lastClusterMap,this.lastOptions);const e={nodes:this.lastLayoutNodes,edges:this.lastLayoutEdges};return this.lastAssign&&e.nodes.forEach(r=>this.lastGraph.mergeNodeData(r.id,{x:r.data.x,y:r.data.y,z:this.options.dimensions===3?r.data.z:void 0})),e}genericFruchtermanLayout(t,e,r){return(0,G.mG)(this,void 0,void 0,function*(){if(this.running)return;const i=this.formatOptions(r),{dimensions:a,width:s,height:o,center:l,clustering:c,nodeClusterBy:u,maxIteration:h,onTick:f}=i,d=e.getAllNodes(),v=e.getAllEdges();if(!(d!=null&&d.length)){const M={nodes:[],edges:v};return this.lastResult=M,M}if(d.length===1){t&&e.mergeNodeData(d[0].id,{x:l[0],y:l[1],z:a===3?l[2]:void 0});const M={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=M,M}const g=d.map(M=>si(M,[s,o])),p=new Xn({nodes:g,edges:v}),y={};if(c&&g.forEach(M=>{const O=M.data[u];y[O]||(y[O]={name:O,cx:0,cy:0,count:0})}),this.lastLayoutNodes=g,this.lastLayoutEdges=v,this.lastAssign=t,this.lastGraph=p,this.lastOptions=i,this.lastClusterMap=y,typeof window=="undefined")return;let b=0;return new Promise(M=>{this.timeInterval=window.setInterval(()=>{if(!this.running){M({nodes:g,edges:v});return}this.runOneStep(p,y,i),t&&g.forEach(({id:O,data:k})=>e.mergeNodeData(O,{x:k.x,y:k.y,z:a===3?k.z:void 0})),f==null||f({nodes:g,edges:v}),b++,b>=h&&(window.clearInterval(this.timeInterval),M({nodes:g,edges:v}))},0),this.running=!0})})}formatOptions(t={}){const e=Object.assign(Object.assign({},this.options),t),{clustering:r,nodeClusterBy:i}=e,{center:a,width:s,height:o}=e;return e.width=!s&&typeof window!="undefined"?window.innerWidth:s,e.height=!o&&typeof window!="undefined"?window.innerHeight:o,e.center=a||[e.width/2,e.height/2],e.clustering=r&&!!i,e}runOneStep(t,e,r){const{dimensions:i,height:a,width:s,gravity:o,center:l,speed:c,clustering:u,nodeClusterBy:h,clusterGravity:f}=r,d=a*s,v=Math.sqrt(d)/10,g=t.getAllNodes(),p=d/(g.length+1),y=Math.sqrt(p),b={};if(this.applyCalculate(t,b,y,p),u){for(const O in e)e[O].cx=0,e[O].cy=0,e[O].count=0;g.forEach(O=>{const{data:k}=O,D=e[k[h]];ie(k.x)&&(D.cx+=k.x),ie(k.y)&&(D.cy+=k.y),D.count++});for(const O in e)e[O].cx/=e[O].count,e[O].cy/=e[O].count;const M=f||o;g.forEach((O,k)=>{const{id:D,data:j}=O;if(!ie(j.x)||!ie(j.y))return;const B=e[j[h]],W=Math.sqrt((j.x-B.cx)*(j.x-B.cx)+(j.y-B.cy)*(j.y-B.cy)),V=y*M;b[D].x-=V*(j.x-B.cx)/W,b[D].y-=V*(j.y-B.cy)/W})}g.forEach((M,O)=>{const{id:k,data:D}=M;if(!ie(D.x)||!ie(D.y))return;const j=.01*y*o;b[k].x-=j*(D.x-l[0]),b[k].y-=j*(D.y-l[1]),i===3&&(b[k].z-=j*(D.z-l[2]))}),g.forEach((M,O)=>{const{id:k,data:D}=M;if(ie(D.fx)&&ie(D.fy)){D.x=D.fx,D.y=D.fy,i===3&&(D.z=D.fz);return}if(!ie(D.x)||!ie(D.y))return;const j=Math.sqrt(b[k].x*b[k].x+b[k].y*b[k].y+(i===3?b[k].z*b[k].z:0));if(j>0){const B=Math.min(v*(c/GD),j);t.mergeNodeData(k,{x:D.x+b[k].x/j*B,y:D.y+b[k].y/j*B,z:i===3?D.z+b[k].z/j*B:void 0})}})}applyCalculate(t,e,r,i){this.calRepulsive(t,e,i),this.calAttractive(t,e,r)}calRepulsive(t,e,r){const i=t.getAllNodes();i.forEach(({data:a,id:s},o)=>{e[s]={x:0,y:0,z:0},i.forEach(({data:l,id:c},u)=>{if(o<=u||!ie(a.x)||!ie(l.x)||!ie(a.y)||!ie(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=r/v,p=h*g,y=f*g,b=d*g;e[s].x+=p,e[s].y+=y,e[c].x-=p,e[c].y-=y,this.options.dimensions===3&&(e[s].z+=b,e[c].z-=b)})})}calAttractive(t,e,r){t.getAllEdges().forEach(a=>{const{source:s,target:o}=a;if(!s||!o||s===o)return;const{data:l}=t.getNode(s),{data:c}=t.getNode(o);if(!ie(c.x)||!ie(l.x)||!ie(c.y)||!ie(l.y))return;const u=c.x-l.x,h=c.y-l.y,f=this.options.dimensions===3?c.z-l.z:0,d=Math.sqrt(u*u+h*h+f*f)/r,v=u*d,g=h*d,p=f*d;e[s].x+=v,e[s].y+=g,e[o].x-=v,e[o].y-=g,this.options.dimensions===3&&(e[s].z+=p,e[o].z-=p)})}}const XD={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 VD{constructor(t={}){this.options=t,this.id="grid",this.options=Object.assign(Object.assign({},XD),t)}execute(t,e){return(0,G.mG)(this,void 0,void 0,function*(){return this.genericGridLayout(!1,t,e)})}assign(t,e){return(0,G.mG)(this,void 0,void 0,function*(){yield this.genericGridLayout(!0,t,e)})}genericGridLayout(t,e,r){return(0,G.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),r),{begin:a=[0,0],condense:s,preventOverlapPadding:o,preventOverlap:l,rows:c,cols:u,nodeSpacing:h,nodeSize:f,width:d,height:v,position:g}=i;let{sortBy:p}=i;const y=e.getAllNodes(),b=e.getAllEdges(),M=y==null?void 0:y.length;if(!M||M===1)return _s(e,t,a);const O=y.map(vt=>si(vt));p!=="id"&&(!We(p)||O[0].data[p]===void 0)&&(p="degree"),p==="degree"?O.sort((vt,Ct)=>e.getDegree(Ct.id,"both")-e.getDegree(vt.id,"both")):p==="id"?O.sort((vt,Ct)=>ie(Ct.id)&&ie(vt.id)?Ct.id-vt.id:`${vt.id}`.localeCompare(`${Ct.id}`)):O.sort((vt,Ct)=>Ct.data[p]-vt.data[p]);const k=!d&&typeof window!="undefined"?window.innerWidth:d,D=!v&&typeof window!="undefined"?window.innerHeight:v,j=M,B={rows:c,cols:u};if(c!=null&&u!=null)B.rows=c,B.cols=u;else if(c!=null&&u==null)B.rows=c,B.cols=Math.ceil(j/B.rows);else if(c==null&&u!=null)B.cols=u,B.rows=Math.ceil(j/B.cols);else{const vt=Math.sqrt(j*D/k);B.rows=Math.round(vt),B.cols=Math.round(k/D*vt)}if(B.rows=Math.max(B.rows,1),B.cols=Math.max(B.cols,1),B.cols*B.rows>j){const vt=rh(B),Ct=ih(B);(vt-1)*Ct>=j?rh(B,vt-1):(Ct-1)*vt>=j&&ih(B,Ct-1)}else for(;B.cols*B.rows<j;){const vt=rh(B),Ct=ih(B);(Ct+1)*vt>=j?ih(B,Ct+1):rh(B,vt+1)}let W=s?0:k/B.cols,V=s?0:D/B.rows;if(l||h){const vt=Zs(10,h),Ct=Tv(30,f,!1);O.forEach(Ot=>{(!Ot.data.x||!Ot.data.y)&&(Ot.data.x=0,Ot.data.y=0);const mt=e.getNode(Ot.id),[yt,Lt]=Nl(Ct(mt)||30),Zt=vt!==void 0?vt(Ot):o,Ut=yt+Zt,ee=Lt+Zt;W=Math.max(W,Ut),V=Math.max(V,ee)})}const q={},$={row:0,col:0},ot={};for(let vt=0;vt<O.length;vt++){const Ct=O[vt];let Ot;if(g&&(Ot=g(e.getNode(Ct.id))),Ot&&(Ot.row!==void 0||Ot.col!==void 0)){const mt={row:Ot.row,col:Ot.col};if(mt.col===void 0)for(mt.col=0;jv(q,mt);)mt.col++;else if(mt.row===void 0)for(mt.row=0;jv(q,mt);)mt.row++;ot[Ct.id]=mt,kb(q,mt)}YD(Ct,a,W,V,ot,B,$,q)}const ct={nodes:O,edges:b};return t&&O.forEach(vt=>{e.mergeNodeData(vt.id,{x:vt.data.x,y:vt.data.y})}),ct})}}const rh=(n,t)=>{let e;const r=n.rows||5,i=n.cols||5;return t==null?e=Math.min(r,i):Math.min(r,i)===n.rows?n.rows=t:n.cols=t,e},ih=(n,t)=>{let e;const r=n.rows||5,i=n.cols||5;return t==null?e=Math.max(r,i):Math.max(r,i)===n.rows?n.rows=t:n.cols=t,e},jv=(n,t)=>n[`c-${t.row}-${t.col}`]||!1,kb=(n,t)=>n[`c-${t.row}-${t.col}`]=!0,Lb=(n,t)=>{const e=n.cols||5;t.col++,t.col>=e&&(t.col=0,t.row++)},YD=(n,t,e,r,i,a,s,o)=>{let l,c;const u=i[n.id];if(u)l=u.col*e+e/2+t[0],c=u.row*r+r/2+t[1];else{for(;jv(o,s);)Lb(a,s);l=s.col*e+e/2+t[0],c=s.row*r+r/2+t[1],kb(o,s),Lb(a,s)}n.data.x=l,n.data.y=c},UD=(n,t,e)=>{try{const r=Ua.mul(Ua.pow(t,2),-.5),i=r.mean("row"),a=r.mean("column"),s=r.mean();r.add(s).subRowVector(i).subColumnVector(a);const o=new Eb(r),l=Ua.sqrt(o.diagonalMatrix).diagonal();return o.leftSingularVectors.toJSON().map(c=>Ua.mul([c],[l]).toJSON()[0].splice(0,n))}catch(r){const i=[];for(let a=0;a<t.length;a++){const s=Math.random()*e,o=Math.random()*e;i.push([s,o])}return i}},KD=800,QD={iterations:10,height:10,width:10,speed:100,gravity:10,k:5},JD=(n,t)=>{const e=Object.assign(Object.assign({},QD),t),{positions:r,iterations:i,width:a,k:s,speed:o=100,strictRadial:l,focusIdx:c,radii:u=[],nodeSizeFunc:h}=e,f=n.getAllNodes(),d=[],v=a/10;for(let g=0;g<i;g++)r.forEach((p,y)=>{d[y]={x:0,y:0}}),qD(f,r,d,s,u,h),$D(r,d,o,l,c,v,a,u);return r},qD=(n,t,e,r,i,a)=>{t.forEach((s,o)=>{e[o]={x:0,y:0},t.forEach((l,c)=>{if(o===c||i[o]!==i[c])return;let u=s.x-l.x,h=s.y-l.y,f=Math.sqrt(u*u+h*h);if(f===0){f=1;const d=o>c?1:-1;u=.01*d,h=.01*d}if(f<a(n[o])/2+a(n[c])/2){const d=r*r/f;e[o].x+=u/f*d,e[o].y+=h/f*d}})})},$D=(n,t,e,r,i,a,s,o)=>{const l=a||s/10;return r&&t.forEach((c,u)=>{const h=n[u].x-n[i].x,f=n[u].y-n[i].y,d=Math.sqrt(h*h+f*f);let v=f/d,g=-h/d;const p=Math.sqrt(c.x*c.x+c.y*c.y);let y=Math.acos((v*c.x+g*c.y)/p);y>Math.PI/2&&(y-=Math.PI/2,v*=-1,g*=-1);const b=Math.cos(y)*p;c.x=v*b,c.y=g*b}),n.forEach((c,u)=>{if(u===i)return;const h=Math.sqrt(t[u].x*t[u].x+t[u].y*t[u].y);if(h>0&&u!==i){const f=Math.min(l*(e/KD),h);if(c.x+=t[u].x/h*f,c.y+=t[u].y/h*f,r){let d=c.x-n[i].x,v=c.y-n[i].y;const g=Math.sqrt(d*d+v*v);d=d/g*o[u],v=v/g*o[u],c.x=n[i].x+d,c.y=n[i].y+v}}}),n},tR={maxIteration:1e3,focusNode:null,unitRadius:null,linkDistance:50,preventOverlap:!1,strictRadial:!0,maxPreventOverlapIteration:200,sortStrength:10};class eR{constructor(t={}){this.options=t,this.id="radial",this.options=Object.assign(Object.assign({},tR),t)}execute(t,e){return(0,G.mG)(this,void 0,void 0,function*(){return this.genericRadialLayout(!1,t,e)})}assign(t,e){return(0,G.mG)(this,void 0,void 0,function*(){yield this.genericRadialLayout(!0,t,e)})}genericRadialLayout(t,e,r){return(0,G.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),r),{width:a,height:s,center:o,focusNode:l,unitRadius:c,nodeSize:u,nodeSpacing:h,strictRadial:f,preventOverlap:d,maxPreventOverlapIteration:v,sortBy:g,linkDistance:p=50,sortStrength:y=10,maxIteration:b=1e3}=i,M=e.getAllNodes(),O=e.getAllEdges(),k=!a&&typeof window!="undefined"?window.innerWidth:a,D=!s&&typeof window!="undefined"?window.innerHeight:s,j=o||[k/2,D/2];if(!(M!=null&&M.length)||M.length===1)return _s(e,t,j);let B=M[0];if(We(l)){for(let Ee=0;Ee<M.length;Ee++)if(M[Ee].id===l){B=M[Ee];break}}else B=l||M[0];const W=iR(M,B.id),V=Mb({nodes:M,edges:O},!1),q=wb(V),$=sR(q,W);aR(q,W,$+1);const ot=q[W];let ct=k-j[0]>j[0]?j[0]:k-j[0],vt=D-j[1]>j[1]?j[1]:D-j[1];ct===0&&(ct=k/2),vt===0&&(vt=D/2);const Ct=Math.min(ct,vt),Ot=Math.max(...ot),mt=[],yt=c||Ct/Ot;ot.forEach((Ee,Ce)=>{mt[Ce]=Ee*yt});const Lt=nR(M,q,p,mt,yt,g,y),Zt=rR(Lt),Ut=UD(p,Lt,p);let ee=Ut.map(([Ee,Ce])=>({x:(isNaN(Ee)?Math.random()*p:Ee)-Ut[W][0],y:(isNaN(Ce)?Math.random()*p:Ce)-Ut[W][1]}));this.run(b,ee,Zt,Lt,mt,W);let ae;if(d){ae=Cv(u,h);const Ee={nodes:M,nodeSizeFunc:ae,positions:ee,radii:mt,height:D,width:k,strictRadial:!!f,focusIdx:W,iterations:v||200,k:ee.length/4.5};ee=JD(e,Ee)}const he=[];return ee.forEach((Ee,Ce)=>{const Ze=si(M[Ce]);Ze.data.x=Ee.x+j[0],Ze.data.y=Ee.y+j[1],he.push(Ze)}),t&&he.forEach(Ee=>e.mergeNodeData(Ee.id,{x:Ee.data.x,y:Ee.data.y})),{nodes:he,edges:O}})}run(t,e,r,i,a,s){for(let o=0;o<=t;o++){const l=o/t;this.oneIteration(l,e,a,i,r,s)}}oneIteration(t,e,r,i,a,s){const o=1-t;e.forEach((l,c)=>{const u=Ab(l,{x:0,y:0}),h=u===0?0:1/u;if(c===s)return;let f=0,d=0,v=0;e.forEach((p,y)=>{if(c===y)return;const b=Ab(l,p),M=b===0?0:1/b,O=i[y][c];v+=a[c][y],f+=a[c][y]*(p.x+O*(l.x-p.x)*M),d+=a[c][y]*(p.y+O*(l.y-p.y)*M)});const g=r[c]===0?0:1/r[c];v*=o,v+=t*g*g,f*=o,f+=t*g*l.x*h,l.x=f/v,d*=o,d+=t*g*l.y*h,l.y=d/v})}}const nR=(n,t,e,r,i,a,s)=>{if(!n)return[];const o=[];if(t){const l={};t.forEach((c,u)=>{const h=[];c.forEach((f,d)=>{var v,g;if(u===d)h.push(0);else if(r[u]===r[d])if(a==="data")h.push(f*(Math.abs(u-d)*s)/(r[u]/i));else if(a){let p,y;if(l[n[u].id])p=l[n[u].id];else{const b=(a==="id"?n[u].id:(v=n[u].data)===null||v===void 0?void 0:v[a])||0;We(b)?p=b.charCodeAt(0):p=b,l[n[u].id]=p}if(l[n[d].id])y=l[n[d].id];else{const b=(a==="id"?n[d].id:(g=n[d].data)===null||g===void 0?void 0:g[a])||0;We(b)?y=b.charCodeAt(0):y=b,l[n[d].id]=y}h.push(f*(Math.abs(p-y)*s)/(r[u]/i))}else h.push(f*e/(r[u]/i));else{const p=(e+i)/2;h.push(f*p)}}),o.push(h)})}return o},rR=n=>{const t=n.length,e=n[0].length,r=[];for(let i=0;i<t;i++){const a=[];for(let s=0;s<e;s++)n[i][s]!==0?a.push(1/(n[i][s]*n[i][s])):a.push(0);r.push(a)}return r},iR=(n,t)=>{let e=-1;return n.forEach((r,i)=>{r.id===t&&(e=i)}),Math.max(e,0)},aR=(n,t,e)=>{const r=n.length;for(let i=0;i<r;i++)if(n[t][i]===1/0){n[t][i]=e,n[i][t]=e;for(let a=0;a<r;a++)n[i][a]!==1/0&&n[t][a]===1/0&&(n[t][a]=e+n[i][a],n[a][t]=e+n[i][a])}for(let i=0;i<r;i++)if(i!==t){for(let a=0;a<r;a++)if(n[i][a]===1/0){let s=Math.abs(n[t][i]-n[t][a]);s=s===0?1:s,n[i][a]=s}}},sR=(n,t)=>{let e=0;for(let r=0;r<n[t].length;r++)n[t][r]!==1/0&&(e=n[t][r]>e?n[t][r]:e);return e},oR={center:[0,0],width:300,height:300};class lR{constructor(t={}){this.options=t,this.id="random",this.options=Object.assign(Object.assign({},oR),t)}execute(t,e){return(0,G.mG)(this,void 0,void 0,function*(){return this.genericRandomLayout(!1,t,e)})}assign(t,e){return(0,G.mG)(this,void 0,void 0,function*(){yield this.genericRandomLayout(!0,t,e)})}genericRandomLayout(t,e,r){return(0,G.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),r),{center:a,width:s,height:o}=i,l=e.getAllNodes(),c=.9,u=!s&&typeof window!="undefined"?window.innerWidth:s,h=!o&&typeof window!="undefined"?window.innerHeight:o,f=a||[u/2,h/2],d=[];return l&&l.forEach(g=>{d.push({id:g.id,data:{x:(Math.random()-.5)*c*u+f[0],y:(Math.random()-.5)*c*h+f[1]}})}),t&&d.forEach(g=>e.mergeNodeData(g.id,{x:g.data.x,y:g.data.y})),{nodes:d,edges:e.getAllEdges()}})}}function cR(n){var t,e,r,i=n||1;function a(o,l){++t>i&&(r=e,s(1),++t),e[o]=l}function s(o){t=0,e=Object.create(null),o||(r=Object.create(null))}return s(),{clear:s,has:function(o){return e[o]!==void 0||r[o]!==void 0},get:function(o){var l=e[o];if(l!==void 0)return l;if((l=r[o])!==void 0)return a(o,l),l},set:function(o,l){e[o]!==void 0?e[o]=l:a(o,l)}}}var Fv=new Map;function Zv(n,t,e){e===void 0&&(e=128);var r=function(){for(var i=[],a=0;a<arguments.length;a++)i[a]=arguments[a];var s=t?t.apply(this,i):i[0];Fv.has(n)||Fv.set(n,cR(e));var o=Fv.get(n);if(o.has(s))return o.get(s);var l=n.apply(this,i);return o.set(s,l),l};return r}var uR=function(n,t,e,r){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(u){try{c(r.next(u))}catch(h){s(h)}}function l(u){try{c(r.throw(u))}catch(h){s(h)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((r=r.apply(n,t||[])).next())})};class ah extends Yu{constructor(){super(...arguments),this.id="fishbone"}getRoot(){const t=this.context.model.getRootsData();if(!(ra(t)||t.length>2))return t[0]}formatSize(t){const e=typeof t=="function"?t:()=>t;return r=>ii(e(r))}doLayout(t,e){const{hGap:r,getRibSep:i,vGap:a,nodeSize:s,height:o}=e,{model:l}=this.context,c=this.formatSize(s);let u=c(t)[0]+i(t);const h=(M,O=0)=>{var k;return O+=r*((M.children||[]).length+1),(k=M.children)===null||k===void 0||k.forEach(D=>{var j;(j=l.getNodeLikeDatum(D).children)===null||j===void 0||j.forEach(W=>{const V=l.getNodeLikeDatum(W);O=h(V,O)})}),O},f=M=>{if(M.depth===1)return u;const O=l.getParentData(M.id,"tree");if(Eo(M)){const k=l.getParentData(O.id,"tree"),D=g(M)-g(k);return f(O)+D*r/a}else{const k=(O.children||[]).indexOf(M.id),D=l.getNodeData((O.children||[]).slice(k));return d(O)-D.reduce((j,B)=>j+h(B),0)-c(O)[0]/2}},d=Zv(M=>{if(_v(M))return c(M)[0]/2;const O=l.getParentData(M.id,"tree");if(Eo(M))return f(M)+h(M)+c(M)[0]/2;{const k=g(M)-g(O),D=r/a;return f(M)+k*D}},M=>M.id),v=M=>g(l.getParentData(M,"tree")),g=Zv(M=>{if(_v(M))return o/2;if(Eo(M)){const O=l.getParentData(M.id,"tree"),k=O.children.indexOf(M.id);if(k===0)return v(O.id)+a;const D=l.getNodeLikeDatum(O.children[k-1]);if(ra(D.children))return g(D)+a;const j=l.getDescendantsData(D.id);return Math.max(...j.map(B=>Eo(B)?v(B.id):g(B)))+a}else{if(ra(M.children))return v(M.id)+a;const O=l.getNodeLikeDatum(M.children.slice(-1)[0]);if(ra(O.children))return g(O)+a;const k=l.getDescendantsData(M.id).slice(-1)[0];return(Eo(k)?v(k.id):g(k))+a}},M=>M.id);let p=0;const y={nodes:[],edges:[]},b=M=>{var O;(O=M.children)===null||O===void 0||O.forEach(W=>b(l.getNodeLikeDatum(W)));const k=g(M),D=d(M);if(y.nodes.push({id:M.id,x:D,y:k}),_v(M))return;const j=l.getRelatedEdgesData(M.id,"in")[0],B=[f(M),Eo(M)?k:v(M.id)];y.edges.push({id:Pt(j),controlPoints:[B],relatedNodeId:M.id}),p=Math.max(p,D+i(M)),M.depth===1&&(u=p)};return b(t),y}placeAlterative(t,e){const r=(e.children||[]).filter((o,l)=>l%2!==0);if(r.length===0)return t;const{model:i}=this.context,a=t.nodes.find(o=>o.id===e.id).y,s=o=>{const l=i.getAncestorsData(o,"tree");if(ra(l))return!1;const c=l.length===1?o:l[l.length-2].id;return r.includes(c)};t.nodes.forEach(o=>{s(o.id)&&(o.y=2*a-o.y)}),t.edges.forEach(o=>{s(o.relatedNodeId)&&(o.controlPoints=o.controlPoints.map(l=>[l[0],2*a-l[1]]))})}rightToLeft(t,e){return t.nodes.forEach(r=>r.x=e.width-r.x),t.edges.forEach(r=>{r.controlPoints=r.controlPoints.map(i=>[e.width-i[0],i[1]])}),t}execute(t,e){return uR(this,void 0,void 0,function*(){const r=Object.assign(Object.assign(Object.assign({},ah.defaultOptions),this.options),e),{direction:i,nodeSize:a}=r,s=this.getRoot();if(!s)return t;const o=this.formatSize(a);r.vGap||(r.vGap=Math.max(...(t.nodes||[]).map(f=>o(f)[1]))),r.hGap||(r.hGap=Math.max(...(t.nodes||[]).map(f=>o(f)[0])));let l=this.doLayout(s,r);this.placeAlterative(l,s),i==="RL"&&(l=this.rightToLeft(l,r));const{model:c}=this.context,u=[],h=[];return l.nodes.forEach(f=>{const{id:d,x:v,y:g}=f,p=c.getNodeLikeDatum(d);u.push(Db(p,{x:v,y:g}))}),l.edges.forEach(f=>{const{id:d,controlPoints:v}=f,g=c.getEdgeDatum(d);h.push(Db(g,{controlPoints:v}))}),{nodes:u,edges:h}})}}ah.defaultOptions={direction:"RL",getRibSep:()=>60};const Db=(n,t)=>Object.assign(Object.assign({},n),{style:Object.assign(Object.assign({},n.style||{}),t)}),_v=n=>n.depth===0,Eo=n=>(n.depth||(n.depth=0))%2===0;var hR=function(n,t,e,r){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(u){try{c(r.next(u))}catch(h){s(h)}}function l(u){try{c(r.throw(u))}catch(h){s(h)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((r=r.apply(n,t||[])).next())})};class sh extends Yu{constructor(){super(...arguments),this.id="snake"}formatSize(t,e){const r=typeof e=="function"?e:()=>e;return t.reduce((i,a)=>{const[s,o]=ii(r(a))||[0,0];return[Math.max(i[0],s),Math.max(i[1],o)]},[0,0])}validate(t){const{nodes:e=[],edges:r=[]}=t,i={},a={},s={};e.forEach(f=>{i[f.id]=0,a[f.id]=0,s[f.id]=[]}),r.forEach(f=>{i[f.target]++,a[f.source]++,s[f.source].push(f.target)});const o=new Set,l=f=>{o.has(f)||(o.add(f),s[f].forEach(l))};if(l(e[0].id),o.size!==e.length)return!1;const c=e.filter(f=>i[f.id]===0),u=e.filter(f=>a[f.id]===0);return!(c.length!==1||u.length!==1||e.filter(f=>i[f.id]===1&&a[f.id]===1).length!==e.length-2)}execute(t,e){return hR(this,void 0,void 0,function*(){var r;if(!this.validate(t))return t;const{nodeSize:i,padding:a,sortBy:s,cols:o,colGap:l,rowGap:c,clockwise:u,width:h,height:f}=Object.assign({},sh.defaultOptions,this.options,e),[d,v,g,p]=Di(a),y=this.formatSize(t.nodes||[],i),b=Math.ceil((t.nodes||[]).length/o);let M=l||(h-p-v-o*y[0])/(o-1),O=c||(f-d-g-b*y[1])/(b-1);return(O===1/0||O<0)&&(O=0),(M===1/0||M<0)&&(M=0),{nodes:((s?(r=t.nodes)===null||r===void 0?void 0:r.sort(s):fR(t))||[]).map((j,B)=>{const W=Math.floor(B/o),V=B%o,q=u?W%2===0?V:o-1-V:W%2===0?o-1-V:V,$=p+q*(y[0]+M)+y[0]/2,ot=d+W*(y[1]+O)+y[1]/2;return{id:j.id,style:{x:$,y:ot}}})}})}}sh.defaultOptions={padding:0,cols:5,clockwise:!0};function fR(n){const{nodes:t=[],edges:e=[]}=n,r={},i={};t.forEach(o=>{r[o.id]=0,i[o.id]=[]}),e.forEach(o=>{r[o.target]++,i[o.source].push(o.target)});const a=[],s=[];for(t.forEach(o=>{r[o.id]===0&&a.push(o.id)});a.length>0;){const o=a.shift(),l=t.find(c=>c.id===o);s.push(l),i[o].forEach(c=>{r[c]--,r[c]===0&&a.push(c)})}return s}const dR=["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)"],vR=["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)"],gR=["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)"],pR=["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)"],mR=["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)"];var yR=function(n,t,e){if(!Gr(n)&&!fo(n))return n;var r=e;return i1(n,function(i,a){r=t(r,i,a)}),r},bR=yR,Hv=function(n,t){return bR(n,function(e,r,i){return t.includes(i)||(e[i]=r),e},{})};class yr extends Gd{}function wo(n,t=!0,e){const r=document.createElement("div");return r.setAttribute("class",`g6-${n}`),Object.assign(r.style,{position:"absolute",display:"block"}),t&&Object.assign(r.style,{position:"unset",gridArea:"1 / 1 / 2 / 2",inset:"0px",height:"100%",width:"100%",overflow:"hidden",pointerEvents:"none"}),e&&Object.assign(r.style,e),r}function Gv(n,t="div",e={},r="",i=document.body){const a=document.getElementById(n);a&&a.remove();const s=document.createElement(t);return s.innerHTML=r,s.id=n,Object.assign(s.style,e),i.appendChild(s),s}var xR=function(n,t,e,r){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(u){try{c(r.next(u))}catch(h){s(h)}}function l(u){try{c(r.throw(u))}catch(h){s(h)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((r=r.apply(n,t||[])).next())})};class oh extends yr{constructor(t,e){super(t,Object.assign({},oh.defaultOptions,e)),this.$element=wo("background"),this.context.canvas.getContainer().prepend(this.$element),this.update(e)}update(t){const e=Object.create(null,{update:{get:()=>super.update}});return xR(this,void 0,void 0,function*(){e.update.call(this,t),Object.assign(this.$element.style,Hv(this.options,["key","type"]))})}destroy(){super.destroy(),this.$element.remove()}}oh.defaultOptions={transition:"background 0.5s",backgroundSize:"cover",zIndex:"-1"};function Wv(n,t,e,r,i,a){const s=n,o=t,l=e-s,c=r-o;let u=i-s,h=a-o,f=u*l+h*c,d=0;f<=0?d=0:(u=l-u,h=c-h,f=u*l+h*c,f<=0?d=0:d=f*f/(l*l+c*c));const v=u*u+h*h-d;return v<0?0:v}function Qa(n,t,e,r){return(n-e)*(n-e)+(t-r)*(t-r)}function Rb(n,t,e,r,i){return Qa(n,t,e,r)<i*i}function ER(n){if(!Number.isFinite(n))return e=>e;if(n===0)return Math.round;const t=Math.pow(10,n);return e=>Math.round(e*t)/t}function Ib(n){const t=Math.min(n.x1,n.x2),e=Math.max(n.x1,n.x2),r=Math.min(n.y1,n.y2),i=Math.max(n.y1,n.y2);return{x:t,y:r,x2:e,y2:i,width:e-t,height:i-r}}class hr{constructor(t,e,r,i){this.x1=t,this.y1=e,this.x2=r,this.y2=i}equals(t){return this.x1===t.x1&&this.y1===t.y1&&this.x2===t.x2&&this.y2===t.y2}draw(t){t.moveTo(this.x1,this.y1),t.lineTo(this.x2,this.y2)}toString(){return`Line(from=(${this.x1},${this.y1}),to=(${this.x2},${this.y2}))`}static from(t){return new hr(t.x1,t.y1,t.x2,t.y2)}cuts(t,e){if(this.y1===this.y2||e<this.y1&&e<=this.y2||e>this.y1&&e>=this.y2||t>this.x1&&t>=this.x2)return!1;if(t<this.x1&&t<=this.x2)return!0;const r=this.x1+(e-this.y1)*(this.x2-this.x1)/(this.y2-this.y1);return t<=r}distSquare(t,e){return Wv(this.x1,this.y1,this.x2,this.y2,t,e)}ptClose(t,e,r){if(this.x1<this.x2){if(t<this.x1-r||t>this.x2+r)return!1}else if(t<this.x2-r||t>this.x1+r)return!1;if(this.y1<this.y2){if(e<this.y1-r||e>this.y2+r)return!1}else if(e<this.y2-r||e>this.y1+r)return!1;return!0}}var In;(function(n){n[n.POINT=1]="POINT",n[n.PARALLEL=2]="PARALLEL",n[n.COINCIDENT=3]="COINCIDENT",n[n.NONE=4]="NONE"})(In||(In={}));class Xv{constructor(t,e=0,r=0){this.state=t,this.x=e,this.y=r}}function lh(n,t){const e=(t.x2-t.x1)*(n.y1-t.y1)-(t.y2-t.y1)*(n.x1-t.x1),r=(n.x2-n.x1)*(n.y1-t.y1)-(n.y2-n.y1)*(n.x1-t.x1),i=(t.y2-t.y1)*(n.x2-n.x1)-(t.x2-t.x1)*(n.y2-n.y1);if(i){const a=e/i,s=r/i;return 0<=a&&a<=1&&0<=s&&s<=1?new Xv(In.POINT,n.x1+a*(n.x2-n.x1),n.y1+a*(n.y2-n.y1)):new Xv(In.NONE)}return new Xv(e===0||r===0?In.COINCIDENT:In.PARALLEL)}function Bb(n,t){const e=(t.x2-t.x1)*(n.y1-t.y1)-(t.y2-t.y1)*(n.x1-t.x1),r=(n.x2-n.x1)*(n.y1-t.y1)-(n.y2-n.y1)*(n.x1-t.x1),i=(t.y2-t.y1)*(n.x2-n.x1)-(t.x2-t.x1)*(n.y2-n.y1);if(i){const a=e/i,s=r/i;if(0<=a&&a<=1&&0<=s&&s<=1)return a}return Number.POSITIVE_INFINITY}function wR(n,t){function e(i,a,s,o){let l=Bb(t,new hr(i,a,s,o));return l=Math.abs(l-.5),l>=0&&l<=1?1:0}let r=e(n.x,n.y,n.x2,n.y);return r+=e(n.x,n.y,n.x,n.y2),r>1||(r+=e(n.x,n.y2,n.x2,n.y2),r>1)?!0:(r+=e(n.x2,n.y,n.x2,n.y2),r>0)}var Bn;(function(n){n[n.LEFT=0]="LEFT",n[n.TOP=1]="TOP",n[n.RIGHT=2]="RIGHT",n[n.BOTTOM=3]="BOTTOM"})(Bn||(Bn={}));function ch(n,t,e){const r=new Set;return n.width<=0?(r.add(Bn.LEFT),r.add(Bn.RIGHT)):t<n.x?r.add(Bn.LEFT):t>n.x+n.width&&r.add(Bn.RIGHT),n.height<=0?(r.add(Bn.TOP),r.add(Bn.BOTTOM)):e<n.y?r.add(Bn.TOP):e>n.y+n.height&&r.add(Bn.BOTTOM),r}function zb(n,t){let e=t.x1,r=t.y1;const i=t.x2,a=t.y2,s=Array.from(ch(n,i,a));if(s.length===0)return!0;let o=ch(n,e,r);for(;o.size!==0;){for(const l of s)if(o.has(l))return!1;if(o.has(Bn.RIGHT)||o.has(Bn.LEFT)){let l=n.x;o.has(Bn.RIGHT)&&(l+=n.width),r=r+(l-e)*(a-r)/(i-e),e=l}else{let l=n.y;o.has(Bn.BOTTOM)&&(l+=n.height),e=e+(l-r)*(i-e)/(a-r),r=l}o=ch(n,e,r)}return!0}function MR(n,t){let e=Number.POSITIVE_INFINITY,r=0;function i(a,s,o,l){let c=Bb(t,new hr(a,s,o,l));c=Math.abs(c-.5),c>=0&&c<=1&&(r++,c<e&&(e=c))}return i(n.x,n.y,n.x2,n.y),i(n.x,n.y,n.x,n.y2),r>1||(i(n.x,n.y2,n.x2,n.y2),r>1)?e:(i(n.x2,n.y,n.x2,n.y2),r===0?-1:e)}function AR(n,t){let e=0;const r=lh(n,new hr(t.x,t.y,t.x2,t.y));e+=r.state===In.POINT?1:0;const i=lh(n,new hr(t.x,t.y,t.x,t.y2));e+=i.state===In.POINT?1:0;const a=lh(n,new hr(t.x,t.y2,t.x2,t.y2));e+=a.state===In.POINT?1:0;const s=lh(n,new hr(t.x2,t.y,t.x2,t.y2));return e+=s.state===In.POINT?1:0,{top:r,left:i,bottom:a,right:s,count:e}}class Or{constructor(t,e,r,i){this.x=t,this.y=e,this.width=r,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(t){return new Or(t.x,t.y,t.width,t.height)}equals(t){return this.x===t.x&&this.y===t.y&&this.width===t.width&&this.height===t.height}clone(){return new Or(this.x,this.y,this.width,this.height)}add(t){const e=Math.min(this.x,t.x),r=Math.min(this.y,t.y),i=Math.max(this.x2,t.x+t.width),a=Math.max(this.y2,t.y+t.height);this.x=e,this.y=r,this.width=i-e,this.height=a-r}addPoint(t){const e=Math.min(this.x,t.x),r=Math.min(this.y,t.y),i=Math.max(this.x2,t.x),a=Math.max(this.y2,t.y);this.x=e,this.y=r,this.width=i-e,this.height=a-r}toString(){return`Rectangle[x=${this.x}, y=${this.y}, w=${this.width}, h=${this.height}]`}draw(t){t.rect(this.x,this.y,this.width,this.height)}containsPt(t,e){return t>=this.x&&t<=this.x2&&e>=this.y&&e<=this.y2}get area(){return this.width*this.height}intersects(t){return this.area<=0||t.width<=0||t.height<=0?!1:t.x+t.width>this.x&&t.y+t.height>this.y&&t.x<this.x2&&t.y<this.y2}distSquare(t,e){if(this.containsPt(t,e))return 0;const r=ch(this,t,e);return r.has(Bn.TOP)?r.has(Bn.LEFT)?Qa(t,e,this.x,this.y):r.has(Bn.RIGHT)?Qa(t,e,this.x2,this.y):(this.y-e)*(this.y-e):r.has(Bn.BOTTOM)?r.has(Bn.LEFT)?Qa(t,e,this.x,this.y2):r.has(Bn.RIGHT)?Qa(t,e,this.x2,this.y2):(e-this.y2)*(e-this.y2):r.has(Bn.LEFT)?(this.x-t)*(this.x-t):r.has(Bn.RIGHT)?(t-this.x2)*(t-this.x2):0}}function PR(n){if(n.length===0)return null;const t=n[0],e=new Or(t.x,t.y,0,0);for(const r of n)e.addPoint(r);return e}class uh{constructor(t,e,r){this.cx=t,this.cy=e,this.radius=r}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(t){return new uh(t.cx,t.cy,t.radius)}containsPt(t,e){return Qa(this.cx,this.cy,t,e)<this.radius*this.radius}distSquare(t,e){const r=Qa(this.cx,this.cy,t,e);if(r<this.radius*this.radius)return 0;const i=Math.sqrt(r)-this.radius;return i*i}draw(t){t.ellipse(this.cx,this.cy,this.radius,this.radius,0,0,Math.PI*2)}}class Hs{constructor(t,e=0,r=0,i=0,a=0,s=10,o=10,l=new Float32Array(Math.max(0,s*o)).fill(0)){this.pixelGroup=t,this.i=e,this.j=r,this.pixelX=i,this.pixelY=a,this.width=s,this.height=o,this.area=l}createSub(t,e){return new Hs(this.pixelGroup,t.x,t.y,e.x,e.y,t.width,t.height)}static fromPixelRegion(t,e){return new Hs(e,0,0,t.x,t.y,Math.ceil(t.width/e),Math.ceil(t.height/e))}copy(t,e){return new Hs(this.pixelGroup,this.scaleX(e.x),this.scaleY(e.y),e.x,e.y,t.width,t.height,t.area)}boundX(t){return t<this.i?this.i:t>=this.width?this.width-1:t}boundY(t){return t<this.j?this.j:t>=this.height?this.height-1:t}scaleX(t){return this.boundX(Math.floor((t-this.pixelX)/this.pixelGroup))}scaleY(t){return this.boundY(Math.floor((t-this.pixelY)/this.pixelGroup))}scale(t){const e=this.scaleX(t.x),r=this.scaleY(t.y),i=this.boundX(Math.ceil((t.x+t.width-this.pixelX)/this.pixelGroup)),a=this.boundY(Math.ceil((t.y+t.height-this.pixelY)/this.pixelGroup)),s=i-e,o=a-r;return new Or(e,r,s,o)}invertScaleX(t){return Math.round(t*this.pixelGroup+this.pixelX)}invertScaleY(t){return Math.round(t*this.pixelGroup+this.pixelY)}addPadding(t,e){const r=Math.ceil(e/this.pixelGroup),i=this.boundX(t.x-r),a=this.boundY(t.y-r),s=this.boundX(t.x2+r),o=this.boundY(t.y2+r),l=s-i,c=o-a;return new Or(i,a,l,c)}get(t,e){return t<0||e<0||t>=this.width||e>=this.height?Number.NaN:this.area[t+e*this.width]}inc(t,e,r){t<0||e<0||t>=this.width||e>=this.height||(this.area[t+e*this.width]+=r)}set(t,e,r){t<0||e<0||t>=this.width||e>=this.height||(this.area[t+e*this.width]=r)}incArea(t,e){if(t.width<=0||t.height<=0||e===0)return;const r=this.width,i=t.width,a=Math.max(0,t.i),s=Math.max(0,t.j),o=Math.min(t.i+t.width,r),l=Math.min(t.j+t.height,this.height);if(!(l<=0||o<=0||a>=r||l>=this.height))for(let c=s;c<l;c++){const u=(c-t.j)*i,h=c*r;for(let f=a;f<o;f++){const d=t.area[f-t.i+u];d!==0&&(this.area[f+h]+=e*d)}}}fill(t){this.area.fill(t)}fillArea(t,e){const r=t.x+t.y*this.width;for(let i=0;i<t.height;i++){const a=r+i*this.width;this.area.fill(e,a,a+t.width)}}fillHorizontalLine(t,e,r,i){const a=t+e*this.width;this.area.fill(i,a,a+r)}fillVerticalLine(t,e,r,i){const a=t+e*this.width;for(let s=0;s<r;s++)this.area[a+s*this.width]=i}clear(){this.area.fill(0)}toString(){let t="";for(let e=0;e<this.height;e++){const r=e*this.width;for(let i=0;i<this.width;i++){const a=this.area[r+i];t+=a.toFixed(1).padStart(6),t+=" "}t+=`
`}return t}draw(t,e=!0){if(this.width<=0||this.height<=0)return;t.save(),e&&t.translate(this.pixelX,this.pixelY);const r=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-r)/(i-r);t.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];t.fillStyle=`rgba(0, 0, 0, ${a(l)})`,t.fillRect(s,o,1,1)}t.restore()}drawThreshold(t,e,r=!0){if(!(this.width<=0||this.height<=0)){t.save(),r&&t.translate(this.pixelX,this.pixelY),t.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];t.fillStyle=s>e?"black":"white",t.fillRect(i,a,1,1)}t.restore()}}}function jb(n,t){const e=r=>({x:r.x-t,y:r.y-t,width:r.width+2*t,height:r.height+2*t});return Array.isArray(n)?n.map(e):e(n)}function Fb(n,t,e){return Zb(Object.assign(Ib(n),{distSquare:(r,i)=>Wv(n.x1,n.y1,n.x2,n.y2,r,i)}),t,e)}function Zb(n,t,e){const r=jb(n,e),i=t.scale(r),a=t.createSub(i,r);return SR(a,t,e,(s,o)=>n.distSquare(s,o)),a}function SR(n,t,e,r){const i=e*e;for(let a=0;a<n.height;a++)for(let s=0;s<n.width;s++){const o=t.invertScaleX(n.i+s),l=t.invertScaleY(n.j+a),c=r(o,l);if(c===0){n.set(s,a,i);continue}if(c<i){const u=e-Math.sqrt(c);n.set(s,a,u*u)}}return n}function OR(n,t,e){const r=t.scale(n),i=t.addPadding(r,e),a=t.createSub(i,{x:n.x-e,y:n.y-e}),s=r.x-i.x,o=r.y-i.y,l=i.x2-r.x2,c=i.y2-r.y2,u=i.width-s-l,h=i.height-o-c,f=e*e;a.fillArea({x:s,y:o,width:u+1,height:h+1},f);const d=[0],v=Math.max(o,s,l,c);{const b=t.invertScaleX(r.x+r.width/2);for(let M=1;M<v;M++){const O=t.invertScaleY(r.y-M),k=n.distSquare(b,O);if(k<f){const D=e-Math.sqrt(k);d.push(D*D)}else break}}const g=[],p=Math.max(s,l),y=Math.max(o,l);for(let b=1;b<p;b++){const M=t.invertScaleX(r.x-b),O=[];for(let k=1;k<y;k++){const D=t.invertScaleY(r.y-k),j=n.distSquare(M,D);if(j<f){const B=e-Math.sqrt(j);O.push(B*B)}else O.push(0)}g.push(O)}for(let b=1;b<Math.min(o,d.length);b++){const M=d[b];a.fillHorizontalLine(s,o-b,u+1,M)}for(let b=1;b<Math.min(c,d.length);b++){const M=d[b];a.fillHorizontalLine(s,o+h+b,u+1,M)}for(let b=1;b<Math.min(s,d.length);b++){const M=d[b];a.fillVerticalLine(s-b,o,h+1,M)}for(let b=1;b<Math.min(c,d.length);b++){const M=d[b];a.fillVerticalLine(s+u+b,o,h+1,M)}for(let b=1;b<s;b++){const M=g[b-1],O=s-b;for(let k=1;k<o;k++)a.set(O,o-k,M[k-1]);for(let k=1;k<c;k++)a.set(O,o+h+k,M[k-1])}for(let b=1;b<l;b++){const M=g[b-1],O=s+u+b;for(let k=1;k<o;k++)a.set(O,o-k,M[k-1]);for(let k=1;k<c;k++)a.set(O,o+h+k,M[k-1])}return a}function HF(n,t,e,r){return{x:n,y:t,width:e,height:r}}function GF(n,t,e){return{cx:n,cy:t,radius:e}}function WF(n,t,e,r){return{x1:n,y1:t,x2:e,y2:r}}function Mn(n,t){return{x:n,y:t}}function TR(n,t,e,r){if(n.length===0)return[];const i=DR(n);return i.map((a,s)=>{const o=i.slice(0,s);return CR(t,a,o,e,r)}).flat()}function CR(n,t,e,r,i){const a=Mn(t.cx,t.cy),s=LR(a,e,n);if(s==null)return[];const o=new hr(a.x,a.y,s.cx,s.cy),l=NR(o,n,r,i);return kR(l,n)}function NR(n,t,e,r){const i=[],a=[];a.push(n);let s=!0;for(let o=0;o<e&&s;o++)for(s=!1;!s&&a.length>0;){const l=a.pop(),c=_b(t,l),u=c?AR(l,c):null;if(!c||!u||u.count!==2){s||i.push(l);continue}let h=r,f=fh(c,h,u,!0),d=Ja(f,a)||Ja(f,i),v=hh(f,t);for(;!d&&v&&h>=1;)h/=1.5,f=fh(c,h,u,!0),d=Ja(f,a)||Ja(f,i),v=hh(f,t);if(f&&!d&&!v&&(a.push(new hr(l.x1,l.y1,f.x,f.y)),a.push(new hr(f.x,f.y,l.x2,l.y2)),s=!0),s)continue;h=r,f=fh(c,h,u,!1);let g=Ja(f,a)||Ja(f,i);for(v=hh(f,t);!g&&v&&h>=1;)h/=1.5,f=fh(c,h,u,!1),g=Ja(f,a)||Ja(f,i),v=hh(f,t);f&&!g&&(a.push(new hr(l.x1,l.y1,f.x,f.y)),a.push(new hr(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 kR(n,t){const e=[];for(;n.length>0;){const r=n.pop();if(n.length===0){e.push(r);break}const i=n.pop(),a=new hr(r.x1,r.y1,i.x2,i.y2);_b(t,a)?(e.push(r),n.push(i)):n.push(a)}return e}function LR(n,t,e){let r=Number.POSITIVE_INFINITY;return t.reduce((i,a)=>{const s=Qa(n.x,n.y,a.cx,a.cy);if(s>r)return i;const o=new hr(n.x,n.y,a.cx,a.cy),l=RR(e,o);return s*(l+1)*(l+1)<r&&(i=a,r=s*(l+1)*(l+1)),i},null)}function DR(n){if(n.length<2)return n;let t=0,e=0;return n.forEach(r=>{t+=r.cx,e+=r.cy}),t/=n.length,e/=n.length,n.map(r=>{const i=t-r.cx,a=e-r.cy,s=i*i+a*a;return[r,s]}).sort((r,i)=>r[1]-i[1]).map(r=>r[0])}function hh(n,t){return t.some(e=>e.containsPt(n.x,n.y))}function Ja(n,t){return t.some(e=>!!(Rb(e.x1,e.y1,n.x,n.y,.001)||Rb(e.x2,e.y2,n.x,n.y,.001)))}function _b(n,t){let e=Number.POSITIVE_INFINITY,r=null;for(const i of n){if(!zb(i,t))continue;const a=MR(i,t);a>=0&&a<e&&(r=i,e=a)}return r}function RR(n,t){return n.reduce((e,r)=>zb(r,t)&&wR(r,t)?e+1:e,0)}function fh(n,t,e,r){const i=e.top,a=e.left,s=e.bottom,o=e.right;if(r){if(a.state===In.POINT){if(i.state===In.POINT)return Mn(n.x-t,n.y-t);if(s.state===In.POINT)return Mn(n.x-t,n.y2+t);const f=n.width*n.height;return n.width*((a.y-n.y+(o.y-n.y))*.5)<f*.5?a.y>o.y?Mn(n.x-t,n.y-t):Mn(n.x2+t,n.y-t):a.y<o.y?Mn(n.x-t,n.y2+t):Mn(n.x2+t,n.y2+t)}if(o.state===In.POINT){if(i.state===In.POINT)return Mn(n.x2+t,n.y-t);if(s.state===In.POINT)return Mn(n.x2+t,n.y2+t)}const u=n.height*n.width;return n.height*((i.x-n.x+(o.x-n.x))*.5)<u*.5?i.x>s.x?Mn(n.x-t,n.y-t):Mn(n.x-t,n.y2+t):i.x<s.x?Mn(n.x2+t,n.y-t):Mn(n.x2+t,n.y2+t)}if(a.state===In.POINT){if(i.state===In.POINT)return Mn(n.x2+t,n.y2+t);if(s.state===In.POINT)return Mn(n.x2+t,n.y-t);const u=n.height*n.width;return n.width*((a.y-n.y+(o.y-n.y))*.5)<u*.5?a.y>o.y?Mn(n.x2+t,n.y2+t):Mn(n.x-t,n.y2+t):a.y<o.y?Mn(n.x2+t,n.y-t):Mn(n.x-t,n.y-t)}if(o.state===In.POINT){if(i.state===In.POINT)return Mn(n.x-t,n.y2+t);if(s.state===In.POINT)return Mn(n.x-t,n.y-t)}const l=n.height*n.width;return n.height*((i.x-n.x+(o.x-n.x))*.5)<l*.5?i.x>s.x?Mn(n.x2+t,n.y2+t):Mn(n.x2+t,n.y-t):i.x<s.x?Mn(n.x-t,n.y2+t):Mn(n.x-t,n.y-t)}function IR(n,t,e,r){if(!(n.closed?e<n.length:e<n.length-1))return!1;const a=n.get(t),s=n.get(e+1);for(let o=t+1;o<=e;o++){const l=n.get(o);if(Wv(a.x,a.y,s.x,s.y,l.x,l.y)>r)return!1}return!0}function BR(n=0){return t=>{if(n<0||t.length<3)return t;const e=[];let r=0;const i=n*n;for(;r<t.length;){let a=r+1;for(;IR(t,r,a,i);)a++;e.push(t.get(r)),r=a}return new Gs(e)}}function zR(n,t){switch(n){case-2:return(((-t+3)*t-3)*t+1)/6;case-1:return((3*t-6)*t*t+4)/6;case 0:return(((-3*t+3)*t+3)*t+1)/6;case 1:return t*t*t/6;default:throw new Error("unknown error")}}function jR(n=6){function a(s,o,l){let c=0,u=0;for(let h=-2;h<=1;h++){const f=s.get(o+h),d=zR(h,l);c+=d*f.x,u+=d*f.y}return{x:c,y:u}}return s=>{if(s.length<3)return s;const o=[],l=s.closed,c=s.length+3-1+(l?0:2);o.push(a(s,2-(l?0:2),0));for(let u=2-(l?0:2);u<c;u++)for(let h=1;h<=n;h++)o.push(a(s,u,h/n));return new Gs(o)}}function FR(n=8){return t=>{let e=n,r=t.length;if(e>1)for(r=Math.floor(t.length/e);r<3&&e>1;)e-=1,r=Math.floor(t.length/e);const i=[];for(let a=0,s=0;s<r;s++,a+=e)i.push(t.get(a));return new Gs(i)}}class Gs{constructor(t=[],e=!0){this.points=t,this.closed=e}get(t){const e=t,r=this.points.length;return t<0?this.closed?this.get(t+r):this.points[0]:t>=r?this.closed?this.get(t-r):this.points[r-1]:this.points[e]}get length(){return this.points.length}toString(t=1/0){const e=this.points;if(e.length===0)return"";const r=typeof t=="function"?t:ER(t);let i="M";for(const a of e)i+=`${r(a.x)},${r(a.y)} L`;return i=i.slice(0,-1),this.closed&&(i+=" Z"),i}draw(t){const e=this.points;if(e.length!==0){t.beginPath(),t.moveTo(e[0].x,e[0].y);for(const r of e)t.lineTo(r.x,r.y);this.closed&&t.closePath()}}sample(t){return FR(t)(this)}simplify(t){return BR(t)(this)}bSplines(t){return jR(t)(this)}apply(t){return t(this)}containsElements(t){const e=PR(this.points);return e?t.every(r=>e.containsPt(r.cx,r.cy)&&this.withinArea(r.cx,r.cy)):!1}withinArea(t,e){if(this.length===0)return!1;let r=0;const i=this.points[0],a=new hr(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(t,e)&&r++}return a.x1=a.x2,a.y1=a.y2,a.x2=i.x,a.y2=i.y,a.cuts(t,e)&&r++,r%2===1}}class ZR{constructor(t=0){this.count=0,this.arr=[],this.set=new Set,this.arr.length=t}add(t){this.set.add(`${t.x}x${t.y}`),this.arr[this.count++]=t}contains(t){return this.set.has(`${t.x}x${t.y}`)}isFirst(t){if(this.count===0)return!1;const e=this.arr[0];return e!=null&&e.x===t.x&&e.y===t.y}path(){return new Gs(this.arr.slice(0,this.count))}clear(){this.set.clear(),this.count=0}get(t){return this.arr[t]}get length(){return this.count}}const kl=0,dh=1,vh=2,Vv=3;function _R(n,t){const e=(Math.floor(n.width)+Math.floor(n.height))*2,r=new ZR(e);function i(l,c,u,h){const f=n.get(l,c);return Number.isNaN(f)?Number.NaN:f>t?u+h:u}function a(l,c){let u=kl;return u=i(l,c,u,1),u=i(l+1,c,u,2),u=i(l,c+1,u,4),u=i(l+1,c+1,u,8),Number.isNaN(u)?-1:u}let s=dh;function o(l,c){let u=l,h=c,f=n.invertScaleX(u),d=n.invertScaleY(h);for(let v=0;v<n.width*n.height;v++){const g={x:f,y:d};if(r.contains(g)){if(r.isFirst(g))return!0}else r.add(g);const p=a(u,h);switch(p){case-1:return!0;case 0:case 3:case 2:case 7:s=vh;break;case 12:case 14:case 4:s=Vv;break;case 6:s=s===kl?Vv:vh;break;case 1:case 13:case 5:s=kl;break;case 9:s=s===vh?kl:dh;break;case 10:case 8:case 11:s=dh;break;default:return console.warn("Marching squares invalid state: "+p),!0}switch(s){case kl:h--,d-=n.pixelGroup;break;case dh:h++,d+=n.pixelGroup;break;case Vv:u--,f-=n.pixelGroup;break;case vh:u++,f+=n.pixelGroup;break;default:return console.warn("Marching squares invalid state: "+p),!0}}return!0}for(let l=0;l<n.width;l++)for(let c=0;c<n.height;c++){if(n.get(l,c)<=t)continue;const u=a(l,c);if(!(u<0||u===15)&&o(l,c))return r.path()}return null}const gh={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 Ll(n){return n!=null&&typeof n.radius=="number"}function Hb(n,t){if(Ll(n)!==Ll(t))return!1;if(Ll(n)){const r=t;return n.cx===r.cx&&n.cy===r.cy&&n.radius===r.radius}const e=t;return n.x===e.x&&n.y===e.y&&n.width===e.width&&n.height===e.height}var Zi;(function(n){n[n.MEMBERS=0]="MEMBERS",n[n.NON_MEMBERS=1]="NON_MEMBERS",n[n.EDGES=2]="EDGES"})(Zi||(Zi={}));class Yv{constructor(t={}){this.dirty=new Set,this.members=[],this.nonMembers=[],this.virtualEdges=[],this.edges=[],this.activeRegion=new Or(0,0,0,0),this.potentialArea=new Hs(1,0,0,0,0,0,0),this.o=Object.assign({},gh,t)}pushMember(...t){if(t.length!==0){this.dirty.add(Zi.MEMBERS);for(const e of t)this.members.push({raw:e,obj:Ll(e)?uh.from(e):Or.from(e),area:null})}}removeMember(t){const e=this.members.findIndex(r=>Hb(r.raw,t));return e<0?!1:(this.members.splice(e,1),this.dirty.add(Zi.MEMBERS),!0)}removeNonMember(t){const e=this.nonMembers.findIndex(r=>Hb(r.raw,t));return e<0?!1:(this.nonMembers.splice(e,1),this.dirty.add(Zi.NON_MEMBERS),!0)}removeEdge(t){const e=this.edges.findIndex(r=>r.obj.equals(t));return e<0?!1:(this.edges.splice(e,1),this.dirty.add(Zi.NON_MEMBERS),!0)}pushNonMember(...t){if(t.length!==0){this.dirty.add(Zi.NON_MEMBERS);for(const e of t)this.nonMembers.push({raw:e,obj:Ll(e)?uh.from(e):Or.from(e),area:null})}}pushEdge(...t){if(t.length!==0){this.dirty.add(Zi.EDGES);for(const e of t)this.edges.push({raw:e,obj:hr.from(e),area:null})}}update(){const t=this.dirty.has(Zi.MEMBERS),e=this.dirty.has(Zi.NON_MEMBERS);let r=this.dirty.has(Zi.EDGES);this.dirty.clear();const i=this.members.map(c=>c.obj);if(this.o.virtualEdges&&(t||e)){const c=this.nonMembers.map(f=>f.obj),u=TR(i,c,this.o.maxRoutingIterations,this.o.morphBuffer),h=new Map(this.virtualEdges.map(f=>[f.obj.toString(),f.area]));this.virtualEdges=u.map(f=>{var d;return{raw:f,obj:f,area:(d=h.get(f.toString()))!==null&&d!==void 0?d:null}}),r=!0}let a=!1;if(t||r){const c=this.virtualEdges.concat(this.edges).map(d=>d.obj),u=GR(i,c),h=Math.max(this.o.edgeR1,this.o.nodeR1)+this.o.morphBuffer,f=Or.from(jb(u,h));f.equals(this.activeRegion)||(a=!0,this.activeRegion=f)}if(a){const c=Math.ceil(this.activeRegion.width/this.o.pixelGroup),u=Math.ceil(this.activeRegion.height/this.o.pixelGroup);this.activeRegion.x!==this.potentialArea.pixelX||this.activeRegion.y!==this.potentialArea.pixelY?(this.potentialArea=Hs.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)):(c!==this.potentialArea.width||u!==this.potentialArea.height)&&(this.potentialArea=Hs.fromPixelRegion(this.activeRegion,this.o.pixelGroup))}const s=new Map,o=c=>{if(c.area){const u=`${c.obj.width}x${c.obj.height}x${c.obj instanceof Or?"R":"C"}`;s.set(u,c.area)}},l=c=>{if(c.area)return;const u=`${c.obj.width}x${c.obj.height}x${c.obj instanceof Or?"R":"C"}`;if(s.has(u)){const f=s.get(u);c.area=this.potentialArea.copy(f,{x:c.obj.x-this.o.nodeR1,y:c.obj.y-this.o.nodeR1});return}const h=c.obj instanceof Or?OR(c.obj,this.potentialArea,this.o.nodeR1):Zb(c.obj,this.potentialArea,this.o.nodeR1);c.area=h,s.set(u,h)};this.members.forEach(o),this.nonMembers.forEach(o),this.members.forEach(l),this.nonMembers.forEach(c=>{this.activeRegion.intersects(c.obj)?l(c):c.area=null}),this.edges.forEach(c=>{c.area||(c.area=Fb(c.obj,this.potentialArea,this.o.edgeR1))}),this.virtualEdges.forEach(c=>{c.area||(c.area=Fb(c.obj,this.potentialArea,this.o.edgeR1))})}drawMembers(t){for(const e of this.members)e.obj.draw(t)}drawNonMembers(t){for(const e of this.nonMembers)e.obj.draw(t)}drawEdges(t){for(const e of this.edges)e.obj.draw(t)}drawPotentialArea(t,e=!0){this.potentialArea.draw(t,e)}compute(){if(this.members.length===0)return new Gs([]);this.dirty.size>0&&this.update();const{o:t,potentialArea:e}=this,r=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 HR(e,r,i,a,o=>o.containsElements(s),t)}}function HR(n,t,e,r,i,a={}){const s=Object.assign({},gh,a);let o=s.threshold,l=s.memberInfluenceFactor,c=s.edgeInfluenceFactor,u=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(n.clear(),l!==0){const g=l/h;for(const p of t)n.incArea(p,g)}if(c!==0){const g=c/f;for(const p of e)n.incArea(p,g)}if(u!==0){const g=u/h;for(const p of r)n.incArea(p,g)}const v=_R(n,o);if(v&&i(v))return v;if(o*=.95,d<=s.maxMarchingIterations*.5)l*=1.2,c*=1.2;else if(u!==0&&r.length>0)u*=.8;else break}return new Gs([])}function GR(n,t){if(n.length===0)return new Or(0,0,0,0);const e=Or.from(n[0]);for(const r of n)e.add(r);for(const r of t)e.add(Ib(r));return e}function XF(n,t=[],e=[],r={}){if(n.length===0)return new Gs([]);const i=new Yv(r);return i.pushMember(...n),i.pushNonMember(...t),i.pushEdge(...e),i.compute()}var WR=function(n,t){var e={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&t.indexOf(r)<0&&(e[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(n);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(n,r[i])&&(e[r[i]]=n[r[i]]);return e};class ph extends yr{constructor(t,e){super(t,pr({},ph.defaultOptions,e)),this.members=new Map,this.avoidMembers=new Map,this.bubbleSetOptions={},this.drawBubbleSets=()=>{const{style:r,bubbleSetOptions:i}=this.parseOptions();Hn(this.bubbleSetOptions,i)||this.init(),this.bubbleSetOptions=Object.assign({},i);const a=Object.assign(Object.assign({},r),{d:this.getPath()});this.shape?this.shape.update(a):(this.shape=new El({style:a}),this.context.canvas.appendChild(this.shape))},this.updateBubbleSetsPath=r=>{if(!this.shape)return;const i=Pt(r.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=r=>{const{graph:i}=this.context,a=this.options.members,s=[...this.members.keys()],o=this.options.avoidMembers,l=[...this.avoidMembers.keys()];if(!r&&Hn(a,s)&&Hn(o,l))return this.path;const{enter:c=[],exit:u=[]}=Za(s,a,p=>p),{enter:h=[],exit:f=[]}=Za(l,o,p=>p);r&&(u.push(r),c.push(r));const d=(p,y,b)=>{p.forEach(M=>{const O=b?this.members:this.avoidMembers,k=b?"pushMember":"pushNonMember",D=b?"removeMember":"removeNonMember";if(y){let j;i.getElementType(M)==="edge"?([j]=VR(i,M),this.bubbleSets.pushEdge(j)):([j]=XR(i,M),this.bubbleSets[k](j)),O.set(M,j)}else{const j=O.get(M);j&&(i.getElementType(M)==="edge"?this.bubbleSets.removeEdge(j):this.bubbleSets[D](j),O.delete(M))}})};d(u,!1,!0),d(c,!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=Wy(g.points.map(mr)),this.path},this.bindEvents(),this.bubbleSets=new Yv(this.options)}bindEvents(){this.context.graph.on(Qt.AFTER_RENDER,this.drawBubbleSets),this.context.graph.on(Qt.AFTER_ELEMENT_UPDATE,this.updateBubbleSetsPath)}init(){this.bubbleSets=new Yv(this.options),this.members=new Map,this.avoidMembers=new Map}parseOptions(){const t=this.options,{type:e,key:r,members:i,avoidMembers:a}=t,s=WR(t,["type","key","members","avoidMembers"]),o=Object.keys(s).reduce((l,c)=>(c in gh?l.bubbleSetOptions[c]=s[c]:l.style[c]=s[c],l),{style:{},bubbleSetOptions:{}});return Object.assign({type:e,key:r,members:i,avoidMembers:a},o)}addMember(t){const e=Array.isArray(t)?t:[t];e.some(r=>this.options.avoidMembers.includes(r))&&(this.options.avoidMembers=this.options.avoidMembers.filter(r=>!e.includes(r))),this.options.members=[...new Set([...this.options.members,...e])],this.drawBubbleSets()}removeMember(t){const e=Array.isArray(t)?t:[t];this.options.members=this.options.members.filter(r=>!e.includes(r)),this.drawBubbleSets()}updateMember(t){this.options.members=de(t)?t(this.options.members):t,this.drawBubbleSets()}getMember(){return this.options.members}addAvoidMember(t){const e=Array.isArray(t)?t:[t];e.some(r=>this.options.members.includes(r))&&(this.options.members=this.options.members.filter(r=>!e.includes(r))),this.options.avoidMembers=[...new Set([...this.options.avoidMembers,...e])],this.drawBubbleSets()}removeAvoidMember(t){const e=Array.isArray(t)?t:[t];this.options.avoidMembers.some(r=>e.includes(r))&&(this.options.avoidMembers=this.options.avoidMembers.filter(r=>!e.includes(r)),this.drawBubbleSets())}updateAvoidMember(t){this.options.avoidMembers=Array.isArray(t)?t:[t],this.drawBubbleSets()}getAvoidMember(){return this.options.avoidMembers}destroy(){this.context.graph.off(Qt.AFTER_RENDER,this.drawBubbleSets),this.context.graph.off(Qt.AFTER_ELEMENT_UPDATE,this.updateBubbleSetsPath),this.shape.destroy(),super.destroy()}}ph.defaultOptions=Object.assign({members:[],avoidMembers:[],fill:"lightblue",fillOpacity:.2,stroke:"blue",strokeOpacity:.2},gh);const XR=(n,t)=>(Array.isArray(t)?t:[t]).map(r=>{const i=n.getElementRenderBounds(r);return new Or(i.min[0],i.min[1],ta(i),ea(i))}),VR=(n,t)=>(Array.isArray(t)?t:[t]).map(r=>{const i=n.getEdgeData(r),a=n.getElementPosition(i.source),s=n.getElementPosition(i.target);return hr.from({x1:a[0],y1:a[1],x2:s[0],y2:s[1]})});class VF extends null{constructor(t,e){super(t,e),this.setOptions=r=>{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=r[s];if(l!==void 0){const c=a(s,l);this.context.canvas.getCamera()[o](c)}})},this.bindEvents()}update(t){this.setOptions(t),super.update(t)}bindEvents(){this.context.graph.once(GraphEvent.BEFORE_DRAW,()=>this.setOptions(this.options))}getCanvasAspect(){const[t,e]=this.context.viewport.getCanvasSize();return t/e}}function YR(n){return`
<ul class="g6-contextmenu-ul">
${n.map(t=>`<li class="g6-contextmenu-li" value="${t.value}">${t.name}</li>`).join("")}
</ul>
`}const UR=`
.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 Gb=function(n,t,e,r){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(u){try{c(r.next(u))}catch(h){s(h)}}function l(u){try{c(r.throw(u))}catch(h){s(h)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((r=r.apply(n,t||[])).next())})};class mh extends yr{constructor(t,e){super(t,Object.assign({},mh.defaultOptions,e)),this.targetElement=null,this.onTriggerEvent=r=>{var i;(i=r.preventDefault)===null||i===void 0||i.call(r),this.show(r)},this.onMenuItemClick=r=>{const{onClick:i,trigger:a}=this.options;if(r.target instanceof HTMLElement&&r.target.className.includes("g6-contextmenu-li")){const s=r.target.getAttribute("value");i==null||i(s,r.target,this.targetElement),this.hide()}a!=="click"&&this.hide()},this.initElement(),this.update(e)}initElement(){this.$element=wo("contextmenu",!1,{zIndex:"99"});const{className:t}=this.options;t&&this.$element.classList.add(t),this.context.canvas.getContainer().appendChild(this.$element),Gv("g6-contextmenu-css","style",{},UR,document.head)}show(t){return Gb(this,void 0,void 0,function*(){const{enable:e,offset:r}=this.options;if(typeof e=="function"&&!e(t)||!e){this.hide();return}const i=yield this.getDOMContent(t);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=`${t.client.x-a.left+r[0]}px`,this.$element.style.top=`${t.client.y-a.top+r[1]}px`,this.$element.style.display="block",this.targetElement=t.target})}hide(){this.$element.style.display="none",this.targetElement=null}update(t){this.unbindEvents(),super.update(t),this.bindEvents()}destroy(){this.unbindEvents(),super.destroy(),this.$element.remove()}getDOMContent(t){return Gb(this,void 0,void 0,function*(){const{getContent:e,getItems:r}=this.options;return r?YR(yield r(t)):yield e(t)})}bindEvents(){const{graph:t}=this.context,{trigger:e}=this.options;t.on(`canvas:${e}`,this.onTriggerEvent),t.on(`node:${e}`,this.onTriggerEvent),t.on(`edge:${e}`,this.onTriggerEvent),t.on(`combo:${e}`,this.onTriggerEvent),document.addEventListener("click",this.onMenuItemClick)}unbindEvents(){const{graph:t}=this.context,{trigger:e}=this.options;t.off(`canvas:${e}`,this.onTriggerEvent),t.off(`node:${e}`,this.onTriggerEvent),t.off(`edge:${e}`,this.onTriggerEvent),t.off(`combo:${e}`,this.onTriggerEvent),document.removeEventListener("click",this.onMenuItemClick)}}mh.defaultOptions={trigger:"contextmenu",offset:[4,4],loadingContent:'<div class="g6-contextmenu-loading">Loading...</div>',getContent:()=>"It is a empty context menu.",enable:()=>!0};class yh extends yr{constructor(t,e){super(t,Object.assign({},yh.defaultOptions,e)),this.edgeBundles={},this.edgePoints={},this.onBundle=()=>{const{model:r,element:i}=this.context,a=r.getEdgeData();this.divideEdges(this.options.divisions);const{cycles:s,iterRate:o,divRate:l}=this.options;let{lambda:c,divisions:u,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 y=Pt(g);v[y]=this.getEdgeForces(g,u,c);for(let b=0;b<u+1;b++)(p=this.edgePoints)[y]||(p[y]=[]),this.edgePoints[y][b]=Ne(this.edgePoints[y][b],v[y][b])})}c/=2,u*=l,h*=o,this.divideEdges(u)}a.forEach(f=>{const d=Pt(f),v=i.getElement(d);v==null||v.update({d:fv(this.edgePoints[d])})})},this.bindEvents()}get nodeMap(){const t=this.context.model.getNodeData();return Object.fromEntries(t.map(e=>[Pt(e),Ls(ir(e))]))}divideEdges(t){this.context.model.getEdgeData().forEach(r=>{var i;const a=Pt(r);(i=this.edgePoints)[a]||(i[a]=[]);const s=this.nodeMap[r.source],o=this.nodeMap[r.target];if(t===1)this.edgePoints[a].push(s),this.edgePoints[a].push(zi(Ne(s,o),2)),this.edgePoints[a].push(o);else{const c=(this.edgePoints[a].length===0?bn(s,o):$R(this.edgePoints[a]))/(t+1);let u=c;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>u;){const p=u/g,y=Ne(d,Bi(on(v,d),p));h.push(y),g-=u,u=c}u-=g}h.push(o),this.edgePoints[a]=h}})}getVectorPosition(t){const e=this.nodeMap[t.source],r=this.nodeMap[t.target],[i,a]=on(r,e),s=bn(e,r);return{source:e,target:r,vx:i,vy:a,length:s}}measureEdgeCompatibility(t,e){const r=this.getVectorPosition(t),i=this.getVectorPosition(e),a=KR(r,i),s=QR(r,i),o=JR(r,i),l=qR(r,i);return a*s*o*l}getEdgeBundles(){const t={},e=this.options.bundleThreshold,r=this.context.model.getEdgeData();return r.forEach((i,a)=>{r.forEach((s,o)=>{var l,c;if(o<=a)return;this.measureEdgeCompatibility(i,s)>=e&&(t[l=Pt(i)]||(t[l]=[]),t[Pt(i)].push(s),t[c=Pt(s)]||(t[c]=[]),t[Pt(s)].push(i))})}),t}getSpringForce(t,e){const{pre:r,cur:i,next:a}=t;return Bi(on(Ne(r,a),Bi(i,2)),e)}getElectrostaticForce(t,e){ra(this.edgeBundles)&&(this.edgeBundles=this.getEdgeBundles());const r=this.edgeBundles[Pt(e)];let i=[0,0];return r==null||r.forEach(a=>{const s=this.edgePoints[Pt(a)][t],o=this.edgePoints[Pt(e)][t],l=on(s,o),c=bn(s,o);i=Ne(i,Bi(l,1/c))}),i}getEdgeForces(t,e,r){const i=this.nodeMap[t.source],a=this.nodeMap[t.target],s=this.options.K/(bn(i,a)*(e+1)),o=[[0,0]],l=Pt(t);for(let c=1;c<e;c++){const u=this.getSpringForce({pre:this.edgePoints[l][c-1],cur:this.edgePoints[l][c],next:this.edgePoints[l][c+1]||[0,0]},s),h=this.getElectrostaticForce(c,t);o.push(Bi(Ne(u,h),r))}return o.push([0,0]),o}bindEvents(){const{graph:t}=this.context;t.on(Qt.AFTER_RENDER,this.onBundle)}unbindEvents(){const{graph:t}=this.context;t.off(Qt.AFTER_RENDER,this.onBundle)}destroy(){this.unbindEvents(),super.destroy()}}yh.defaultOptions={K:.1,lambda:.1,divisions:1,divRate:2,cycles:6,iterations:90,iterRate:2/3,bundleThreshold:.6};const KR=(n,t)=>Math.abs(yT([n.vx,n.vy],[t.vx,t.vy])/(n.length*t.length)),QR=(n,t)=>{const e=(n.length+t.length)/2;return 2/(e/Math.min(n.length,t.length)+Math.max(n.length,t.length)/e)},JR=(n,t)=>{const e=(n.length+t.length)/2,r=zi(Ne(n.source,n.target),2),i=zi(Ne(t.source,t.target),2);return e/(e+bn(r,i))},Wb=(n,t)=>{if(t.source[0]===t.target[0])return[t.source[0],n[1]];if(t.source[1]===t.target[1])return[n[0],t.source[1]];const e=(t.source[1]-t.target[1])/(t.source[0]-t.target[0]),r=(e*e*t.source[0]+e*(n[1]-t.source[1])+n[0])/(e*e+1),i=e*(r-t.source[0])+t.source[1];return[r,i]},Xb=(n,t)=>{const e=Wb(t.source,n),r=Wb(t.target,n),i=zi(Ne(e,r),2),a=zi(Ne(n.source,n.target),2);return bn(e,r)===0?0:Math.max(0,1-2*bn(a,i)/bn(e,r))},qR=(n,t)=>Math.min(Xb(n,t),Xb(t,n)),$R=n=>{let t=0;for(let e=1;e<n.length;e++)t+=bn(n[e],n[e-1]);return t},tI={fill:"#fff",fillOpacity:1,lineWidth:1,stroke:"#000",strokeOpacity:.8,zIndex:-1/0},Vb=.05;class bh extends yr{constructor(t,e){super(t,Object.assign({},bh.defaultOptions,e)),this.shapes=new Map,this.r=this.options.r,this.onEdgeFilter=r=>{if(this.options.trigger==="drag"&&this.isLensOn)return;const i=mr(r.canvas);this.renderLens(i),this.renderFocusElements()},this.renderLens=r=>{const i=Object.assign({},tI,this.options.style);this.isLensOn||(this.lens=new Is({style:i}),this.canvas.appendChild(this.lens)),Object.assign(i,ji(r),{size:this.r*2}),this.lens.update(i)},this.getFilterData=()=>{const{filter:r}=this.options,{model:i}=this.context,a=i.getData();if(!r)return a;const{nodes:s,edges:o,combos:l}=a;return{nodes:s.filter(c=>r(Pt(c),"node")),edges:o.filter(c=>r(Pt(c),"edge")),combos:l.filter(c=>r(Pt(c),"combo"))}},this.getFocusElements=r=>{const{nodes:i,edges:a}=this.getFilterData(),s=i.filter(c=>bn(ir(c),r)<this.r),o=s.map(c=>Pt(c)),l=a.filter(c=>{const{source:u,target:h}=c,f=o.includes(u),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:r,graph:i}=this.context;if(!this.isLensOn)return;const a=this.lens.getCenter(),{nodes:s,edges:o}=this.getFocusElements(a),l=new Set,c=u=>{const h=Pt(u);l.add(h);const f=r.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,y])=>{d.style[p]!==y&&(d.style[p]=y)}):(this.canvas.appendChild(d),this.shapes.set(h,d));const v=i.getElementType(h),g=this.getElementStyle(v,u);d.update(g)};s.forEach(c),o.forEach(c),this.shapes.forEach((u,h)=>{l.has(h)||(u.destroy(),this.shapes.delete(h))})},this.scaleRByWheel=r=>{var i;this.options.preventDefault&&r.preventDefault();const{clientX:a,clientY:s,deltaX:o,deltaY:l}=r,{graph:c,canvas:u}=this.context,h=c.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-Vb):1-Vb,p=Math.min(...u.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=r=>{var i;const a=mr(r.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=r=>{if(!this.isLensDragging)return;const i=mr(r.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(t,e){const r=t==="node"?this.options.nodeStyle:this.options.edgeStyle;return typeof r=="function"?r(e):r}get graphDom(){return this.context.graph.getCanvas().getContextService().getDomElement()}bindEvents(){var t;const{graph:e}=this.context,{trigger:r,scaleRBy:i}=this.options,a=e.getCanvas().getLayer();["click","drag"].includes(r)&&a.addEventListener(jt.CLICK,this.onEdgeFilter),r==="pointermove"?a.addEventListener(jt.POINTER_MOVE,this.onEdgeFilter):r==="drag"&&(a.addEventListener(jt.DRAG_START,this.onDragStart),a.addEventListener(jt.DRAG,this.onDrag),a.addEventListener(jt.DRAG_END,this.onDragEnd)),i==="wheel"&&((t=this.graphDom)===null||t===void 0||t.addEventListener(jt.WHEEL,this.scaleRByWheel,{passive:!1}))}unbindEvents(){var t;const{graph:e}=this.context,{trigger:r,scaleRBy:i}=this.options,a=e.getCanvas().getLayer();["click","drag"].includes(r)&&a.removeEventListener(jt.CLICK,this.onEdgeFilter),r==="pointermove"?a.removeEventListener(jt.POINTER_MOVE,this.onEdgeFilter):r==="drag"&&(a.removeEventListener(jt.DRAG_START,this.onDragStart),a.removeEventListener(jt.DRAG,this.onDrag),a.removeEventListener(jt.DRAG_END,this.onDragEnd)),i==="wheel"&&((t=this.graphDom)===null||t===void 0||t.removeEventListener(jt.WHEEL,this.scaleRByWheel))}update(t){var e;this.unbindEvents(),super.update(t),this.r=(e=t.r)!==null&&e!==void 0?e:this.r,this.bindEvents()}destroy(){this.unbindEvents(),this.isLensOn&&this.lens.destroy(),this.shapes.forEach((t,e)=>{t.destroy(),this.shapes.delete(e)}),super.destroy()}}bh.defaultOptions={trigger:"pointermove",r:60,nodeType:"both",filter:()=>!0,style:{lineWidth:2},nodeStyle:{label:!1},edgeStyle:{label:!0},scaleRBy:"wheel",preventDefault:!0};const eI={fill:"#ccc",fillOpacity:.1,lineWidth:2,stroke:"#000",strokeOpacity:.8,labelFontSize:12},Yb=.05,Ub=.1;class xh extends yr{constructor(t,e){super(t,Object.assign({},xh.defaultOptions,e)),this.r=this.options.r,this.d=this.options.d,this.onCreateFisheye=r=>{if(this.options.trigger==="drag"&&this.isLensOn)return;const i=mr(r.canvas);this.onMagnify(i)},this.onMagnify=r=>{r.some(isNaN)||(this.renderLens(r),this.renderFocusElements())},this.renderLens=r=>{const i=Object.assign({},eI,this.options.style);this.isLensOn||(this.lens=new Is({style:i}),this.canvas.appendChild(this.lens)),Object.assign(i,ji(r),{size:this.r*2,label:this.options.showDPercent,labelText:this.getDPercent()}),this.lens.update(i)},this.getDPercent=()=>{const{minD:r,maxD:i}=this.options;return`${Math.round((this.d-r)/(i-r)*100)}%`},this.prevMagnifiedStyleMap=new Map,this.prevOriginStyleMap=new Map,this.renderFocusElements=()=>{if(!this.isLensOn)return;const{graph:r}=this.context,i=this.lens.getCenter(),a=(this.d+1)*this.r,s=new Map,o=new Map;r.getNodeData().forEach(c=>{const u=ir(c),h=bn(u,i);if(h>this.r)return;const f=a*h/(this.d*h+this.r),[d,v]=u,[g,p]=i,y=(d-g)/h,b=(v-p)/h,M=[g+f*y,p+f*b],O=Pt(c),k=this.getNodeStyle(c),D=zs(r.getElementRenderStyle(O),Object.keys(k));s.set(O,Object.assign(Object.assign({},ji(M)),k)),o.set(O,Object.assign(Object.assign({},ji(u)),D))}),this.updateStyle(s,o)},this.getNodeStyle=r=>{const{nodeStyle:i}=this.options;return typeof i=="function"?i(r):i},this.updateStyle=(r,i)=>{const{graph:a,element:s}=this.context,{enter:o,exit:l,keep:c}=Za(Array.from(this.prevMagnifiedStyleMap.keys()),Array.from(r.keys()),f=>f),u=new Set,h=(f,d)=>{const v=s.getElement(f);v==null||v.update(d),a.getRelatedEdgesData(f).forEach(g=>{u.add(Pt(g))})};[...o,...c].forEach(f=>{h(f,r.get(f))}),l.forEach(f=>{h(f,this.prevOriginStyleMap.get(f)),this.prevOriginStyleMap.delete(f)}),u.forEach(f=>{const d=s.getElement(f);d==null||d.update({})}),this.prevMagnifiedStyleMap=r,i.forEach((f,d)=>{this.prevOriginStyleMap.has(d)||this.prevOriginStyleMap.set(d,f)})},this.isWheelValid=r=>{if(this.options.preventDefault&&r.preventDefault(),!this.isLensOn)return!1;const{clientX:i,clientY:a}=r,s=this.context.graph.getCanvasByClient([i,a]),o=this.lens.getCenter();return!(bn(s,o)>this.r)},this.scaleR=r=>{const{maxR:i,minR:a}=this.options,s=r?1/(1-Yb):1-Yb,o=Math.min(...this.context.canvas.getSize())/2;this.r=Math.max(a||0,Math.min(i||o,this.r*s))},this.scaleD=r=>{const{maxD:i,minD:a}=this.options,s=r?this.d+Ub:this.d-Ub;this.d=Math.max(a,Math.min(i,s))},this.scaleRByWheel=r=>{if(!this.isWheelValid(r))return;const{deltaX:i,deltaY:a}=r;this.scaleR(i+a>0);const s=this.lens.getCenter();this.onMagnify(s)},this.scaleDByWheel=r=>{if(!this.isWheelValid(r))return;const{deltaX:i,deltaY:a}=r;this.scaleD(i+a>0);const s=this.lens.getCenter();this.onMagnify(s)},this.isDragValid=r=>{if(this.options.preventDefault&&r.preventDefault(),!this.isLensOn)return!1;const i=mr(r.canvas),a=this.lens.getCenter();return!(bn(i,a)>this.r)},this.isLensDragging=!1,this.onDragStart=r=>{this.isDragValid(r)&&(this.isLensDragging=!0)},this.onDrag=r=>{if(!this.isLensDragging)return;const i=mr(r.canvas);this.onMagnify(i)},this.onDragEnd=()=>{this.isLensDragging=!1},this.scaleRByDrag=r=>{if(!this.isLensDragging)return;const{dx:i,dy:a}=r;this.scaleR(i-a>0);const s=this.lens.getCenter();this.onMagnify(s)},this.scaleDByDrag=r=>{if(!this.isLensDragging)return;const{dx:i,dy:a}=r;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 t;const{graph:e}=this.context,{trigger:r,scaleRBy:i,scaleDBy:a}=this.options,s=e.getCanvas().getLayer();if(["click","drag"].includes(r)&&s.addEventListener(jt.CLICK,this.onCreateFisheye),r==="pointermove"&&s.addEventListener(jt.POINTER_MOVE,this.onCreateFisheye),r==="drag"||i==="drag"||a==="drag"){s.addEventListener(jt.DRAG_START,this.onDragStart),s.addEventListener(jt.DRAG_END,this.onDragEnd);const o=r==="drag"?this.onDrag:i==="drag"?this.scaleRByDrag:this.scaleDByDrag;s.addEventListener(jt.DRAG,o)}if(i==="wheel"||a==="wheel"){const o=i==="wheel"?this.scaleRByWheel:this.scaleDByWheel;(t=this.graphDom)===null||t===void 0||t.addEventListener(jt.WHEEL,o,{passive:!1})}}unbindEvents(){var t;const{graph:e}=this.context,{trigger:r,scaleRBy:i,scaleDBy:a}=this.options,s=e.getCanvas().getLayer();if(["click","drag"].includes(r)&&s.removeEventListener(jt.CLICK,this.onCreateFisheye),r==="pointermove"&&s.removeEventListener(jt.POINTER_MOVE,this.onCreateFisheye),r==="drag"||i==="drag"||a==="drag"){s.removeEventListener(jt.DRAG_START,this.onDragStart),s.removeEventListener(jt.DRAG_END,this.onDragEnd);const o=r==="drag"?this.onDrag:i==="drag"?this.scaleRByDrag:this.scaleDByDrag;s.removeEventListener(jt.DRAG,o)}if(i==="wheel"||a==="wheel"){const o=i==="wheel"?this.scaleRByWheel:this.scaleDByWheel;(t=this.graphDom)===null||t===void 0||t.removeEventListener(jt.WHEEL,o)}}update(t){var e,r;this.unbindEvents(),super.update(t),this.r=(e=t.r)!==null&&e!==void 0?e:this.r,this.d=(r=t.d)!==null&&r!==void 0?r:this.d,this.bindEvents()}destroy(){var t;this.unbindEvents(),this.isLensOn&&((t=this.lens)===null||t===void 0||t.destroy()),this.prevMagnifiedStyleMap.clear(),this.prevOriginStyleMap.clear(),super.destroy()}}xh.defaultOptions={trigger:"pointermove",r:120,d:1.5,maxD:5,minD:0,showDPercent:!0,style:{},nodeStyle:{label:!0},preventDefault:!0};class Eh extends yr{constructor(t,e){super(t,Object.assign({},Eh.defaultOptions,e)),this.$el=this.context.canvas.getContainer(),this.graphSize=[0,0],this.onFullscreenChange=()=>{var r,i,a,s;const o=!!document.fullscreenElement;this.options.autoFit&&this.setGraphSize(o),o?(i=(r=this.options).onEnter)===null||i===void 0||i.call(r):(s=(a=this.options).onExit)===null||s===void 0||s.call(a)},this.shortcut=new vo(t.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:t=[],exit:e=[]}=this.options.trigger;this.shortcut.bind(t,this.request),this.shortcut.bind(e,this.exit),["webkitfullscreenchange","mozfullscreenchange","fullscreenchange","MSFullscreenChange"].forEach(i=>{document.addEventListener(i,this.onFullscreenChange,!1)})}unbindEvents(){this.shortcut.unbindAll(),["webkitfullscreenchange","mozfullscreenchange","fullscreenchange","MSFullscreenChange"].forEach(e=>{document.removeEventListener(e,this.onFullscreenChange,!1)})}setGraphSize(t=!0){var e,r;let i,a;t?(i=((e=globalThis.screen)===null||e===void 0?void 0:e.width)||0,a=((r=globalThis.screen)===null||r===void 0?void 0:r.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||!nI()||this.$el.requestFullscreen().catch(t=>{Kr.warn(`Error attempting to enable full-screen: ${t.message} (${t.name})`)})}exit(){document.fullscreenElement&&document.exitFullscreen()}update(t){this.unbindEvents(),super.update(t),this.bindEvents()}destroy(){this.exit(),this.style.remove(),super.destroy()}}Eh.defaultOptions={trigger:{},autoFit:!0};function nI(){return document.fullscreenEnabled||Reflect.get(document,"webkitFullscreenEnabled")||Reflect.get(document,"mozFullscreenEnabled")||Reflect.get(document,"msFullscreenEnabled")}class wh extends yr{constructor(t,e){super(t,Object.assign({},wh.defaultOptions,e)),this.$element=wo("grid-line",!0),this.offset=[0,0],this.currentScale=1,this.followZoom=i=>{const{data:{scale:a,origin:s}}=i;if(!a)return;const o=this.currentScale;this.currentScale=a;const l=a/o,c=Bi(s||this.context.graph.getCanvasCenter(),1-l),u=this.baseSize*a,h=Bi(this.offset,l),f=Xd(h,u),d=Ne(f,c);this.$element.style.backgroundSize=`${u}px ${u}px`,this.$element.style.backgroundPosition=`${d[0]}px ${d[1]}px`,this.offset=Xd(d,u)},this.followTranslate=i=>{if(!this.options.follow)return;const{data:{translate:a}}=i;a&&this.updateOffset(a)},this.onTransform=i=>{const a=this.parseFollow(this.options.follow);a.zoom&&this.followZoom(i),a.translate&&this.followTranslate(i)},this.context.canvas.getContainer().prepend(this.$element),this.baseSize=this.options.size,this.updateStyle(),this.bindEvents()}update(t){super.update(t),t.size!==void 0&&(this.baseSize=t.size),this.updateStyle()}bindEvents(){const{graph:t}=this.context;t.on(Qt.AFTER_TRANSFORM,this.onTransform)}updateStyle(){const{stroke:t,lineWidth:e,border:r,borderLineWidth:i,borderStroke:a,borderStyle:s}=this.options,o=this.baseSize*this.currentScale;Object.assign(this.$element.style,{border:r?`${i}px ${s} ${a}`:"none",backgroundImage:`linear-gradient(${t} ${e}px, transparent ${e}px), linear-gradient(90deg, ${t} ${e}px, transparent ${e}px)`,backgroundSize:`${o}px ${o}px`,backgroundRepeat:"repeat"})}updateOffset(t){const e=this.baseSize*this.currentScale;this.offset=Xd(Ne(this.offset,t),e),this.$element.style.backgroundPosition=`${this.offset[0]}px ${this.offset[1]}px`}parseFollow(t){var e,r;return Go(t)?{translate:t,zoom:t}:{translate:(e=t==null?void 0:t.translate)!==null&&e!==void 0?e:!1,zoom:(r=t==null?void 0:t.zoom)!==null&&r!==void 0?r:!1}}destroy(){this.context.graph.off(Qt.AFTER_TRANSFORM,this.onTransform),this.$element.remove(),super.destroy()}}wh.defaultOptions={border:!0,borderLineWidth:1,borderStroke:"#eee",borderStyle:"solid",lineWidth:1,size:20,stroke:"#eee"};function Uv(n){const t={Added:new Map,Updated:new Map,Removed:new Map};return n.forEach(e=>{const{type:r,value:i}=e,a=Pt(i);if(r==="NodeAdded"||r==="EdgeAdded"||r==="ComboAdded")t.Added.set(a,e);else if(r==="NodeUpdated"||r==="EdgeUpdated"||r==="ComboUpdated")if(t.Added.has(a))t.Added.set(a,{type:r.replace("Updated","Added"),value:i});else if(t.Updated.has(a)){const{original:s}=t.Updated.get(a);t.Updated.set(a,{type:r,value:i,original:s})}else t.Removed.has(a)||t.Updated.set(a,e);else(r==="NodeRemoved"||r==="EdgeRemoved"||r==="ComboRemoved")&&(t.Added.has(a)?t.Added.delete(a):(t.Updated.has(a)&&t.Updated.delete(a),t.Removed.set(a,e)))}),[...Array.from(t.Added.values()),...Array.from(t.Updated.values()),...Array.from(t.Removed.values())]}function Kb(n){const{NodeAdded:t=[],NodeUpdated:e=[],NodeRemoved:r=[],EdgeAdded:i=[],EdgeUpdated:a=[],EdgeRemoved:s=[],ComboAdded:o=[],ComboUpdated:l=[],ComboRemoved:c=[]}=Uc(n,u=>u.type);return{add:{nodes:t,edges:i,combos:o},update:{nodes:e,edges:a,combos:l},remove:{nodes:r,edges:s,combos:c}}}function Qb(n,t){for(const e in n)Fn(n[e])&&!Array.isArray(n[e])&&n[e]!==null?(t[e]||(t[e]={}),Qb(n[e],t[e])):t[e]===void 0&&(t[e]=ul(e))}function rI(n,t=!1,e){const r={animation:t,current:{add:{},update:{},remove:{}},original:{add:{},update:{},remove:{}}},{add:i,update:a,remove:s}=Kb(Uv(n));return["nodes","edges","combos"].forEach(o=>{a[o]&&a[o].forEach(l=>{var c,u;const h=Object.assign({},l.value);let f=Object.assign({},l.original);if(e){const d=e.graph.getElementType(Pt(l.original)),v=d==="edge"?"stroke":"fill",g=e.element.getElementComputedStyle(d,l.original);f=Object.assign(Object.assign({},l.original),{style:Object.assign({[v]:g[v]},l.original.style)})}Qb(h,f),(c=r.current.update)[o]||(c[o]=[]),r.current.update[o].push(h),(u=r.original.update)[o]||(u[o]=[]),r.original.update[o].push(f)}),i[o]&&i[o].forEach(l=>{var c,u;const h=Object.assign({},l.value);(c=r.current.add)[o]||(c[o]=[]),r.current.add[o].push(h),(u=r.original.remove)[o]||(u[o]=[]),r.original.remove[o].push(h)}),s[o]&&s[o].forEach(l=>{var c,u;const h=Object.assign({},l.value);(c=r.current.remove)[o]||(c[o]=[]),r.current.remove[o].push(h),(u=r.original.add)[o]||(u[o]=[]),r.original.add[o].push(h)})}),r}class Mh extends yr{constructor(t,e){super(t,Object.assign({},Mh.defaultOptions,e)),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 c=a?i.original:i.current;this.context.graph.addData(c.add),this.context.graph.updateData(c.update),this.context.graph.removeData(my(c.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===Qt.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(rI(this.batchChanges.flat(),this.batchAnimation,this.context)),this.notify(Ba.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 Xu;const{graph:r}=this.context;r.on(Qt.AFTER_DRAW,this.addCommand),r.on(Qt.BATCH_START,this.initBatchCommand),r.on(Qt.BATCH_END,this.addCommand)}canUndo(){return this.undoStack.length>0}canRedo(){return this.redoStack.length>0}undo(){var t,e,r,i;const a=this.undoStack.pop();if(a){if(this.executeCommand(a),((e=(t=this.options).beforeAddCommand)===null||e===void 0?void 0:e.call(t,a,!1))===!1)return;this.redoStack.push(a),(i=(r=this.options).afterAddCommand)===null||i===void 0||i.call(r,a,!1),this.notify(Ba.UNDO,a)}return this}redo(){const t=this.redoStack.pop();return t&&(this.executeCommand(t,!1),this.undoStackPush(t),this.notify(Ba.REDO,t)),this}undoAndCancel(){const t=this.undoStack.pop();return t&&(this.executeCommand(t,!1),this.redoStack=[],this.notify(Ba.CANCEL,t)),this}undoStackPush(t){var e,r,i,a;const{stackSize:s}=this.options;s!==0&&this.undoStack.length>=s&&this.undoStack.shift(),((r=(e=this.options).beforeAddCommand)===null||r===void 0?void 0:r.call(e,t,!0))!==!1&&(this.undoStack.push(t),(a=(i=this.options).afterAddCommand)===null||a===void 0||a.call(i,t,!0))}clear(){this.undoStack=[],this.redoStack=[],this.batchChanges=null,this.batchAnimation=!1,this.notify(Ba.CLEAR,null)}notify(t,e){this.emitter.emit(t,{cmd:e}),this.emitter.emit(Ba.CHANGE,{cmd:e})}on(t,e){this.emitter.on(t,e)}destroy(){const{graph:t}=this.context;t.off(Qt.AFTER_DRAW,this.addCommand),t.off(Qt.BATCH_START,this.initBatchCommand),t.off(Qt.BATCH_END,this.addCommand),this.emitter.off(),super.destroy(),this.undoStack=[],this.redoStack=[]}}Mh.defaultOptions={stackSize:0};const Kv={toXy(n,t){if(!t)return[...n];const e=t[0].slice(1),r=t[1].slice(1);return n.map(i=>[i[e],i[r]])},fromXy(n,t){if(!t)return[...n];const e=t[0].slice(1),r=t[1].slice(1);return n.map(([i,a])=>({[e]:i,[r]:a}))}};class iI{constructor(t,e){this._cells=[],this._cellSize=e,this._reverseCellSize=1/e;for(const r of t){const i=this.coordToCellNum(r[0]),a=this.coordToCellNum(r[1]);this._cells[i]||(this._cells[i]=[]),this._cells[i][a]||(this._cells[i][a]=[]),this._cells[i][a].push(r)}}cellPoints(t,e){var r;return((r=this._cells[t])===null||r===void 0?void 0:r[e])||[]}rangePoints(t){const e=this.coordToCellNum(t[0]),r=this.coordToCellNum(t[1]),i=this.coordToCellNum(t[2]),a=this.coordToCellNum(t[3]),s=[];for(let o=e;o<=i;o++)for(let l=r;l<=a;l++){const c=this.cellPoints(o,l);for(const u of c)s.push(u)}return s}removePoint(t){const e=this.coordToCellNum(t[0]),r=this.coordToCellNum(t[1]),i=this._cells[e][r],a=i.findIndex(([s,o])=>s===t[0]&&o===t[1]);return a>-1&&i.splice(a,1),i}trunc(t){return Math.trunc(t)}coordToCellNum(t){return this.trunc(t*this._reverseCellSize)}extendBbox(t,e){return[t[0]-e*this._cellSize,t[1]-e*this._cellSize,t[2]+e*this._cellSize,t[3]+e*this._cellSize]}}function aI(n,t){return new iI(n,t)}const Jb=+(Math.pow(2,27)+1);function Ah(n,t,e){const r=n*t,i=Jb*n,a=i-n,s=i-a,o=n-s,l=Jb*t,c=l-t,u=l-c,h=t-u,v=r-s*u-o*u-s*h,g=o*h-v;return e?(e[0]=g,e[1]=r,e):[g,r]}function sI(n,t,e){const r=n+t,i=r-n,a=r-i,s=t-i,o=n-a;return e?(e[0]=o+s,e[1]=r,e):[o+s,r]}function oI(n,t){const e=n.length;if(e===1){const o=Ah(n[0],t);return o[0]?o:[o[1]]}const r=new Array(2*e),i=[.1,.1],a=[.1,.1];let s=0;Ah(n[0],t,i),i[0]&&(r[s++]=i[0]);for(let o=1;o<e;++o){Ah(n[o],t,a);const l=i[1];sI(l,a[0],i),i[0]&&(r[s++]=i[0]);const c=a[1],u=i[1],h=c+u,f=h-c,d=u-f;i[1]=h,d&&(r[s++]=d)}return i[1]&&(r[s++]=i[1]),s===0&&(r[s++]=0),r.length=s,r}function lI(n,t){const e=n+t,r=e-n,i=e-r,a=t-r,o=n-i+a;return o?[o,e]:[e]}function cI(n,t){const e=n.length|0,r=t.length|0;if(e===1&&r===1)return lI(n[0],-t[0]);const i=e+r,a=new Array(i);let s=0,o=0,l=0;const c=Math.abs;let u=n[o],h=c(u),f=-t[l],d=c(f),v,g;h<d?(g=u,o+=1,o<e&&(u=n[o],h=c(u))):(g=f,l+=1,l<r&&(f=-t[l],d=c(f))),o<e&&h<d||l>=r?(v=u,o+=1,o<e&&(u=n[o],h=c(u))):(v=f,l+=1,l<r&&(f=-t[l],d=c(f)));let p=v+g,y=p-v,b=g-y,M=b,O=p,k,D,j,B,W;for(;o<e&&l<r;)h<d?(v=u,o+=1,o<e&&(u=n[o],h=c(u))):(v=f,l+=1,l<r&&(f=-t[l],d=c(f))),g=M,p=v+g,y=p-v,b=g-y,b&&(a[s++]=b),k=O+p,D=k-O,j=k-D,B=p-D,W=O-j,M=W+B,O=k;for(;o<e;)v=u,g=M,p=v+g,y=p-v,b=g-y,b&&(a[s++]=b),k=O+p,D=k-O,j=k-D,B=p-D,W=O-j,M=W+B,O=k,o+=1,o<e&&(u=n[o]);for(;l<r;)v=f,g=M,p=v+g,y=p-v,b=g-y,b&&(a[s++]=b),k=O+p,D=k-O,j=k-D,B=p-D,W=O-j,M=W+B,O=k,l+=1,l<r&&(f=-t[l]);return M&&(a[s++]=M),O&&(a[s++]=O),s||(a[s++]=0),a.length=s,a}function uI(n,t){const e=n+t,r=e-n,i=e-r,a=t-r,o=n-i+a;return o?[o,e]:[e]}function hI(n,t){const e=n.length|0,r=t.length|0;if(e===1&&r===1)return uI(n[0],t[0]);const i=e+r,a=new Array(i);let s=0,o=0,l=0;const c=Math.abs;let u=n[o],h=c(u),f=t[l],d=c(f),v,g;h<d?(g=u,o+=1,o<e&&(u=n[o],h=c(u))):(g=f,l+=1,l<r&&(f=t[l],d=c(f))),o<e&&h<d||l>=r?(v=u,o+=1,o<e&&(u=n[o],h=c(u))):(v=f,l+=1,l<r&&(f=t[l],d=c(f)));let p=v+g,y=p-v,b=g-y,M=b,O=p,k,D,j,B,W;for(;o<e&&l<r;)h<d?(v=u,o+=1,o<e&&(u=n[o],h=c(u))):(v=f,l+=1,l<r&&(f=t[l],d=c(f))),g=M,p=v+g,y=p-v,b=g-y,b&&(a[s++]=b),k=O+p,D=k-O,j=k-D,B=p-D,W=O-j,M=W+B,O=k;for(;o<e;)v=u,g=M,p=v+g,y=p-v,b=g-y,b&&(a[s++]=b),k=O+p,D=k-O,j=k-D,B=p-D,W=O-j,M=W+B,O=k,o+=1,o<e&&(u=n[o]);for(;l<r;)v=f,g=M,p=v+g,y=p-v,b=g-y,b&&(a[s++]=b),k=O+p,D=k-O,j=k-D,B=p-D,W=O-j,M=W+B,O=k,l+=1,l<r&&(f=t[l]);return M&&(a[s++]=M),O&&(a[s++]=O),s||(a[s++]=0),a.length=s,a}const qb=5,Ph=11102230246251565e-32,fI=(3+16*Ph)*Ph,dI=(7+56*Ph)*Ph;function vI(n,t,e,r){return function(a,s,o){const l=n(n(t(s[1],o[0]),t(-o[1],s[0])),n(t(a[1],s[0]),t(-s[1],a[0]))),c=n(t(a[1],o[0]),t(-o[1],a[0])),u=r(l,c);return u[u.length-1]}}function gI(n,t,e,r){return function(a,s,o,l){const c=n(n(e(n(t(o[1],l[0]),t(-l[1],o[0])),s[2]),n(e(n(t(s[1],l[0]),t(-l[1],s[0])),-o[2]),e(n(t(s[1],o[0]),t(-o[1],s[0])),l[2]))),n(e(n(t(s[1],l[0]),t(-l[1],s[0])),a[2]),n(e(n(t(a[1],l[0]),t(-l[1],a[0])),-s[2]),e(n(t(a[1],s[0]),t(-s[1],a[0])),l[2])))),u=n(n(e(n(t(o[1],l[0]),t(-l[1],o[0])),a[2]),n(e(n(t(a[1],l[0]),t(-l[1],a[0])),-o[2]),e(n(t(a[1],o[0]),t(-o[1],a[0])),l[2]))),n(e(n(t(s[1],o[0]),t(-o[1],s[0])),a[2]),n(e(n(t(a[1],o[0]),t(-o[1],a[0])),-s[2]),e(n(t(a[1],s[0]),t(-s[1],a[0])),o[2])))),h=r(c,u);return h[h.length-1]}}function pI(n,t,e,r){return function(a,s,o,l,c){const u=n(n(n(e(n(e(n(t(l[1],c[0]),t(-c[1],l[0])),o[2]),n(e(n(t(o[1],c[0]),t(-c[1],o[0])),-l[2]),e(n(t(o[1],l[0]),t(-l[1],o[0])),c[2]))),s[3]),n(e(n(e(n(t(l[1],c[0]),t(-c[1],l[0])),s[2]),n(e(n(t(s[1],c[0]),t(-c[1],s[0])),-l[2]),e(n(t(s[1],l[0]),t(-l[1],s[0])),c[2]))),-o[3]),e(n(e(n(t(o[1],c[0]),t(-c[1],o[0])),s[2]),n(e(n(t(s[1],c[0]),t(-c[1],s[0])),-o[2]),e(n(t(s[1],o[0]),t(-o[1],s[0])),c[2]))),l[3]))),n(e(n(e(n(t(o[1],l[0]),t(-l[1],o[0])),s[2]),n(e(n(t(s[1],l[0]),t(-l[1],s[0])),-o[2]),e(n(t(s[1],o[0]),t(-o[1],s[0])),l[2]))),-c[3]),n(e(n(e(n(t(l[1],c[0]),t(-c[1],l[0])),s[2]),n(e(n(t(s[1],c[0]),t(-c[1],s[0])),-l[2]),e(n(t(s[1],l[0]),t(-l[1],s[0])),c[2]))),a[3]),e(n(e(n(t(l[1],c[0]),t(-c[1],l[0])),a[2]),n(e(n(t(a[1],c[0]),t(-c[1],a[0])),-l[2]),e(n(t(a[1],l[0]),t(-l[1],a[0])),c[2]))),-s[3])))),n(n(e(n(e(n(t(s[1],c[0]),t(-c[1],s[0])),a[2]),n(e(n(t(a[1],c[0]),t(-c[1],a[0])),-s[2]),e(n(t(a[1],s[0]),t(-s[1],a[0])),c[2]))),l[3]),n(e(n(e(n(t(s[1],l[0]),t(-l[1],s[0])),a[2]),n(e(n(t(a[1],l[0]),t(-l[1],a[0])),-s[2]),e(n(t(a[1],s[0]),t(-s[1],a[0])),l[2]))),-c[3]),e(n(e(n(t(o[1],l[0]),t(-l[1],o[0])),s[2]),n(e(n(t(s[1],l[0]),t(-l[1],s[0])),-o[2]),e(n(t(s[1],o[0]),t(-o[1],s[0])),l[2]))),a[3]))),n(e(n(e(n(t(o[1],l[0]),t(-l[1],o[0])),a[2]),n(e(n(t(a[1],l[0]),t(-l[1],a[0])),-o[2]),e(n(t(a[1],o[0]),t(-o[1],a[0])),l[2]))),-s[3]),n(e(n(e(n(t(s[1],l[0]),t(-l[1],s[0])),a[2]),n(e(n(t(a[1],l[0]),t(-l[1],a[0])),-s[2]),e(n(t(a[1],s[0]),t(-s[1],a[0])),l[2]))),o[3]),e(n(e(n(t(s[1],o[0]),t(-o[1],s[0])),a[2]),n(e(n(t(a[1],o[0]),t(-o[1],a[0])),-s[2]),e(n(t(a[1],s[0]),t(-s[1],a[0])),o[2]))),-l[3]))))),h=n(n(n(e(n(e(n(t(l[1],c[0]),t(-c[1],l[0])),o[2]),n(e(n(t(o[1],c[0]),t(-c[1],o[0])),-l[2]),e(n(t(o[1],l[0]),t(-l[1],o[0])),c[2]))),a[3]),e(n(e(n(t(l[1],c[0]),t(-c[1],l[0])),a[2]),n(e(n(t(a[1],c[0]),t(-c[1],a[0])),-l[2]),e(n(t(a[1],l[0]),t(-l[1],a[0])),c[2]))),-o[3])),n(e(n(e(n(t(o[1],c[0]),t(-c[1],o[0])),a[2]),n(e(n(t(a[1],c[0]),t(-c[1],a[0])),-o[2]),e(n(t(a[1],o[0]),t(-o[1],a[0])),c[2]))),l[3]),e(n(e(n(t(o[1],l[0]),t(-l[1],o[0])),a[2]),n(e(n(t(a[1],l[0]),t(-l[1],a[0])),-o[2]),e(n(t(a[1],o[0]),t(-o[1],a[0])),l[2]))),-c[3]))),n(n(e(n(e(n(t(o[1],c[0]),t(-c[1],o[0])),s[2]),n(e(n(t(s[1],c[0]),t(-c[1],s[0])),-o[2]),e(n(t(s[1],o[0]),t(-o[1],s[0])),c[2]))),a[3]),e(n(e(n(t(o[1],c[0]),t(-c[1],o[0])),a[2]),n(e(n(t(a[1],c[0]),t(-c[1],a[0])),-o[2]),e(n(t(a[1],o[0]),t(-o[1],a[0])),c[2]))),-s[3])),n(e(n(e(n(t(s[1],c[0]),t(-c[1],s[0])),a[2]),n(e(n(t(a[1],c[0]),t(-c[1],a[0])),-s[2]),e(n(t(a[1],s[0]),t(-s[1],a[0])),c[2]))),o[3]),e(n(e(n(t(s[1],o[0]),t(-o[1],s[0])),a[2]),n(e(n(t(a[1],o[0]),t(-o[1],a[0])),-s[2]),e(n(t(a[1],s[0]),t(-s[1],a[0])),o[2]))),-c[3])))),f=r(u,h);return f[f.length-1]}}function Sh(n){return(n===3?vI:n===4?gI:pI)(hI,Ah,oI,cI)}const mI=Sh(3),yI=Sh(4),Ws=[function(){return 0},function(){return 0},function(t,e){return e[0]-t[0]},function(t,e,r){const i=(t[1]-r[1])*(e[0]-r[0]),a=(t[0]-r[0])*(e[1]-r[1]),s=i-a;let o;if(i>0){if(a<=0)return s;o=i+a}else if(i<0){if(a>=0)return s;o=-(i+a)}else return s;const l=fI*o;return s>=l||s<=-l?s:mI(t,e,r)},function(t,e,r,i){const a=t[0]-i[0],s=e[0]-i[0],o=r[0]-i[0],l=t[1]-i[1],c=e[1]-i[1],u=r[1]-i[1],h=t[2]-i[2],f=e[2]-i[2],d=r[2]-i[2],v=s*u,g=o*c,p=o*l,y=a*u,b=a*c,M=s*l,O=h*(v-g)+f*(p-y)+d*(b-M),k=(Math.abs(v)+Math.abs(g))*Math.abs(h)+(Math.abs(p)+Math.abs(y))*Math.abs(f)+(Math.abs(b)+Math.abs(M))*Math.abs(d),D=dI*k;return O>D||-O>D?O:yI(t,e,r,i)}];function bI(n){let t=Ws[n.length];return t||(t=Ws[n.length]=Sh(n.length)),t.apply(void 0,...n)}function xI(n,t,e,r,i,a,s){return function(...l){switch(l.length){case 0:case 1:return 0;case 2:return r(l[0],l[1]);case 3:return i(l[0],l[1],l[2]);case 4:return a(l[0],l[1],l[2],l[3]);case 5:return s(l[0],l[1],l[2],l[3],l[4])}return n(l)}}function EI(){for(;Ws.length<=qb;)Ws.push(Sh(Ws.length));const n=xI(void 0,bI,...Ws);for(let t=0;t<=qb;++t)n[t]=Ws[t];return n}var Dl=EI();const $b=Dl[3];function wI(n){const t=n.length;if(t<3){const o=new Array(t);for(let l=0;l<t;++l)o[l]=l;return t===2&&n[0][0]===n[1][0]&&n[0][1]===n[1][1]?[0]:o}const e=new Array(t);for(let o=0;o<t;++o)e[o]=o;e.sort((o,l)=>{const c=n[o][0]-n[l][0];return c||n[o][1]-n[l][1]});const r=[e[0],e[1]],i=[e[0],e[1]];for(let o=2;o<t;++o){const l=e[o],c=n[l];let u=r.length;for(;u>1&&$b(n[r[u-2]],n[r[u-1]],c)<=0;)u-=1,r.pop();for(r.push(l),u=i.length;u>1&&$b(n[i[u-2]],n[i[u-1]],c)>=0;)u-=1,i.pop();i.push(l)}const a=new Array(i.length+r.length-2);let s=0;for(let o=0,l=r.length;o<l;++o)a[s++]=r[o];for(let o=i.length-2;o>0;--o)a[s++]=i[o];return a}function MI(n,t,e,r){for(let i=0;i<2;++i){const a=n[i],s=t[i],[o,l]=[Math.min(a,s),Math.max(a,s)],c=e[i],u=r[i],[h,f]=[Math.min(c,u),Math.max(c,u)];if(f<o||l<h)return!1}return!0}function AI(n,t,e,r){const i=Dl(n,e,r),a=Dl(t,e,r);if(i>0&&a>0||i<0&&a<0)return!1;const s=Dl(e,n,t),o=Dl(r,n,t);return s>0&&o>0||s<0&&o<0?!1:i===0&&a===0&&s===0&&o===0?MI(n,t,e,r):!0}function PI(n){const t=[n[0]];let e=n[0];for(let r=1;r<n.length;r++){const i=n[r];(e[0]!==i[0]||e[1]!==i[1])&&t.push(i),e=i}return t}function SI(n){return n.sort(function(t,e){return t[0]-e[0]||t[1]-e[1]})}function Qv(n,t){return Math.pow(t[0]-n[0],2)+Math.pow(t[1]-n[1],2)}function tx(n,t,e){const r=[t[0]-n[0],t[1]-n[1]],i=[e[0]-n[0],e[1]-n[1]],a=Qv(n,t),s=Qv(n,e);return(r[0]*i[0]+r[1]*i[1])/Math.sqrt(a*s)}function ex(n,t){for(let e=0;e<t.length-1;e++){const r=[t[e],t[e+1]];if(!(n[0][0]===r[0][0]&&n[0][1]===r[0][1]||n[0][0]===r[1][0]&&n[0][1]===r[1][1])&&AI(n[0],n[1],r[0],r[1]))return!0}return!1}function OI(n){let t=1/0,e=1/0,r=-1/0,i=-1/0;for(let a=n.length-1;a>=0;a--)n[a][0]<t&&(t=n[a][0]),n[a][1]<e&&(e=n[a][1]),n[a][0]>r&&(r=n[a][0]),n[a][1]>i&&(i=n[a][1]);return[r-t,i-e]}function TI(n){return[Math.min(n[0][0],n[1][0]),Math.min(n[0][1],n[1][1]),Math.max(n[0][0],n[1][0]),Math.max(n[0][1],n[1][1])]}function CI(n,t,e){let r=null,i=rx,a=rx,s,o;for(let l=0;l<t.length;l++)s=tx(n[0],n[1],t[l]),o=tx(n[1],n[0],t[l]),s>i&&o>a&&!ex([n[0],t[l]],e)&&!ex([n[1],t[l]],e)&&(i=s,a=o,r=t[l]);return r}function nx(n,t,e,r,i){let a=!1;for(let s=0;s<n.length-1;s++){const o=[n[s],n[s+1]],l=o[0][0]+","+o[0][1]+","+o[1][0]+","+o[1][1];if(Qv(o[0],o[1])<t||i.has(l))continue;let c=0,u=TI(o),h,f,d;do u=r.extendBbox(u,c),h=u[2]-u[0],f=u[3]-u[1],d=CI(o,r.rangePoints(u),n),c++;while(d===null&&(e[0]>h||e[1]>f));h>=e[0]&&f>=e[1]&&i.add(l),d!==null&&(n.splice(s+1,0,d),r.removePoint(d),a=!0)}return a?nx(n,t,e,r,i):n}function NI(n,t,e){const r=t||20,i=PI(SI(Kv.toXy(n,e)));if(i.length<4){const h=i.concat([i[0]]);return e?Kv.fromXy(h,e):h}const a=OI(i),s=[a[0]*ix,a[1]*ix],o=wI(i).reverse().map(h=>i[h]);o.push(o[0]);const l=i.filter(function(h){return o.indexOf(h)<0}),c=Math.ceil(1/(i.length/(a[0]*a[1]))),u=nx(o,Math.pow(r,2),s,aI(l,c),new Set);return e?Kv.fromXy(u,e):u}const rx=Math.cos(90/(180/Math.PI)),ix=.6;function kI(n,t,e){if(n.length===1)return LI(n[0],t,e);if(n.length===2)return ax(n,t,e);if(n.length===3){const[r,i,a]=Yd(n);if(Oy(r,i,a))return ax([r,a],t,e)}switch(e){case"smooth":return RI(n,t);case"sharp":return II(n,t);case"rounded":default:return DI(n,t)}}const LI=(n,t,e)=>{if(e==="sharp")return[["M",n[0]-t,n[1]-t],["L",n[0]+t,n[1]-t],["L",n[0]+t,n[1]+t],["L",n[0]-t,n[1]+t],["Z"]];const r=[t,t,0,0,0];return[["M",n[0],n[1]-t],["A",...r,n[0],n[1]+t],["A",...r,n[0],n[1]-t]]},ax=(n,t,e)=>{const r=[t,t,0,0,0],i=e==="sharp"?Ne(n[0],_a(ma(on(n[0],n[1])),t)):n[0],a=e==="sharp"?Ne(n[1],_a(ma(on(n[1],n[0])),t)):n[1],s=_a(ma(hu(on(i,a),!1)),t),o=_a(s,-1),l=Ne(i,s),c=Ne(a,s),u=Ne(a,o),h=Ne(i,o);return e==="sharp"?[["M",l[0],l[1]],["L",c[0],c[1]],["L",u[0],u[1]],["L",h[0],h[1]],["Z"]]:[["M",l[0],l[1]],["L",c[0],c[1]],["A",...r,u[0],u[1]],["L",h[0],h[1]],["A",...r,l[0],l[1]]]},DI=(n,t)=>{const e=Yd(n).map((o,l)=>{const c=(l-2+n.length)%n.length,u=(l-1+n.length)%n.length,h=(l+1)%n.length,f=n[c],d=n[u],v=n[h],g=on(f,d),p=on(d,o),y=on(o,v),b=(j,B)=>Wd(j,B,!0)<Math.PI,M=b(g,p),O=b(p,y),k=j=>_a(ma(hu(j,!1)),t),D=k(p);return[{p:Ls(M?Ne(d,k(g)):Ne(d,D)),concave:M&&d},{p:Ls(O?Ne(o,k(y)):Ne(o,D)),concave:O&&o}]}),r=[t,t,0,0,0],i=e.findIndex((o,l)=>!e[(l-1+e.length)%e.length][0].concave&&!e[(l-1+e.length)%e.length][1].concave&&!o[0].concave&&!o[0].concave&&!o[1].concave),a=e.slice(i).concat(e.slice(0,i));let s=[];return a.flatMap((o,l)=>{const c=[],u=a[e.length-1];return l===0&&c.push(["M",...u[1].p]),o[0].concave?s.push(o[0].p,o[1].p):c.push(["A",...r,...o[0].p]),o[1].concave?s.unshift(o[1].p):c.push(["L",...o[1].p]),s.length===3&&(c.pop(),c.push(["C",...s.flat()]),s=[]),c})},RI=(n,t)=>{const e=Yd(n).map((r,i)=>{const a=n[(i+1)%n.length];return{p:r,v:ma(on(a,r))}});return e.forEach((r,i)=>{const a=i>0?i-1:n.length-1,s=e[a].v,o=ma(Ne(s,_a(r.v,Wd(s,r.v,!0)<Math.PI?1:-1)));r.p=Ne(r.p,_a(o,t))}),Wy(e.map(r=>r.p))},II=(n,t)=>{const r=n.map((a,s)=>{const o=n[s===0?n.length-1:s-1],l=gl(_a(ma(hu(on(o,a),!1)),t));return[Ne(o,l),Ne(a,l)]}).flat();return r.map((a,s)=>{if(s%2===0)return null;const o=[r[(s-1)%r.length],r[s%r.length]],l=[r[(s+1)%r.length],r[(s+2)%r.length]];return Vd(o,l,!0)}).filter(Boolean).map((a,s)=>[s===0?"M":"L",a[0],a[1]]).concat([["Z"]])};var BI=function(n,t){var e={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&t.indexOf(r)<0&&(e[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(n);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(n,r[i])&&(e[r[i]]=n[r[i]]);return e};class Oh extends yr{constructor(t,e){super(t,Object.assign({},Oh.defaultOptions,e)),this.hullMemberIds=[],this.drawHull=()=>{if(!this.shape)this.shape=new El({style:this.getHullStyle()}),this.context.canvas.appendChild(this.shape);else{const r=!Hn(this.optionsCache,this.options);this.shape.update(this.getHullStyle(r))}this.optionsCache=Object.assign({},this.options)},this.updateHullPath=r=>{this.shape&&this.options.members.includes(Pt(r.data))&&this.shape.update({d:this.getHullPath(!0)})},this.getHullPath=(r=!1)=>{const{graph:i}=this.context,a=this.getMember();if(a.length===0)return"";const s=a.map(c=>i.getNodeData(c)),o=NI(s.map(ir),this.options.concavity).slice(1).reverse(),l=o.flatMap(c=>s.filter(u=>Hn(ir(u),c)).map(Pt));return Hn(l,this.hullMemberIds)&&!r?this.path:(this.hullMemberIds=l,this.path=kI(o,this.getPadding(),this.options.corner),this.path)},this.bindEvents()}bindEvents(){this.context.graph.on(Qt.AFTER_RENDER,this.drawHull),this.context.graph.on(Qt.AFTER_ELEMENT_UPDATE,this.updateHullPath)}unbindEvents(){this.context.graph.off(Qt.AFTER_RENDER,this.drawHull),this.context.graph.off(Qt.AFTER_ELEMENT_UPDATE,this.updateHullPath)}getHullStyle(t){const e=this.options,{members:r,padding:i,corner:a}=e,s=BI(e,["members","padding","corner"]);return Object.assign(Object.assign({},s),{d:this.getHullPath(t)})}getPadding(){const{graph:t}=this.context;return this.hullMemberIds.reduce((r,i)=>{const{halfExtents:a}=t.getElementRenderBounds(i),s=Math.max(a[0],a[1]);return Math.max(r,s)},0)+this.options.padding}addMember(t){const e=Array.isArray(t)?t:[t];this.options.members=[...new Set([...this.options.members,...e])],this.shape.update({d:this.getHullPath()})}removeMember(t){const e=Array.isArray(t)?t:[t];this.options.members=this.options.members.filter(r=>!e.includes(r)),e.some(r=>this.hullMemberIds.includes(r))&&this.shape.update({d:this.getHullPath()})}updateMember(t){this.options.members=de(t)?t(this.options.members):t,this.shape.update(this.getHullStyle(!0))}getMember(){return this.options.members}destroy(){this.unbindEvents(),this.shape.destroy(),this.hullMemberIds=[],super.destroy()}}Oh.defaultOptions={members:[],padding:10,corner:"rounded",concavity:1/0,fill:"lightblue",fillOpacity:.2,labelOpacity:1,stroke:"blue",strokeOpacity:.2};function sx(n,t){t(n),n.children&&n.children.forEach(function(e){e&&sx(e,t)})}function Rl(n){Th(n,!0)}function _i(n){Th(n,!1)}function Th(n,t){var e=t?"visible":"hidden";sx(n,function(r){r.attr("visibility",e)})}var zI=5,ox=function(n,t,e,r){e===void 0&&(e=0),r===void 0&&(r=zI),Object.entries(t).forEach(function(i){var a=(0,G.CR)(i,2),s=a[0],o=a[1],l=n;Object.prototype.hasOwnProperty.call(t,s)&&(o?fo(o)?(fo(n[s])||(l[s]={}),e<r?ox(n[s],o,e+1,r):l[s]=t[s]):Gr(o)?(l[s]=[],l[s]=l[s].concat(o)):l[s]=o:l[s]=o)})},$n=function(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];for(var r=0;r<t.length;r+=1)ox(n,t[r]);return n},jI=function(n){(0,G.ZT)(t,n);function t(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];var i=n.apply(this,(0,G.ev)([],(0,G.CR)(e),!1))||this;return i.isMutationObserved=!0,i.addEventListener(Ie.INSERTED,function(){_i(i)}),i}return t}(rr);function lx(n){var t=n.appendChild(new jI({class:"offscreen"}));return _i(t),t}function FI(n){for(var t=n;t;){if(t.className==="offscreen")return!0;t=t.parent}return!1}function ZI(){Th(this,this.attributes.visibility!=="hidden")}var Dn=function(n){(0,G.ZT)(t,n);function t(e,r){r===void 0&&(r={});var i=n.call(this,$n({},{style:r},e))||this;return i.initialized=!1,i._defaultOptions=r,i}return Object.defineProperty(t.prototype,"offscreenGroup",{get:function(){return this._offscreen||(this._offscreen=lx(this)),this._offscreen},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"defaultOptions",{get:function(){return this._defaultOptions},enumerable:!1,configurable:!0}),t.prototype.connectedCallback=function(){this.render(this.attributes,this),this.bindEvents(this.attributes,this),this.initialized=!0},t.prototype.disconnectedCallback=function(){var e;(e=this._offscreen)===null||e===void 0||e.destroy()},t.prototype.attributeChangedCallback=function(e){e==="visibility"&&ZI.call(this)},t.prototype.update=function(e,r){var i;return this.attr($n({},this.attributes,e||{})),(i=this.render)===null||i===void 0?void 0:i.call(this,this.attributes,this,r)},t.prototype.clear=function(){this.removeChildren()},t.prototype.bindEvents=function(e,r){},t.prototype.getSubShapeStyle=function(e){var r=e.x,i=e.y,a=e.transform,s=e.transformOrigin,o=e.class,l=e.className,c=e.zIndex,u=(0,G._T)(e,["x","y","transform","transformOrigin","class","className","zIndex"]);return u},t}(fd);function Jv(n){return n.toString().charAt(0).toUpperCase()+n.toString().slice(1)}function _I(n){return n.toString().charAt(0).toLowerCase()+n.toString().slice(1)}function HI(n,t){return"".concat(t).concat(Jv(n))}function cx(n,t,e){var r;e===void 0&&(e=!0);var i=t||((r=n.match(/^([a-z][a-z0-9]+)/))===null||r===void 0?void 0:r[0])||"",a=n.replace(new RegExp("^(".concat(i,")")),"");return e?_I(a):a}function GI(n,t){Object.entries(t).forEach(function(e){var r=(0,G.CR)(e,2),i=r[0],a=r[1];(0,G.ev)([n],(0,G.CR)(n.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,c){return"".concat(l).concat(c.join(":"),";")},"")}})})}var Ch=function(n,t){if(!(n!=null&&n.startsWith(t)))return!1;var e=n[t.length];return e>="A"&&e<="Z"};function ke(n,t,e){e===void 0&&(e=!1);var r={};return Object.entries(n).forEach(function(i){var a=(0,G.CR)(i,2),s=a[0],o=a[1];if(!(s==="className"||s==="class")){if(Ch(s,"show")&&Ch(cx(s,"show"),t)!==e)s===HI(t,"show")?r[s]=o:r[s.replace(new RegExp(Jv(t)),"")]=o;else if(!Ch(s,"show")&&Ch(s,t)!==e){var l=cx(s,t);l==="filter"&&typeof o=="function"||(r[l]=o)}}}),r}function Mo(n,t){return Object.entries(n).reduce(function(e,r){var i=(0,G.CR)(r,2),a=i[0],s=i[1];return a.startsWith("show")?e["show".concat(t).concat(a.slice(4))]=s:e["".concat(t).concat(Jv(a))]=s,e},{})}function wa(n,t){t===void 0&&(t=["x","y","class","className"]);var e=["transform","transformOrigin","anchor","visibility","pointerEvents","zIndex","cursor","clipPath","clipPathTargets","offsetPath","offsetPathTargets","offsetDistance","draggable","droppable"],r={},i={};return Object.entries(n).forEach(function(a){var s=(0,G.CR)(a,2),o=s[0],l=s[1];t.includes(o)||(e.indexOf(o)!==-1?i[o]=l:r[o]=l)}),[r,i]}var WI=function(n){if(!Gr(n))return[];for(var t=[],e=0;e<n.length;e++)t=t.concat(n[e]);return t},XI=WI,qv=function(n){(0,G.ZT)(t,n);function t(e){e===void 0&&(e={});var r=e.style,i=(0,G._T)(e,["style"]);return n.call(this,(0,G.pi)({style:(0,G.pi)({text:"",fill:"black",fontFamily:"sans-serif",fontSize:16,fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",lineWidth:1,textAlign:"start",textBaseline:"middle"},r)},i))||this}return Object.defineProperty(t.prototype,"offscreenGroup",{get:function(){return this._offscreen||(this._offscreen=lx(this)),this._offscreen},enumerable:!1,configurable:!0}),t.prototype.disconnectedCallback=function(){var e;(e=this._offscreen)===null||e===void 0||e.destroy()},t}(Os);function VI(n,t){var e=new Map;return n.forEach(function(r){var i=t(r);e.has(i)||e.set(i,[]),e.get(i).push(r)}),e}function YI(n){throw new Error(n)}var UI=function(){function n(i,a,s,o,l,c,u){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]),c===void 0&&(c=[]),u===void 0&&(u=[]),t.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=c,this._facetElements=u}n.prototype.selectAll=function(i){var a=typeof i=="string"?this._parent.querySelectorAll(i):i;return new e(a,null,this._elements[0],this._document)},n.prototype.selectFacetAll=function(i){var a=typeof i=="string"?this._parent.querySelectorAll(i):i;return new e(this._elements,null,this._parent,this._document,void 0,void 0,a)},n.prototype.select=function(i){var a=typeof i=="string"?this._parent.querySelectorAll(i)[0]||null:i;return new e([a],null,a,this._document)},n.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 c=this._data[l],u=(0,G.CR)(Array.isArray(c)?c:[c,null],2),h=u[0],f=u[1],d=s(h,l);d.__data__=h,f!==null&&(d.__fromElements__=f),this._parent.appendChild(d),o.push(d)}return new e(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 e(o,null,o[0],this._document)},n.prototype.maybeAppend=function(i,a){var s=(0,G.Q_)(this,t,"m",r).call(this,i[0]==="#"?i:"#".concat(i),a);return s.attr("id",i),s},n.prototype.maybeAppendByClassName=function(i,a){var s=i.toString(),o=(0,G.Q_)(this,t,"m",r).call(this,s[0]==="."?s:".".concat(s),a);return o.attr("className",s),o},n.prototype.maybeAppendByName=function(i,a){var s=(0,G.Q_)(this,t,"m",r).call(this,'[name="'.concat(i,'"]'),a);return s.attr("name",i),s},n.prototype.data=function(i,a,s){var o,l;a===void 0&&(a=function(V){return V}),s===void 0&&(s=function(){return null});for(var c=[],u=[],h=new Set(this._elements),f=[],d=new Set,v=new Map(this._elements.map(function(V,q){return[a(V.__data__,q),V]})),g=new Map(this._facetElements.map(function(V,q){return[a(V.__data__,q),V]})),p=VI(this._elements,function(V){return s(V.__data__)}),y=0;y<i.length;y++){var b=i[y],M=a(b,y),O=s(b,y);if(v.has(M)){var k=v.get(M);k.__data__=b,k.__facet__=!1,u.push(k),h.delete(k),v.delete(M)}else if(g.has(M)){var k=g.get(M);k.__data__=b,k.__facet__=!0,u.push(k),g.delete(M)}else if(p.has(M)){var D=p.get(M);f.push([b,D]);try{for(var j=(o=void 0,(0,G.XA)(D)),B=j.next();!B.done;B=j.next()){var k=B.value;h.delete(k)}}catch(V){o={error:V}}finally{try{B&&!B.done&&(l=j.return)&&l.call(j)}finally{if(o)throw o.error}}p.delete(M)}else if(v.has(O)){var k=v.get(O);k.__toData__?k.__toData__.push(b):k.__toData__=[b],d.add(k),h.delete(k)}else c.push(b)}var W=[new e([],c,this._parent,this._document),new e(u,null,this._parent,this._document),new e(h,null,this._parent,this._document),new e([],f,this._parent,this._document),new e(d,null,this._parent,this._document)];return new e(this._elements,null,this._parent,this._document,W)},n.prototype.merge=function(i){var a=(0,G.ev)((0,G.ev)([],(0,G.CR)(this._elements),!1),(0,G.CR)(i._elements),!1),s=(0,G.ev)((0,G.ev)([],(0,G.CR)(this._transitions),!1),(0,G.CR)(i._transitions),!1);return new e(a,null,this._parent,this._document,void 0,s)},n.prototype.createElement=function(i){if(this._document)return this._document.createElement(i,{});var a=e.registry[i];return a?new a:YI("Unknown node type: ".concat(i))},n.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 c=i(this._enter),u=a(this._update),h=s(this._exit),f=o(this._merge),d=l(this._split);return u.merge(c).merge(h).merge(f).merge(d)},n.prototype.remove=function(){for(var i=function(o){var l=a._elements[o],c=a._transitions[o];c?c.then(function(){return l.remove()}):l.remove()},a=this,s=0;s<this._elements.length;s++)i(s);return new e([],null,this._parent,this._document,void 0,this._transitions)},n.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},n.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))})},n.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,c){a!==void 0&&(this.style[i]=o.call(this,l,c))})},n.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(c){var u=(0,G.CR)(c,2),h=u[0],f=u[1],d=typeof f!="function"||!a?function(){return f}:f;f!==void 0&&l.attr(h,d.call(l,s,o))})})},n.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))})},n.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))})},n.prototype.transition=function(i){var a=this._transitions,s=new Array(this._elements.length);return this.each(function(o,l){s[l]=i.call(this,o,l)}),this._transitions=XI(s),this},n.prototype.on=function(i,a){return this.each(function(){this.addEventListener(i,a)}),this},n.prototype.call=function(i){for(var a=[],s=1;s<arguments.length;s++)a[s-1]=arguments[s];return i.call.apply(i,(0,G.ev)([this._parent,this],(0,G.CR)(a),!1)),this},n.prototype.node=function(){return this._elements[0]},n.prototype.nodes=function(){return this._elements},n.prototype.transitions=function(){return this._transitions.filter(function(i){return!!i})},n.prototype.parent=function(){return this._parent};var t,e,r;return e=n,t=new WeakSet,r=function(a,s){var o=this._elements[0],l=o.querySelector(a);if(l)return new e([l],null,this._parent,this._document);var c=typeof s=="string"?this.createElement(s):s();return o.appendChild(c),new e([c],null,this._parent,this._document)},n.registry={g:rr,rect:gr,circle:fa,path:ti,text:qv,ellipse:rl,image:al,line:Ps,polygon:Ss,polyline:Oc,html:il},n}();function ve(n){return new UI([n],null,n,n.ownerDocument)}function KI(n,t,e){return n.querySelector(t)?ve(n).select(t):ve(n).append(e)}var Tr=function(){function n(t,e,r,i){t===void 0&&(t=0),e===void 0&&(e=0),r===void 0&&(r=0),i===void 0&&(i=0),this.x=0,this.y=0,this.width=0,this.height=0,this.x=t,this.y=e,this.width=r,this.height=i}return Object.defineProperty(n.prototype,"bottom",{get:function(){return this.y+this.height},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"left",{get:function(){return this.x},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"right",{get:function(){return this.x+this.width},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"top",{get:function(){return this.y},enumerable:!1,configurable:!0}),n.fromRect=function(t){return new n(t.x,t.y,t.width,t.height)},n.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}},n.prototype.isPointIn=function(t,e){return t>=this.left&&t<=this.right&&e>=this.top&&e<=this.bottom},n}();function YF(n){var t=n.getRenderBounds(),e=__read(t.min,2),r=e[0],i=e[1],a=__read(t.max,2),s=a[0],o=a[1],l=s-r,c=o-i;return new Tr(r,i,l,c)}var Hi=function(n,t){var e=function(i){return"".concat(t,"-").concat(i)},r=Object.fromEntries(Object.entries(n).map(function(i){var a=(0,G.CR)(i,2),s=a[0],o=a[1],l=e(o);return[s,{name:l,class:".".concat(l),id:"#".concat(l),toString:function(){return l}}]}));return Object.assign(r,{prefix:e}),r};function br(n){if(ie(n))return[n,n,n,n];if(Gr(n)){var t=n.length;if(t===1)return[n[0],n[0],n[0],n[0]];if(t===2)return[n[0],n[1],n[0],n[1]];if(t===3)return[n[0],n[1],n[2],n[1]];if(t===4)return n}return[0,0,0,0]}function oi(n,t,e,r,i){return r===void 0&&(r=!0),i===void 0&&(i=function(a){a.node().removeChildren()}),n?e(t):(r&&i(t),null)}var ux=Hi({text:"text"},"title");function Nh(n){return/\S+-\S+/g.test(n)?n.split("-").map(function(t){return t[0]}):n.length>2?[n[0]]:n.split("")}function QI(n,t){var e=n.attributes,r=e.position,i=e.spacing,a=e.inset,s=e.text,o=n.getBBox(),l=t.getBBox(),c=Nh(r),u=(0,G.CR)(br(s?i:0),4),h=u[0],f=u[1],d=u[2],v=u[3],g=(0,G.CR)(br(a),4),p=g[0],y=g[1],b=g[2],M=g[3],O=(0,G.CR)([v+f,h+d],2),k=O[0],D=O[1],j=(0,G.CR)([M+y,p+b],2),B=j[0],W=j[1];if(c[0]==="l")return new Tr(o.x,o.y,l.width+o.width+k+B,Math.max(l.height+W,o.height));if(c[0]==="t")return new Tr(o.x,o.y,Math.max(l.width+B,o.width),l.height+o.height+D+W);var V=(0,G.CR)([t.attributes.width||l.width,t.attributes.height||l.height],2),q=V[0],$=V[1];return new Tr(l.x,l.y,q+o.width+k+B,$+o.height+D+W)}function JI(n,t){var e=Object.entries(t).reduce(function(r,i){var a=(0,G.CR)(i,2),s=a[0],o=a[1],l=n.node().attr(s);return l||(r[s]=o),r},{});n.styles(e)}function qI(n){var t,e,r,i,a=n,s=a.width,o=a.height,l=a.position,c=(0,G.CR)([+s/2,+o/2],2),u=c[0],h=c[1],f=(0,G.CR)([+u,+h,"center","middle"],4),d=f[0],v=f[1],g=f[2],p=f[3],y=Nh(l);return y.includes("l")&&(t=(0,G.CR)([0,"start"],2),d=t[0],g=t[1]),y.includes("r")&&(e=(0,G.CR)([+s,"end"],2),d=e[0],g=e[1]),y.includes("t")&&(r=(0,G.CR)([0,"top"],2),v=r[0],p=r[1]),y.includes("b")&&(i=(0,G.CR)([+o,"bottom"],2),v=i[0],p=i[1]),{x:d,y:v,textAlign:g,textBaseline:p}}var $I=function(n){(0,G.ZT)(t,n);function t(e){return n.call(this,e,{text:"",width:0,height:0,fill:"#4a505a",fontWeight:"bold",fontSize:12,fontFamily:"sans-serif",inset:0,spacing:0,position:"top-left"})||this}return t.prototype.getAvailableSpace=function(){var e=this,r=this.attributes,i=r.width,a=r.height,s=r.position,o=r.spacing,l=r.inset,c=e.querySelector(ux.text.class);if(!c)return new Tr(0,0,+i,+a);var u=c.getBBox(),h=u.width,f=u.height,d=(0,G.CR)(br(o),4),v=d[0],g=d[1],p=d[2],y=d[3],b=(0,G.CR)([0,0,+i,+a],4),M=b[0],O=b[1],k=b[2],D=b[3],j=Nh(s);if(j.includes("i"))return new Tr(M,O,k,D);j.forEach(function(Ct,Ot){var mt,yt,Lt,Zt;Ct==="t"&&(mt=(0,G.CR)(Ot===0?[f+p,+a-f-p]:[0,+a],2),O=mt[0],D=mt[1]),Ct==="r"&&(yt=(0,G.CR)([+i-h-y],1),k=yt[0]),Ct==="b"&&(Lt=(0,G.CR)([+a-f-v],1),D=Lt[0]),Ct==="l"&&(Zt=(0,G.CR)(Ot===0?[h+g,+i-h-g]:[0,+i],2),M=Zt[0],k=Zt[1])});var B=(0,G.CR)(br(l),4),W=B[0],V=B[1],q=B[2],$=B[3],ot=(0,G.CR)([$+V,W+q],2),ct=ot[0],vt=ot[1];return new Tr(M+$,O+W,k-ct,D-vt)},t.prototype.getBBox=function(){return this.title?this.title.getBBox():new Tr(0,0,0,0)},t.prototype.render=function(e,r){var i=this,a=e.width,s=e.height,o=e.position,l=e.spacing,c=(0,G._T)(e,["width","height","position","spacing"]),u=(0,G.CR)(wa(c),1),h=u[0],f=qI(e),d=f.x,v=f.y,g=f.textAlign,p=f.textBaseline;oi(!!c.text,ve(r),function(y){i.title=y.maybeAppendByClassName(ux.text,"text").styles(h).call(JI,{x:d,y:v,textAlign:g,textBaseline:p}).node()})},t}(Dn),$v=function(){};function li(n,t){return de(n)?n.apply(void 0,(0,G.ev)([],(0,G.CR)(t),!1)):n}function t5(n,t){return n.reduce(function(e,r){return(e[r[t]]=e[r[t]]||[]).push(r),e},{})}function e5(n){return typeof n=="boolean"?!1:"enter"in n&&"update"in n&&"exit"in n}function hx(n){if(!n)return{enter:!1,update:!1,exit:!1};var t=["enter","update","exit"],e=Object.fromEntries(Object.entries(n).filter(function(r){var i=(0,G.CR)(r,1),a=i[0];return!t.includes(a)}));return Object.fromEntries(t.map(function(r){return e5(n)?n[r]===!1?[r,!1]:[r,(0,G.pi)((0,G.pi)({},n[r]),e)]:[r,e]}))}function Ao(n,t){n?n.finished.then(t):t()}function n5(n,t){n.length===0?t():Promise.all(n.map(function(e){return e==null?void 0:e.finished})).then(t)}function fx(n,t){"update"in n?n.update(t):n.attr(t)}function dx(n,t,e){if(t.length===0)return null;if(!e){var r=t.slice(-1)[0];return fx(n,{style:r}),null}return n.animate(t,e)}function r5(n,t){return!(n.nodeName!=="text"||t.nodeName!=="text"||n.attributes.text!==t.attributes.text)}function i5(n,t,e,r){if(r===void 0&&(r="destroy"),r5(n,t))return n.remove(),[null];var i=function(){r==="destroy"?n.destroy():r==="hide"&&_i(n),t.isVisible()&&Rl(t)};if(!e)return i(),[null];var a=e.duration,s=a===void 0?0:a,o=e.delay,l=o===void 0?0:o,c=Math.ceil(+s/2),u=+s/4,h=(0,G.CR)(n.getGeometryBounds().center,2),f=h[0],d=h[1],v=(0,G.CR)(t.getGeometryBounds().center,2),g=v[0],p=v[1],y=(0,G.CR)([(f+g)/2-f,(d+p)/2-d],2),b=y[0],M=y[1],O=n.style.opacity,k=O===void 0?1:O,D=t.style.opacity,j=D===void 0?1:D,B=n.style.transform||"",W=t.style.transform||"",V=n.animate([{opacity:k,transform:"translate(0, 0) ".concat(B)},{opacity:0,transform:"translate(".concat(b,", ").concat(M,") ").concat(B)}],(0,G.pi)((0,G.pi)({fill:"both"},e),{duration:l+c+u})),q=t.animate([{opacity:0,transform:"translate(".concat(-b,", ").concat(-M,") ").concat(W),offset:.01},{opacity:j,transform:"translate(0, 0) ".concat(W)}],(0,G.pi)((0,G.pi)({fill:"both"},e),{duration:c+u,delay:l+c-u}));return Ao(q,i),[V,q]}function Gi(n,t,e){var r={},i={};return Object.entries(t).forEach(function(a){var s=(0,G.CR)(a,2),o=s[0],l=s[1];if(!ye(l)){var c=n.style[o]||n.parsedStyle[o]||0;c!==l&&(r[o]=c,i[o]=l)}}),e?dx(n,[r,i],(0,G.pi)({fill:"both"},e)):(fx(n,i),null)}function a5(n){var t;return((t=n[0])===null||t===void 0?void 0:t.map(function(e,r){return n.map(function(i){return i[r]})}))||[]}function t0(n,t,e){e===void 0&&(e=!1);var r=n.getBBox(),i=r.width,a=r.height,s=t/Math.max(i,a);return e&&(n.style.transform="scale(".concat(s,")")),s}var vx=function(n,t,e){return[["M",n-e,t],["A",e,e,0,1,0,n+e,t],["A",e,e,0,1,0,n-e,t],["Z"]]},s5=vx,o5=function(n,t,e){return[["M",n-e,t-e],["L",n+e,t-e],["L",n+e,t+e],["L",n-e,t+e],["Z"]]},l5=function(n,t,e){return[["M",n-e,t],["L",n,t-e],["L",n+e,t],["L",n,t+e],["Z"]]},c5=function(n,t,e){var r=e*Math.sin(.3333333333333333*Math.PI);return[["M",n-e,t+r],["L",n,t-r],["L",n+e,t+r],["Z"]]},u5=function(n,t,e){var r=e*Math.sin(.3333333333333333*Math.PI);return[["M",n-e,t-r],["L",n+e,t-r],["L",n,t+r],["Z"]]},h5=function(n,t,e){var r=e/2*Math.sqrt(3);return[["M",n,t-e],["L",n+r,t-e/2],["L",n+r,t+e/2],["L",n,t+e],["L",n-r,t+e/2],["L",n-r,t-e/2],["Z"]]},f5=function(n,t,e){var r=e-1.5;return[["M",n-e,t-r],["L",n+e,t+r],["L",n+e,t-r],["L",n-e,t+r],["Z"]]},gx=function(n,t,e){return[["M",n,t+e],["L",n,t-e]]},d5=function(n,t,e){return[["M",n-e,t-e],["L",n+e,t+e],["M",n+e,t-e],["L",n-e,t+e]]},v5=function(n,t,e){return[["M",n-e/2,t-e],["L",n+e/2,t-e],["M",n,t-e],["L",n,t+e],["M",n-e/2,t+e],["L",n+e/2,t+e]]},g5=function(n,t,e){return[["M",n-e,t],["L",n+e,t],["M",n,t-e],["L",n,t+e]]},p5=function(n,t,e){return[["M",n-e,t],["L",n+e,t]]},px=function(n,t,e){return[["M",n-e,t],["L",n+e,t]]},m5=px,y5=function(n,t,e){return[["M",n-e,t],["A",e/2,e/2,0,1,1,n,t],["A",e/2,e/2,0,1,0,n+e,t]]},b5=function(n,t,e){return[["M",n-e-1,t-2.5],["L",n,t-2.5],["L",n,t+2.5],["L",n+e+1,t+2.5]]},x5=function(n,t,e){return[["M",n-e-1,t+2.5],["L",n,t+2.5],["L",n,t-2.5],["L",n+e+1,t-2.5]]},E5=function(n,t,e){return[["M",n-(e+1),t+2.5],["L",n-e/2,t+2.5],["L",n-e/2,t-2.5],["L",n+e/2,t-2.5],["L",n+e/2,t+2.5],["L",n+e+1,t+2.5]]};function w5(n,t){return[["M",n-5,t+2.5],["L",n-5,t],["L",n,t],["L",n,t-3],["L",n,t+3],["L",n+6.5,t+3]]}var M5=function(n,t,e){return[["M",n-e,t-e],["L",n+e,t],["L",n-e,t+e],["Z"]]},wi=Hi({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"),A5=function(n){(0,G.ZT)(t,n);function t(e){var r=n.call(this,e,{x:0,y:0,animate:{easing:"linear",duration:200,fill:"both"},buttonCursor:"pointer",buttonFill:"black",buttonD:M5(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 r.playState="idle",r.contentGroup=r.appendChild(new rr({class:wi.contentGroup.name})),r.playWindow=r.contentGroup.appendChild(new rr({class:wi.playWindow.name})),r.innerCurrPage=r.defaultPage,r}return Object.defineProperty(t.prototype,"defaultPage",{get:function(){var e=this.attributes.defaultPage;return Nn(e,0,Math.max(this.pageViews.length-1,0))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"pageViews",{get:function(){return this.playWindow.children},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"controllerShape",{get:function(){return this.totalPages>1?{width:55,height:0}:{width:0,height:0}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"pageShape",{get:function(){var e=this.pageViews,r=(0,G.CR)(a5(e.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,G.ev)([],(0,G.CR)(h),!1))}),2),i=r[0],a=r[1],s=this.attributes,o=s.pageWidth,l=o===void 0?i:o,c=s.pageHeight,u=c===void 0?a:c;return{pageWidth:l,pageHeight:u}},enumerable:!1,configurable:!0}),t.prototype.getContainer=function(){return this.playWindow},Object.defineProperty(t.prototype,"totalPages",{get:function(){return this.pageViews.length},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"currPage",{get:function(){return this.innerCurrPage},enumerable:!1,configurable:!0}),t.prototype.getBBox=function(){var e=n.prototype.getBBox.call(this),r=e.x,i=e.y,a=this.controllerShape,s=this.pageShape,o=s.pageWidth,l=s.pageHeight;return new Tr(r,i,o+a.width,l)},t.prototype.goTo=function(e){var r=this,i=this.attributes.animate,a=this,s=a.currPage,o=a.playState,l=a.playWindow,c=a.pageViews;if(o!=="idle"||e<0||c.length<=0||e>=c.length)return null;c[s].setLocalPosition(0,0),this.prepareFollowingPage(e);var u=(0,G.CR)(this.getFollowingPageDiff(e),2),h=u[0],f=u[1];this.playState="running";var d=dx(l,[{transform:"translate(0, 0)"},{transform:"translate(".concat(-h,", ").concat(-f,")")}],i);return Ao(d,function(){r.innerCurrPage=e,r.playState="idle",r.setVisiblePages([e]),r.updatePageInfo()}),d},t.prototype.prev=function(){var e=this.attributes.loop,r=this.pageViews.length,i=this.currPage;if(!e&&i<=0)return null;var a=e?(i-1+r)%r:Nn(i-1,0,r);return this.goTo(a)},t.prototype.next=function(){var e=this.attributes.loop,r=this.pageViews.length,i=this.currPage;if(!e&&i>=r-1)return null;var a=e?(i+1)%r:Nn(i+1,0,r);return this.goTo(a)},t.prototype.renderClipPath=function(e){var r=this.pageShape,i=r.pageWidth,a=r.pageHeight;if(!i||!a){this.contentGroup.style.clipPath=void 0;return}this.clipPath=e.maybeAppendByClassName(wi.clipPath,"rect").styles({width:i,height:a}),this.contentGroup.attr("clipPath",this.clipPath.node())},t.prototype.setVisiblePages=function(e){this.playWindow.children.forEach(function(r,i){e.includes(i)?Rl(r):_i(r)})},t.prototype.adjustControllerLayout=function(){var e=this,r=e.prevBtnGroup,i=e.nextBtnGroup,a=e.pageInfoGroup,s=this.attributes,o=s.orientation,l=s.controllerPadding,c=a.getBBox(),u=c.width,h=c.height,f=(0,G.CR)(o==="horizontal"?[-180,0]:[-90,90],2),d=f[0],v=f[1];r.setLocalEulerAngles(d),i.setLocalEulerAngles(v);var g=r.getBBox(),p=g.width,y=g.height,b=i.getBBox(),M=b.width,O=b.height,k=Math.max(p,u,M),D=o==="horizontal"?{offset:[[0,0],[p/2+l,0],[p+u+l*2,0]],textAlign:"start"}:{offset:[[k/2,-y-l],[k/2,0],[k/2,O+l]],textAlign:"center"},j=(0,G.CR)(D.offset,3),B=(0,G.CR)(j[0],2),W=B[0],V=B[1],q=(0,G.CR)(j[1],2),$=q[0],ot=q[1],ct=(0,G.CR)(j[2],2),vt=ct[0],Ct=ct[1],Ot=D.textAlign,mt=a.querySelector("text");mt&&(mt.style.textAlign=Ot),r.setLocalPosition(W,V),a.setLocalPosition($,ot),i.setLocalPosition(vt,Ct)},t.prototype.updatePageInfo=function(){var e,r=this,i=r.currPage,a=r.pageViews,s=r.attributes.formatter;a.length<2||((e=this.pageInfoGroup.querySelector(wi.pageInfo.class))===null||e===void 0||e.attr("text",s(i+1,a.length)),this.adjustControllerLayout())},t.prototype.getFollowingPageDiff=function(e){var r=this.currPage;if(r===e)return[0,0];var i=this.attributes.orientation,a=this.pageShape,s=a.pageWidth,o=a.pageHeight,l=e<r?-1:1;return i==="horizontal"?[l*s,0]:[0,l*o]},t.prototype.prepareFollowingPage=function(e){var r=this,i=r.currPage,a=r.pageViews;if(this.setVisiblePages([e,i]),e!==i){var s=(0,G.CR)(this.getFollowingPageDiff(e),2),o=s[0],l=s[1];a[e].setLocalPosition(o,l)}},t.prototype.renderController=function(e){var r=this,i=this.attributes.controllerSpacing,a=this.pageShape,s=a.pageWidth,o=a.pageHeight,l=this.pageViews.length>=2,c=e.maybeAppendByClassName(wi.controller,"g");if(Th(c.node(),l),!!l){var u=ke(this.attributes,"button"),h=ke(this.attributes,"pageNum"),f=(0,G.CR)(wa(u),2),d=f[0],v=f[1],g=d.size,p=(0,G._T)(d,["size"]),y=!c.select(wi.prevBtnGroup.class).node(),b=c.maybeAppendByClassName(wi.prevBtnGroup,"g").styles(v);this.prevBtnGroup=b.node();var M=b.maybeAppendByClassName(wi.prevBtn,"path"),O=c.maybeAppendByClassName(wi.nextBtnGroup,"g").styles(v);this.nextBtnGroup=O.node();var k=O.maybeAppendByClassName(wi.nextBtn,"path");[M,k].forEach(function(j){j.styles((0,G.pi)((0,G.pi)({},p),{transformOrigin:"center"})),t0(j.node(),g,!0)});var D=c.maybeAppendByClassName(wi.pageInfoGroup,"g");this.pageInfoGroup=D.node(),D.maybeAppendByClassName(wi.pageInfo,"text").styles(h),this.updatePageInfo(),c.node().setLocalPosition(s+i,o/2),y&&(this.prevBtnGroup.addEventListener("click",function(){r.prev()}),this.nextBtnGroup.addEventListener("click",function(){r.next()}))}},t.prototype.render=function(e,r){var i=e.x,a=i===void 0?0:i,s=e.y,o=s===void 0?0:s;this.attr("transform","translate(".concat(a,", ").concat(o,")"));var l=ve(r);this.renderClipPath(l),this.renderController(l),this.setVisiblePages([this.defaultPage]),this.goTo(this.defaultPage)},t.prototype.bindEvents=function(){var e=this,r=Ol(function(){return e.render(e.attributes,e)},50);this.playWindow.addEventListener(Ie.INSERTED,r),this.playWindow.addEventListener(Ie.REMOVED,r)},t}(Dn);function P5(n){var t="default";if(Fn(n)&&n instanceof Image)t="image";else if(de(n))t="symbol";else if(We(n)){var e=new RegExp("data:(image|text)");n.match(e)?t="base64":/^(https?:\/\/(([a-zA-Z0-9]+-?)+[a-zA-Z0-9]+\.)+[a-zA-Z]+)(:\d+)?(\/.*)?(\?.*)?(#.*)?$/.test(n)?t="url":t="symbol"}return t}function S5(n){var t=P5(n);return["base64","url","image"].includes(t)?"image":n&&t==="symbol"?"path":null}var fn=function(n){(0,G.ZT)(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.render=function(e,r){var i=e.x,a=i===void 0?0:i,s=e.y,o=s===void 0?0:s,l=this.getSubShapeStyle(e),c=l.symbol,u=l.size,h=u===void 0?16:u,f=(0,G._T)(l,["symbol","size"]),d=S5(c);oi(!!d,ve(r),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:c,width:p,height:p,x:a-h,y:o-h})}else{var p=h/2,y=de(c)?c:t.getSymbol(c);g.styles((0,G.pi)({d:y==null?void 0:y(a,o,p)},f))}})})},t.MARKER_SYMBOL_MAP=new Map,t.registerSymbol=function(e,r){t.MARKER_SYMBOL_MAP.set(e,r)},t.getSymbol=function(e){return t.MARKER_SYMBOL_MAP.get(e)},t.getSymbols=function(){return Array.from(t.MARKER_SYMBOL_MAP.keys())},t}(Dn);fn.registerSymbol("cross",d5),fn.registerSymbol("hyphen",p5),fn.registerSymbol("line",gx),fn.registerSymbol("plus",g5),fn.registerSymbol("tick",v5),fn.registerSymbol("circle",vx),fn.registerSymbol("point",s5),fn.registerSymbol("bowtie",f5),fn.registerSymbol("hexagon",h5),fn.registerSymbol("square",o5),fn.registerSymbol("diamond",l5),fn.registerSymbol("triangle",c5),fn.registerSymbol("triangle-down",u5),fn.registerSymbol("line",gx),fn.registerSymbol("dot",px),fn.registerSymbol("dash",m5),fn.registerSymbol("smooth",y5),fn.registerSymbol("hv",b5),fn.registerSymbol("vh",x5),fn.registerSymbol("hvh",E5),fn.registerSymbol("vhv",w5);function UF(n,t,e){var r=Math.round((n-e)/t);return e+r*t}function O5(n,t,e){var r=1.4,i=r*e;return[["M",n-e,t-i],["L",n+e,t-i],["L",n+e,t+i],["L",n-e,t+i],["Z"]]}var mx=1.4,yx=.4;function T5(n,t,e){var r=e,i=r*mx,a=r/2,s=r/6,o=n+i*yx;return[["M",n,t],["L",o,t+a],["L",n+i,t+a],["L",n+i,t-a],["L",o,t-a],["Z"],["M",o,t+s],["L",n+i-2,t+s],["M",o,t-s],["L",n+i-2,t-s]]}function C5(n,t,e){var r=e,i=r*mx,a=r/2,s=r/6,o=t+i*yx;return[["M",n,t],["L",n-a,o],["L",n-a,t+i],["L",n+a,t+i],["L",n+a,o],["Z"],["M",n-s,o],["L",n-s,t+i-2],["M",n+s,o],["L",n+s,t+i-2]]}fn.registerSymbol("hiddenHandle",O5),fn.registerSymbol("verticalHandle",T5),fn.registerSymbol("horizontalHandle",C5);var KF=function(n,t,e){return n===void 0&&(n="horizontal"),n==="horizontal"?t:e};function QF(n,t,e,r){var i;r===void 0&&(r=4);var a=__read(n,2),s=a[0],o=a[1],l=__read(t,2),c=l[0],u=l[1],h=__read(e,2),f=h[0],d=h[1],v=__read([c,u],2),g=v[0],p=v[1],y=p-g;return g>p&&(i=__read([p,g],2),g=i[0],p=i[1]),y>o-s?[s,o]:g<s?f===s&&d===p?[s,p]:[s,y+s]:p>o?d===o&&f===g?[g,o]:[o-y,o]:[g,p]}function e0(n,t,e){return n===void 0&&(n="horizontal"),n==="horizontal"?t:e}function JF(n){var t=n&&n.getRenderBounds();if(!t)return{width:0,height:0};var e=t.getMax(),r=t.getMin();return{width:e[0]-r[0],height:e[1]-r[1]}}function bx(n){var t=n.getLocalBounds(),e=t.min,r=t.max,i=(0,G.CR)([e,r],2),a=(0,G.CR)(i[0],2),s=a[0],o=a[1],l=(0,G.CR)(i[1],2),c=l[0],u=l[1];return{x:s,y:o,width:c-s,height:u-o,left:s,bottom:u,top:o,right:c}}function qF(n,t){var e=select(n).append("text").node();return e.attr(__assign(__assign({},t),{visibility:"hidden"})),e}function N5(n,t){var e=(0,G.CR)(n,2),r=e[0],i=e[1],a=(0,G.CR)(t,2),s=a[0],o=a[1];return r!==s&&i===o}function $F(n,t){var e=__read(n,2),r=e[0],i=e[1],a=__read(t,2),s=a[0],o=a[1];return r===s&&i!==o}function k5(n,t){var e,r,i=t.attributes;try{for(var a=(0,G.XA)(Object.entries(i)),s=a.next();!s.done;s=a.next()){var o=(0,G.CR)(s.value,2),l=o[0],c=o[1];l!=="id"&&l!=="className"&&n.attr(l,c)}}catch(u){e={error:u}}finally{try{s&&!s.done&&(r=a.return)&&r.call(a)}finally{if(e)throw e.error}}}function Ma(n){return typeof n=="function"?n():We(n)||ie(n)?new qv({style:{text:String(n)}}):n}var kh,n0;function tZ(n){n0=n}var L5=Zv(function(n,t){var e=t.fontSize,r=t.fontFamily,i=t.fontWeight,a=t.fontStyle,s=t.fontVariant;return n0?n0(n,e):(kh||(kh=Xt.offscreenCanvasCreator.getOrCreateContext(void 0)),kh.font=[a,s,i,"".concat(e,"px"),r].join(" "),kh.measureText(n).width)},function(n,t){return[n,Object.values(t||xx(n)).join()].join("")},4096),xx=function(n){var t=n.style.fontFamily||"sans-serif",e=n.style.fontWeight||"normal",r=n.style.fontStyle||"normal",i=n.style.fontVariant,a=n.style.fontSize;return a=typeof a=="object"?a.value:a,{fontSize:a,fontFamily:t,fontWeight:e,fontStyle:r,fontVariant:i}};function Ex(n){return n.nodeName==="text"?n:n.nodeName==="g"&&n.children.length===1&&n.children[0].nodeName==="text"?n.children[0]:null}function wx(n,t){var e=Ex(n);e&&e.attr(t)}function r0(n,t,e){e===void 0&&(e="..."),wx(n,{wordWrap:!0,wordWrapWidth:t,maxLines:1,textOverflow:e})}function i0(n,t){for(var e in t)t.hasOwnProperty(e)&&e!=="constructor"&&t[e]!==void 0&&(n[e]=t[e])}function D5(n,t,e,r){return t&&i0(n,t),e&&i0(n,e),r&&i0(n,r),n}function R5(n){return n instanceof Element||n instanceof Document}var Be,I5="component-poptip",De={CONTAINER:"component-poptip",ARROW:"component-poptip-arrow",TEXT:"component-poptip-text"},Mx=(Be={},Be[".".concat(De.CONTAINER)]={visibility:"visible",position:"absolute","background-color":"rgba(0, 0, 0)","box-shadow":"0px 0px 10px #aeaeae","border-radius":"3px",color:"#fff",opacity:.8,"font-size":"12px",padding:"4px 6px",display:"flex","justify-content":"center","align-items":"center","z-index":8,transition:"visibility 50ms"},Be[".".concat(De.TEXT)]={"text-align":"center"},Be[".".concat(De.CONTAINER,"[data-position='top']")]={transform:"translate(-50%, -100%)"},Be[".".concat(De.CONTAINER,"[data-position='left']")]={transform:"translate(-100%, -50%)"},Be[".".concat(De.CONTAINER,"[data-position='right']")]={transform:"translate(0, -50%)"},Be[".".concat(De.CONTAINER,"[data-position='bottom']")]={transform:"translate(-50%, 0)"},Be[".".concat(De.CONTAINER,"[data-position='top-left']")]={transform:"translate(0,-100%)"},Be[".".concat(De.CONTAINER,"[data-position='top-right']")]={transform:"translate(-100%,-100%)"},Be[".".concat(De.CONTAINER,"[data-position='left-top']")]={transform:"translate(-100%, 0)"},Be[".".concat(De.CONTAINER,"[data-position='left-bottom']")]={transform:"translate(-100%, -100%)"},Be[".".concat(De.CONTAINER,"[data-position='right-top']")]={transform:"translate(0, 0)"},Be[".".concat(De.CONTAINER,"[data-position='right-bottom']")]={transform:"translate(0, -100%)"},Be[".".concat(De.CONTAINER,"[data-position='bottom-left']")]={transform:"translate(0, 0)"},Be[".".concat(De.CONTAINER,"[data-position='bottom-right']")]={transform:"translate(-100%, 0)"},Be[".".concat(De.ARROW)]={width:"4px",height:"4px",transform:"rotate(45deg)","background-color":"rgba(0, 0, 0)",position:"absolute","z-index":-1},Be[".".concat(De.CONTAINER,"[data-position='top']")]={transform:"translate(-50%, calc(-100% - 5px))"},Be["[data-position='top'] .".concat(De.ARROW)]={bottom:"-2px"},Be[".".concat(De.CONTAINER,"[data-position='left']")]={transform:"translate(calc(-100% - 5px), -50%)"},Be["[data-position='left'] .".concat(De.ARROW)]={right:"-2px"},Be[".".concat(De.CONTAINER,"[data-position='right']")]={transform:"translate(5px, -50%)"},Be["[data-position='right'] .".concat(De.ARROW)]={left:"-2px"},Be[".".concat(De.CONTAINER,"[data-position='bottom']")]={transform:"translate(-50%, 5px)"},Be["[data-position='bottom'] .".concat(De.ARROW)]={top:"-2px"},Be[".".concat(De.CONTAINER,"[data-position='top-left']")]={transform:"translate(0, calc(-100% - 5px))"},Be["[data-position='top-left'] .".concat(De.ARROW)]={left:"10px",bottom:"-2px"},Be[".".concat(De.CONTAINER,"[data-position='top-right']")]={transform:"translate(-100%, calc(-100% - 5px))"},Be["[data-position='top-right'] .".concat(De.ARROW)]={right:"10px",bottom:"-2px"},Be[".".concat(De.CONTAINER,"[data-position='left-top']")]={transform:"translate(calc(-100% - 5px), 0)"},Be["[data-position='left-top'] .".concat(De.ARROW)]={right:"-2px",top:"8px"},Be[".".concat(De.CONTAINER,"[data-position='left-bottom']")]={transform:"translate(calc(-100% - 5px), -100%)"},Be["[data-position='left-bottom'] .".concat(De.ARROW)]={right:"-2px",bottom:"8px"},Be[".".concat(De.CONTAINER,"[data-position='right-top']")]={transform:"translate(5px, 0)"},Be["[data-position='right-top'] .".concat(De.ARROW)]={left:"-2px",top:"8px"},Be[".".concat(De.CONTAINER,"[data-position='right-bottom']")]={transform:"translate(5px, -100%)"},Be["[data-position='right-bottom'] .".concat(De.ARROW)]={left:"-2px",bottom:"8px"},Be[".".concat(De.CONTAINER,"[data-position='bottom-left']")]={transform:"translate(0, 5px)"},Be["[data-position='bottom-left'] .".concat(De.ARROW)]={top:"-2px",left:"8px"},Be[".".concat(De.CONTAINER,"[data-position='bottom-right']")]={transform:"translate(-100%, 5px)"},Be["[data-position='bottom-right'] .".concat(De.ARROW)]={top:"-2px",right:"8px"},Be),B5=void 0;function z5(n,t,e,r,i,a){if(i===void 0&&(i=!1),a===void 0&&(a=!1),a)return[n,t];var s=e.getBoundingClientRect(),o=s.x,l=s.y,c=s.width,u=s.height;switch(r){case"top":return i?[o+c/2,l]:[n,l];case"left":return i?[o,l+u/2]:[o,t];case"bottom":return i?[o+c/2,l+u]:[n,l+u];case"right":return i?[o+c,l+u/2]:[o+c,t];case"top-right":case"right-top":return[o+c,l];case"left-bottom":case"bottom-left":return[o,l+u];case"right-bottom":case"bottom-right":return[o+c,l+u];case"top-left":case"left-top":default:return[o,l]}}var j5=function(n){var t;return function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return t||(t=n.apply(B5,e)),t}};function F5(n){var t=n&&document.getElementById(n);return t||(t=document.createElement("div"),t.setAttribute("id",n),document.body.appendChild(t)),t}function Z5(n){var t=j5(F5)(n);return t}var _5=function(n){(0,G.ZT)(t,n);function t(e){var r=n.call(this,pr({style:{id:I5}},t.defaultOptions,e))||this;return r.visibility="visible",r.map=new Map,r.domStyles="",r.initShape(),r.render(r.attributes,r),r}return Object.defineProperty(t.prototype,"visible",{get:function(){return this.visibility==="visible"},enumerable:!1,configurable:!0}),t.prototype.render=function(e,r){this.visibility=this.style.visibility,this.updatePoptipElement()},t.prototype.update=function(e){this.attr(pr({},this.style,e)),this.render(this.attributes,this)},t.prototype.bind=function(e,r){var i=this;if(e){var a=this.style.text,s=function(l){var c=e,u=i.style,h=a;if(r){var f=typeof r=="function"?r.call(null,l):r,d=f.html,v=f.target,g=(0,G._T)(f,["html","target"]);u=D5({},i.style,g),(v||v===!1)&&(c=v),typeof d=="string"&&(h=d)}var p=u.position,y=u.arrowPointAtCenter,b=u.follow,M=u.offset;if(c){var O=l,k=O.clientX,D=O.clientY,j=(0,G.CR)(z5(k,D,c,p,y,b),2),B=j[0],W=j[1];i.showTip(B,W,{text:h,position:p,offset:M})}else i.hideTip()},o=function(){i.hideTip()};e.addEventListener("mousemove",s),e.addEventListener("mouseleave",o),this.map.set(e,[s,o])}},t.prototype.unbind=function(e){if(this.map.has(e)){var r=(0,G.CR)(this.map.get(e)||[],2),i=r[0],a=r[1];i&&e.removeEventListener("mousemove",i),a&&e.removeEventListener("mouseleave",a),this.map.delete(e)}},t.prototype.clear=function(){this.container.innerHTML=""},t.prototype.destroy=function(){var e=this,r;(0,G.ev)([],(0,G.CR)(this.map.keys()),!1).forEach(function(i){return e.unbind(i)}),(r=this.container)===null||r===void 0||r.remove(),n.prototype.destroy.call(this)},t.prototype.showTip=function(e,r,i){var a=Br(i,"text");if(!(a&&typeof a!="string")&&(this.applyStyles(),e&&r&&i)){var s=i.offset,o=i.position;if(o&&this.container.setAttribute("data-position",o),this.setOffsetPosition(e,r,s),typeof a=="string"){var l=this.container.querySelector(".".concat(De.TEXT));l&&(l.innerHTML=a)}this.visibility="visible",this.container.style.visibility="visible"}},t.prototype.hideTip=function(){this.visibility="hidden",this.container.style.visibility="hidden"},t.prototype.getContainer=function(){return this.container},t.prototype.getClassName=function(){var e=this.style.containerClassName;return"".concat(De.CONTAINER).concat(e?" ".concat(e):"")},t.prototype.initShape=function(){var e=this,r=this.style.id;this.container=Z5(r),this.container.className=this.getClassName(),this.container.addEventListener("mousemove",function(){return e.showTip()}),this.container.addEventListener("mouseleave",function(){return e.hideTip()})},t.prototype.updatePoptipElement=function(){var e=this.container;this.clear();var r=this.style,i=r.id,a=r.template,s=r.text;this.container.setAttribute("id",i),this.container.className=this.getClassName();var o='<span class="'.concat(De.ARROW,'"></span>');e.innerHTML=o,We(a)?e.innerHTML+=a:a&&R5(a)&&e.appendChild(a),s&&(e.getElementsByClassName(De.TEXT)[0].textContent=s),this.applyStyles(),this.container.style.visibility=this.visibility},t.prototype.applyStyles=function(){var e=$n({},Mx,this.style.domStyles),r=Object.entries(e).reduce(function(a,s){var o=(0,G.CR)(s,2),l=o[0],c=o[1],u=Object.entries(c).reduce(function(h,f){var d=(0,G.CR)(f,2),v=d[0],g=d[1];return"".concat(h).concat(v,": ").concat(g,";")},"");return"".concat(a).concat(l,"{").concat(u,"}")},"");if(this.domStyles!==r){this.domStyles=r;var i=this.container.querySelector("style");i&&this.container.removeChild(i),i=document.createElement("style"),i.innerHTML=r,this.container.appendChild(i)}},t.prototype.setOffsetPosition=function(e,r,i){i===void 0&&(i=this.style.offset);var a=(0,G.CR)(i,2),s=a[0],o=s===void 0?0:s,l=a[1],c=l===void 0?0:l;this.container.style.left="".concat(e+o,"px"),this.container.style.top="".concat(r+c,"px")},t.tag="poptip",t.defaultOptions={style:{x:0,y:0,width:0,height:0,target:null,visibility:"hidden",text:"",position:"top",follow:!1,offset:[0,0],domStyles:Mx,template:'<div class="'.concat(De.TEXT,'"></div>')}},t}(Dn),jr=Hi({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"),H5={offset:[0,20],domStyles:{".component-poptip":{opacity:"1",padding:"8px 12px",background:"#fff",boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)"},".component-poptip-arrow":{display:"none"},".component-poptip-text":{color:"#000",lineHeight:"20px"}}};function G5(n){var t=n.querySelector(jr.marker.class);return t?t.style:{}}var W5=function(n){(0,G.ZT)(t,n);function t(e){return n.call(this,e,{span:[1,1],marker:function(){return new fa({style:{r:6}})},markerSize:10,labelFill:"#646464",valueFill:"#646464",labelFontSize:12,valueFontSize:12,labelTextBaseline:"middle",valueTextBaseline:"middle"})||this}return Object.defineProperty(t.prototype,"showValue",{get:function(){var e=this.attributes.valueText;return e?typeof e=="string"||typeof e=="number"?e!=="":typeof e=="function"?!0:e.attr("text")!=="":!1},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"actualSpace",{get:function(){var e=this.labelGroup,r=this.valueGroup,i=this.attributes.markerSize,a=e.node().getBBox(),s=a.width,o=a.height,l=r.node().getBBox(),c=l.width,u=l.height;return{markerWidth:i,labelWidth:s,valueWidth:c,height:Math.max(i,o,u)}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"span",{get:function(){var e=this.attributes.span;if(!e)return[1,1];var r=(0,G.CR)(br(e),2),i=r[0],a=r[1],s=this.showValue?a:0,o=i+s;return[i/o,s/o]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"shape",{get:function(){var e,r=this.attributes,i=r.markerSize,a=r.width,s=this.actualSpace,o=s.markerWidth,l=s.height,c=this.actualSpace,u=c.labelWidth,h=c.valueWidth,f=(0,G.CR)(this.spacing,2),d=f[0],v=f[1];if(a){var g=a-i-d-v,p=(0,G.CR)(this.span,2),y=p[0],b=p[1];e=(0,G.CR)([y*g,b*g],2),u=e[0],h=e[1]}var M=o+u+h+d+v;return{width:M,height:l,markerWidth:o,labelWidth:u,valueWidth:h}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"spacing",{get:function(){var e=this.attributes.spacing;if(!e)return[0,0];var r=(0,G.CR)(br(e),2),i=r[0],a=r[1];return this.showValue?[i,a]:[i,0]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"layout",{get:function(){var e=this.shape,r=e.markerWidth,i=e.labelWidth,a=e.valueWidth,s=e.width,o=e.height,l=(0,G.CR)(this.spacing,2),c=l[0],u=l[1];return{height:o,width:s,markerWidth:r,labelWidth:i,valueWidth:a,position:[r/2,r+c,r+i+c+u]}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"scaleSize",{get:function(){var e=G5(this.markerGroup.node()),r=this.attributes,i=r.markerSize,a=r.markerStrokeWidth,s=a===void 0?e.strokeWidth:a,o=r.markerLineWidth,l=o===void 0?e.lineWidth:o,c=r.markerStroke,u=c===void 0?e.stroke:c,h=+(s||l||(u?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}),t.prototype.renderMarker=function(e){var r=this,i=this.attributes.marker,a=ke(this.attributes,"marker");this.markerGroup=e.maybeAppendByClassName(jr.markerGroup,"g").style("zIndex",0),oi(!!i,this.markerGroup,function(){var s,o=r.markerGroup.node(),l=(s=o.childNodes)===null||s===void 0?void 0:s[0],c=typeof i=="string"?new fn({style:{symbol:i},className:jr.marker.name}):i();l?c.nodeName===l.nodeName?l instanceof fn?l.update((0,G.pi)((0,G.pi)({},a),{symbol:i})):(k5(l,c),ve(l).styles(a)):(l.remove(),ve(c).attr("className",jr.marker.name).styles(a),o.appendChild(c)):(c instanceof fn||ve(c).attr("className",jr.marker.name).styles(a),o.appendChild(c)),r.markerGroup.node().scale(1/r.markerGroup.node().getScale()[0]);var u=t0(r.markerGroup.node(),r.scaleSize,!0);r.markerGroup.node().style._transform="scale(".concat(u,")")})},t.prototype.renderLabel=function(e){var r=ke(this.attributes,"label"),i=r.text,a=(0,G._T)(r,["text"]);this.labelGroup=e.maybeAppendByClassName(jr.labelGroup,"g").style("zIndex",0),this.labelGroup.maybeAppendByClassName(jr.label,function(){return Ma(i)}).styles(a)},t.prototype.renderValue=function(e){var r=this,i=ke(this.attributes,"value"),a=i.text,s=(0,G._T)(i,["text"]);this.valueGroup=e.maybeAppendByClassName(jr.valueGroup,"g").style("zIndex",0),oi(this.showValue,this.valueGroup,function(){r.valueGroup.maybeAppendByClassName(jr.value,function(){return Ma(a)}).styles(s)})},t.prototype.createPoptip=function(){var e=this.attributes.poptip,r=e||{},i=r.render,a=(0,G._T)(r,["render"]),s=new _5({style:$n(H5,a)});return this.poptipGroup=s,s},t.prototype.bindPoptip=function(e){var r=this,i=this.attributes.poptip;if(i){var a=this.poptipGroup||this.createPoptip();a.bind(e,function(){var s=r.attributes,o=s.labelText,l=s.valueText,c=s.markerFill,u=typeof o=="string"?o:o==null?void 0:o.attr("text"),h=typeof l=="string"?l:l==null?void 0:l.attr("text");if(typeof i.render=="function")return{html:i.render({label:u,value:h,color:c})};var f="";return(typeof u=="string"||typeof u=="number")&&(f+='<div class="component-poptip-label">'.concat(u,"</div>")),(typeof h=="string"||typeof h=="number")&&(f+='<div class="component-poptip-value">'.concat(h,"</div>")),{html:f}})}},t.prototype.renderPoptip=function(e){var r=this,i=this.attributes.poptip;if(i){var a=e.maybeAppendByClassName(jr.value,"g").node(),s=e.maybeAppendByClassName(jr.label,"g").node();[a,s].forEach(function(o){o&&r.bindPoptip(o)})}},t.prototype.renderBackground=function(e){var r=this.shape,i=r.width,a=r.height,s=ke(this.attributes,"background");this.background=e.maybeAppendByClassName(jr.backgroundGroup,"g").style("zIndex",-1),this.background.maybeAppendByClassName(jr.background,"rect").styles((0,G.pi)({width:i,height:a},s))},t.prototype.adjustLayout=function(){var e=this.layout,r=e.labelWidth,i=e.valueWidth,a=e.height,s=(0,G.CR)(e.position,3),o=s[0],l=s[1],c=s[2],u=a/2;this.markerGroup.styles({transform:"translate(".concat(o,", ").concat(u,")").concat(this.markerGroup.node().style._transform)}),this.labelGroup.styles({transform:"translate(".concat(l,", ").concat(u,")")}),r0(this.labelGroup.select(jr.label.class).node(),Math.ceil(r)),this.showValue&&(this.valueGroup.styles({transform:"translate(".concat(c,", ").concat(u,")")}),r0(this.valueGroup.select(jr.value.class).node(),Math.ceil(i)))},t.prototype.render=function(e,r){var i=ve(r),a=e.x,s=a===void 0?0:a,o=e.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.renderPoptip(i),this.adjustLayout()},t}(Dn),Xs=Hi({page:"item-page",navigator:"navigator",item:"item"},"items"),Ax=function(n,t,e){return e===void 0&&(e=!0),n?t(n):e},X5=function(n){(0,G.ZT)(t,n);function t(e){var r=n.call(this,e,{data:[],gridRow:1/0,gridCol:void 0,padding:0,width:1e3,height:100,rowPadding:0,colPadding:0,layout:"flex",orientation:"horizontal",click:$v,mouseenter:$v,mouseleave:$v})||this;return r.navigatorShape=[0,0],r}return Object.defineProperty(t.prototype,"pageViews",{get:function(){return this.navigator.getContainer()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"grid",{get:function(){var e=this.attributes,r=e.gridRow,i=e.gridCol,a=e.data;if(!r&&!i)throw new Error("gridRow and gridCol can not be set null at the same time");return r&&i?[r,i]:r?[r,a.length]:[a.length,i]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"renderData",{get:function(){var e=this.attributes,r=e.data,i=e.layout,a=e.poptip,s=ke(this.attributes,"item"),o=r.map(function(l,c){var u=l.id,h=u===void 0?c:u,f=l.label,d=l.value;return{id:"".concat(h),index:c,style:(0,G.pi)({layout:i,labelText:f,valueText:d,poptip:a},Object.fromEntries(Object.entries(s).map(function(v){var g=(0,G.CR)(v,2),p=g[0],y=g[1];return[p,li(y,[l,c,r])]})))}});return o},enumerable:!1,configurable:!0}),t.prototype.getGridLayout=function(){var e=this,r=this.attributes,i=r.orientation,a=r.width,s=r.rowPadding,o=r.colPadding,l=(0,G.CR)(this.navigatorShape,1),c=l[0],u=(0,G.CR)(this.grid,2),h=u[0],f=u[1],d=f*h,v=0;return this.pageViews.children.map(function(g,p){var y,b,M=Math.floor(p/d),O=p%d,k=e.ifHorizontal(f,h),D=[Math.floor(O/k),O%k];i==="vertical"&&D.reverse();var j=(0,G.CR)(D,2),B=j[0],W=j[1],V=(a-c-(f-1)*o)/f,q=g.getBBox().height,$=(0,G.CR)([0,0],2),ot=$[0],ct=$[1];return i==="horizontal"?(y=(0,G.CR)([v,B*(q+s)],2),ot=y[0],ct=y[1],v=W===f-1?0:v+V+o):(b=(0,G.CR)([W*(V+o),v],2),ot=b[0],ct=b[1],v=B===h-1?0:v+q+s),{page:M,index:p,row:B,col:W,pageIndex:O,width:V,height:q,x:ot,y:ct}})},t.prototype.getFlexLayout=function(){var e=this.attributes,r=e.width,i=e.height,a=e.rowPadding,s=e.colPadding,o=(0,G.CR)(this.navigatorShape,1),l=o[0],c=(0,G.CR)(this.grid,2),u=c[0],h=c[1],f=(0,G.CR)([r-l,i],2),d=f[0],v=f[1],g=(0,G.CR)([0,0,0,0,0,0,0,0],8),p=g[0],y=g[1],b=g[2],M=g[3],O=g[4],k=g[5],D=g[6],j=g[7];return this.pageViews.children.map(function(B,W){var V,q,$,ot,ct=B.getBBox(),vt=ct.width,Ct=ct.height,Ot=D===0?0:s,mt=D+Ot+vt;if(mt<=d&&Ax(O,function(Lt){return Lt<h}))return V=(0,G.CR)([D+Ot,j,mt],3),p=V[0],y=V[1],D=V[2],{width:vt,height:Ct,x:p,y,page:b,index:W,pageIndex:M++,row:k,col:O++};q=(0,G.CR)([k+1,0,0,j+Ct+a],4),k=q[0],O=q[1],D=q[2],j=q[3];var yt=j+Ct;return yt<=v&&Ax(k,function(Lt){return Lt<u})?($=(0,G.CR)([D,j,vt],3),p=$[0],y=$[1],D=$[2],{width:vt,height:Ct,x:p,y,page:b,index:W,pageIndex:M++,row:k,col:O++}):(ot=(0,G.CR)([0,0,vt,0,b+1,0,0,0],8),p=ot[0],y=ot[1],D=ot[2],j=ot[3],b=ot[4],M=ot[5],k=ot[6],O=ot[7],{width:vt,height:Ct,x:p,y,page:b,index:W,pageIndex:M++,row:k,col:O++})})},Object.defineProperty(t.prototype,"itemsLayout",{get:function(){this.navigatorShape=[0,0];var e=this.attributes.layout==="grid"?this.getGridLayout:this.getFlexLayout,r=e.call(this);return r.slice(-1)[0].page>0?(this.navigatorShape=[55,0],e.call(this)):r},enumerable:!1,configurable:!0}),t.prototype.ifHorizontal=function(e,r){var i=this.attributes.orientation;return e0(i,e,r)},t.prototype.flattenPage=function(e){e.querySelectorAll(Xs.item.class).forEach(function(r){e.appendChild(r)}),e.querySelectorAll(Xs.page.class).forEach(function(r){var i=e.removeChild(r);i.destroy()})},t.prototype.renderItems=function(e){var r=this.attributes,i=r.click,a=r.mouseenter,s=r.mouseleave;this.flattenPage(e);var o=this.dispatchCustomEvent.bind(this);ve(e).selectAll(Xs.item.class).data(this.renderData,function(l){return l.id}).join(function(l){return l.append(function(c){var u=c.style;return new W5({style:u})}).attr("className",Xs.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(c){var u=c.style;this.update(u)})},function(l){return l.remove()})},t.prototype.relayoutNavigator=function(){var e,r=this.attributes,i=r.layout,a=r.width,s=((e=this.pageViews.children[0])===null||e===void 0?void 0:e.getBBox().height)||0,o=(0,G.CR)(this.navigatorShape,2),l=o[0],c=o[1];this.navigator.update(i==="grid"?{pageWidth:a-l,pageHeight:s-c}:{})},t.prototype.adjustLayout=function(){var e=this,r=Object.entries(t5(this.itemsLayout,"page")).map(function(a){var s=(0,G.CR)(a,2),o=s[0],l=s[1];return{page:o,layouts:l}}),i=(0,G.ev)([],(0,G.CR)(this.navigator.getContainer().children),!1);r.forEach(function(a){var s=a.layouts,o=e.pageViews.appendChild(new rr({className:Xs.page.name}));s.forEach(function(l){var c=l.x,u=l.y,h=l.index,f=l.width,d=l.height,v=i[h];o.appendChild(v),yl(v,"__layout__",l),v.update({x:c,y:u,width:f,height:d})})}),this.relayoutNavigator()},t.prototype.renderNavigator=function(e){var r=this.attributes.orientation,i=ke(this.attributes,"nav"),a=$n({orientation:r},i),s=this;return e.selectAll(Xs.navigator.class).data(["nav"]).join(function(o){return o.append(function(){return new A5({style:a})}).attr("className",Xs.navigator.name).each(function(){s.navigator=this})},function(o){return o.each(function(){this.update(a)})},function(o){return o.remove()}),this.navigator},t.prototype.getBBox=function(){return this.navigator.getBBox()},t.prototype.render=function(e,r){var i=this.attributes.data;if(!(!i||i.length===0)){var a=this.renderNavigator(ve(r));this.renderItems(a.getContainer()),this.adjustLayout()}},t.prototype.dispatchCustomEvent=function(e,r){var i=new Qn(e,{detail:r});this.dispatchEvent(i)},t}(Dn),Il=Hi({markerGroup:"marker-group",marker:"marker",labelGroup:"label-group",label:"label"},"handle"),Px={showLabel:!0,formatter:function(n){return n.toString()},markerSize:25,markerStroke:"#c5c5c5",markerFill:"#fff",markerLineWidth:1,labelFontSize:12,labelFill:"#c5c5c5",labelText:"",orientation:"vertical",spacing:0},eZ=function(n){(0,G.ZT)(t,n);function t(e){return n.call(this,e,Px)||this}return t.prototype.render=function(e,r){var i=ve(r).maybeAppendByClassName(Il.markerGroup,"g");this.renderMarker(i);var a=ve(r).maybeAppendByClassName(Il.labelGroup,"g");this.renderLabel(a)},t.prototype.renderMarker=function(e){var r=this,i=this.attributes,a=i.orientation,s=i.markerSymbol,o=s===void 0?e0(a,"horizontalHandle","verticalHandle"):s;oi(!!o,e,function(l){var c=ke(r.attributes,"marker"),u=(0,G.pi)({symbol:o},c);r.marker=l.maybeAppendByClassName(Il.marker,function(){return new fn({style:u})}).update(u)})},t.prototype.renderLabel=function(e){var r=this,i=this.attributes,a=i.showLabel,s=i.orientation,o=i.spacing,l=o===void 0?0:o,c=i.formatter;oi(a,e,function(u){var h,f=ke(r.attributes,"label"),d=f.text,v=(0,G._T)(f,["text"]),g=((h=u.select(Il.marker.class))===null||h===void 0?void 0:h.node().getBBox())||{},p=g.width,y=p===void 0?0:p,b=g.height,M=b===void 0?0:b,O=(0,G.CR)(e0(s,[0,M+l,"center","top"],[y+l,0,"start","middle"]),4),k=O[0],D=O[1],j=O[2],B=O[3];u.maybeAppendByClassName(Il.label,"text").styles((0,G.pi)((0,G.pi)({},v),{x:k,y:D,text:c(d).toString(),textAlign:j,textBaseline:B}))})},t}(Dn),Sx={showTitle:!0,padding:0,orientation:"horizontal",backgroundFill:"transparent",titleText:"",titleSpacing:4,titlePosition:"top-left",titleFill:"#2C3542",titleFontWeight:"bold",titleFontFamily:"sans-serif",titleFontSize:12},V5=$n({},Sx,{}),nZ=$n({},Sx,Mo(Px,"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"}),rZ=.01,iZ=.5,Bl=Hi({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"),Y5=function(n){(0,G.ZT)(t,n);function t(e){return n.call(this,e,V5)||this}return t.prototype.renderTitle=function(e,r,i){var a=this.attributes,s=a.showTitle,o=a.titleText,l=ke(this.attributes,"title"),c=(0,G.CR)(wa(l),2),u=c[0],h=c[1];this.titleGroup=e.maybeAppendByClassName(Bl.titleGroup,"g").styles(h);var f=(0,G.pi)((0,G.pi)({width:r,height:i},u),{text:s?o:""});this.title=this.titleGroup.maybeAppendByClassName(Bl.title,function(){return new $I({style:f})}).update(f)},t.prototype.renderItems=function(e,r){var i=r.x,a=r.y,s=r.width,o=r.height,l=ke(this.attributes,"title",!0),c=(0,G.CR)(wa(l),2),u=c[0],h=c[1],f=(0,G.pi)((0,G.pi)({},u),{width:s,height:o,x:0,y:0});this.itemsGroup=e.maybeAppendByClassName(Bl.itemsGroup,"g").styles((0,G.pi)((0,G.pi)({},h),{transform:"translate(".concat(i,", ").concat(a,")")}));var d=this;this.itemsGroup.selectAll(Bl.items.class).data(["items"]).join(function(v){return v.append(function(){return new X5({style:f})}).attr("className",Bl.items.name).each(function(){d.items=ve(this)})},function(v){return v.update(f)},function(v){return v.remove()})},t.prototype.adjustLayout=function(){var e=this.attributes.showTitle;if(e){var r=this.title.node().getAvailableSpace(),i=r.x,a=r.y;this.itemsGroup.node().style.transform="translate(".concat(i,", ").concat(a,")")}},Object.defineProperty(t.prototype,"availableSpace",{get:function(){var e=this.attributes,r=e.showTitle,i=e.width,a=e.height;return r?this.title.node().getAvailableSpace():new Tr(0,0,i,a)},enumerable:!1,configurable:!0}),t.prototype.getBBox=function(){var e,r,i=(e=this.title)===null||e===void 0?void 0:e.node(),a=(r=this.items)===null||r===void 0?void 0:r.node();return!i||!a?n.prototype.getBBox.call(this):QI(i,a)},t.prototype.render=function(e,r){var i=this.attributes,a=i.width,s=i.height,o=i.x,l=o===void 0?0:o,c=i.y,u=c===void 0?0:c,h=ve(r);r.style.transform="translate(".concat(l,", ").concat(u,")"),this.renderTitle(h,a,s),this.renderItems(h,this.availableSpace),this.adjustLayout()},t}(Dn);function a0(n){const{width:t,height:e,renderer:r}=n,i=U5(n),a=new gd({width:t,height:e,container:i,renderer:r||new wl});return[i,a]}function U5(n){var t;const{container:e,className:r,graphCanvas:i}=n;if(e)return typeof e=="string"?document.getElementById(e):e;const a=wo(r,!1),{width:s,height:o,containerStyle:l}=n,[c,u]=K5(n);return Object.assign(a.style,Object.assign({position:"absolute",left:c+"px",top:u+"px",width:s+"px",height:o+"px"},l)),(t=i.getContainer())===null||t===void 0||t.appendChild(a),a}function K5(n){const{width:t,height:e,placement:r,graphCanvas:i}=n,[a,s]=i.getSize(),[o,l]=Ay(r);return[o*(a-t),l*(s-e)]}var Q5=function(n,t){var e={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&t.indexOf(r)<0&&(e[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(n);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(n,r[i])&&(e[r[i]]=n[r[i]]);return e};class Lh extends yr{constructor(t,e){super(t,Object.assign({},Lh.defaultOptions,e)),this.typePrefix="__data__",this.draw=!1,this.fieldMap={node:new Map,edge:new Map,combo:new Map},this.selectedItems=[],this.bindEvents=()=>{const{graph:r}=this.context;r.on(Qt.AFTER_DRAW,this.createElement)},this.changeState=(r,i)=>{const{graph:a}=this.context,{typePrefix:s}=this,o=Br(r,[s,"id"]),l=Br(r,[s,"style","labelText"]),[c]=o.split("__"),u=this.fieldMap[c].get(l)||[];a.setElementState(Object.fromEntries(u==null?void 0:u.map(h=>[h,i])))},this.click=r=>{if(this.options.trigger==="hover")return;const i=Br(r,[this.typePrefix,"id"]);this.selectedItems.includes(i)?(this.selectedItems=this.selectedItems.filter(a=>a!==i),this.changeState(r,[])):(this.selectedItems.push(i),this.changeState(r,"selected"))},this.mouseleave=r=>{this.options.trigger!=="click"&&(this.selectedItems=[],this.changeState(r,[]))},this.mouseenter=r=>{if(this.options.trigger==="click")return;const i=Br(r,[this.typePrefix,"id"]);this.selectedItems.includes(i)?this.selectedItems=this.selectedItems.filter(a=>a!==i):(this.selectedItems.push(i),this.changeState(r,"active"))},this.setFieldMap=(r,i,a)=>{if(!r)return;const s=this.fieldMap[a];if(s)if(!s.has(r))s.set(r,[i]);else{const o=s.get(r);o&&(o.push(i),s.set(r,o))}},this.getEvents=()=>({mouseenter:this.mouseenter,mouseleave:this.mouseleave,click:this.click}),this.getMarkerData=(r,i)=>{if(!r)return[];const{model:a,element:s}=this.context,{nodes:o,edges:l,combos:c}=a.getData(),u={},h=p=>de(r)?r(p):r,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,y)=>s==null?void 0:s.getElementComputedStyle(p,y),g=(p,y)=>{p.forEach(b=>{const{id:M}=b,O=Br(b,["data",h(b)]),k=(s==null?void 0:s.getElementType(y,b))||"circle",D=v(y,b),j=(y==="edge"?D==null?void 0:D.stroke:D==null?void 0:D.fill)||"#1783ff";M&&O&&O.replace(/\s+/g,"")&&(this.setFieldMap(O,M,y),u[O]||(u[O]={id:`${y}__${M}`,label:O,marker:d[k]||f[y],elementType:y,lineWidth:1,stroke:j,fill:j}))})};switch(i){case"node":g(o,"node");break;case"edge":g(l,"edge");break;case"combo":g(c,"combo");break;default:return[]}return Object.values(u)},this.createElement=()=>{if(this.draw){this.updateElement();return}const r=this.options,{width:i,height:a,nodeField:s,edgeField:o,comboField:l,trigger:c,position:u,container:h,containerStyle:f,className:d}=r,v=Q5(r,["width","height","nodeField","edgeField","comboField","trigger","position","container","containerStyle","className"]),g=this.getMarkerData(s,"node"),p=this.getMarkerData(o,"edge"),y=this.getMarkerData(l,"combo"),b=[...g,...y,...p],M=Object.assign({width:i,height:a,data:b,itemMarkerLineWidth:({lineWidth:D})=>D,itemMarker:({marker:D})=>D,itemMarkerStroke:({stroke:D})=>D,itemMarkerFill:({fill:D})=>D,gridCol:g.length},v,this.getEvents()),O=new Y5({className:"legend",style:M});this.category=O,this.upsertCanvas().appendChild(O),this.draw=!0},this.bindEvents()}update(t){super.update(t),this.clear(),this.createElement()}clear(){var t,e;(t=this.canvas)===null||t===void 0||t.destroy(),(e=this.container)===null||e===void 0||e.remove(),this.canvas=void 0,this.container=void 0,this.draw=!1}updateElement(){this.category&&this.category.update({itemMarkerOpacity:({id:t})=>!this.selectedItems.length||this.selectedItems.includes(t)?1:.5,itemLabelOpacity:({id:t})=>!this.selectedItems.length||this.selectedItems.includes(t)?1:.5})}upsertCanvas(){if(this.canvas)return this.canvas;const t=this.context.canvas,[e,r]=t.getSize(),{width:i=e,height:a=r,position:s,container:o,containerStyle:l,className:c}=this.options,[u,h]=a0({width:i,height:a,graphCanvas:t,container:o,containerStyle:l,placement:s,className:"legend"});return this.container=u,c&&u.classList.add(c),this.canvas=h,this.canvas}destroy(){this.clear(),this.context.graph.off(Qt.AFTER_DRAW,this.createElement),super.destroy()}}Lh.defaultOptions={position:"bottom",trigger:"hover",orientation:"horizontal",layout:"flex",itemSpacing:4,rowPadding:10,colPadding:10,itemMarkerSize:16,itemLabelFontSize:16,width:240,height:160};class Dh extends yr{constructor(t,e){super(t,Object.assign({},Dh.defaultOptions,e)),this.onDraw=r=>{var i;!((i=r==null?void 0:r.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=r=>{this.mask&&(this.isMaskDragging=!0,this.mask.setPointerCapture(r.pointerId),this.mask.addEventListener("pointermove",this.onMaskDrag),this.mask.addEventListener("pointerup",this.onMaskDragEnd),this.mask.addEventListener("pointercancel",this.onMaskDragEnd))},this.onMaskDrag=r=>{if(!this.mask||!this.isMaskDragging)return;const{size:[i,a]}=this.options,{movementX:s,movementY:o}=r,{left:l,top:c,width:u,height:h}=this.mask.style,[,,f,d]=this.maskBBox;let v=parseInt(l)+s,g=parseInt(c)+o,p=parseInt(u),y=parseInt(h);v<0&&(v=0),g<0&&(g=0),v+p>i&&(v=$a(i-p,0)),g+y>a&&(g=$a(a-y,0)),p<f&&(s>0?(v=$a(v-s,0),p=qa(p+s,i)):s<0&&(p=qa(p-s,i))),y<d&&(o>0?(g=$a(g-o,0),y=qa(y+o,a)):o<0&&(y=qa(y-o,a))),Object.assign(this.mask.style,{left:v+"px",top:g+"px",width:p+"px",height:y+"px"});const b=parseInt(l)-v,M=parseInt(c)-g;if(b===0&&M===0)return;const O=this.context.canvas.getCamera().getZoom(),k=this.canvas.getCamera().getZoom(),D=O/k;this.context.graph.translateBy([b*D,M*D],!1)},this.onMaskDragEnd=r=>{this.mask&&(this.isMaskDragging=!1,this.mask.releasePointerCapture(r.pointerId),this.mask.removeEventListener("pointermove",this.onMaskDrag),this.mask.removeEventListener("pointerup",this.onMaskDragEnd),this.mask.removeEventListener("pointercancel",this.onMaskDragEnd))},this.onTransform=Lm(()=>{this.isMaskDragging||(this.updateMask(),this.setCamera())},32,{leading:!0}),this.setOnRender(),this.bindEvents()}update(t){this.unbindEvents(),super.update(t),"delay"in t&&this.setOnRender(),this.bindEvents()}setOnRender(){this.onRender=Ol(()=>{this.renderMinimap(),this.renderMask()},this.options.delay)}bindEvents(){const{graph:t}=this.context;t.on(Qt.AFTER_DRAW,this.onDraw),t.on(Qt.AFTER_RENDER,this.onRender),t.on(Qt.AFTER_ANIMATE,this.onRender),t.on(Qt.AFTER_TRANSFORM,this.onTransform)}unbindEvents(){const{graph:t}=this.context;t.off(Qt.AFTER_DRAW,this.onDraw),t.off(Qt.AFTER_RENDER,this.onRender),t.off(Qt.AFTER_ANIMATE,this.onRender),t.off(Qt.AFTER_TRANSFORM,this.onTransform)}renderMinimap(){const t=this.getElements(),e=this.initCanvas();this.setShapes(e,t)}getElements(){const{filter:t}=this.options,{model:e,element:r}=this.context,i=e.getData(),a={nodes:i.nodes.filter(c=>r==null?void 0:r.getElement(Pt(c))),edges:i.edges.filter(c=>{const u=r==null?void 0:r.getElement(Pt(c));return u&&S1(u)}),combos:i.combos.filter(c=>r==null?void 0:r.getElement(Pt(c)))};if(!t)return a;const{nodes:s,edges:o,combos:l}=a;return{nodes:s.filter(c=>t(Pt(c),"node")),edges:o.filter(c=>t(Pt(c),"edge")),combos:l.filter(c=>t(Pt(c),"combo"))}}setShapes(t,e){const{nodes:r,edges:i,combos:a}=e,{shape:s}=this.options,{element:o}=this.context;if(s==="key"){const c=new Set,u=h=>{const f=Pt(h);c.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,y])=>{g.style[p]!==y&&(g.style[p]=y)}):(t.appendChild(g),this.shapes.set(f,g))};i.forEach(u),a.forEach(u),r.forEach(u),this.shapes.forEach((h,f)=>{c.has(f)||(t.removeChild(h),this.shapes.delete(f))});return}const l=(c,u)=>{const f=o.getElement(c).getPosition();return u.setPosition(f),u};t.removeChildren(),i.forEach(c=>t.appendChild(s(Pt(c),"edge"))),a.forEach(c=>{t.appendChild(l(Pt(c),s(Pt(c),"combo")))}),r.forEach(c=>{t.appendChild(l(Pt(c),s(Pt(c),"node")))})}initCanvas(){const{renderer:t,size:[e,r]}=this.options;if(this.canvas){const{width:i,height:a}=this.canvas.getConfig();(e!==i||r!==a)&&this.canvas.resize(e,r),t&&this.canvas.setRenderer(t)}else{const{className:i,position:a,container:s,containerStyle:o}=this.options,[l,c]=a0({renderer:t,width:e,height:r,placement:a,className:"minimap",container:s,containerStyle:o,graphCanvas:this.context.canvas});i&&l.classList.add(i),this.container=l,this.canvas=c}return this.setCamera(),this.canvas}createLandmark(t,e,r){const i=`${t.join(",")}-${e.join(",")}-${r}`;if(this.landmarkMap.has(i))return this.landmarkMap.get(i);const s=this.canvas.getCamera().createLandmark(i,{position:t,focalPoint:e,zoom:r});return this.landmarkMap.set(i,s),s}setCamera(){var t;const{canvas:e}=this.context,r=(t=this.canvas)===null||t===void 0?void 0:t.getCamera();if(!r)return;const{size:[i,a],padding:s}=this.options,[o,l,c,u]=Di(s),{min:h,max:f,center:d}=e.getBounds("elements"),v=f[0]-h[0],g=f[1]-h[1],p=i-u-l,y=a-o-c,b=p/v,M=y/g,O=Math.min(b,M),k=this.createLandmark(d,d,O);r.gotoLandmark(k,0)}get maskBBox(){const{canvas:t}=this.context,e=t.getSize(),r=t.getCanvasByViewport([0,0]),i=t.getCanvasByViewport(e),a=this.canvas.canvas2Viewport(ji(r)),s=this.canvas.canvas2Viewport(ji(i)),o=s.x-a.x,l=s.y-a.y;return[a.x,a.y,o,l]}calculateMaskBBox(){const{size:[t,e]}=this.options;let[r,i,a,s]=this.maskBBox;return r<0&&(a=qa(a+r,t),r=0),i<0&&(s=qa(s+i,e),i=0),r+a>t&&(a=$a(t-r,0)),i+s>e&&(s=$a(e-i,0)),[qa(r,t),qa(i,e),$a(a,0),$a(s,0)]}renderMask(){const{maskStyle:t}=this.options;this.mask||(this.mask=document.createElement("div"),this.mask.addEventListener("pointerdown",this.onMaskDragStart),this.mask.draggable=!0,this.mask.addEventListener("dragstart",e=>e.preventDefault&&e.preventDefault())),this.container.appendChild(this.mask),Object.assign(this.mask.style,Object.assign(Object.assign({},t),{cursor:"move",position:"absolute",pointerEvents:"auto"})),this.updateMask()}updateMask(){if(!this.mask)return;const[t,e,r,i]=this.calculateMaskBBox();Object.assign(this.mask.style,{top:e+"px",left:t+"px",width:r+"px",height:i+"px"})}destroy(){var t,e,r;this.unbindEvents(),(t=this.canvas)===null||t===void 0||t.destroy(),(e=this.mask)===null||e===void 0||e.remove(),(r=this.container)===null||r===void 0||r.remove(),super.destroy()}}Dh.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 qa=(n,t)=>Math.min(n,t),$a=(n,t)=>Math.max(n,t);var s0=function(n,t,e,r){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(u){try{c(r.next(u))}catch(h){s(h)}}function l(u){try{c(r.throw(u))}catch(h){s(h)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((r=r.apply(n,t||[])).next())})};const o0={x1:0,y1:0,x2:0,y2:0,visibility:"hidden"};class Rh extends yr{constructor(t,e){super(t,Object.assign({},Rh.defaultOptions,e)),this.initSnapline=()=>{const r=this.context.canvas.getLayer("transient");this.horizontalLine||(this.horizontalLine=r.appendChild(new Ps({style:Object.assign(Object.assign({},o0),this.options.horizontalLineStyle)}))),this.verticalLine||(this.verticalLine=r.appendChild(new Ps({style:Object.assign(Object.assign({},o0),this.options.verticalLineStyle)})))},this.isHorizontalSticking=!1,this.isVerticalSticking=!1,this.enableStick=!0,this.autoSnapToLine=(r,i,a)=>s0(this,void 0,void 0,function*(){const{verticalX:s,horizontalY:o}=a,{tolerance:l}=this.options,{min:[c,u],max:[h,f],center:[d,v]}=i;let g=0,p=0;s!==null&&(Cr(h,s)<l&&(g=s-h),Cr(c,s)<l&&(g=s-c),Cr(d,s)<l&&(g=s-d),g!==0&&(this.isVerticalSticking=!0)),o!==null&&(Cr(f,o)<l&&(p=o-f),Cr(u,o)<l&&(p=o-u),Cr(v,o)<l&&(p=o-v),p!==0&&(this.isHorizontalSticking=!0)),(g!==0||p!==0)&&(yield this.context.graph.translateElementBy({[r]:[g,p]},!1))}),this.enableSnap=r=>{const{target:i}=r,a=.5;if(this.isHorizontalSticking||this.isVerticalSticking){const[s,o]=this.getDelta(r);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=(r,i)=>{const{tolerance:a,shape:s}=this.options,{min:[o,l],max:[c,u],center:[h,f]}=i;let d=null,v=null,g=null,p=null,y=null,b=null;return this.getNodes().some(M=>{if(Hn(r.id,M.id))return!1;const O=Ox(M,s).getRenderBounds(),{min:[k,D],max:[j,B],center:[W,V]}=O;return d===null&&(Cr(W,h)<a?d=W:Cr(k,o)<a||Cr(k,c)<a?d=k:(Cr(j,c)<a||Cr(j,o)<a)&&(d=j),d!==null&&(v=Math.min(D,l),g=Math.max(B,u))),p===null&&(Cr(V,f)<a?p=V:Cr(D,l)<a||Cr(D,u)<a?p=D:(Cr(B,u)<a||Cr(B,l)<a)&&(p=B),p!==null&&(y=Math.min(k,o),b=Math.max(j,c))),d!==null&&p!==null}),{verticalX:d,verticalMinY:v,verticalMaxY:g,horizontalY:p,horizontalMinX:y,horizontalMaxX:b}},this.onDragStart=()=>{this.initSnapline()},this.onDrag=r=>s0(this,void 0,void 0,function*(){const{target:i}=r;if(this.options.autoSnap&&!this.enableSnap(r))return;const a=Ox(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 t;const{filter:e}=this.options,i=(((t=this.context.element)===null||t===void 0?void 0:t.getNodes())||[]).filter(a=>{var s;return S1(a)&&((s=this.context.viewport)===null||s===void 0?void 0:s.isInViewport(a.getRenderBounds()))});return e?i.filter(a=>e(a)):i}hideSnapline(){this.horizontalLine.style.visibility="hidden",this.verticalLine.style.visibility="hidden"}getLineWidth(t){const{lineWidth:e}=this.options[`${t}LineStyle`];return+(e||o0.lineWidth||1)/this.context.graph.getZoom()}updateSnapline(t){const{verticalX:e,verticalMinY:r,verticalMaxY:i,horizontalY:a,horizontalMinX:s,horizontalMaxX:o}=t,[l,c]=this.context.canvas.getSize(),{offset:u}=this.options;a!==null?Object.assign(this.horizontalLine.style,{x1:u===1/0?0:s-u,y1:a,x2:u===1/0?l:o+u,y2:a,visibility:"visible",lineWidth:this.getLineWidth("horizontal")}):this.horizontalLine.style.visibility="hidden",e!==null?Object.assign(this.verticalLine.style,{x1:e,y1:u===1/0?0:r-u,x2:e,y2:u===1/0?c:i+u,visibility:"visible",lineWidth:this.getLineWidth("vertical")}):this.verticalLine.style.visibility="hidden"}getDelta(t){const e=this.context.graph.getZoom();return zi([t.dx,t.dy],e)}bindEvents(){return s0(this,void 0,void 0,function*(){const{graph:t}=this.context;t.on(bi.DRAG_START,this.onDragStart),t.on(bi.DRAG,this.onDrag),t.on(bi.DRAG_END,this.onDragEnd)})}unbindEvents(){const{graph:t}=this.context;t.off(bi.DRAG_START,this.onDragStart),t.off(bi.DRAG,this.onDrag),t.off(bi.DRAG_END,this.onDragEnd)}destroyElements(){var t,e;(t=this.horizontalLine)===null||t===void 0||t.destroy(),(e=this.verticalLine)===null||e===void 0||e.destroy()}destroy(){this.destroyElements(),this.unbindEvents(),super.destroy()}}Rh.defaultOptions={tolerance:5,offset:20,autoSnap:!0,shape:"key",verticalLineStyle:{stroke:"#1783FF"},horizontalLineStyle:{stroke:"#1783FF"},filter:()=>!0};const Cr=(n,t)=>Math.abs(n-t),Ox=(n,t)=>typeof t=="function"?t(n):n.getShape(t);var Tx=null,J5=null;function Ih(n){return n instanceof Date?n:new Date(n)}function q5(n){for(var t=__read(n,2),e=t[0],r=t[1],i=Tx.indexOf(e),a=Tx.indexOf(r),s="",o=i;o<=a;o+=1)if(s+=J5[o],o<a){var l="-";o===2?l=" ":o>2&&(l=":"),s+=l}return s}function Fr(n,t){var e={YYYY:n.getFullYear(),MM:n.getMonth()+1,DD:n.getDate(),HH:n.getHours(),mm:n.getMinutes(),ss:n.getSeconds()},r=t;return Object.keys(e).forEach(function(i){var a=e[i];r=r.replace(i,i==="YYYY"?"".concat(a):"".concat(a).padStart(2,"0"))}),r}function aZ(n,t){return Ih(n).getTime()-Ih(t).getTime()}function sZ(n,t){var e=__read([Ih(n),Ih(t)],2),r=e[0],i=e[1];return r.getFullYear()!==i.getFullYear()?"year":r.getMonth()!==i.getMonth()?"month":r.getDay()!==i.getDay()?"day":r.getHours()!==i.getHours()?"hour":r.getMinutes()!==i.getMinutes()?"minute":"second"}function oZ(n,t){var e=new Date(n),r={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 r[t](e),Fr(e,q5(["year",t]))}function $5(n,t){if(n.length<=t)return n;for(var e=Math.floor(n.length/t),r=[],i=0;i<n.length;i+=e)r.push(n[i]);return r}var l0={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 ti({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:[]},lZ=pr({},l0,{style:{type:"arc"}}),cZ=pr({},l0,{style:{}}),ln=Hi({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 Aa(n,t){return[n[0]*t,n[1]*t]}function zl(n,t){return[n[0]+t[0],n[1]+t[1]]}function c0(n,t){return[n[0]-t[0],n[1]-t[1]]}function Vs(n,t){return[Math.min(n[0],t[0]),Math.min(n[1],t[1])]}function Ys(n,t){return[Math.max(n[0],t[0]),Math.max(n[1],t[1])]}function jl(n,t){return Math.sqrt(Math.pow(n[0]-t[0],2)+Math.pow(n[1]-t[1],2))}function Cx(n){if(n[0]===0&&n[1]===0)return[0,0];var t=Math.sqrt(Math.pow(n[0],2)+Math.pow(n[1],2));return[n[0]/t,n[1]/t]}function uZ(n,t,e){var r=__read(n,2),i=r[0],a=r[1],s=__read(t,2),o=s[0],l=s[1],c=i-o,u=a-l,h=Math.sin(e),f=Math.cos(e);return[c*f-u*h+o,c*h+u*f+l]}function t6(n,t){return t?[n[1],-n[0]]:[-n[1],n[0]]}function Po(n){return n*Math.PI/180}function Nx(n){return Number((n*180/Math.PI).toPrecision(5))}function Bh(n,t){return n.style.opacity||(n.style.opacity=1),Gi(n,{opacity:0},t)}var e6=["$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 n6(n){return e6.includes(n)}function kx(n){var t={};for(var e in n)n6(e)&&(t[e]=n[e]);return t}var So=Hi({lineGroup:"line-group",line:"line",regionGroup:"region-group",region:"region"},"grid");function Lx(n){return n.reduce(function(t,e,r){return t.push((0,G.ev)([r===0?"M":"L"],(0,G.CR)(e),!1)),t},[])}function r6(n,t,e){var r=t.connect,i=r===void 0?"line":r,a=t.center;if(i==="line")return Lx(n);if(!a)return[];var s=jl(n[0],a),o=e?0:1;return n.reduce(function(l,c,u){return u===0?l.push((0,G.ev)(["M"],(0,G.CR)(c),!1)):l.push((0,G.ev)(["A",s,s,0,0,o],(0,G.CR)(c),!1)),l},[])}function u0(n,t,e){return t.type==="surround"?r6(n,t,e):Lx(n)}function i6(n,t,e){var r=e.type,i=e.connect,a=e.center,s=e.closed,o=s?[["Z"]]:[],l=(0,G.CR)([u0(n,e),u0(t.slice().reverse(),e,!0)],2),c=l[0],u=l[1],h=(0,G.CR)([n[0],t.slice(-1)[0]],2),f=h[0],d=h[1],v=function(b,M){return[c,b,u,M,o].flat()};if(i==="line"||r==="surround")return v([(0,G.ev)(["L"],(0,G.CR)(d),!1)],[(0,G.ev)(["L"],(0,G.CR)(f),!1)]);if(!a)throw new Error("Arc grid need to specified center");var g=(0,G.CR)([jl(d,a),jl(f,a)],2),p=g[0],y=g[1];return v([(0,G.ev)(["A",p,p,0,0,1],(0,G.CR)(d),!1),(0,G.ev)(["L"],(0,G.CR)(d),!1)],[(0,G.ev)(["A",y,y,0,0,0],(0,G.CR)(f),!1),(0,G.ev)(["L"],(0,G.CR)(f),!1)])}function a6(n,t,e,r){var i=e.animate,a=e.isBillboard,s=t.map(function(o,l){return{id:o.id||"grid-line-".concat(l),d:u0(o.points,e)}});return n.selectAll(So.line.class).data(s,function(o){return o.id}).join(function(o){return o.append("path").each(function(l,c){var u=li(kx((0,G.pi)({d:l.d},r)),[l,c,s]);this.attr((0,G.pi)({class:So.line.name,stroke:"#D9D9D9",lineWidth:1,lineDash:[4,4],isBillboard:a},u))})},function(o){return o.transition(function(l,c){var u=li(kx((0,G.pi)({d:l.d},r)),[l,c,s]);return Gi(this,u,i.update)})},function(o){return o.transition(function(){var l=this,c=Bh(this,i.exit);return Ao(c,function(){return l.remove()}),c})}).transitions()}function s6(n,t,e){var r=e.animate,i=e.connect,a=e.areaFill;if(t.length<2||!a||!i)return[];for(var s=Array.isArray(a)?a:[a,"transparent"],o=function(v){return s[v%s.length]},l=[],c=0;c<t.length-1;c++){var u=(0,G.CR)([t[c].points,t[c+1].points],2),h=u[0],f=u[1],d=i6(h,f,e);l.push({d,fill:o(c)})}return n.selectAll(So.region.class).data(l,function(v,g){return g}).join(function(v){return v.append("path").each(function(g,p){var y=li(g,[g,p,l]);this.attr(y)}).attr("className",So.region.name)},function(v){return v.transition(function(g,p){var y=li(g,[g,p,l]);return Gi(this,y,r.update)})},function(v){return v.transition(function(){var g=this,p=Bh(this,r.exit);return Ao(p,function(){return g.remove()}),p})}).transitions()}function o6(n){var t=n.data,e=t===void 0?[]:t,r=n.closed;return r?e.map(function(i){var a=i.points,s=(0,G.CR)(a,1),o=s[0];return(0,G.pi)((0,G.pi)({},i),{points:(0,G.ev)((0,G.ev)([],(0,G.CR)(a),!1),[o],!1)})}):e}var l6=function(n){(0,G.ZT)(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.render=function(e,r){var i=e.type,a=e.center,s=e.areaFill,o=e.closed,l=(0,G._T)(e,["type","center","areaFill","closed"]),c=o6(e),u=ve(r).maybeAppendByClassName(So.lineGroup,"g"),h=ve(r).maybeAppendByClassName(So.regionGroup,"g"),f=a6(u,c,e,l),d=s6(h,c,e);return(0,G.ev)((0,G.ev)([],(0,G.CR)(f),!1),(0,G.CR)(d),!1)},t}(Dn),c6=function(n,t){return function(e){return n*(1-e)+t*e}};function u6(n,t){var e=t?t.length:0,r=n?Math.min(e,n.length):0;return function(i){var a=new Array(r),s=new Array(e),o=0;for(o=0;o<r;++o)a[o]=h0(n[o],t[o]);for(;o<e;++o)s[o]=t[o];for(o=0;o<r;++o)s[o]=a[o](i);return s}}function h6(n,t){n===void 0&&(n={}),t===void 0&&(t={});var e={},r={};return Object.entries(t).forEach(function(i){var a=(0,G.CR)(i,2),s=a[0],o=a[1];s in n?e[s]=h0(n[s],o):r[s]=o}),function(i){return Object.entries(e).forEach(function(a){var s=(0,G.CR)(a,2),o=s[0],l=s[1];return r[o]=l(i)}),r}}function h0(n,t){return typeof n=="number"&&typeof t=="number"?c6(n,t):Array.isArray(n)&&Array.isArray(t)?u6(n,t):typeof n=="object"&&typeof t=="object"?h6(n,t):function(e){return n}}function f6(n,t,e,r){if(!r)return n.attr("__keyframe_data__",e),null;var i=r.duration,a=i===void 0?0:i,s=h0(t,e),o=Math.ceil(+a/16),l=new Array(o).fill(0).map(function(c,u,h){return{__keyframe_data__:s(u/(h.length-1))}});return n.animate(l,(0,G.pi)({fill:"both"},r))}function Dx(n,t){var e={},r=Array.isArray(t)?t:[t];for(var i in n)r.includes(i)||(e[i]=n[i]);return e}function Rx(n,t){return Object.fromEntries(Object.entries(n).map(function(e){var r=(0,G.CR)(e,2),i=r[0],a=r[1];return[i,li(a,t)]}))}function hZ(n){if(n.type==="linear"){var t=n.startPos,e=n.endPos;return __spreadArray(__spreadArray([],__read(t),!1),__read(e),!1)}var r=n.startAngle,i=n.endAngle,a=n.center,s=n.radius;return __spreadArray(__spreadArray([r,i],__read(a),!1),[s],!1)}function f0(n,t){return t&&de(t)?n.filter(t):n}function Ix(n,t){var e=t.startAngle,r=t.endAngle;return(r-e)*n+e}function zh(n,t){if(t.type==="linear"){var e=(0,G.CR)(t.startPos,2),r=e[0],i=e[1],a=(0,G.CR)(t.endPos,2),s=a[0],o=a[1],l=(0,G.CR)([s-r,o-i],2),c=l[0],u=l[1];return Cx([c,u])}var h=Po(Ix(n,t));return[-Math.sin(h),Math.cos(h)]}function d0(n,t,e){var r=zh(n,e);return t6(r,t!=="positive")}function Fl(n,t){return d0(n,t.labelDirection,t)}function d6(n,t){var e=(0,G.CR)(t.startPos,2),r=e[0],i=e[1],a=(0,G.CR)(t.endPos,2),s=a[0],o=a[1],l=(0,G.CR)([s-r,o-i],2),c=l[0],u=l[1];return[r+c*n,i+u*n]}function v6(n,t){var e=t.radius,r=(0,G.CR)(t.center,2),i=r[0],a=r[1],s=Po(Ix(n,t));return[i+e*Math.cos(s),a+e*Math.sin(s)]}function jh(n,t){return t.type==="linear"?d6(n,t):v6(n,t)}function v0(n){return zh(0,n)[1]===0}function Bx(n){return zh(0,n)[0]===0}function zx(n,t){return t-n===360}function jx(n,t,e,r,i){var a=t-n,s=(0,G.CR)([i,i],2),o=s[0],l=s[1],c=(0,G.CR)([Po(n),Po(t)],2),u=c[0],h=c[1],f=function(V){return[e+i*Math.cos(V),r+i*Math.sin(V)]},d=(0,G.CR)(f(u),2),v=d[0],g=d[1],p=(0,G.CR)(f(h),2),y=p[0],b=p[1];if(zx(n,t)){var M=(h+u)/2,O=(0,G.CR)(f(M),2),k=O[0],D=O[1];return[["M",v,g],["A",o,l,0,1,0,k,D],["A",o,l,0,1,0,y,b]]}var j=a>180?1:0,B=n>t?0:1,W=!1;return W?"M".concat(e,",").concat(r,",L").concat(v,",").concat(g,",A").concat(o,",").concat(l,",0,").concat(j,",").concat(B,",").concat(y,",").concat(b,",L").concat(e,",").concat(r):"M".concat(v,",").concat(g,",A").concat(o,",").concat(l,",0,").concat(j,",").concat(B,",").concat(y,",").concat(b)}function g6(n){var t=n.attributes,e=t.startAngle,r=t.endAngle,i=t.center,a=t.radius;return(0,G.ev)((0,G.ev)([e,r],(0,G.CR)(i),!1),[a],!1)}function p6(n,t,e,r){var i=t.startAngle,a=t.endAngle,s=t.center,o=t.radius;return n.selectAll(ln.line.class).data([{d:jx.apply(void 0,(0,G.ev)((0,G.ev)([i,a],(0,G.CR)(s),!1),[o],!1))}],function(l,c){return c}).join(function(l){return l.append("path").attr("className",ln.line.name).styles(t).styles({d:function(c){return c.d}})},function(l){return l.transition(function(){var c=this,u=f6(this,g6(this),(0,G.ev)((0,G.ev)([i,a],(0,G.CR)(s),!1),[o],!1),r.update);if(u){var h=function(){var f=Br(c.attributes,"__keyframe_data__");c.style.d=jx.apply(void 0,(0,G.ev)([],(0,G.CR)(f),!1))};u.onframe=h,u.onfinish=h}return u}).styles(t)},function(l){return l.remove()}).styles(e).transitions()}function m6(n,t){var e=t.truncRange,r=t.truncShape,i=t.lineExtension}function y6(n,t,e){e===void 0&&(e=[0,0]);var r=(0,G.CR)([n,t,e],3),i=(0,G.CR)(r[0],2),a=i[0],s=i[1],o=(0,G.CR)(r[1],2),l=o[0],c=o[1],u=(0,G.CR)(r[2],2),h=u[0],f=u[1],d=(0,G.CR)([l-a,c-s],2),v=d[0],g=d[1],p=Math.sqrt(Math.pow(v,2)+Math.pow(g,2)),y=(0,G.CR)([-h/p,f/p],2),b=y[0],M=y[1];return[b*v,b*g,M*v,M*g]}function Fx(n){var t=(0,G.CR)(n,2),e=(0,G.CR)(t[0],2),r=e[0],i=e[1],a=(0,G.CR)(t[1],2),s=a[0],o=a[1];return{x1:r,y1:i,x2:s,y2:o}}function b6(n,t,e,r){var i=t.showTrunc,a=t.startPos,s=t.endPos,o=t.truncRange,l=t.lineExtension,c=(0,G.CR)([a,s],2),u=(0,G.CR)(c[0],2),h=u[0],f=u[1],d=(0,G.CR)(c[1],2),v=d[0],g=d[1],p=(0,G.CR)(l?y6(a,s,l):new Array(4).fill(0),4),y=p[0],b=p[1],M=p[2],O=p[3],k=function(mt){return n.selectAll(ln.line.class).data(mt,function(yt,Lt){return Lt}).join(function(yt){return yt.append("line").attr("className",function(Lt){return"".concat(ln.line.name," ").concat(Lt.className)}).styles(e).transition(function(Lt){return Gi(this,Fx(Lt.line),!1)})},function(yt){return yt.styles(e).transition(function(Lt){var Zt=Lt.line;return Gi(this,Fx(Zt),r.update)})},function(yt){return yt.remove()}).transitions()};if(!i||!o)return k([{line:[[h+y,f+b],[v+M,g+O]],className:ln.line.name}]);var D=(0,G.CR)(o,2),j=D[0],B=D[1],W=v-h,V=g-f,q=(0,G.CR)([h+W*j,f+V*j],2),$=q[0],ot=q[1],ct=(0,G.CR)([h+W*B,f+V*B],2),vt=ct[0],Ct=ct[1],Ot=k([{line:[[h+y,f+b],[$,ot]],className:ln.lineFirst.name},{line:[[vt,Ct],[v+M,g+O]],className:ln.lineSecond.name}]);return m6(n,t),Ot}function x6(n,t,e,r){var i=e.showArrow,a=e.showTrunc,s=e.lineArrow,o=e.lineArrowOffset,l=e.lineArrowSize,c;if(t==="arc"?c=n.select(ln.line.class):a?c=n.select(ln.lineSecond.class):c=n.select(ln.line.class),!i||!s||e.type==="arc"&&zx(e.startAngle,e.endAngle)){var u=c.node();u&&(u.style.markerEnd=void 0);return}var h=Ma(s);h.attr(r),t0(h,l,!0),c.style("markerEnd",h).style("markerEndOffset",-o)}function E6(n,t,e){var r=t.type,i,a=ke(t,"line");return r==="linear"?i=b6(n,t,Dx(a,"arrow"),e):i=p6(n,t,Dx(a,"arrow"),e),x6(n,r,t,a),i}function w6(n,t){return d0(n,t.gridDirection,t)}function Zx(n){var t=n.type,e=n.gridCenter;return t==="linear"?e:e||n.center}function M6(n,t){var e=t.gridLength;return n.map(function(r,i){var a=r.value,s=(0,G.CR)(jh(a,t),2),o=s[0],l=s[1],c=(0,G.CR)(Aa(w6(a,t),e),2),u=c[0],h=c[1];return{id:i,points:[[o,l],[o+u,l+h]]}})}function A6(n,t){var e=t.gridControlAngles,r=Zx(t);if(!r)throw new Error("grid center is not provide");if(n.length<2)throw new Error("Invalid grid data");if(!e||e.length===0)throw new Error("Invalid gridControlAngles");var i=(0,G.CR)(r,2),a=i[0],s=i[1];return n.map(function(o,l){var c=o.value,u=(0,G.CR)(jh(c,t),2),h=u[0],f=u[1],d=(0,G.CR)([h-a,f-s],2),v=d[0],g=d[1],p=[];return e.forEach(function(y){var b=Po(y),M=(0,G.CR)([Math.cos(b),Math.sin(b)],2),O=M[0],k=M[1],D=v*O-g*k+a,j=v*k+g*O+s;p.push([D,j])}),{points:p,id:l}})}function P6(n,t,e,r){var i=ke(e,"grid"),a=i.type,s=i.areaFill,o=Zx(e),l=f0(t,e.gridFilter),c=a==="segment"?M6(l,e):A6(l,e),u=(0,G.pi)((0,G.pi)({},i),{center:o,areaFill:de(s)?l.map(function(h,f){return li(s,[h,f,l])}):s,animate:r,data:c});return n.selectAll(ln.grid.class).data([1]).join(function(h){return h.append(function(){return new l6({style:u})}).attr("className",ln.grid.name)},function(h){return h.transition(function(){return this.update(u)})},function(h){return h.remove()}).transitions()}function xr(n,t,e,r,i){return r===void 0&&(r=!0),i===void 0&&(i=!1),r&&n===t||i&&n===e?!0:n>t&&n<e}function S6(n,t,e,r){e===void 0&&(e=2),r===void 0&&(r="top"),wx(n,{wordWrap:!0,wordWrapWidth:t,maxLines:e,textBaseline:r})}function O6(n,t,e){var r=n.getBBox(),i=r.width,a=r.height,s=(0,G.CR)([t,e].map(function(c,u){var h;return c.includes("%")?parseFloat(((h=c.match(/[+-]?([0-9]*[.])?[0-9]+/))===null||h===void 0?void 0:h[0])||"0")/100*(u===0?i:a):c}),2),o=s[0],l=s[1];return[o,l]}function _x(n,t){if(t)try{var e=/translate\(([+-]*[\d]+[%]*),[ ]*([+-]*[\d]+[%]*)\)/g,r=t.replace(e,function(i,a,s){return"translate(".concat(O6(n,a,s),")")});n.attr("transform",r)}catch(i){}}var g0=function(){function n(t,e,r,i){this.set(t,e,r,i)}return Object.defineProperty(n.prototype,"left",{get:function(){return this.x1},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"top",{get:function(){return this.y1},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"right",{get:function(){return this.x2},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"bottom",{get:function(){return this.y2},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"width",{get:function(){return this.defined("x2")&&this.defined("x1")?this.x2-this.x1:void 0},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"height",{get:function(){return this.defined("y2")&&this.defined("y1")?this.y2-this.y1:void 0},enumerable:!1,configurable:!0}),n.prototype.rotatedPoints=function(t,e,r){var i=this,a=i.x1,s=i.y1,o=i.x2,l=i.y2,c=Math.cos(t),u=Math.sin(t),h=e-e*c+r*u,f=r-e*u-r*c,d=[[c*a-u*l+h,u*a+c*l+f],[c*o-u*l+h,u*o+c*l+f],[c*a-u*s+h,u*a+c*s+f],[c*o-u*s+h,u*o+c*s+f]];return d},n.prototype.set=function(t,e,r,i){return r<t?(this.x2=t,this.x1=r):(this.x1=t,this.x2=r),i<e?(this.y2=e,this.y1=i):(this.y1=e,this.y2=i),this},n.prototype.defined=function(t){return this[t]!==Number.MAX_VALUE&&this[t]!==-Number.MAX_VALUE},n}();function Fh(n,t){var e=n.getEulerAngles()||0;n.setEulerAngles(0);var r=n.getBounds(),i=(0,G.CR)(r.min,2),a=i[0],s=i[1],o=(0,G.CR)(r.max,2),l=o[0],c=o[1],u=n.getBBox(),h=u.width,f=u.height,d=f,v=0,g=0,p=a,y=s,b=Ex(n);if(b){d-=1.5;var M=b.style.textAlign,O=b.style.textBaseline;M==="center"?p=(a+l)/2:(M==="right"||M==="end")&&(p=l),O==="middle"?y=(s+c)/2:O==="bottom"&&(y=c)}var k=(0,G.CR)(br(t),4),D=k[0],j=D===void 0?0:D,B=k[1],W=B===void 0?0:B,V=k[2],q=V===void 0?j:V,$=k[3],ot=$===void 0?W:$,ct=new g0((v+=a)-ot,(g+=s)-j,v+h+W,g+d+q);return n.setEulerAngles(e),ct.rotatedPoints(Po(e),p,y)}function Zl(n,t){return t[0]<=Math.max(n[0][0],n[1][0])&&t[0]<=Math.min(n[0][0],n[1][0])&&t[1]<=Math.max(n[0][1],n[1][1])&&t[1]<=Math.min(n[0][1],n[1][1])}function _l(n,t,e){var r=(t[1]-n[1])*(e[0]-t[0])-(t[0]-n[0])*(e[1]-t[1]);return r===0?0:r<0?2:1}function T6(n,t){var e=_l(n[0],n[1],t[0]),r=_l(n[0],n[1],t[1]),i=_l(t[0],t[1],n[0]),a=_l(t[0],t[1],n[1]);return!!(e!==r&&i!==a||e===0&&Zl(n,t[0])||r===0&&Zl(n,t[1])||i===0&&Zl(t,n[0])||a===0&&Zl(t,n[1]))}function C6(n,t){var e=n.length;if(e<3)return!1;var r=[t,[9999,t[1]]],i=0,a=0;do{var s=[n[a],n[(a+1)%e]];if(T6(s,r)){if(_l(s[0],t,s[1])===0)return Zl(s,t);i++}a=(a+1)%e}while(a!==0);return!!(i&1)}function N6(n,t){return t.every(function(e){return C6(n,e)})}function k6(n,t,e){var r=n.x1,i=n.x2,a=n.y1,s=n.y2,o=[[r,a],[i,a],[i,s],[r,s]],l=Fh(t,e);return N6(o,l)}function Hx(n,t){var e=(0,G.CR)(n,4),r=e[0],i=e[1],a=e[2],s=e[3],o=(0,G.CR)(t,4),l=o[0],c=o[1],u=o[2],h=o[3],f=a-r,d=s-i,v=u-l,g=h-c,p=f*g-v*d;if(p===0)return!1;var y=p>0,b=r-l,M=i-c,O=f*M-d*b;if(O<0===y)return!1;var k=v*M-g*b;return!(k<0===y||O>p===y||k>p===y)}function Gx(n,t){var e=[[n[0],n[1],n[2],n[3]],[n[2],n[3],n[4],n[5]],[n[4],n[5],n[6],n[7]],[n[6],n[7],n[0],n[1]]];return e.some(function(r){return Hx(t,r)})}var fZ={lineToLine:Hx,intersectBoxLine:Gx,getBounds:Fh};function L6(n,t,e){var r,i,a=Fh(n,e).flat(1),s=Fh(t,e).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,G.XA)(o),c=l.next();!c.done;c=l.next()){var u=c.value;if(Gx(s,u))return!0}}catch(h){r={error:h}}finally{try{c&&!c.done&&(i=l.return)&&i.call(l)}finally{if(r)throw r.error}}return!1}function D6(n,t){var e=n.type,r=n.labelDirection,i=n.crossSize;if(!i)return!1;if(e==="arc"){var a=n.center,s=n.radius,o=(0,G.CR)(a,2),l=o[0],c=o[1],u=r==="negative"?0:i,h=-s-u,f=s+u,d=(0,G.CR)(br(t),4),v=d[0],g=d[1],p=d[2],y=d[3];return new g0(l+h-y,c+h-v,l+f+g,c+f+p)}var b=(0,G.CR)(n.startPos,2),M=b[0],O=b[1],k=(0,G.CR)(n.endPos,2),D=k[0],j=k[1],B=(0,G.CR)(Bx(n)?[-t,0,t,0]:[0,t,0,-t],4),W=B[0],V=B[1],q=B[2],$=B[3],ot=Fl(0,n),ct=Aa(ot,i),vt=new g0(M,O,D,j);return vt.x1+=$,vt.y1+=W,vt.x2+=V+ct[0],vt.y2+=q+ct[1],vt}function Zh(n,t,e){var r,i,a=t.crossPadding,s=new Set,o=null,l=D6(t,a),c=function(v){return l?k6(l,v):!0},u=function(v,g){return!v||!v.firstChild?!0:!L6(v.firstChild,g.firstChild,br(e))};try{for(var h=(0,G.XA)(n),f=h.next();!f.done;f=h.next()){var d=f.value;c(d)?!o||u(o,d)?o=d:(s.add(o),s.add(d)):s.add(d)}}catch(v){r={error:v}}finally{try{f&&!f.done&&(i=h.return)&&i.call(h)}finally{if(r)throw r.error}}return Array.from(s)}function p0(n,t){return t===void 0&&(t={}),ye(n)?0:typeof n=="number"?n:Math.floor(L5(n,t))}function R6(n,t,e,r){if(!(n.length<=0)){var i=t.suffix,a=i===void 0?"...":i,s=t.minLength,o=t.maxLength,l=o===void 0?1/0:o,c=t.step,u=c===void 0?" ":c,h=t.margin,f=h===void 0?[0,0,0,0]:h,d=xx(r.getTextShape(n[0])),v=p0(u,d),g=s?p0(s,d):v,p=p0(l,d);(ye(p)||p===1/0)&&(p=Math.max.apply(null,n.map(function(ct){return ct.getBBox().width})));for(var y=n.slice(),b=(0,G.CR)(f,4),M=b[0],O=M===void 0?0:M,k=b[1],D=k===void 0?0:k,j=b[2],B=j===void 0?O:j,W=b[3],V=W===void 0?D:W,q=function(ct){if(y.forEach(function(vt){r.ellipsis(r.getTextShape(vt),ct,a)}),y=Zh(n,e,f),y.length<1)return{value:void 0}},$=p;$>g+v;$-=v){var ot=q($);if(typeof ot=="object")return ot.value}}}var I6=function(n){return n!==void 0&&n!=null&&!Number.isNaN(n)},B6={parity:function(n,t){var e=t.seq,r=e===void 0?2:e;return n.filter(function(i,a){return a%r?(_i(i),!1):!0})}},z6=function(n){return n.filter(I6)};function j6(n,t,e,r){var i=n.length,a=t.keepHeader,s=t.keepTail;if(!(i<=1||i===2&&a&&s)){var o=B6.parity,l=function(M){return M.forEach(r.show),M},c=2,u=n.slice(),h=n.slice(),f=Math.min.apply(Math,(0,G.ev)([1],(0,G.CR)(n.map(function(M){return M.getBBox().width})),!1));if(e.type==="linear"&&(v0(e)||Bx(e))){var d=bx(n[0]).left,v=bx(n[i-1]).right,g=Math.abs(v-d)||1;c=Math.max(Math.floor(i*f/g),c)}var p,y;for(a&&(p=u.splice(0,1)[0]),s&&(y=u.splice(-1,1)[0],u.reverse()),l(u);c<n.length&&Zh(z6(y?(0,G.ev)((0,G.ev)([y],(0,G.CR)(h),!1),[p],!1):(0,G.ev)([p],(0,G.CR)(h),!1)),e,t==null?void 0:t.margin).length;){if(y&&!p&&c%2===0){var b=u.splice(0,1);b.forEach(r.hide)}else if(y&&p){var b=u.splice(0,1);b.forEach(r.hide)}h=o(l(u),{seq:c}),c++}}}function F6(n,t,e,r){var i,a,s=t.optionalAngles,o=s===void 0?[0,45,90]:s,l=t.margin,c=t.recoverWhenFailed,u=c===void 0?!0:c,h=n.map(function(y){return y.getLocalEulerAngles()}),f=function(){return Zh(n,e,l).length<1},d=function(y){return n.forEach(function(b,M){var O=Array.isArray(y)?y[M]:y;r.rotate(b,+O)})};try{for(var v=(0,G.XA)(o),g=v.next();!g.done;g=v.next()){var p=g.value;if(d(p),f())return}}catch(y){i={error:y}}finally{try{g&&!g.done&&(a=v.return)&&a.call(v)}finally{if(i)throw i.error}}u&&d(h)}function Z6(n){var t=n.type,e=n.labelDirection;return t==="linear"&&v0(n)?e==="negative"?"bottom":"top":"middle"}function _6(n,t,e,r,i){var a,s=t.maxLines,o=s===void 0?3:s,l=t.recoverWhenFailed,c=l===void 0?!0:l,u=t.margin,h=u===void 0?[0,0,0,0]:u,f=li((a=t.wordWrapWidth)!==null&&a!==void 0?a:50,[i]),d=n.map(function(M){return M.attr("maxLines")||1}),v=Math.min.apply(Math,(0,G.ev)([],(0,G.CR)(d),!1)),g=function(){return Zh(n,e,h).length<1},p=Z6(e),y=function(M){return n.forEach(function(O,k){var D=Array.isArray(M)?M[k]:M;r.wrap(O,f,D,p)})};if(!(v>o)){if(e.type==="linear"&&v0(e)){if(y(o),g())return}else for(var b=v;b<=o;b++)if(y(b),g())return;c&&y(d)}}var H6=new Map([["hide",j6],["rotate",F6],["ellipsis",R6],["wrap",_6]]);function G6(n,t,e){return t.labelOverlap.length<1?!1:e==="hide"?!FI(n[0]):e==="rotate"?!n.some(function(r){var i;return!!(!((i=r.attr("transform"))===null||i===void 0)&&i.includes("rotate"))}):e==="ellipsis"||e==="wrap"?n.filter(function(r){return r.querySelector("text")}).length>=1:!0}function W6(n,t,e,r){var i=t.labelOverlap,a=i===void 0?[]:i;a.length&&a.forEach(function(s){var o=s.type,l=H6.get(o);G6(n,t,o)&&(l==null||l(n,s,t,r,e))})}function X6(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=function(r){return r==="positive"?-1:1};return n.reduce(function(r,i){return r*e(i)},1)}function Wx(n){for(var t=n;t<0;)t+=360;return Math.round(t%360)}function m0(n,t){var e=(0,G.CR)(n,2),r=e[0],i=e[1],a=(0,G.CR)(t,2),s=a[0],o=a[1],l=(0,G.CR)([r*s+i*o,r*o-i*s],2),c=l[0],u=l[1];return Math.atan2(u,c)}function V6(n){var t=(n+360)%180;return xr(t,-90,90)||(t+=180),t}function Y6(n,t,e){var r,i=e.labelAlign,a=(r=t.style.transform)===null||r===void 0?void 0:r.includes("rotate");if(a)return t.getLocalEulerAngles();var s=0,o=Fl(n.value,e),l=zh(n.value,e);return i==="horizontal"?0:(i==="perpendicular"?s=m0([1,0],o):s=m0([l[0]<0?-1:1,0],l),V6(Nx(s)))}function Xx(n,t,e){var r=e.type,i=e.labelAlign,a=Fl(n,e),s=Wx(t),o=Wx(Nx(m0([1,0],a))),l="center",c="middle";return r==="linear"?[90,270].includes(o)&&s===0?(l="center",c=a[1]===1?"top":"bottom"):!(o%180)&&[90,270].includes(s)?l="center":o===0?(xr(s,0,90,!1,!0)||xr(s,0,90)||xr(s,270,360))&&(l="start"):o===90?xr(s,0,90,!1,!0)?l="start":(xr(s,90,180)||xr(s,270,360))&&(l="end"):o===270?xr(s,0,90,!1,!0)?l="end":(xr(s,90,180)||xr(s,270,360))&&(l="start"):o===180&&(s===90?l="start":(xr(s,0,90)||xr(s,270,360))&&(l="end")):i==="parallel"?xr(o,0,180,!0)?c="top":c="bottom":i==="horizontal"?xr(o,90,270,!1)?l="end":(xr(o,270,360,!1)||xr(o,0,90))&&(l="start"):i==="perpendicular"&&(xr(o,90,270)?l="end":l="start"),{textAlign:l,textBaseline:c}}function U6(n,t,e){t.setLocalEulerAngles(n);var r=t.__data__.value,i=Xx(r,n,e),a=t.querySelector(ln.labelItem.class);a&&Yx(a,i)}function Vx(n,t,e){var r=e.showTick,i=e.tickLength,a=e.tickDirection,s=e.labelDirection,o=e.labelSpacing,l=t.indexOf(n),c=li(o,[n,l,t]),u=(0,G.CR)([Fl(n.value,e),X6(s,a)],2),h=u[0],f=u[1],d=f===1?li(r?i:0,[n,l,t]):0,v=(0,G.CR)(zl(Aa(h,c+d),jh(n.value,e)),2),g=v[0],p=v[1];return{x:g,y:p}}function K6(n,t,e,r){var i=r.labelFormatter,a=de(i)?function(){return Ma(li(i,[n,t,e,Fl(n.value,r)]))}:function(){return Ma(n.label||"")};return a}function Yx(n,t){n.nodeName==="text"&&n.attr(t)}function Q6(n,t){W6(this.node().childNodes,n,t,{hide:_i,show:Rl,rotate:function(e,r){U6(+r,e,n)},ellipsis:function(e,r,i){e&&r0(e,r||1/0,i)},wrap:function(e,r,i){e&&S6(e,r,i)},getTextShape:function(e){return e.querySelector("text")}})}function Ux(n,t,e,r,i){var a=e.indexOf(t),s=ve(n).append(K6(t,a,e,i)).attr("className",ln.labelItem.name).node(),o=(0,G.CR)(wa(Rx(r,[t,a,e])),2),l=o[0],c=o[1],u=c.transform,h=(0,G._T)(c,["transform"]);_x(s,u);var f=Y6(t,s,i);return s.getLocalEulerAngles()||s.setLocalEulerAngles(f),Yx(s,(0,G.pi)((0,G.pi)({},Xx(t.value,f,i)),l)),n.attr(h),s}function J6(n,t,e,r,i){var a=f0(t,e.labelFilter),s=ke(e,"label"),o,l=n.selectAll(ln.label.class).data(a,function(c,u){return u}).join(function(c){return c.append("g").attr("className",ln.label.name).transition(function(u){Ux(this,u,t,s,e);var h=Vx(u,t,e),f=h.x,d=h.y;return this.style.transform="translate(".concat(f,", ").concat(d,")"),null})},function(c){return c.transition(function(u){var h=this.querySelector(ln.labelItem.class),f=Ux(this,u,t,s,e),d=i5(h,f,r.update),v=Vx(u,t,e),g=v.x,p=v.y,y=Gi(this,{transform:"translate(".concat(g,", ").concat(p,")")},r.update);return(0,G.ev)((0,G.ev)([],(0,G.CR)(d),!1),[y],!1)})},function(c){return o=c,c.transition(function(){var u=this,h=Bh(this.childNodes[0],r.exit);return Ao(h,function(){return ve(u).remove()}),h}),o}).transitions();return n5(l,function(){Q6.call(n,e,i)}),l}function Kx(n,t){return d0(n,t.tickDirection,t)}function q6(n,t){var e=(0,G.CR)(n,2),r=e[0],i=e[1];return[[0,0],[r*t,i*t]]}function $6(n,t,e,r,i){var a=i.tickLength,s=(0,G.CR)(q6(r,li(a,[n,t,e])),2),o=(0,G.CR)(s[0],2),l=o[0],c=o[1],u=(0,G.CR)(s[1],2),h=u[0],f=u[1];return{x1:l,x2:h,y1:c,y2:f}}function t4(n,t,e,r,i){var a=i.tickFormatter,s=Kx(t.value,i),o="line";return de(a)&&(o=function(){return li(a,[t,e,r,s])}),n.append(o).attr("className",ln.tickItem.name)}function e4(n,t,e,r,i,a,s){var o=Kx(n.value,a),l=$6(n,t,e,o,a),c=l.x1,u=l.x2,h=l.y1,f=l.y2,d=(0,G.CR)(wa(Rx(s,[n,t,e,o])),2),v=d[0],g=d[1];r.node().nodeName==="line"&&r.styles((0,G.pi)({x1:c,x2:u,y1:h,y2:f},v)),i.attr(g),r.styles(v)}function Qx(n,t,e,r,i,a){var s=t4(ve(this),n,t,e,r);e4(n,t,e,s,this,r,i);var o=(0,G.CR)(jh(n.value,r),2),l=o[0],c=o[1];return Gi(this,{transform:"translate(".concat(l,", ").concat(c,")")},a)}function n4(n,t,e,r){var i=f0(t,e.tickFilter),a=ke(e,"tick");return n.selectAll(ln.tick.class).data(i,function(s){return s.id||s.label}).join(function(s){return s.append("g").attr("className",ln.tick.name).transition(function(o,l){return Qx.call(this,o,l,i,e,a,!1)})},function(s){return s.transition(function(o,l){return this.removeChildren(),Qx.call(this,o,l,i,e,a,r.update)})},function(s){return s.transition(function(){var o=this,l=Bh(this.childNodes[0],r.exit);return Ao(l,function(){return o.remove()}),l})}).transitions()}function r4(n,t,e){var r=e.titlePosition,i=r===void 0?"lb":r,a=e.titleSpacing,s=Nh(i),o=n.node().getLocalBounds(),l=(0,G.CR)(o.min,2),c=l[0],u=l[1],h=(0,G.CR)(o.halfExtents,2),f=h[0],d=h[1],v=(0,G.CR)(t.node().getLocalBounds().halfExtents,2),g=v[0],p=v[1],y=(0,G.CR)([c+f,u+d],2),b=y[0],M=y[1],O=(0,G.CR)(br(a),4),k=O[0],D=O[1],j=O[2],B=O[3];if(["start","end"].includes(i)&&e.type==="linear"){var W=e.startPos,V=e.endPos,q=(0,G.CR)(i==="start"?[W,V]:[V,W],2),$=q[0],ot=q[1],ct=Cx([-ot[0]+$[0],-ot[1]+$[1]]),vt=(0,G.CR)(Aa(ct,k),2),Ct=vt[0],Ot=vt[1];return{x:$[0]+Ct,y:$[1]+Ot}}return s.includes("t")&&(M-=d+p+k),s.includes("r")&&(b+=f+g+D),s.includes("l")&&(b-=f+g+B),s.includes("b")&&(M+=d+p+j),{x:b,y:M}}function i4(n,t,e){var r=n.getGeometryBounds().halfExtents,i=r[1]*2;if(t==="vertical"){if(e==="left")return"rotate(-90) translate(0, ".concat(i/2,")");if(e==="right")return"rotate(-90) translate(0, -".concat(i/2,")")}return""}function Jx(n,t,e,r,i){var a=ke(r,"title"),s=(0,G.CR)(wa(a),2),o=s[0],l=s[1],c=l.transform,u=l.transformOrigin,h=(0,G._T)(l,["transform","transformOrigin"]);t.styles(h);var f=c||i4(n.node(),o.direction,o.position);n.styles((0,G.pi)((0,G.pi)({},o),{transformOrigin:u})),_x(n.node(),f);var d=r4(ve(e._offscreen||e.querySelector(ln.mainGroup.class)),t,r),v=d.x,g=d.y,p=Gi(t.node(),{transform:"translate(".concat(v,", ").concat(g,")")},i);return p}function a4(n,t,e,r){var i=e.titleText;return n.selectAll(ln.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 Ma(i)}).attr("className",ln.title.name).transition(function(){return Jx(ve(this),n,t,e,r.enter)})},function(a){return a.transition(function(){return Jx(ve(this),n,t,e,r.update)})},function(a){return a.remove()}).transitions()}function qx(n,t,e,r){var i=n.showLine,a=n.showTick,s=n.showLabel,o=t.maybeAppendByClassName(ln.lineGroup,"g"),l=oi(i,o,function(d){return E6(d,n,r)})||[],c=t.maybeAppendByClassName(ln.tickGroup,"g"),u=oi(a,c,function(d){return n4(d,e,n,r)})||[],h=t.maybeAppendByClassName(ln.labelGroup,"g"),f=oi(s,h,function(d){return J6(d,e,n,r,t.node())})||[];return(0,G.ev)((0,G.ev)((0,G.ev)([],(0,G.CR)(l),!1),(0,G.CR)(u),!1),(0,G.CR)(f),!1).filter(function(d){return!!d})}var s4=function(n){(0,G.ZT)(t,n);function t(e){return n.call(this,e,l0)||this}return t.prototype.render=function(e,r,i){var a=this,s=e.titleText,o=e.data,l=e.animate,c=e.showTitle,u=e.showGrid,h=e.dataThreshold,f=e.truncRange,d=$5(o,h).filter(function(k){var D=k.value;return!(f&&D>f[0]&&D<f[1])}),v=hx(i===void 0?l:i),g=ve(r).maybeAppendByClassName(ln.gridGroup,"g"),p=oi(u,g,function(k){return P6(k,d,e,v)})||[],y=ve(r).maybeAppendByClassName(ln.mainGroup,"g");s&&(!this.initialized&&v.enter||this.initialized&&v.update)&&qx(e,ve(this.offscreenGroup),d,hx(!1));var b=qx(e,ve(y.node()),d,v),M=ve(r).maybeAppendByClassName(ln.titleGroup,"g"),O=oi(c,M,function(k){return a4(k,a,e,v)})||[];return(0,G.ev)((0,G.ev)((0,G.ev)([],(0,G.CR)(p),!1),(0,G.CR)(b),!1),(0,G.CR)(O),!1).flat().filter(function(k){return!!k})},t}(Dn);function $x(n){var t=n.canvas,e=n.touches,r=n.offsetX,i=n.offsetY;if(t){var a=t.x,s=t.y;return[a,s]}if(e){var o=e[0],l=o.clientX,c=o.clientY;return[l,c]}return r&&i?[r,i]:[0,0]}function y0(n,t){return+n.toPrecision(t)}function dZ(n){return n.toLocaleString()}function vZ(n){return n.toExponential()}function gZ(n,t){return t===void 0&&(t=0),Math.abs(n)<1e3?String(n):"".concat(y0(n/1e3,t).toLocaleString(),"K")}var pZ=function(n,t,e){return n<0&&Number.isFinite(n)?t:e},mZ=function(n,t,e){return n>0&&Number.isFinite(n)?t:e},yZ=function(n,t){return n*t},bZ=function(n,t){return n/2+(t||0)/2},b0=function(n){return n};class tE{constructor(t){this.options=pr({},this.getDefaultOptions()),this.update(t)}getOptions(){return this.options}update(t={}){this.options=pr({},this.options,t),this.rescale(t)}rescale(t){}}function x0(n,t){return t-n?e=>(e-n)/(t-n):e=>.5}function _h(n,...t){return t.reduce((e,r)=>i=>e(r(i)),n)}function o4(n,t,e,r,i){let a=e||0,s=r||n.length;const o=i||(l=>l);for(;a<s;){const l=Math.floor((a+s)/2);o(n[l])>t?s=l:a=l+1}return a}var l4=E(75196),c4=E.n(l4);function E0(n,t,e){let r=e;return r<0&&(r+=1),r>1&&(r-=1),r<1/6?n+(t-n)*6*r:r<1/2?t:r<2/3?n+(t-n)*(2/3-r)*6:n}function u4(n){const t=n[0]/360,e=n[1]/100,r=n[2]/100,i=n[3];if(e===0)return[r*255,r*255,r*255,i];const a=r<.5?r*(1+e):r+e-r*e,s=2*r-a,o=E0(s,a,t+1/3),l=E0(s,a,t),c=E0(s,a,t-1/3);return[o*255,l*255,c*255,i]}function eE(n){const t=c4().get(n);if(!t)return null;const{model:e,value:r}=t;return e==="rgb"?r:e==="hsl"?u4(r):null}const Hh=(n,t)=>e=>n*(1-e)+t*e,h4=(n,t)=>{const e=eE(n),r=eE(t);return e===null||r===null?e?()=>n:()=>t:i=>{const a=new Array(4);for(let u=0;u<4;u+=1){const h=e[u],f=r[u];a[u]=h*(1-i)+f*i}const[s,o,l,c]=a;return`rgba(${Math.round(s)}, ${Math.round(o)}, ${Math.round(l)}, ${c})`}},f4=(n,t)=>typeof n=="number"&&typeof t=="number"?Hh(n,t):typeof n=="string"&&typeof t=="string"?h4(n,t):()=>n,d4=(n,t)=>{const e=Hh(n,t);return r=>Math.round(e(r))};function v4(n){return n===null}function nE(n){return!Te(n)&&!v4(n)&&!Number.isNaN(n)}const w0=Math.sqrt(50),M0=Math.sqrt(10),A0=Math.sqrt(2);function Gh(n,t,e){const r=(t-n)/Math.max(0,e),i=Math.floor(Math.log(r)/Math.LN10),a=r/as(10,i);return i>=0?(a>=w0?10:a>=M0?5:a>=A0?2:1)*as(10,i):-as(10,-i)/(a>=w0?10:a>=M0?5:a>=A0?2:1)}function xZ(n,t,e){const r=Math.abs(t-n)/Math.max(0,e);let i=as(10,Math.floor(Math.log(r)/Math.LN10));const a=r/i;return a>=w0?i*=10:a>=M0?i*=5:a>=A0&&(i*=2),t<n?-i:i}const g4=(n,t,e=5)=>{const r=[n,t];let i=0,a=r.length-1,s=r[i],o=r[a],l;return o<s&&([s,o]=[o,s],[i,a]=[a,i]),l=Gh(s,o,e),l>0?(s=Math.floor(s/l)*l,o=Math.ceil(o/l)*l,l=Gh(s,o,e)):l<0&&(s=Math.ceil(s*l)/l,o=Math.floor(o*l)/l,l=Gh(s,o,e)),l>0?(r[i]=Math.floor(s/l)*l,r[a]=Math.ceil(o/l)*l):l<0&&(r[i]=Math.ceil(s*l)/l,r[a]=Math.floor(o*l)/l),r};function p4(n,t){const e=t<n?t:n,r=n>t?n:t;return i=>Math.min(Math.max(e,i),r)}const m4=(n,t,e)=>{const[r,i]=n,[a,s]=t;let o,l;return r<i?(o=x0(r,i),l=e(a,s)):(o=x0(i,r),l=e(s,a)),_h(l,o)},y4=(n,t,e)=>{const r=Math.min(n.length,t.length)-1,i=new Array(r),a=new Array(r),s=n[0]>n[r],o=s?[...n].reverse():n,l=s?[...t].reverse():t;for(let c=0;c<r;c+=1)i[c]=x0(o[c],o[c+1]),a[c]=e(l[c],l[c+1]);return c=>{const u=o4(n,c,1,r)-1,h=i[u],f=a[u];return _h(f,h)(c)}},rE=(n,t,e,r)=>(Math.min(n.length,t.length)>2?y4:m4)(n,t,r?d4:e);class b4 extends tE{getDefaultOptions(){return{domain:[0,1],range:[0,1],nice:!1,clamp:!1,round:!1,interpolate:Hh,tickCount:5}}map(t){return nE(t)?this.output(t):this.options.unknown}invert(t){return nE(t)?this.input(t):this.options.unknown}nice(){if(!this.options.nice)return;const[t,e,r,...i]=this.getTickMethodOptions();this.options.domain=this.chooseNice()(t,e,r,...i)}getTicks(){const{tickMethod:t}=this.options,[e,r,i,...a]=this.getTickMethodOptions();return t(e,r,i,...a)}getTickMethodOptions(){const{domain:t,tickCount:e}=this.options,r=t[0],i=t[t.length-1];return[r,i,e]}chooseNice(){return g4}rescale(){this.nice();const[t,e]=this.chooseTransforms();this.composeOutput(t,this.chooseClamp(t)),this.composeInput(t,e,this.chooseClamp(e))}chooseClamp(t){const{clamp:e,range:r}=this.options,i=this.options.domain.map(t),a=Math.min(i.length,r.length);return e?p4(i[0],i[a-1]):b0}composeOutput(t,e){const{domain:r,range:i,round:a,interpolate:s}=this.options,o=rE(r.map(t),i,s,a);this.output=_h(o,e,t)}composeInput(t,e,r){const{domain:i,range:a}=this.options,s=rE(a,i.map(t),Hh);this.input=_h(e,r,s)}}const x4=(n,t,e)=>{let r,i,a=n,s=t;if(a===s&&e>0)return[a];let o=Gh(a,s,e);if(o===0||!Number.isFinite(o))return[];if(o>0){a=Math.ceil(a/o),s=Math.floor(s/o),i=new Array(r=Math.ceil(s-a+1));for(let l=0;l<r;l+=1)i[l]=(a+l)*o}else{o=-o,a=Math.ceil(a*o),s=Math.floor(s*o),i=new Array(r=Math.ceil(s-a+1));for(let l=0;l<r;l+=1)i[l]=(a+l)/o}return i};class Hl extends b4{getDefaultOptions(){return{domain:[0,1],range:[0,1],unknown:void 0,nice:!1,clamp:!1,round:!1,interpolate:f4,tickMethod:x4,tickCount:5}}chooseTransforms(){return[b0,b0]}clone(){return new Hl(this.options)}}function iE({map:n,initKey:t},e){const r=t(e);return n.has(r)?n.get(r):e}function E4({map:n,initKey:t},e){const r=t(e);return n.has(r)?n.get(r):(n.set(r,e),e)}function w4({map:n,initKey:t},e){const r=t(e);return n.has(r)&&(e=n.get(r),n.delete(r)),e}function M4(n){return typeof n=="object"?n.valueOf():n}class aE extends Map{constructor(t){if(super(),this.map=new Map,this.initKey=M4,t!==null)for(const[e,r]of t)this.set(e,r)}get(t){return super.get(iE({map:this.map,initKey:this.initKey},t))}has(t){return super.has(iE({map:this.map,initKey:this.initKey},t))}set(t,e){return super.set(E4({map:this.map,initKey:this.initKey},t),e)}delete(t){return super.delete(w4({map:this.map,initKey:this.initKey},t))}}const P0=Symbol("defaultUnknown");function sE(n,t,e){for(let r=0;r<t.length;r+=1)n.has(t[r])||n.set(e(t[r]),r)}function oE(n){const{value:t,from:e,to:r,mapper:i,notFoundReturn:a}=n;let s=i.get(t);if(s===void 0){if(a!==P0)return a;s=e.push(t)-1,i.set(t,s)}return r[s%r.length]}function lE(n){return n instanceof Date?t=>`${t}`:typeof n=="object"?t=>JSON.stringify(t):t=>t}class S0 extends tE{getDefaultOptions(){return{domain:[],range:[],unknown:P0}}constructor(t){super(t)}map(t){return this.domainIndexMap.size===0&&sE(this.domainIndexMap,this.getDomain(),this.domainKey),oE({value:this.domainKey(t),mapper:this.domainIndexMap,from:this.getDomain(),to:this.getRange(),notFoundReturn:this.options.unknown})}invert(t){return this.rangeIndexMap.size===0&&sE(this.rangeIndexMap,this.getRange(),this.rangeKey),oE({value:this.rangeKey(t),mapper:this.rangeIndexMap,from:this.getRange(),to:this.getDomain(),notFoundReturn:this.options.unknown})}rescale(t){const[e]=this.options.domain,[r]=this.options.range;if(this.domainKey=lE(e),this.rangeKey=lE(r),!this.rangeIndexMap){this.rangeIndexMap=new Map,this.domainIndexMap=new Map;return}(!t||t.range)&&this.rangeIndexMap.clear(),(!t||t.domain||t.compare)&&(this.domainIndexMap.clear(),this.sortedDomain=void 0)}clone(){return new S0(this.options)}getRange(){return this.options.range}getDomain(){if(this.sortedDomain)return this.sortedDomain;const{domain:t,compare:e}=this.options;return this.sortedDomain=e?[...t].sort(e):t,this.sortedDomain}}function A4(n){const t=Math.min(...n);return n.map(e=>e/t)}function P4(n,t){const e=n.length,r=t-e;return r>0?[...n,...new Array(r).fill(1)]:r<0?n.slice(0,t):n}function S4(n){return Math.round(n*1e12)/1e12}function O4(n){const{domain:t,range:e,paddingOuter:r,paddingInner:i,flex:a,round:s,align:o}=n,l=t.length,c=P4(a,l),[u,h]=e,f=h-u,d=2/l*r+1-1/l*i,v=f/d,g=v*i/l,p=v-l*g,y=A4(c),b=y.reduce(($,ot)=>$+ot),M=p/b,O=new aE(t.map(($,ot)=>{const ct=y[ot]*M;return[$,s?Math.floor(ct):ct]})),k=new aE(t.map(($,ot)=>{const vt=y[ot]*M+g;return[$,s?Math.floor(vt):vt]})),D=Array.from(k.values()).reduce(($,ot)=>$+ot),B=(f-(D-D/l*i))*o,W=u+B;let V=s?Math.round(W):W;const q=new Array(l);for(let $=0;$<l;$+=1){q[$]=S4(V);const ot=t[$];V+=k.get(ot)}return{valueBandWidth:O,valueStep:k,adjustedRange:q}}function T4(n){var t;const{domain:e}=n,r=e.length;if(r===0)return{valueBandWidth:void 0,valueStep:void 0,adjustedRange:[]};if(!!(!((t=n.flex)===null||t===void 0)&&t.length))return O4(n);const{range:a,paddingOuter:s,paddingInner:o,round:l,align:c}=n;let u,h,f=a[0];const v=a[1]-f,g=s*2,p=r-o;u=v/Math.max(1,g+p),l&&(u=Math.floor(u)),f+=(v-u*(r-o))*c,h=u*(1-o),l&&(f=Math.round(f),h=Math.round(h));const y=new Array(r).fill(0).map((b,M)=>f+M*u);return{valueStep:u,valueBandWidth:h,adjustedRange:y}}class O0 extends S0{getDefaultOptions(){return{domain:[],range:[0,1],align:.5,round:!1,paddingInner:0,paddingOuter:0,padding:0,unknown:P0,flex:[]}}constructor(t){super(t)}clone(){return new O0(this.options)}getStep(t){return this.valueStep===void 0?1:typeof this.valueStep=="number"?this.valueStep:t===void 0?Array.from(this.valueStep.values())[0]:this.valueStep.get(t)}getBandWidth(t){return this.valueBandWidth===void 0?1:typeof this.valueBandWidth=="number"?this.valueBandWidth:t===void 0?Array.from(this.valueBandWidth.values())[0]:this.valueBandWidth.get(t)}getRange(){return this.adjustedRange}getPaddingInner(){const{padding:t,paddingInner:e}=this.options;return t>0?t:e}getPaddingOuter(){const{padding:t,paddingOuter:e}=this.options;return t>0?t:e}rescale(){super.rescale();const{align:t,domain:e,range:r,round:i,flex:a}=this.options,{adjustedRange:s,valueBandWidth:o,valueStep:l}=T4({align:t,range:r,round:i,flex:a,paddingInner:this.getPaddingInner(),paddingOuter:this.getPaddingOuter(),domain:e});this.valueStep=l,this.valueBandWidth=o,this.adjustedRange=s}}var C4=function(n){(0,G.ZT)(t,n);function t(e){var r=this,i=e.style,a=(0,G._T)(e,["style"]);return r=n.call(this,pr({},{type:"column"},(0,G.pi)({style:i},a)))||this,r.columnsGroup=new rr({name:"columns"}),r.appendChild(r.columnsGroup),r.render(),r}return t.prototype.render=function(){var e=this.attributes,r=e.columns,i=e.x,a=e.y;this.columnsGroup.style.transform="translate(".concat(i,", ").concat(a,")"),ve(this.columnsGroup).selectAll(".column").data(r.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()})},t.prototype.update=function(e){this.attr($n({},this.attributes,e)),this.render()},t.prototype.clear=function(){this.removeChildren()},t}(yn),N4=function(n){(0,G.ZT)(t,n);function t(e){var r=this,i=e.style,a=(0,G._T)(e,["style"]);return r=n.call(this,pr({},{type:"lines"},(0,G.pi)({style:i},a)))||this,r.linesGroup=r.appendChild(new rr),r.areasGroup=r.appendChild(new rr),r.render(),r}return t.prototype.render=function(){var e=this.attributes,r=e.lines,i=e.areas,a=e.x,s=e.y;this.style.transform="translate(".concat(a,", ").concat(s,")"),r&&this.renderLines(r),i&&this.renderAreas(i)},t.prototype.clear=function(){this.linesGroup.removeChildren(),this.areasGroup.removeChildren()},t.prototype.update=function(e){this.attr($n({},this.attributes,e)),this.render()},t.prototype.renderLines=function(e){ve(this.linesGroup).selectAll(".line").data(e).join(function(r){return r.append("path").attr("className","line").each(function(i){this.attr(i)})},function(r){return r.each(function(i){this.attr(i)})},function(r){return r.remove()})},t.prototype.renderAreas=function(e){ve(this.linesGroup).selectAll(".area").data(e).join(function(r){return r.append("path").attr("className","area").each(function(i){this.attr(i)})},function(r){return r.each(function(i){this.style(i)})},function(r){return r.remove()})},t}(yn);function k4(n,t,e,r){var i,a=[],s=!!r,o,l,c=[1/0,1/0],u=[-1/0,-1/0],h,f,d;if(s){i=(0,G.CR)(r,2),c=i[0],u=i[1];for(var v=0,g=n.length;v<g;v+=1){var p=n[v];c=Vs(c,p),u=Ys(u,p)}}for(var v=0,y=n.length;v<y;v+=1){var p=n[v];if(v===0&&!e)d=p;else if(v===y-1&&!e)f=p,a.push(d),a.push(f);else{var b=[v?v-1:y-1,v-1][e?0:1];o=n[b],l=n[e?(v+1)%y:v+1];var M=[0,0];M=c0(l,o),M=Aa(M,t);var O=jl(p,o),k=jl(p,l),D=O+k;D!==0&&(O/=D,k/=D);var j=Aa(M,-O),B=Aa(M,k);f=zl(p,j),h=zl(p,B),h=Vs(h,Ys(l,p)),h=Ys(h,Vs(l,p)),j=c0(h,p),j=Aa(j,-O/k),f=zl(p,j),f=Vs(f,Ys(o,p)),f=Ys(f,Vs(o,p)),B=c0(p,f),B=Aa(B,k/O),h=zl(p,B),s&&(f=Ys(f,c),f=Vs(f,u),h=Ys(h,c),h=Vs(h,u)),a.push(d),a.push(f),d=h}}return e&&a.push(a.shift()),a}function L4(n,t,e){var r;t===void 0&&(t=!1),e===void 0&&(e=[[0,0],[1,1]]);for(var i=!!t,a=[],s=0,o=n.length;s<o;s+=2)a.push([n[s],n[s+1]]);for(var l=k4(a,.4,i,e),c=a.length,u=[],h,f,d,s=0;s<c-1;s+=1)h=l[s*2],f=l[s*2+1],d=a[s+1],u.push(["C",h[0],h[1],f[0],f[1],d[0],d[1]]);return i&&(h=l[c],f=l[c+1],r=(0,G.CR)(a,1),d=r[0],u.push(["C",h[0],h[1],f[0],f[1],d[0],d[1]])),u}function D4(n,t){var e,r=t.x,i=t.y,a=(0,G.CR)(i.getOptions().range||[0,0],2),s=a[0],o=a[1];return o>s&&(e=(0,G.CR)([s,o],2),o=e[0],s=e[1]),n.map(function(l){var c=l.map(function(u,h){return[r.map(h),Nn(i.map(u),o,s)]});return c})}function Gl(n,t){t===void 0&&(t=!1);var e=t?n.length-1:0,r=n.map(function(i,a){return(0,G.ev)([a===e?"M":"L"],(0,G.CR)(i),!1)});return t?r.reverse():r}function Wh(n,t){if(t===void 0&&(t=!1),n.length<=2)return Gl(n);for(var e=[],r=n.length,i=0;i<r;i+=1){var a=t?n[r-i-1]:n[i];Hn(a,e.slice(-2))||e.push.apply(e,(0,G.ev)([],(0,G.CR)(a),!1))}var s=L4(e,!1);return t?s.unshift((0,G.ev)(["M"],(0,G.CR)(n[r-1]),!1)):s.unshift((0,G.ev)(["M"],(0,G.CR)(n[0]),!1)),s}function T0(n,t,e){var r=uo(n);return r.push(["L",t,e],["L",0,e],["Z"]),r}function R4(n,t,e,r){return n.map(function(i){return T0(t?Wh(i):Gl(i),e,r)})}function I4(n,t,e){for(var r=[],i=n.length-1;i>=0;i-=1){var a=n[i],s=Gl(a),o=void 0;if(i===0)o=T0(s,t,e);else{var l=n[i-1],c=Gl(l,!0);c[0][0]="L",o=(0,G.ev)((0,G.ev)((0,G.ev)([],(0,G.CR)(s),!1),(0,G.CR)(c),!1),[["Z"]],!1)}r.push(o)}return r}function B4(n,t,e){for(var r=[],i=n.length-1;i>=0;i-=1){var a=n[i],s=Wh(a),o=void 0;if(i===0)o=T0(s,t,e);else{var l=n[i-1],c=Wh(l,!0),u=a[0];c[0][0]="L",o=(0,G.ev)((0,G.ev)((0,G.ev)([],(0,G.CR)(s),!1),(0,G.CR)(c),!1),[(0,G.ev)(["M"],(0,G.CR)(u),!1),["Z"]],!1)}r.push(o)}return r}var z4=function(n,t){if(Gr(n)){for(var e,r=1/0,i=0;i<n.length;i++){var a=n[i],s=de(t)?t(a):a[t];s<r&&(e=a,r=s)}return e}},j4=function(n,t){if(Gr(n)){for(var e,r=-1/0,i=0;i<n.length;i++){var a=n[i],s=de(t)?t(a):a[t];s>r&&(e=a,r=s)}return e}};function cE(n){return n.length===0?[0,0]:[ec(z4(n,function(t){return ec(t)||0})),nc(j4(n,function(t){return nc(t)||0}))]}function uE(n){for(var t=uo(n),e=t[0].length,r=(0,G.CR)([Array(e).fill(0),Array(e).fill(0)],2),i=r[0],a=r[1],s=0;s<t.length;s+=1)for(var o=t[s],l=0;l<e;l+=1)o[l]>=0?(o[l]+=i[l],i[l]=o[l]):(o[l]+=a[l],a[l]=o[l]);return t}var F4=function(n){(0,G.ZT)(t,n);function t(e){return n.call(this,e,{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(t.prototype,"rawData",{get:function(){var e=this.attributes.data;if(!e||(e==null?void 0:e.length)===0)return[[]];var r=uo(e);return ie(r[0])?[r]:r},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"data",{get:function(){return this.attributes.isStack?uE(this.rawData):this.rawData},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"scales",{get:function(){return this.createScales(this.data)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"baseline",{get:function(){var e=this.scales.y,r=(0,G.CR)(e.getOptions().domain||[0,0],2),i=r[0],a=r[1];return a<0?e.map(a):e.map(i<0?0:i)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"containerShape",{get:function(){var e=this.attributes,r=e.width,i=e.height;return{width:r,height:i}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"linesStyle",{get:function(){var e=this,r=this.attributes,i=r.type,a=r.isStack,s=r.smooth;if(i!=="line")throw new Error("linesStyle can only be used in line type");var o=ke(this.attributes,"area"),l=ke(this.attributes,"line"),c=this.containerShape.width,u=this.data;if(u[0].length===0)return{lines:[],areas:[]};var h=this.scales,f=h.x,d=h.y,v=D4(u,{type:"line",x:f,y:d}),g=[];if(o){var p=this.baseline;a?g=s?B4(v,c,p):I4(v,c,p):g=R4(v,s,c,p)}return{lines:v.map(function(y,b){return(0,G.pi)({stroke:e.getColor(b),d:s?Wh(y):Gl(y)},l)}),areas:g.map(function(y,b){return(0,G.pi)({d:y,fill:e.getColor(b)},o)})}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"columnsStyle",{get:function(){var e=this,r=ke(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,c=this.rawData;if(!c)return{columns:[]};a&&(c=uE(c));var u=this.createScales(c),h=u.x,f=u.y,d=(0,G.CR)(cE(c),2),v=d[0],g=d[1],p=new Hl({domain:[0,g-(v>0?0:v)],range:[0,l*o]}),y=h.getBandWidth(),b=this.rawData;return{columns:c.map(function(M,O){return M.map(function(k,D){var j=y/c.length,B=function(){return{x:h.map(D)+j*O,y:k>=0?f.map(k):f.map(0),width:j,height:p.map(Math.abs(k))}},W=function(){return{x:h.map(D),y:f.map(k),width:y,height:p.map(b[O][D])}};return(0,G.pi)((0,G.pi)({fill:e.getColor(O)},r),a?W():B())})})}},enumerable:!1,configurable:!0}),t.prototype.render=function(e,r){KI(r,".container","rect").attr("className","container").node();var i=e.type,a=e.x,s=e.y,o="spark".concat(i),l=(0,G.pi)({x:a,y:s},i==="line"?this.linesStyle:this.columnsStyle);ve(r).selectAll(".spark").data([i]).join(function(c){return c.append(function(u){return u==="line"?new N4({className:o,style:l}):new C4({className:o,style:l})}).attr("className","spark ".concat(o))},function(c){return c.update(l)},function(c){return c.remove()})},t.prototype.getColor=function(e){var r=this.attributes.color;return Gr(r)?r[e%r.length]:de(r)?r.call(null,e):r},t.prototype.createScales=function(e){var r,i,a=this.attributes,s=a.type,o=a.scale,l=a.range,c=l===void 0?[]:l,u=a.spacing,h=this.containerShape,f=h.width,d=h.height,v=(0,G.CR)(cE(e),2),g=v[0],p=v[1],y=new Hl({domain:[(r=c[0])!==null&&r!==void 0?r:g,(i=c[1])!==null&&i!==void 0?i:p],range:[d,d*(1-o)]});return s==="line"?{type:s,x:new Hl({domain:[0,e[0].length-1],range:[0,f]}),y}:{type:s,x:new O0({domain:e[0].map(function(b,M){return M}),range:[0,f],paddingInner:u,paddingOuter:u/2,align:.5}),y}},t.tag="sparkline",t}(Dn),hE={fill:"#fff",lineWidth:1,radius:2,size:10,stroke:"#bfbfbf",strokeOpacity:1,zIndex:0},fE={fill:"#000",fillOpacity:.45,fontSize:12,textAlign:"center",textBaseline:"middle",zIndex:1},dE={x:0,y:0,orientation:"horizontal",showLabel:!0,type:"start"},aa=Hi({foreground:"foreground",handle:"handle",selection:"selection",sparkline:"sparkline",sparklineGroup:"sparkline-group",track:"track",brushArea:"brush-area"},"slider"),ts=Hi({labelGroup:"label-group",label:"label",iconGroup:"icon-group",icon:"icon",iconRect:"icon-rect",iconLine:"icon-line"},"handle"),Z4=function(n){(0,G.ZT)(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.render=function(e,r){var i=e.x,a=e.y,s=e.size,o=s===void 0?10:s,l=e.radius,c=l===void 0?o/4:l,u=e.orientation,h=(0,G._T)(e,["x","y","size","radius","orientation"]),f=o,d=f*2.4,v=ve(r).maybeAppendByClassName(ts.iconRect,"rect").styles((0,G.pi)((0,G.pi)({},h),{width:f,height:d,radius:c,x:i-f/2,y:a-d/2,transformOrigin:"center"})),g=i+1/3*f-f/2,p=i+2/3*f-f/2,y=a+1/4*d-d/2,b=a+3/4*d-d/2;v.maybeAppendByClassName("".concat(ts.iconLine,"-1"),"line").styles((0,G.pi)({x1:g,x2:g,y1:y,y2:b},h)),v.maybeAppendByClassName("".concat(ts.iconLine,"-2"),"line").styles((0,G.pi)({x1:p,x2:p,y1:y,y2:b},h)),u==="vertical"&&(v.node().style.transform="rotate(90)")},t}(Dn),_4=function(n){(0,G.ZT)(t,n);function t(e){return n.call(this,e,dE)||this}return t.prototype.renderLabel=function(e){var r=this,i=this.attributes,a=i.x,s=i.y,o=i.showLabel,l=ke(this.attributes,"label"),c=l.x,u=c===void 0?0:c,h=l.y,f=h===void 0?0:h,d=l.transform,v=l.transformOrigin,g=(0,G._T)(l,["x","y","transform","transformOrigin"]),p=(0,G.CR)(wa(g,[]),2),y=p[0],b=p[1],M=ve(e).maybeAppendByClassName(ts.labelGroup,"g").styles(b),O=(0,G.pi)((0,G.pi)({},fE),y),k=O.text,D=(0,G._T)(O,["text"]);oi(!!o,M,function(j){r.label=j.maybeAppendByClassName(ts.label,"text").styles((0,G.pi)((0,G.pi)({},D),{x:a+u,y:s+f,transform:d,transformOrigin:v,text:"".concat(k)})),r.label.on("mousedown",function(B){B.stopPropagation()}),r.label.on("touchstart",function(B){B.stopPropagation()})})},t.prototype.renderIcon=function(e){var r=this.attributes,i=r.x,a=r.y,s=r.orientation,o=r.type,l=(0,G.pi)((0,G.pi)({x:i,y:a,orientation:s},hE),ke(this.attributes,"icon")),c=this.attributes.iconShape,u=c===void 0?function(){return new Z4({style:l})}:c,h=ve(e).maybeAppendByClassName(ts.iconGroup,"g");h.selectAll(ts.icon.class).data([u]).join(function(f){return f.append(typeof u=="string"?u:function(){return u(o)}).attr("className",ts.icon.name)},function(f){return f.update(l)},function(f){return f.remove()})},t.prototype.render=function(e,r){this.renderIcon(r),this.renderLabel(r)},t}(Dn),H4=function(n){(0,G.ZT)(t,n);function t(e){var r=n.call(this,e,(0,G.pi)((0,G.pi)((0,G.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},Mo(dE,"handle")),Mo(hE,"handleIcon")),Mo(fE,"handleLabel")))||this;return r.range=[0,1],r.onDragStart=function(i){return function(a){a.stopPropagation(),r.target=i,r.prevPos=r.getOrientVal($x(a));var s=r.availableSpace,o=s.x,l=s.y,c=r.getBBox(),u=c.x,h=c.y;r.selectionStartPos=r.getRatio(r.prevPos-r.getOrientVal([o,l])-r.getOrientVal([+u,+h])),r.selectionWidth=0,document.addEventListener("pointermove",r.onDragging),document.addEventListener("pointerup",r.onDragEnd)}},r.onDragging=function(i){var a=r.attributes,s=a.slidable,o=a.brushable,l=a.type;i.stopPropagation();var c=r.getOrientVal($x(i)),u=c-r.prevPos;if(u){var h=r.getRatio(u);switch(r.target){case"start":s&&r.setValuesOffset(h);break;case"end":s&&r.setValuesOffset(0,h);break;case"selection":s&&r.setValuesOffset(h,h);break;case"track":if(!o)return;r.selectionWidth+=h,l==="range"?r.innerSetValues([r.selectionStartPos,r.selectionStartPos+r.selectionWidth].sort(),!0):r.innerSetValues([0,r.selectionStartPos+r.selectionWidth],!0);break;default:break}r.prevPos=c}},r.onDragEnd=function(){document.removeEventListener("pointermove",r.onDragging),document.removeEventListener("pointermove",r.onDragging),document.removeEventListener("pointerup",r.onDragEnd),r.target="",r.updateHandlesPosition(!1)},r.onValueChange=function(i){var a=r.attributes,s=a.onChange,o=a.type,l=o==="range"?i:i[1],c=o==="range"?r.getValues():r.getValues()[1],u=new Qn("valuechange",{detail:{oldValue:l,value:c}});r.dispatchEvent(u),s==null||s(c)},r.selectionStartPos=0,r.selectionWidth=0,r.prevPos=0,r.target="",r}return Object.defineProperty(t.prototype,"values",{get:function(){return this.attributes.values},set:function(e){this.attributes.values=this.clampValues(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"sparklineStyle",{get:function(){var e=this.attributes.orientation;if(e!=="horizontal")return null;var r=ke(this.attributes,"sparkline");return(0,G.pi)((0,G.pi)({zIndex:0},this.availableSpace),r)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"shape",{get:function(){var e=this.attributes,r=e.trackLength,i=e.trackSize,a=(0,G.CR)(this.getOrientVal([[r,i],[i,r]]),2),s=a[0],o=a[1];return{width:s,height:o}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"availableSpace",{get:function(){var e=this.attributes,r=e.x,i=e.y,a=e.padding,s=(0,G.CR)(br(a),4),o=s[0],l=s[1],c=s[2],u=s[3],h=this.shape,f=h.width,d=h.height;return{x:u,y:o,width:f-(u+l),height:d-(o+c)}},enumerable:!1,configurable:!0}),t.prototype.getValues=function(){return this.values},t.prototype.setValues=function(e,r){e===void 0&&(e=[0,0]),r===void 0&&(r=!1),this.attributes.values=e;var i=r===!1?!1:this.attributes.animate;this.updateSelectionArea(i),this.updateHandlesPosition(i)},t.prototype.updateSelectionArea=function(e){var r=this.calcSelectionArea();this.foregroundGroup.selectAll(aa.selection.class).each(function(i,a){Gi(this,r[a],e)})},t.prototype.updateHandlesPosition=function(e){this.attributes.showHandle&&(this.startHandle&&Gi(this.startHandle,this.getHandleStyle("start"),e),this.endHandle&&Gi(this.endHandle,this.getHandleStyle("end"),e))},t.prototype.innerSetValues=function(e,r){e===void 0&&(e=[0,0]),r===void 0&&(r=!1);var i=this.values,a=this.clampValues(e);this.attributes.values=a,this.setValues(a),r&&this.onValueChange(i)},t.prototype.renderTrack=function(e){var r=this.attributes,i=r.x,a=r.y,s=ke(this.attributes,"track");this.trackShape=ve(e).maybeAppendByClassName(aa.track,"rect").styles((0,G.pi)((0,G.pi)({x:i,y:a},this.shape),s))},t.prototype.renderBrushArea=function(e){var r=this.attributes,i=r.x,a=r.y,s=r.brushable;this.brushArea=ve(e).maybeAppendByClassName(aa.brushArea,"rect").styles((0,G.pi)({x:i,y:a,fill:"transparent",cursor:s?"crosshair":"default"},this.shape))},t.prototype.renderSparkline=function(e){var r=this,i=this.attributes,a=i.x,s=i.y,o=i.orientation,l=ve(e).maybeAppendByClassName(aa.sparklineGroup,"g");oi(o==="horizontal",l,function(c){var u=(0,G.pi)((0,G.pi)({},r.sparklineStyle),{x:a,y:s});c.maybeAppendByClassName(aa.sparkline,function(){return new F4({style:u})}).update(u)})},t.prototype.renderHandles=function(){var e=this,r,i=this.attributes,a=i.showHandle,s=i.type,o=s==="range"?["start","end"]:["end"],l=a?o:[],c=this;(r=this.foregroundGroup)===null||r===void 0||r.selectAll(aa.handle.class).data(l.map(function(u){return{type:u}}),function(u){return u.type}).join(function(u){return u.append(function(h){var f=h.type;return new _4({style:e.getHandleStyle(f)})}).each(function(h){var f=h.type;this.attr("class","".concat(aa.handle.name," ").concat(f,"-handle"));var d="".concat(f,"Handle");c[d]=this,this.addEventListener("pointerdown",c.onDragStart(f))})},function(u){return u.each(function(h){var f=h.type;this.update(c.getHandleStyle(f))})},function(u){return u.each(function(h){var f=h.type,d="".concat(f,"Handle");c[d]=void 0}).remove()})},t.prototype.renderSelection=function(e){var r=this.attributes,i=r.x,a=r.y,s=r.type,o=r.selectionType;this.foregroundGroup=ve(e).maybeAppendByClassName(aa.foreground,"g");var l=ke(this.attributes,"selection"),c=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,G.pi)((0,G.pi)({},l),{transform:"translate(".concat(i,", ").concat(a,")")}))},u=this;this.foregroundGroup.selectAll(aa.selection.class).data(s==="value"?[]:this.calcSelectionArea().map(function(h,f){return{style:(0,G.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",aa.selection.name).call(c).each(function(f,d){var v=this;d===1?(u.selectionShape=ve(this),this.on("pointerdown",function(g){v.attr("cursor","grabbing"),u.onDragStart("selection")(g)}),u.dispatchCustomEvent(this,"pointerenter","selectionMouseenter"),u.dispatchCustomEvent(this,"pointerleave","selectionMouseleave"),u.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",u.onDragStart("track"))})},function(h){return h.call(c)},function(h){return h.remove()}),this.updateSelectionArea(!1),this.renderHandles()},t.prototype.render=function(e,r){this.renderTrack(r),this.renderSparkline(r),this.renderBrushArea(r),this.renderSelection(r)},t.prototype.clampValues=function(e,r){var i;r===void 0&&(r=4);var a=(0,G.CR)(this.range,2),s=a[0],o=a[1],l=(0,G.CR)(this.getValues().map(function(p){return y0(p,r)}),2),c=l[0],u=l[1],h=Array.isArray(e)?e:[c,e!=null?e:u],f=(0,G.CR)((h||[c,u]).map(function(p){return y0(p,r)}),2),d=f[0],v=f[1];if(this.attributes.type==="value")return[0,Nn(v,s,o)];d>v&&(i=(0,G.CR)([v,d],2),d=i[0],v=i[1]);var g=v-d;return g>o-s?[s,o]:d<s?c===s&&u===v?[s,v]:[s,g+s]:v>o?u===o&&c===d?[d,o]:[o-g,o]:[d,v]},t.prototype.calcSelectionArea=function(e){var r=(0,G.CR)(this.clampValues(e),2),i=r[0],a=r[1],s=this.availableSpace,o=s.x,l=s.y,c=s.width,u=s.height;return this.getOrientVal([[{y:l,height:u,x:o,width:i*c},{y:l,height:u,x:i*c+o,width:(a-i)*c},{y:l,height:u,x:a*c,width:(1-a)*c}],[{x:o,width:c,y:l,height:i*u},{x:o,width:c,y:i*u+l,height:(a-i)*u},{x:o,width:c,y:a*u,height:(1-a)*u}]])},t.prototype.calcHandlePosition=function(e){var r=this.attributes.handleIconOffset,i=this.availableSpace,a=i.x,s=i.y,o=i.width,l=i.height,c=(0,G.CR)(this.clampValues(),2),u=c[0],h=c[1],f=e==="start"?-r:r,d=(e==="start"?u:h)*this.getOrientVal([o,l])+f;return{x:a+this.getOrientVal([d,o/2]),y:s+this.getOrientVal([l/2,d])}},t.prototype.inferTextStyle=function(e){var r=this.attributes.orientation;return r==="horizontal"?{}:e==="start"?{transformOrigin:"left center",transform:"rotate(90)",textAlign:"start"}:e==="end"?{transformOrigin:"right center",transform:"rotate(90)",textAlign:"end"}:{}},t.prototype.calcHandleText=function(e){var r,i=this.attributes,a=i.type,s=i.orientation,o=i.formatter,l=i.autoFitLabel,c=ke(this.attributes,"handle"),u=ke(c,"label"),h=c.spacing,f=this.getHandleSize(),d=this.clampValues(),v=e==="start"?d[0]:d[1],g=o(v),p=new qv({style:(0,G.pi)((0,G.pi)((0,G.pi)({},u),this.inferTextStyle(e)),{text:g})}),y=p.getBBox(),b=y.width,M=y.height;if(p.destroy(),!l){if(a==="value")return{text:g,x:0,y:-M-h};var O=h+f+(s==="horizontal"?b/2:0);return r={text:g},r[s==="horizontal"?"x":"y"]=e==="start"?-O:O,r}var k=0,D=0,j=this.availableSpace,B=j.width,W=j.height,V=this.calcSelectionArea()[1],q=V.x,$=V.y,ot=V.width,ct=V.height,vt=h+f;if(s==="horizontal"){var Ct=vt+b/2;if(e==="start"){var Ot=q-vt-b;k=Ot>0?-Ct:Ct}else{var mt=B-q-ot-vt>b;k=mt?Ct:-Ct}}else{var yt=vt,Lt=M+vt;e==="start"?D=$-f>M?-Lt:yt:D=W-($+ct)-f>M?Lt:-yt}return{x:k,y:D,text:g}},t.prototype.getHandleLabelStyle=function(e){var r=ke(this.attributes,"handleLabel");return(0,G.pi)((0,G.pi)((0,G.pi)({},r),this.calcHandleText(e)),this.inferTextStyle(e))},t.prototype.getHandleIconStyle=function(){var e=this.attributes.handleIconShape,r=ke(this.attributes,"handleIcon"),i=this.getOrientVal(["ew-resize","ns-resize"]),a=this.getHandleSize();return(0,G.pi)({cursor:i,shape:e,size:a},r)},t.prototype.getHandleStyle=function(e){var r=this.attributes,i=r.x,a=r.y,s=r.showLabel,o=r.showLabelOnInteraction,l=r.orientation,c=this.calcHandlePosition(e),u=c.x,h=c.y,f=this.calcHandleText(e),d=s;return!s&&o&&(this.target?d=!0:d=!1),(0,G.pi)((0,G.pi)((0,G.pi)({},Mo(this.getHandleIconStyle(),"icon")),Mo((0,G.pi)((0,G.pi)({},this.getHandleLabelStyle(e)),f),"label")),{transform:"translate(".concat(u+i,", ").concat(h+a,")"),orientation:l,showLabel:d,type:e,zIndex:3})},t.prototype.getHandleSize=function(){var e=this.attributes,r=e.handleIconSize,i=e.width,a=e.height;return r||Math.floor((this.getOrientVal([+a,+i])+4)/2.4)},t.prototype.getOrientVal=function(e){var r=(0,G.CR)(e,2),i=r[0],a=r[1],s=this.attributes.orientation;return s==="horizontal"?i:a},t.prototype.setValuesOffset=function(e,r,i){r===void 0&&(r=0),i===void 0&&(i=!1);var a=this.attributes.type,s=(0,G.CR)(this.getValues(),2),o=s[0],l=s[1],c=a==="range"?e:0,u=[o+c,l+r].sort();i?this.setValues(u):this.innerSetValues(u,!0)},t.prototype.getRatio=function(e){var r=this.availableSpace,i=r.width,a=r.height;return e/this.getOrientVal([i,a])},t.prototype.dispatchCustomEvent=function(e,r,i){var a=this;e.on(r,function(s){s.stopPropagation(),a.dispatchEvent(new Qn(i,{detail:s}))})},t.prototype.bindEvents=function(){this.addEventListener("wheel",this.onScroll);var e=this.brushArea;this.dispatchCustomEvent(e,"click","trackClick"),this.dispatchCustomEvent(e,"pointerenter","trackMouseenter"),this.dispatchCustomEvent(e,"pointerleave","trackMouseleave"),e.on("pointerdown",this.onDragStart("track"))},t.prototype.onScroll=function(e){var r=this.attributes.scrollable;if(r){var i=e.deltaX,a=e.deltaY,s=a||i,o=this.getRatio(s);this.setValuesOffset(o,o,!0)}},t.tag="slider",t}(Dn),G4={backgroundFill:"#262626",backgroundLineCap:"round",backgroundLineWidth:1,backgroundStroke:"#333",backgroundZIndex:-1,formatter:function(n){return n.toString()},labelFill:"#fff",labelFontSize:12,labelTextBaseline:"middle",padding:[2,4],position:"right",radius:0,zIndex:999},C0=Hi({background:"background",labelGroup:"label-group",label:"label"},"indicator"),W4=function(n){(0,G.ZT)(t,n);function t(e){var r=n.call(this,e,G4)||this;return r.point=[0,0],r.group=r.appendChild(new rr({})),r.isMutationObserved=!0,r}return t.prototype.renderBackground=function(){if(this.label){var e=this.attributes,r=e.position,i=e.padding,a=(0,G.CR)(br(i),4),s=a[0],o=a[1],l=a[2],c=a[3],u=this.label.node().getLocalBounds(),h=u.min,f=u.max,d=new Tr(h[0]-c,h[1]-s,f[0]+o-h[0]+c,f[1]+l-h[1]+s),v=this.getPath(r,d),g=ke(this.attributes,"background");this.background=ve(this.group).maybeAppendByClassName(C0.background,"path").styles((0,G.pi)((0,G.pi)({},g),{d:v})),this.group.appendChild(this.label.node())}},t.prototype.renderLabel=function(){var e=this.attributes,r=e.formatter,i=e.labelText,a=ke(this.attributes,"label"),s=(0,G.CR)(wa(a),2),o=s[0],l=s[1],c=o.text,u=(0,G._T)(o,["text"]);if(this.label=ve(this.group).maybeAppendByClassName(C0.labelGroup,"g").styles(l),!!i){var h=this.label.maybeAppendByClassName(C0.label,function(){return Ma(r(i))}).style("text",r(i).toString());h.selectAll("text").styles(u)}},t.prototype.adjustLayout=function(){var e=(0,G.CR)(this.point,2),r=e[0],i=e[1],a=this.attributes,s=a.x,o=a.y;this.group.attr("transform","translate(".concat(s-r,", ").concat(o-i,")"))},t.prototype.getPath=function(e,r){var i=this.attributes.radius,a=r.x,s=r.y,o=r.width,l=r.height,c=[["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"]],u={top:4,right:6,bottom:0,left:2},h=u[e],f=this.createCorner([c[h].slice(-2),c[h+1].slice(-2)]);return c.splice.apply(c,(0,G.ev)([h+1,1],(0,G.CR)(f),!1)),c[0][0]="M",c},t.prototype.createCorner=function(e,r){r===void 0&&(r=10);var i=.8,a=N5.apply(void 0,(0,G.ev)([],(0,G.CR)(e),!1)),s=(0,G.CR)(e,2),o=(0,G.CR)(s[0],2),l=o[0],c=o[1],u=(0,G.CR)(s[1],2),h=u[0],f=u[1],d=(0,G.CR)(a?[h-l,[l,h]]:[f-c,[c,f]],2),v=d[0],g=(0,G.CR)(d[1],2),p=g[0],y=g[1],b=v/2,M=v/Math.abs(v),O=r*M,k=O/2,D=O*Math.sqrt(3)/2*i,j=(0,G.CR)([p,p+b-k,p+b,p+b+k,y],5),B=j[0],W=j[1],V=j[2],q=j[3],$=j[4];return a?(this.point=[V,c-D],[["L",B,c],["L",W,c],["L",V,c-D],["L",q,c],["L",$,c]]):(this.point=[l+D,V],[["L",l,B],["L",l,W],["L",l+D,V],["L",l,q],["L",l,$]])},t.prototype.applyVisibility=function(){var e=this.attributes.visibility;e==="hidden"?_i(this):Rl(this)},t.prototype.bindEvents=function(){this.label.on(Ie.BOUNDS_CHANGED,this.renderBackground)},t.prototype.render=function(){this.renderLabel(),this.renderBackground(),this.adjustLayout(),this.applyVisibility()},t}(Dn),X4=function(n){(0,G.ZT)(t,n);function t(e){var r=n.call(this,$n({},t.defaultOptions,e))||this;return r.hoverColor="#f5f5f5",r.selectedColor="#e6f7ff",r.background=r.appendChild(new gr({})),r.label=r.background.appendChild(new rr({})),r}return Object.defineProperty(t.prototype,"padding",{get:function(){return br(this.style.padding)},enumerable:!1,configurable:!0}),t.prototype.renderLabel=function(){var e=this.style,r=e.label,i=e.value,a=ke(this.attributes,"label");ve(this.label).maybeAppend(".label",function(){return Ma(r)}).attr("className","label").styles(a),this.label.attr("__data__",i)},t.prototype.renderBackground=function(){var e=this.label.getBBox(),r=(0,G.CR)(this.padding,4),i=r[0],a=r[1],s=r[2],o=r[3],l=e.width,c=e.height,u=l+o+a,h=c+i+s,f=ke(this.attributes,"background"),d=this.style,v=d.width,g=v===void 0?0:v,p=d.height,y=p===void 0?0:p,b=d.selected;this.background.attr((0,G.pi)((0,G.pi)({},f),{width:Math.max(u,g),height:Math.max(h,y),fill:b?this.selectedColor:"#fff"})),this.label.attr({transform:"translate(".concat(o,", ").concat((h-c)/2,")")})},t.prototype.render=function(){this.renderLabel(),this.renderBackground()},t.prototype.bindEvents=function(){var e=this;this.addEventListener("pointerenter",function(){e.style.selected||e.background.attr("fill",e.hoverColor)}),this.addEventListener("pointerleave",function(){e.style.selected||e.background.attr("fill",e.style.backgroundFill)});var r=this;this.addEventListener("click",function(){var i=e.style,a=i.label,s=i.value,o=i.onClick;o==null||o(s,{label:a,value:s},r)})},t.defaultOptions={style:{value:"",label:"",cursor:"pointer"}},t}(Dn),V4=function(n){(0,G.ZT)(t,n);function t(e){var r,i,a=n.call(this,$n({},t.defaultOptions,e))||this;a.currentValue=(r=t.defaultOptions.style)===null||r===void 0?void 0:r.defaultValue,a.isPointerInSelect=!1,a.select=a.appendChild(new gr({className:"select",style:{cursor:"pointer",width:0,height:0}})),a.dropdown=a.appendChild(new gr({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 t.prototype.setValue=function(e){this.currentValue=e,this.render()},t.prototype.getValue=function(){return this.currentValue},Object.defineProperty(t.prototype,"dropdownPadding",{get:function(){return br(this.style.dropdownPadding)},enumerable:!1,configurable:!0}),t.prototype.renderSelect=function(){var e=this,r,i=this.style,a=i.x,s=i.y,o=i.width,l=i.height,c=i.bordered,u=i.showDropdownIcon,h=ke(this.attributes,"select"),f=ke(this.attributes,"placeholder");this.select.attr((0,G.pi)((0,G.pi)({x:a,y:s,width:o,height:l},h),{fill:"#fff",strokeWidth:c?1:0}));var d=this.dropdownPadding,v=10;u&&ve(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=(r=this.style.options)===null||r===void 0?void 0:r.find(function(M){return M.value===e.currentValue}),p=(0,G.pi)({x:a+d[3]},f);ve(this.select).selectAll(".placeholder").data(g?[]:[1]).join(function(M){return M.append("text").attr("className","placeholder").styles(p).style("y",function(){var O=this.getBBox();return s+(l-O.height)/2})},function(M){return M.styles(p)},function(M){return M.remove()});var y=ke(this.attributes,"optionLabel"),b=(0,G.pi)({x:a+d[3]},y);ve(this.select).selectAll(".value").data(g?[g]:[]).join(function(M){return M.append(function(O){return Ma(O.label)}).attr("className","value").styles(b).style("y",function(){var O=this.getBBox();return s+(l-O.height)/2})},function(M){return M.styles(b)},function(M){return M.remove()})},t.prototype.renderDropdown=function(){var e=this,r,i,a=this.style,s=a.x,o=a.y,l=a.width,c=a.height,u=a.options,h=a.onSelect,f=a.open,d=ke(this.attributes,"dropdown"),v=ke(this.attributes,"option"),g=this.dropdownPadding;ve(this.dropdown).maybeAppend(".dropdown-container","g").attr("className","dropdown-container").selectAll(".dropdown-item").data(u,function(b){return b.value}).join(function(b){return b.append(function(M){return new X4({className:"dropdown-item",style:(0,G.pi)((0,G.pi)((0,G.pi)({},M),v),{width:l-g[1]-g[3],selected:M.value===e.currentValue,onClick:function(O,k,D){e.setValue(O),h==null||h(O,k,D),e.dispatchEvent(new Qn("change",{detail:{value:O,option:k,item:D}})),_i(e.dropdown)}})})}).each(function(M,O){var k,D=(k=this.parentNode)===null||k===void 0?void 0:k.children,j=D.reduce(function(B,W,V){return V<O&&(B+=W.getBBox().height),B},0);this.attr("transform","translate(".concat(g[3],", ").concat(g[0]+j,")"))})},function(b){return b.update(function(M){return{selected:M.value===e.currentValue}})},function(b){return b.remove()});var p=(i=(r=this.dropdown.getElementsByClassName("dropdown-container"))===null||r===void 0?void 0:r[0])===null||i===void 0?void 0:i.getBBox(),y=d.spacing;this.dropdown.attr((0,G.pi)({transform:"translate(".concat(s,", ").concat(o+c+y,")"),width:p.width+g[1]+g[3],height:p.height+g[0]+g[2]},d)),!f&&_i(this.dropdown)},t.prototype.render=function(){this.renderSelect(),this.renderDropdown()},t.prototype.bindEvents=function(){var e=this;this.addEventListener("click",function(r){r.stopPropagation()}),this.select.addEventListener("click",function(){e.dropdown.style.visibility==="visible"?_i(e.dropdown):Rl(e.dropdown)}),this.addEventListener("pointerenter",function(){e.isPointerInSelect=!0}),this.addEventListener("pointerleave",function(){e.isPointerInSelect=!1}),document==null||document.addEventListener("click",function(){e.isPointerInSelect||_i(e.dropdown)})},t.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"}},t}(Dn),Wi=function(n){(0,G.ZT)(t,n);function t(e){var r=n.call(this,$n({},{style:{backgroundOpacity:t.backgroundOpacities.default}},t.defaultOptions,e))||this;return r.showBackground=!0,r.background=r.appendChild(new gr({})),r.icon=r.appendChild(new rr({})),r}return Object.defineProperty(t.prototype,"label",{get:function(){return"BaseIcon"},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"lineWidth",{get:function(){return Math.log10(this.attributes.size)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"padding",{get:function(){return br(this.attributes.size/5)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"iconSize",{get:function(){var e=this.attributes.size,r=(0,G.CR)(this.padding,4),i=r[0],a=r[1],s=r[2],o=r[3];return Math.max(e-Math.max(o+a,i+s),this.lineWidth*2+1)},enumerable:!1,configurable:!0}),t.prototype.renderBackground=function(){var e=this.attributes,r=e.x,i=e.y,a=e.size,s=a/2,o=ke(this.attributes,"background");this.background.attr((0,G.pi)({x:r-s,y:i-s,width:a,height:a},o))},t.prototype.showIndicator=function(){if(this.label){var e=this.attributes.size,r=this.background.getBBox(),i=r.x,a=r.y;this.indicator.update({x:i+e/2,y:a-5,labelText:this.label,visibility:"visible"})}},t.prototype.hideIndicator=function(){this.indicator.update({visibility:"hidden"})},t.prototype.connectedCallback=function(){var e;n.prototype.connectedCallback.call(this);var r=this.attributes.size,i=this.background.getBBox(),a=i.x,s=i.y,o=(e=this.ownerDocument)===null||e===void 0?void 0:e.defaultView;o&&(this.indicator=o.appendChild(new W4({style:{x:a+r/2,y:s-r/2,visibility:"hidden",position:"top",radius:3,zIndex:100}})))},t.prototype.disconnectedCallback=function(){this.indicator.destroy()},t.prototype.render=function(){this.renderIcon(),this.showBackground&&this.renderBackground()},t.prototype.bindEvents=function(){var e=this,r=this.attributes.onClick;if(this.addEventListener("click",function(){r==null||r(e)}),this.showBackground){var i=function(){return e.background.attr({opacity:t.backgroundOpacities.default})},a=function(){return e.background.attr({opacity:t.backgroundOpacities.hover})},s=function(){return e.background.attr({opacity:t.backgroundOpacities.active})};this.addEventListener("pointerenter",function(){a(),e.showIndicator()}),this.addEventListener("pointerleave",function(){i(),e.hideIndicator()}),this.addEventListener("pointerdown",function(){s()}),this.addEventListener("pointerup",function(){i()})}},t.tag="IconBase",t.defaultOptions={style:{x:0,y:0,size:10,color:"#565758",backgroundRadius:4,backgroundFill:"#e2e2e2"}},t.backgroundOpacities={default:0,hover:.8,active:1},t}(Dn),Wl=function(n,t){return t===void 0&&(t="#565758"),new ti({style:{fill:t,d:"M ".concat(n,",").concat(n," L -").concat(n,",0 L ").concat(n,",-").concat(n," Z"),transformOrigin:"center"}})},Y4=function(n){(0,G.ZT)(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.arcPath=function(e,r,i){var a=(0,G.CR)([i,i],2),s=a[0],o=a[1],l=function(g){return[e+i*Math.cos(g),r+i*Math.sin(g)]},c=(0,G.CR)(l(-5/4*Math.PI),2),u=c[0],h=c[1],f=(0,G.CR)(l(1/4*Math.PI),2),d=f[0],v=f[1];return"M".concat(u,",").concat(h,",A").concat(s,",").concat(o,",0,1,1,").concat(d,",").concat(v)},Object.defineProperty(t.prototype,"label",{get:function(){return"\u91CD\u7F6E"},enumerable:!1,configurable:!0}),t.prototype.renderIcon=function(){var e=this.attributes,r=e.x,i=e.y,a=e.color,s=this.iconSize,o=this.lineWidth,l=o+.5;ve(this.icon).maybeAppend(".reset","path").styles({stroke:a,lineWidth:o,d:this.arcPath(r,i,s/2-o),markerStart:Wl(l,a)})},t}(Wi),U4=function(n){(0,G.ZT)(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return Object.defineProperty(t.prototype,"label",{get:function(){return"\u5FEB\u9000"},enumerable:!1,configurable:!0}),t.prototype.renderIcon=function(){var e=this.attributes,r=e.x,i=e.y,a=e.color,s=this.iconSize,o=s/2,l=s/2/Math.pow(3,.5),c=[[r,i],[r,i-l],[r-o,i],[r,i+l],[r,i],[r+o,i-l],[r+o,i+l],[r,i]];ve(this.icon).maybeAppend(".backward","polygon").styles({points:c,fill:a})},t}(Wi),K4=function(n){(0,G.ZT)(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return Object.defineProperty(t.prototype,"label",{get:function(){return"\u5FEB\u8FDB"},enumerable:!1,configurable:!0}),t.prototype.renderIcon=function(){var e=this.attributes,r=e.x,i=e.y,a=e.color,s=this.iconSize,o=s/2,l=s/2/Math.pow(3,.5),c=[[r,i],[r,i-l],[r+o,i],[r,i+l],[r,i],[r-o,i-l],[r-o,i+l],[r,i]];ve(this.icon).maybeAppend(".forward","polygon").styles({points:c,fill:a})},t}(Wi),Q4=function(n){(0,G.ZT)(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return Object.defineProperty(t.prototype,"label",{get:function(){return"\u64AD\u653E"},enumerable:!1,configurable:!0}),t.prototype.renderIcon=function(){var e=this.attributes,r=e.x,i=e.y,a=e.color,s=this.iconSize,o=s/3*Math.pow(3,.5)*.8,l=[[r+o,i],[r-o/2,i-s/2*.8],[r-o/2,i+s/2*.8],[r+o,i]];ve(this.icon).maybeAppend(".play","polygon").styles({points:l,fill:a})},t}(Wi),J4=function(n){(0,G.ZT)(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return Object.defineProperty(t.prototype,"label",{get:function(){return"\u6682\u505C"},enumerable:!1,configurable:!0}),t.prototype.renderIcon=function(){var e=this.attributes,r=e.x,i=e.y,a=e.color,s=this.iconSize,o=s/3,l=[[r-o,i-s/2],[r-o,i+s/2],[r-o/2,i+s/2],[r-o/2,i-s/2],[r-o,i-s/2],[r+o/2,i-s/2],[r+o/2,i+s/2],[r+o,i+s/2],[r+o,i-s/2]];ve(this.icon).maybeAppend(".pause","polygon").styles({points:l,fill:a})},t}(Wi),q4=function(n){(0,G.ZT)(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return Object.defineProperty(t.prototype,"label",{get:function(){return"\u8303\u56F4\u65F6\u95F4"},enumerable:!1,configurable:!0}),t.prototype.renderIcon=function(){var e=this.attributes,r=e.x,i=e.y,a=e.color,s=this,o=s.iconSize,l=s.lineWidth,c=l;ve(this.icon).maybeAppend(".left-line","line").styles({x1:r-o/2,y1:i-o/2,x2:r-o/2,y2:i+o/2,stroke:a,lineWidth:l}),ve(this.icon).maybeAppend(".right-line","line").styles({x1:r+o/2,y1:i-o/2,x2:r+o/2,y2:i+o/2,stroke:a,lineWidth:l}),ve(this.icon).maybeAppend(".left-arrow","line").styles({x1:r,y1:i,x2:r-o/2+c*2,y2:i,stroke:a,lineWidth:l,markerEnd:Wl(l*2,a)}),ve(this.icon).maybeAppend(".right-arrow","line").styles({x1:r,y1:i,x2:r+o/2-c*2,y2:i,stroke:a,lineWidth:l,markerEnd:Wl(l*2,a)})},t}(Wi),$4=function(n){(0,G.ZT)(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return Object.defineProperty(t.prototype,"label",{get:function(){return"\u5355\u4E00\u65F6\u95F4"},enumerable:!1,configurable:!0}),t.prototype.renderIcon=function(){var e=this.attributes,r=e.x,i=e.y,a=e.color,s=this,o=s.iconSize,l=s.lineWidth;ve(this.icon).maybeAppend(".line","line").styles({x1:r,y1:i-o/2,x2:r,y2:i+o/2,stroke:a,lineWidth:l});var c=l;ve(this.icon).maybeAppend(".left-arrow","line").styles({x1:r-o/2-c*2,y1:i,x2:r-c*2,y2:i,stroke:a,lineWidth:l,markerEnd:Wl(l*2,a)}),ve(this.icon).maybeAppend(".right-arrow","line").styles({x1:r+o/2+c*2,y1:i,x2:r+c*2,y2:i,stroke:a,lineWidth:l,markerEnd:Wl(l*2,a)})},t}(Wi),vE=function(n){return[[-n/2,-n/2],[-n/2,n/2],[n/2,n/2]]},t8=function(n){(0,G.ZT)(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return Object.defineProperty(t.prototype,"label",{get:function(){return"\u6298\u7EBF\u56FE"},enumerable:!1,configurable:!0}),t.prototype.renderIcon=function(){var e=this.attributes,r=e.x,i=e.y,a=e.color,s=this,o=s.iconSize,l=s.lineWidth,c=l,u=(o-c*2-l)/4,h=(o-c*2-l)/2,f=(0,G.CR)([r-o/2+c,i+o/2-c*2],2),d=f[0],v=f[1];ve(this.icon).maybeAppend(".coordinate","polyline").styles({points:vE(o).map(function(g){var p=(0,G.CR)(g,2),y=p[0],b=p[1];return[y+r,b+i]}),stroke:a,lineWidth:l}),ve(this.icon).maybeAppend(".line","polyline").styles({points:[[d,v],[d+u,v-h],[d+u*2,v],[d+u*4,v-h*2]],stroke:a,lineWidth:l})},t}(Wi),e8=function(n){(0,G.ZT)(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return Object.defineProperty(t.prototype,"label",{get:function(){return"\u6761\u5F62\u56FE"},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"data",{get:function(){return[1,4,2,4,3]},enumerable:!1,configurable:!0}),t.prototype.renderIcon=function(){var e=this.data,r=this.attributes,i=r.x,a=r.y,s=r.color,o=this,l=o.iconSize,c=o.lineWidth,u=c,h=(l-u)/e.length,f=(l-u*2)/4,d=(0,G.CR)([i-l/2+u*2,a+l/2-u],2),v=d[0],g=d[1];ve(this.icon).maybeAppend(".coordinate","polyline").styles({points:vE(l).map(function(p){var y=(0,G.CR)(p,2),b=y[0],M=y[1];return[b+i,M+a]}),stroke:s,lineWidth:c}),ve(this.icon).maybeAppend(".bars","g").selectAll(".column").data(this.data.map(function(p,y){return{value:p,index:y}})).join(function(p){return p.append("line").attr("className","column").style("x1",function(y){var b=y.index;return v+h*b}).style("y1",g).style("x2",function(y){var b=y.index;return v+h*b}).style("y2",function(y){var b=y.value;return g-f*b}).styles({y1:g,stroke:s,lineWidth:c})})},t}(Wi),n8=function(n){(0,G.ZT)(t,n);function t(e){var r=n.call(this,$n({},{style:{color:"#d8d9d9"}},e))||this;return r.showBackground=!1,r}return t.prototype.renderIcon=function(){var e=this.attributes,r=e.x,i=e.y,a=e.color,s=this,o=s.iconSize,l=s.lineWidth;ve(this.icon).maybeAppend(".split","line").styles({x1:r,y1:i-o/2,x2:r,y2:i+o/2,stroke:a,lineWidth:l})},t}(Wi),N0=function(n){(0,G.ZT)(t,n);function t(){var e=n.apply(this,(0,G.ev)([],(0,G.CR)(arguments),!1))||this;return e.showBackground=!1,e}return Object.defineProperty(t.prototype,"padding",{get:function(){return br(0)},enumerable:!1,configurable:!0}),t.prototype.renderIcon=function(){var e=this.iconSize,r=this.attributes,i=r.x,a=r.y,s=r.speed,o=s===void 0?1:s,l=Hv(this.attributes,["x","y","transform","transformOrigin","width","height","size","color","speed"]),c=Nn(e,20,1/0),u=20,h=(0,G.pi)((0,G.pi)({},l),{x:i-c/2,y:a-u/2,width:c,height:u,defaultValue:o,bordered:!1,showDropdownIcon:!1,selectRadius:2,dropdownPadding:this.padding,dropdownRadius:2,dropdownSpacing:e/5,placeholderFontSize:e/2,optionPadding:0,optionLabelFontSize:e/2,optionBackgroundRadius:1,options:[{label:"1x",value:1},{label:"1.5x",value:1.5},{label:"2x",value:2}]});ve(this.icon).maybeAppend(".speed",function(){return new V4({style:h})}).attr("className","speed").each(function(){this.update(h)})},t.tag="SpeedSelect",t}(Wi),k0=function(n){(0,G.ZT)(t,n);function t(e){var r=n.call(this,e)||this;return r.icon=r.appendChild(new rr({})),r.currentType=r.attributes.type,r}return t.prototype.getType=function(){return this.currentType},t.prototype.render=function(){var e=this,r=this.attributes,i=r.onChange,a=(0,G._T)(r,["onChange"]);ve(this.icon).selectAll(".icon").data([this.currentType]).join(function(s){return s.append(function(o){var l,c=(l=e.toggles.find(function(u){var h=(0,G.CR)(u,1),f=h[0];return f===o}))===null||l===void 0?void 0:l[1];if(!c)throw new Error("Invalid type: ".concat(o));return new c({})}).attr("className","icon").styles(a,!1).update({})},function(s){return s.styles({restStyles:a}).update({})},function(s){return s.remove()})},t.prototype.bindEvents=function(){var e=this,r=this.attributes.onChange;this.addEventListener("click",function(i){i.preventDefault(),i.stopPropagation();var a=(e.toggles.findIndex(function(o){var l=(0,G.CR)(o,1),c=l[0];return c===e.currentType})+1)%e.toggles.length,s=e.toggles[a][0];r==null||r(e.currentType),e.currentType=s,e.render()})},t.tag="ToggleIcon",t}(Dn),L0=function(n){(0,G.ZT)(t,n);function t(e){var r=n.call(this,$n({},{style:{type:"play"}},e))||this;return r.toggles=[["play",Q4],["pause",J4]],r}return t}(k0),D0=function(n){(0,G.ZT)(t,n);function t(e){var r=n.call(this,$n({},{style:{type:"range"}},e))||this;return r.toggles=[["range",q4],["value",$4]],r}return t}(k0),R0=function(n){(0,G.ZT)(t,n);function t(e){var r=n.call(this,$n({},{style:{type:"column"}},e))||this;return r.toggles=[["line",t8],["column",e8]],r}return t}(k0),r8={reset:Y4,speed:N0,backward:U4,playPause:L0,forward:K4,selectionType:D0,chartType:R0,split:n8},i8=function(n){(0,G.ZT)(t,n);function t(e){var r=n.call(this,$n({},t.defaultOptions,e))||this;return r.background=r.appendChild(new gr({})),r.functions=r.appendChild(new rr({})),r}return Object.defineProperty(t.prototype,"padding",{get:function(){return br(this.attributes.padding)},enumerable:!1,configurable:!0}),t.prototype.renderBackground=function(){var e=this.style,r=e.x,i=e.y,a=e.width,s=e.height,o=ke(this.attributes,"background");this.background.attr((0,G.pi)({x:r,y:i,width:a,height:s},o))},t.prototype.renderFunctions=function(){var e=this,r,i=this.attributes,a=i.functions,s=i.iconSize,o=i.iconSpacing,l=i.x,c=i.y,u=i.width,h=i.height,f=i.align,d=(0,G.CR)(this.padding,4),v=d[1],g=d[3],p=a.reduce(function(M,O){return M.length&&O.length?M.concat.apply(M,(0,G.ev)(["split"],(0,G.CR)(O),!1)):M.concat.apply(M,(0,G.ev)([],(0,G.CR)(O),!1))},[]),y=p.length*(s+o)-o,b={left:g+s/2,center:(u-y)/2+s/2,right:u-y-g-v+s/2}[f]||0;(r=this.speedSelect)===null||r===void 0||r.destroy(),this.functions.removeChildren(),p.forEach(function(M,O){var k,D=r8[M],j={x:l+O*(s+o)+b,y:c+h/2,size:s};if(D===N0?(j.speed=e.attributes.speed,j.onSelect=function(W){return e.handleFunctionChange(M,{value:W})}):[L0,D0,R0].includes(D)?(j.onChange=function(W){return e.handleFunctionChange(M,{value:W})},D===L0&&(j.type=e.attributes.state==="play"?"pause":"play"),D===D0&&(j.type=e.attributes.selectionType==="range"?"value":"range"),D===R0&&(j.type=e.attributes.chartType==="line"?"column":"line")):j.onClick=function(){return e.handleFunctionChange(M,{value:M})},D===N0){var B=(k=e.ownerDocument)===null||k===void 0?void 0:k.defaultView;B&&(e.speedSelect=new D({style:(0,G.pi)((0,G.pi)({},j),{zIndex:100})}),B.appendChild(e.speedSelect))}else e.functions.appendChild(new D({style:j}))})},t.prototype.disconnectedCallback=function(){var e;n.prototype.disconnectedCallback.call(this),(e=this.speedSelect)===null||e===void 0||e.destroy()},t.prototype.render=function(){this.renderBackground(),this.renderFunctions()},t.prototype.handleFunctionChange=function(e,r){var i=this.attributes.onChange;i==null||i(e,r)},t.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"]]}},t}(Dn),a8=function(n){(0,G.ZT)(t,n);function t(e){var r=n.call(this,$n({},t.defaultOptions,e))||this;return r.bindEvents(),r}return t.prototype.bindEvents=function(){var e=this;this.addEventListener("mouseenter",function(){e.attr("lineWidth",Math.ceil(+(e.style.r||0)/2))}),this.addEventListener("mouseleave",function(){e.attr("lineWidth",0)})},t.defaultOptions={style:{r:5,fill:"#3f7cf7",lineWidth:0,stroke:"#3f7cf7",strokeOpacity:.5,cursor:"pointer"}},t}(fa),s8=function(n){(0,G.ZT)(t,n);function t(e){return n.call(this,$n({},t.defaultOptions,e))||this}return t.prototype.renderBackground=function(){var e=this.attributes,r=e.x,i=e.y,a=e.width,s=e.height,o=ke(this.attributes,"background");ve(this).maybeAppend("background","rect").attr("className","background").styles((0,G.pi)({x:r-a/2,y:i-s/2,width:a,height:s},o))},t.prototype.renderIcon=function(){var e=this.attributes,r=e.x,i=e.y,a=e.iconSize,s=ke(this.attributes,"icon"),o=1,l=a/2;ve(this).maybeAppend("icon-left-line","line").attr("className","icon-left-line").styles((0,G.pi)({x1:r-o,y1:i-l,x2:r-o,y2:i+l},s)),ve(this).maybeAppend("icon-right-line","line").attr("className","icon-right-line").styles((0,G.pi)({x1:r+o,y1:i-l,x2:r+o,y2:i+l},s))},t.prototype.renderBorder=function(){var e=this.attributes,r=e.x,i=e.y,a=e.width,s=e.height,o=e.type,l=ke(this.attributes,"border"),c=o==="start"?+a/2:-a/2;ve(this).maybeAppend("border","line").attr("className","border").styles((0,G.pi)({x1:c+r,y1:i-s/2,x2:c+r,y2:i+s/2},l))},t.prototype.render=function(){this.renderBackground(),this.renderIcon(),this.renderBorder()},t.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}},t}(Dn);function o8(n,t){return typeof n=="number"?gE(n):l8(n,t)}function l8(n,t){var e=new Date(n);switch(t){case"half-hour":case"hour":case"four-hour":return[0,6,12,18].includes(e.getHours())&&e.getMinutes()===0?Fr(e,`HH:mm
YYYY-MM-DD`):Fr(e,"HH:mm");case"half-day":return e.getHours()<12?`AM
`.concat(Fr(e,"YYYY-MM-DD")):"PM";case"day":return[1,10,20].includes(e.getDate())?Fr(e,`DD
YYYY-MM`):Fr(e,"DD");case"week":return e.getDate()<=7?Fr(e,`DD
YYYY-MM`):Fr(e,"DD");case"month":return[0,6].includes(e.getMonth())?Fr(e,`MM\u6708
YYYY`):Fr(e,"MM\u6708");case"season":return[0].includes(e.getMonth())?Fr(e,`MM\u6708
YYYY`):Fr(e,"MM\u6708");case"year":return Fr(e,"YYYY");default:return Fr(e,"YYYY-MM-DD HH:mm")}}function gE(n){var t=String(Math.floor(n/3600)).padStart(2,"0"),e=String(Math.floor(n%3600/60)).padStart(2,"0"),r=String(Math.floor(n%60)).padStart(2,"0");return n<3600?"".concat(e,":").concat(r):"".concat(t,":").concat(e,":").concat(r)}var c8=function(n){(0,G.ZT)(t,n);function t(e){var r=n.call(this,$n({},t.defaultOptions,e))||this;r.axis=r.appendChild(new s4({style:{type:"linear",startPos:[0,0],endPos:[0,0],data:[],showArrow:!1,animate:!1}})),r.timeline=r.appendChild(new H4({style:{onChange:function(h){r.handleSliderChange(h)}}})),r.controller=r.appendChild(new i8({})),r.states={},r.handleSliderChange=function(h){var f=function(){var d=r.states.values;return Array.isArray(d)?(0,G.ev)([],(0,G.CR)(d),!1):d}();r.setBySliderValues(h),r.dispatchOnChange(f)};var i=r.attributes,a=i.selectionType,s=i.chartType,o=i.speed,l=i.state,c=i.playMode,u=i.values;return r.states={chartType:s,playMode:c,selectionType:a,speed:o,state:l},r.setByTimebarValues(u),r}return Object.defineProperty(t.prototype,"data",{get:function(){var e=this.attributes.data,r=function(i,a){return i.time<a.time?-1:i.time>a.time?1:0};return e.sort(r)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"space",{get:function(){var e=this.attributes,r=e.x,i=e.y,a=e.width,s=e.height,o=e.type,l=e.controllerHeight,c=Nn(+s-l,0,+s),u=new Tr(r,i+ +s-l,+a,l),h,f=0;o==="chart"?(f=35,h=new Tr(r,i+c-f,+a,f)):h=new Tr;var d=o==="time"?10:c,v=new Tr(r,i+(o==="time"?c:c-d),+a,d-f);return{axisBBox:h,controllerBBox:u,timelineBBox:v}},enumerable:!1,configurable:!0}),t.prototype.setBySliderValues=function(e){var r,i,a=this.data,s=(0,G.CR)(Array.isArray(e)?e:[0,e],2),o=s[0],l=s[1],c=a.length,u=a[Math.floor(o*c)],h=a[Math.ceil(l*c)-(Array.isArray(e)?0:1)];this.states.values=[(r=u==null?void 0:u.time)!==null&&r!==void 0?r:a[0].time,(i=h==null?void 0:h.time)!==null&&i!==void 0?i:1/0]},t.prototype.setByTimebarValues=function(e){var r,i,a,s=this.data,o=(0,G.CR)(Array.isArray(e)?e:[void 0,e],2),l=o[0],c=o[1],u=s.find(function(f){var d=f.time;return d===l}),h=s.find(function(f){var d=f.time;return d===c});this.states.values=[(r=u==null?void 0:u.time)!==null&&r!==void 0?r:(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]},t.prototype.setByIndex=function(e){var r,i,a,s,o=this.data,l=(0,G.CR)(e,2),c=l[0],u=l[1];this.states.values=[(i=(r=o[c])===null||r===void 0?void 0:r.time)!==null&&i!==void 0?i:o[0].time,(s=(a=this.data[u])===null||a===void 0?void 0:a.time)!==null&&s!==void 0?s:1/0]},Object.defineProperty(t.prototype,"sliderValues",{get:function(){var e=this.states,r=e.values,i=e.selectionType,a=(0,G.CR)(Array.isArray(r)?r:[void 0,r],2),s=a[0],o=a[1],l=this.data,c=l.length,u=i==="value",h=function(){var d=l.findIndex(function(v){var g=v.time;return g===s});return u?0:d>-1?d/c: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/c:u?.5:1};return[h(),f()]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"values",{get:function(){var e=this.states,r=e.values,i=e.selectionType,a=(0,G.CR)(Array.isArray(r)?r:[this.data[0].time,r],2),s=a[0],o=a[1];return i==="value"?o:[s,o]},enumerable:!1,configurable:!0}),t.prototype.getDatumByRatio=function(e){var r=this.data,i=r.length,a=Math.floor(e*(i-1));return r[a]},Object.defineProperty(t.prototype,"chartHandleIconShape",{get:function(){var e=this.states.selectionType,r=this.space.timelineBBox.height;return e==="range"?function(i){return new s8({style:{type:i,height:r,iconSize:r/6}})}:function(){return new Ps({style:{x1:0,y1:-r/2,x2:0,y2:r/2,lineWidth:2,stroke:"#c8c8c8"}})}},enumerable:!1,configurable:!0}),t.prototype.getChartStyle=function(e){var r=this,i=e.x,a=e.y,s=e.width,o=e.height,l=this.states,c=l.selectionType,u=l.chartType,h=this.data,f=this.attributes,d=f.type,v=f.labelFormatter,g=ke(this.attributes,"chart"),p=g.type,y=(0,G._T)(g,["type"]),b=c==="range";if(d==="time")return(0,G.pi)({handleIconShape:function(){return new a8({})},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:c,values:this.sliderValues,formatter:function(k){if(v)return v(k);var D=r.getDatumByRatio(k).time;return typeof D=="number"?gE(D):Fr(D,"YYYY-MM-DD HH:mm:ss")},transform:"translate(".concat(i,", ").concat(a,")"),zIndex:1},y);var M=c==="range"?5:0,O=h.map(function(k){var D=k.value;return D});return(0,G.pi)({handleIconOffset:M,handleIconShape:this.chartHandleIconShape,selectionFill:"#fff",selectionFillOpacity:.5,selectionType:"invert",sparklineSpacing:.1,sparklineColumnLineWidth:0,sparklineColor:"#d4e5fd",sparklineAreaOpacity:1,sparklineAreaLineWidth:0,sparklineData:O,sparklineType:u,sparklineScale:.8,trackLength:s,trackSize:o,type:c,values:this.sliderValues,transform:"translate(".concat(i,", ").concat(a,")"),zIndex:1},y)},t.prototype.renderChart=function(e){e===void 0&&(e=this.space.timelineBBox),this.timeline.update(this.getChartStyle(e))},t.prototype.updateSelection=function(){this.timeline.setValues(this.sliderValues,!0),this.handleSliderChange(this.sliderValues)},t.prototype.getAxisStyle=function(e){var r=this.data,i=this.attributes,a=i.interval,s=i.labelFormatter,o=ke(this.attributes,"axis"),l=e.x,c=e.y,u=e.width,h=(0,G.ev)((0,G.ev)([],(0,G.CR)(r),!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,G.pi)({startPos:[l,c],endPos:[l+u,c],data:h,labelFilter:function(d,v){return v<h.length-1},labelFormatter:function(d){var v=d.time;return s?s(v):o8(v,a)}},o);return f},t.prototype.renderAxis=function(e){e===void 0&&(e=this.space.axisBBox);var r=this.attributes.type;r==="chart"&&this.axis.update(this.getAxisStyle(e))},t.prototype.renderController=function(e){e===void 0&&(e=this.space.controllerBBox);var r=this.attributes.type,i=this.states,a=i.state,s=i.speed,o=i.selectionType,l=i.chartType,c=ke(this.attributes,"controller"),u=this,h=(0,G.pi)((0,G.pi)((0,G.pi)({},e),{iconSize:20,speed:s,state:a,selectionType:o,chartType:l,onChange:function(f,d){var v=d.value;switch(f){case"reset":u.internalReset();break;case"speed":u.handleSpeedChange(v);break;case"backward":u.internalBackward();break;case"playPause":v==="play"?u.internalPlay():u.internalPause();break;case"forward":u.internalForward();break;case"selectionType":u.handleSelectionTypeChange(v);break;case"chartType":u.handleChartTypeChange(v);break;default:break}}}),c);r==="time"&&(h.functions=[["reset","speed"],["backward","playPause","forward"],["selectionType"]]),this.controller.update(h)},t.prototype.dispatchOnChange=function(e){var r=this.data,i=this.attributes.onChange,a=this.states,s=a.values,o=a.selectionType,l=(0,G.CR)(s,2),c=l[0],u=l[1],h=u===1/0?r.at(-1).time:u,f=o==="range"?[c,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};(!e||!d(e,f))&&(i==null||i(o==="range"?[c,h]:h))},t.prototype.internalReset=function(e){var r,i,a=this.states.selectionType;this.internalPause(),this.setBySliderValues(a==="range"?[0,1]:[0,0]),this.renderController(),this.updateSelection(),e||((i=(r=this.attributes)===null||r===void 0?void 0:r.onReset)===null||i===void 0||i.call(r),this.dispatchOnChange())},t.prototype.reset=function(){this.internalReset()},t.prototype.moveSelection=function(e,r){var i=this.data,a=i.length,s=this.states,o=s.values,l=s.selectionType,c=s.playMode,u=(0,G.CR)(o,2),h=u[0],f=u[1],d=i.findIndex(function(M){var O=M.time;return O===h}),v=i.findIndex(function(M){var O=M.time;return O===f});v===-1&&(v=a);var g=e==="backward"?-1:1,p;l==="range"?c==="acc"?(p=[d,v+g],g===-1&&d===v&&(p=[d,a])):p=[d+g,v+g]:p=[d,v+g];var y=function(M){var O=(0,G.CR)(M.sort(function(B,W){return B-W}),2),k=O[0],D=O[1],j=function(B){return Nn(B,0,a)};return D>a?l==="value"?[0,0]:c==="acc"?[j(k),j(k)]:[0,j(D-k)]:k<0?c==="acc"?[0,j(D)]:[j(k+a-D),a]:[j(k),j(D)]},b=y(p);return this.setByIndex(b),this.updateSelection(),b},t.prototype.internalBackward=function(e){var r,i,a=this.moveSelection("backward",e);return e||((i=(r=this.attributes)===null||r===void 0?void 0:r.onBackward)===null||i===void 0||i.call(r),this.dispatchOnChange()),a},t.prototype.backward=function(){this.internalBackward()},t.prototype.internalPlay=function(e){var r=this,i,a,s=this.data,o=this.attributes.loop,l=this.states.speed,c=l===void 0?1:l;this.playInterval=window.setInterval(function(){var u=r.internalForward();u[1]===s.length&&!o&&(r.internalPause(),r.renderController())},1e3/c),this.states.state="play",!e&&((a=(i=this.attributes)===null||i===void 0?void 0:i.onPlay)===null||a===void 0||a.call(i))},t.prototype.play=function(){this.internalPlay()},t.prototype.internalPause=function(e){var r,i;clearInterval(this.playInterval),this.states.state="pause",!e&&((i=(r=this.attributes)===null||r===void 0?void 0:r.onPause)===null||i===void 0||i.call(r))},t.prototype.pause=function(){this.internalPause()},t.prototype.internalForward=function(e){var r,i,a=this.moveSelection("forward",e);return e||((i=(r=this.attributes)===null||r===void 0?void 0:r.onForward)===null||i===void 0||i.call(r),this.dispatchOnChange()),a},t.prototype.forward=function(){this.internalForward()},t.prototype.handleSpeedChange=function(e){var r,i;this.states.speed=e;var a=this.states.state;a==="play"&&(this.internalPause(!0),this.internalPlay(!0)),(i=(r=this.attributes)===null||r===void 0?void 0:r.onSpeedChange)===null||i===void 0||i.call(r,e)},t.prototype.handleSelectionTypeChange=function(e){var r,i;this.states.selectionType=e,this.renderChart(),(i=(r=this.attributes)===null||r===void 0?void 0:r.onSelectionTypeChange)===null||i===void 0||i.call(r,e)},t.prototype.handleChartTypeChange=function(e){var r,i;this.states.chartType=e,this.renderChart(),(i=(r=this.attributes)===null||r===void 0?void 0:r.onChartTypeChange)===null||i===void 0||i.call(r,e)},t.prototype.render=function(){var e=this.space,r=e.axisBBox,i=e.controllerBBox,a=e.timelineBBox;this.renderController(i),this.renderAxis(r),this.renderChart(a),this.states.state==="play"&&this.internalPlay()},t.prototype.destroy=function(){n.prototype.destroy.call(this),this.internalPause(!0)},t.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"}},t}(Dn);function u8(n){return n instanceof Date}var h8=function(n,t,e,r){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(u){try{c(r.next(u))}catch(h){s(h)}}function l(u){try{c(r.throw(u))}catch(h){s(h)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((r=r.apply(n,t||[])).next())})},f8=function(n,t){var e={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&t.indexOf(r)<0&&(e[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(n);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(n,r[i])&&(e[r[i]]=n[r[i]]);return e};const d8=["timestamp","time","date","datetime"];class Xh extends yr{get padding(){return Di(this.options.padding)}constructor(t,e){super(t,Object.assign({},Xh.defaultOptions,e)),this.backup(),this.upsertTimebar()}play(){var t;(t=this.timebar)===null||t===void 0||t.play()}pause(){var t;(t=this.timebar)===null||t===void 0||t.pause()}forward(){var t;(t=this.timebar)===null||t===void 0||t.forward()}backward(){var t;(t=this.timebar)===null||t===void 0||t.backward()}reset(){var t;(t=this.timebar)===null||t===void 0||t.reset()}update(t){super.update(t),this.backup(),this.upsertTimebar()}backup(){this.originalData=pE(this.context.graph.getData())}upsertTimebar(){const{canvas:t}=this.context,e=this.options,{onChange:r,timebarType:i,data:a,x:s,y:o,width:l,height:c,mode:u}=e,h=f8(e,["onChange","timebarType","data","x","y","width","height","mode"]),f=t.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 y=(Gr(p)?p:[p,p]).map(b=>u8(b)?b.getTime():b);this.options.mode==="modify"?this.filterElements(y):this.hiddenElements(y),r==null||r(y)}},h),{data:a.map(p=>ie(p)?{time:p,value:0}:p),width:l,height:c,type:i});this.timebar?this.timebar.update(g):(this.timebar=new c8({style:g}),(v=this.canvas)===null||v===void 0||v.appendChild(this.timebar))})}upsertCanvas(){if(this.canvas)return this.canvas;const{className:t,height:e,position:r}=this.options,i=this.context.canvas,[a]=i.getSize(),[s,,o]=this.padding,[l,c]=a0({width:a,height:e+s+o,graphCanvas:i,className:"timebar",placement:r});return this.container=l,t&&l.classList.add(t),this.canvas=c,this.canvas}filterElements(t){return h8(this,void 0,void 0,function*(){var e;if(!this.originalData)return;const{elementTypes:r,getTime:i}=this.options,{graph:a,element:s}=this.context,o=pE(this.originalData);r.forEach(c=>{const u=`${c}s`;o[u]=(this.originalData[u]||[]).filter(h=>{const f=i(h);return!!mE(f,t)})});const l=[...o.nodes,...o.combos].map(c=>Pt(c));o.edges=o.edges.filter(c=>{const u=c.source,h=c.target;return l.includes(u)&&l.includes(h)}),a.setData(o),yield(e=s.draw({animation:!1,silence:!0}))===null||e===void 0?void 0:e.finished})}hiddenElements(t){const{graph:e}=this.context,{elementTypes:r,getTime:i}=this.options,a=[],s=[];r.forEach(o=>{var l;const c=`${o}s`;(((l=this.originalData)===null||l===void 0?void 0:l[c])||[]).forEach(h=>{const f=Pt(h),d=i(h);mE(d,t)?s.push(f):a.push(f)})}),e.hideElement(a,!1),e.showElement(s,!1)}destroy(){var t,e,r;const{graph:i}=this.context;this.originalData&&i.setData(Object.assign({},this.originalData)),(t=this.timebar)===null||t===void 0||t.destroy(),(e=this.canvas)===null||e===void 0||e.destroy(),(r=this.container)===null||r===void 0||r.remove(),this.originalData=void 0,this.container=void 0,this.timebar=void 0,this.canvas=void 0,super.destroy()}}Xh.defaultOptions={position:"bottom",enable:!0,timebarType:"time",className:"g6-timebar",width:450,height:60,zIndex:3,elementTypes:["node"],padding:10,mode:"modify",getTime:n=>v8(n,d8,void 0),loop:!1};const pE=n=>{const{nodes:t=[],edges:e=[],combos:r=[]}=n;return{nodes:[...t],edges:[...e],combos:[...r]}},mE=(n,t)=>{if(ie(t))return n===t;const[e,r]=t;return n>=e&&n<=r},v8=(n,t,e)=>{var r;for(let i=0;i<t.length;i++){const a=t[i],s=(r=n.data)===null||r===void 0?void 0:r[a];if(s)return s}return e};function g8(n){const t={top:"unset",right:"unset",bottom:"unset",left:"unset"};return n.split("-").forEach(r=>{t[r]="8px"}),t.flexDirection=n.startsWith("top")||n.startsWith("bottom")?"row":"column",t}const p8=`
.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;
}
`,m8=`
<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 yE=function(n,t,e,r){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(u){try{c(r.next(u))}catch(h){s(h)}}function l(u){try{c(r.throw(u))}catch(h){s(h)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((r=r.apply(n,t||[])).next())})};class Vh extends yr{constructor(t,e){super(t,Object.assign({},Vh.defaultOptions,e)),this.$element=wo("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 r=this.context.canvas.getContainer();this.$element.style.display="flex",r.appendChild(this.$element),Gv("g6-toolbar-css","style",{},p8,document.head),Gv("g6-toolbar-svgicon","div",{display:"none"},m8),this.$element.addEventListener("click",this.onToolbarItemClick),this.update(e)}update(t){const e=Object.create(null,{update:{get:()=>super.update}});return yE(this,void 0,void 0,function*(){e.update.call(this,t);const{className:r,position:i,style:a}=this.options;this.$element.className=`g6-toolbar ${r||""}`,Object.assign(this.$element.style,a,g8(i)),this.$element.innerHTML=yield this.getDOMContent()})}destroy(){this.$element.removeEventListener("click",this.onToolbarItemClick),this.$element.remove(),super.destroy()}getDOMContent(){return yE(this,void 0,void 0,function*(){return(yield this.options.getItems()).map(e=>{var r;return`
<div class="g6-toolbar-item" value="${e.value}" title="${(r=e.title)!==null&&r!==void 0?r:""}">
<svg aria-hidden="true" focusable="false">
<use xlink:href="#${e.id}"></use>
</svg>
</div>`}).join("")})}}Vh.defaultOptions={position:"top-left"};function I0(n){var t=document.createElement("div");t.innerHTML=n;var e=t.childNodes[0];return e&&t.contains(e)&&t.removeChild(e),e}function y8(n,t){return!n||!t?n:n.replace(/\\?\{([^{}]+)\}/g,function(e,r){return e.charAt(0)==="\\"?e.slice(1):t[r]===void 0?"":t[r]})}var b8=y8,bE=function(n,t){if(t==null){n.innerHTML="";return}n.replaceChildren?Array.isArray(t)?n.replaceChildren.apply(n,(0,G.ev)([],(0,G.CR)(t),!1)):n.replaceChildren(t):(n.innerHTML="",Array.isArray(t)?t.forEach(function(e){return n.appendChild(e)}):n.appendChild(t))};function B0(n){return n===void 0&&(n=""),{CONTAINER:"".concat(n,"tooltip"),TITLE:"".concat(n,"tooltip-title"),LIST:"".concat(n,"tooltip-list"),LIST_ITEM:"".concat(n,"tooltip-list-item"),NAME:"".concat(n,"tooltip-list-item-name"),MARKER:"".concat(n,"tooltip-list-item-marker"),NAME_LABEL:"".concat(n,"tooltip-list-item-name-label"),VALUE:"".concat(n,"tooltip-list-item-value"),CROSSHAIR_X:"".concat(n,"tooltip-crosshair-x"),CROSSHAIR_Y:"".concat(n,"tooltip-crosshair-y")}}var xE={overflow:"hidden","white-space":"nowrap","text-overflow":"ellipsis"};function x8(n){var t;n===void 0&&(n="");var e=B0(n);return t={},t[".".concat(e.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"},t[".".concat(e.TITLE)]={color:"rgba(0, 0, 0, 0.45)"},t[".".concat(e.LIST)]={margin:"0px","list-style-type":"none",padding:"0px"},t[".".concat(e.LIST_ITEM)]={"list-style-type":"none",display:"flex","line-height":"2em","align-items":"center","justify-content":"space-between","white-space":"nowrap"},t[".".concat(e.MARKER)]={width:"8px",height:"8px","border-radius":"50%",display:"inline-block","margin-right":"4px"},t[".".concat(e.NAME)]={display:"flex","align-items":"center","max-width":"216px"},t[".".concat(e.NAME_LABEL)]=(0,G.pi)({flex:1},xE),t[".".concat(e.VALUE)]=(0,G.pi)({display:"inline-block",float:"right",flex:1,"text-align":"right","min-width":"28px","margin-left":"30px",color:"rgba(0, 0, 0, 0.85)"},xE),t[".".concat(e.CROSSHAIR_X)]={position:"absolute",width:"1px","background-color":"rgba(0, 0, 0, 0.25)"},t[".".concat(e.CROSSHAIR_Y)]={position:"absolute",height:"1px","background-color":"rgba(0, 0, 0, 0.25)"},t}var E8=function(n){(0,G.ZT)(t,n);function t(e){var r=this,i,a,s=(a=(i=e.style)===null||i===void 0?void 0:i.template)===null||a===void 0?void 0:a.prefixCls,o=B0(s);return r=n.call(this,e,{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:x8(s)})||this,r.timestamp=-1,r.prevCustomContentKey=r.attributes.contentKey,r.initShape(),r.render(r.attributes,r),r}return Object.defineProperty(t.prototype,"HTMLTooltipElement",{get:function(){return this.element},enumerable:!1,configurable:!0}),t.prototype.getContainer=function(){return this.element},Object.defineProperty(t.prototype,"elementSize",{get:function(){var e=this.element.offsetWidth,r=this.element.offsetHeight;return{width:e,height:r}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"HTMLTooltipItemsElements",{get:function(){var e=this.attributes,r=e.data,i=e.template;return r.map(function(a,s){var o=a.name,l=o===void 0?"":o,c=a.color,u=c===void 0?"black":c,h=a.index,f=(0,G._T)(a,["name","color","index"]),d=(0,G.pi)({name:l,color:u,index:h!=null?h:s},f);return I0(b8(i.item,d))})},enumerable:!1,configurable:!0}),t.prototype.render=function(e,r){this.renderHTMLTooltipElement(),this.updatePosition()},t.prototype.destroy=function(){var e;(e=this.element)===null||e===void 0||e.remove(),n.prototype.destroy.call(this)},t.prototype.show=function(e,r){var i=this;if(e!==void 0&&r!==void 0){var a=this.element.style.visibility==="hidden",s=function(){i.attributes.x=e!=null?e:i.attributes.x,i.attributes.y=r!=null?r:i.attributes.y,i.updatePosition()};a?this.closeTransition(s):s()}this.element.style.visibility="visible"},t.prototype.hide=function(e,r){e===void 0&&(e=0),r===void 0&&(r=0);var i=this.attributes.enterable;i&&this.isCursorEntered(e,r)||(this.element.style.visibility="hidden")},t.prototype.initShape=function(){var e=this.attributes.template;this.element=I0(e.container),this.id&&this.element.setAttribute("id",this.id)},t.prototype.renderCustomContent=function(){if(!(this.prevCustomContentKey!==void 0&&this.prevCustomContentKey===this.attributes.contentKey)){this.prevCustomContentKey=this.attributes.contentKey;var e=this.attributes.content;e&&(typeof e=="string"?this.element.innerHTML=e:bE(this.element,e))}},t.prototype.renderHTMLTooltipElement=function(){var e,r,i=this.attributes,a=i.template,s=i.title,o=i.enterable,l=i.style,c=i.content,u=B0(a.prefixCls),h=this.element;if(this.element.style.pointerEvents=o?"auto":"none",c)this.renderCustomContent();else{s?(h.innerHTML=a.title,h.getElementsByClassName(u.TITLE)[0].innerHTML=s):(r=(e=h.getElementsByClassName(u.TITLE))===null||e===void 0?void 0:e[0])===null||r===void 0||r.remove();var f=this.HTMLTooltipItemsElements,d=document.createElement("ul");d.className=u.LIST,bE(d,f);var v=this.element.querySelector(".".concat(u.LIST));v?v.replaceWith(d):h.appendChild(d)}GI(h,l)},t.prototype.getRelativeOffsetFromCursor=function(e){var r=this.attributes,i=r.position,a=r.offset,s=e||i,o=s.split("-"),l={left:[-1,0],right:[1,0],top:[0,-1],bottom:[0,1]},c=this.elementSize,u=c.width,h=c.height,f=[-u/2,-h/2];return o.forEach(function(d){var v=(0,G.CR)(f,2),g=v[0],p=v[1],y=(0,G.CR)(l[d],2),b=y[0],M=y[1];f=[g+(u/2+a[0])*b,p+(h/2+a[1])*M]}),f},t.prototype.setOffsetPosition=function(e){var r=(0,G.CR)(e,2),i=r[0],a=r[1],s=this.attributes,o=s.x,l=o===void 0?0:o,c=s.y,u=c===void 0?0:c,h=s.container,f=h.x,d=h.y;this.element.style.left="".concat(+l+f+i,"px"),this.element.style.top="".concat(+u+d+a,"px")},t.prototype.updatePosition=function(){var e=this.attributes.showDelay,r=e===void 0?60:e,i=Date.now();this.timestamp>0&&i-this.timestamp<r||(this.timestamp=i,this.setOffsetPosition(this.autoPosition(this.getRelativeOffsetFromCursor())))},t.prototype.autoPosition=function(e){var r=(0,G.CR)(e,2),i=r[0],a=r[1],s=this.attributes,o=s.x,l=s.y,c=s.bounding,u=s.position;if(!c)return[i,a];var h=this.element,f=h.offsetWidth,d=h.offsetHeight,v=(0,G.CR)([+o+i,+l+a],2),g=v[0],p=v[1],y={left:"right",right:"left",top:"bottom",bottom:"top"},b=c.x,M=c.y,O=c.width,k=c.height,D={left:g<b,right:g+f>b+O,top:p<M,bottom:p+d>M+k},j=[];u.split("-").forEach(function(W){D[W]?j.push(y[W]):j.push(W)});var B=j.join("-");return this.getRelativeOffsetFromCursor(B)},t.prototype.isCursorEntered=function(e,r){if(this.element){var i=this.element.getBoundingClientRect(),a=i.x,s=i.y,o=i.width,l=i.height;return new Tr(a,s,o,l).isPointIn(e,r)}return!1},t.prototype.closeTransition=function(e){var r=this,i=this.element.style.transition;this.element.style.transition="none",e(),setTimeout(function(){r.element.style.transition=i},10)},t.tag="tooltip",t}(Dn),EE=function(n,t,e,r){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(u){try{c(r.next(u))}catch(h){s(h)}}function l(u){try{c(r.throw(u))}catch(h){s(h)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((r=r.apply(n,t||[])).next())})};class Yh extends yr{constructor(t,e){super(t,Object.assign({},Yh.defaultOptions,e)),this.currentTarget=null,this.tooltipElement=null,this.container=null,this.isEnable=(r,i)=>{const{enable:a}=this.options;return typeof a=="function"?a(r,i):a},this.onClick=r=>{const{target:{id:i}}=r;this.currentTarget===i?this.hide(r):this.show(r)},this.onPointerMove=r=>{const{target:i}=r;!this.currentTarget||i.id===this.currentTarget||this.show(r)},this.onPointerLeave=r=>{this.hide(r)},this.onCanvasMove=r=>{this.hide(r)},this.onPointerOver=r=>{this.show(r)},this.showById=r=>EE(this,void 0,void 0,function*(){const i={target:{id:r}};yield this.show(i)}),this.getElementData=(r,i)=>{const{model:a}=this.context;switch(i){case"node":return a.getNodeData([r]);case"edge":return a.getEdgeData([r]);case"combo":return a.getComboData([r]);default:return[]}},this.show=r=>EE(this,void 0,void 0,function*(){var i,a;const{client:s,target:{id:o}}=r;if(Sl(r.target))return;const l=this.context.graph.getElementType(o),{getContent:c,title:u}=this.options,h=this.getElementData(o,l);if(!this.tooltipElement||!this.isEnable(r,h))return;let f={};if(c){if(f.content=yield c(r,h),!f.content)return}else{const g=this.context.graph.getElementRenderStyle(o),p=l==="node"?g.fill:g.stroke;f={title:u||l,data:h.map(y=>({name:"ID",value:y.id||`${y.source} -> ${y.target}`,color:p}))}}this.currentTarget=o;let d,v;if(s)d=s.x,v=s.y;else{const g=Br(h,"0.style",{x:0,y:0});d=g.x,v=g.y}(a=(i=this.options).onOpenChange)===null||a===void 0||a.call(i,!0),this.tooltipElement.update(Object.assign(Object.assign(Object.assign({},this.tooltipStyleProps),{x:d,y:v,style:{".tooltip":{visibility:"visible"}}}),f))}),this.hide=r=>{var i,a,s,o,l;if(!r){(a=(i=this.options).onOpenChange)===null||a===void 0||a.call(i,!1),(s=this.tooltipElement)===null||s===void 0||s.hide(),this.currentTarget=null;return}if(!this.tooltipElement||!this.currentTarget)return;const{client:{x:c,y:u}}=r;(l=(o=this.options).onOpenChange)===null||l===void 0||l.call(o,!1),this.tooltipElement.hide(c,u),this.currentTarget=null},this.initTooltip=()=>{var r;const i=new E8({className:"tooltip",style:this.tooltipStyleProps});return(r=this.container)===null||r===void 0||r.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:pointerover":this.onPointerOver,"node:pointermove":this.onPointerMove,"canvas:pointermove":this.onCanvasMove,"edge:pointerover":this.onPointerOver,"edge:pointermove":this.onPointerMove,"combo:pointerover":this.onPointerOver,"combo:pointermove":this.onPointerMove,contextmenu:this.onPointerLeave,"node:drag":this.onPointerLeave}}update(t){var e;this.unbindEvents(),super.update(t),this.tooltipElement&&((e=this.container)===null||e===void 0||e.removeChild(this.tooltipElement.HTMLTooltipElement)),this.tooltipElement=this.initTooltip(),this.bindEvents()}render(){const{canvas:t}=this.context,e=t.getContainer();e&&(this.container=e,this.tooltipElement=this.initTooltip())}unbindEvents(){const{graph:t}=this.context,e=this.getEvents();Object.keys(e).forEach(r=>{t.off(r,e[r])})}bindEvents(){const{graph:t}=this.context,e=this.getEvents();Object.keys(e).forEach(r=>{t.on(r,e[r])})}get tooltipStyleProps(){const{canvas:t}=this.context,{center:e}=t.getBounds(),r=t.getContainer(),{top:i,left:a}=r.getBoundingClientRect(),{style:s,position:o,enterable:l,container:c={x:-a,y:-i},title:u,offset:h}=this.options,[f,d]=e,[v,g]=t.getSize();return{x:f,y:d,container:c,title:u,bounding:{x:0,y:0,width:v,height:g},position:o,enterable:l,offset:h,style:s}}destroy(){var t;this.unbindEvents(),this.tooltipElement&&((t=this.container)===null||t===void 0||t.removeChild(this.tooltipElement.HTMLTooltipElement)),super.destroy()}}Yh.defaultOptions={trigger:"hover",position:"top-right",enterable:!1,enable:!0,offset:[10,10],style:{".tooltip":{visibility:"hidden"}}};var wE=function(n,t,e,r){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(u){try{c(r.next(u))}catch(h){s(h)}}function l(u){try{c(r.throw(u))}catch(h){s(h)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((r=r.apply(n,t||[])).next())})};let Oo;function ME(n,t){return Oo||(Oo=document.createElement("canvas")),Oo.width=n,Oo.height=t,Oo.getContext("2d").clearRect(0,0,n,t),Oo}function w8(n,t,e,r){return wE(this,void 0,void 0,function*(){const i=ME(n,t),a=i.getContext("2d"),{rotate:s,opacity:o,textFill:l,textFontSize:c,textFontFamily:u,textFontVariant:h,textFontWeight:f,textAlign:d,textBaseline:v}=r;return a.textAlign=d,a.textBaseline=v,a.translate(n/2,t/2),a.font=`${c}px ${u} ${h} ${f}`,s&&a.rotate(s),o&&(a.globalAlpha=o),l&&(a.fillStyle=l,a.fillText(`${e}`,0,0)),i.toDataURL()})}function M8(n,t,e,r){return wE(this,void 0,void 0,function*(){const i=ME(n,t),a=i.getContext("2d"),{rotate:s,opacity:o}=r;s&&a.rotate(s),o&&(a.globalAlpha=o);const l=new Image;return l.crossOrigin="anonymous",l.src=e,new Promise(c=>{l.onload=function(){const u=n>l.width?(n-l.width)/2:0,h=t>l.height?(t-l.height)/2:0;a.drawImage(l,0,0,l.width,l.height,u,h,n-u*2,t-h*2),c(i.toDataURL())}})})}var A8=function(n,t,e,r){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(u){try{c(r.next(u))}catch(h){s(h)}}function l(u){try{c(r.throw(u))}catch(h){s(h)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((r=r.apply(n,t||[])).next())})},P8=function(n,t){var e={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&t.indexOf(r)<0&&(e[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(n);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(n,r[i])&&(e[r[i]]=n[r[i]]);return e};class Uh extends yr{constructor(t,e){super(t,Object.assign({},Uh.defaultOptions,e)),this.$element=wo("watermark"),this.context.canvas.getContainer().appendChild(this.$element),this.update(e)}update(t){const e=Object.create(null,{update:{get:()=>super.update}});return A8(this,void 0,void 0,function*(){e.update.call(this,t);const r=this.options,{width:i,height:a,text:s,imageURL:o}=r,l=P8(r,["width","height","text","imageURL"]);Object.keys(l).forEach(u=>{u.startsWith("background")&&(this.$element.style[u]=t[u])});const c=o?yield M8(i,a,o,l):yield w8(i,a,s,l);this.$element.style.backgroundImage=`url(${c})`})}destroy(){super.destroy(),this.$element.remove()}}Uh.defaultOptions={width:200,height:100,opacity:.2,rotate:Math.PI/12,text:"",textFill:"#000",textFontSize:16,textAlign:"center",textBaseline:"middle",backgroundRepeat:"repeat"};const S8=["#7E92B5","#F4664A","#FFBE3A"],O8={type:"group",color:["#1783FF","#00C9C9","#F08F56","#D580FF","#7863FF","#DB9D0D","#60C42D","#FF80CA","#2491B3","#17C76F"]},T8={type:"group",color:["#99ADD1","#1783FF","#00C9C9","#F08F56","#D580FF","#7863FF","#DB9D0D","#60C42D","#FF80CA","#2491B3","#17C76F"]};function AE(n){const{bgColor:t,textColor:e,nodeColor:r,nodeColorDisabled:i,nodeStroke:a,nodeHaloStrokeOpacityActive:s=.15,nodeHaloStrokeOpacitySelected:o=.25,nodeOpacityDisabled:l=.06,nodeIconOpacityInactive:c=.85,nodeOpacityInactive:u=.25,nodeBadgePalette:h=S8,nodePaletteOptions:f=O8,edgeColor:d,edgeColorDisabled:v,edgePaletteOptions:g=T8,comboColor:p,comboColorDisabled:y,comboStroke:b,comboStrokeDisabled:M,edgeColorInactive:O}=n;return{background:t,node:{palette:f,style:{donutOpacity:1,badgeBackgroundOpacity:1,badgeFill:"#fff",badgeFontSize:8,badgePadding:[0,4],badgePalette:h,fill:r,fillOpacity:1,halo:!1,iconFill:"#fff",iconOpacity:1,labelBackground:!1,labelBackgroundFill:t,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelFill:e,labelFillOpacity:.85,labelLineHeight:16,labelPadding:[0,2],labelFontSize:12,labelFontWeight:400,labelOpacity:1,labelOffsetY:2,lineWidth:0,portFill:r,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:u,donutOpacity:u,fillOpacity:u,iconOpacity:c,labelFill:e,labelFillOpacity:u,strokeOpacity:u},disabled:{badgeBackgroundOpacity:.25,donutOpacity:l,fill:i,fillOpacity:l,iconFill:i,iconOpacity:.25,labelFill:e,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:t,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelBackgroundPadding:[4,4,4,4],labelFill:e,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:t,collapsedMarkerFontSize:12,collapsedMarkerFillOpacity:1,collapsedSize:32,collapsedFillOpacity:1,fill:p,halo:!1,haloLineWidth:12,haloStroke:b,haloStrokeOpacity:.25,labelBackground:!1,labelBackgroundFill:t,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelBackgroundPadding:[2,4,2,4],labelFill:e,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:y,fillOpacity:.25,labelOpacity:.25,stroke:M,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 C8=AE({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"}),N8=AE({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"});class es extends Gd{beforeDraw(t,e){return t}afterLayout(t,e){}}class k8 extends es{beforeDraw(t){const{model:e}=this.context,r=t.add.combos,i=a=>{const s=[];return a.forEach((o,l)=>{const u=e.getAncestorsData(l,"combo").map(h=>Pt(h)).reverse();s.push([l,o,u.length])}),new Map(s.sort(([,,o],[,,l])=>l-o).map(([o,l])=>[o,l]))};return t.add.combos=i(r),t.update.combos=i(t.update.combos),t}}function ci(n,t,e,r,i){const a=Pt(r),s=`${e}s`,o=i?r:n.add[s].get(a)||n.update[s].get(a)||n.remove[s].get(a)||r;Object.entries(n).forEach(([l,c])=>{t===l?c[s].set(a,o):c[s].delete(a)})}function Kh(n,t){return Object.keys(n).every(e=>n[e]===t[e])}class L8 extends es{beforeDraw(t,e){if(e.stage==="visibility"||!this.context.model.model.hasTreeStructure(hn))return t;const{model:r}=this.context,{add:i,update:a}=t,s=[...t.update.combos.entries(),...t.add.combos.entries()];for(;s.length;){const[o,l]=s.pop();if(Qr(l)){const c=r.getDescendantsData(o),u=c.map(Pt),{internal:h,external:f}=dv(u,d=>r.getRelatedEdgesData(d));c.forEach(d=>{const v=Pt(d),g=s.findIndex(([y])=>y===v);g!==-1&&s.splice(g,1);const p=r.getElementType(v);ci(t,"remove",p,d)}),h.forEach(d=>ci(t,"remove","edge",d)),f.forEach(d=>{var v;const g=Pt(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 c=r.getChildrenData(o),u=c.map(Pt),{edges:h}=dv(u,f=>r.getRelatedEdgesData(f));[...c,...h].forEach(f=>{var d;const v=Pt(f),g=r.getElementType(v);((d=this.context.element)===null||d===void 0?void 0:d.getElement(v))?ci(t,"update",g,f):ci(t,"add",g,f),g==="combo"&&s.push([v,f])})}}return t}}const PE=(n,t,e,r)=>{const i=`${e}s`,a=Pt(r);!n.add[i].has(a)&&!n.update[i].has(a)&&n[t][i].set(Pt(r),r)};class D8 extends es{getElement(t){return this.context.element.getElement(t)}handleExpand(t,e){if(PE(e,"add","node",t),Qr(t))return;const r=Pt(t);PE(e,"add","node",t),this.context.model.getRelatedEdgesData(r).forEach(s=>{ci(e,"add","edge",s)}),this.context.model.getChildrenData(r).forEach(s=>{this.handleExpand(s,e)})}beforeDraw(t){const{graph:e,model:r}=this.context;if(!r.model.hasTreeStructure(ni))return t;const{add:{nodes:i,edges:a},update:{nodes:s}}=t,o=new Map,l=new Map;i.forEach((u,h)=>{Qr(u)&&o.set(h,u)}),a.forEach(u=>{if(e.getElementType(u.source)!=="node")return;const h=e.getNodeData(u.source);Qr(h)&&o.set(u.source,h)}),s.forEach((u,h)=>{const f=this.getElement(h);if(!f)return;const d=f.attributes.collapsed;Qr(u)?d||o.set(h,u):d&&l.set(h,u)});const c=new Set;return o.forEach((u,h)=>{r.getDescendantsData(h).forEach(d=>{const v=Pt(d);if(c.has(v))return;ci(t,"remove","node",d),r.getRelatedEdgesData(v).forEach(p=>{ci(t,"remove","edge",p)}),c.add(v)})}),l.forEach((u,h)=>{if(r.getAncestorsData(h,ni).some(Qr)){ci(t,"remove","node",u);return}this.handleExpand(u,t)}),t}}const z0=new WeakMap;function AZ(n,t,e){z0.has(n)||z0.set(n,{});const r=z0.get(n);if(!r[t])return r[t]=e,!0;const i=r[t];return SE(i,e)?!1:(r[t]=e,!0)}const SE=(n,t,e=2)=>{if(typeof n!="object"||typeof t!="object")return n===t;const r=Object.keys(n),i=Object.keys(t);if(r.length!==i.length)return!1;for(const a of r){const s=n[a],o=t[a];if(e>1&&typeof s=="object"&&typeof o=="object"){if(!SE(s,o,e-1))return!1}else if(s!==o)return!1}return!0};function R8(n,t,e){Sd[n][t]&&Kr.warn(`The extension ${t} of ${n} has been registered before, and will be overridden.`),Object.assign(Sd[n],{[t]:e})}var OE=function(){function n(t){(0,C.Z)(this,n),this.dragndropPluginOptions=t}return(0,S.Z)(n,[{key:"apply",value:function(e){var r=this,i=e.renderingService,a=e.renderingContext,s=a.root.ownerDocument,o=s.defaultView,l=function(u){var h=u.target,f=h===s,d=f&&r.dragndropPluginOptions.isDocumentDraggable?s:h.closest&&h.closest("[draggable=true]");if(d){var v=!1,g=u.timeStamp,p=[u.clientX,u.clientY],y=null,b=[u.clientX,u.clientY],M=function(){var k=(0,Da.Z)((0,Sr.Z)().mark(function D(j){var B,W,V,q,$,ot;return(0,Sr.Z)().wrap(function(ct){for(;;)switch(ct.prev=ct.next){case 0:if(v){ct.next=2;break}if(B=j.timeStamp-g,W=Hr([j.clientX,j.clientY],p),!(B<=r.dragndropPluginOptions.dragstartTimeThreshold||W<=r.dragndropPluginOptions.dragstartDistanceThreshold)){ct.next=1;break}return ct.abrupt("return");case 1:j.type="dragstart",d.dispatchEvent(j),v=!0;case 2:if(j.type="drag",j.dx=j.clientX-b[0],j.dy=j.clientY-b[1],d.dispatchEvent(j),b=[j.clientX,j.clientY],f){ct.next=4;break}return V=r.dragndropPluginOptions.overlap==="pointer"?[j.canvasX,j.canvasY]:h.getBounds().center,ct.next=3,s.elementsFromPoint(V[0],V[1]);case 3:q=ct.sent,$=q[q.indexOf(h)+1],ot=($==null?void 0:$.closest("[droppable=true]"))||(r.dragndropPluginOptions.isDocumentDroppable?s:null),y!==ot&&(y&&(j.type="dragleave",j.target=y,y.dispatchEvent(j)),ot&&(j.type="dragenter",j.target=ot,ot.dispatchEvent(j)),y=ot,y&&(j.type="dragover",j.target=y,y.dispatchEvent(j)));case 4:case"end":return ct.stop()}},D)}));return function(j){return k.apply(this,arguments)}}();o.addEventListener("pointermove",M);var O=function(D){if(v){D.detail={preventClick:!0};var j=D.clone();y&&(j.type="drop",j.target=y,y.dispatchEvent(j)),j.type="dragend",d.dispatchEvent(j),v=!1}o.removeEventListener("pointermove",M)};h.addEventListener("pointerup",O,{once:!0}),h.addEventListener("pointerupoutside",O,{once:!0})}};i.hooks.init.tap(n.tag,function(){o.addEventListener("pointerdown",l)}),i.hooks.destroy.tap(n.tag,function(){o.removeEventListener("pointerdown",l)})}}])}();OE.tag="Dragndrop";var I8=function(n){function t(){var e,r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,C.Z)(this,t),e=(0,R.Z)(this,t),e.name="dragndrop",e.options=r,e}return(0,T.Z)(t,n),(0,S.Z)(t,[{key:"init",value:function(){this.addRenderingPlugin(new OE((0,z.Z)({overlap:"pointer",isDocumentDraggable:!1,isDocumentDroppable:!1,dragstartDistanceThreshold:0,dragstartTimeThreshold:0},this.options)))}},{key:"destroy",value:function(){this.removeAllRenderingPlugins()}},{key:"setOptions",value:function(r){Object.assign(this.plugins[0].dragndropPluginOptions,r)}}])}(Ra),TE=function(n,t,e,r){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(u){try{c(r.next(u))}catch(h){s(h)}}function l(u){try{c(r.throw(u))}catch(h){s(h)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((r=r.apply(n,t||[])).next())})},CE=function(n,t){var e={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&t.indexOf(r)<0&&(e[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(n);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(n,r[i])&&(e[r[i]]=n[r[i]]);return e};const NE=["main"],kE=["background","main","label","transient"];function B8(n){return n.main}class LE{getConfig(){return this.config}getLayer(t="main"){return this.extends.layers[t]||B8(this.getLayers())}getLayers(){return this.extends.layers}getRenderer(t){return this.extends.renderers[t]}getCamera(t="main"){return this.getLayer(t).getCamera()}getRoot(t="main"){return this.getLayer(t).getRoot()}getContextService(t="main"){return this.getLayer(t).getContextService()}setCursor(t){this.config.cursor=t,this.getLayer().setCursor(t)}get document(){return this.getLayer().document}get context(){return this.getLayer().context}constructor(t){this.config={enableMultiLayer:!0},Object.assign(this.config,t);const e=this.config,{renderer:r,background:i,cursor:a,enableMultiLayer:s}=e,o=CE(e,["renderer","background","cursor","enableMultiLayer"]),l=s?kE:NE,c=DE(r,l),u=Object.fromEntries(l.map(h=>{const f=new gd(Object.assign(Object.assign({},o),{supportsMutipleCanvasesInOneContainer:s,renderer:c[h],background:s?h==="background"?i:void 0:i}));return[h,f]}));RE(u),this.extends={config:this.config,renderer:r,renderers:c,layers:u}}get ready(){return Promise.all(Object.entries(this.getLayers()).map(([,t])=>t.ready))}resize(t,e){Object.assign(this.extends.config,{width:t,height:e}),Object.values(this.getLayers()).forEach(r=>{const i=r.getCamera(),a=i.getPosition(),s=i.getFocalPoint();r.resize(t,e),i.setPosition(a),i.setFocalPoint(s)})}getBounds(t){return hl(Object.values(this.getLayers()).map(e=>t?e.getRoot().childNodes.find(i=>i.classList.includes(t)):e.getRoot()).filter(e=>(e==null?void 0:e.childNodes.length)>0).map(e=>e.getBounds()))}getContainer(){const t=this.extends.config.container;return typeof t=="string"?document.getElementById(t):t}getSize(){return[this.extends.config.width||0,this.extends.config.height||0]}appendChild(t,e){var r;const i=((r=t.style)===null||r===void 0?void 0:r.$layer)||"main";return this.getLayer(i).appendChild(t,e)}setRenderer(t){if(t===this.extends.renderer)return;const e=DE(t,this.config.enableMultiLayer?kE:NE);this.extends.renderers=e,Object.entries(e).forEach(([r,i])=>this.getLayer(r).setRenderer(i)),RE(this.getLayers())}getCanvasByViewport(t){return mr(this.getLayer().viewport2Canvas(ji(t)))}getViewportByCanvas(t){return mr(this.getLayer().canvas2Viewport(ji(t)))}getViewportByClient(t){return mr(this.getLayer().client2Viewport(ji(t)))}getClientByViewport(t){return mr(this.getLayer().viewport2Client(ji(t)))}getClientByCanvas(t){return this.getClientByViewport(this.getViewportByCanvas(t))}getCanvasByClient(t){const e=this.getLayer(),r=e.client2Viewport(ji(t));return mr(e.viewport2Canvas(r))}toDataURL(){return TE(this,arguments,void 0,function*(t={}){const e=globalThis.devicePixelRatio||1,{mode:r="viewport"}=t,i=CE(t,["mode"]);let[a,s,o,l]=[0,0,0,0];if(r==="viewport")[o,l]=this.getSize();else if(r==="overall"){const y=this.getBounds(),b=za(y);[a,s]=y.min,[o,l]=b}const c=I0('<div id="virtual-image"></div>'),u=new gd({width:o,height:l,renderer:new wl,devicePixelRatio:e,container:c,background:this.extends.config.background});yield u.ready,u.appendChild(this.getLayer("background").getRoot().cloneNode(!0)),u.appendChild(this.getRoot().cloneNode(!0));const h=this.getLayer("label").getRoot().cloneNode(!0),f=u.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()),u.appendChild(h),u.appendChild(this.getLayer("transient").getRoot().cloneNode(!0));const v=this.getCamera(),g=u.getCamera();if(r==="viewport")g.setZoom(v.getZoom()),g.setPosition(v.getPosition()),g.setFocalPoint(v.getFocalPoint());else if(r==="overall"){const[y,b,M]=g.getPosition(),[O,k,D]=g.getFocalPoint();g.setPosition([y+a,b+s,M]),g.setFocalPoint([O+a,k+s,D])}const p=u.getContextService();return new Promise(y=>{u.addEventListener(ei.RERENDER,()=>TE(this,void 0,void 0,function*(){yield new Promise(M=>setTimeout(M,300));const b=yield p.toDataURL(i);y(b)}))})})}destroy(){Object.values(this.getLayers()).forEach(t=>{t.getCamera().cancelLandmarkAnimation(),t.destroy()})}}function DE(n,t){return Object.fromEntries(t.map(e=>{const r=(n==null?void 0:n(e))||new wl;return r instanceof wl&&r.setConfig({enableDirtyRectangleRendering:!1}),e==="main"?r.registerPlugin(new I8({isDocumentDraggable:!0,isDocumentDroppable:!0,dragstartDistanceThreshold:10,dragstartTimeThreshold:100})):r.unregisterPlugin(r.getPlugin("dom-interaction")),[e,r]}))}function RE(n){Object.entries(n).forEach(([t,e])=>{const r=e.getContextService().getDomElement();r!=null&&r.style&&(r.style.gridArea="1 / 1 / 2 / 2",r.style.outline="none",r.tabIndex=1,t!=="main"&&(r.style.pointerEvents="none")),r!=null&&r.parentElement&&(r.parentElement.style.display="grid",r.parentElement.style.isolation="isolate")})}const To=n=>n?parseInt(n):0;function z8(n){const t=getComputedStyle(n),e=n.clientWidth||To(t.width),r=n.clientHeight||To(t.height),i=To(t.paddingLeft)+To(t.paddingRight),a=To(t.paddingTop)+To(t.paddingBottom);return[e-i,r-a]}function IE(n){if(!n)return[0,0];let t=640,e=480;const[r,i]=z8(n);t=r||t,e=i||e;const a=1,s=1;return[Math.max(ie(t)?t:a,a),Math.max(ie(e)?e:s,s)]}class Qh{constructor(t){this.type=t}}class tr extends Qh{constructor(t,e){super(t),this.data=e}}class Mi extends Qh{constructor(t,e,r,i){super(t),this.animationType=e,this.animation=r,this.data=i}}class Co extends Qh{constructor(t,e,r){super(t),this.elementType=e,this.data=r}}class Jh extends Qh{constructor(t,e){super(t),this.data=e}}function sr(n,t){n.emit(t.type,t)}function j8(n){if(!n)return null;if(n instanceof nm)return{type:"canvas",element:n};let t=n;for(;t;){if(Al(t))return{type:"node",element:t};if(E1(t))return{type:"edge",element:t};if(vv(t))return{type:"combo",element:t};t=t.parentElement}return null}function BE(n){var t;return((t=n==null?void 0:n.style)===null||t===void 0?void 0:t.zIndex)||0}const No="cachedStyle",qh=n=>`__${n}__`;function F8(n,t){const e=Array.isArray(t)?t:[t];Br(n,No)||yl(n,No,{}),e.forEach(r=>{yl(Br(n,No),qh(r),n.attributes[r])})}function zE(n,t){return Br(n,[No,qh(t)])}function Z8(n,t){return qh(t)in(Br(n,No)||{})}function PZ(n,t,e){set(n,[No,qh(t)],e)}class _8{constructor(t){this.tasks=[],this.animations=new Set,this.context=t}getTasks(){const t=[...this.tasks];return this.tasks=[],t}add(t,e){this.tasks.push([t,e])}animate(t,e,r){var i,a,s;(i=e==null?void 0:e.before)===null||i===void 0||i.call(e);const o=this.getTasks().map(([c,u])=>{var h,f,d;const{element:v,elementType:g,stage:p}=c,y=dO(this.context.options,g,p,t);(h=u==null?void 0:u.before)===null||h===void 0||h.call(u);const b=y.length?gO(v,this.inferStyle(c,r),y):null;return b?((f=u==null?void 0:u.beforeAnimate)===null||f===void 0||f.call(u,b),b.finished.then(()=>{var M,O;(M=u==null?void 0:u.afterAnimate)===null||M===void 0||M.call(u,b),(O=u==null?void 0:u.after)===null||O===void 0||O.call(u),this.animations.delete(b)})):(d=u==null?void 0:u.after)===null||d===void 0||d.call(u),b}).filter(Boolean);o.forEach(c=>this.animations.add(c));const l=Od(o);return l?((a=e==null?void 0:e.beforeAnimate)===null||a===void 0||a.call(e,l),l.finished.then(()=>{var c,u;(c=e==null?void 0:e.afterAnimate)===null||c===void 0||c.call(e,l),(u=e==null?void 0:e.after)===null||u===void 0||u.call(e),this.release()})):(s=e==null?void 0:e.after)===null||s===void 0||s.call(e),l}inferStyle(t,e){var r,i;const{element:a,elementType:s,stage:o,originalStyle:l,updatedStyle:c={}}=t;t.modifiedStyle||(t.modifiedStyle=Object.assign(Object.assign({},l),c));const{modifiedStyle:u}=t,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:(r=zE(a,"opacity"))!==null&&r!==void 0?r:ul("opacity")});else if(o==="hide")Object.assign(h,{opacity:(i=zE(a,"opacity"))!==null&&i!==void 0?i:ul("opacity")}),Object.assign(f,{opacity:0});else if(o==="collapse"){const{collapse:d}=e||{},{target:v,descendants:g,position:p}=d;if(s==="node"){if(g.includes(a.id)){const[y,b,M]=p;Object.assign(f,{x:y,y:b,z:M})}}else if(s==="combo"){if(a.id===v||g.includes(a.id)){const[y,b]=p;Object.assign(f,{x:y,y:b,childrenNode:l.childrenNode})}}else s==="edge"&&Object.assign(f,{sourceNode:u.sourceNode,targetNode:u.targetNode})}else if(o==="expand"){const{expand:d}=e||{},{target:v,descendants:g,position:p}=d;if(s==="node"){if(a.id===v||g.includes(a.id)){const[y,b,M]=p;Object.assign(h,{x:y,y:b,z:M})}}else if(s==="combo"){if(a.id===v||g.includes(a.id)){const[y,b,M]=p;Object.assign(h,{x:y,y:b,z:M,childrenNode:u.childrenNode})}}else s==="edge"&&Object.assign(h,{sourceNode:u.sourceNode,targetNode:u.targetNode})}return[Object.keys(h).length>0?Object.assign({},l,h):l,Object.keys(f).length>0?Object.assign({},u,f):u]}stop(){this.animations.forEach(t=>t.cancel())}clear(){this.tasks=[]}release(){var t,e;const{canvas:r}=this.context,i=(e=(t=r.document)===null||t===void 0?void 0:t.timeline)===null||e===void 0?void 0:e.animationsWithPromises;i&&(r.document.timeline.animationsWithPromises=i.filter(a=>a.playState!=="finished"))}destroy(){this.stop(),this.animations.clear(),this.tasks=[]}}class H8{constructor(t){this.batchCount=0,this.context=t}emit(t){const{graph:e}=this.context;e.emit(t.type,t)}startBatch(t=!0){this.batchCount++,this.batchCount===1&&this.emit(new tr(Qt.BATCH_START,{initiate:t}))}endBatch(){this.batchCount--,this.batchCount===0&&this.emit(new tr(Qt.BATCH_END))}get isBatching(){return this.batchCount>0}destroy(){this.context=null}}class G8 extends Hd{constructor(t){super(t),this.currentTarget=null,this.currentTargetType=null,this.category="behavior",this.forwardCanvasEvents=e=>{const{target:r}=e,i=j8(r);if(!i)return;const{graph:a,canvas:s}=this.context,{type:o,element:l}=i;if("destroyed"in l&&(Sl(l)||l.destroyed))return;const{type:c,detail:u,button:h}=e,f=Object.assign(Object.assign({},e),{target:l,targetType:o,originalTarget:r});c===jt.POINTER_MOVE&&(this.currentTarget!==l&&(this.currentTarget&&a.emit(`${this.currentTargetType}:${jt.POINTER_LEAVE}`,Object.assign(Object.assign({},f),{type:jt.POINTER_LEAVE,target:this.currentTarget,targetType:this.currentTargetType})),l&&(Object.assign(f,{type:jt.POINTER_ENTER}),a.emit(`${o}:${jt.POINTER_ENTER}`,f))),this.currentTarget=l,this.currentTargetType=o),c===jt.CLICK&&h===2||(a.emit(`${o}:${c}`,f),a.emit(c,f)),c===jt.CLICK&&u===2&&(Object.assign(f,{type:jt.DBLCLICK}),a.emit(`${o}:${jt.DBLCLICK}`,f),a.emit(jt.DBLCLICK,f)),c===jt.POINTER_DOWN&&h===2&&(Object.assign(f,{type:jt.CONTEXT_MENU,preventDefault:()=>{var d;(d=s.getContainer())===null||d===void 0||d.addEventListener(jt.CONTEXT_MENU,v=>v.preventDefault(),{once:!0})}}),a.emit(`${o}:${jt.CONTEXT_MENU}`,f),a.emit(jt.CONTEXT_MENU,f))},this.forwardContainerEvents=e=>{this.context.graph.emit(e.type,e)},this.forwardEvents(),this.setBehaviors(this.context.options.behaviors||[])}setBehaviors(t){this.setExtensions(t)}forwardEvents(){const t=this.context.canvas.getContainer();t&&[co.KEY_DOWN,co.KEY_UP].forEach(r=>{t.addEventListener(r,this.forwardContainerEvents)});const e=this.context.canvas.document;e&&[jt.CLICK,jt.DBLCLICK,jt.POINTER_OVER,jt.POINTER_LEAVE,jt.POINTER_ENTER,jt.POINTER_MOVE,jt.POINTER_OUT,jt.POINTER_DOWN,jt.POINTER_UP,jt.CONTEXT_MENU,jt.DRAG_START,jt.DRAG,jt.DRAG_END,jt.DRAG_ENTER,jt.DRAG_OVER,jt.DRAG_LEAVE,jt.DROP,jt.WHEEL].forEach(r=>{e.addEventListener(r,this.forwardCanvasEvents)})}destroy(){const t=this.context.canvas.getContainer();t&&[co.KEY_DOWN,co.KEY_UP].forEach(e=>{t.removeEventListener(e,this.forwardContainerEvents)}),this.context.canvas.document.removeAllEventListeners(),super.destroy()}}function W8(n,t){t===void 0&&(t=new Map);var e=[];if(Array.isArray(n))for(var r=0,i=n.length;r<i;r++){var a=n[r];t.has(a)||(e.push(a),t.set(a,!0))}return e}var Xl=function(n,t){var e={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&t.indexOf(r)<0&&(e[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(n);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(n,r[i])&&(e[r[i]]=n[r[i]]);return e};function ns(n,t){const{data:e,style:r}=n,i=Xl(n,["data","style"]),{data:a,style:s}=t,o=Xl(t,["data","style"]),l=Object.assign(Object.assign({},i),o);return(e||a)&&Object.assign(l,{data:Object.assign(Object.assign({},e),a)}),(r||s)&&Object.assign(l,{style:Object.assign(Object.assign({},r),s)}),l}function j0(n){const{data:t,style:e}=n,i=Xl(n,["data","style"]);return t&&(i.data=Object.assign({},t)),e&&(i.style=Object.assign({},e)),i}function SZ(n){return!get(n,["nodes","length"])&&!get(n,["edges","length"])&&!get(n,["combos","length"])}function ko(n={},t={}){const{states:e=[],data:r={},style:i={},children:a=[]}=n,s=Xl(n,["states","data","style","children"]),{states:o=[],data:l={},style:c={},children:u=[]}=t,h=Xl(t,["states","data","style","children"]),f=(v,g)=>v.length!==g.length?!1:v.every((p,y)=>p===g[y]),d=(v,g)=>{const p=Object.keys(v),y=Object.keys(g);return p.length!==y.length?!1:p.every(b=>v[b]===g[b])};return!(!d(s,h)||!f(a,u)||!f(e,o)||!d(r,l)||!d(i,c))}var X8=function(n,t){var e={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&t.indexOf(r)<0&&(e[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(n);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(n,r[i])&&(e[r[i]]=n[r[i]]);return e};function F0(n){const{id:t=Pt(n),style:e,data:r}=n,i=X8(n,["id","style","data"]),a=Object.assign(Object.assign({},n),{style:Object.assign({},e),data:Object.assign({},r)});return MO(n)?Object.assign({id:t,data:a},i):{id:t,data:a}}function fr(n){return n.data}function V8(n){if(n.hasTreeStructure(ni))return;n.attachTreeStructure(ni);const t=n.getAllEdges();for(const e of t){const{source:r,target:i}=e;n.setParent(i,r,ni)}}class Y8{constructor(){this.latestRemovedComboIds=new Set,this.comboIds=new Set,this.changes=[],this.batchCount=0,this.isTraceless=!1,this.enableUpdateNodeLikeHierarchy=!0,this.model=new Xn}pushChange(t){if(this.isTraceless)return;const{type:e}=t;if(e===wn.NodeUpdated||e===wn.EdgeUpdated||e===wn.ComboUpdated){const{value:r,original:i}=t;this.changes.push({value:j0(r),original:j0(i),type:e})}else this.changes.push({value:j0(t.value),type:e})}getChanges(){return this.changes}clearChanges(){this.changes=[]}batch(t){this.batchCount++,this.model.batch(t),this.batchCount--}isBatching(){return this.batchCount>0}silence(t){this.isTraceless=!0,t(),this.isTraceless=!1}isCombo(t){return this.comboIds.has(t)||this.latestRemovedComboIds.has(t)}getData(){return{nodes:this.getNodeData(),edges:this.getEdgeData(),combos:this.getComboData()}}getNodeData(t){return this.model.getAllNodes().reduce((e,r)=>{const i=fr(r);return this.isCombo(Pt(i))||(t===void 0||t.includes(Pt(i)))&&e.push(i),e},[])}getEdgeDatum(t){return fr(this.model.getEdge(t))}getEdgeData(t){return this.model.getAllEdges().reduce((e,r)=>{const i=fr(r);return(t===void 0||t.includes(Pt(i)))&&e.push(i),e},[])}getComboData(t){return this.model.getAllNodes().reduce((e,r)=>{const i=fr(r);return this.isCombo(Pt(i))&&(t===void 0||t.includes(Pt(i)))&&e.push(i),e},[])}getRootsData(t=ni){return this.model.getRoots(t).map(fr)}getAncestorsData(t,e){const{model:r}=this;return!r.hasNode(t)||!r.hasTreeStructure(e)?[]:r.getAncestors(t,e).map(fr)}getDescendantsData(t){const e=this.getElementDataById(t),r=[];return Rs(e,i=>{i!==e&&r.push(i)},i=>this.getChildrenData(Pt(i)),"TB"),r}getParentData(t,e){const{model:r}=this;if(!e){Kr.warn("The hierarchy structure key is not specified");return}if(!r.hasNode(t)||!r.hasTreeStructure(e))return;const i=r.getParent(t,e);return i?fr(i):void 0}getChildrenData(t){const e=this.getElementType(t)==="node"?ni:hn,{model:r}=this;return!r.hasNode(t)||!r.hasTreeStructure(e)?[]:r.getChildren(t,e).map(fr)}getElementsDataByType(t){return t==="node"?this.getNodeData():t==="edge"?this.getEdgeData():t==="combo"?this.getComboData():[]}getElementDataById(t){return this.getElementType(t)==="edge"?this.getEdgeDatum(t):this.getNodeLikeDatum(t)}getNodeLikeDatum(t){const e=this.model.getNode(t);return fr(e)}getNodeLikeData(t){return this.model.getAllNodes().reduce((e,r)=>{const i=fr(r);return t?t.includes(Pt(i))&&e.push(i):e.push(i),e},[])}getElementDataByState(t,e){return this.getElementsDataByType(t).filter(i=>{var a;return(a=i.states)===null||a===void 0?void 0:a.includes(e)})}getElementState(t){var e;return((e=this.getElementDataById(t))===null||e===void 0?void 0:e.states)||[]}hasNode(t){return this.model.hasNode(t)&&!this.isCombo(t)}hasEdge(t){return this.model.hasEdge(t)}hasCombo(t){return this.model.hasNode(t)&&this.isCombo(t)}getRelatedEdgesData(t,e="both"){return this.model.getRelatedEdges(t,e).map(fr)}getNeighborNodesData(t){return this.model.getNeighbors(t).map(fr)}setData(t){const{nodes:e=[],edges:r=[],combos:i=[]}=t,{nodes:a,edges:s,combos:o}=this.getData(),l=Za(a,e,h=>Pt(h),ko),c=Za(s,r,h=>Pt(h),ko),u=Za(o,i,h=>Pt(h),ko);this.batch(()=>{const h={nodes:l.enter,edges:c.enter,combos:u.enter};this.addData(h),this.computeZIndex(h,"add",!0);const f={nodes:l.update,edges:c.update,combos:u.update};this.updateData(f),this.computeZIndex(f,"update",!0);const d={nodes:l.exit.map(Pt),edges:c.exit.map(Pt),combos:u.exit.map(Pt)};this.removeData(d)})}addData(t){const{nodes:e,edges:r,combos:i}=t;this.batch(()=>{this.addComboData(i),this.addNodeData(e),this.addEdgeData(r)}),this.computeZIndex(t,"add")}addNodeData(t=[]){t.length&&(this.model.addNodes(t.map(e=>(this.pushChange({value:e,type:wn.NodeAdded}),F0(e)))),this.updateNodeLikeHierarchy(t),this.computeZIndex({nodes:t},"add"))}addEdgeData(t=[]){t.length&&(this.model.addEdges(t.map(e=>(this.pushChange({value:e,type:wn.EdgeAdded}),F0(e)))),this.computeZIndex({edges:t},"add"))}addComboData(t=[]){if(!t.length)return;const{model:e}=this;e.hasTreeStructure(hn)||e.attachTreeStructure(hn),e.addNodes(t.map(r=>(this.comboIds.add(Pt(r)),this.pushChange({value:r,type:wn.ComboAdded}),F0(r)))),this.updateNodeLikeHierarchy(t),this.computeZIndex({combos:t},"add")}addChildrenData(t,e){const r=this.getNodeLikeDatum(t),i=e.map(Pt);this.addNodeData(e),this.updateNodeData([{id:t,children:[...r.children||[],...i]}]),this.addEdgeData(i.map(a=>({source:t,target:a})))}computeZIndex(t,e,r=!1){!r&&this.isBatching()||this.batch(()=>{const{nodes:i=[],edges:a=[],combos:s=[]}=t;s.forEach(o=>{var l,c,u;const h=Pt(o);if(e==="add"&&ie((l=o.style)===null||l===void 0?void 0:l.zIndex)||e==="update"&&!("combo"in o))return;const f=this.getParentData(h,hn),d=f?((u=(c=f.style)===null||c===void 0?void 0:c.zIndex)!==null&&u!==void 0?u:0)+1:0;this.preventUpdateNodeLikeHierarchy(()=>{this.updateComboData([{id:h,style:{zIndex:d}}])})}),i.forEach(o=>{var l,c,u;const h=Pt(o);if(e==="add"&&ie((l=o.style)===null||l===void 0?void 0:l.zIndex)||e==="update"&&!("combo"in o)&&!("children"in o))return;let f=0;const d=this.getParentData(h,hn);if(d)f=(((c=d.style)===null||c===void 0?void 0:c.zIndex)||0)+1;else{const v=this.getParentData(h,ni);v&&(f=((u=v==null?void 0:v.style)===null||u===void 0?void 0:u.zIndex)||0)}this.preventUpdateNodeLikeHierarchy(()=>{this.updateNodeData([{id:h,style:{zIndex:f}}])})}),a.forEach(o=>{var l,c,u,h,f;if(ie((l=o.style)===null||l===void 0?void 0:l.zIndex))return;let{id:d,source:v,target:g}=o;if(!d)d=Pt(o);else{const b=this.getEdgeDatum(d);v=b.source,g=b.target}if(!v||!g)return;const p=((u=(c=this.getNodeLikeDatum(v))===null||c===void 0?void 0:c.style)===null||u===void 0?void 0:u.zIndex)||0,y=((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:Pt(o),style:{zIndex:Math.max(p,y)-1}}])})})}getFrontZIndex(t){var e;const r=this.getElementType(t),i=this.getElementDataById(t),a=this.getData();if(Object.assign(a,{[`${r}s`]:a[`${r}s`].filter(s=>Pt(s)!==t)}),r==="combo"&&!Qr(i)){const s=new Set(this.getAncestorsData(t,hn).map(Pt));a.nodes=a.nodes.filter(o=>!s.has(Pt(o))),a.combos=a.combos.filter(o=>!s.has(Pt(o))),a.edges=a.edges.filter(({source:o,target:l})=>!s.has(o)&&!s.has(l))}return Math.max(((e=i.style)===null||e===void 0?void 0:e.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(t){if(!this.enableUpdateNodeLikeHierarchy)return;const{model:e}=this;t.forEach(r=>{const i=Pt(r),a=lu(r);a!==void 0&&(e.hasTreeStructure(hn)||e.attachTreeStructure(hn),a===null&&this.refreshComboData(i),this.setParent(i,lu(r),hn));const s=r.children||[];if(s.length){e.hasTreeStructure(ni)||e.attachTreeStructure(ni);const o=s.filter(l=>e.hasNode(l));o.forEach(l=>this.setParent(l,i,ni)),o.length!==s.length&&this.updateNodeData([{id:i,children:o}])}})}preventUpdateNodeLikeHierarchy(t){this.enableUpdateNodeLikeHierarchy=!1,t(),this.enableUpdateNodeLikeHierarchy=!0}updateData(t){const{nodes:e,edges:r,combos:i}=t;this.batch(()=>{this.updateNodeData(e),this.updateComboData(i),this.updateEdgeData(r)}),this.computeZIndex(t,"update")}updateNodeData(t=[]){if(!t.length)return;const{model:e}=this;this.batch(()=>{const r=[];t.forEach(i=>{const a=Pt(i),s=fr(e.getNode(a));if(ko(s,i))return;const o=ns(s,i);this.pushChange({value:o,original:s,type:wn.NodeUpdated}),e.mergeNodeData(a,o),r.push(o)}),this.updateNodeLikeHierarchy(r)}),this.computeZIndex({nodes:t},"update")}refreshData(){const{nodes:t,edges:e,combos:r}=this.getData();t.forEach(i=>{this.pushChange({value:i,original:i,type:wn.NodeUpdated})}),e.forEach(i=>{this.pushChange({value:i,original:i,type:wn.EdgeUpdated})}),r.forEach(i=>{this.pushChange({value:i,original:i,type:wn.ComboUpdated})})}syncNodeLikeDatum(t){const{model:e}=this,r=Pt(t);if(!e.hasNode(r))return;const i=fr(e.getNode(r)),a=ns(i,t);e.mergeNodeData(r,a)}syncEdgeDatum(t){const{model:e}=this,r=Pt(t);if(!e.hasEdge(r))return;const i=fr(e.getEdge(r)),a=ns(i,t);e.mergeEdgeData(r,a)}updateEdgeData(t=[]){if(!t.length)return;const{model:e}=this;this.batch(()=>{t.forEach(r=>{const i=Pt(r),a=fr(e.getEdge(i));if(ko(a,r))return;r.source&&a.source!==r.source&&e.updateEdgeSource(i,r.source),r.target&&a.target!==r.target&&e.updateEdgeTarget(i,r.target);const s=ns(a,r);this.pushChange({value:s,original:a,type:wn.EdgeUpdated}),e.mergeEdgeData(i,s)})}),this.computeZIndex({edges:t},"update")}updateComboData(t=[]){if(!t.length)return;const{model:e}=this;e.batch(()=>{const r=[];t.forEach(i=>{const a=Pt(i),s=fr(e.getNode(a));if(ko(s,i))return;const o=ns(s,i);this.pushChange({value:o,original:s,type:wn.ComboUpdated}),e.mergeNodeData(a,o),r.push(o)}),this.updateNodeLikeHierarchy(r)}),this.computeZIndex({combos:t},"update")}setParent(t,e,r,i=!0){if(t===e)return;const a=this.getNodeLikeDatum(t),s=lu(a);if(s!==e&&r===hn){const o={id:t,combo:e};this.isCombo(t)?this.syncNodeLikeDatum(o):this.syncNodeLikeDatum(o)}this.model.setParent(t,e,r),i&&r===hn&&W8([s,e]).forEach(o=>{o!==void 0&&this.refreshComboData(o)})}refreshComboData(t){const e=this.getComboData([t])[0],r=this.getAncestorsData(t,hn);e&&this.pushChange({value:e,original:e,type:wn.ComboUpdated}),r.forEach(i=>{this.pushChange({value:i,original:i,type:wn.ComboUpdated})})}getElementPosition(t){const e=this.getElementDataById(t);return ir(e)}translateNodeLikeBy(t,e){this.isCombo(t)?this.translateComboBy(t,e):this.translateNodeBy(t,e)}translateNodeLikeTo(t,e){this.isCombo(t)?this.translateComboTo(t,e):this.translateNodeTo(t,e)}translateNodeBy(t,e){const r=this.getElementPosition(t),i=Ne(r,[...e,0].slice(0,3));this.translateNodeTo(t,i)}translateNodeTo(t,e){const[r=0,i=0,a=0]=e;this.preventUpdateNodeLikeHierarchy(()=>{this.updateNodeData([{id:t,style:{x:r,y:i,z:a}}])})}translateComboBy(t,e){const[r=0,i=0,a=0]=e;if([r,i,a].some(isNaN)||[r,i,a].every(l=>l===0))return;const s=this.getComboData([t])[0];if(!s)return;const o=new Set;Rs(s,l=>{const c=Pt(l);if(o.has(c))return;o.add(c);const[u,h,f]=ir(l),d=ns(l,{style:{x:u+r,y:h+i,z:f+a}});this.pushChange({value:d,original:l,type:this.isCombo(c)?wn.ComboUpdated:wn.NodeUpdated}),this.model.mergeNodeData(c,d)},l=>this.getChildrenData(Pt(l)),"BT")}translateComboTo(t,e){var r;if(e.some(isNaN))return;const[i=0,a=0,s=0]=e,o=(r=this.getComboData([t]))===null||r===void 0?void 0:r[0];if(!o)return;const[l,c,u]=ir(o),h=i-l,f=a-c,d=s-u;Rs(o,v=>{const g=Pt(v),[p,y,b]=ir(v),M=ns(v,{style:{x:p+h,y:y+f,z:b+d}});this.pushChange({value:M,original:v,type:this.isCombo(g)?wn.ComboUpdated:wn.NodeUpdated}),this.model.mergeNodeData(g,M)},v=>this.getChildrenData(Pt(v)),"BT")}removeData(t){const{nodes:e,edges:r,combos:i}=t;this.batch(()=>{this.removeEdgeData(r),this.removeNodeData(e),this.removeComboData(i),this.latestRemovedComboIds=new Set(i)})}removeNodeData(t=[]){t.length&&this.batch(()=>{t.forEach(e=>{this.removeEdgeData(this.getRelatedEdgesData(e).map(Pt)),this.pushChange({value:this.getNodeData([e])[0],type:wn.NodeRemoved}),this.removeNodeLikeHierarchy(e)}),this.model.removeNodes(t)})}removeEdgeData(t=[]){t.length&&(t.forEach(e=>this.pushChange({value:this.getEdgeData([e])[0],type:wn.EdgeRemoved})),this.model.removeEdges(t))}removeComboData(t=[]){t.length&&this.batch(()=>{t.forEach(e=>{this.pushChange({value:this.getComboData([e])[0],type:wn.ComboRemoved}),this.removeNodeLikeHierarchy(e),this.comboIds.delete(e)}),this.model.removeNodes(t)})}removeNodeLikeHierarchy(t){if(this.model.hasTreeStructure(hn)){const e=lu(this.getNodeLikeDatum(t));this.setParent(t,void 0,hn,!1),this.model.getChildren(t,hn).forEach(r=>{const i=fr(r),a=Pt(i);this.setParent(Pt(i),e,hn,!1);const s=ns(i,{id:Pt(i),combo:e});this.pushChange({value:s,original:i,type:this.isCombo(a)?wn.ComboUpdated:wn.NodeUpdated}),this.model.mergeNodeData(Pt(i),s)}),ye(e)||this.refreshComboData(e)}}getElementType(t){if(this.model.hasNode(t))return this.isCombo(t)?"combo":"node";if(this.model.hasEdge(t))return"edge";throw new Error(pa(`Unknown element type of id: ${t}`))}destroy(){const{model:t}=this,e=t.getAllNodes(),r=t.getAllEdges();t.removeEdges(r.map(i=>i.id)),t.removeNodes(e.map(i=>i.id)),this.context={}}}var Vl=function(n,t,e,r){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(u){try{c(r.next(u))}catch(h){s(h)}}function l(u){try{c(r.throw(u))}catch(h){s(h)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((r=r.apply(n,t||[])).next())})};class U8{constructor(t){this.elementMap={},this.shapeTypeMap={},this.paletteStyle={},this.defaultStyle={},this.stateStyle={},this.visibilityCache=new WeakMap,this.context=t}init(){this.initContainer()}initContainer(){if(!this.container||this.container.destroyed){const{canvas:t}=this.context;this.container=t.appendChild(new rr({className:"elements"}))}}emit(t,e){e.silence||sr(this.context.graph,t)}forEachElementData(t){Ds.forEach(e=>{const r=this.context.model.getElementsDataByType(e);t(e,r)})}getElementType(t,e){var r;const{options:i,graph:a}=this.context,s=((r=i[t])===null||r===void 0?void 0:r.type)||e.type;return s?typeof s=="string"?s:s.call(a,e):t==="edge"?"line":"circle"}getTheme(t){return Sm(this.context.options)[t]||{}}getThemeStyle(t){return this.getTheme(t).style||{}}getThemeStateStyle(t,e){const{state:r={}}=this.getTheme(t);return Object.assign({},...e.map(i=>r[i]||{}))}computePaletteStyle(){const{options:t}=this.context;this.paletteStyle={},this.forEachElementData((e,r)=>{var i,a;const s=Object.assign({},jy((i=this.getTheme(e))===null||i===void 0?void 0:i.palette),jy((a=t[e])===null||a===void 0?void 0:a.palette));s!=null&&s.field&&Object.assign(this.paletteStyle,IT(r,s))})}getPaletteStyle(t,e){const r=this.paletteStyle[e];return r?t==="edge"?{stroke:r}:{fill:r}:{}}computeElementDefaultStyle(t,e){var r;const{options:i}=this.context,a=((r=i[t])===null||r===void 0?void 0:r.style)||{};"transform"in a&&Array.isArray(a.transform)&&(a.transform=[...a.transform]),this.defaultStyle[Pt(e.datum)]=zy(a,e)}computeElementsDefaultStyle(t){const{graph:e}=this.context;this.forEachElementData((r,i)=>{const a=i.length;for(let s=0;s<a;s++){const o=i[s];(t===void 0||t.includes(Pt(o)))&&this.computeElementDefaultStyle(r,{datum:o,graph:e})}})}getDefaultStyle(t){return this.defaultStyle[t]||{}}getElementState(t){try{const{model:e}=this.context;return e.getElementState(t)}catch(e){return[]}}getElementStateStyle(t,e,r){var i,a;const{options:s}=this.context,o=((a=(i=s[t])===null||i===void 0?void 0:i.state)===null||a===void 0?void 0:a[e])||{};return zy(o,r)}computeElementStatesStyle(t,e,r){this.stateStyle[Pt(r.datum)]=Object.assign({},...e.map(i=>this.getElementStateStyle(t,i,r)))}computeElementsStatesStyle(t){const{graph:e}=this.context;this.forEachElementData((r,i)=>{const a=i.length;for(let s=0;s<a;s++){const o=i[s];if(t===void 0||t.includes(Pt(o))){const l=this.getElementState(Pt(o));this.computeElementStatesStyle(r,l,{datum:o,graph:e})}}})}getStateStyle(t){return this.stateStyle[t]||{}}computeStyle(t,e){t&&["translate","zIndex"].includes(t)||(this.computePaletteStyle(),this.computeElementsDefaultStyle(e),this.computeElementsStatesStyle(e))}getElement(t){return this.elementMap[t]}getNodes(){return this.context.model.getNodeData().map(({id:t})=>this.elementMap[t])}getEdges(){return this.context.model.getEdgeData().map(t=>this.elementMap[Pt(t)])}getCombos(){return this.context.model.getComboData().map(({id:t})=>this.elementMap[t])}getElementComputedStyle(t,e){const r=Pt(e),i=this.getThemeStyle(t),a=this.getPaletteStyle(t,r),s=e.style||{},o=this.getDefaultStyle(r),l=this.getThemeStateStyle(t,this.getElementState(r)),c=this.getStateStyle(r),u=Object.assign({},i,a,s,o,l,c);if(t==="combo"){const h=this.context.model.getChildrenData(r),d=!!u.collapsed?[]:h.map(Pt).filter(v=>this.getElement(v));Object.assign(u,{childrenNode:d,childrenData:h})}return u}getDrawData(t){this.init();const e=this.computeChangesAndDrawData(t);if(!e)return null;const{type:r="draw",stage:i=r}=t;return this.markDestroyElement(e.drawData),this.computeStyle(i),{type:r,stage:i,data:e}}draw(t={animation:!0}){const e=this.getDrawData(t);if(!e)return;const{data:{drawData:{add:r,update:i,remove:a}}}=e;return this.destroyElements(a,t),this.createElements(r,t),this.updateElements(i,t),this.setAnimationTask(t,e)}preLayoutDraw(){return Vl(this,arguments,void 0,function*(t={animation:!0}){var e,r;const i=this.getDrawData(t);if(!i)return;const{data:{drawData:a}}=i;yield(r=(e=this.context.layout)===null||e===void 0?void 0:e.preLayout)===null||r===void 0?void 0:r.call(e,a);const{add:s,update:o,remove:l}=a;return this.destroyElements(l,t),this.createElements(s,t),this.updateElements(o,t),this.setAnimationTask(t,i)})}setAnimationTask(t,e){const{animation:r,silence:i}=t,{data:{dataChanges:a,drawData:s},stage:o,type:l}=e;return this.context.animation.animate(r,i?{}:{before:()=>this.emit(new tr(Qt.BEFORE_DRAW,{dataChanges:a,animation:r,stage:o,render:l==="render"}),t),beforeAnimate:c=>this.emit(new Mi(Qt.BEFORE_ANIMATE,Ur.DRAW,c,s),t),afterAnimate:c=>this.emit(new Mi(Qt.AFTER_ANIMATE,Ur.DRAW,c,s),t),after:()=>this.emit(new tr(Qt.AFTER_DRAW,{dataChanges:a,animation:r,stage:o,render:l==="render",firstRender:this.context.graph.rendered===!1}),t)})}computeChangesAndDrawData(t){const{model:e}=this.context,r=e.getChanges(),i=Uv(r);if(i.length===0)return null;const{NodeAdded:a=[],NodeUpdated:s=[],NodeRemoved:o=[],EdgeAdded:l=[],EdgeUpdated:c=[],EdgeRemoved:u=[],ComboAdded:h=[],ComboUpdated:f=[],ComboRemoved:d=[]}=Uc(i,y=>y.type),v=y=>new Map(y.map(b=>{const M=b.value;return[Pt(M),M]})),g={add:{nodes:v(a),edges:v(l),combos:v(h)},update:{nodes:v(s),edges:v(c),combos:v(f)},remove:{nodes:v(o),edges:v(u),combos:v(d)}},p=this.transformData(g,t);return e.clearChanges(),{dataChanges:r,drawData:p}}transformData(t,e){const r=this.context.transform.getTransformInstance();return Object.values(r).reduce((i,a)=>a.beforeDraw(i,e),t)}createElement(t,e,r){var i;const a=Pt(e);if(this.getElement(a))return;const o=this.getElementType(t,e),l=this.getElementComputedStyle(t,e),c=ga(t,o);if(!c)return Kr.warn(`The element ${o} of ${t} is not registered.`);this.emit(new Co(Qt.BEFORE_ELEMENT_CREATE,t,e),r);const u=this.container.appendChild(new c({id:a,context:this.context,style:l}));this.shapeTypeMap[a]=o,this.elementMap[a]=u;const{stage:h="enter"}=r;(i=this.context.animation)===null||i===void 0||i.add({element:u,elementType:t,stage:h,originalStyle:Object.assign({},u.attributes),updatedStyle:l},{after:()=>{var f;this.emit(new Co(Qt.AFTER_ELEMENT_CREATE,t,e),r),(f=u.onCreate)===null||f===void 0||f.call(u)}})}createElements(t,e){const{nodes:r,edges:i,combos:a}=t;[["node",r],["combo",a],["edge",i]].forEach(([o,l])=>{l.forEach(c=>this.createElement(o,c,e))})}getUpdateStageStyle(t,e,r){const{stage:i="update"}=r;if(i==="translate")if(t==="node"||t==="combo"){const{style:{x:a=0,y:s=0,z:o=0}={}}=e;return{x:a,y:s,z:o}}else return{};return this.getElementComputedStyle(t,e)}updateElement(t,e,r){var i;const a=Pt(e),{stage:s="update"}=r,o=this.getElement(a);if(!o)return()=>null;this.emit(new Co(Qt.BEFORE_ELEMENT_UPDATE,t,e),r);const l=this.getElementType(t,e),c=this.getUpdateStageStyle(t,e,r);this.shapeTypeMap[a]!==l&&(o.destroy(),delete this.shapeTypeMap[a],delete this.elementMap[a],this.createElement(t,e,{animation:!1,silence:!0}));const u=s!=="visibility"?s:c.visibility==="hidden"?"hide":"show";u==="hide"&&delete c.visibility,(i=this.context.animation)===null||i===void 0||i.add({element:o,elementType:t,stage:u,originalStyle:Object.assign({},o.attributes),updatedStyle:c},{before:()=>{const h=this.elementMap[a];s!=="collapse"&&yv(h,c),s==="visibility"&&(Z8(h,"opacity")||F8(h,"opacity"),this.visibilityCache.set(h,u==="show"?"visible":"hidden"),u==="show"&&ks(h,"visible"))},after:()=>{var h;const f=this.elementMap[a];s==="collapse"&&yv(f,c),u==="hide"&&ks(f,this.visibilityCache.get(f)),this.emit(new Co(Qt.AFTER_ELEMENT_UPDATE,t,e),r),(h=f.onUpdate)===null||h===void 0||h.call(f)}})}updateElements(t,e){const{nodes:r,edges:i,combos:a}=t;[["node",r],["combo",a],["edge",i]].forEach(([o,l])=>{l.forEach(c=>this.updateElement(o,c,e))})}markDestroyElement(t){Object.values(t.remove).forEach(e=>{e.forEach(r=>{const i=Pt(r),a=this.getElement(i);a&&YN(a)})})}destroyElement(t,e,r){var i;const{stage:a="exit"}=r,s=Pt(e),o=this.elementMap[s];if(!o)return()=>null;this.emit(new Co(Qt.BEFORE_ELEMENT_DESTROY,t,e),r),(i=this.context.animation)===null||i===void 0||i.add({element:o,elementType:t,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 Co(Qt.AFTER_ELEMENT_DESTROY,t,e),r)}})}destroyElements(t,e){const{nodes:r,edges:i,combos:a}=t;[["combo",a],["edge",i],["node",r]].forEach(([o,l])=>{l.forEach(c=>this.destroyElement(o,c,e))})}clearElement(t){delete this.paletteStyle[t],delete this.defaultStyle[t],delete this.stateStyle[t],delete this.elementMap[t],delete this.shapeTypeMap[t]}alignLayoutResultToElement(t,e){var r,i;const a=(r=t.nodes)===null||r===void 0?void 0:r.find(s=>Pt(s)===e);if(a){const s=ir(this.context.model.getNodeLikeDatum(e)),o=ir(a),l=on(s,o);(i=t.nodes)===null||i===void 0||i.forEach(c=>{var u,h,f;!((u=c.style)===null||u===void 0)&&u.x&&(c.style.x+=l[0]),!((h=c.style)===null||h===void 0)&&h.y&&(c.style.y+=l[1]),!((f=c.style)===null||f===void 0)&&f.z&&(c.style.z+=l[2]||0)})}}collapseNode(t,e){return Vl(this,void 0,void 0,function*(){var r;const{animation:i}=e,{model:a}=this.context,s=this.computeChangesAndDrawData({stage:"collapse",animation:i});if(!s)return;const{drawData:o}=s,{add:l,remove:c,update:u}=o;this.markDestroyElement(o);const h={animation:i,stage:"collapse",data:o};this.destroyElements(c,h),this.createElements(l,h),this.updateElements(u,h),yield(r=this.context.animation.animate(i,{beforeAnimate:f=>this.emit(new Mi(Qt.BEFORE_ANIMATE,Ur.COLLAPSE,f,o),h),afterAnimate:f=>this.emit(new Mi(Qt.AFTER_ANIMATE,Ur.COLLAPSE,f,o),h)},{collapse:{target:t,descendants:Array.from(c.nodes).map(([,f])=>Pt(f)),position:ir(u.nodes.get(t))}}))===null||r===void 0?void 0:r.finished})}expandNode(t,e){return Vl(this,void 0,void 0,function*(){var r;const{model:i,layout:a}=this.context,{animation:s,align:o}=e,l=ir(i.getNodeData([t])[0]),c=this.computeChangesAndDrawData({stage:"expand",animation:s});if(this.createElements(c.drawData.add,{animation:!1,stage:"expand",target:t}),this.context.animation.clear(),this.computeStyle("expand"),!c)return;const{drawData:u}=c,{update:h,add:f}=u,d={animation:s,stage:"expand",data:u};f.edges.forEach(v=>h.edges.set(Pt(v),v)),f.nodes.forEach(v=>h.nodes.set(Pt(v),v)),this.updateElements(h,d),yield(r=this.context.animation.animate(s,{beforeAnimate:v=>this.emit(new Mi(Qt.BEFORE_ANIMATE,Ur.EXPAND,v,u),d),afterAnimate:v=>this.emit(new Mi(Qt.AFTER_ANIMATE,Ur.EXPAND,v,u),d)},{expand:{target:t,descendants:Array.from(f.nodes).map(([,v])=>Pt(v)),position:l}}))===null||r===void 0?void 0:r.finished})}collapseCombo(t,e){return Vl(this,void 0,void 0,function*(){var r;const{model:i,element:a}=this.context;if(i.getAncestorsData(t,hn).some(g=>Qr(g)))return;const s=a.getElement(t),o=s.getComboPosition(Object.assign(Object.assign({},s.attributes),{collapsed:!0})),l=this.computeChangesAndDrawData({stage:"collapse",animation:e});if(!l)return;const{dataChanges:c,drawData:u}=l;this.markDestroyElement(u);const{update:h,remove:f}=u,d={animation:e,stage:"collapse",data:u};this.destroyElements(f,d),this.updateElements(h,d);const v=g=>Array.from(g).map(([,p])=>Pt(p));yield(r=this.context.animation.animate(e,{before:()=>this.emit(new tr(Qt.BEFORE_DRAW,{dataChanges:c,animation:e}),d),beforeAnimate:g=>this.emit(new Mi(Qt.BEFORE_ANIMATE,Ur.COLLAPSE,g,u),d),afterAnimate:g=>this.emit(new Mi(Qt.AFTER_ANIMATE,Ur.COLLAPSE,g,u),d),after:()=>this.emit(new tr(Qt.AFTER_DRAW,{dataChanges:c,animation:e}),d)},{collapse:{target:t,descendants:[...v(f.nodes),...v(f.combos)],position:o}}))===null||r===void 0?void 0:r.finished})}expandCombo(t,e){return Vl(this,void 0,void 0,function*(){var r;const{model:i}=this.context,a=ir(i.getComboData([t])[0]);this.computeStyle("expand");const s=this.computeChangesAndDrawData({stage:"expand",animation:e});if(!s)return;const{dataChanges:o,drawData:l}=s,{add:c,update:u}=l,h={animation:e,stage:"expand",data:l,target:t};this.createElements(c,h),this.updateElements(u,h);const f=d=>Array.from(d).map(([,v])=>Pt(v));yield(r=this.context.animation.animate(e,{before:()=>this.emit(new tr(Qt.BEFORE_DRAW,{dataChanges:o,animation:e}),h),beforeAnimate:d=>this.emit(new Mi(Qt.BEFORE_ANIMATE,Ur.EXPAND,d,l),h),afterAnimate:d=>this.emit(new Mi(Qt.AFTER_ANIMATE,Ur.EXPAND,d,l),h),after:()=>this.emit(new tr(Qt.AFTER_DRAW,{dataChanges:o,animation:e}),h)},{expand:{target:t,descendants:[...f(c.nodes),...f(c.combos)],position:a}}))===null||r===void 0?void 0:r.finished})}clear(){this.container.destroy(),this.initContainer(),this.elementMap={},this.shapeTypeMap={},this.defaultStyle={},this.stateStyle={},this.paletteStyle={}}destroy(){this.clear(),this.container.destroy(),this.context={}}}const jE=Symbol("Comlink.proxy"),K8=Symbol("Comlink.endpoint"),FE=Symbol("Comlink.releaseProxy"),Z0=Symbol("Comlink.finalizer"),$h=Symbol("Comlink.thrown"),ZE=n=>typeof n=="object"&&n!==null||typeof n=="function",Q8={canHandle:n=>ZE(n)&&n[jE],serialize(n){const{port1:t,port2:e}=new MessageChannel;return HE(n,t),[e,[e]]},deserialize(n){return n.start(),WE(n)}},J8={canHandle:n=>ZE(n)&&$h in n,serialize({value:n}){let t;return n instanceof Error?t={isError:!0,value:{message:n.message,name:n.name,stack:n.stack}}:t={isError:!1,value:n},[t,[]]},deserialize(n){throw n.isError?Object.assign(new Error(n.value.message),n.value):n.value}},_E=new Map([["proxy",Q8],["throw",J8]]);function q8(n,t){for(const e of n)if(t===e||e==="*"||e instanceof RegExp&&e.test(t))return!0;return!1}function HE(n,t=globalThis,e=["*"]){t.addEventListener("message",function r(i){if(!i||!i.data)return;if(!q8(e,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(Us);let c;try{const u=o.slice(0,-1).reduce((f,d)=>f[d],n),h=o.reduce((f,d)=>f[d],n);switch(s){case"GET":c=h;break;case"SET":u[o.slice(-1)[0]]=Us(i.data.value),c=!0;break;case"APPLY":c=h.apply(u,l);break;case"CONSTRUCT":{const f=new h(...l);c=i9(f)}break;case"ENDPOINT":{const{port1:f,port2:d}=new MessageChannel;HE(n,d),c=r9(f,[f])}break;case"RELEASE":c=void 0;break;default:return}}catch(u){c={value:u,[$h]:0}}Promise.resolve(c).catch(u=>({value:u,[$h]:0})).then(u=>{const[h,f]=rf(u);t.postMessage(Object.assign(Object.assign({},h),{id:a}),f),s==="RELEASE"&&(t.removeEventListener("message",r),GE(t),Z0 in n&&typeof n[Z0]=="function"&&n[Z0]())}).catch(u=>{const[h,f]=rf({value:new TypeError("Unserializable return value"),[$h]:0});t.postMessage(Object.assign(Object.assign({},h),{id:a}),f)})}),t.start&&t.start()}function $8(n){return n.constructor.name==="MessagePort"}function GE(n){$8(n)&&n.close()}function WE(n,t){const e=new Map;return n.addEventListener("message",function(i){const{data:a}=i;if(!a||!a.id)return;const s=e.get(a.id);if(s)try{s(a)}finally{e.delete(a.id)}}),_0(n,e,[],t)}function tf(n){if(n)throw new Error("Proxy has been released and is not useable")}function XE(n){return Lo(n,new Map,{type:"RELEASE"}).then(()=>{GE(n)})}const ef=new WeakMap,nf="FinalizationRegistry"in globalThis&&new FinalizationRegistry(n=>{const t=(ef.get(n)||0)-1;ef.set(n,t),t===0&&XE(n)});function t9(n,t){const e=(ef.get(t)||0)+1;ef.set(t,e),nf&&nf.register(n,t,n)}function e9(n){nf&&nf.unregister(n)}function _0(n,t,e=[],r=function(){}){let i=!1;const a=new Proxy(r,{get(s,o){if(tf(i),o===FE)return()=>{e9(a),XE(n),t.clear(),i=!0};if(o==="then"){if(e.length===0)return{then:()=>a};const l=Lo(n,t,{type:"GET",path:e.map(c=>c.toString())}).then(Us);return l.then.bind(l)}return _0(n,t,[...e,o])},set(s,o,l){tf(i);const[c,u]=rf(l);return Lo(n,t,{type:"SET",path:[...e,o].map(h=>h.toString()),value:c},u).then(Us)},apply(s,o,l){tf(i);const c=e[e.length-1];if(c===K8)return Lo(n,t,{type:"ENDPOINT"}).then(Us);if(c==="bind")return _0(n,t,e.slice(0,-1));const[u,h]=VE(l);return Lo(n,t,{type:"APPLY",path:e.map(f=>f.toString()),argumentList:u},h).then(Us)},construct(s,o){tf(i);const[l,c]=VE(o);return Lo(n,t,{type:"CONSTRUCT",path:e.map(u=>u.toString()),argumentList:l},c).then(Us)}});return t9(a,n),a}function n9(n){return Array.prototype.concat.apply([],n)}function VE(n){const t=n.map(rf);return[t.map(e=>e[0]),n9(t.map(e=>e[1]))]}const YE=new WeakMap;function r9(n,t){return YE.set(n,t),n}function i9(n){return Object.assign(n,{[jE]:!0})}function OZ(n,t=globalThis,e="*"){return{postMessage:(r,i)=>n.postMessage(r,e,i),addEventListener:t.addEventListener.bind(t),removeEventListener:t.removeEventListener.bind(t)}}function rf(n){for(const[t,e]of _E)if(e.canHandle(n)){const[r,i]=e.serialize(n);return[{type:"HANDLER",name:t,value:r},i]}return[{type:"RAW",value:n},YE.get(n)||[]]}function Us(n){switch(n.type){case"HANDLER":return _E.get(n.name).deserialize(n.value);case"RAW":return n.value}}function Lo(n,t,e,r){return new Promise(i=>{const a=a9();t.set(a,i),n.start&&n.start(),n.postMessage(Object.assign({id:a},e),r)})}function a9(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}class s9 extends Xu{constructor(t,e,r){super(),this.graph=t,this.layout=e,this.options=r,this.spawnWorker()}spawnWorker(){this.proxy=WE(new Worker(new URL(E.p+E.u(7999),E.b),{type:void 0})),this.running&&(this.running=!1,this.execute())}execute(){var t;return(0,G.mG)(this,void 0,void 0,function*(){if(this.running)return this;this.running=!0;const e=this.layout.options,{onTick:r}=e,i=(0,G._T)(e,["onTick"]),a={};Object.keys(i).forEach(c=>{de(i[c])||(a[c]=i[c])});const s={layout:{id:this.layout.id,options:a,iterations:(t=this.options)===null||t===void 0?void 0:t.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[FE]()}isRunning(){return this.running}}var Do=function(n,t,e,r){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(u){try{c(r.next(u))}catch(h){s(h)}}function l(u){try{c(r.throw(u))}catch(h){s(h)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((r=r.apply(n,t||[])).next())})},o9=function(n,t){var e={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&t.indexOf(r)<0&&(e[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(n);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(n,r[i])&&(e[r[i]]=n[r[i]]);return e};class l9{get presetOptions(){return{animation:!!Om(this.context.options,!0)}}get options(){const{options:t}=this.context;return t.layout}constructor(t){this.instances=[],this.context=t}getLayoutInstance(){return this.instances}preLayout(t){return Do(this,void 0,void 0,function*(){var e,r,i,a;const{graph:s,model:o}=this.context,{add:l}=t;sr(s,new tr(Qt.BEFORE_LAYOUT,{type:"pre"}));const c=yield(e=this.context.layout)===null||e===void 0?void 0:e.simulate();(r=c==null?void 0:c.nodes)===null||r===void 0||r.forEach(u=>{const h=Pt(u),f=l.nodes.get(h);o.syncNodeLikeDatum(u),f&&Object.assign(f.style,u.style)}),(i=c==null?void 0:c.edges)===null||i===void 0||i.forEach(u=>{const h=Pt(u),f=l.edges.get(h);o.syncEdgeDatum(u),f&&Object.assign(f.style,u.style)}),(a=c==null?void 0:c.combos)===null||a===void 0||a.forEach(u=>{const h=Pt(u),f=l.combos.get(h);o.syncNodeLikeDatum(u),f&&Object.assign(f.style,u.style)}),sr(s,new tr(Qt.AFTER_LAYOUT,{type:"pre"})),this.transformDataAfterLayout("pre",t)})}postLayout(){return Do(this,arguments,void 0,function*(t=this.options){if(!t)return;const e=Array.isArray(t)?t:[t],{graph:r}=this.context;sr(r,new tr(Qt.BEFORE_LAYOUT,{type:"post"}));for(let i=0;i<e.length;i++){const a=e[i],s=this.getLayoutData(a),o=Object.assign(Object.assign({},this.presetOptions),a);sr(r,new tr(Qt.BEFORE_STAGE_LAYOUT,{options:o,index:i}));const l=yield this.stepLayout(s,o,i);sr(r,new tr(Qt.AFTER_STAGE_LAYOUT,{options:o,index:i})),a.animation||this.updateElementPosition(l,!1)}sr(r,new tr(Qt.AFTER_LAYOUT,{type:"post"})),this.transformDataAfterLayout("post")})}transformDataAfterLayout(t,e){const r=this.context.transform.getTransformInstance();Object.values(r).forEach(i=>i.afterLayout(t,e))}simulate(){return Do(this,void 0,void 0,function*(){if(!this.options)return{};const t=Array.isArray(this.options)?this.options:[this.options];let e={};for(let r=0;r<t.length;r++){const i=t[r],a=this.getLayoutData(i);e=yield this.stepLayout(a,Object.assign(Object.assign(Object.assign({},this.presetOptions),i),{animation:!1}),r)}return e})}stepLayout(t,e,r){return Do(this,void 0,void 0,function*(){return rk(e)?yield this.treeLayout(t,e,r):yield this.graphLayout(t,e,r)})}graphLayout(t,e,r){return Do(this,void 0,void 0,function*(){const{animation:i,enableWorker:a,iterations:s=300}=e,o=this.initGraphLayout(e);if(!o)return{};if(this.instances[r]=o,this.instance=o,a){const c=o;return this.supervisor=new s9(c.graphData2LayoutModel(t),c.instance,{iterations:s}),Uu(yield this.supervisor.execute())}if(Bv(o))return i?yield o.execute(t,{onTick:c=>{this.updateElementPosition(c,!1)}}):(o.execute(t),o.stop(),o.tick(s));const l=yield o.execute(t);if(i){const c=this.updateElementPosition(l,i);yield c==null?void 0:c.finished}return l})}treeLayout(t,e,r){return Do(this,void 0,void 0,function*(){const{type:i,animation:a}=e,s=ga("layout",i);if(!s)return{};const{nodes:o=[],edges:l=[]}=t,c=new Xn({nodes:o.map(v=>({id:Pt(v),data:v.data||{}})),edges:l.map(v=>({id:Pt(v),source:v.source,target:v.target,data:v.data||{}}))});V8(c);const u={nodes:[],edges:[]},h={nodes:[],edges:[]};c.getRoots(ni).forEach(v=>{Rs(v,M=>{M.children=c.getSuccessors(M.id)},M=>c.getSuccessors(M.id),"TB");const g=s(v,e),{x:p,y,z:b=0}=g;Rs(g,M=>{const{id:O,x:k,y:D,z:j=0}=M;u.nodes.push({id:O,style:{x:p,y,z:b}}),h.nodes.push({id:O,style:{x:k,y:D,z:j}})},M=>M.children,"TB")});const d=this.inferTreeLayoutOffset(h);if(UE(h,d),a){UE(u,d),this.updateElementPosition(u,!1);const v=this.updateElementPosition(h,a);yield v==null?void 0:v.finished}return h})}inferTreeLayoutOffset(t){var e;let[r,i]=[1/0,-1/0],[a,s]=[1/0,-1/0];(e=t.nodes)===null||e===void 0||e.forEach(g=>{const{x:p=0,y=0}=g.style||{};r=Math.min(r,p),i=Math.max(i,p),a=Math.min(a,y),s=Math.max(s,y)});const{canvas:o}=this.context,l=o.getSize(),[c,u]=o.getCanvasByViewport([0,0]),[h,f]=o.getCanvasByViewport(l);if(r>=c&&i<=h&&a>=u&&s<=f)return[0,0];const d=(c+h)/2,v=(u+f)/2;return[d-(r+i)/2,v-(a+s)/2]}stopLayout(){this.instance&&Bv(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(t){const{nodeFilter:e=()=>!0,preLayout:r=!1,isLayoutInvisibleNodes:i=!1}=t,{nodes:a,edges:s,combos:o}=this.context.model.getData(),{element:l,model:c}=this.context,u=g=>l.getElement(g),h=r?g=>{var p;return!i&&(((p=g.style)===null||p===void 0?void 0:p.visibility)==="hidden"||c.getAncestorsData(g.id,ni).some(Qr)||c.getAncestorsData(g.id,hn).some(Qr))?!1:e(g)}:g=>{const p=Pt(g),y=u(p);return!y||Sl(y)?!1:e(g)},f=a.filter(h),d=new Map(f.map(g=>[Pt(g),g]));o.forEach(g=>d.set(Pt(g),g));const v=s.filter(({source:g,target:p})=>d.has(g)&&d.has(p));return{nodes:f,edges:v,combos:o}}initGraphLayout(t){var e;const{element:r,viewport:i}=this.context,{type:a,enableWorker:s,animation:o,iterations:l}=t,c=o9(t,["type","enableWorker","animation","iterations"]),[u,h]=i.getCanvasSize(),f=[u/2,h/2],d=(e=t==null?void 0:t.nodeSize)!==null&&e!==void 0?e:b=>{const M=r==null?void 0:r.getElement(b.id);return M?M.attributes.size:r==null?void 0:r.getElementComputedStyle("node",b).size},v=ga("layout",a);if(!v)return Kr.warn(`The layout of ${a} is not registered.`);const g=Object.getPrototypeOf(v.prototype)===Yu.prototype?v:ak(v,this.context),p=new g(this.context),y={nodeSize:d,width:u,height:h,center:f};switch(p.id){case"d3-force":case"d3-force-3d":Object.assign(y,{center:{x:u/2,y:h/2,z:0}});break;default:break}return pr(p.options,y,c),p}updateElementPosition(t,e){const{model:r,element:i}=this.context;return i?(r.updateData(t),i.draw({animation:e,silence:!0})):null}destroy(){var t;this.stopLayout(),this.context={},(t=this.supervisor)===null||t===void 0||t.kill(),this.supervisor=void 0,this.instance=void 0,this.instances=[],this.animationResult=void 0}}const UE=(n,t)=>{var e;const[r,i]=t;(e=n.nodes)===null||e===void 0||e.forEach(a=>{if(a.style){const{x:s=0,y:o=0}=a.style;a.style.x=s+r,a.style.y=o+i}else a.style={x:r,y:i}})};function c9(n){return[u9].reduce((e,r)=>r(e),n)}function u9(n){return!n.layout||Array.isArray(n.layout)||"preLayout"in n.layout||["antv-dagre","combo-combined","compact-box","circular","concentric","dagre","fishbone","grid","indented","mds","radial","random","snake","dendrogram","mindmap"].includes(n.layout.type)&&(n.layout.preLayout=!0),n}class h9 extends Hd{constructor(t){super(t),this.category="plugin",this.setPlugins(this.context.options.plugins||[])}setPlugins(t){this.setExtensions(t)}getPluginInstance(t){const e=this.extensionMap[t];if(e)return e;Kr.warn(`Cannot find the plugin ${t}, will try to find it by type.`);const r=this.extensions.find(i=>i.type===t);if(r)return this.extensionMap[r.key]}}const af=["update-related-edges","collapse-expand-node","collapse-expand-combo","get-edge-actual-ends","arrange-draw-order"];class f9 extends Hd{constructor(t){super(t),this.category="transform",this.setTransforms(this.context.options.transforms||[])}getTransforms(){}setTransforms(t){this.setExtensions([...af.slice(0,af.length-1),...t,af[af.length-1]])}getTransformInstance(t){return t?this.extensionMap[t]:this.extensionMap}}var Yl=function(n,t,e,r){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(u){try{c(r.next(u))}catch(h){s(h)}}function l(u){try{c(r.throw(u))}catch(h){s(h)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((r=r.apply(n,t||[])).next())})};class d9{get padding(){return Di(this.context.options.padding)}get paddingOffset(){const[t,e,r,i]=this.padding,[a,s,o]=[(i-e)/2,(t-r)/2,0];return[a,s,o]}constructor(t){this.landmarkCounter=0,this.context=t;const[e,r]=this.paddingOffset,{zoom:i,rotation:a,x:s=e,y:o=r}=t.options;this.transform({mode:"absolute",scale:i,translate:[s,o],rotate:a},!1)}get camera(){const{canvas:t}=this.context;return new Proxy(t.getCamera(),{get:(e,r)=>{const a=Object.entries(t.getLayers()).filter(([o])=>!["main"].includes(o)).map(([,o])=>o.getCamera()),s=e[r];if(typeof s=="function")return(...o)=>{const l=s.apply(e,o);return a.forEach(c=>{c[r].apply(c,o)}),l}}})}createLandmark(t){return this.camera.createLandmark(`landmark-${this.landmarkCounter++}`,t)}getAnimation(t){const e=Om(this.context.options,t);return e?zs(Object.assign({},e),["easing","duration"]):!1}getCanvasSize(){const{canvas:t}=this.context,{width:e=0,height:r=0}=t.getConfig();return[e,r]}getCanvasCenter(){const{canvas:t}=this.context,{width:e=0,height:r=0}=t.getConfig();return[e/2,r/2,0]}getViewportCenter(){const[t,e]=this.camera.getPosition();return[t,e,0]}getGraphCenter(){return this.context.graph.getViewportByCanvas(this.getCanvasCenter())}getZoom(){return this.camera.getZoom()}getRotation(){return this.camera.getRoll()}getTranslateOptions(t){const{camera:e}=this,{mode:r,translate:i=[]}=t,a=this.getZoom(),s=e.getPosition(),o=e.getFocalPoint(),[l,c]=this.getCanvasCenter(),[u=0,h=0,f=0]=i,d=zi([-u,-h,-f],a);return r==="relative"?{position:Ne(s,d),focalPoint:Ne(o,d)}:{position:Ne([l,c,s[2]],d),focalPoint:Ne([l,c,o[2]],d)}}getRotateOptions(t){const{mode:e,rotate:r=0}=t;return{roll:e==="relative"?this.camera.getRoll()+r:r}}getZoomOptions(t){const{zoomRange:e}=this.context.options,r=this.camera.getZoom(),{mode:i,scale:a=1}=t;return Nn(i==="relative"?r*a:a,...e)}transform(t,e){return Yl(this,void 0,void 0,function*(){const{graph:r}=this.context,{translate:i,rotate:a,scale:s,origin:o}=t;this.cancelAnimation();const l=this.getAnimation(e);if(sr(r,new Jh(Qt.BEFORE_TRANSFORM,t)),!a&&s&&!i&&o&&!l){this.camera.setZoomByViewportPoint(this.getZoomOptions(t),o),sr(r,new Jh(Qt.AFTER_TRANSFORM,t));return}const c={};if(i&&Object.assign(c,this.getTranslateOptions(t)),ie(a)&&Object.assign(c,this.getRotateOptions(t)),ie(s)&&Object.assign(c,{zoom:this.getZoomOptions(t)}),l)return sr(r,new Mi(Qt.BEFORE_ANIMATE,Ur.TRANSFORM,null,t)),new Promise(u=>{this.transformResolver=u,this.camera.gotoLandmark(this.createLandmark(c),Object.assign(Object.assign({},l),{onfinish:()=>{sr(r,new Mi(Qt.AFTER_ANIMATE,Ur.TRANSFORM,null,t)),sr(r,new Jh(Qt.AFTER_TRANSFORM,t)),this.transformResolver=void 0,u()}}))});this.camera.gotoLandmark(this.createLandmark(c),{duration:0}),sr(r,new Jh(Qt.AFTER_TRANSFORM,t))})}fitView(t,e){return Yl(this,void 0,void 0,function*(){const[r,i,a,s]=this.padding,{when:o="always",direction:l="both"}=t||{},[c,u]=this.context.canvas.getSize(),h=c-s-i,f=u-r-a,d=this.context.canvas.getBounds(),v=this.getBBoxInViewport(d),[g,p]=za(v),y=l==="x"&&g>=h||l==="y"&&p>=f||l==="both"&&g>=h&&p>=f;if(o==="overflow"&&!y)return yield this.fitCenter({animation:e});const b=h/g,M=f/p,O=l==="x"?b:l==="y"?M:Math.min(b,M),k=this.getAnimation(e);yield this.transform({mode:"relative",scale:O,translate:Ne(on(this.getCanvasCenter(),this.getBBoxInViewport(d).center),zi(this.paddingOffset,O))},k)})}fitCenter(t){return Yl(this,void 0,void 0,function*(){const e=this.context.canvas.getBounds();yield this.focus(e,t)})}focusElements(t){return Yl(this,arguments,void 0,function*(e,r={}){const{element:i}=this.context;if(!i)return;const a=o=>r.shapes?o.getShape(r.shapes).getRenderBounds():o.getRenderBounds(),s=hl(e.map(o=>a(i.getElement(o))));yield this.focus(s,r)})}focus(t,e){return Yl(this,void 0,void 0,function*(){const r=this.context.graph.getViewportByCanvas(t.center),i=e.position||this.getCanvasCenter(),a=on(i,r);yield this.transform({mode:"relative",translate:Ne(a,this.paddingOffset)},e.animation)})}getBBoxInViewport(t){const{min:e,max:r}=t,{graph:i}=this.context,[a,s]=i.getViewportByCanvas(e),[o,l]=i.getViewportByCanvas(r),c=new pn;return c.setMinMax([a,s,0],[o,l,0]),c}isInViewport(t,e=!1,r=0){const{graph:i}=this.context,a=this.getCanvasSize(),[s,o]=i.getCanvasByViewport([0,0]),[l,c]=i.getCanvasByViewport(a);let u=new pn;return u.setMinMax([s,o,0],[l,c,0]),r&&(u=Fa(u,r)),ho(t)?Ri(t,u):e?SO(t,u):u.intersects(t)}cancelAnimation(){var t,e;!((t=this.camera.landmarks)===null||t===void 0)&&t.length&&this.camera.cancelLandmarkAnimation(),(e=this.transformResolver)===null||e===void 0||e.call(this)}}var mn=function(n,t,e,r){function i(a){return a instanceof e?a:new e(function(s){s(a)})}return new(e||(e=Promise))(function(a,s){function o(u){try{c(r.next(u))}catch(h){s(h)}}function l(u){try{c(r.throw(u))}catch(h){s(h)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((r=r.apply(n,t||[])).next())})};class sf extends Xu{constructor(t){var e;super(),this.options={},this.rendered=!1,this.destroyed=!1,this.context={model:new Y8},this.isCollapsingExpanding=!1,this.onResize=Ol(()=>{this.resize()},300),this._setOptions(Object.assign({},sf.defaultOptions,t),!0),this.context.graph=this,this.options.autoResize&&((e=globalThis.addEventListener)===null||e===void 0||e.call(globalThis,"resize",this.onResize))}getOptions(){return this.options}setOptions(t){this._setOptions(t,!1)}_setOptions(t,e){if(this.updateCanvas(t),Object.assign(this.options,c9(t)),e){const{data:f}=t;f&&this.addData(f);return}const{behaviors:r,combo:i,data:a,edge:s,layout:o,node:l,plugins:c,theme:u,transforms:h}=t;r&&this.setBehaviors(r),a&&this.setData(a),l&&this.setNode(l),s&&this.setEdge(s),i&&this.setCombo(i),o&&this.setLayout(o),u&&this.setTheme(u),c&&this.setPlugins(c),h&&this.setTransforms(h)}getSize(){return this.context.canvas?this.context.canvas.getSize():[this.options.width||0,this.options.height||0]}setSize(t,e){t&&(this.options.width=t),e&&(this.options.height=e),this.resize(t,e)}setZoomRange(t){this.options.zoomRange=t}getZoomRange(){return this.options.zoomRange}setNode(t){this.options.node=t,this.context.model.refreshData()}setEdge(t){this.options.edge=t,this.context.model.refreshData()}setCombo(t){this.options.combo=t,this.context.model.refreshData()}getTheme(){return this.options.theme}setTheme(t){this.options.theme=de(t)?t(this.getTheme()):t}setLayout(t){this.options.layout=de(t)?t(this.getLayout()):t}getLayout(){return this.options.layout}setBehaviors(t){var e;this.options.behaviors=de(t)?t(this.getBehaviors()):t,(e=this.context.behavior)===null||e===void 0||e.setBehaviors(this.options.behaviors)}updateBehavior(t){this.setBehaviors(e=>e.map(r=>typeof r=="object"&&r.key===t.key?Object.assign(Object.assign({},r),t):r))}getBehaviors(){return this.options.behaviors||[]}setPlugins(t){var e;this.options.plugins=de(t)?t(this.getPlugins()):t,(e=this.context.plugin)===null||e===void 0||e.setPlugins(this.options.plugins)}updatePlugin(t){this.setPlugins(e=>e.map(r=>typeof r=="object"&&r.key===t.key?Object.assign(Object.assign({},r),t):r))}getPlugins(){return this.options.plugins||[]}getPluginInstance(t){return this.context.plugin.getPluginInstance(t)}setTransforms(t){var e;this.options.transforms=de(t)?t(this.getTransforms()):t,(e=this.context.transform)===null||e===void 0||e.setTransforms(this.options.transforms)}updateTransform(t){this.setTransforms(e=>e.map(r=>typeof r=="object"&&r.key===t.key?Object.assign(Object.assign({},r),t):r)),this.context.model.refreshData()}getTransforms(){return this.options.transforms||[]}getData(){return this.context.model.getData()}getElementData(t){return Array.isArray(t)?t.map(e=>this.context.model.getElementDataById(e)):this.context.model.getElementDataById(t)}getNodeData(t){return t===void 0?this.context.model.getNodeData():Array.isArray(t)?this.context.model.getNodeData(t):this.context.model.getNodeLikeDatum(t)}getEdgeData(t){return t===void 0?this.context.model.getEdgeData():Array.isArray(t)?this.context.model.getEdgeData(t):this.context.model.getEdgeDatum(t)}getComboData(t){return t===void 0?this.context.model.getComboData():Array.isArray(t)?this.context.model.getComboData(t):this.context.model.getNodeLikeDatum(t)}setData(t){this.context.model.setData(de(t)?t(this.getData()):t)}addData(t){this.context.model.addData(de(t)?t(this.getData()):t)}addNodeData(t){this.context.model.addNodeData(de(t)?t(this.getNodeData()):t)}addEdgeData(t){this.context.model.addEdgeData(de(t)?t(this.getEdgeData()):t)}addComboData(t){this.context.model.addComboData(de(t)?t(this.getComboData()):t)}addChildrenData(t,e){this.context.model.addChildrenData(t,e)}updateData(t){this.context.model.updateData(de(t)?t(this.getData()):t)}updateNodeData(t){this.context.model.updateNodeData(de(t)?t(this.getNodeData()):t)}updateEdgeData(t){this.context.model.updateEdgeData(de(t)?t(this.getEdgeData()):t)}updateComboData(t){this.context.model.updateComboData(de(t)?t(this.getComboData()):t)}removeData(t){this.context.model.removeData(de(t)?t(this.getData()):t)}removeNodeData(t){this.context.model.removeNodeData(de(t)?t(this.getNodeData()):t)}removeEdgeData(t){this.context.model.removeEdgeData(de(t)?t(this.getEdgeData()):t)}removeComboData(t){this.context.model.removeComboData(de(t)?t(this.getComboData()):t)}getElementType(t){return this.context.model.getElementType(t)}getRelatedEdgesData(t,e="both"){return this.context.model.getRelatedEdgesData(t,e)}getNeighborNodesData(t){return this.context.model.getNeighborNodesData(t)}getAncestorsData(t,e){return this.context.model.getAncestorsData(t,e)}getParentData(t,e){return this.context.model.getParentData(t,e)}getChildrenData(t){return this.context.model.getChildrenData(t)}getDescendantsData(t){return this.context.model.getDescendantsData(t)}getElementDataByState(t,e){return this.context.model.getElementDataByState(t,e)}initCanvas(){return mn(this,void 0,void 0,function*(){var t;if(this.context.canvas)return yield this.context.canvas.ready;const{container:e="container",width:r,height:i,renderer:a,cursor:s,background:o,canvas:l,devicePixelRatio:c=(t=globalThis.devicePixelRatio)!==null&&t!==void 0?t:1}=this.options;if(e instanceof LE)this.context.canvas=e,s&&e.setCursor(s),a&&e.setRenderer(a),yield e.ready;else{const u=We(e)?document.getElementById(e):e,h=IE(u);this.emit(Qt.BEFORE_CANVAS_INIT,{container:u,width:r,height:i});const f=Object.assign(Object.assign({},l),{container:u,width:r||h[0],height:i||h[1],background:o,renderer:a,cursor:s,devicePixelRatio:c}),d=new LE(f);this.context.canvas=d,yield d.ready,this.emit(Qt.AFTER_CANVAS_INIT,{canvas:d})}})}updateCanvas(t){var e,r;const{renderer:i,cursor:a,height:s,width:o}=t,l=this.context.canvas;l&&(i&&(this.emit(Qt.BEFORE_RENDERER_CHANGE,{renderer:this.options.renderer}),l.setRenderer(i),this.emit(Qt.AFTER_RENDERER_CHANGE,{renderer:i})),a&&l.setCursor(a),(ie(o)||ie(s))&&this.setSize((e=o!=null?o:this.options.width)!==null&&e!==void 0?e:0,(r=s!=null?s:this.options.height)!==null&&r!==void 0?r:0))}initRuntime(){this.context.options=this.options,this.context.batch||(this.context.batch=new H8(this.context)),this.context.plugin||(this.context.plugin=new h9(this.context)),this.context.viewport||(this.context.viewport=new d9(this.context)),this.context.transform||(this.context.transform=new f9(this.context)),this.context.element||(this.context.element=new U8(this.context)),this.context.animation||(this.context.animation=new _8(this.context)),this.context.layout||(this.context.layout=new l9(this.context)),this.context.behavior||(this.context.behavior=new G8(this.context))}prepare(){return mn(this,void 0,void 0,function*(){if(yield Promise.resolve(),this.destroyed){console.error(pa("The graph instance has been destroyed"));return}yield this.initCanvas(),this.initRuntime()})}render(){return mn(this,void 0,void 0,function*(){if(yield this.prepare(),sr(this,new tr(Qt.BEFORE_RENDER)),this.options.layout)if(!this.rendered&&ik(this.options.layout)){const t=yield this.context.element.preLayoutDraw({type:"render"});yield Promise.all([t==null?void 0:t.finished,this.autoFit()])}else{const t=this.context.element.draw({type:"render"});yield Promise.all([t==null?void 0:t.finished,this.context.layout.postLayout()]),yield this.autoFit()}else{const t=this.context.element.draw({type:"render"});yield Promise.all([t==null?void 0:t.finished,this.autoFit()])}this.rendered=!0,sr(this,new tr(Qt.AFTER_RENDER))})}draw(){return mn(this,void 0,void 0,function*(){var t;yield this.prepare(),yield(t=this.context.element.draw())===null||t===void 0?void 0:t.finished})}layout(t){return mn(this,void 0,void 0,function*(){yield this.context.layout.postLayout(t)})}stopLayout(){this.context.layout.stopLayout()}clear(){return mn(this,void 0,void 0,function*(){const{model:t,element:e}=this.context;t.setData({}),t.clearChanges(),e==null||e.clear()})}destroy(){var t;sr(this,new tr(Qt.BEFORE_DESTROY));const{layout:e,animation:r,element:i,model:a,canvas:s,behavior:o,plugin:l}=this.context;l==null||l.destroy(),o==null||o.destroy(),e==null||e.destroy(),r==null||r.destroy(),i==null||i.destroy(),a.destroy(),s==null||s.destroy(),this.options={},this.context={},this.off(),(t=globalThis.removeEventListener)===null||t===void 0||t.call(globalThis,"resize",this.onResize),this.destroyed=!0,sr(this,new tr(Qt.AFTER_DESTROY))}getCanvas(){return this.context.canvas}resize(t,e){var r;const i=IE((r=this.context.canvas)===null||r===void 0?void 0:r.getContainer()),a=[t||i[0],e||i[1]];if(!this.context.canvas)return;const s=this.context.canvas.getSize();Hn(a,s)||(sr(this,new tr(Qt.BEFORE_SIZE_CHANGE,{size:a})),this.context.canvas.resize(...a),sr(this,new tr(Qt.AFTER_SIZE_CHANGE,{size:a})))}fitView(t,e){return mn(this,void 0,void 0,function*(){var r;yield(r=this.context.viewport)===null||r===void 0?void 0:r.fitView(t,e)})}fitCenter(t){return mn(this,void 0,void 0,function*(){var e;yield(e=this.context.viewport)===null||e===void 0?void 0:e.fitCenter({animation:t})})}autoFit(){return mn(this,void 0,void 0,function*(){const{autoFit:t}=this.context.options;if(t)if(We(t))t==="view"?yield this.fitView():t==="center"&&(yield this.fitCenter());else{const{type:e,animation:r}=t;e==="view"?yield this.fitView(t.options,r):e==="center"&&(yield this.fitCenter(r))}})}focusElement(t,e){return mn(this,void 0,void 0,function*(){var r;yield(r=this.context.viewport)===null||r===void 0?void 0:r.focusElements(Array.isArray(t)?t:[t],{animation:e})})}zoomBy(t,e,r){return mn(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",scale:t,origin:r},e)})}zoomTo(t,e,r){return mn(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"absolute",scale:t,origin:r},e)})}getZoom(){return this.context.viewport.getZoom()}rotateBy(t,e,r){return mn(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",rotate:t,origin:r},e)})}rotateTo(t,e,r){return mn(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"absolute",rotate:t,origin:r},e)})}getRotation(){return this.context.viewport.getRotation()}translateBy(t,e){return mn(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",translate:t},e)})}translateTo(t,e){return mn(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"absolute",translate:t},e)})}getPosition(){return on([0,0],this.getCanvasByViewport([0,0]))}translateElementBy(t,e){return mn(this,arguments,void 0,function*(r,i,a=!0){var s,o;const[l,c]=Fn(r)?[r,(s=i)!==null&&s!==void 0?s:!0]:[{[r]:i},a];Object.entries(l).forEach(([u,h])=>this.context.model.translateNodeLikeBy(u,h)),yield(o=this.context.element.draw({animation:c,stage:"translate"}))===null||o===void 0?void 0:o.finished})}translateElementTo(t,e){return mn(this,arguments,void 0,function*(r,i,a=!0){var s,o;const[l,c]=Fn(r)?[r,(s=i)!==null&&s!==void 0?s:!0]:[{[r]:i},a];Object.entries(l).forEach(([u,h])=>this.context.model.translateNodeLikeTo(u,h)),yield(o=this.context.element.draw({animation:c,stage:"translate"}))===null||o===void 0?void 0:o.finished})}getElementPosition(t){return this.context.model.getElementPosition(t)}getElementRenderStyle(t){return Hv(this.context.element.getElement(t).attributes,["context"])}setElementVisibility(t,e){return mn(this,arguments,void 0,function*(r,i,a=!0){var s,o;const[l,c]=Fn(r)?[r,(s=i)!==null&&s!==void 0?s:!0]:[{[r]:i},a],u={nodes:[],edges:[],combos:[]};Object.entries(l).forEach(([d,v])=>{const g=this.getElementType(d);u[`${g}s`].push({id:d,style:{visibility:v}})});const{model:h,element:f}=this.context;h.preventUpdateNodeLikeHierarchy(()=>{h.updateData(u)}),yield(o=f.draw({animation:c,stage:"visibility"}))===null||o===void 0?void 0:o.finished})}showElement(t,e){return mn(this,void 0,void 0,function*(){const r=Array.isArray(t)?t:[t];yield this.setElementVisibility(Object.fromEntries(r.map(i=>[i,"visible"])),e)})}hideElement(t,e){return mn(this,void 0,void 0,function*(){const r=Array.isArray(t)?t:[t];yield this.setElementVisibility(Object.fromEntries(r.map(i=>[i,"hidden"])),e)})}getElementVisibility(t){var e,r;const i=this.context.element.getElement(t);return(r=(e=i==null?void 0:i.style)===null||e===void 0?void 0:e.visibility)!==null&&r!==void 0?r:"visible"}setElementZIndex(t,e){return mn(this,void 0,void 0,function*(){var r;const i={nodes:[],edges:[],combos:[]},a=Fn(t)?t:{[t]:e};Object.entries(a).forEach(([l,c])=>{const u=this.getElementType(l);i[`${u}s`].push({id:l,style:{zIndex:c}})});const{model:s,element:o}=this.context;s.preventUpdateNodeLikeHierarchy(()=>s.updateData(i)),yield(r=o.draw({animation:!1,stage:"zIndex"}))===null||r===void 0?void 0:r.finished})}frontElement(t){return mn(this,void 0,void 0,function*(){const e=Array.isArray(t)?t:[t],{model:r}=this.context,i={};e.map(a=>{const s=r.getFrontZIndex(a);if(r.getElementType(a)==="combo"){const l=r.getAncestorsData(a,hn).at(-1)||this.getComboData(a),c=[l,...r.getDescendantsData(Pt(l))],u=s-BE(l);c.forEach(f=>{i[Pt(f)]=this.getElementZIndex(Pt(f))+u});const{internal:h}=dv(c.map(Pt),f=>r.getRelatedEdgesData(f));h.forEach(f=>{const d=Pt(f);i[d]=this.getElementZIndex(d)+u})}else i[a]=s}),yield this.setElementZIndex(i)})}getElementZIndex(t){return BE(this.context.model.getElementDataById(t))}setElementState(t,e){return mn(this,arguments,void 0,function*(r,i,a=!0){var s,o;const[l,c]=Fn(r)?[r,(s=i)!==null&&s!==void 0?s:!0]:[{[r]:i},a],u=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:u(d)})}),this.updateData(h),yield(o=this.context.element.draw({animation:c,stage:"state"}))===null||o===void 0?void 0:o.finished})}getElementState(t){return this.context.model.getElementState(t)}getElementRenderBounds(t){return this.context.element.getElement(t).getRenderBounds()}collapseElement(t){return mn(this,arguments,void 0,function*(e,r=!0){const{model:i,element:a}=this.context;if(Qr(i.getNodeLikeData([e])[0])||this.isCollapsingExpanding)return;typeof r=="boolean"&&(r={animation:r,align:!0});const s=i.getElementType(e);yield this.frontElement(e),this.isCollapsingExpanding=!0,i.updateData(s==="node"?{nodes:[{id:e,style:{collapsed:!0}}]}:{combos:[{id:e,style:{collapsed:!0}}]}),s==="node"?yield a.collapseNode(e,r):s==="combo"&&(yield a.collapseCombo(e,!!r.animation)),this.isCollapsingExpanding=!1})}expandElement(t){return mn(this,arguments,void 0,function*(e,r=!0){const{model:i,element:a}=this.context;if(!Qr(i.getNodeLikeData([e])[0])||this.isCollapsingExpanding)return;typeof r=="boolean"&&(r={animation:r,align:!0});const s=i.getElementType(e);this.isCollapsingExpanding=!0,i.updateData(s==="node"?{nodes:[{id:e,style:{collapsed:!1}}]}:{combos:[{id:e,style:{collapsed:!1}}]}),s==="node"?yield a.expandNode(e,r):s==="combo"&&(yield a.expandCombo(e,!!r.animation)),this.isCollapsingExpanding=!1})}setElementCollapsibility(t,e){const r=this.getElementType(t);r==="node"?this.updateNodeData([{id:t,style:{collapsed:e}}]):r==="combo"&&this.updateComboData([{id:t,style:{collapsed:e}}])}toDataURL(){return mn(this,arguments,void 0,function*(t={}){return this.context.canvas.toDataURL(t)})}getCanvasByViewport(t){return this.context.canvas.getCanvasByViewport(t)}getViewportByCanvas(t){return this.context.canvas.getViewportByCanvas(t)}getClientByCanvas(t){return this.context.canvas.getClientByCanvas(t)}getCanvasByClient(t){return this.context.canvas.getCanvasByClient(t)}getViewportCenter(){return this.context.viewport.getViewportCenter()}getCanvasCenter(){return this.context.viewport.getCanvasCenter()}on(t,e,r){return super.on(t,e,r)}once(t,e){return super.once(t,e)}off(t,e){return super.off(t,e)}}sf.defaultOptions={autoResize:!1,theme:"light",rotation:0,zoom:1,zoomRange:[.01,10]};var v9=function(n,t){var e={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&t.indexOf(r)<0&&(e[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(n);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(n,r[i])&&(e[r[i]]=n[r[i]]);return e};function g9(n,t){const{getNodeData:e=(o,l)=>{if(o.depth=l,!o.children)return o;const{children:c}=o,u=v9(o,["children"]);return Object.assign(Object.assign({},u),{children:c.map(h=>h.id)})},getEdgeData:r=(o,l)=>({source:o.id,target:l.id}),getChildren:i=o=>o.children||[]}=t||{},a=[],s=[];return Rs(n,(o,l)=>{a.push(e(o,l));const c=i(o);for(const u of c)s.push(r(o,u))},o=>i(o),"TB"),{nodes:a,edges:s}}class p9 extends es{beforeDraw(t){const{add:e,update:r}=t,{model:i}=this.context;return[...e.edges.entries(),...r.edges.entries()].forEach(([,a])=>{KE(i,a)}),t}}const KE=(n,t)=>{const{source:e,target:r}=t,i=n.getElementDataById(e),a=n.getElementDataById(r),s=g1(i,h=>n.getParentData(h,hn)),o=g1(a,h=>n.getParentData(h,hn)),l=Pt(s),c=Pt(o),u={sourceNode:l,targetNode:c};return t.style?Object.assign(t.style,u):t.style=u,t},m9=(n,t,e)=>{const[r,i]=t,[a,s]=e;if(i===r)return a;const o=(n-r)/(i-r);return a+o*(s-a)},y9=(n,t,e)=>{const[r,i]=t,[a,s]=e,o=Math.log(n-r+1)/Math.log(i-r+1);return a+o*(s-a)},b9=(n,t,e,r=2)=>{const[i,a]=t,[s,o]=e,l=Math.pow((n-i)/(a-i),r);return s+l*(o-s)},x9=(n,t,e)=>{const[r,i]=t,[a,s]=e,o=Math.sqrt((n-r)/(i-r));return a+o*(s-a)};class of extends es{constructor(t,e){super(t,pr({},of.defaultOptions,e)),this.assignSizeByCentrality=(r,i,a,s,o,l)=>{const c=[i,a],u=[s[0],o[0]],h=[s[1],o[1]],f=[s[2],o[2]],d=(v,g)=>{if(typeof l=="function")return l(v,c,g);switch(l){case"linear":return m9(v,c,g);case"log":return y9(v,c,g);case"pow":return b9(v,c,g,2);case"sqrt":return x9(v,c,g);default:return g[0]}};return[d(r,u),d(r,h),d(r,f)]}}beforeDraw(t){const{model:e}=this.context,r=e.getNodeData(),i=ii(this.options.maxSize),a=ii(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 r.forEach(c=>{var u;const h=this.assignSizeByCentrality(s.get(Pt(c))||0,l,o,a,i,this.options.scale),f=(u=this.context.element)===null||u===void 0?void 0:u.getElement(Pt(c)),d={size:h};this.assignLabelStyle(d,h,c,f),(!f||!Kh(d,f.attributes))&&ci(t,f?"update":"add","node",pr(c,{style:d}),!0)}),t}assignLabelStyle(t,e,r,i){var a;const s=i?i.config.style:(a=this.context.element)===null||a===void 0?void 0:a.getElementComputedStyle("node",r);if(Object.assign(t,zs(s,["labelFontSize","labelLineHeight"])),this.options.mapLabelSize){const o=this.getLabelSizeByNodeSize(e,1/0,Number(t.labelFontSize));Object.assign(t,{labelFontSize:o,labelLineHeight:o+PO(t.labelPadding)})}return t}getLabelSizeByNodeSize(t,e,r){const i=Math.min(...t)/2,[a,s]=Array.isArray(this.options.mapLabelSize)?this.options.mapLabelSize:[r,e];return Math.min(s,Math.max(i,a))}getCentralities(t){const{model:e}=this.context,r=e.getData();if(typeof t=="function")return t(r);const i=e.getRelatedEdgesData.bind(e);return yy(r,i,t)}}of.defaultOptions={centrality:{type:"degree"},maxSize:80,minSize:20,scale:"linear",mapLabelSize:!1};class lf extends es{constructor(t,e){super(t,Object.assign({},lf.defaultOptions,e))}get ref(){return this.context.model.getRootsData()[0]}afterLayout(){var t;const e=ir(this.ref),{graph:r,model:i}=this.context;(t=i.getData().nodes)===null||t===void 0||t.forEach(s=>{var o;if(Pt(s)===Pt(this.ref))return;const l=wy(on(ir(s),e)),c=Math.abs(l)>Math.PI/2,u=!s.children||s.children.length===0,h=Pt(s),f=(o=this.context.element)===null||o===void 0?void 0:o.getElement(h);if(!f||!f.isVisible())return;const d=ii(r.getElementRenderStyle(h).size)[0]/2,v=(u?1:-1)*(d+this.options.offset),g=[["translate",v*Math.cos(l),v*Math.sin(l)],["rotate",c?Wr(l)+180:Wr(l)]];i.updateNodeData([{id:Pt(s),style:{labelTextAlign:c===u?"right":"left",labelTextBaseline:"middle",labelTransform:g}}])}),r.draw()}}lf.defaultOptions={offset:5};const E9="quadratic",QE=["top","top-right","right","right-bottom","bottom","bottom-left","left","left-top"];class cf extends es{constructor(t,e){super(t,Object.assign({},cf.defaultOptions,e)),this.cacheMergeStyle=new Map,this.getAffectedParallelEdges=r=>{const{add:{edges:i},update:{nodes:a,edges:s,combos:o},remove:{edges:l}}=r,{model:c}=this.context,u=new Map,h=(v,g)=>{c.getRelatedEdgesData(g).forEach(y=>!u.has(Pt(y))&&u.set(Pt(y),y))};a.forEach(h),o.forEach(h);const f=v=>{const g=c.getEdgeData().map(y=>KE(c,y));w9(v,g,!0).forEach(y=>!u.has(Pt(y))&&u.set(Pt(y),y))};if(l.size&&l.forEach(f),i.size&&i.forEach(f),s.size){const v=Kb(Uv(c.getChanges())).update.edges;s.forEach(g=>{var p;f(g);const y=(p=v.find(b=>Pt(b.value)===Pt(g)))===null||p===void 0?void 0:p.original;y&&!H0(g,y)&&f(y)})}ra(this.options.edges)||u.forEach((v,g)=>!this.options.edges.includes(g)&&u.delete(g));const d=c.getEdgeData().map(Pt);return new Map([...u].sort((v,g)=>d.indexOf(v[0])-d.indexOf(g[0])))},this.applyBundlingStyle=(r,i,a)=>{const{edgeMap:s,reverses:o}=JE(i);s.forEach(l=>{l.forEach((c,u,h)=>{var f;const d=h.length,v=c.style||{};if(c.source===c.target){const y=QE.length;v.loopPlacement=QE[u%y],v.loopDist=Math.floor(u/y)*a+50}else if(d===1)v.curveOffset=0;else{const y=(u%2===0?1:-1)*(o[`${c.source}|${c.target}|${u}`]?-1:1);v.curveOffset=d%2===1?y*Math.ceil(u/2)*a*2:y*(Math.floor(u/2)*a*2+a)}const g=Object.assign(c,{type:E9,style:v}),p=(f=this.context.element)===null||f===void 0?void 0:f.getElement(Pt(c));(!p||!Kh(g.style,p.attributes))&&ci(r,p?"update":"add","edge",g,!0)})})},this.resetEdgeStyle=r=>{const i=r.style||{},a=this.cacheMergeStyle.get(Pt(r))||{};return Object.keys(a).forEach(s=>{Hn(i[s],a[s])&&(r[s]?i[s]=r[s]:delete i[s])}),Object.assign(r,{style:i})},this.applyMergingStyle=(r,i)=>{const{edgeMap:a,reverses:s}=JE(i);a.forEach(o=>{var l;if(o.length===1){const u=o[0],h=(l=this.context.element)===null||l===void 0?void 0:l.getElement(Pt(u)),f=this.resetEdgeStyle(u);(!h||!Kh(f,h.attributes))&&ci(r,h?"update":"add","edge",f);return}const c=o.map(({source:u,target:h,style:f={}},d)=>{const{startArrow:v,endArrow:g}=f,p={},[y,b]=s[`${u}|${h}|${d}`]?["endArrow","startArrow"]:["startArrow","endArrow"];return Go(v)&&(p[y]=v),Go(g)&&(p[b]=g),p}).reduce((u,h)=>Object.assign(Object.assign({},u),h),{});o.forEach((u,h,f)=>{var d;if(h!==0){ci(r,"remove","edge",u);return}const v=Object.assign({},de(this.options.style)?this.options.style(f):this.options.style,{childrenData:f});this.cacheMergeStyle.set(Pt(u),v);const g=Object.assign(Object.assign({},u),{type:"line",style:Object.assign(Object.assign(Object.assign({},u.style),c),v)}),p=(d=this.context.element)===null||d===void 0?void 0:d.getElement(Pt(u));(!p||!Kh(g.style,p.attributes))&&ci(r,p?"update":"add","edge",g,!0)})})}}beforeDraw(t){const e=this.getAffectedParallelEdges(t);return e.size===0||(this.options.mode==="bundle"?this.applyBundlingStyle(t,e,this.options.distance):this.applyMergingStyle(t,e)),t}}cf.defaultOptions={mode:"bundle",distance:15};const JE=n=>{const t=new Map,e=new Set,r={},i=new Map;for(const[a,s]of n){if(e.has(a))continue;const{source:o,target:l}=s,c=`${o}-${l}`;t.has(c)||(t.set(c,[]),i.set(c,new Set));const u=t.get(c),h=i.get(c);u&&h&&!h.has(a)&&(u.push(s),h.add(a),e.add(a));for(const[f,d]of n)if(!(e.has(f)||f===a)&&H0(s,d)){const v=t.get(c),g=i.get(c);v&&g&&!g.has(f)&&(v.push(d),g.add(f),o===d.target&&l===d.source&&(r[`${d.source}|${d.target}|${v.length-1}`]=!0),e.add(f))}}return{edgeMap:t,reverses:r}},w9=(n,t,e)=>t.filter(r=>(e||Pt(r)!==Pt(n))&&H0(r,n)),H0=(n,t)=>{const{sourceNode:e,targetNode:r}=n.style||{},{sourceNode:i,targetNode:a}=t.style||{};return e===i&&r===a||e===a&&r===i};class M9 extends es{beforeDraw(t,e){const{stage:r}=e;if(r==="visibility")return t;const{model:i}=this.context,{update:{nodes:a,edges:s,combos:o}}=t,l=(c,u)=>{i.getRelatedEdgesData(u).forEach(f=>!s.has(Pt(f))&&s.set(Pt(f),f))};return a.forEach(l),o.forEach(l),t}}const A9={animation:{"combo-collapse":km,"combo-expand":xO,"node-collapse":Cm,"node-expand":yO,"path-in":Nm,"path-out":bO,fade:pO,translate:mO},behavior:{"brush-select":ml,"click-select":gu,"collapse-expand":Fu,"create-edge":Gu,"drag-canvas":Wu,"drag-element-force":ok,"drag-element":Tl,"fix-element-size":Ku,"focus-element":Qu,"hover-activate":Ju,"lasso-select":ck,"auto-adapt-label":cu,"optimize-viewport-transform":qu,"scroll-canvas":$u,"zoom-canvas":th},combo:{circle:$C,rect:tN},edge:{cubic:js,line:Bu,polyline:zu,quadratic:ju,"cubic-horizontal":Du,"cubic-radial":Ru,"cubic-vertical":Iu},layout:{"antv-dagre":UL,"combo-combined":mD,"compact-box":eh.compactBox,"d3-force":jD,"force-atlas2":_D,circular:JL,concentric:kv,dagre:nh,dendrogram:eh.dendrogram,fishbone:ah,force:yb,fruchterman:WD,grid:VD,indented:eh.indented,mds:Pb,mindmap:eh.mindmap,radial:eR,random:lR,snake:sh},node:{circle:Is,diamond:tC,ellipse:xu,hexagon:aC,html:Tu,image:Cu,rect:JC,star:qC,donut:yu,triangle:Nu},palette:{spectral:dR,tableau:vR,oranges:gR,greens:pR,blues:mR},theme:{dark:C8,light:N8},plugin:{"bubble-sets":ph,"edge-bundling":yh,"edge-filter-lens":bh,"grid-line":wh,background:oh,contextmenu:mh,fisheye:xh,fullscreen:Eh,history:Mh,hull:Oh,legend:Lh,minimap:Dh,snapline:Rh,timebar:Xh,toolbar:Vh,tooltip:Yh,watermark:Uh},transform:{"arrange-draw-order":k8,"collapse-expand-combo":L8,"collapse-expand-node":D8,"get-edge-actual-ends":p9,"map-node-size":of,"place-radial-labels":lf,"process-parallel-edges":cf,"update-related-edges":M9},shape:{circle:fa,ellipse:rl,group:rr,html:il,image:qd,line:Ps,path:ti,polygon:Ss,polyline:Oc,rect:gr,text:Os,label:Ga,badge:go}};function P9(){Object.entries(A9).forEach(([n,t])=>{Object.entries(t).forEach(([e,r])=>{R8(n,e,r)})})}P9();const TZ={css:"//at.alicdn.com/t/a/font_470089_8hnbbf8n4u8.css",js:"//at.alicdn.com/t/a/font_470089_8hnbbf8n4u8.js"}},13722:function(X){(function(E,P){X.exports=P()})(typeof self!="undefined"?self:this,function(){return function(Q){var E={};function P(_){if(E[_])return E[_].exports;var z=E[_]={i:_,l:!1,exports:{}};return Q[_].call(z.exports,z,z.exports,P),z.l=!0,z.exports}return P.m=Q,P.c=E,P.d=function(_,z,C){P.o(_,z)||Object.defineProperty(_,z,{configurable:!1,enumerable:!0,get:C})},P.n=function(_){var z=_&&_.__esModule?function(){return _.default}:function(){return _};return P.d(z,"a",z),z},P.o=function(_,z){return Object.prototype.hasOwnProperty.call(_,z)},P.p="",P(P.s=5)}([function(Q,E){function P(_,z,C,S){return S===void 0&&(S="height"),C==="center"?(_[S]+z[S])/2:_.height}Q.exports={assign:Object.assign,getHeight:P}},function(Q,E,P){var _=P(3),z=function(){function C(N,R){R===void 0&&(R={});var T=this;T.options=R,T.rootNode=_(N,R)}var S=C.prototype;return S.execute=function(){throw new Error("please override this method")},C}();Q.exports=z},function(Q,E,P){var _=P(4),z=["LR","RL","TB","BT","H","V"],C=["LR","RL","H"],S=function(L){return C.indexOf(L)>-1},N=z[0];Q.exports=function(T,L,F){var I=L.direction||N;if(L.isHorizontal=S(I),I&&z.indexOf(I)===-1)throw new TypeError("Invalid direction: "+I);if(I===z[0])F(T,L);else if(I===z[1])F(T,L),T.right2left();else if(I===z[2])F(T,L);else if(I===z[3])F(T,L),T.bottom2top();else if(I===z[4]||I===z[5]){var H=_(T,L),U=H.left,K=H.right;F(U,L),F(K,L),L.isHorizontal?U.right2left():U.bottom2top(),K.translate(U.x-K.x,U.y-K.y),T.x=U.x,T.y=K.y;var rt=T.getBoundingBox();L.isHorizontal?rt.top<0&&T.translate(0,-rt.top):rt.left<0&&T.translate(-rt.left,0)}var tt=L.fixedRoot;return tt===void 0&&(tt=!0),tt&&T.translate(-(T.x+T.width/2+T.hgap),-(T.y+T.height/2+T.vgap)),R(T,L),T};function R(T,L){if(L.radial){var F=L.isHorizontal?["x","y"]:["y","x"],I=F[0],H=F[1],U={x:1/0,y:1/0},K={x:-1/0,y:-1/0},rt=0;T.DFTraverse(function(it){rt++;var at=it.x,ut=it.y;U.x=Math.min(U.x,at),U.y=Math.min(U.y,ut),K.x=Math.max(K.x,at),K.y=Math.max(K.y,ut)});var tt=K[H]-U[H];if(tt===0)return;var J=Math.PI*2/rt;T.DFTraverse(function(it){var at=(it[H]-U[H])/tt*(Math.PI*2-J)+J,ut=it[I]-T[I];it.x=Math.cos(at)*ut,it.y=Math.sin(at)*ut})}}},function(Q,E,P){var _=P(0),z=18,C=z*2,S=z,N={getId:function(F){return F.id||F.name},getPreH:function(F){return F.preH||0},getPreV:function(F){return F.preV||0},getHGap:function(F){return F.hgap||S},getVGap:function(F){return F.vgap||S},getChildren:function(F){return F.children},getHeight:function(F){return F.height||C},getWidth:function(F){var I=F.label||" ";return F.width||I.split("").length*z}};function R(L,F){var I=this;if(I.vgap=I.hgap=0,L instanceof R)return L;I.data=L;var H=F.getHGap(L),U=F.getVGap(L);return I.preH=F.getPreH(L),I.preV=F.getPreV(L),I.width=F.getWidth(L),I.height=F.getHeight(L),I.width+=I.preH,I.height+=I.preV,I.id=F.getId(L),I.x=I.y=0,I.depth=0,I.children||(I.children=[]),I.addGap(H,U),I}_.assign(R.prototype,{isRoot:function(){return this.depth===0},isLeaf:function(){return this.children.length===0},addGap:function(F,I){var H=this;H.hgap+=F,H.vgap+=I,H.width+=2*F,H.height+=2*I},eachNode:function(F){for(var I=this,H=[I],U;U=H.shift();)F(U),H=U.children.concat(H)},DFTraverse:function(F){this.eachNode(F)},BFTraverse:function(F){for(var I=this,H=[I],U;U=H.shift();)F(U),H=H.concat(U.children)},getBoundingBox:function(){var F={left:Number.MAX_VALUE,top:Number.MAX_VALUE,width:0,height:0};return this.eachNode(function(I){F.left=Math.min(F.left,I.x),F.top=Math.min(F.top,I.y),F.width=Math.max(F.width,I.x+I.width),F.height=Math.max(F.height,I.y+I.height)}),F},translate:function(F,I){F===void 0&&(F=0),I===void 0&&(I=0),this.eachNode(function(H){H.x+=F,H.y+=I,H.x+=H.preH,H.y+=H.preV})},right2left:function(){var F=this,I=F.getBoundingBox();F.eachNode(function(H){H.x=H.x-(H.x-I.left)*2-H.width}),F.translate(I.width,0)},bottom2top:function(){var F=this,I=F.getBoundingBox();F.eachNode(function(H){H.y=H.y-(H.y-I.top)*2-H.height}),F.translate(0,I.height)}});function T(L,F,I){F===void 0&&(F={}),F=_.assign({},N,F);var H=new R(L,F),U=[H],K;if(!I&&!L.collapsed){for(;K=U.shift();)if(!K.data.collapsed){var rt=F.getChildren(K.data),tt=rt?rt.length:0;if(K.children=new Array(tt),rt&&tt)for(var J=0;J<tt;J++){var it=new R(rt[J],F);K.children[J]=it,U.push(it),it.parent=K,it.depth=K.depth+1}}}return H}Q.exports=T},function(Q,E,P){var _=P(3);Q.exports=function(z,C){for(var S=_(z.data,C,!0),N=_(z.data,C,!0),R=z.children.length,T=Math.round(R/2),L=C.getSide||function(U,K){return K<T?"right":"left"},F=0;F<R;F++){var I=z.children[F],H=L(I,F);H==="right"?N.children.push(I):S.children.push(I)}return S.eachNode(function(U){U.isRoot()||(U.side="left")}),N.eachNode(function(U){U.isRoot()||(U.side="right")}),{left:S,right:N}}},function(Q,E,P){var _={compactBox:P(6),dendrogram:P(8),indented:P(10),mindmap:P(12)};Q.exports=_},function(Q,E,P){function _(I,H){I.prototype=Object.create(H.prototype),I.prototype.constructor=I,z(I,H)}function z(I,H){return z=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(U,K){return U.__proto__=K,U},z(I,H)}var C=P(1),S=P(7),N=P(2),R=P(0),T=function(I){function H(){return I.apply(this,arguments)||this}_(H,I);var U=H.prototype;return U.execute=function(){var rt=this;return N(rt.rootNode,rt.options,S)},H}(C),L={};function F(I,H){return H=R.assign({},L,H),new T(I,H).execute()}Q.exports=F},function(Q,E){function P(R,T,L,F){F===void 0&&(F=[]);var I=this;I.w=R||0,I.h=T||0,I.y=L||0,I.x=0,I.c=F||[],I.cs=F.length,I.prelim=0,I.mod=0,I.shift=0,I.change=0,I.tl=null,I.tr=null,I.el=null,I.er=null,I.msel=0,I.mser=0}P.fromNode=function(R,T){if(!R)return null;var L=[];return R.children.forEach(function(F){L.push(P.fromNode(F,T))}),T?new P(R.height,R.width,R.x,L):new P(R.width,R.height,R.y,L)};function _(R,T,L){L?R.y+=T:R.x+=T,R.children.forEach(function(F){_(F,T,L)})}function z(R,T){var L=T?R.y:R.x;return R.children.forEach(function(F){L=Math.min(z(F,T),L)}),L}function C(R,T){var L=z(R,T);_(R,-L,T)}function S(R,T,L){L?T.y=R.x:T.x=R.x,R.c.forEach(function(F,I){S(F,T.children[I],L)})}function N(R,T,L){L===void 0&&(L=0),T?(R.x=L,L+=R.width):(R.y=L,L+=R.height),R.children.forEach(function(F){N(F,T,L)})}Q.exports=function(R,T){T===void 0&&(T={});var L=T.isHorizontal;function F(ft){if(ft.cs===0){I(ft);return}F(ft.c[0]);for(var xt=pt(tt(ft.c[0].el),0,null),Nt=1;Nt<ft.cs;++Nt){F(ft.c[Nt]);var Bt=tt(ft.c[Nt].er);H(ft,Nt,xt),xt=pt(Bt,Nt,xt)}at(ft),I(ft)}function I(ft){ft.cs===0?(ft.el=ft,ft.er=ft,ft.msel=ft.mser=0):(ft.el=ft.c[0].el,ft.msel=ft.c[0].msel,ft.er=ft.c[ft.cs-1].er,ft.mser=ft.c[ft.cs-1].mser)}function H(ft,xt,Nt){for(var Bt=ft.c[xt-1],_t=Bt.mod,Kt=ft.c[xt],me=Kt.mod;Bt!==null&&Kt!==null;){tt(Bt)>Nt.low&&(Nt=Nt.nxt);var Me=_t+Bt.prelim+Bt.w-(me+Kt.prelim);Me>0&&(me+=Me,U(ft,xt,Nt.index,Me));var Ge=tt(Bt),Rn=tt(Kt);Ge<=Rn&&(Bt=rt(Bt),Bt!==null&&(_t+=Bt.mod)),Ge>=Rn&&(Kt=K(Kt),Kt!==null&&(me+=Kt.mod))}!Bt&&Kt?J(ft,xt,Kt,me):Bt&&!Kt&&it(ft,xt,Bt,_t)}function U(ft,xt,Nt,Bt){ft.c[xt].mod+=Bt,ft.c[xt].msel+=Bt,ft.c[xt].mser+=Bt,ht(ft,xt,Nt,Bt)}function K(ft){return ft.cs===0?ft.tl:ft.c[0]}function rt(ft){return ft.cs===0?ft.tr:ft.c[ft.cs-1]}function tt(ft){return ft.y+ft.h}function J(ft,xt,Nt,Bt){var _t=ft.c[0].el;_t.tl=Nt;var Kt=Bt-Nt.mod-ft.c[0].msel;_t.mod+=Kt,_t.prelim-=Kt,ft.c[0].el=ft.c[xt].el,ft.c[0].msel=ft.c[xt].msel}function it(ft,xt,Nt,Bt){var _t=ft.c[xt].er;_t.tr=Nt;var Kt=Bt-Nt.mod-ft.c[xt].mser;_t.mod+=Kt,_t.prelim-=Kt,ft.c[xt].er=ft.c[xt-1].er,ft.c[xt].mser=ft.c[xt-1].mser}function at(ft){ft.prelim=(ft.c[0].prelim+ft.c[0].mod+ft.c[ft.cs-1].mod+ft.c[ft.cs-1].prelim+ft.c[ft.cs-1].w)/2-ft.w/2}function ut(ft,xt){xt+=ft.mod,ft.x=ft.prelim+xt,bt(ft);for(var Nt=0;Nt<ft.cs;Nt++)ut(ft.c[Nt],xt)}function ht(ft,xt,Nt,Bt){if(Nt!==xt-1){var _t=xt-Nt;ft.c[Nt+1].shift+=Bt/_t,ft.c[xt].shift-=Bt/_t,ft.c[xt].change-=Bt-Bt/_t}}function bt(ft){for(var xt=0,Nt=0,Bt=0;Bt<ft.cs;Bt++)xt+=ft.c[Bt].shift,Nt+=xt+ft.c[Bt].change,ft.c[Bt].mod+=Nt}function pt(ft,xt,Nt){for(;Nt!==null&&ft>=Nt.low;)Nt=Nt.nxt;return{low:ft,index:xt,nxt:Nt}}N(R,L);var wt=P.fromNode(R,L);return F(wt),ut(wt,0),S(wt,R,L),C(R,L),R}},function(Q,E,P){function _(I,H){I.prototype=Object.create(H.prototype),I.prototype.constructor=I,z(I,H)}function z(I,H){return z=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(U,K){return U.__proto__=K,U},z(I,H)}var C=P(1),S=P(9),N=P(2),R=P(0),T=function(I){function H(){return I.apply(this,arguments)||this}_(H,I);var U=H.prototype;return U.execute=function(){var rt=this;return rt.rootNode.width=0,N(rt.rootNode,rt.options,S)},H}(C),L={};function F(I,H){return H=R.assign({},L,H),new T(I,H).execute()}Q.exports=F},function(Q,E,P){var _=P(0);function z(N,R){N===void 0&&(N=0),R===void 0&&(R=[]);var T=this;T.x=T.y=0,T.leftChild=T.rightChild=null,T.height=0,T.children=R}var C={isHorizontal:!0,nodeSep:20,nodeSize:20,rankSep:200,subTreeSep:10};function S(N,R,T){T?(R.x=N.x,R.y=N.y):(R.x=N.y,R.y=N.x),N.children.forEach(function(L,F){S(L,R.children[F],T)})}Q.exports=function(N,R){R===void 0&&(R={}),R=_.assign({},C,R);var T=0;function L(K){if(!K)return null;K.width=0,K.depth&&K.depth>T&&(T=K.depth);var rt=K.children,tt=rt.length,J=new z(K.height,[]);return rt.forEach(function(it,at){var ut=L(it);J.children.push(ut),at===0&&(J.leftChild=ut),at===tt-1&&(J.rightChild=ut)}),J.originNode=K,J.isLeaf=K.isLeaf(),J}function F(K){if(K.isLeaf||K.children.length===0)K.drawingDepth=T;else{var rt=K.children.map(function(J){return F(J)}),tt=Math.min.apply(null,rt);K.drawingDepth=tt-1}return K.drawingDepth}var I;function H(K){K.x=K.drawingDepth*R.rankSep,K.isLeaf?(K.y=0,I&&(K.y=I.y+I.height+R.nodeSep,K.originNode.parent!==I.originNode.parent&&(K.y+=R.subTreeSep)),I=K):(K.children.forEach(function(rt){H(rt)}),K.y=(K.leftChild.y+K.rightChild.y)/2)}var U=L(N);return F(U),H(U),S(U,N,R.isHorizontal),N}},function(Q,E,P){function _(U,K){U.prototype=Object.create(K.prototype),U.prototype.constructor=U,z(U,K)}function z(U,K){return z=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(rt,tt){return rt.__proto__=tt,rt},z(U,K)}var C=P(1),S=P(11),N=P(4),R=P(0),T=["LR","RL","H"],L=T[0],F=function(U){function K(){return U.apply(this,arguments)||this}_(K,U);var rt=K.prototype;return rt.execute=function(){var J=this,it=J.options,at=J.rootNode;it.isHorizontal=!0;var ut=it.indent,ht=ut===void 0?20:ut,bt=it.dropCap,pt=bt===void 0?!0:bt,wt=it.direction,ft=wt===void 0?L:wt,xt=it.align;if(ft&&T.indexOf(ft)===-1)throw new TypeError("Invalid direction: "+ft);if(ft===T[0])S(at,ht,pt,xt);else if(ft===T[1])S(at,ht,pt,xt),at.right2left();else if(ft===T[2]){var Nt=N(at,it),Bt=Nt.left,_t=Nt.right;S(Bt,ht,pt,xt),Bt.right2left(),S(_t,ht,pt,xt);var Kt=Bt.getBoundingBox();_t.translate(Kt.width,0),at.x=_t.x-at.width/2}return at},K}(C),I={};function H(U,K){return K=R.assign({},I,K),new F(U,K).execute()}Q.exports=H},function(Q,E,P){var _=P(0);function z(C,S,N,R,T){var L=(typeof N=="function"?N(C):N)*C.depth;if(!R)try{if(C.id===C.parent.children[0].id){C.x+=L,C.y=S?S.y:0;return}}catch(H){}if(C.x+=L,S){if(C.y=S.y+_.getHeight(S,C,T),S.parent&&C.parent.id!==S.parent.id){var F=S.parent,I=F.y+_.getHeight(F,C,T);C.y=I>C.y?I:C.y}}else C.y=0}Q.exports=function(C,S,N,R){var T=null;C.eachNode(function(L){z(L,T,S,N,R),T=L})}},function(Q,E,P){function _(I,H){I.prototype=Object.create(H.prototype),I.prototype.constructor=I,z(I,H)}function z(I,H){return z=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(U,K){return U.__proto__=K,U},z(I,H)}var C=P(1),S=P(13),N=P(2),R=P(0),T=function(I){function H(){return I.apply(this,arguments)||this}_(H,I);var U=H.prototype;return U.execute=function(){var rt=this;return N(rt.rootNode,rt.options,S)},H}(C),L={};function F(I,H){return H=R.assign({},L,H),new T(I,H).execute()}Q.exports=F},function(Q,E,P){var _=P(0);function z(N,R){var T=0;return N.children.length?N.children.forEach(function(L){T+=z(L,R)}):T=N.height,N._subTreeSep=R.getSubTreeSep(N.data),N.totalHeight=Math.max(N.height,T)+2*N._subTreeSep,N.totalHeight}function C(N){var R=N.children,T=R.length;if(T){R.forEach(function(K){C(K)});var L=R[0],F=R[T-1],I=F.y-L.y+F.height,H=0;if(R.forEach(function(K){H+=K.totalHeight}),I>N.height)N.y=L.y+I/2-N.height/2;else if(R.length!==1||N.height>H){var U=N.y+(N.height-I)/2-L.y;R.forEach(function(K){K.translate(0,U)})}else N.y=(L.y+L.height/2+F.y+F.height/2)/2-N.height/2}}var S={getSubTreeSep:function(){return 0}};Q.exports=function(N,R){R===void 0&&(R={}),R=_.assign({},S,R),N.parent={x:0,width:0,height:0,y:0},N.BFTraverse(function(T){T.x=T.parent.x+T.parent.width}),N.parent=null,z(N,R),N.startY=0,N.y=N.totalHeight/2-N.height/2,N.eachNode(function(T){var L=T.children,F=L.length;if(F){var I=L[0];if(I.startY=T.startY+T._subTreeSep,F===1)I.y=T.y+T.height/2-I.height/2;else{I.y=I.startY+I.totalHeight/2-I.height/2;for(var H=1;H<F;H++){var U=L[H];U.startY=L[H-1].startY+L[H-1].totalHeight,U.y=U.startY+U.totalHeight/2-U.height/2}}}}),C(N)}}])})},16288:function(X,Q,E){"use strict";var P=E(59301),_=E(42441),z=E(48961),C=E.n(z),S=Object.defineProperty,N=Object.defineProperties,R=Object.getOwnPropertyDescriptors,T=Object.getOwnPropertySymbols,L=Object.prototype.hasOwnProperty,F=Object.prototype.propertyIsEnumerable,I=(J,it,at)=>it in J?S(J,it,{enumerable:!0,configurable:!0,writable:!0,value:at}):J[it]=at,H=(J,it)=>{for(var at in it||(it={}))L.call(it,at)&&I(J,at,it[at]);if(T)for(var at of T(it))F.call(it,at)&&I(J,at,it[at]);return J},U=(J,it)=>N(J,R(it));function K(J,it,at=1/3,ut){let ht=J*Math.PI*2,bt=it*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(pt,wt){return pt<ht?Math.cos(ht)*(1+Math.cos(wt)*at):pt>bt?Math.cos(bt)*(1+Math.cos(wt)*at):Math.cos(pt)*(1+Math.cos(wt)*at)},y:function(pt,wt){return pt<ht?Math.sin(ht)*(1+Math.cos(wt)*at):pt>bt?Math.sin(bt)*(1+Math.cos(wt)*at):Math.sin(pt)*(1+Math.cos(wt)*at)},z:function(pt,wt){return pt<-Math.PI*.5?Math.sin(pt):pt>Math.PI*2.5?Math.sin(pt)*ut*.1:Math.sin(wt)>0?1*ut*.1:-1}}}function rt({pieData:J=[],internalDiameterRatio:it=1/3}){var at,ut,ht,bt;const pt=[],wt=J==null?void 0:J.reduce((_t,Kt)=>(_t||0)+((Kt==null?void 0:Kt.value)||0),0);let ft=0,xt=0;const Nt=[];for(let _t=0;_t<(J==null?void 0:J.length);_t++){xt=ft+(wt==0?1:((at=J==null?void 0:J[_t])==null?void 0:at.value)||0);const Kt={itemStyle:((ut=J==null?void 0:J[_t])==null?void 0:ut.itemStyle)||{},name:((ht=J==null?void 0:J[_t])==null?void 0:ht.name)||`name${_t}`,type:"surface",parametric:!0,parametricEquation:K(ft/(wt||(J==null?void 0:J.length)),xt/(wt||(J==null?void 0:J.length)),it,((bt=J==null?void 0:J[_t])==null?void 0:bt.value)||(wt==0?25:0)),wireframe:{show:!1},pieData:J==null?void 0:J[_t]};Nt.push(Kt.name),pt.push(Kt),ft=xt}return pt.push({name:"pie2d",type:"pie",showEmptyCircle:!0,label:{show:!0,formatter:_t=>`${_t.value}
${_t.name}`},startAngle:-35,radius:["49%","50%"],center:["50%","40%"],data:[...J||[]].reverse(),itemStyle:{opacity:0}}),{legend:{left:"50%",top:"center",textStyle:{fontSize:12},data:Nt},xAxis3D:{},yAxis3D:{},zAxis3D:{},grid3D:{viewControl:{alpha:45,rotateSensitivity:0,zoomSensitivity:0,panSensitivity:0,autoRotate:!1},left:"center",top:"-10%",show:!1,boxHeight:25},series:pt}}const tt=({dataSource:J=[{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:it="",style:at={},legend:ut={},internalDiameterRatio:ht=1/3})=>{const[bt,pt]=(0,P.useState)([]),wt=(0,P.useCallback)(Nt=>{const Bt=Nt.selected||{},_t=J.map(Kt=>Kt.name).filter(Kt=>Bt[Kt]===!1);pt(_t)},[J]),ft=(0,P.useMemo)(()=>J.filter(Nt=>!bt.includes(Nt.name)),[J,bt]),xt=(0,P.useMemo)(()=>{const Nt=rt({pieData:ft,internalDiameterRatio:ht}),Bt=J.map(Kt=>Kt.name),_t=J.reduce((Kt,me)=>(Kt[me.name]=!bt.includes(me.name),Kt),{});return Nt.legend=U(H(H({},Nt.legend),ut),{data:Bt,selected:_t}),Nt},[ft,ut,ht,J,bt]);return P.createElement(_.Z,{onEvents:{legendselectchanged:wt},className:`w-full h-full ${it}`,option:xt,style:H({height:"100%"},at)})};Q.Z=tt},56879:function(X,Q,E){"use strict";E.d(Q,{Z:function(){return wt}});var P=E(25399),_=E(59301),z=E(76560),C=E(49661),S=E.p+"static/nltpbg.f01aad4b.png",N=E.p+"static/nltpbg2.303fcb0b.png",R={title:"title___m9Fww",bg:"bg___f9tLu"},T="data:image/png;base64,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",L=E.p+"static/2.3612d2e5.png",F=E.p+"static/3.0ae7bccf.png",I=E.p+"static/4.d75cb058.png",H=E.p+"static/5.89f1948f.png",U=E.p+"static/6.cc2d55ef.png",K=E.p+"static/7.3afb9435.png",rt=E.p+"static/8.5401d4a7.png",tt=Object.defineProperty,J=Object.getOwnPropertySymbols,it=Object.prototype.hasOwnProperty,at=Object.prototype.propertyIsEnumerable,ut=(ft,xt,Nt)=>xt in ft?tt(ft,xt,{enumerable:!0,configurable:!0,writable:!0,value:Nt}):ft[xt]=Nt,ht=(ft,xt)=>{for(var Nt in xt||(xt={}))it.call(xt,Nt)&&ut(ft,Nt,xt[Nt]);if(J)for(var Nt of J(xt))at.call(xt,Nt)&&ut(ft,Nt,xt[Nt]);return ft};const bt=({DataProps:ft=[],baifenbi:xt=1,pathsDetail:Nt,isShow:Bt,item:_t,i:Kt})=>{const me=(0,z.useParams)(),[Me,Ge]=(0,_.useState)(0),Rn=33,Mr=Math.PI/2+Kt*(Math.PI*2/(ft==null?void 0:ft.length)),Pi=Rn*Math.cos(Mr)/100,la=Rn*Math.sin(Mr)/100;return _.createElement(P.Z,{color:"#444FC2",title:Bt?null:_.createElement("div",{style:{fontSize:`${14*xt}rem`}},_.createElement("div",null,"\u8986\u76D6",(_t==null?void 0:_t.children_count)||0,"\u4E2A\u5B50\u80FD\u529B\u3001",(_t==null?void 0:_t.subject_knowledge_graph_count)||0,"\u4E2A\u77E5\u8BC6\u70B9"),_.createElement("div",{style:{marginTop:"10rem"}},"\u70B9\u51FB\u67E5\u770B\u8BE6\u60C5"))},_.createElement("div",{className:`flex flex-col item-center justify-center absolute ${Bt?"":"current"} ${R.title}`,onClick:()=>{Bt||(0,C.xg)(`/knowledgegraph/${me==null?void 0:me.pathId}/abilityMap/detail/${_t==null?void 0:_t.id}${window.location.search}`)},onMouseOver:()=>{Bt||Ge(2)},onMouseOut:()=>{Bt||Ge(0)},style:{left:`calc(50% - ${Pi*100}%)`,top:`calc(50% - ${la*100}%)`,transform:"translate(-50%,-50%)",width:"20%",fontSize:`${(14+Me)*xt}rem`}},_.createElement("div",{style:{opacity:"0.8"}},"\u4E3B\u80FD\u529B"),_.createElement("div",{className:"multi_ellipsis1",style:{fontSize:`${18*xt}rem`,fontWeight:500}},_t==null?void 0:_t.name),!(Nt!=null&&Nt.detail.can_managed)&&_.createElement("div",null,"\u638C\u63E1\u7387 ",_t==null?void 0:_t.grasp_rate," %")))},pt=({DataProps:ft=[],className:xt="",style:Nt={},baifenbi:Bt=1,pathsDetail:_t,isShow:Kt})=>{const me=(0,_.useMemo)(()=>{const Me=["",T,L,F,I,H,U,K,rt];return Me==null?void 0:Me[(ft==null?void 0:ft.length)||0]},[ft]);return _.createElement("div",{className:`w-full h-full flex item-center justify-center relative overflow_hidden ${xt} ${R.bg}`,style:ht({backgroundImage:`url(${ft!=null&&ft.length?N:S})`,backgroundSize:"auto 100%",height:"100%"},Nt)},((ft==null?void 0:ft.length)||0)>0&&_.createElement("img",{className:`absolute ${R.bg}`,src:me,style:{width:"95%",height:"95%",left:"50%",top:"50%",transform:`translate(-50%, -50%) ${[2,3,6].includes(ft==null?void 0:ft.length)?"rotate(90deg)":(ft==null?void 0:ft.length)==7?"rotate(25deg)":""}`}}),ft==null?void 0:ft.map((Me,Ge)=>_.createElement(bt,{key:Ge,i:Ge,item:Me,DataProps:ft,className:xt,style:Nt,baifenbi:Bt,pathsDetail:_t,isShow:Kt})),_.createElement("div",{className:"text-center"},_.createElement("div",{style:{fontSize:`${28*Bt}rem`}},"\u80FD\u529B\u76EE\u6807"),_.createElement("div",{style:{fontSize:`${12*Bt}rem`}},"\u70B9\u51FB\u73AF\u56FE\u67E5\u770B\u80FD\u529B\u8BE6\u60C5")))};var wt=(0,z.connect)(({pathsDetail:ft})=>({pathsDetail:ft}))(pt)},56184:function(X,Q,E){"use strict";var P,_=Object.defineProperty,z=Y=>{throw TypeError(Y)},C=Math.pow,S=(Y,x,w)=>x in Y?_(Y,x,{enumerable:!0,configurable:!0,writable:!0,value:w}):Y[x]=w,N=(Y,x,w)=>S(Y,typeof x!="symbol"?x+"":x,w),R=(Y,x,w)=>x.has(Y)||z("Cannot "+w),T=(Y,x,w)=>(R(Y,x,"read from private field"),w?w.call(Y):x.get(Y)),L=(Y,x,w)=>x.has(Y)?z("Cannot add the same private member more than once"):x instanceof WeakSet?x.add(Y):x.set(Y,w),F=(Y,x,w,m)=>(R(Y,x,"write to private field"),m?m.call(Y,w):x.set(Y,w),w),I=(Y,x,w)=>(R(Y,x,"access private method"),w),H,U,K;P={value:!0};var rt=E(34634),tt=E(34402);const J=" ".repeat(2),it=" ".repeat(4);function at(){return ut(this)}function ut(Y,x={}){const{maxRows:w=15,maxColumns:m=10,maxNumSize:A=8,padMinus:Z="auto"}=x;return`${Y.constructor.name} {
${J}[
${it}${ht(Y,w,m,A,Z)}
${J}]
${J}rows: ${Y.rows}
${J}columns: ${Y.columns}
}`}function ht(Y,x,w,m,A){const{rows:Z,columns:et}=Y,nt=Math.min(Z,x),st=Math.min(et,w),lt=[];if(A==="auto"){A=!1;t:for(let St=0;St<nt;St++)for(let gt=0;gt<st;gt++)if(Y.get(St,gt)<0){A=!0;break t}}for(let St=0;St<nt;St++){let gt=[];for(let Ft=0;Ft<st;Ft++)gt.push(bt(Y.get(St,Ft),m,A));lt.push(`${gt.join(" ")}`)}return st!==et&&(lt[lt.length-1]+=` ... ${et-w} more columns`),nt!==Z&&lt.push(`... ${Z-x} more rows`),lt.join(`
${it}`)}function bt(Y,x,w){return(Y>=0&&w?` ${pt(Y,x-1)}`:pt(Y,x)).padEnd(x)}function pt(Y,x){let w=Y.toString();if(w.length<=x)return w;let m=Y.toFixed(x);if(m.length>x&&(m=Y.toFixed(Math.max(0,x-(m.length-x)))),m.length<=x&&!m.startsWith("0.000")&&!m.startsWith("-0.000"))return m;let A=Y.toExponential(x);return A.length>x&&(A=Y.toExponential(Math.max(0,x-(A.length-x)))),A.slice(0)}function wt(Y,x){Y.prototype.add=function(m){return typeof m=="number"?this.addS(m):this.addM(m)},Y.prototype.addS=function(m){for(let A=0;A<this.rows;A++)for(let Z=0;Z<this.columns;Z++)this.set(A,Z,this.get(A,Z)+m);return this},Y.prototype.addM=function(m){if(m=x.checkMatrix(m),this.rows!==m.rows||this.columns!==m.columns)throw new RangeError("Matrices dimensions must be equal");for(let A=0;A<this.rows;A++)for(let Z=0;Z<this.columns;Z++)this.set(A,Z,this.get(A,Z)+m.get(A,Z));return this},Y.add=function(m,A){return new x(m).add(A)},Y.prototype.sub=function(m){return typeof m=="number"?this.subS(m):this.subM(m)},Y.prototype.subS=function(m){for(let A=0;A<this.rows;A++)for(let Z=0;Z<this.columns;Z++)this.set(A,Z,this.get(A,Z)-m);return this},Y.prototype.subM=function(m){if(m=x.checkMatrix(m),this.rows!==m.rows||this.columns!==m.columns)throw new RangeError("Matrices dimensions must be equal");for(let A=0;A<this.rows;A++)for(let Z=0;Z<this.columns;Z++)this.set(A,Z,this.get(A,Z)-m.get(A,Z));return this},Y.sub=function(m,A){return new x(m).sub(A)},Y.prototype.subtract=Y.prototype.sub,Y.prototype.subtractS=Y.prototype.subS,Y.prototype.subtractM=Y.prototype.subM,Y.subtract=Y.sub,Y.prototype.mul=function(m){return typeof m=="number"?this.mulS(m):this.mulM(m)},Y.prototype.mulS=function(m){for(let A=0;A<this.rows;A++)for(let Z=0;Z<this.columns;Z++)this.set(A,Z,this.get(A,Z)*m);return this},Y.prototype.mulM=function(m){if(m=x.checkMatrix(m),this.rows!==m.rows||this.columns!==m.columns)throw new RangeError("Matrices dimensions must be equal");for(let A=0;A<this.rows;A++)for(let Z=0;Z<this.columns;Z++)this.set(A,Z,this.get(A,Z)*m.get(A,Z));return this},Y.mul=function(m,A){return new x(m).mul(A)},Y.prototype.multiply=Y.prototype.mul,Y.prototype.multiplyS=Y.prototype.mulS,Y.prototype.multiplyM=Y.prototype.mulM,Y.multiply=Y.mul,Y.prototype.div=function(m){return typeof m=="number"?this.divS(m):this.divM(m)},Y.prototype.divS=function(m){for(let A=0;A<this.rows;A++)for(let Z=0;Z<this.columns;Z++)this.set(A,Z,this.get(A,Z)/m);return this},Y.prototype.divM=function(m){if(m=x.checkMatrix(m),this.rows!==m.rows||this.columns!==m.columns)throw new RangeError("Matrices dimensions must be equal");for(let A=0;A<this.rows;A++)for(let Z=0;Z<this.columns;Z++)this.set(A,Z,this.get(A,Z)/m.get(A,Z));return this},Y.div=function(m,A){return new x(m).div(A)},Y.prototype.divide=Y.prototype.div,Y.prototype.divideS=Y.prototype.divS,Y.prototype.divideM=Y.prototype.divM,Y.divide=Y.div,Y.prototype.mod=function(m){return typeof m=="number"?this.modS(m):this.modM(m)},Y.prototype.modS=function(m){for(let A=0;A<this.rows;A++)for(let Z=0;Z<this.columns;Z++)this.set(A,Z,this.get(A,Z)%m);return this},Y.prototype.modM=function(m){if(m=x.checkMatrix(m),this.rows!==m.rows||this.columns!==m.columns)throw new RangeError("Matrices dimensions must be equal");for(let A=0;A<this.rows;A++)for(let Z=0;Z<this.columns;Z++)this.set(A,Z,this.get(A,Z)%m.get(A,Z));return this},Y.mod=function(m,A){return new x(m).mod(A)},Y.prototype.modulus=Y.prototype.mod,Y.prototype.modulusS=Y.prototype.modS,Y.prototype.modulusM=Y.prototype.modM,Y.modulus=Y.mod,Y.prototype.and=function(m){return typeof m=="number"?this.andS(m):this.andM(m)},Y.prototype.andS=function(m){for(let A=0;A<this.rows;A++)for(let Z=0;Z<this.columns;Z++)this.set(A,Z,this.get(A,Z)&m);return this},Y.prototype.andM=function(m){if(m=x.checkMatrix(m),this.rows!==m.rows||this.columns!==m.columns)throw new RangeError("Matrices dimensions must be equal");for(let A=0;A<this.rows;A++)for(let Z=0;Z<this.columns;Z++)this.set(A,Z,this.get(A,Z)&m.get(A,Z));return this},Y.and=function(m,A){return new x(m).and(A)},Y.prototype.or=function(m){return typeof m=="number"?this.orS(m):this.orM(m)},Y.prototype.orS=function(m){for(let A=0;A<this.rows;A++)for(let Z=0;Z<this.columns;Z++)this.set(A,Z,this.get(A,Z)|m);return this},Y.prototype.orM=function(m){if(m=x.checkMatrix(m),this.rows!==m.rows||this.columns!==m.columns)throw new RangeError("Matrices dimensions must be equal");for(let A=0;A<this.rows;A++)for(let Z=0;Z<this.columns;Z++)this.set(A,Z,this.get(A,Z)|m.get(A,Z));return this},Y.or=function(m,A){return new x(m).or(A)},Y.prototype.xor=function(m){return typeof m=="number"?this.xorS(m):this.xorM(m)},Y.prototype.xorS=function(m){for(let A=0;A<this.rows;A++)for(let Z=0;Z<this.columns;Z++)this.set(A,Z,this.get(A,Z)^m);return this},Y.prototype.xorM=function(m){if(m=x.checkMatrix(m),this.rows!==m.rows||this.columns!==m.columns)throw new RangeError("Matrices dimensions must be equal");for(let A=0;A<this.rows;A++)for(let Z=0;Z<this.columns;Z++)this.set(A,Z,this.get(A,Z)^m.get(A,Z));return this},Y.xor=function(m,A){return new x(m).xor(A)},Y.prototype.leftShift=function(m){return typeof m=="number"?this.leftShiftS(m):this.leftShiftM(m)},Y.prototype.leftShiftS=function(m){for(let A=0;A<this.rows;A++)for(let Z=0;Z<this.columns;Z++)this.set(A,Z,this.get(A,Z)<<m);return this},Y.prototype.leftShiftM=function(m){if(m=x.checkMatrix(m),this.rows!==m.rows||this.columns!==m.columns)throw new RangeError("Matrices dimensions must be equal");for(let A=0;A<this.rows;A++)for(let Z=0;Z<this.columns;Z++)this.set(A,Z,this.get(A,Z)<<m.get(A,Z));return this},Y.leftShift=function(m,A){return new x(m).leftShift(A)},Y.prototype.signPropagatingRightShift=function(m){return typeof m=="number"?this.signPropagatingRightShiftS(m):this.signPropagatingRightShiftM(m)},Y.prototype.signPropagatingRightShiftS=function(m){for(let A=0;A<this.rows;A++)for(let Z=0;Z<this.columns;Z++)this.set(A,Z,this.get(A,Z)>>m);return this},Y.prototype.signPropagatingRightShiftM=function(m){if(m=x.checkMatrix(m),this.rows!==m.rows||this.columns!==m.columns)throw new RangeError("Matrices dimensions must be equal");for(let A=0;A<this.rows;A++)for(let Z=0;Z<this.columns;Z++)this.set(A,Z,this.get(A,Z)>>m.get(A,Z));return this},Y.signPropagatingRightShift=function(m,A){return new x(m).signPropagatingRightShift(A)},Y.prototype.rightShift=function(m){return typeof m=="number"?this.rightShiftS(m):this.rightShiftM(m)},Y.prototype.rightShiftS=function(m){for(let A=0;A<this.rows;A++)for(let Z=0;Z<this.columns;Z++)this.set(A,Z,this.get(A,Z)>>>m);return this},Y.prototype.rightShiftM=function(m){if(m=x.checkMatrix(m),this.rows!==m.rows||this.columns!==m.columns)throw new RangeError("Matrices dimensions must be equal");for(let A=0;A<this.rows;A++)for(let Z=0;Z<this.columns;Z++)this.set(A,Z,this.get(A,Z)>>>m.get(A,Z));return this},Y.rightShift=function(m,A){return new x(m).rightShift(A)},Y.prototype.zeroFillRightShift=Y.prototype.rightShift,Y.prototype.zeroFillRightShiftS=Y.prototype.rightShiftS,Y.prototype.zeroFillRightShiftM=Y.prototype.rightShiftM,Y.zeroFillRightShift=Y.rightShift,Y.prototype.not=function(){for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.set(m,A,~this.get(m,A));return this},Y.not=function(m){return new x(m).not()},Y.prototype.abs=function(){for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.set(m,A,Math.abs(this.get(m,A)));return this},Y.abs=function(m){return new x(m).abs()},Y.prototype.acos=function(){for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.set(m,A,Math.acos(this.get(m,A)));return this},Y.acos=function(m){return new x(m).acos()},Y.prototype.acosh=function(){for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.set(m,A,Math.acosh(this.get(m,A)));return this},Y.acosh=function(m){return new x(m).acosh()},Y.prototype.asin=function(){for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.set(m,A,Math.asin(this.get(m,A)));return this},Y.asin=function(m){return new x(m).asin()},Y.prototype.asinh=function(){for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.set(m,A,Math.asinh(this.get(m,A)));return this},Y.asinh=function(m){return new x(m).asinh()},Y.prototype.atan=function(){for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.set(m,A,Math.atan(this.get(m,A)));return this},Y.atan=function(m){return new x(m).atan()},Y.prototype.atanh=function(){for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.set(m,A,Math.atanh(this.get(m,A)));return this},Y.atanh=function(m){return new x(m).atanh()},Y.prototype.cbrt=function(){for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.set(m,A,Math.cbrt(this.get(m,A)));return this},Y.cbrt=function(m){return new x(m).cbrt()},Y.prototype.ceil=function(){for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.set(m,A,Math.ceil(this.get(m,A)));return this},Y.ceil=function(m){return new x(m).ceil()},Y.prototype.clz32=function(){for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.set(m,A,Math.clz32(this.get(m,A)));return this},Y.clz32=function(m){return new x(m).clz32()},Y.prototype.cos=function(){for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.set(m,A,Math.cos(this.get(m,A)));return this},Y.cos=function(m){return new x(m).cos()},Y.prototype.cosh=function(){for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.set(m,A,Math.cosh(this.get(m,A)));return this},Y.cosh=function(m){return new x(m).cosh()},Y.prototype.exp=function(){for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.set(m,A,Math.exp(this.get(m,A)));return this},Y.exp=function(m){return new x(m).exp()},Y.prototype.expm1=function(){for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.set(m,A,Math.expm1(this.get(m,A)));return this},Y.expm1=function(m){return new x(m).expm1()},Y.prototype.floor=function(){for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.set(m,A,Math.floor(this.get(m,A)));return this},Y.floor=function(m){return new x(m).floor()},Y.prototype.fround=function(){for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.set(m,A,Math.fround(this.get(m,A)));return this},Y.fround=function(m){return new x(m).fround()},Y.prototype.log=function(){for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.set(m,A,Math.log(this.get(m,A)));return this},Y.log=function(m){return new x(m).log()},Y.prototype.log1p=function(){for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.set(m,A,Math.log1p(this.get(m,A)));return this},Y.log1p=function(m){return new x(m).log1p()},Y.prototype.log10=function(){for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.set(m,A,Math.log10(this.get(m,A)));return this},Y.log10=function(m){return new x(m).log10()},Y.prototype.log2=function(){for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.set(m,A,Math.log2(this.get(m,A)));return this},Y.log2=function(m){return new x(m).log2()},Y.prototype.round=function(){for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.set(m,A,Math.round(this.get(m,A)));return this},Y.round=function(m){return new x(m).round()},Y.prototype.sign=function(){for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.set(m,A,Math.sign(this.get(m,A)));return this},Y.sign=function(m){return new x(m).sign()},Y.prototype.sin=function(){for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.set(m,A,Math.sin(this.get(m,A)));return this},Y.sin=function(m){return new x(m).sin()},Y.prototype.sinh=function(){for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.set(m,A,Math.sinh(this.get(m,A)));return this},Y.sinh=function(m){return new x(m).sinh()},Y.prototype.sqrt=function(){for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.set(m,A,Math.sqrt(this.get(m,A)));return this},Y.sqrt=function(m){return new x(m).sqrt()},Y.prototype.tan=function(){for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.set(m,A,Math.tan(this.get(m,A)));return this},Y.tan=function(m){return new x(m).tan()},Y.prototype.tanh=function(){for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.set(m,A,Math.tanh(this.get(m,A)));return this},Y.tanh=function(m){return new x(m).tanh()},Y.prototype.trunc=function(){for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.set(m,A,Math.trunc(this.get(m,A)));return this},Y.trunc=function(m){return new x(m).trunc()},Y.pow=function(m,A){return new x(m).pow(A)},Y.prototype.pow=function(m){return typeof m=="number"?this.powS(m):this.powM(m)},Y.prototype.powS=function(m){for(let A=0;A<this.rows;A++)for(let Z=0;Z<this.columns;Z++)this.set(A,Z,C(this.get(A,Z),m));return this},Y.prototype.powM=function(m){if(m=x.checkMatrix(m),this.rows!==m.rows||this.columns!==m.columns)throw new RangeError("Matrices dimensions must be equal");for(let A=0;A<this.rows;A++)for(let Z=0;Z<this.columns;Z++)this.set(A,Z,C(this.get(A,Z),m.get(A,Z)));return this}}function ft(Y,x,w){let m=w?Y.rows:Y.rows-1;if(x<0||x>m)throw new RangeError("Row index out of range")}function xt(Y,x,w){let m=w?Y.columns:Y.columns-1;if(x<0||x>m)throw new RangeError("Column index out of range")}function Nt(Y,x){if(x.to1DArray&&(x=x.to1DArray()),x.length!==Y.columns)throw new RangeError("vector size must be the same as the number of columns");return x}function Bt(Y,x){if(x.to1DArray&&(x=x.to1DArray()),x.length!==Y.rows)throw new RangeError("vector size must be the same as the number of rows");return x}function _t(Y,x){if(!rt.isAnyArray(x))throw new TypeError("row indices must be an array");for(let w=0;w<x.length;w++)if(x[w]<0||x[w]>=Y.rows)throw new RangeError("row indices are out of range")}function Kt(Y,x){if(!rt.isAnyArray(x))throw new TypeError("column indices must be an array");for(let w=0;w<x.length;w++)if(x[w]<0||x[w]>=Y.columns)throw new RangeError("column indices are out of range")}function me(Y,x,w,m,A){if(arguments.length!==5)throw new RangeError("expected 4 arguments");if(Ge("startRow",x),Ge("endRow",w),Ge("startColumn",m),Ge("endColumn",A),x>w||m>A||x<0||x>=Y.rows||w<0||w>=Y.rows||m<0||m>=Y.columns||A<0||A>=Y.columns)throw new RangeError("Submatrix indices are out of range")}function Me(Y,x=0){let w=[];for(let m=0;m<Y;m++)w.push(x);return w}function Ge(Y,x){if(typeof x!="number")throw new TypeError(`${Y} must be a number`)}function Rn(Y){if(Y.isEmpty())throw new Error("Empty matrix has no elements to index")}function Mr(Y){let x=Me(Y.rows);for(let w=0;w<Y.rows;++w)for(let m=0;m<Y.columns;++m)x[w]+=Y.get(w,m);return x}function Pi(Y){let x=Me(Y.columns);for(let w=0;w<Y.rows;++w)for(let m=0;m<Y.columns;++m)x[m]+=Y.get(w,m);return x}function la(Y){let x=0;for(let w=0;w<Y.rows;w++)for(let m=0;m<Y.columns;m++)x+=Y.get(w,m);return x}function kt(Y){let x=Me(Y.rows,1);for(let w=0;w<Y.rows;++w)for(let m=0;m<Y.columns;++m)x[w]*=Y.get(w,m);return x}function Rt(Y){let x=Me(Y.columns,1);for(let w=0;w<Y.rows;++w)for(let m=0;m<Y.columns;++m)x[m]*=Y.get(w,m);return x}function zt(Y){let x=1;for(let w=0;w<Y.rows;w++)for(let m=0;m<Y.columns;m++)x*=Y.get(w,m);return x}function dt(Y,x,w){const m=Y.rows,A=Y.columns,Z=[];for(let et=0;et<m;et++){let nt=0,st=0,lt=0;for(let St=0;St<A;St++)lt=Y.get(et,St)-w[et],nt+=lt,st+=lt*lt;x?Z.push((st-nt*nt/A)/(A-1)):Z.push((st-nt*nt/A)/A)}return Z}function Mt(Y,x,w){const m=Y.rows,A=Y.columns,Z=[];for(let et=0;et<A;et++){let nt=0,st=0,lt=0;for(let St=0;St<m;St++)lt=Y.get(St,et)-w[et],nt+=lt,st+=lt*lt;x?Z.push((st-nt*nt/m)/(m-1)):Z.push((st-nt*nt/m)/m)}return Z}function Tt(Y,x,w){const m=Y.rows,A=Y.columns,Z=m*A;let et=0,nt=0,st=0;for(let lt=0;lt<m;lt++)for(let St=0;St<A;St++)st=Y.get(lt,St)-w,et+=st,nt+=st*st;return x?(nt-et*et/Z)/(Z-1):(nt-et*et/Z)/Z}function Wt(Y,x){for(let w=0;w<Y.rows;w++)for(let m=0;m<Y.columns;m++)Y.set(w,m,Y.get(w,m)-x[w])}function oe(Y,x){for(let w=0;w<Y.rows;w++)for(let m=0;m<Y.columns;m++)Y.set(w,m,Y.get(w,m)-x[m])}function be(Y,x){for(let w=0;w<Y.rows;w++)for(let m=0;m<Y.columns;m++)Y.set(w,m,Y.get(w,m)-x)}function fe(Y){const x=[];for(let w=0;w<Y.rows;w++){let m=0;for(let A=0;A<Y.columns;A++)m+=C(Y.get(w,A),2)/(Y.columns-1);x.push(Math.sqrt(m))}return x}function Re(Y,x){for(let w=0;w<Y.rows;w++)for(let m=0;m<Y.columns;m++)Y.set(w,m,Y.get(w,m)/x[w])}function An(Y){const x=[];for(let w=0;w<Y.columns;w++){let m=0;for(let A=0;A<Y.rows;A++)m+=C(Y.get(A,w),2)/(Y.rows-1);x.push(Math.sqrt(m))}return x}function Cn(Y,x){for(let w=0;w<Y.rows;w++)for(let m=0;m<Y.columns;m++)Y.set(w,m,Y.get(w,m)/x[m])}function Le(Y){const x=Y.size-1;let w=0;for(let m=0;m<Y.columns;m++)for(let A=0;A<Y.rows;A++)w+=C(Y.get(A,m),2)/x;return Math.sqrt(w)}function Ae(Y,x){for(let w=0;w<Y.rows;w++)for(let m=0;m<Y.columns;m++)Y.set(w,m,Y.get(w,m)/x)}class re{static from1DArray(x,w,m){if(x*w!==m.length)throw new RangeError("data length does not match given dimensions");let Z=new ne(x,w);for(let et=0;et<x;et++)for(let nt=0;nt<w;nt++)Z.set(et,nt,m[et*w+nt]);return Z}static rowVector(x){let w=new ne(1,x.length);for(let m=0;m<x.length;m++)w.set(0,m,x[m]);return w}static columnVector(x){let w=new ne(x.length,1);for(let m=0;m<x.length;m++)w.set(m,0,x[m]);return w}static zeros(x,w){return new ne(x,w)}static ones(x,w){return new ne(x,w).fill(1)}static rand(x,w,m={}){if(typeof m!="object")throw new TypeError("options must be an object");const{random:A=Math.random}=m;let Z=new ne(x,w);for(let et=0;et<x;et++)for(let nt=0;nt<w;nt++)Z.set(et,nt,A());return Z}static randInt(x,w,m={}){if(typeof m!="object")throw new TypeError("options must be an object");const{min:A=0,max:Z=1e3,random:et=Math.random}=m;if(!Number.isInteger(A))throw new TypeError("min must be an integer");if(!Number.isInteger(Z))throw new TypeError("max must be an integer");if(A>=Z)throw new RangeError("min must be smaller than max");let nt=Z-A,st=new ne(x,w);for(let lt=0;lt<x;lt++)for(let St=0;St<w;St++){let gt=A+Math.round(et()*nt);st.set(lt,St,gt)}return st}static eye(x,w,m){w===void 0&&(w=x),m===void 0&&(m=1);let A=Math.min(x,w),Z=this.zeros(x,w);for(let et=0;et<A;et++)Z.set(et,et,m);return Z}static diag(x,w,m){let A=x.length;w===void 0&&(w=A),m===void 0&&(m=w);let Z=Math.min(A,w,m),et=this.zeros(w,m);for(let nt=0;nt<Z;nt++)et.set(nt,nt,x[nt]);return et}static min(x,w){x=this.checkMatrix(x),w=this.checkMatrix(w);let m=x.rows,A=x.columns,Z=new ne(m,A);for(let et=0;et<m;et++)for(let nt=0;nt<A;nt++)Z.set(et,nt,Math.min(x.get(et,nt),w.get(et,nt)));return Z}static max(x,w){x=this.checkMatrix(x),w=this.checkMatrix(w);let m=x.rows,A=x.columns,Z=new this(m,A);for(let et=0;et<m;et++)for(let nt=0;nt<A;nt++)Z.set(et,nt,Math.max(x.get(et,nt),w.get(et,nt)));return Z}static checkMatrix(x){return re.isMatrix(x)?x:new ne(x)}static isMatrix(x){return x!=null&&x.klass==="Matrix"}get size(){return this.rows*this.columns}apply(x){if(typeof x!="function")throw new TypeError("callback must be a function");for(let w=0;w<this.rows;w++)for(let m=0;m<this.columns;m++)x.call(this,w,m);return this}to1DArray(){let x=[];for(let w=0;w<this.rows;w++)for(let m=0;m<this.columns;m++)x.push(this.get(w,m));return x}to2DArray(){let x=[];for(let w=0;w<this.rows;w++){x.push([]);for(let m=0;m<this.columns;m++)x[w].push(this.get(w,m))}return x}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 x=0;x<this.rows;x++)for(let w=0;w<=x;w++)if(this.get(x,w)!==this.get(w,x))return!1;return!0}return!1}isDistance(){if(!this.isSymmetric())return!1;for(let x=0;x<this.rows;x++)if(this.get(x,x)!==0)return!1;return!0}isEchelonForm(){let x=0,w=0,m=-1,A=!0,Z=!1;for(;x<this.rows&&A;){for(w=0,Z=!1;w<this.columns&&Z===!1;)this.get(x,w)===0?w++:this.get(x,w)===1&&w>m?(Z=!0,m=w):(A=!1,Z=!0);x++}return A}isReducedEchelonForm(){let x=0,w=0,m=-1,A=!0,Z=!1;for(;x<this.rows&&A;){for(w=0,Z=!1;w<this.columns&&Z===!1;)this.get(x,w)===0?w++:this.get(x,w)===1&&w>m?(Z=!0,m=w):(A=!1,Z=!0);for(let et=w+1;et<this.rows;et++)this.get(x,et)!==0&&(A=!1);x++}return A}echelonForm(){let x=this.clone(),w=0,m=0;for(;w<x.rows&&m<x.columns;){let A=w;for(let Z=w;Z<x.rows;Z++)x.get(Z,m)>x.get(A,m)&&(A=Z);if(x.get(A,m)===0)m++;else{x.swapRows(w,A);let Z=x.get(w,m);for(let et=m;et<x.columns;et++)x.set(w,et,x.get(w,et)/Z);for(let et=w+1;et<x.rows;et++){let nt=x.get(et,m)/x.get(w,m);x.set(et,m,0);for(let st=m+1;st<x.columns;st++)x.set(et,st,x.get(et,st)-x.get(w,st)*nt)}w++,m++}}return x}reducedEchelonForm(){let x=this.echelonForm(),w=x.columns,m=x.rows,A=m-1;for(;A>=0;)if(x.maxRow(A)===0)A--;else{let Z=0,et=!1;for(;Z<m&&et===!1;)x.get(A,Z)===1?et=!0:Z++;for(let nt=0;nt<A;nt++){let st=x.get(nt,Z);for(let lt=Z;lt<w;lt++){let St=x.get(nt,lt)-st*x.get(A,lt);x.set(nt,lt,St)}}A--}return x}set(){throw new Error("set method is unimplemented")}get(){throw new Error("get method is unimplemented")}repeat(x={}){if(typeof x!="object")throw new TypeError("options must be an object");const{rows:w=1,columns:m=1}=x;if(!Number.isInteger(w)||w<=0)throw new TypeError("rows must be a positive integer");if(!Number.isInteger(m)||m<=0)throw new TypeError("columns must be a positive integer");let A=new ne(this.rows*w,this.columns*m);for(let Z=0;Z<w;Z++)for(let et=0;et<m;et++)A.setSubMatrix(this,this.rows*Z,this.columns*et);return A}fill(x){for(let w=0;w<this.rows;w++)for(let m=0;m<this.columns;m++)this.set(w,m,x);return this}neg(){return this.mulS(-1)}getRow(x){ft(this,x);let w=[];for(let m=0;m<this.columns;m++)w.push(this.get(x,m));return w}getRowVector(x){return ne.rowVector(this.getRow(x))}setRow(x,w){ft(this,x),w=Nt(this,w);for(let m=0;m<this.columns;m++)this.set(x,m,w[m]);return this}swapRows(x,w){ft(this,x),ft(this,w);for(let m=0;m<this.columns;m++){let A=this.get(x,m);this.set(x,m,this.get(w,m)),this.set(w,m,A)}return this}getColumn(x){xt(this,x);let w=[];for(let m=0;m<this.rows;m++)w.push(this.get(m,x));return w}getColumnVector(x){return ne.columnVector(this.getColumn(x))}setColumn(x,w){xt(this,x),w=Bt(this,w);for(let m=0;m<this.rows;m++)this.set(m,x,w[m]);return this}swapColumns(x,w){xt(this,x),xt(this,w);for(let m=0;m<this.rows;m++){let A=this.get(m,x);this.set(m,x,this.get(m,w)),this.set(m,w,A)}return this}addRowVector(x){x=Nt(this,x);for(let w=0;w<this.rows;w++)for(let m=0;m<this.columns;m++)this.set(w,m,this.get(w,m)+x[m]);return this}subRowVector(x){x=Nt(this,x);for(let w=0;w<this.rows;w++)for(let m=0;m<this.columns;m++)this.set(w,m,this.get(w,m)-x[m]);return this}mulRowVector(x){x=Nt(this,x);for(let w=0;w<this.rows;w++)for(let m=0;m<this.columns;m++)this.set(w,m,this.get(w,m)*x[m]);return this}divRowVector(x){x=Nt(this,x);for(let w=0;w<this.rows;w++)for(let m=0;m<this.columns;m++)this.set(w,m,this.get(w,m)/x[m]);return this}addColumnVector(x){x=Bt(this,x);for(let w=0;w<this.rows;w++)for(let m=0;m<this.columns;m++)this.set(w,m,this.get(w,m)+x[w]);return this}subColumnVector(x){x=Bt(this,x);for(let w=0;w<this.rows;w++)for(let m=0;m<this.columns;m++)this.set(w,m,this.get(w,m)-x[w]);return this}mulColumnVector(x){x=Bt(this,x);for(let w=0;w<this.rows;w++)for(let m=0;m<this.columns;m++)this.set(w,m,this.get(w,m)*x[w]);return this}divColumnVector(x){x=Bt(this,x);for(let w=0;w<this.rows;w++)for(let m=0;m<this.columns;m++)this.set(w,m,this.get(w,m)/x[w]);return this}mulRow(x,w){ft(this,x);for(let m=0;m<this.columns;m++)this.set(x,m,this.get(x,m)*w);return this}mulColumn(x,w){xt(this,x);for(let m=0;m<this.rows;m++)this.set(m,x,this.get(m,x)*w);return this}max(x){if(this.isEmpty())return NaN;switch(x){case"row":{const w=new Array(this.rows).fill(Number.NEGATIVE_INFINITY);for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.get(m,A)>w[m]&&(w[m]=this.get(m,A));return w}case"column":{const w=new Array(this.columns).fill(Number.NEGATIVE_INFINITY);for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.get(m,A)>w[A]&&(w[A]=this.get(m,A));return w}case void 0:{let w=this.get(0,0);for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.get(m,A)>w&&(w=this.get(m,A));return w}default:throw new Error(`invalid option: ${x}`)}}maxIndex(){Rn(this);let x=this.get(0,0),w=[0,0];for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.get(m,A)>x&&(x=this.get(m,A),w[0]=m,w[1]=A);return w}min(x){if(this.isEmpty())return NaN;switch(x){case"row":{const w=new Array(this.rows).fill(Number.POSITIVE_INFINITY);for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.get(m,A)<w[m]&&(w[m]=this.get(m,A));return w}case"column":{const w=new Array(this.columns).fill(Number.POSITIVE_INFINITY);for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.get(m,A)<w[A]&&(w[A]=this.get(m,A));return w}case void 0:{let w=this.get(0,0);for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.get(m,A)<w&&(w=this.get(m,A));return w}default:throw new Error(`invalid option: ${x}`)}}minIndex(){Rn(this);let x=this.get(0,0),w=[0,0];for(let m=0;m<this.rows;m++)for(let A=0;A<this.columns;A++)this.get(m,A)<x&&(x=this.get(m,A),w[0]=m,w[1]=A);return w}maxRow(x){if(ft(this,x),this.isEmpty())return NaN;let w=this.get(x,0);for(let m=1;m<this.columns;m++)this.get(x,m)>w&&(w=this.get(x,m));return w}maxRowIndex(x){ft(this,x),Rn(this);let w=this.get(x,0),m=[x,0];for(let A=1;A<this.columns;A++)this.get(x,A)>w&&(w=this.get(x,A),m[1]=A);return m}minRow(x){if(ft(this,x),this.isEmpty())return NaN;let w=this.get(x,0);for(let m=1;m<this.columns;m++)this.get(x,m)<w&&(w=this.get(x,m));return w}minRowIndex(x){ft(this,x),Rn(this);let w=this.get(x,0),m=[x,0];for(let A=1;A<this.columns;A++)this.get(x,A)<w&&(w=this.get(x,A),m[1]=A);return m}maxColumn(x){if(xt(this,x),this.isEmpty())return NaN;let w=this.get(0,x);for(let m=1;m<this.rows;m++)this.get(m,x)>w&&(w=this.get(m,x));return w}maxColumnIndex(x){xt(this,x),Rn(this);let w=this.get(0,x),m=[0,x];for(let A=1;A<this.rows;A++)this.get(A,x)>w&&(w=this.get(A,x),m[0]=A);return m}minColumn(x){if(xt(this,x),this.isEmpty())return NaN;let w=this.get(0,x);for(let m=1;m<this.rows;m++)this.get(m,x)<w&&(w=this.get(m,x));return w}minColumnIndex(x){xt(this,x),Rn(this);let w=this.get(0,x),m=[0,x];for(let A=1;A<this.rows;A++)this.get(A,x)<w&&(w=this.get(A,x),m[0]=A);return m}diag(){let x=Math.min(this.rows,this.columns),w=[];for(let m=0;m<x;m++)w.push(this.get(m,m));return w}norm(x="frobenius"){switch(x){case"max":return this.max();case"frobenius":return Math.sqrt(this.dot(this));default:throw new RangeError(`unknown norm type: ${x}`)}}cumulativeSum(){let x=0;for(let w=0;w<this.rows;w++)for(let m=0;m<this.columns;m++)x+=this.get(w,m),this.set(w,m,x);return this}dot(x){re.isMatrix(x)&&(x=x.to1DArray());let w=this.to1DArray();if(w.length!==x.length)throw new RangeError("vectors do not have the same size");let m=0;for(let A=0;A<w.length;A++)m+=w[A]*x[A];return m}mmul(x){x=ne.checkMatrix(x);let w=this.rows,m=this.columns,A=x.columns,Z=new ne(w,A),et=new Float64Array(m);for(let nt=0;nt<A;nt++){for(let st=0;st<m;st++)et[st]=x.get(st,nt);for(let st=0;st<w;st++){let lt=0;for(let St=0;St<m;St++)lt+=this.get(st,St)*et[St];Z.set(st,nt,lt)}}return Z}mpow(x){if(!this.isSquare())throw new RangeError("Matrix must be square");if(!Number.isInteger(x)||x<0)throw new RangeError("Exponent must be a non-negative integer");let w=ne.eye(this.rows),m=this;for(let A=x;A>=1;A/=2)A&1&&(w=w.mmul(m)),m=m.mmul(m);return w}strassen2x2(x){x=ne.checkMatrix(x);let w=new ne(2,2);const m=this.get(0,0),A=x.get(0,0),Z=this.get(0,1),et=x.get(0,1),nt=this.get(1,0),st=x.get(1,0),lt=this.get(1,1),St=x.get(1,1),gt=(m+lt)*(A+St),Ft=(nt+lt)*A,Jt=m*(et-St),Dt=lt*(st-A),Ht=(m+Z)*St,le=(nt-m)*(A+et),Et=(Z-lt)*(st+St),Gt=gt+Dt-Ht+Et,ue=Jt+Ht,we=Ft+Dt,Se=gt-Ft+Jt+le;return w.set(0,0,Gt),w.set(0,1,ue),w.set(1,0,we),w.set(1,1,Se),w}strassen3x3(x){x=ne.checkMatrix(x);let w=new ne(3,3);const m=this.get(0,0),A=this.get(0,1),Z=this.get(0,2),et=this.get(1,0),nt=this.get(1,1),st=this.get(1,2),lt=this.get(2,0),St=this.get(2,1),gt=this.get(2,2),Ft=x.get(0,0),Jt=x.get(0,1),Dt=x.get(0,2),Ht=x.get(1,0),le=x.get(1,1),Et=x.get(1,2),Gt=x.get(2,0),ue=x.get(2,1),we=x.get(2,2),Se=(m+A+Z-et-nt-St-gt)*le,cn=(m-et)*(-Jt+le),ge=nt*(-Ft+Jt+Ht-le-Et-Gt+we),xe=(-m+et+nt)*(Ft-Jt+le),_e=(et+nt)*(-Ft+Jt),At=m*Ft,Vt=(-m+lt+St)*(Ft-Dt+Et),qt=(-m+lt)*(Dt-Et),Yt=(lt+St)*(-Ft+Dt),dn=(m+A+Z-nt-st-lt-St)*Et,tn=St*(-Ft+Dt+Ht-le-Et-Gt+ue),un=(-Z+St+gt)*(le+Gt-ue),vn=(Z-gt)*(le-ue),nr=Z*Gt,Un=(St+gt)*(-Gt+ue),gn=(-Z+nt+st)*(Et+Gt-we),qr=(Z-st)*(Et-we),di=(nt+st)*(-Gt+we),Fe=A*Ht,jn=st*ue,Ar=et*Dt,Dr=lt*Jt,Sn=gt*we,Ca=At+nr+Fe,qs=Se+xe+_e+At+un+nr+Un,bf=At+Vt+Yt+dn+nr+gn+di,xf=cn+ge+xe+At+nr+gn+qr,hs=cn+xe+_e+At+jn,Zo=nr+gn+qr+di+Ar,Ef=At+Vt+qt+tn+un+vn+nr,Kl=un+vn+nr+Un+Dr,wf=At+Vt+qt+Yt+Sn;return w.set(0,0,Ca),w.set(0,1,qs),w.set(0,2,bf),w.set(1,0,xf),w.set(1,1,hs),w.set(1,2,Zo),w.set(2,0,Ef),w.set(2,1,Kl),w.set(2,2,wf),w}mmulStrassen(x){x=ne.checkMatrix(x);let w=this.clone(),m=w.rows,A=w.columns,Z=x.rows,et=x.columns;A!==Z&&console.warn(`Multiplying ${m} x ${A} and ${Z} x ${et} matrix: dimensions do not match.`);function nt(gt,Ft,Jt){let Dt=gt.rows,Ht=gt.columns;if(Dt===Ft&&Ht===Jt)return gt;{let le=re.zeros(Ft,Jt);return le=le.setSubMatrix(gt,0,0),le}}let st=Math.max(m,Z),lt=Math.max(A,et);w=nt(w,st,lt),x=nt(x,st,lt);function St(gt,Ft,Jt,Dt){if(Jt<=512||Dt<=512)return gt.mmul(Ft);Jt%2===1&&Dt%2===1?(gt=nt(gt,Jt+1,Dt+1),Ft=nt(Ft,Jt+1,Dt+1)):Jt%2===1?(gt=nt(gt,Jt+1,Dt),Ft=nt(Ft,Jt+1,Dt)):Dt%2===1&&(gt=nt(gt,Jt,Dt+1),Ft=nt(Ft,Jt,Dt+1));let Ht=parseInt(gt.rows/2,10),le=parseInt(gt.columns/2,10),Et=gt.subMatrix(0,Ht-1,0,le-1),Gt=Ft.subMatrix(0,Ht-1,0,le-1),ue=gt.subMatrix(0,Ht-1,le,gt.columns-1),we=Ft.subMatrix(0,Ht-1,le,Ft.columns-1),Se=gt.subMatrix(Ht,gt.rows-1,0,le-1),cn=Ft.subMatrix(Ht,Ft.rows-1,0,le-1),ge=gt.subMatrix(Ht,gt.rows-1,le,gt.columns-1),xe=Ft.subMatrix(Ht,Ft.rows-1,le,Ft.columns-1),_e=St(re.add(Et,ge),re.add(Gt,xe),Ht,le),At=St(re.add(Se,ge),Gt,Ht,le),Vt=St(Et,re.sub(we,xe),Ht,le),qt=St(ge,re.sub(cn,Gt),Ht,le),Yt=St(re.add(Et,ue),xe,Ht,le),dn=St(re.sub(Se,Et),re.add(Gt,we),Ht,le),tn=St(re.sub(ue,ge),re.add(cn,xe),Ht,le),un=re.add(_e,qt);un.sub(Yt),un.add(tn);let vn=re.add(Vt,Yt),nr=re.add(At,qt),Un=re.sub(_e,At);Un.add(Vt),Un.add(dn);let gn=re.zeros(2*un.rows,2*un.columns);return gn=gn.setSubMatrix(un,0,0),gn=gn.setSubMatrix(vn,un.rows,0),gn=gn.setSubMatrix(nr,0,un.columns),gn=gn.setSubMatrix(Un,un.rows,un.columns),gn.subMatrix(0,Jt-1,0,Dt-1)}return St(w,x,st,lt)}scaleRows(x={}){if(typeof x!="object")throw new TypeError("options must be an object");const{min:w=0,max:m=1}=x;if(!Number.isFinite(w))throw new TypeError("min must be a number");if(!Number.isFinite(m))throw new TypeError("max must be a number");if(w>=m)throw new RangeError("min must be smaller than max");let A=new ne(this.rows,this.columns);for(let Z=0;Z<this.rows;Z++){const et=this.getRow(Z);et.length>0&&tt(et,{min:w,max:m,output:et}),A.setRow(Z,et)}return A}scaleColumns(x={}){if(typeof x!="object")throw new TypeError("options must be an object");const{min:w=0,max:m=1}=x;if(!Number.isFinite(w))throw new TypeError("min must be a number");if(!Number.isFinite(m))throw new TypeError("max must be a number");if(w>=m)throw new RangeError("min must be smaller than max");let A=new ne(this.rows,this.columns);for(let Z=0;Z<this.columns;Z++){const et=this.getColumn(Z);et.length&&tt(et,{min:w,max:m,output:et}),A.setColumn(Z,et)}return A}flipRows(){const x=Math.ceil(this.columns/2);for(let w=0;w<this.rows;w++)for(let m=0;m<x;m++){let A=this.get(w,m),Z=this.get(w,this.columns-1-m);this.set(w,m,Z),this.set(w,this.columns-1-m,A)}return this}flipColumns(){const x=Math.ceil(this.rows/2);for(let w=0;w<this.columns;w++)for(let m=0;m<x;m++){let A=this.get(m,w),Z=this.get(this.rows-1-m,w);this.set(m,w,Z),this.set(this.rows-1-m,w,A)}return this}kroneckerProduct(x){x=ne.checkMatrix(x);let w=this.rows,m=this.columns,A=x.rows,Z=x.columns,et=new ne(w*A,m*Z);for(let nt=0;nt<w;nt++)for(let st=0;st<m;st++)for(let lt=0;lt<A;lt++)for(let St=0;St<Z;St++)et.set(A*nt+lt,Z*st+St,this.get(nt,st)*x.get(lt,St));return et}kroneckerSum(x){if(x=ne.checkMatrix(x),!this.isSquare()||!x.isSquare())throw new Error("Kronecker Sum needs two Square Matrices");let w=this.rows,m=x.rows,A=this.kroneckerProduct(ne.eye(m,m)),Z=ne.eye(w,w).kroneckerProduct(x);return A.add(Z)}transpose(){let x=new ne(this.columns,this.rows);for(let w=0;w<this.rows;w++)for(let m=0;m<this.columns;m++)x.set(m,w,this.get(w,m));return x}sortRows(x=Oe){for(let w=0;w<this.rows;w++)this.setRow(w,this.getRow(w).sort(x));return this}sortColumns(x=Oe){for(let w=0;w<this.columns;w++)this.setColumn(w,this.getColumn(w).sort(x));return this}subMatrix(x,w,m,A){me(this,x,w,m,A);let Z=new ne(w-x+1,A-m+1);for(let et=x;et<=w;et++)for(let nt=m;nt<=A;nt++)Z.set(et-x,nt-m,this.get(et,nt));return Z}subMatrixRow(x,w,m){if(w===void 0&&(w=0),m===void 0&&(m=this.columns-1),w>m||w<0||w>=this.columns||m<0||m>=this.columns)throw new RangeError("Argument out of range");let A=new ne(x.length,m-w+1);for(let Z=0;Z<x.length;Z++)for(let et=w;et<=m;et++){if(x[Z]<0||x[Z]>=this.rows)throw new RangeError(`Row index out of range: ${x[Z]}`);A.set(Z,et-w,this.get(x[Z],et))}return A}subMatrixColumn(x,w,m){if(w===void 0&&(w=0),m===void 0&&(m=this.rows-1),w>m||w<0||w>=this.rows||m<0||m>=this.rows)throw new RangeError("Argument out of range");let A=new ne(m-w+1,x.length);for(let Z=0;Z<x.length;Z++)for(let et=w;et<=m;et++){if(x[Z]<0||x[Z]>=this.columns)throw new RangeError(`Column index out of range: ${x[Z]}`);A.set(et-w,Z,this.get(et,x[Z]))}return A}setSubMatrix(x,w,m){if(x=ne.checkMatrix(x),x.isEmpty())return this;let A=w+x.rows-1,Z=m+x.columns-1;me(this,w,A,m,Z);for(let et=0;et<x.rows;et++)for(let nt=0;nt<x.columns;nt++)this.set(w+et,m+nt,x.get(et,nt));return this}selection(x,w){_t(this,x),Kt(this,w);let m=new ne(x.length,w.length);for(let A=0;A<x.length;A++){let Z=x[A];for(let et=0;et<w.length;et++){let nt=w[et];m.set(A,et,this.get(Z,nt))}}return m}trace(){let x=Math.min(this.rows,this.columns),w=0;for(let m=0;m<x;m++)w+=this.get(m,m);return w}clone(){return this.constructor.copy(this,new ne(this.rows,this.columns))}static copy(x,w){for(const[m,A,Z]of x.entries())w.set(m,A,Z);return w}sum(x){switch(x){case"row":return Mr(this);case"column":return Pi(this);case void 0:return la(this);default:throw new Error(`invalid option: ${x}`)}}product(x){switch(x){case"row":return kt(this);case"column":return Rt(this);case void 0:return zt(this);default:throw new Error(`invalid option: ${x}`)}}mean(x){const w=this.sum(x);switch(x){case"row":{for(let m=0;m<this.rows;m++)w[m]/=this.columns;return w}case"column":{for(let m=0;m<this.columns;m++)w[m]/=this.rows;return w}case void 0:return w/this.size;default:throw new Error(`invalid option: ${x}`)}}variance(x,w={}){if(typeof x=="object"&&(w=x,x=void 0),typeof w!="object")throw new TypeError("options must be an object");const{unbiased:m=!0,mean:A=this.mean(x)}=w;if(typeof m!="boolean")throw new TypeError("unbiased must be a boolean");switch(x){case"row":{if(!rt.isAnyArray(A))throw new TypeError("mean must be an array");return dt(this,m,A)}case"column":{if(!rt.isAnyArray(A))throw new TypeError("mean must be an array");return Mt(this,m,A)}case void 0:{if(typeof A!="number")throw new TypeError("mean must be a number");return Tt(this,m,A)}default:throw new Error(`invalid option: ${x}`)}}standardDeviation(x,w){typeof x=="object"&&(w=x,x=void 0);const m=this.variance(x,w);if(x===void 0)return Math.sqrt(m);for(let A=0;A<m.length;A++)m[A]=Math.sqrt(m[A]);return m}center(x,w={}){if(typeof x=="object"&&(w=x,x=void 0),typeof w!="object")throw new TypeError("options must be an object");const{center:m=this.mean(x)}=w;switch(x){case"row":{if(!rt.isAnyArray(m))throw new TypeError("center must be an array");return Wt(this,m),this}case"column":{if(!rt.isAnyArray(m))throw new TypeError("center must be an array");return oe(this,m),this}case void 0:{if(typeof m!="number")throw new TypeError("center must be a number");return be(this,m),this}default:throw new Error(`invalid option: ${x}`)}}scale(x,w={}){if(typeof x=="object"&&(w=x,x=void 0),typeof w!="object")throw new TypeError("options must be an object");let m=w.scale;switch(x){case"row":{if(m===void 0)m=fe(this);else if(!rt.isAnyArray(m))throw new TypeError("scale must be an array");return Re(this,m),this}case"column":{if(m===void 0)m=An(this);else if(!rt.isAnyArray(m))throw new TypeError("scale must be an array");return Cn(this,m),this}case void 0:{if(m===void 0)m=Le(this);else if(typeof m!="number")throw new TypeError("scale must be a number");return Ae(this,m),this}default:throw new Error(`invalid option: ${x}`)}}toString(x){return ut(this,x)}[Symbol.iterator](){return this.entries()}*entries(){for(let x=0;x<this.rows;x++)for(let w=0;w<this.columns;w++)yield[x,w,this.get(x,w)]}*values(){for(let x=0;x<this.rows;x++)for(let w=0;w<this.columns;w++)yield this.get(x,w)}}re.prototype.klass="Matrix",typeof Symbol!="undefined"&&(re.prototype[Symbol.for("nodejs.util.inspect.custom")]=at);function Oe(Y,x){return Y-x}function cr(Y){return Y.every(x=>typeof x=="number")}re.random=re.rand,re.randomInt=re.randInt,re.diagonal=re.diag,re.prototype.diagonal=re.prototype.diag,re.identity=re.eye,re.prototype.negate=re.prototype.neg,re.prototype.tensorProduct=re.prototype.kroneckerProduct;const ca=class Y0 extends re{constructor(x,w){if(super(),L(this,H),N(this,"data"),Y0.isMatrix(x))I(this,H,U).call(this,x.rows,x.columns),Y0.copy(x,this);else if(Number.isInteger(x)&&x>=0)I(this,H,U).call(this,x,w);else if(rt.isAnyArray(x)){const m=x;if(x=m.length,w=x?m[0].length:0,typeof w!="number")throw new TypeError("Data must be a 2D array with at least one element");this.data=[];for(let A=0;A<x;A++){if(m[A].length!==w)throw new RangeError("Inconsistent array dimensions");if(!cr(m[A]))throw new TypeError("Input data contains non-numeric values");this.data.push(Float64Array.from(m[A]))}this.rows=x,this.columns=w}else throw new TypeError("First argument must be a positive number or an array")}set(x,w,m){return this.data[x][w]=m,this}get(x,w){return this.data[x][w]}removeRow(x){return ft(this,x),this.data.splice(x,1),this.rows-=1,this}addRow(x,w){return w===void 0&&(w=x,x=this.rows),ft(this,x,!0),w=Float64Array.from(Nt(this,w)),this.data.splice(x,0,w),this.rows+=1,this}removeColumn(x){xt(this,x);for(let w=0;w<this.rows;w++){const m=new Float64Array(this.columns-1);for(let A=0;A<x;A++)m[A]=this.data[w][A];for(let A=x+1;A<this.columns;A++)m[A-1]=this.data[w][A];this.data[w]=m}return this.columns-=1,this}addColumn(x,w){typeof w=="undefined"&&(w=x,x=this.columns),xt(this,x,!0),w=Bt(this,w);for(let m=0;m<this.rows;m++){const A=new Float64Array(this.columns+1);let Z=0;for(;Z<x;Z++)A[Z]=this.data[m][Z];for(A[Z++]=w[m];Z<this.columns+1;Z++)A[Z]=this.data[m][Z-1];this.data[m]=A}return this.columns+=1,this}};H=new WeakSet,U=function(Y,x){if(this.data=[],Number.isInteger(x)&&x>=0)for(let w=0;w<Y;w++)this.data.push(new Float64Array(x));else throw new TypeError("nColumns must be a positive integer");this.rows=Y,this.columns=x};let ne=ca;wt(re,ne);const ss=class U0 extends re{constructor(x){if(super(),L(this,K),ne.isMatrix(x)){if(!x.isSymmetric())throw new TypeError("not symmetric data");F(this,K,ne.copy(x,new ne(x.rows,x.rows)))}else if(Number.isInteger(x)&&x>=0)F(this,K,new ne(x,x));else if(F(this,K,new ne(x)),!this.isSymmetric())throw new TypeError("not symmetric data")}get size(){return T(this,K).size}get rows(){return T(this,K).rows}get columns(){return T(this,K).columns}get diagonalSize(){return this.rows}static isSymmetricMatrix(x){return ne.isMatrix(x)&&x.klassType==="SymmetricMatrix"}static zeros(x){return new this(x)}static ones(x){return new this(x).fill(1)}clone(){const x=new U0(this.diagonalSize);for(const[w,m,A]of this.upperRightEntries())x.set(w,m,A);return x}toMatrix(){return new ne(this)}get(x,w){return T(this,K).get(x,w)}set(x,w,m){return T(this,K).set(x,w,m),T(this,K).set(w,x,m),this}removeCross(x){return T(this,K).removeRow(x),T(this,K).removeColumn(x),this}addCross(x,w){w===void 0&&(w=x,x=this.diagonalSize);const m=w.slice();return m.splice(x,1),T(this,K).addRow(x,m),T(this,K).addColumn(x,w),this}applyMask(x){if(x.length!==this.diagonalSize)throw new RangeError("Mask size do not match with matrix size");const w=[];for(const[m,A]of x.entries())A||w.push(m);w.reverse();for(const m of w)this.removeCross(m);return this}toCompact(){const{diagonalSize:x}=this,w=new Array(x*(x+1)/2);for(let m=0,A=0,Z=0;Z<w.length;Z++)w[Z]=this.get(A,m),++m>=x&&(m=++A);return w}static fromCompact(x){const w=x.length,m=(Math.sqrt(8*w+1)-1)/2;if(!Number.isInteger(m))throw new TypeError(`This array is not a compact representation of a Symmetric Matrix, ${JSON.stringify(x)}`);const A=new U0(m);for(let Z=0,et=0,nt=0;nt<w;nt++)A.set(Z,et,x[nt]),++Z>=m&&(Z=++et);return A}*upperRightEntries(){for(let x=0,w=0;x<this.diagonalSize;void 0){const m=this.get(x,w);yield[x,w,m],++w>=this.diagonalSize&&(w=++x)}}*upperRightValues(){for(let x=0,w=0;x<this.diagonalSize;void 0)yield this.get(x,w),++w>=this.diagonalSize&&(w=++x)}};K=new WeakMap;let kr=ss;kr.prototype.klassType="SymmetricMatrix";class Yn extends kr{static isDistanceMatrix(x){return kr.isSymmetricMatrix(x)&&x.klassSubType==="DistanceMatrix"}constructor(x){if(super(x),!this.isDistance())throw new TypeError("Provided arguments do no produce a distance matrix")}set(x,w,m){return x===w&&(m=0),super.set(x,w,m)}addCross(x,w){return w===void 0&&(w=x,x=this.diagonalSize),w=w.slice(),w[x]=0,super.addCross(x,w)}toSymmetricMatrix(){return new kr(this)}clone(){const x=new Yn(this.diagonalSize);for(const[w,m,A]of this.upperRightEntries())w!==m&&x.set(w,m,A);return x}toCompact(){const{diagonalSize:x}=this,w=(x-1)*x/2,m=new Array(w);for(let A=1,Z=0,et=0;et<m.length;et++)m[et]=this.get(Z,A),++A>=x&&(A=++Z+1);return m}static fromCompact(x){const w=x.length;if(w===0)return new this(0);const m=(Math.sqrt(8*w+1)+1)/2;if(!Number.isInteger(m))throw new TypeError(`This array is not a compact representation of a DistanceMatrix, ${JSON.stringify(x)}`);const A=new this(m);for(let Z=1,et=0,nt=0;nt<w;nt++)A.set(Z,et,x[nt]),++Z>=m&&(Z=++et+1);return A}}Yn.prototype.klassSubType="DistanceMatrix";class Lr extends re{constructor(x,w,m){super(),this.matrix=x,this.rows=w,this.columns=m}}class os extends Lr{constructor(x,w){xt(x,w),super(x,x.rows,1),this.column=w}set(x,w,m){return this.matrix.set(x,this.column,m),this}get(x){return this.matrix.get(x,this.column)}}class ua extends Lr{constructor(x,w){Kt(x,w),super(x,x.rows,w.length),this.columnIndices=w}set(x,w,m){return this.matrix.set(x,this.columnIndices[w],m),this}get(x,w){return this.matrix.get(x,this.columnIndices[w])}}class Js extends Lr{constructor(x){super(x,x.rows,x.columns)}set(x,w,m){return this.matrix.set(x,this.columns-w-1,m),this}get(x,w){return this.matrix.get(x,this.columns-w-1)}}class ha extends Lr{constructor(x){super(x,x.rows,x.columns)}set(x,w,m){return this.matrix.set(this.rows-x-1,w,m),this}get(x,w){return this.matrix.get(this.rows-x-1,w)}}class Bo extends Lr{constructor(x,w){ft(x,w),super(x,1,x.columns),this.row=w}set(x,w,m){return this.matrix.set(this.row,w,m),this}get(x,w){return this.matrix.get(this.row,w)}}class ls extends Lr{constructor(x,w){_t(x,w),super(x,w.length,x.columns),this.rowIndices=w}set(x,w,m){return this.matrix.set(this.rowIndices[x],w,m),this}get(x,w){return this.matrix.get(this.rowIndices[x],w)}}class cs extends Lr{constructor(x,w,m){_t(x,w),Kt(x,m),super(x,w.length,m.length),this.rowIndices=w,this.columnIndices=m}set(x,w,m){return this.matrix.set(this.rowIndices[x],this.columnIndices[w],m),this}get(x,w){return this.matrix.get(this.rowIndices[x],this.columnIndices[w])}}class us extends Lr{constructor(x,w,m,A,Z){me(x,w,m,A,Z),super(x,m-w+1,Z-A+1),this.startRow=w,this.startColumn=A}set(x,w,m){return this.matrix.set(this.startRow+x,this.startColumn+w,m),this}get(x,w){return this.matrix.get(this.startRow+x,this.startColumn+w)}}class Si extends Lr{constructor(x){super(x,x.columns,x.rows)}set(x,w,m){return this.matrix.set(w,x,m),this}get(x,w){return this.matrix.get(w,x)}}class Oi extends re{constructor(x,w={}){const{rows:m=1}=w;if(x.length%m!==0)throw new Error("the data length is not divisible by the number of rows");super(),this.rows=m,this.columns=x.length/m,this.data=x}set(x,w,m){let A=this._calculateIndex(x,w);return this.data[A]=m,this}get(x,w){let m=this._calculateIndex(x,w);return this.data[m]}_calculateIndex(x,w){return x*this.columns+w}}class Pn extends re{constructor(x){super(),this.data=x,this.rows=x.length,this.columns=x[0].length}set(x,w,m){return this.data[x][w]=m,this}get(x,w){return this.data[x][w]}}function ff(Y,x){if(rt.isAnyArray(Y))return Y[0]&&rt.isAnyArray(Y[0])?new Pn(Y):new Oi(Y,x);throw new Error("the argument is not an array")}class Vi{constructor(x){x=Pn.checkMatrix(x);let w=x.clone(),m=w.rows,A=w.columns,Z=new Float64Array(m),et=1,nt,st,lt,St,gt,Ft,Jt,Dt,Ht;for(nt=0;nt<m;nt++)Z[nt]=nt;for(Dt=new Float64Array(m),st=0;st<A;st++){for(nt=0;nt<m;nt++)Dt[nt]=w.get(nt,st);for(nt=0;nt<m;nt++){for(Ht=Math.min(nt,st),gt=0,lt=0;lt<Ht;lt++)gt+=w.get(nt,lt)*Dt[lt];Dt[nt]-=gt,w.set(nt,st,Dt[nt])}for(St=st,nt=st+1;nt<m;nt++)Math.abs(Dt[nt])>Math.abs(Dt[St])&&(St=nt);if(St!==st){for(lt=0;lt<A;lt++)Ft=w.get(St,lt),w.set(St,lt,w.get(st,lt)),w.set(st,lt,Ft);Jt=Z[St],Z[St]=Z[st],Z[st]=Jt,et=-et}if(st<m&&w.get(st,st)!==0)for(nt=st+1;nt<m;nt++)w.set(nt,st,w.get(nt,st)/w.get(st,st))}this.LU=w,this.pivotVector=Z,this.pivotSign=et}isSingular(){let x=this.LU,w=x.columns;for(let m=0;m<w;m++)if(x.get(m,m)===0)return!0;return!1}solve(x){x=ne.checkMatrix(x);let w=this.LU;if(w.rows!==x.rows)throw new Error("Invalid matrix dimensions");if(this.isSingular())throw new Error("LU matrix is singular");let A=x.columns,Z=x.subMatrixRow(this.pivotVector,0,A-1),et=w.columns,nt,st,lt;for(lt=0;lt<et;lt++)for(nt=lt+1;nt<et;nt++)for(st=0;st<A;st++)Z.set(nt,st,Z.get(nt,st)-Z.get(lt,st)*w.get(nt,lt));for(lt=et-1;lt>=0;lt--){for(st=0;st<A;st++)Z.set(lt,st,Z.get(lt,st)/w.get(lt,lt));for(nt=0;nt<lt;nt++)for(st=0;st<A;st++)Z.set(nt,st,Z.get(nt,st)-Z.get(lt,st)*w.get(nt,lt))}return Z}get determinant(){let x=this.LU;if(!x.isSquare())throw new Error("Matrix must be square");let w=this.pivotSign,m=x.columns;for(let A=0;A<m;A++)w*=x.get(A,A);return w}get lowerTriangularMatrix(){let x=this.LU,w=x.rows,m=x.columns,A=new ne(w,m);for(let Z=0;Z<w;Z++)for(let et=0;et<m;et++)Z>et?A.set(Z,et,x.get(Z,et)):Z===et?A.set(Z,et,1):A.set(Z,et,0);return A}get upperTriangularMatrix(){let x=this.LU,w=x.rows,m=x.columns,A=new ne(w,m);for(let Z=0;Z<w;Z++)for(let et=0;et<m;et++)Z<=et?A.set(Z,et,x.get(Z,et)):A.set(Z,et,0);return A}get pivotPermutationVector(){return Array.from(this.pivotVector)}}function Ti(Y,x){let w=0;return Math.abs(Y)>Math.abs(x)?(w=x/Y,Math.abs(Y)*Math.sqrt(1+w*w)):x!==0?(w=Y/x,Math.abs(x)*Math.sqrt(1+w*w)):0}class zo{constructor(x){x=Pn.checkMatrix(x);let w=x.clone(),m=x.rows,A=x.columns,Z=new Float64Array(A),et,nt,st,lt;for(st=0;st<A;st++){let St=0;for(et=st;et<m;et++)St=Ti(St,w.get(et,st));if(St!==0){for(w.get(st,st)<0&&(St=-St),et=st;et<m;et++)w.set(et,st,w.get(et,st)/St);for(w.set(st,st,w.get(st,st)+1),nt=st+1;nt<A;nt++){for(lt=0,et=st;et<m;et++)lt+=w.get(et,st)*w.get(et,nt);for(lt=-lt/w.get(st,st),et=st;et<m;et++)w.set(et,nt,w.get(et,nt)+lt*w.get(et,st))}}Z[st]=-St}this.QR=w,this.Rdiag=Z}solve(x){x=ne.checkMatrix(x);let w=this.QR,m=w.rows;if(x.rows!==m)throw new Error("Matrix row dimensions must agree");if(!this.isFullRank())throw new Error("Matrix is rank deficient");let A=x.columns,Z=x.clone(),et=w.columns,nt,st,lt,St;for(lt=0;lt<et;lt++)for(st=0;st<A;st++){for(St=0,nt=lt;nt<m;nt++)St+=w.get(nt,lt)*Z.get(nt,st);for(St=-St/w.get(lt,lt),nt=lt;nt<m;nt++)Z.set(nt,st,Z.get(nt,st)+St*w.get(nt,lt))}for(lt=et-1;lt>=0;lt--){for(st=0;st<A;st++)Z.set(lt,st,Z.get(lt,st)/this.Rdiag[lt]);for(nt=0;nt<lt;nt++)for(st=0;st<A;st++)Z.set(nt,st,Z.get(nt,st)-Z.get(lt,st)*w.get(nt,lt))}return Z.subMatrix(0,et-1,0,A-1)}isFullRank(){let x=this.QR.columns;for(let w=0;w<x;w++)if(this.Rdiag[w]===0)return!1;return!0}get upperTriangularMatrix(){let x=this.QR,w=x.columns,m=new ne(w,w),A,Z;for(A=0;A<w;A++)for(Z=0;Z<w;Z++)A<Z?m.set(A,Z,x.get(A,Z)):A===Z?m.set(A,Z,this.Rdiag[A]):m.set(A,Z,0);return m}get orthogonalMatrix(){let x=this.QR,w=x.rows,m=x.columns,A=new ne(w,m),Z,et,nt,st;for(nt=m-1;nt>=0;nt--){for(Z=0;Z<w;Z++)A.set(Z,nt,0);for(A.set(nt,nt,1),et=nt;et<m;et++)if(x.get(nt,nt)!==0){for(st=0,Z=nt;Z<w;Z++)st+=x.get(Z,nt)*A.get(Z,et);for(st=-st/x.get(nt,nt),Z=nt;Z<w;Z++)A.set(Z,et,A.get(Z,et)+st*x.get(Z,nt))}}return A}}class Ta{constructor(x,w={}){if(x=Pn.checkMatrix(x),x.isEmpty())throw new Error("Matrix must be non-empty");let m=x.rows,A=x.columns;const{computeLeftSingularVectors:Z=!0,computeRightSingularVectors:et=!0,autoTranspose:nt=!1}=w;let st=!!Z,lt=!!et,St=!1,gt;if(m<A)if(!nt)gt=x.clone(),console.warn("Computing SVD on a matrix with more columns than rows. Consider enabling autoTranspose");else{gt=x.transpose(),m=gt.rows,A=gt.columns,St=!0;let At=st;st=lt,lt=At}else gt=x.clone();let Ft=Math.min(m,A),Jt=Math.min(m+1,A),Dt=new Float64Array(Jt),Ht=new ne(m,Ft),le=new ne(A,A),Et=new Float64Array(A),Gt=new Float64Array(m),ue=new Float64Array(Jt);for(let At=0;At<Jt;At++)ue[At]=At;let we=Math.min(m-1,A),Se=Math.max(0,Math.min(A-2,m)),cn=Math.max(we,Se);for(let At=0;At<cn;At++){if(At<we){Dt[At]=0;for(let Vt=At;Vt<m;Vt++)Dt[At]=Ti(Dt[At],gt.get(Vt,At));if(Dt[At]!==0){gt.get(At,At)<0&&(Dt[At]=-Dt[At]);for(let Vt=At;Vt<m;Vt++)gt.set(Vt,At,gt.get(Vt,At)/Dt[At]);gt.set(At,At,gt.get(At,At)+1)}Dt[At]=-Dt[At]}for(let Vt=At+1;Vt<A;Vt++){if(At<we&&Dt[At]!==0){let qt=0;for(let Yt=At;Yt<m;Yt++)qt+=gt.get(Yt,At)*gt.get(Yt,Vt);qt=-qt/gt.get(At,At);for(let Yt=At;Yt<m;Yt++)gt.set(Yt,Vt,gt.get(Yt,Vt)+qt*gt.get(Yt,At))}Et[Vt]=gt.get(At,Vt)}if(st&&At<we)for(let Vt=At;Vt<m;Vt++)Ht.set(Vt,At,gt.get(Vt,At));if(At<Se){Et[At]=0;for(let Vt=At+1;Vt<A;Vt++)Et[At]=Ti(Et[At],Et[Vt]);if(Et[At]!==0){Et[At+1]<0&&(Et[At]=0-Et[At]);for(let Vt=At+1;Vt<A;Vt++)Et[Vt]/=Et[At];Et[At+1]+=1}if(Et[At]=-Et[At],At+1<m&&Et[At]!==0){for(let Vt=At+1;Vt<m;Vt++)Gt[Vt]=0;for(let Vt=At+1;Vt<m;Vt++)for(let qt=At+1;qt<A;qt++)Gt[Vt]+=Et[qt]*gt.get(Vt,qt);for(let Vt=At+1;Vt<A;Vt++){let qt=-Et[Vt]/Et[At+1];for(let Yt=At+1;Yt<m;Yt++)gt.set(Yt,Vt,gt.get(Yt,Vt)+qt*Gt[Yt])}}if(lt)for(let Vt=At+1;Vt<A;Vt++)le.set(Vt,At,Et[Vt])}}let ge=Math.min(A,m+1);if(we<A&&(Dt[we]=gt.get(we,we)),m<ge&&(Dt[ge-1]=0),Se+1<ge&&(Et[Se]=gt.get(Se,ge-1)),Et[ge-1]=0,st){for(let At=we;At<Ft;At++){for(let Vt=0;Vt<m;Vt++)Ht.set(Vt,At,0);Ht.set(At,At,1)}for(let At=we-1;At>=0;At--)if(Dt[At]!==0){for(let Vt=At+1;Vt<Ft;Vt++){let qt=0;for(let Yt=At;Yt<m;Yt++)qt+=Ht.get(Yt,At)*Ht.get(Yt,Vt);qt=-qt/Ht.get(At,At);for(let Yt=At;Yt<m;Yt++)Ht.set(Yt,Vt,Ht.get(Yt,Vt)+qt*Ht.get(Yt,At))}for(let Vt=At;Vt<m;Vt++)Ht.set(Vt,At,-Ht.get(Vt,At));Ht.set(At,At,1+Ht.get(At,At));for(let Vt=0;Vt<At-1;Vt++)Ht.set(Vt,At,0)}else{for(let Vt=0;Vt<m;Vt++)Ht.set(Vt,At,0);Ht.set(At,At,1)}}if(lt)for(let At=A-1;At>=0;At--){if(At<Se&&Et[At]!==0)for(let Vt=At+1;Vt<A;Vt++){let qt=0;for(let Yt=At+1;Yt<A;Yt++)qt+=le.get(Yt,At)*le.get(Yt,Vt);qt=-qt/le.get(At+1,At);for(let Yt=At+1;Yt<A;Yt++)le.set(Yt,Vt,le.get(Yt,Vt)+qt*le.get(Yt,At))}for(let Vt=0;Vt<A;Vt++)le.set(Vt,At,0);le.set(At,At,1)}let xe=ge-1,_e=Number.EPSILON;for(;ge>0;){let At,Vt;for(At=ge-2;At>=-1&&At!==-1;At--){const qt=Number.MIN_VALUE+_e*Math.abs(Dt[At]+Math.abs(Dt[At+1]));if(Math.abs(Et[At])<=qt||Number.isNaN(Et[At])){Et[At]=0;break}}if(At===ge-2)Vt=4;else{let qt;for(qt=ge-1;qt>=At&&qt!==At;qt--){let Yt=(qt!==ge?Math.abs(Et[qt]):0)+(qt!==At+1?Math.abs(Et[qt-1]):0);if(Math.abs(Dt[qt])<=_e*Yt){Dt[qt]=0;break}}qt===At?Vt=3:qt===ge-1?Vt=1:(Vt=2,At=qt)}switch(At++,Vt){case 1:{let qt=Et[ge-2];Et[ge-2]=0;for(let Yt=ge-2;Yt>=At;Yt--){let dn=Ti(Dt[Yt],qt),tn=Dt[Yt]/dn,un=qt/dn;if(Dt[Yt]=dn,Yt!==At&&(qt=-un*Et[Yt-1],Et[Yt-1]=tn*Et[Yt-1]),lt)for(let vn=0;vn<A;vn++)dn=tn*le.get(vn,Yt)+un*le.get(vn,ge-1),le.set(vn,ge-1,-un*le.get(vn,Yt)+tn*le.get(vn,ge-1)),le.set(vn,Yt,dn)}break}case 2:{let qt=Et[At-1];Et[At-1]=0;for(let Yt=At;Yt<ge;Yt++){let dn=Ti(Dt[Yt],qt),tn=Dt[Yt]/dn,un=qt/dn;if(Dt[Yt]=dn,qt=-un*Et[Yt],Et[Yt]=tn*Et[Yt],st)for(let vn=0;vn<m;vn++)dn=tn*Ht.get(vn,Yt)+un*Ht.get(vn,At-1),Ht.set(vn,At-1,-un*Ht.get(vn,Yt)+tn*Ht.get(vn,At-1)),Ht.set(vn,Yt,dn)}break}case 3:{const qt=Math.max(Math.abs(Dt[ge-1]),Math.abs(Dt[ge-2]),Math.abs(Et[ge-2]),Math.abs(Dt[At]),Math.abs(Et[At])),Yt=Dt[ge-1]/qt,dn=Dt[ge-2]/qt,tn=Et[ge-2]/qt,un=Dt[At]/qt,vn=Et[At]/qt,nr=((dn+Yt)*(dn-Yt)+tn*tn)/2,Un=Yt*tn*(Yt*tn);let gn=0;(nr!==0||Un!==0)&&(nr<0?gn=0-Math.sqrt(nr*nr+Un):gn=Math.sqrt(nr*nr+Un),gn=Un/(nr+gn));let qr=(un+Yt)*(un-Yt)+gn,di=un*vn;for(let Fe=At;Fe<ge-1;Fe++){let jn=Ti(qr,di);jn===0&&(jn=Number.MIN_VALUE);let Ar=qr/jn,Dr=di/jn;if(Fe!==At&&(Et[Fe-1]=jn),qr=Ar*Dt[Fe]+Dr*Et[Fe],Et[Fe]=Ar*Et[Fe]-Dr*Dt[Fe],di=Dr*Dt[Fe+1],Dt[Fe+1]=Ar*Dt[Fe+1],lt)for(let Sn=0;Sn<A;Sn++)jn=Ar*le.get(Sn,Fe)+Dr*le.get(Sn,Fe+1),le.set(Sn,Fe+1,-Dr*le.get(Sn,Fe)+Ar*le.get(Sn,Fe+1)),le.set(Sn,Fe,jn);if(jn=Ti(qr,di),jn===0&&(jn=Number.MIN_VALUE),Ar=qr/jn,Dr=di/jn,Dt[Fe]=jn,qr=Ar*Et[Fe]+Dr*Dt[Fe+1],Dt[Fe+1]=-Dr*Et[Fe]+Ar*Dt[Fe+1],di=Dr*Et[Fe+1],Et[Fe+1]=Ar*Et[Fe+1],st&&Fe<m-1)for(let Sn=0;Sn<m;Sn++)jn=Ar*Ht.get(Sn,Fe)+Dr*Ht.get(Sn,Fe+1),Ht.set(Sn,Fe+1,-Dr*Ht.get(Sn,Fe)+Ar*Ht.get(Sn,Fe+1)),Ht.set(Sn,Fe,jn)}Et[ge-2]=qr;break}case 4:{if(Dt[At]<=0&&(Dt[At]=Dt[At]<0?-Dt[At]:0,lt))for(let qt=0;qt<=xe;qt++)le.set(qt,At,-le.get(qt,At));for(;At<xe&&!(Dt[At]>=Dt[At+1]);){let qt=Dt[At];if(Dt[At]=Dt[At+1],Dt[At+1]=qt,lt&&At<A-1)for(let Yt=0;Yt<A;Yt++)qt=le.get(Yt,At+1),le.set(Yt,At+1,le.get(Yt,At)),le.set(Yt,At,qt);if(st&&At<m-1)for(let Yt=0;Yt<m;Yt++)qt=Ht.get(Yt,At+1),Ht.set(Yt,At+1,Ht.get(Yt,At)),Ht.set(Yt,At,qt);At++}ge--;break}}}if(St){let At=le;le=Ht,Ht=At}this.m=m,this.n=A,this.s=Dt,this.U=Ht,this.V=le}solve(x){let w=x,m=this.threshold,A=this.s.length,Z=ne.zeros(A,A);for(let Ft=0;Ft<A;Ft++)Math.abs(this.s[Ft])<=m?Z.set(Ft,Ft,0):Z.set(Ft,Ft,1/this.s[Ft]);let et=this.U,nt=this.rightSingularVectors,st=nt.mmul(Z),lt=nt.rows,St=et.rows,gt=ne.zeros(lt,St);for(let Ft=0;Ft<lt;Ft++)for(let Jt=0;Jt<St;Jt++){let Dt=0;for(let Ht=0;Ht<A;Ht++)Dt+=st.get(Ft,Ht)*et.get(Jt,Ht);gt.set(Ft,Jt,Dt)}return gt.mmul(w)}solveForDiagonal(x){return this.solve(ne.diag(x))}inverse(){let x=this.V,w=this.threshold,m=x.rows,A=x.columns,Z=new ne(m,this.s.length);for(let St=0;St<m;St++)for(let gt=0;gt<A;gt++)Math.abs(this.s[gt])>w&&Z.set(St,gt,x.get(St,gt)/this.s[gt]);let et=this.U,nt=et.rows,st=et.columns,lt=new ne(m,nt);for(let St=0;St<m;St++)for(let gt=0;gt<nt;gt++){let Ft=0;for(let Jt=0;Jt<st;Jt++)Ft+=Z.get(St,Jt)*et.get(gt,Jt);lt.set(St,gt,Ft)}return lt}get condition(){return this.s[0]/this.s[Math.min(this.m,this.n)-1]}get norm2(){return this.s[0]}get rank(){let x=Math.max(this.m,this.n)*this.s[0]*Number.EPSILON,w=0,m=this.s;for(let A=0,Z=m.length;A<Z;A++)m[A]>x&&w++;return w}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 ne.diag(this.s)}}function K0(Y,x=!1){return Y=Pn.checkMatrix(Y),x?new Ta(Y).inverse():df(Y,ne.eye(Y.rows))}function df(Y,x,w=!1){return Y=Pn.checkMatrix(Y),x=Pn.checkMatrix(x),w?new Ta(Y).solve(x):Y.isSquare()?new Vi(Y).solve(x):new zo(Y).solve(x)}function jo(Y){if(Y=ne.checkMatrix(Y),Y.isSquare()){if(Y.columns===0)return 1;let x,w,m,A;if(Y.columns===2)return x=Y.get(0,0),w=Y.get(0,1),m=Y.get(1,0),A=Y.get(1,1),x*A-w*m;if(Y.columns===3){let Z,et,nt;return Z=new cs(Y,[1,2],[1,2]),et=new cs(Y,[1,2],[0,2]),nt=new cs(Y,[1,2],[0,1]),x=Y.get(0,0),w=Y.get(0,1),m=Y.get(0,2),x*jo(Z)-w*jo(et)+m*jo(nt)}else return new Vi(Y).determinant}else throw Error("determinant can only be calculated for a square matrix")}function Q0(Y,x){let w=[];for(let m=0;m<Y;m++)m!==x&&w.push(m);return w}function J0(Y,x,w,m=1e-9,A=1e-9){if(Y>A)return new Array(x.rows+1).fill(0);{let Z=x.addRow(w,[0]);for(let et=0;et<Z.rows;et++)Math.abs(Z.get(et,0))<m&&Z.set(et,0,0);return Z.to1DArray()}}function q0(Y,x={}){const{thresholdValue:w=1e-9,thresholdError:m=1e-9}=x;Y=ne.checkMatrix(Y);let A=Y.rows,Z=new ne(A,A);for(let et=0;et<A;et++){let nt=ne.columnVector(Y.getRow(et)),st=Y.subMatrixRow(Q0(A,et)).transpose(),St=new Ta(st).solve(nt),gt=ne.sub(nt,st.mmul(St)).abs().max();Z.setRow(et,J0(gt,St,et,w,m))}return Z}function $0(Y,x=Number.EPSILON){if(Y=ne.checkMatrix(Y),Y.isEmpty())return Y.transpose();let w=new Ta(Y,{autoTranspose:!0}),m=w.leftSingularVectors,A=w.rightSingularVectors,Z=w.diagonal;for(let et=0;et<Z.length;et++)Math.abs(Z[et])>x?Z[et]=1/Z[et]:Z[et]=0;return A.mmul(ne.diag(Z).mmul(m.transpose()))}function tg(Y,x=Y,w={}){Y=new ne(Y);let m=!1;if(typeof x=="object"&&!ne.isMatrix(x)&&!rt.isAnyArray(x)?(w=x,x=Y,m=!0):x=new ne(x),Y.rows!==x.rows)throw new TypeError("Both matrices must have the same number of rows");const{center:A=!0}=w;A&&(Y=Y.center("column"),m||(x=x.center("column")));const Z=Y.transpose().mmul(x);for(let et=0;et<Z.rows;et++)for(let nt=0;nt<Z.columns;nt++)Z.set(et,nt,Z.get(et,nt)*(1/(Y.rows-1)));return Z}function vf(Y,x=Y,w={}){Y=new ne(Y);let m=!1;if(typeof x=="object"&&!ne.isMatrix(x)&&!rt.isAnyArray(x)?(w=x,x=Y,m=!0):x=new ne(x),Y.rows!==x.rows)throw new TypeError("Both matrices must have the same number of rows");const{center:A=!0,scale:Z=!0}=w;A&&(Y.center("column"),m||x.center("column")),Z&&(Y.scale("column"),m||x.scale("column"));const et=Y.standardDeviation("column",{unbiased:!0}),nt=m?et:x.standardDeviation("column",{unbiased:!0}),st=Y.transpose().mmul(x);for(let lt=0;lt<st.rows;lt++)for(let St=0;St<st.columns;St++)st.set(lt,St,st.get(lt,St)*(1/(et[lt]*nt[St]))*(1/(Y.rows-1)));return st}class gf{constructor(x,w={}){const{assumeSymmetric:m=!1}=w;if(x=Pn.checkMatrix(x),!x.isSquare())throw new Error("Matrix is not a square matrix");if(x.isEmpty())throw new Error("Matrix must be non-empty");let A=x.columns,Z=new ne(A,A),et=new Float64Array(A),nt=new Float64Array(A),st=x,lt,St,gt=!1;if(m?gt=!0:gt=x.isSymmetric(),gt){for(lt=0;lt<A;lt++)for(St=0;St<A;St++)Z.set(lt,St,st.get(lt,St));eg(A,nt,et,Z),ng(A,nt,et,Z)}else{let Ft=new ne(A,A),Jt=new Float64Array(A);for(St=0;St<A;St++)for(lt=0;lt<A;lt++)Ft.set(lt,St,st.get(lt,St));pf(A,Ft,Jt,Z),mf(A,nt,et,Z,Ft)}this.n=A,this.e=nt,this.d=et,this.V=Z}get realEigenvalues(){return Array.from(this.d)}get imaginaryEigenvalues(){return Array.from(this.e)}get eigenvectorMatrix(){return this.V}get diagonalMatrix(){let x=this.n,w=this.e,m=this.d,A=new ne(x,x),Z,et;for(Z=0;Z<x;Z++){for(et=0;et<x;et++)A.set(Z,et,0);A.set(Z,Z,m[Z]),w[Z]>0?A.set(Z,Z+1,w[Z]):w[Z]<0&&A.set(Z,Z-1,w[Z])}return A}}function eg(Y,x,w,m){let A,Z,et,nt,st,lt,St,gt;for(st=0;st<Y;st++)w[st]=m.get(Y-1,st);for(nt=Y-1;nt>0;nt--){for(gt=0,et=0,lt=0;lt<nt;lt++)gt=gt+Math.abs(w[lt]);if(gt===0)for(x[nt]=w[nt-1],st=0;st<nt;st++)w[st]=m.get(nt-1,st),m.set(nt,st,0),m.set(st,nt,0);else{for(lt=0;lt<nt;lt++)w[lt]/=gt,et+=w[lt]*w[lt];for(A=w[nt-1],Z=Math.sqrt(et),A>0&&(Z=-Z),x[nt]=gt*Z,et=et-A*Z,w[nt-1]=A-Z,st=0;st<nt;st++)x[st]=0;for(st=0;st<nt;st++){for(A=w[st],m.set(st,nt,A),Z=x[st]+m.get(st,st)*A,lt=st+1;lt<=nt-1;lt++)Z+=m.get(lt,st)*w[lt],x[lt]+=m.get(lt,st)*A;x[st]=Z}for(A=0,st=0;st<nt;st++)x[st]/=et,A+=x[st]*w[st];for(St=A/(et+et),st=0;st<nt;st++)x[st]-=St*w[st];for(st=0;st<nt;st++){for(A=w[st],Z=x[st],lt=st;lt<=nt-1;lt++)m.set(lt,st,m.get(lt,st)-(A*x[lt]+Z*w[lt]));w[st]=m.get(nt-1,st),m.set(nt,st,0)}}w[nt]=et}for(nt=0;nt<Y-1;nt++){if(m.set(Y-1,nt,m.get(nt,nt)),m.set(nt,nt,1),et=w[nt+1],et!==0){for(lt=0;lt<=nt;lt++)w[lt]=m.get(lt,nt+1)/et;for(st=0;st<=nt;st++){for(Z=0,lt=0;lt<=nt;lt++)Z+=m.get(lt,nt+1)*m.get(lt,st);for(lt=0;lt<=nt;lt++)m.set(lt,st,m.get(lt,st)-Z*w[lt])}}for(lt=0;lt<=nt;lt++)m.set(lt,nt+1,0)}for(st=0;st<Y;st++)w[st]=m.get(Y-1,st),m.set(Y-1,st,0);m.set(Y-1,Y-1,1),x[0]=0}function ng(Y,x,w,m){let A,Z,et,nt,st,lt,St,gt,Ft,Jt,Dt,Ht,le,Et,Gt,ue;for(et=1;et<Y;et++)x[et-1]=x[et];x[Y-1]=0;let we=0,Se=0,cn=Number.EPSILON;for(lt=0;lt<Y;lt++){for(Se=Math.max(Se,Math.abs(w[lt])+Math.abs(x[lt])),St=lt;St<Y&&!(Math.abs(x[St])<=cn*Se);)St++;if(St>lt)do{for(A=w[lt],gt=(w[lt+1]-A)/(2*x[lt]),Ft=Ti(gt,1),gt<0&&(Ft=-Ft),w[lt]=x[lt]/(gt+Ft),w[lt+1]=x[lt]*(gt+Ft),Jt=w[lt+1],Z=A-w[lt],et=lt+2;et<Y;et++)w[et]-=Z;for(we=we+Z,gt=w[St],Dt=1,Ht=Dt,le=Dt,Et=x[lt+1],Gt=0,ue=0,et=St-1;et>=lt;et--)for(le=Ht,Ht=Dt,ue=Gt,A=Dt*x[et],Z=Dt*gt,Ft=Ti(gt,x[et]),x[et+1]=Gt*Ft,Gt=x[et]/Ft,Dt=gt/Ft,gt=Dt*w[et]-Gt*A,w[et+1]=Z+Gt*(Dt*A+Gt*w[et]),st=0;st<Y;st++)Z=m.get(st,et+1),m.set(st,et+1,Gt*m.get(st,et)+Dt*Z),m.set(st,et,Dt*m.get(st,et)-Gt*Z);gt=-Gt*ue*le*Et*x[lt]/Jt,x[lt]=Gt*gt,w[lt]=Dt*gt}while(Math.abs(x[lt])>cn*Se);w[lt]=w[lt]+we,x[lt]=0}for(et=0;et<Y-1;et++){for(st=et,gt=w[et],nt=et+1;nt<Y;nt++)w[nt]<gt&&(st=nt,gt=w[nt]);if(st!==et)for(w[st]=w[et],w[et]=gt,nt=0;nt<Y;nt++)gt=m.get(nt,et),m.set(nt,et,m.get(nt,st)),m.set(nt,st,gt)}}function pf(Y,x,w,m){let A=0,Z=Y-1,et,nt,st,lt,St,gt,Ft;for(gt=A+1;gt<=Z-1;gt++){for(Ft=0,lt=gt;lt<=Z;lt++)Ft=Ft+Math.abs(x.get(lt,gt-1));if(Ft!==0){for(st=0,lt=Z;lt>=gt;lt--)w[lt]=x.get(lt,gt-1)/Ft,st+=w[lt]*w[lt];for(nt=Math.sqrt(st),w[gt]>0&&(nt=-nt),st=st-w[gt]*nt,w[gt]=w[gt]-nt,St=gt;St<Y;St++){for(et=0,lt=Z;lt>=gt;lt--)et+=w[lt]*x.get(lt,St);for(et=et/st,lt=gt;lt<=Z;lt++)x.set(lt,St,x.get(lt,St)-et*w[lt])}for(lt=0;lt<=Z;lt++){for(et=0,St=Z;St>=gt;St--)et+=w[St]*x.get(lt,St);for(et=et/st,St=gt;St<=Z;St++)x.set(lt,St,x.get(lt,St)-et*w[St])}w[gt]=Ft*w[gt],x.set(gt,gt-1,Ft*nt)}}for(lt=0;lt<Y;lt++)for(St=0;St<Y;St++)m.set(lt,St,lt===St?1:0);for(gt=Z-1;gt>=A+1;gt--)if(x.get(gt,gt-1)!==0){for(lt=gt+1;lt<=Z;lt++)w[lt]=x.get(lt,gt-1);for(St=gt;St<=Z;St++){for(nt=0,lt=gt;lt<=Z;lt++)nt+=w[lt]*m.get(lt,St);for(nt=nt/w[gt]/x.get(gt,gt-1),lt=gt;lt<=Z;lt++)m.set(lt,St,m.get(lt,St)+nt*w[lt])}}}function mf(Y,x,w,m,A){let Z=Y-1,et=0,nt=Y-1,st=Number.EPSILON,lt=0,St=0,gt=0,Ft=0,Jt=0,Dt=0,Ht=0,le=0,Et,Gt,ue,we,Se,cn,ge,xe,_e,At,Vt,qt,Yt,dn,tn;for(Et=0;Et<Y;Et++)for((Et<et||Et>nt)&&(w[Et]=A.get(Et,Et),x[Et]=0),Gt=Math.max(Et-1,0);Gt<Y;Gt++)St=St+Math.abs(A.get(Et,Gt));for(;Z>=et;){for(we=Z;we>et&&(Dt=Math.abs(A.get(we-1,we-1))+Math.abs(A.get(we,we)),Dt===0&&(Dt=St),!(Math.abs(A.get(we,we-1))<st*Dt));)we--;if(we===Z)A.set(Z,Z,A.get(Z,Z)+lt),w[Z]=A.get(Z,Z),x[Z]=0,Z--,le=0;else if(we===Z-1){if(ge=A.get(Z,Z-1)*A.get(Z-1,Z),gt=(A.get(Z-1,Z-1)-A.get(Z,Z))/2,Ft=gt*gt+ge,Ht=Math.sqrt(Math.abs(Ft)),A.set(Z,Z,A.get(Z,Z)+lt),A.set(Z-1,Z-1,A.get(Z-1,Z-1)+lt),xe=A.get(Z,Z),Ft>=0){for(Ht=gt>=0?gt+Ht:gt-Ht,w[Z-1]=xe+Ht,w[Z]=w[Z-1],Ht!==0&&(w[Z]=xe-ge/Ht),x[Z-1]=0,x[Z]=0,xe=A.get(Z,Z-1),Dt=Math.abs(xe)+Math.abs(Ht),gt=xe/Dt,Ft=Ht/Dt,Jt=Math.sqrt(gt*gt+Ft*Ft),gt=gt/Jt,Ft=Ft/Jt,Gt=Z-1;Gt<Y;Gt++)Ht=A.get(Z-1,Gt),A.set(Z-1,Gt,Ft*Ht+gt*A.get(Z,Gt)),A.set(Z,Gt,Ft*A.get(Z,Gt)-gt*Ht);for(Et=0;Et<=Z;Et++)Ht=A.get(Et,Z-1),A.set(Et,Z-1,Ft*Ht+gt*A.get(Et,Z)),A.set(Et,Z,Ft*A.get(Et,Z)-gt*Ht);for(Et=et;Et<=nt;Et++)Ht=m.get(Et,Z-1),m.set(Et,Z-1,Ft*Ht+gt*m.get(Et,Z)),m.set(Et,Z,Ft*m.get(Et,Z)-gt*Ht)}else w[Z-1]=xe+gt,w[Z]=xe+gt,x[Z-1]=Ht,x[Z]=-Ht;Z=Z-2,le=0}else{if(xe=A.get(Z,Z),_e=0,ge=0,we<Z&&(_e=A.get(Z-1,Z-1),ge=A.get(Z,Z-1)*A.get(Z-1,Z)),le===10){for(lt+=xe,Et=et;Et<=Z;Et++)A.set(Et,Et,A.get(Et,Et)-xe);Dt=Math.abs(A.get(Z,Z-1))+Math.abs(A.get(Z-1,Z-2)),xe=_e=.75*Dt,ge=-.4375*Dt*Dt}if(le===30&&(Dt=(_e-xe)/2,Dt=Dt*Dt+ge,Dt>0)){for(Dt=Math.sqrt(Dt),_e<xe&&(Dt=-Dt),Dt=xe-ge/((_e-xe)/2+Dt),Et=et;Et<=Z;Et++)A.set(Et,Et,A.get(Et,Et)-Dt);lt+=Dt,xe=_e=ge=.964}for(le=le+1,Se=Z-2;Se>=we&&(Ht=A.get(Se,Se),Jt=xe-Ht,Dt=_e-Ht,gt=(Jt*Dt-ge)/A.get(Se+1,Se)+A.get(Se,Se+1),Ft=A.get(Se+1,Se+1)-Ht-Jt-Dt,Jt=A.get(Se+2,Se+1),Dt=Math.abs(gt)+Math.abs(Ft)+Math.abs(Jt),gt=gt/Dt,Ft=Ft/Dt,Jt=Jt/Dt,!(Se===we||Math.abs(A.get(Se,Se-1))*(Math.abs(Ft)+Math.abs(Jt))<st*(Math.abs(gt)*(Math.abs(A.get(Se-1,Se-1))+Math.abs(Ht)+Math.abs(A.get(Se+1,Se+1))))));)Se--;for(Et=Se+2;Et<=Z;Et++)A.set(Et,Et-2,0),Et>Se+2&&A.set(Et,Et-3,0);for(ue=Se;ue<=Z-1&&(dn=ue!==Z-1,ue!==Se&&(gt=A.get(ue,ue-1),Ft=A.get(ue+1,ue-1),Jt=dn?A.get(ue+2,ue-1):0,xe=Math.abs(gt)+Math.abs(Ft)+Math.abs(Jt),xe!==0&&(gt=gt/xe,Ft=Ft/xe,Jt=Jt/xe)),xe!==0);ue++)if(Dt=Math.sqrt(gt*gt+Ft*Ft+Jt*Jt),gt<0&&(Dt=-Dt),Dt!==0){for(ue!==Se?A.set(ue,ue-1,-Dt*xe):we!==Se&&A.set(ue,ue-1,-A.get(ue,ue-1)),gt=gt+Dt,xe=gt/Dt,_e=Ft/Dt,Ht=Jt/Dt,Ft=Ft/gt,Jt=Jt/gt,Gt=ue;Gt<Y;Gt++)gt=A.get(ue,Gt)+Ft*A.get(ue+1,Gt),dn&&(gt=gt+Jt*A.get(ue+2,Gt),A.set(ue+2,Gt,A.get(ue+2,Gt)-gt*Ht)),A.set(ue,Gt,A.get(ue,Gt)-gt*xe),A.set(ue+1,Gt,A.get(ue+1,Gt)-gt*_e);for(Et=0;Et<=Math.min(Z,ue+3);Et++)gt=xe*A.get(Et,ue)+_e*A.get(Et,ue+1),dn&&(gt=gt+Ht*A.get(Et,ue+2),A.set(Et,ue+2,A.get(Et,ue+2)-gt*Jt)),A.set(Et,ue,A.get(Et,ue)-gt),A.set(Et,ue+1,A.get(Et,ue+1)-gt*Ft);for(Et=et;Et<=nt;Et++)gt=xe*m.get(Et,ue)+_e*m.get(Et,ue+1),dn&&(gt=gt+Ht*m.get(Et,ue+2),m.set(Et,ue+2,m.get(Et,ue+2)-gt*Jt)),m.set(Et,ue,m.get(Et,ue)-gt),m.set(Et,ue+1,m.get(Et,ue+1)-gt*Ft)}}}if(St!==0){for(Z=Y-1;Z>=0;Z--)if(gt=w[Z],Ft=x[Z],Ft===0)for(we=Z,A.set(Z,Z,1),Et=Z-1;Et>=0;Et--){for(ge=A.get(Et,Et)-gt,Jt=0,Gt=we;Gt<=Z;Gt++)Jt=Jt+A.get(Et,Gt)*A.get(Gt,Z);if(x[Et]<0)Ht=ge,Dt=Jt;else if(we=Et,x[Et]===0?A.set(Et,Z,ge!==0?-Jt/ge:-Jt/(st*St)):(xe=A.get(Et,Et+1),_e=A.get(Et+1,Et),Ft=(w[Et]-gt)*(w[Et]-gt)+x[Et]*x[Et],cn=(xe*Dt-Ht*Jt)/Ft,A.set(Et,Z,cn),A.set(Et+1,Z,Math.abs(xe)>Math.abs(Ht)?(-Jt-ge*cn)/xe:(-Dt-_e*cn)/Ht)),cn=Math.abs(A.get(Et,Z)),st*cn*cn>1)for(Gt=Et;Gt<=Z;Gt++)A.set(Gt,Z,A.get(Gt,Z)/cn)}else if(Ft<0)for(we=Z-1,Math.abs(A.get(Z,Z-1))>Math.abs(A.get(Z-1,Z))?(A.set(Z-1,Z-1,Ft/A.get(Z,Z-1)),A.set(Z-1,Z,-(A.get(Z,Z)-gt)/A.get(Z,Z-1))):(tn=Fo(0,-A.get(Z-1,Z),A.get(Z-1,Z-1)-gt,Ft),A.set(Z-1,Z-1,tn[0]),A.set(Z-1,Z,tn[1])),A.set(Z,Z-1,0),A.set(Z,Z,1),Et=Z-2;Et>=0;Et--){for(At=0,Vt=0,Gt=we;Gt<=Z;Gt++)At=At+A.get(Et,Gt)*A.get(Gt,Z-1),Vt=Vt+A.get(Et,Gt)*A.get(Gt,Z);if(ge=A.get(Et,Et)-gt,x[Et]<0)Ht=ge,Jt=At,Dt=Vt;else if(we=Et,x[Et]===0?(tn=Fo(-At,-Vt,ge,Ft),A.set(Et,Z-1,tn[0]),A.set(Et,Z,tn[1])):(xe=A.get(Et,Et+1),_e=A.get(Et+1,Et),qt=(w[Et]-gt)*(w[Et]-gt)+x[Et]*x[Et]-Ft*Ft,Yt=(w[Et]-gt)*2*Ft,qt===0&&Yt===0&&(qt=st*St*(Math.abs(ge)+Math.abs(Ft)+Math.abs(xe)+Math.abs(_e)+Math.abs(Ht))),tn=Fo(xe*Jt-Ht*At+Ft*Vt,xe*Dt-Ht*Vt-Ft*At,qt,Yt),A.set(Et,Z-1,tn[0]),A.set(Et,Z,tn[1]),Math.abs(xe)>Math.abs(Ht)+Math.abs(Ft)?(A.set(Et+1,Z-1,(-At-ge*A.get(Et,Z-1)+Ft*A.get(Et,Z))/xe),A.set(Et+1,Z,(-Vt-ge*A.get(Et,Z)-Ft*A.get(Et,Z-1))/xe)):(tn=Fo(-Jt-_e*A.get(Et,Z-1),-Dt-_e*A.get(Et,Z),Ht,Ft),A.set(Et+1,Z-1,tn[0]),A.set(Et+1,Z,tn[1]))),cn=Math.max(Math.abs(A.get(Et,Z-1)),Math.abs(A.get(Et,Z))),st*cn*cn>1)for(Gt=Et;Gt<=Z;Gt++)A.set(Gt,Z-1,A.get(Gt,Z-1)/cn),A.set(Gt,Z,A.get(Gt,Z)/cn)}for(Et=0;Et<Y;Et++)if(Et<et||Et>nt)for(Gt=Et;Gt<Y;Gt++)m.set(Et,Gt,A.get(Et,Gt));for(Gt=Y-1;Gt>=et;Gt--)for(Et=et;Et<=nt;Et++){for(Ht=0,ue=et;ue<=Math.min(Gt,nt);ue++)Ht=Ht+m.get(Et,ue)*A.get(ue,Gt);m.set(Et,Gt,Ht)}}}function Fo(Y,x,w,m){let A,Z;return Math.abs(w)>Math.abs(m)?(A=m/w,Z=w+A*m,[(Y+A*x)/Z,(x-A*Y)/Z]):(A=w/m,Z=m+A*w,[(A*Y+x)/Z,(A*x-Y)/Z])}class yf{constructor(x){if(x=Pn.checkMatrix(x),!x.isSymmetric())throw new Error("Matrix is not symmetric");let w=x,m=w.rows,A=new ne(m,m),Z=!0,et,nt,st;for(nt=0;nt<m;nt++){let lt=0;for(st=0;st<nt;st++){let St=0;for(et=0;et<st;et++)St+=A.get(st,et)*A.get(nt,et);St=(w.get(nt,st)-St)/A.get(st,st),A.set(nt,st,St),lt=lt+St*St}for(lt=w.get(nt,nt)-lt,Z&&(Z=lt>0),A.set(nt,nt,Math.sqrt(Math.max(lt,0))),st=nt+1;st<m;st++)A.set(nt,st,0)}this.L=A,this.positiveDefinite=Z}isPositiveDefinite(){return this.positiveDefinite}solve(x){x=Pn.checkMatrix(x);let w=this.L,m=w.rows;if(x.rows!==m)throw new Error("Matrix dimensions do not match");if(this.isPositiveDefinite()===!1)throw new Error("Matrix is not positive definite");let A=x.columns,Z=x.clone(),et,nt,st;for(st=0;st<m;st++)for(nt=0;nt<A;nt++){for(et=0;et<st;et++)Z.set(st,nt,Z.get(st,nt)-Z.get(et,nt)*w.get(st,et));Z.set(st,nt,Z.get(st,nt)/w.get(st,st))}for(st=m-1;st>=0;st--)for(nt=0;nt<A;nt++){for(et=st+1;et<m;et++)Z.set(st,nt,Z.get(st,nt)-Z.get(et,nt)*w.get(et,st));Z.set(st,nt,Z.get(st,nt)/w.get(st,st))}return Z}get lowerTriangularMatrix(){return this.L}}class Ul{constructor(x,w={}){x=Pn.checkMatrix(x);let{Y:m}=w;const{scaleScores:A=!1,maxIterations:Z=1e3,terminationCriteria:et=1e-10}=w;let nt;if(m){if(rt.isAnyArray(m)&&typeof m[0]=="number"?m=ne.columnVector(m):m=Pn.checkMatrix(m),m.rows!==x.rows)throw new Error("Y should have the same number of rows as X");nt=m.getColumnVector(0)}else nt=x.getColumnVector(0);let st=1,lt,St,gt,Ft;for(let Jt=0;Jt<Z&&st>et;Jt++)gt=x.transpose().mmul(nt).div(nt.transpose().mmul(nt).get(0,0)),gt=gt.div(gt.norm()),lt=x.mmul(gt).div(gt.transpose().mmul(gt).get(0,0)),Jt>0&&(st=lt.clone().sub(Ft).pow(2).sum()),Ft=lt.clone(),m?(St=m.transpose().mmul(lt).div(lt.transpose().mmul(lt).get(0,0)),St=St.div(St.norm()),nt=m.mmul(St).div(St.transpose().mmul(St).get(0,0))):nt=lt;if(m){let Jt=x.transpose().mmul(lt).div(lt.transpose().mmul(lt).get(0,0));Jt=Jt.div(Jt.norm());let Dt=x.clone().sub(lt.clone().mmul(Jt.transpose())),Ht=nt.transpose().mmul(lt).div(lt.transpose().mmul(lt).get(0,0)),le=m.clone().sub(lt.clone().mulS(Ht.get(0,0)).mmul(St.transpose()));this.t=lt,this.p=Jt.transpose(),this.w=gt.transpose(),this.q=St,this.u=nt,this.s=lt.transpose().mmul(lt),this.xResidual=Dt,this.yResidual=le,this.betas=Ht}else this.w=gt.transpose(),this.s=lt.transpose().mmul(lt).sqrt(),A?this.t=lt.clone().div(this.s.get(0,0)):this.t=lt,this.xResidual=x.sub(lt.mmul(gt.transpose()))}}Q.XA=re,Q.a_=yf,Q.yQ=yf,Q.Hs=Yn,Q.Ec=gf,Q.dx=gf,Q.LU=Vi,Q.Rm=Vi,Q.y3=ne,Q.qK=ua,Q.pb=os,Q.j=Js,Q.sO=ha,Q.BZ=ls,Q.EK=Bo,Q.Db=cs,Q.Fx=us,Q.tU=Si,Q.Ym=Ul,Q.rs=Ul,Q.QR=zo,Q.TB=zo,Q.oH=Ta,Q.Sc=Ta,Q.BN=kr,Q.it=Oi,Q.$r=Pn,Q.QM=vf,Q.AV=tg,P=ne,Q.GH=jo,Q.SO=K0,Q.uZ=q0,Q.yU=$0,Q.F1=df,Q.re=ff},45411:function(X){"use strict";X.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]}},75196:function(X,Q,E){var P=E(45411),_=E(75029),z=Object.hasOwnProperty,C=Object.create(null);for(var S in P)z.call(P,S)&&(C[P[S]]=S);var N=X.exports={to:{},get:{}};N.get=function(L){var F=L.substring(0,3).toLowerCase(),I,H;switch(F){case"hsl":I=N.get.hsl(L),H="hsl";break;case"hwb":I=N.get.hwb(L),H="hwb";break;default:I=N.get.rgb(L),H="rgb";break}return I?{model:H,value:I}:null},N.get.rgb=function(L){if(!L)return null;var F=/^#([a-f0-9]{3,4})$/i,I=/^#([a-f0-9]{6})([a-f0-9]{2})?$/i,H=/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,U=/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,K=/^(\w+)$/,rt=[0,0,0,1],tt,J,it;if(tt=L.match(I)){for(it=tt[2],tt=tt[1],J=0;J<3;J++){var at=J*2;rt[J]=parseInt(tt.slice(at,at+2),16)}it&&(rt[3]=parseInt(it,16)/255)}else if(tt=L.match(F)){for(tt=tt[1],it=tt[3],J=0;J<3;J++)rt[J]=parseInt(tt[J]+tt[J],16);it&&(rt[3]=parseInt(it+it,16)/255)}else if(tt=L.match(H)){for(J=0;J<3;J++)rt[J]=parseInt(tt[J+1],0);tt[4]&&(tt[5]?rt[3]=parseFloat(tt[4])*.01:rt[3]=parseFloat(tt[4]))}else if(tt=L.match(U)){for(J=0;J<3;J++)rt[J]=Math.round(parseFloat(tt[J+1])*2.55);tt[4]&&(tt[5]?rt[3]=parseFloat(tt[4])*.01:rt[3]=parseFloat(tt[4]))}else return(tt=L.match(K))?tt[1]==="transparent"?[0,0,0,0]:z.call(P,tt[1])?(rt=P[tt[1]],rt[3]=1,rt):null:null;for(J=0;J<3;J++)rt[J]=R(rt[J],0,255);return rt[3]=R(rt[3],0,1),rt},N.get.hsl=function(L){if(!L)return null;var F=/^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*)?\)$/,I=L.match(F);if(I){var H=parseFloat(I[4]),U=(parseFloat(I[1])%360+360)%360,K=R(parseFloat(I[2]),0,100),rt=R(parseFloat(I[3]),0,100),tt=R(isNaN(H)?1:H,0,1);return[U,K,rt,tt]}return null},N.get.hwb=function(L){if(!L)return null;var F=/^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*)?\)$/,I=L.match(F);if(I){var H=parseFloat(I[4]),U=(parseFloat(I[1])%360+360)%360,K=R(parseFloat(I[2]),0,100),rt=R(parseFloat(I[3]),0,100),tt=R(isNaN(H)?1:H,0,1);return[U,K,rt,tt]}return null},N.to.hex=function(){var L=_(arguments);return"#"+T(L[0])+T(L[1])+T(L[2])+(L[3]<1?T(Math.round(L[3]*255)):"")},N.to.rgb=function(){var L=_(arguments);return L.length<4||L[3]===1?"rgb("+Math.round(L[0])+", "+Math.round(L[1])+", "+Math.round(L[2])+")":"rgba("+Math.round(L[0])+", "+Math.round(L[1])+", "+Math.round(L[2])+", "+L[3]+")"},N.to.rgb.percent=function(){var L=_(arguments),F=Math.round(L[0]/255*100),I=Math.round(L[1]/255*100),H=Math.round(L[2]/255*100);return L.length<4||L[3]===1?"rgb("+F+"%, "+I+"%, "+H+"%)":"rgba("+F+"%, "+I+"%, "+H+"%, "+L[3]+")"},N.to.hsl=function(){var L=_(arguments);return L.length<4||L[3]===1?"hsl("+L[0]+", "+L[1]+"%, "+L[2]+"%)":"hsla("+L[0]+", "+L[1]+"%, "+L[2]+"%, "+L[3]+")"},N.to.hwb=function(){var L=_(arguments),F="";return L.length>=4&&L[3]!==1&&(F=", "+L[3]),"hwb("+L[0]+", "+L[1]+"%, "+L[2]+"%"+F+")"},N.to.keyword=function(L){return C[L.slice(0,3)]};function R(L,F,I){return Math.min(Math.max(F,L),I)}function T(L){var F=Math.round(L).toString(16).toUpperCase();return F.length<2?"0"+F:F}},92546:function(X,Q,E){X.exports={graphlib:E(76626),layout:E(47194),debug:E(11303),util:{time:E(53063).time,notime:E(53063).notime},version:E(11897)}},81255:function(X,Q,E){"use strict";var P=E(72361),_=E(39240);X.exports={run:z,undo:S};function z(N){var R=N.graph().acyclicer==="greedy"?_(N,T(N)):C(N);P.forEach(R,function(L){var F=N.edge(L);N.removeEdge(L),F.forwardName=L.name,F.reversed=!0,N.setEdge(L.w,L.v,F,P.uniqueId("rev"))});function T(L){return function(F){return L.edge(F).weight}}}function C(N){var R=[],T={},L={};function F(I){P.has(L,I)||(L[I]=!0,T[I]=!0,P.forEach(N.outEdges(I),function(H){P.has(T,H.w)?R.push(H):F(H.w)}),delete T[I])}return P.forEach(N.nodes(),F),R}function S(N){P.forEach(N.edges(),function(R){var T=N.edge(R);if(T.reversed){N.removeEdge(R);var L=T.forwardName;delete T.reversed,delete T.forwardName,N.setEdge(R.w,R.v,T,L)}})}},60765:function(X,Q,E){var P=E(72361),_=E(53063);X.exports=z;function z(S){function N(R){var T=S.children(R),L=S.node(R);if(T.length&&P.forEach(T,N),P.has(L,"minRank")){L.borderLeft=[],L.borderRight=[];for(var F=L.minRank,I=L.maxRank+1;F<I;++F)C(S,"borderLeft","_bl",R,L,F),C(S,"borderRight","_br",R,L,F)}}P.forEach(S.children(),N)}function C(S,N,R,T,L,F){var I={width:0,height:0,rank:F,borderType:N},H=L[N][F-1],U=_.addDummyNode(S,"border",I,R);L[N][F]=U,S.setParent(U,T),H&&S.setEdge(H,U,{weight:1})}},13257:function(X,Q,E){"use strict";var P=E(72361);X.exports={adjust:_,undo:z};function _(F){var I=F.graph().rankdir.toLowerCase();(I==="lr"||I==="rl")&&C(F)}function z(F){var I=F.graph().rankdir.toLowerCase();(I==="bt"||I==="rl")&&N(F),(I==="lr"||I==="rl")&&(T(F),C(F))}function C(F){P.forEach(F.nodes(),function(I){S(F.node(I))}),P.forEach(F.edges(),function(I){S(F.edge(I))})}function S(F){var I=F.width;F.width=F.height,F.height=I}function N(F){P.forEach(F.nodes(),function(I){R(F.node(I))}),P.forEach(F.edges(),function(I){var H=F.edge(I);P.forEach(H.points,R),P.has(H,"y")&&R(H)})}function R(F){F.y=-F.y}function T(F){P.forEach(F.nodes(),function(I){L(F.node(I))}),P.forEach(F.edges(),function(I){var H=F.edge(I);P.forEach(H.points,L),P.has(H,"x")&&L(H)})}function L(F){var I=F.x;F.x=F.y,F.y=I}},21135:function(X){X.exports=Q;function Q(){var _={};_._next=_._prev=_,this._sentinel=_}Q.prototype.dequeue=function(){var _=this._sentinel,z=_._prev;if(z!==_)return E(z),z},Q.prototype.enqueue=function(_){var z=this._sentinel;_._prev&&_._next&&E(_),_._next=z._next,z._next._prev=_,z._next=_,_._prev=z},Q.prototype.toString=function(){for(var _=[],z=this._sentinel,C=z._prev;C!==z;)_.push(JSON.stringify(C,P)),C=C._prev;return"["+_.join(", ")+"]"};function E(_){_._prev._next=_._next,_._next._prev=_._prev,delete _._next,delete _._prev}function P(_,z){if(_!=="_next"&&_!=="_prev")return z}},11303:function(X,Q,E){var P=E(72361),_=E(53063),z=E(76626).Graph;X.exports={debugOrdering:C};function C(S){var N=_.buildLayerMatrix(S),R=new z({compound:!0,multigraph:!0}).setGraph({});return P.forEach(S.nodes(),function(T){R.setNode(T,{label:T}),R.setParent(T,"layer"+S.node(T).rank)}),P.forEach(S.edges(),function(T){R.setEdge(T.v,T.w,{},T.name)}),P.forEach(N,function(T,L){var F="layer"+L;R.setNode(F,{rank:"same"}),P.reduce(T,function(I,H){return R.setEdge(I,H,{style:"invis"}),H})}),R}},76626:function(X,Q,E){var P;try{P=E(75172)}catch(_){}P||(P=window.graphlib),X.exports=P},39240:function(X,Q,E){var P=E(72361),_=E(76626).Graph,z=E(21135);X.exports=S;var C=P.constant(1);function S(F,I){if(F.nodeCount()<=1)return[];var H=T(F,I||C),U=N(H.graph,H.buckets,H.zeroIdx);return P.flatten(P.map(U,function(K){return F.outEdges(K.v,K.w)}),!0)}function N(F,I,H){for(var U=[],K=I[I.length-1],rt=I[0],tt;F.nodeCount();){for(;tt=rt.dequeue();)R(F,I,H,tt);for(;tt=K.dequeue();)R(F,I,H,tt);if(F.nodeCount()){for(var J=I.length-2;J>0;--J)if(tt=I[J].dequeue(),tt){U=U.concat(R(F,I,H,tt,!0));break}}}return U}function R(F,I,H,U,K){var rt=K?[]:void 0;return P.forEach(F.inEdges(U.v),function(tt){var J=F.edge(tt),it=F.node(tt.v);K&&rt.push({v:tt.v,w:tt.w}),it.out-=J,L(I,H,it)}),P.forEach(F.outEdges(U.v),function(tt){var J=F.edge(tt),it=tt.w,at=F.node(it);at.in-=J,L(I,H,at)}),F.removeNode(U.v),rt}function T(F,I){var H=new _,U=0,K=0;P.forEach(F.nodes(),function(J){H.setNode(J,{v:J,in:0,out:0})}),P.forEach(F.edges(),function(J){var it=H.edge(J.v,J.w)||0,at=I(J),ut=it+at;H.setEdge(J.v,J.w,ut),K=Math.max(K,H.node(J.v).out+=at),U=Math.max(U,H.node(J.w).in+=at)});var rt=P.range(K+U+3).map(function(){return new z}),tt=U+1;return P.forEach(H.nodes(),function(J){L(rt,tt,H.node(J))}),{graph:H,buckets:rt,zeroIdx:tt}}function L(F,I,H){H.out?H.in?F[H.out-H.in+I].enqueue(H):F[F.length-1].enqueue(H):F[0].enqueue(H)}},47194:function(X,Q,E){"use strict";var P=E(72361),_=E(81255),z=E(27163),C=E(64505),S=E(53063).normalizeRanks,N=E(71970),R=E(53063).removeEmptyRanks,T=E(31733),L=E(60765),F=E(13257),I=E(62852),H=E(93021),U=E(53063),K=E(76626).Graph;X.exports=rt;function rt(dt,Mt){var Tt=Mt&&Mt.debugTiming?U.time:U.notime;Tt("layout",function(){var Wt=Tt(" buildLayoutGraph",function(){return xt(dt)});Tt(" runLayout",function(){tt(Wt,Tt)}),Tt(" updateInputGraph",function(){J(dt,Wt)})})}function tt(dt,Mt){Mt(" makeSpaceForEdgeLabels",function(){Nt(dt)}),Mt(" removeSelfEdges",function(){Pi(dt)}),Mt(" acyclic",function(){_.run(dt)}),Mt(" nestingGraph.run",function(){T.run(dt)}),Mt(" rank",function(){C(U.asNonCompoundGraph(dt))}),Mt(" injectEdgeLabelProxies",function(){Bt(dt)}),Mt(" removeEmptyRanks",function(){R(dt)}),Mt(" nestingGraph.cleanup",function(){T.cleanup(dt)}),Mt(" normalizeRanks",function(){S(dt)}),Mt(" assignRankMinMax",function(){_t(dt)}),Mt(" removeEdgeLabelProxies",function(){Kt(dt)}),Mt(" normalize.run",function(){z.run(dt)}),Mt(" parentDummyChains",function(){N(dt)}),Mt(" addBorderSegments",function(){L(dt)}),Mt(" order",function(){I(dt)}),Mt(" insertSelfEdges",function(){la(dt)}),Mt(" adjustCoordinateSystem",function(){F.adjust(dt)}),Mt(" position",function(){H(dt)}),Mt(" positionSelfEdges",function(){kt(dt)}),Mt(" removeBorderNodes",function(){Mr(dt)}),Mt(" normalize.undo",function(){z.undo(dt)}),Mt(" fixupEdgeLabelCoords",function(){Ge(dt)}),Mt(" undoCoordinateSystem",function(){F.undo(dt)}),Mt(" translateGraph",function(){me(dt)}),Mt(" assignNodeIntersects",function(){Me(dt)}),Mt(" reversePoints",function(){Rn(dt)}),Mt(" acyclic.undo",function(){_.undo(dt)})}function J(dt,Mt){P.forEach(dt.nodes(),function(Tt){var Wt=dt.node(Tt),oe=Mt.node(Tt);Wt&&(Wt.x=oe.x,Wt.y=oe.y,Mt.children(Tt).length&&(Wt.width=oe.width,Wt.height=oe.height))}),P.forEach(dt.edges(),function(Tt){var Wt=dt.edge(Tt),oe=Mt.edge(Tt);Wt.points=oe.points,P.has(oe,"x")&&(Wt.x=oe.x,Wt.y=oe.y)}),dt.graph().width=Mt.graph().width,dt.graph().height=Mt.graph().height}var it=["nodesep","edgesep","ranksep","marginx","marginy"],at={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},ut=["acyclicer","ranker","rankdir","align"],ht=["width","height"],bt={width:0,height:0},pt=["minlen","weight","width","height","labeloffset"],wt={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},ft=["labelpos"];function xt(dt){var Mt=new K({multigraph:!0,compound:!0}),Tt=zt(dt.graph());return Mt.setGraph(P.merge({},at,Rt(Tt,it),P.pick(Tt,ut))),P.forEach(dt.nodes(),function(Wt){var oe=zt(dt.node(Wt));Mt.setNode(Wt,P.defaults(Rt(oe,ht),bt)),Mt.setParent(Wt,dt.parent(Wt))}),P.forEach(dt.edges(),function(Wt){var oe=zt(dt.edge(Wt));Mt.setEdge(Wt,P.merge({},wt,Rt(oe,pt),P.pick(oe,ft)))}),Mt}function Nt(dt){var Mt=dt.graph();Mt.ranksep/=2,P.forEach(dt.edges(),function(Tt){var Wt=dt.edge(Tt);Wt.minlen*=2,Wt.labelpos.toLowerCase()!=="c"&&(Mt.rankdir==="TB"||Mt.rankdir==="BT"?Wt.width+=Wt.labeloffset:Wt.height+=Wt.labeloffset)})}function Bt(dt){P.forEach(dt.edges(),function(Mt){var Tt=dt.edge(Mt);if(Tt.width&&Tt.height){var Wt=dt.node(Mt.v),oe=dt.node(Mt.w),be={rank:(oe.rank-Wt.rank)/2+Wt.rank,e:Mt};U.addDummyNode(dt,"edge-proxy",be,"_ep")}})}function _t(dt){var Mt=0;P.forEach(dt.nodes(),function(Tt){var Wt=dt.node(Tt);Wt.borderTop&&(Wt.minRank=dt.node(Wt.borderTop).rank,Wt.maxRank=dt.node(Wt.borderBottom).rank,Mt=P.max(Mt,Wt.maxRank))}),dt.graph().maxRank=Mt}function Kt(dt){P.forEach(dt.nodes(),function(Mt){var Tt=dt.node(Mt);Tt.dummy==="edge-proxy"&&(dt.edge(Tt.e).labelRank=Tt.rank,dt.removeNode(Mt))})}function me(dt){var Mt=Number.POSITIVE_INFINITY,Tt=0,Wt=Number.POSITIVE_INFINITY,oe=0,be=dt.graph(),fe=be.marginx||0,Re=be.marginy||0;function An(Cn){var Le=Cn.x,Ae=Cn.y,re=Cn.width,Oe=Cn.height;Mt=Math.min(Mt,Le-re/2),Tt=Math.max(Tt,Le+re/2),Wt=Math.min(Wt,Ae-Oe/2),oe=Math.max(oe,Ae+Oe/2)}P.forEach(dt.nodes(),function(Cn){An(dt.node(Cn))}),P.forEach(dt.edges(),function(Cn){var Le=dt.edge(Cn);P.has(Le,"x")&&An(Le)}),Mt-=fe,Wt-=Re,P.forEach(dt.nodes(),function(Cn){var Le=dt.node(Cn);Le.x-=Mt,Le.y-=Wt}),P.forEach(dt.edges(),function(Cn){var Le=dt.edge(Cn);P.forEach(Le.points,function(Ae){Ae.x-=Mt,Ae.y-=Wt}),P.has(Le,"x")&&(Le.x-=Mt),P.has(Le,"y")&&(Le.y-=Wt)}),be.width=Tt-Mt+fe,be.height=oe-Wt+Re}function Me(dt){P.forEach(dt.edges(),function(Mt){var Tt=dt.edge(Mt),Wt=dt.node(Mt.v),oe=dt.node(Mt.w),be,fe;Tt.points?(be=Tt.points[0],fe=Tt.points[Tt.points.length-1]):(Tt.points=[],be=oe,fe=Wt),Tt.points.unshift(U.intersectRect(Wt,be)),Tt.points.push(U.intersectRect(oe,fe))})}function Ge(dt){P.forEach(dt.edges(),function(Mt){var Tt=dt.edge(Mt);if(P.has(Tt,"x"))switch((Tt.labelpos==="l"||Tt.labelpos==="r")&&(Tt.width-=Tt.labeloffset),Tt.labelpos){case"l":Tt.x-=Tt.width/2+Tt.labeloffset;break;case"r":Tt.x+=Tt.width/2+Tt.labeloffset;break}})}function Rn(dt){P.forEach(dt.edges(),function(Mt){var Tt=dt.edge(Mt);Tt.reversed&&Tt.points.reverse()})}function Mr(dt){P.forEach(dt.nodes(),function(Mt){if(dt.children(Mt).length){var Tt=dt.node(Mt),Wt=dt.node(Tt.borderTop),oe=dt.node(Tt.borderBottom),be=dt.node(P.last(Tt.borderLeft)),fe=dt.node(P.last(Tt.borderRight));Tt.width=Math.abs(fe.x-be.x),Tt.height=Math.abs(oe.y-Wt.y),Tt.x=be.x+Tt.width/2,Tt.y=Wt.y+Tt.height/2}}),P.forEach(dt.nodes(),function(Mt){dt.node(Mt).dummy==="border"&&dt.removeNode(Mt)})}function Pi(dt){P.forEach(dt.edges(),function(Mt){if(Mt.v===Mt.w){var Tt=dt.node(Mt.v);Tt.selfEdges||(Tt.selfEdges=[]),Tt.selfEdges.push({e:Mt,label:dt.edge(Mt)}),dt.removeEdge(Mt)}})}function la(dt){var Mt=U.buildLayerMatrix(dt);P.forEach(Mt,function(Tt){var Wt=0;P.forEach(Tt,function(oe,be){var fe=dt.node(oe);fe.order=be+Wt,P.forEach(fe.selfEdges,function(Re){U.addDummyNode(dt,"selfedge",{width:Re.label.width,height:Re.label.height,rank:fe.rank,order:be+ ++Wt,e:Re.e,label:Re.label},"_se")}),delete fe.selfEdges})})}function kt(dt){P.forEach(dt.nodes(),function(Mt){var Tt=dt.node(Mt);if(Tt.dummy==="selfedge"){var Wt=dt.node(Tt.e.v),oe=Wt.x+Wt.width/2,be=Wt.y,fe=Tt.x-oe,Re=Wt.height/2;dt.setEdge(Tt.e,Tt.label),dt.removeNode(Mt),Tt.label.points=[{x:oe+2*fe/3,y:be-Re},{x:oe+5*fe/6,y:be-Re},{x:oe+fe,y:be},{x:oe+5*fe/6,y:be+Re},{x:oe+2*fe/3,y:be+Re}],Tt.label.x=Tt.x,Tt.label.y=Tt.y}})}function Rt(dt,Mt){return P.mapValues(P.pick(dt,Mt),Number)}function zt(dt){var Mt={};return P.forEach(dt,function(Tt,Wt){Mt[Wt.toLowerCase()]=Tt}),Mt}},72361:function(X,Q,E){var P;try{P={cloneDeep:E(20250),constant:E(13503),defaults:E(28548),each:E(76934),filter:E(64725),find:E(79785),flatten:E(39807),forEach:E(99204),forIn:E(23190),has:E(99946),isUndefined:E(16513),last:E(10611),map:E(9924),mapValues:E(70642),max:E(95987),merge:E(28440),min:E(73376),minBy:E(83296),now:E(5795),pick:E(89409),range:E(60859),reduce:E(16473),sortBy:E(351),uniqueId:E(95708),values:E(81229),zipObject:E(65441)}}catch(_){}P||(P=window._),X.exports=P},31733:function(X,Q,E){var P=E(72361),_=E(53063);X.exports={run:z,cleanup:R};function z(T){var L=_.addDummyNode(T,"root",{},"_root"),F=S(T),I=P.max(P.values(F))-1,H=2*I+1;T.graph().nestingRoot=L,P.forEach(T.edges(),function(K){T.edge(K).minlen*=H});var U=N(T)+1;P.forEach(T.children(),function(K){C(T,L,H,U,I,F,K)}),T.graph().nodeRankFactor=H}function C(T,L,F,I,H,U,K){var rt=T.children(K);if(!rt.length){K!==L&&T.setEdge(L,K,{weight:0,minlen:F});return}var tt=_.addBorderNode(T,"_bt"),J=_.addBorderNode(T,"_bb"),it=T.node(K);T.setParent(tt,K),it.borderTop=tt,T.setParent(J,K),it.borderBottom=J,P.forEach(rt,function(at){C(T,L,F,I,H,U,at);var ut=T.node(at),ht=ut.borderTop?ut.borderTop:at,bt=ut.borderBottom?ut.borderBottom:at,pt=ut.borderTop?I:2*I,wt=ht!==bt?1:H-U[K]+1;T.setEdge(tt,ht,{weight:pt,minlen:wt,nestingEdge:!0}),T.setEdge(bt,J,{weight:pt,minlen:wt,nestingEdge:!0})}),T.parent(K)||T.setEdge(L,tt,{weight:0,minlen:H+U[K]})}function S(T){var L={};function F(I,H){var U=T.children(I);U&&U.length&&P.forEach(U,function(K){F(K,H+1)}),L[I]=H}return P.forEach(T.children(),function(I){F(I,1)}),L}function N(T){return P.reduce(T.edges(),function(L,F){return L+T.edge(F).weight},0)}function R(T){var L=T.graph();T.removeNode(L.nestingRoot),delete L.nestingRoot,P.forEach(T.edges(),function(F){var I=T.edge(F);I.nestingEdge&&T.removeEdge(F)})}},27163:function(X,Q,E){"use strict";var P=E(72361),_=E(53063);X.exports={run:z,undo:S};function z(N){N.graph().dummyChains=[],P.forEach(N.edges(),function(R){C(N,R)})}function C(N,R){var T=R.v,L=N.node(T).rank,F=R.w,I=N.node(F).rank,H=R.name,U=N.edge(R),K=U.labelRank;if(I!==L+1){N.removeEdge(R);var rt,tt,J;for(J=0,++L;L<I;++J,++L)U.points=[],tt={width:0,height:0,edgeLabel:U,edgeObj:R,rank:L},rt=_.addDummyNode(N,"edge",tt,"_d"),L===K&&(tt.width=U.width,tt.height=U.height,tt.dummy="edge-label",tt.labelpos=U.labelpos),N.setEdge(T,rt,{weight:U.weight},H),J===0&&N.graph().dummyChains.push(rt),T=rt;N.setEdge(T,F,{weight:U.weight},H)}}function S(N){P.forEach(N.graph().dummyChains,function(R){var T=N.node(R),L=T.edgeLabel,F;for(N.setEdge(T.edgeObj,L);T.dummy;)F=N.successors(R)[0],N.removeNode(R),L.points.push({x:T.x,y:T.y}),T.dummy==="edge-label"&&(L.x=T.x,L.y=T.y,L.width=T.width,L.height=T.height),R=F,T=N.node(R)})}},52205:function(X,Q,E){var P=E(72361);X.exports=_;function _(z,C,S){var N={},R;P.forEach(S,function(T){for(var L=z.parent(T),F,I;L;){if(F=z.parent(L),F?(I=N[F],N[F]=L):(I=R,R=L),I&&I!==L){C.setEdge(I,L);return}L=F}})}},99506:function(X,Q,E){var P=E(72361);X.exports=_;function _(z,C){return P.map(C,function(S){var N=z.inEdges(S);if(N.length){var R=P.reduce(N,function(T,L){var F=z.edge(L),I=z.node(L.v);return{sum:T.sum+F.weight*I.order,weight:T.weight+F.weight}},{sum:0,weight:0});return{v:S,barycenter:R.sum/R.weight,weight:R.weight}}else return{v:S}})}},59105:function(X,Q,E){var P=E(72361),_=E(76626).Graph;X.exports=z;function z(S,N,R){var T=C(S),L=new _({compound:!0}).setGraph({root:T}).setDefaultNodeLabel(function(F){return S.node(F)});return P.forEach(S.nodes(),function(F){var I=S.node(F),H=S.parent(F);(I.rank===N||I.minRank<=N&&N<=I.maxRank)&&(L.setNode(F),L.setParent(F,H||T),P.forEach(S[R](F),function(U){var K=U.v===F?U.w:U.v,rt=L.edge(K,F),tt=P.isUndefined(rt)?0:rt.weight;L.setEdge(K,F,{weight:S.edge(U).weight+tt})}),P.has(I,"minRank")&&L.setNode(F,{borderLeft:I.borderLeft[N],borderRight:I.borderRight[N]}))}),L}function C(S){for(var N;S.hasNode(N=P.uniqueId("_root")););return N}},45456:function(X,Q,E){"use strict";var P=E(72361);X.exports=_;function _(C,S){for(var N=0,R=1;R<S.length;++R)N+=z(C,S[R-1],S[R]);return N}function z(C,S,N){for(var R=P.zipObject(N,P.map(N,function(U,K){return K})),T=P.flatten(P.map(S,function(U){return P.sortBy(P.map(C.outEdges(U),function(K){return{pos:R[K.w],weight:C.edge(K).weight}}),"pos")}),!0),L=1;L<N.length;)L<<=1;var F=2*L-1;L-=1;var I=P.map(new Array(F),function(){return 0}),H=0;return P.forEach(T.forEach(function(U){var K=U.pos+L;I[K]+=U.weight;for(var rt=0;K>0;)K%2&&(rt+=I[K+1]),K=K-1>>1,I[K]+=U.weight;H+=U.weight*rt})),H}},62852:function(X,Q,E){"use strict";var P=E(72361),_=E(18043),z=E(45456),C=E(86490),S=E(59105),N=E(52205),R=E(76626).Graph,T=E(53063);X.exports=L;function L(U){var K=T.maxRank(U),rt=F(U,P.range(1,K+1),"inEdges"),tt=F(U,P.range(K-1,-1,-1),"outEdges"),J=_(U);H(U,J);for(var it=Number.POSITIVE_INFINITY,at,ut=0,ht=0;ht<4;++ut,++ht){I(ut%2?rt:tt,ut%4>=2),J=T.buildLayerMatrix(U);var bt=z(U,J);bt<it&&(ht=0,at=P.cloneDeep(J),it=bt)}H(U,at)}function F(U,K,rt){return P.map(K,function(tt){return S(U,tt,rt)})}function I(U,K){var rt=new R;P.forEach(U,function(tt){var J=tt.graph().root,it=C(tt,J,rt,K);P.forEach(it.vs,function(at,ut){tt.node(at).order=ut}),N(tt,rt,it.vs)})}function H(U,K){P.forEach(K,function(rt){P.forEach(rt,function(tt,J){U.node(tt).order=J})})}},18043:function(X,Q,E){"use strict";var P=E(72361);X.exports=_;function _(z){var C={},S=P.filter(z.nodes(),function(F){return!z.children(F).length}),N=P.max(P.map(S,function(F){return z.node(F).rank})),R=P.map(P.range(N+1),function(){return[]});function T(F){if(!P.has(C,F)){C[F]=!0;var I=z.node(F);R[I.rank].push(F),P.forEach(z.successors(F),T)}}var L=P.sortBy(S,function(F){return z.node(F).rank});return P.forEach(L,T),R}},45926:function(X,Q,E){"use strict";var P=E(72361);X.exports=_;function _(S,N){var R={};P.forEach(S,function(L,F){var I=R[L.v]={indegree:0,in:[],out:[],vs:[L.v],i:F};P.isUndefined(L.barycenter)||(I.barycenter=L.barycenter,I.weight=L.weight)}),P.forEach(N.edges(),function(L){var F=R[L.v],I=R[L.w];!P.isUndefined(F)&&!P.isUndefined(I)&&(I.indegree++,F.out.push(R[L.w]))});var T=P.filter(R,function(L){return!L.indegree});return z(T)}function z(S){var N=[];function R(F){return function(I){I.merged||(P.isUndefined(I.barycenter)||P.isUndefined(F.barycenter)||I.barycenter>=F.barycenter)&&C(F,I)}}function T(F){return function(I){I.in.push(F),--I.indegree===0&&S.push(I)}}for(;S.length;){var L=S.pop();N.push(L),P.forEach(L.in.reverse(),R(L)),P.forEach(L.out,T(L))}return P.map(P.filter(N,function(F){return!F.merged}),function(F){return P.pick(F,["vs","i","barycenter","weight"])})}function C(S,N){var R=0,T=0;S.weight&&(R+=S.barycenter*S.weight,T+=S.weight),N.weight&&(R+=N.barycenter*N.weight,T+=N.weight),S.vs=N.vs.concat(S.vs),S.barycenter=R/T,S.weight=T,S.i=Math.min(N.i,S.i),N.merged=!0}},86490:function(X,Q,E){var P=E(72361),_=E(99506),z=E(45926),C=E(1349);X.exports=S;function S(T,L,F,I){var H=T.children(L),U=T.node(L),K=U?U.borderLeft:void 0,rt=U?U.borderRight:void 0,tt={};K&&(H=P.filter(H,function(bt){return bt!==K&&bt!==rt}));var J=_(T,H);P.forEach(J,function(bt){if(T.children(bt.v).length){var pt=S(T,bt.v,F,I);tt[bt.v]=pt,P.has(pt,"barycenter")&&R(bt,pt)}});var it=z(J,F);N(it,tt);var at=C(it,I);if(K&&(at.vs=P.flatten([K,at.vs,rt],!0),T.predecessors(K).length)){var ut=T.node(T.predecessors(K)[0]),ht=T.node(T.predecessors(rt)[0]);P.has(at,"barycenter")||(at.barycenter=0,at.weight=0),at.barycenter=(at.barycenter*at.weight+ut.order+ht.order)/(at.weight+2),at.weight+=2}return at}function N(T,L){P.forEach(T,function(F){F.vs=P.flatten(F.vs.map(function(I){return L[I]?L[I].vs:I}),!0)})}function R(T,L){P.isUndefined(T.barycenter)?(T.barycenter=L.barycenter,T.weight=L.weight):(T.barycenter=(T.barycenter*T.weight+L.barycenter*L.weight)/(T.weight+L.weight),T.weight+=L.weight)}},1349:function(X,Q,E){var P=E(72361),_=E(53063);X.exports=z;function z(N,R){var T=_.partition(N,function(tt){return P.has(tt,"barycenter")}),L=T.lhs,F=P.sortBy(T.rhs,function(tt){return-tt.i}),I=[],H=0,U=0,K=0;L.sort(S(!!R)),K=C(I,F,K),P.forEach(L,function(tt){K+=tt.vs.length,I.push(tt.vs),H+=tt.barycenter*tt.weight,U+=tt.weight,K=C(I,F,K)});var rt={vs:P.flatten(I,!0)};return U&&(rt.barycenter=H/U,rt.weight=U),rt}function C(N,R,T){for(var L;R.length&&(L=P.last(R)).i<=T;)R.pop(),N.push(L.vs),T++;return T}function S(N){return function(R,T){return R.barycenter<T.barycenter?-1:R.barycenter>T.barycenter?1:N?T.i-R.i:R.i-T.i}}},71970:function(X,Q,E){var P=E(72361);X.exports=_;function _(S){var N=C(S);P.forEach(S.graph().dummyChains,function(R){for(var T=S.node(R),L=T.edgeObj,F=z(S,N,L.v,L.w),I=F.path,H=F.lca,U=0,K=I[U],rt=!0;R!==L.w;){if(T=S.node(R),rt){for(;(K=I[U])!==H&&S.node(K).maxRank<T.rank;)U++;K===H&&(rt=!1)}if(!rt){for(;U<I.length-1&&S.node(K=I[U+1]).minRank<=T.rank;)U++;K=I[U]}S.setParent(R,K),R=S.successors(R)[0]}})}function z(S,N,R,T){var L=[],F=[],I=Math.min(N[R].low,N[T].low),H=Math.max(N[R].lim,N[T].lim),U,K;U=R;do U=S.parent(U),L.push(U);while(U&&(N[U].low>I||H>N[U].lim));for(K=U,U=T;(U=S.parent(U))!==K;)F.push(U);return{path:L.concat(F.reverse()),lca:K}}function C(S){var N={},R=0;function T(L){var F=R;P.forEach(S.children(L),T),N[L]={low:F,lim:R++}}return P.forEach(S.children(),T),N}},92080:function(X,Q,E){"use strict";var P=E(72361),_=E(76626).Graph,z=E(53063);X.exports={positionX:rt,findType1Conflicts:C,findType2Conflicts:S,addConflict:R,hasConflict:T,verticalAlignment:L,horizontalCompaction:F,alignCoordinates:U,findSmallestWidthAlignment:H,balance:K};function C(it,at){var ut={};function ht(bt,pt){var wt=0,ft=0,xt=bt.length,Nt=P.last(pt);return P.forEach(pt,function(Bt,_t){var Kt=N(it,Bt),me=Kt?it.node(Kt).order:xt;(Kt||Bt===Nt)&&(P.forEach(pt.slice(ft,_t+1),function(Me){P.forEach(it.predecessors(Me),function(Ge){var Rn=it.node(Ge),Mr=Rn.order;(Mr<wt||me<Mr)&&!(Rn.dummy&&it.node(Me).dummy)&&R(ut,Ge,Me)})}),ft=_t+1,wt=me)}),pt}return P.reduce(at,ht),ut}function S(it,at){var ut={};function ht(pt,wt,ft,xt,Nt){var Bt;P.forEach(P.range(wt,ft),function(_t){Bt=pt[_t],it.node(Bt).dummy&&P.forEach(it.predecessors(Bt),function(Kt){var me=it.node(Kt);me.dummy&&(me.order<xt||me.order>Nt)&&R(ut,Kt,Bt)})})}function bt(pt,wt){var ft=-1,xt,Nt=0;return P.forEach(wt,function(Bt,_t){if(it.node(Bt).dummy==="border"){var Kt=it.predecessors(Bt);Kt.length&&(xt=it.node(Kt[0]).order,ht(wt,Nt,_t,ft,xt),Nt=_t,ft=xt)}ht(wt,Nt,wt.length,xt,pt.length)}),wt}return P.reduce(at,bt),ut}function N(it,at){if(it.node(at).dummy)return P.find(it.predecessors(at),function(ut){return it.node(ut).dummy})}function R(it,at,ut){if(at>ut){var ht=at;at=ut,ut=ht}var bt=it[at];bt||(it[at]=bt={}),bt[ut]=!0}function T(it,at,ut){if(at>ut){var ht=at;at=ut,ut=ht}return P.has(it[at],ut)}function L(it,at,ut,ht){var bt={},pt={},wt={};return P.forEach(at,function(ft){P.forEach(ft,function(xt,Nt){bt[xt]=xt,pt[xt]=xt,wt[xt]=Nt})}),P.forEach(at,function(ft){var xt=-1;P.forEach(ft,function(Nt){var Bt=ht(Nt);if(Bt.length){Bt=P.sortBy(Bt,function(Ge){return wt[Ge]});for(var _t=(Bt.length-1)/2,Kt=Math.floor(_t),me=Math.ceil(_t);Kt<=me;++Kt){var Me=Bt[Kt];pt[Nt]===Nt&&xt<wt[Me]&&!T(ut,Nt,Me)&&(pt[Me]=Nt,pt[Nt]=bt[Nt]=bt[Me],xt=wt[Me])}}})}),{root:bt,align:pt}}function F(it,at,ut,ht,bt){var pt={},wt=I(it,at,ut,bt),ft=bt?"borderLeft":"borderRight";function xt(_t,Kt){for(var me=wt.nodes(),Me=me.pop(),Ge={};Me;)Ge[Me]?_t(Me):(Ge[Me]=!0,me.push(Me),me=me.concat(Kt(Me))),Me=me.pop()}function Nt(_t){pt[_t]=wt.inEdges(_t).reduce(function(Kt,me){return Math.max(Kt,pt[me.v]+wt.edge(me))},0)}function Bt(_t){var Kt=wt.outEdges(_t).reduce(function(Me,Ge){return Math.min(Me,pt[Ge.w]-wt.edge(Ge))},Number.POSITIVE_INFINITY),me=it.node(_t);Kt!==Number.POSITIVE_INFINITY&&me.borderType!==ft&&(pt[_t]=Math.max(pt[_t],Kt))}return xt(Nt,wt.predecessors.bind(wt)),xt(Bt,wt.successors.bind(wt)),P.forEach(ht,function(_t){pt[_t]=pt[ut[_t]]}),pt}function I(it,at,ut,ht){var bt=new _,pt=it.graph(),wt=tt(pt.nodesep,pt.edgesep,ht);return P.forEach(at,function(ft){var xt;P.forEach(ft,function(Nt){var Bt=ut[Nt];if(bt.setNode(Bt),xt){var _t=ut[xt],Kt=bt.edge(_t,Bt);bt.setEdge(_t,Bt,Math.max(wt(it,Nt,xt),Kt||0))}xt=Nt})}),bt}function H(it,at){return P.minBy(P.values(at),function(ut){var ht=Number.NEGATIVE_INFINITY,bt=Number.POSITIVE_INFINITY;return P.forIn(ut,function(pt,wt){var ft=J(it,wt)/2;ht=Math.max(pt+ft,ht),bt=Math.min(pt-ft,bt)}),ht-bt})}function U(it,at){var ut=P.values(at),ht=P.min(ut),bt=P.max(ut);P.forEach(["u","d"],function(pt){P.forEach(["l","r"],function(wt){var ft=pt+wt,xt=it[ft],Nt;if(xt!==at){var Bt=P.values(xt);Nt=wt==="l"?ht-P.min(Bt):bt-P.max(Bt),Nt&&(it[ft]=P.mapValues(xt,function(_t){return _t+Nt}))}})})}function K(it,at){return P.mapValues(it.ul,function(ut,ht){if(at)return it[at.toLowerCase()][ht];var bt=P.sortBy(P.map(it,ht));return(bt[1]+bt[2])/2})}function rt(it){var at=z.buildLayerMatrix(it),ut=P.merge(C(it,at),S(it,at)),ht={},bt;P.forEach(["u","d"],function(wt){bt=wt==="u"?at:P.values(at).reverse(),P.forEach(["l","r"],function(ft){ft==="r"&&(bt=P.map(bt,function(_t){return P.values(_t).reverse()}));var xt=(wt==="u"?it.predecessors:it.successors).bind(it),Nt=L(it,bt,ut,xt),Bt=F(it,bt,Nt.root,Nt.align,ft==="r");ft==="r"&&(Bt=P.mapValues(Bt,function(_t){return-_t})),ht[wt+ft]=Bt})});var pt=H(it,ht);return U(ht,pt),K(ht,it.graph().align)}function tt(it,at,ut){return function(ht,bt,pt){var wt=ht.node(bt),ft=ht.node(pt),xt=0,Nt;if(xt+=wt.width/2,P.has(wt,"labelpos"))switch(wt.labelpos.toLowerCase()){case"l":Nt=-wt.width/2;break;case"r":Nt=wt.width/2;break}if(Nt&&(xt+=ut?Nt:-Nt),Nt=0,xt+=(wt.dummy?at:it)/2,xt+=(ft.dummy?at:it)/2,xt+=ft.width/2,P.has(ft,"labelpos"))switch(ft.labelpos.toLowerCase()){case"l":Nt=ft.width/2;break;case"r":Nt=-ft.width/2;break}return Nt&&(xt+=ut?Nt:-Nt),Nt=0,xt}}function J(it,at){return it.node(at).width}},93021:function(X,Q,E){"use strict";var P=E(72361),_=E(53063),z=E(92080).positionX;X.exports=C;function C(N){N=_.asNonCompoundGraph(N),S(N),P.forEach(z(N),function(R,T){N.node(T).x=R})}function S(N){var R=_.buildLayerMatrix(N),T=N.graph().ranksep,L=0;P.forEach(R,function(F){var I=P.max(P.map(F,function(H){return N.node(H).height}));P.forEach(F,function(H){N.node(H).y=L+I/2}),L+=I+T})}},61031:function(X,Q,E){"use strict";var P=E(72361),_=E(76626).Graph,z=E(2416).slack;X.exports=C;function C(T){var L=new _({directed:!1}),F=T.nodes()[0],I=T.nodeCount();L.setNode(F,{});for(var H,U;S(L,T)<I;)H=N(L,T),U=L.hasNode(H.v)?z(T,H):-z(T,H),R(L,T,U);return L}function S(T,L){function F(I){P.forEach(L.nodeEdges(I),function(H){var U=H.v,K=I===U?H.w:U;!T.hasNode(K)&&!z(L,H)&&(T.setNode(K,{}),T.setEdge(I,K,{}),F(K))})}return P.forEach(T.nodes(),F),T.nodeCount()}function N(T,L){return P.minBy(L.edges(),function(F){if(T.hasNode(F.v)!==T.hasNode(F.w))return z(L,F)})}function R(T,L,F){P.forEach(T.nodes(),function(I){L.node(I).rank+=F})}},64505:function(X,Q,E){"use strict";var P=E(2416),_=P.longestPath,z=E(61031),C=E(77076);X.exports=S;function S(L){switch(L.graph().ranker){case"network-simplex":T(L);break;case"tight-tree":R(L);break;case"longest-path":N(L);break;default:T(L)}}var N=_;function R(L){_(L),z(L)}function T(L){C(L)}},77076:function(X,Q,E){"use strict";var P=E(72361),_=E(61031),z=E(2416).slack,C=E(2416).longestPath,S=E(76626).alg.preorder,N=E(76626).alg.postorder,R=E(53063).simplify;X.exports=T,T.initLowLimValues=H,T.initCutValues=L,T.calcCutValue=I,T.leaveEdge=K,T.enterEdge=rt,T.exchangeEdges=tt;function T(ut){ut=R(ut),C(ut);var ht=_(ut);H(ht),L(ht,ut);for(var bt,pt;bt=K(ht);)pt=rt(ht,ut,bt),tt(ht,ut,bt,pt)}function L(ut,ht){var bt=N(ut,ut.nodes());bt=bt.slice(0,bt.length-1),P.forEach(bt,function(pt){F(ut,ht,pt)})}function F(ut,ht,bt){var pt=ut.node(bt),wt=pt.parent;ut.edge(bt,wt).cutvalue=I(ut,ht,bt)}function I(ut,ht,bt){var pt=ut.node(bt),wt=pt.parent,ft=!0,xt=ht.edge(bt,wt),Nt=0;return xt||(ft=!1,xt=ht.edge(wt,bt)),Nt=xt.weight,P.forEach(ht.nodeEdges(bt),function(Bt){var _t=Bt.v===bt,Kt=_t?Bt.w:Bt.v;if(Kt!==wt){var me=_t===ft,Me=ht.edge(Bt).weight;if(Nt+=me?Me:-Me,it(ut,bt,Kt)){var Ge=ut.edge(bt,Kt).cutvalue;Nt+=me?-Ge:Ge}}}),Nt}function H(ut,ht){arguments.length<2&&(ht=ut.nodes()[0]),U(ut,{},1,ht)}function U(ut,ht,bt,pt,wt){var ft=bt,xt=ut.node(pt);return ht[pt]=!0,P.forEach(ut.neighbors(pt),function(Nt){P.has(ht,Nt)||(bt=U(ut,ht,bt,Nt,pt))}),xt.low=ft,xt.lim=bt++,wt?xt.parent=wt:delete xt.parent,bt}function K(ut){return P.find(ut.edges(),function(ht){return ut.edge(ht).cutvalue<0})}function rt(ut,ht,bt){var pt=bt.v,wt=bt.w;ht.hasEdge(pt,wt)||(pt=bt.w,wt=bt.v);var ft=ut.node(pt),xt=ut.node(wt),Nt=ft,Bt=!1;ft.lim>xt.lim&&(Nt=xt,Bt=!0);var _t=P.filter(ht.edges(),function(Kt){return Bt===at(ut,ut.node(Kt.v),Nt)&&Bt!==at(ut,ut.node(Kt.w),Nt)});return P.minBy(_t,function(Kt){return z(ht,Kt)})}function tt(ut,ht,bt,pt){var wt=bt.v,ft=bt.w;ut.removeEdge(wt,ft),ut.setEdge(pt.v,pt.w,{}),H(ut),L(ut,ht),J(ut,ht)}function J(ut,ht){var bt=P.find(ut.nodes(),function(wt){return!ht.node(wt).parent}),pt=S(ut,bt);pt=pt.slice(1),P.forEach(pt,function(wt){var ft=ut.node(wt).parent,xt=ht.edge(wt,ft),Nt=!1;xt||(xt=ht.edge(ft,wt),Nt=!0),ht.node(wt).rank=ht.node(ft).rank+(Nt?xt.minlen:-xt.minlen)})}function it(ut,ht,bt){return ut.hasEdge(ht,bt)}function at(ut,ht,bt){return bt.low<=ht.lim&&ht.lim<=bt.lim}},2416:function(X,Q,E){"use strict";var P=E(72361);X.exports={longestPath:_,slack:z};function _(C){var S={};function N(R){var T=C.node(R);if(P.has(S,R))return T.rank;S[R]=!0;var L=P.min(P.map(C.outEdges(R),function(F){return N(F.w)-C.edge(F).minlen}));return(L===Number.POSITIVE_INFINITY||L===void 0||L===null)&&(L=0),T.rank=L}P.forEach(C.sources(),N)}function z(C,S){return C.node(S.w).rank-C.node(S.v).rank-C.edge(S).minlen}},53063:function(X,Q,E){"use strict";var P=E(72361),_=E(76626).Graph;X.exports={addDummyNode:z,simplify:C,asNonCompoundGraph:S,successorWeights:N,predecessorWeights:R,intersectRect:T,buildLayerMatrix:L,normalizeRanks:F,removeEmptyRanks:I,addBorderNode:H,maxRank:U,partition:K,time:rt,notime:tt};function z(J,it,at,ut){var ht;do ht=P.uniqueId(ut);while(J.hasNode(ht));return at.dummy=it,J.setNode(ht,at),ht}function C(J){var it=new _().setGraph(J.graph());return P.forEach(J.nodes(),function(at){it.setNode(at,J.node(at))}),P.forEach(J.edges(),function(at){var ut=it.edge(at.v,at.w)||{weight:0,minlen:1},ht=J.edge(at);it.setEdge(at.v,at.w,{weight:ut.weight+ht.weight,minlen:Math.max(ut.minlen,ht.minlen)})}),it}function S(J){var it=new _({multigraph:J.isMultigraph()}).setGraph(J.graph());return P.forEach(J.nodes(),function(at){J.children(at).length||it.setNode(at,J.node(at))}),P.forEach(J.edges(),function(at){it.setEdge(at,J.edge(at))}),it}function N(J){var it=P.map(J.nodes(),function(at){var ut={};return P.forEach(J.outEdges(at),function(ht){ut[ht.w]=(ut[ht.w]||0)+J.edge(ht).weight}),ut});return P.zipObject(J.nodes(),it)}function R(J){var it=P.map(J.nodes(),function(at){var ut={};return P.forEach(J.inEdges(at),function(ht){ut[ht.v]=(ut[ht.v]||0)+J.edge(ht).weight}),ut});return P.zipObject(J.nodes(),it)}function T(J,it){var at=J.x,ut=J.y,ht=it.x-at,bt=it.y-ut,pt=J.width/2,wt=J.height/2;if(!ht&&!bt)throw new Error("Not possible to find intersection inside of the rectangle");var ft,xt;return Math.abs(bt)*pt>Math.abs(ht)*wt?(bt<0&&(wt=-wt),ft=wt*ht/bt,xt=wt):(ht<0&&(pt=-pt),ft=pt,xt=pt*bt/ht),{x:at+ft,y:ut+xt}}function L(J){var it=P.map(P.range(U(J)+1),function(){return[]});return P.forEach(J.nodes(),function(at){var ut=J.node(at),ht=ut.rank;P.isUndefined(ht)||(it[ht][ut.order]=at)}),it}function F(J){var it=P.min(P.map(J.nodes(),function(at){return J.node(at).rank}));P.forEach(J.nodes(),function(at){var ut=J.node(at);P.has(ut,"rank")&&(ut.rank-=it)})}function I(J){var it=P.min(P.map(J.nodes(),function(bt){return J.node(bt).rank})),at=[];P.forEach(J.nodes(),function(bt){var pt=J.node(bt).rank-it;at[pt]||(at[pt]=[]),at[pt].push(bt)});var ut=0,ht=J.graph().nodeRankFactor;P.forEach(at,function(bt,pt){P.isUndefined(bt)&&pt%ht!==0?--ut:ut&&P.forEach(bt,function(wt){J.node(wt).rank+=ut})})}function H(J,it,at,ut){var ht={width:0,height:0};return arguments.length>=4&&(ht.rank=at,ht.order=ut),z(J,"border",ht,it)}function U(J){return P.max(P.map(J.nodes(),function(it){var at=J.node(it).rank;if(!P.isUndefined(at))return at}))}function K(J,it){var at={lhs:[],rhs:[]};return P.forEach(J,function(ut){it(ut)?at.lhs.push(ut):at.rhs.push(ut)}),at}function rt(J,it){var at=P.now();try{return it()}finally{console.log(J+" time: "+(P.now()-at)+"ms")}}function tt(J,it){return it()}},11897:function(X){X.exports="0.8.5"},37271:function(X){"use strict";var Q=Object.prototype.hasOwnProperty,E="~";function P(){}Object.create&&(P.prototype=Object.create(null),new P().__proto__||(E=!1));function _(N,R,T){this.fn=N,this.context=R,this.once=T||!1}function z(N,R,T,L,F){if(typeof T!="function")throw new TypeError("The listener must be a function");var I=new _(T,L||N,F),H=E?E+R:R;return N._events[H]?N._events[H].fn?N._events[H]=[N._events[H],I]:N._events[H].push(I):(N._events[H]=I,N._eventsCount++),N}function C(N,R){--N._eventsCount===0?N._events=new P:delete N._events[R]}function S(){this._events=new P,this._eventsCount=0}S.prototype.eventNames=function(){var R=[],T,L;if(this._eventsCount===0)return R;for(L in T=this._events)Q.call(T,L)&&R.push(E?L.slice(1):L);return Object.getOwnPropertySymbols?R.concat(Object.getOwnPropertySymbols(T)):R},S.prototype.listeners=function(R){var T=E?E+R:R,L=this._events[T];if(!L)return[];if(L.fn)return[L.fn];for(var F=0,I=L.length,H=new Array(I);F<I;F++)H[F]=L[F].fn;return H},S.prototype.listenerCount=function(R){var T=E?E+R:R,L=this._events[T];return L?L.fn?1:L.length:0},S.prototype.emit=function(R,T,L,F,I,H){var U=E?E+R:R;if(!this._events[U])return!1;var K=this._events[U],rt=arguments.length,tt,J;if(K.fn){switch(K.once&&this.removeListener(R,K.fn,void 0,!0),rt){case 1:return K.fn.call(K.context),!0;case 2:return K.fn.call(K.context,T),!0;case 3:return K.fn.call(K.context,T,L),!0;case 4:return K.fn.call(K.context,T,L,F),!0;case 5:return K.fn.call(K.context,T,L,F,I),!0;case 6:return K.fn.call(K.context,T,L,F,I,H),!0}for(J=1,tt=new Array(rt-1);J<rt;J++)tt[J-1]=arguments[J];K.fn.apply(K.context,tt)}else{var it=K.length,at;for(J=0;J<it;J++)switch(K[J].once&&this.removeListener(R,K[J].fn,void 0,!0),rt){case 1:K[J].fn.call(K[J].context);break;case 2:K[J].fn.call(K[J].context,T);break;case 3:K[J].fn.call(K[J].context,T,L);break;case 4:K[J].fn.call(K[J].context,T,L,F);break;default:if(!tt)for(at=1,tt=new Array(rt-1);at<rt;at++)tt[at-1]=arguments[at];K[J].fn.apply(K[J].context,tt)}}return!0},S.prototype.on=function(R,T,L){return z(this,R,T,L,!1)},S.prototype.once=function(R,T,L){return z(this,R,T,L,!0)},S.prototype.removeListener=function(R,T,L,F){var I=E?E+R:R;if(!this._events[I])return this;if(!T)return C(this,I),this;var H=this._events[I];if(H.fn)H.fn===T&&(!F||H.once)&&(!L||H.context===L)&&C(this,I);else{for(var U=0,K=[],rt=H.length;U<rt;U++)(H[U].fn!==T||F&&!H[U].once||L&&H[U].context!==L)&&K.push(H[U]);K.length?this._events[I]=K.length===1?K[0]:K:C(this,I)}return this},S.prototype.removeAllListeners=function(R){var T;return R?(T=E?E+R:R,this._events[T]&&C(this,T)):(this._events=new P,this._eventsCount=0),this},S.prototype.off=S.prototype.removeListener,S.prototype.addListener=S.prototype.on,S.prefixed=E,S.EventEmitter=S,X.exports=S},75172:function(X,Q,E){var P=E(89224);X.exports={Graph:P.Graph,json:E(17401),alg:E(54613),version:P.version}},91606:function(X,Q,E){var P=E(95329);X.exports=_;function _(z){var C={},S=[],N;function R(T){P.has(C,T)||(C[T]=!0,N.push(T),P.each(z.successors(T),R),P.each(z.predecessors(T),R))}return P.each(z.nodes(),function(T){N=[],R(T),N.length&&S.push(N)}),S}},21482:function(X,Q,E){var P=E(95329);X.exports=_;function _(C,S,N){P.isArray(S)||(S=[S]);var R=(C.isDirected()?C.successors:C.neighbors).bind(C),T=[],L={};return P.each(S,function(F){if(!C.hasNode(F))throw new Error("Graph does not have node: "+F);z(C,F,N==="post",L,R,T)}),T}function z(C,S,N,R,T,L){P.has(R,S)||(R[S]=!0,N||L.push(S),P.each(T(S),function(F){z(C,F,N,R,T,L)}),N&&L.push(S))}},40845:function(X,Q,E){var P=E(13746),_=E(95329);X.exports=z;function z(C,S,N){return _.transform(C.nodes(),function(R,T){R[T]=P(C,T,S,N)},{})}},13746:function(X,Q,E){var P=E(95329),_=E(36614);X.exports=C;var z=P.constant(1);function C(N,R,T,L){return S(N,String(R),T||z,L||function(F){return N.outEdges(F)})}function S(N,R,T,L){var F={},I=new _,H,U,K=function(rt){var tt=rt.v!==H?rt.v:rt.w,J=F[tt],it=T(rt),at=U.distance+it;if(it<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+rt+" Weight: "+it);at<J.distance&&(J.distance=at,J.predecessor=H,I.decrease(tt,at))};for(N.nodes().forEach(function(rt){var tt=rt===R?0:Number.POSITIVE_INFINITY;F[rt]={distance:tt},I.add(rt,tt)});I.size()>0&&(H=I.removeMin(),U=F[H],U.distance!==Number.POSITIVE_INFINITY);)L(H).forEach(K);return F}},59324:function(X,Q,E){var P=E(95329),_=E(94558);X.exports=z;function z(C){return P.filter(_(C),function(S){return S.length>1||S.length===1&&C.hasEdge(S[0],S[0])})}},22893:function(X,Q,E){var P=E(95329);X.exports=z;var _=P.constant(1);function z(S,N,R){return C(S,N||_,R||function(T){return S.outEdges(T)})}function C(S,N,R){var T={},L=S.nodes();return L.forEach(function(F){T[F]={},T[F][F]={distance:0},L.forEach(function(I){F!==I&&(T[F][I]={distance:Number.POSITIVE_INFINITY})}),R(F).forEach(function(I){var H=I.v===F?I.w:I.v,U=N(I);T[F][H]={distance:U,predecessor:F}})}),L.forEach(function(F){var I=T[F];L.forEach(function(H){var U=T[H];L.forEach(function(K){var rt=U[F],tt=I[K],J=U[K],it=rt.distance+tt.distance;it<J.distance&&(J.distance=it,J.predecessor=tt.predecessor)})})}),T}},54613:function(X,Q,E){X.exports={components:E(91606),dijkstra:E(13746),dijkstraAll:E(40845),findCycles:E(59324),floydWarshall:E(22893),isAcyclic:E(588),postorder:E(98049),preorder:E(67158),prim:E(66058),tarjan:E(94558),topsort:E(7793)}},588:function(X,Q,E){var P=E(7793);X.exports=_;function _(z){try{P(z)}catch(C){if(C instanceof P.CycleException)return!1;throw C}return!0}},98049:function(X,Q,E){var P=E(21482);X.exports=_;function _(z,C){return P(z,C,"post")}},67158:function(X,Q,E){var P=E(21482);X.exports=_;function _(z,C){return P(z,C,"pre")}},66058:function(X,Q,E){var P=E(95329),_=E(6349),z=E(36614);X.exports=C;function C(S,N){var R=new _,T={},L=new z,F;function I(U){var K=U.v===F?U.w:U.v,rt=L.priority(K);if(rt!==void 0){var tt=N(U);tt<rt&&(T[K]=F,L.decrease(K,tt))}}if(S.nodeCount()===0)return R;P.each(S.nodes(),function(U){L.add(U,Number.POSITIVE_INFINITY),R.setNode(U)}),L.decrease(S.nodes()[0],0);for(var H=!1;L.size()>0;){if(F=L.removeMin(),P.has(T,F))R.setEdge(F,T[F]);else{if(H)throw new Error("Input graph is not connected: "+S);H=!0}S.nodeEdges(F).forEach(I)}return R}},94558:function(X,Q,E){var P=E(95329);X.exports=_;function _(z){var C=0,S=[],N={},R=[];function T(L){var F=N[L]={onStack:!0,lowlink:C,index:C++};if(S.push(L),z.successors(L).forEach(function(U){P.has(N,U)?N[U].onStack&&(F.lowlink=Math.min(F.lowlink,N[U].index)):(T(U),F.lowlink=Math.min(F.lowlink,N[U].lowlink))}),F.lowlink===F.index){var I=[],H;do H=S.pop(),N[H].onStack=!1,I.push(H);while(L!==H);R.push(I)}}return z.nodes().forEach(function(L){P.has(N,L)||T(L)}),R}},7793:function(X,Q,E){var P=E(95329);X.exports=_,_.CycleException=z;function _(C){var S={},N={},R=[];function T(L){if(P.has(N,L))throw new z;P.has(S,L)||(N[L]=!0,S[L]=!0,P.each(C.predecessors(L),T),delete N[L],R.push(L))}if(P.each(C.sinks(),T),P.size(S)!==C.nodeCount())throw new z;return R}function z(){}z.prototype=new Error},36614:function(X,Q,E){var P=E(95329);X.exports=_;function _(){this._arr=[],this._keyIndices={}}_.prototype.size=function(){return this._arr.length},_.prototype.keys=function(){return this._arr.map(function(z){return z.key})},_.prototype.has=function(z){return P.has(this._keyIndices,z)},_.prototype.priority=function(z){var C=this._keyIndices[z];if(C!==void 0)return this._arr[C].priority},_.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},_.prototype.add=function(z,C){var S=this._keyIndices;if(z=String(z),!P.has(S,z)){var N=this._arr,R=N.length;return S[z]=R,N.push({key:z,priority:C}),this._decrease(R),!0}return!1},_.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},_.prototype.decrease=function(z,C){var S=this._keyIndices[z];if(C>this._arr[S].priority)throw new Error("New priority is greater than current priority. Key: "+z+" Old: "+this._arr[S].priority+" New: "+C);this._arr[S].priority=C,this._decrease(S)},_.prototype._heapify=function(z){var C=this._arr,S=2*z,N=S+1,R=z;S<C.length&&(R=C[S].priority<C[R].priority?S:R,N<C.length&&(R=C[N].priority<C[R].priority?N:R),R!==z&&(this._swap(z,R),this._heapify(R)))},_.prototype._decrease=function(z){for(var C=this._arr,S=C[z].priority,N;z!==0&&(N=z>>1,!(C[N].priority<S));)this._swap(z,N),z=N},_.prototype._swap=function(z,C){var S=this._arr,N=this._keyIndices,R=S[z],T=S[C];S[z]=T,S[C]=R,N[T.key]=z,N[R.key]=C}},6349:function(X,Q,E){"use strict";var P=E(95329);X.exports=S;var _="\0",z="\0",C="";function S(I){this._isDirected=P.has(I,"directed")?I.directed:!0,this._isMultigraph=P.has(I,"multigraph")?I.multigraph:!1,this._isCompound=P.has(I,"compound")?I.compound:!1,this._label=void 0,this._defaultNodeLabelFn=P.constant(void 0),this._defaultEdgeLabelFn=P.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={}}S.prototype._nodeCount=0,S.prototype._edgeCount=0,S.prototype.isDirected=function(){return this._isDirected},S.prototype.isMultigraph=function(){return this._isMultigraph},S.prototype.isCompound=function(){return this._isCompound},S.prototype.setGraph=function(I){return this._label=I,this},S.prototype.graph=function(){return this._label},S.prototype.setDefaultNodeLabel=function(I){return P.isFunction(I)||(I=P.constant(I)),this._defaultNodeLabelFn=I,this},S.prototype.nodeCount=function(){return this._nodeCount},S.prototype.nodes=function(){return P.keys(this._nodes)},S.prototype.sources=function(){var I=this;return P.filter(this.nodes(),function(H){return P.isEmpty(I._in[H])})},S.prototype.sinks=function(){var I=this;return P.filter(this.nodes(),function(H){return P.isEmpty(I._out[H])})},S.prototype.setNodes=function(I,H){var U=arguments,K=this;return P.each(I,function(rt){U.length>1?K.setNode(rt,H):K.setNode(rt)}),this},S.prototype.setNode=function(I,H){return P.has(this._nodes,I)?(arguments.length>1&&(this._nodes[I]=H),this):(this._nodes[I]=arguments.length>1?H:this._defaultNodeLabelFn(I),this._isCompound&&(this._parent[I]=z,this._children[I]={},this._children[z][I]=!0),this._in[I]={},this._preds[I]={},this._out[I]={},this._sucs[I]={},++this._nodeCount,this)},S.prototype.node=function(I){return this._nodes[I]},S.prototype.hasNode=function(I){return P.has(this._nodes,I)},S.prototype.removeNode=function(I){var H=this;if(P.has(this._nodes,I)){var U=function(K){H.removeEdge(H._edgeObjs[K])};delete this._nodes[I],this._isCompound&&(this._removeFromParentsChildList(I),delete this._parent[I],P.each(this.children(I),function(K){H.setParent(K)}),delete this._children[I]),P.each(P.keys(this._in[I]),U),delete this._in[I],delete this._preds[I],P.each(P.keys(this._out[I]),U),delete this._out[I],delete this._sucs[I],--this._nodeCount}return this},S.prototype.setParent=function(I,H){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(P.isUndefined(H))H=z;else{H+="";for(var U=H;!P.isUndefined(U);U=this.parent(U))if(U===I)throw new Error("Setting "+H+" as parent of "+I+" would create a cycle");this.setNode(H)}return this.setNode(I),this._removeFromParentsChildList(I),this._parent[I]=H,this._children[H][I]=!0,this},S.prototype._removeFromParentsChildList=function(I){delete this._children[this._parent[I]][I]},S.prototype.parent=function(I){if(this._isCompound){var H=this._parent[I];if(H!==z)return H}},S.prototype.children=function(I){if(P.isUndefined(I)&&(I=z),this._isCompound){var H=this._children[I];if(H)return P.keys(H)}else{if(I===z)return this.nodes();if(this.hasNode(I))return[]}},S.prototype.predecessors=function(I){var H=this._preds[I];if(H)return P.keys(H)},S.prototype.successors=function(I){var H=this._sucs[I];if(H)return P.keys(H)},S.prototype.neighbors=function(I){var H=this.predecessors(I);if(H)return P.union(H,this.successors(I))},S.prototype.isLeaf=function(I){var H;return this.isDirected()?H=this.successors(I):H=this.neighbors(I),H.length===0},S.prototype.filterNodes=function(I){var H=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});H.setGraph(this.graph());var U=this;P.each(this._nodes,function(tt,J){I(J)&&H.setNode(J,tt)}),P.each(this._edgeObjs,function(tt){H.hasNode(tt.v)&&H.hasNode(tt.w)&&H.setEdge(tt,U.edge(tt))});var K={};function rt(tt){var J=U.parent(tt);return J===void 0||H.hasNode(J)?(K[tt]=J,J):J in K?K[J]:rt(J)}return this._isCompound&&P.each(H.nodes(),function(tt){H.setParent(tt,rt(tt))}),H},S.prototype.setDefaultEdgeLabel=function(I){return P.isFunction(I)||(I=P.constant(I)),this._defaultEdgeLabelFn=I,this},S.prototype.edgeCount=function(){return this._edgeCount},S.prototype.edges=function(){return P.values(this._edgeObjs)},S.prototype.setPath=function(I,H){var U=this,K=arguments;return P.reduce(I,function(rt,tt){return K.length>1?U.setEdge(rt,tt,H):U.setEdge(rt,tt),tt}),this},S.prototype.setEdge=function(){var I,H,U,K,rt=!1,tt=arguments[0];typeof tt=="object"&&tt!==null&&"v"in tt?(I=tt.v,H=tt.w,U=tt.name,arguments.length===2&&(K=arguments[1],rt=!0)):(I=tt,H=arguments[1],U=arguments[3],arguments.length>2&&(K=arguments[2],rt=!0)),I=""+I,H=""+H,P.isUndefined(U)||(U=""+U);var J=T(this._isDirected,I,H,U);if(P.has(this._edgeLabels,J))return rt&&(this._edgeLabels[J]=K),this;if(!P.isUndefined(U)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(I),this.setNode(H),this._edgeLabels[J]=rt?K:this._defaultEdgeLabelFn(I,H,U);var it=L(this._isDirected,I,H,U);return I=it.v,H=it.w,Object.freeze(it),this._edgeObjs[J]=it,N(this._preds[H],I),N(this._sucs[I],H),this._in[H][J]=it,this._out[I][J]=it,this._edgeCount++,this},S.prototype.edge=function(I,H,U){var K=arguments.length===1?F(this._isDirected,arguments[0]):T(this._isDirected,I,H,U);return this._edgeLabels[K]},S.prototype.hasEdge=function(I,H,U){var K=arguments.length===1?F(this._isDirected,arguments[0]):T(this._isDirected,I,H,U);return P.has(this._edgeLabels,K)},S.prototype.removeEdge=function(I,H,U){var K=arguments.length===1?F(this._isDirected,arguments[0]):T(this._isDirected,I,H,U),rt=this._edgeObjs[K];return rt&&(I=rt.v,H=rt.w,delete this._edgeLabels[K],delete this._edgeObjs[K],R(this._preds[H],I),R(this._sucs[I],H),delete this._in[H][K],delete this._out[I][K],this._edgeCount--),this},S.prototype.inEdges=function(I,H){var U=this._in[I];if(U){var K=P.values(U);return H?P.filter(K,function(rt){return rt.v===H}):K}},S.prototype.outEdges=function(I,H){var U=this._out[I];if(U){var K=P.values(U);return H?P.filter(K,function(rt){return rt.w===H}):K}},S.prototype.nodeEdges=function(I,H){var U=this.inEdges(I,H);if(U)return U.concat(this.outEdges(I,H))};function N(I,H){I[H]?I[H]++:I[H]=1}function R(I,H){--I[H]||delete I[H]}function T(I,H,U,K){var rt=""+H,tt=""+U;if(!I&&rt>tt){var J=rt;rt=tt,tt=J}return rt+C+tt+C+(P.isUndefined(K)?_:K)}function L(I,H,U,K){var rt=""+H,tt=""+U;if(!I&&rt>tt){var J=rt;rt=tt,tt=J}var it={v:rt,w:tt};return K&&(it.name=K),it}function F(I,H){return T(I,H.v,H.w,H.name)}},89224:function(X,Q,E){X.exports={Graph:E(6349),version:E(16544)}},17401:function(X,Q,E){var P=E(95329),_=E(6349);X.exports={write:z,read:N};function z(R){var T={options:{directed:R.isDirected(),multigraph:R.isMultigraph(),compound:R.isCompound()},nodes:C(R),edges:S(R)};return P.isUndefined(R.graph())||(T.value=P.clone(R.graph())),T}function C(R){return P.map(R.nodes(),function(T){var L=R.node(T),F=R.parent(T),I={v:T};return P.isUndefined(L)||(I.value=L),P.isUndefined(F)||(I.parent=F),I})}function S(R){return P.map(R.edges(),function(T){var L=R.edge(T),F={v:T.v,w:T.w};return P.isUndefined(T.name)||(F.name=T.name),P.isUndefined(L)||(F.value=L),F})}function N(R){var T=new _(R.options).setGraph(R.value);return P.each(R.nodes,function(L){T.setNode(L.v,L.value),L.parent&&T.setParent(L.v,L.parent)}),P.each(R.edges,function(L){T.setEdge({v:L.v,w:L.w,name:L.name},L.value)}),T}},95329:function(X,Q,E){var P;try{P={clone:E(76833),constant:E(13503),each:E(76934),filter:E(64725),has:E(99946),isArray:E(80744),isEmpty:E(61627),isFunction:E(9363),isUndefined:E(16513),keys:E(55451),map:E(9924),reduce:E(16473),size:E(40617),transform:E(91116),union:E(44065),values:E(81229)}}catch(_){}P||(P=window._),X.exports=P},16544:function(X){X.exports="2.1.8"},34634:function(X,Q,E){"use strict";E.r(Q),E.d(Q,{isAnyArray:function(){return _}});const P=Object.prototype.toString;function _(z){const C=P.call(z);return C.endsWith("Array]")&&!C.includes("Big")}},22948:function(X){X.exports=function(E){return!E||typeof E=="string"?!1:E instanceof Array||Array.isArray(E)||E.length>=0&&(E.splice instanceof Function||Object.getOwnPropertyDescriptor(E,E.length-1)&&E.constructor.name!=="String")}},15584:function(X,Q,E){var P=E(73893),_=E(33152),z=P(_,"DataView");X.exports=z},97288:function(X,Q,E){var P=E(73893),_=E(33152),z=P(_,"Promise");X.exports=z},23599:function(X,Q,E){var P=E(73893),_=E(33152),z=P(_,"Set");X.exports=z},98924:function(X,Q,E){var P=E(52166),_=E(34776),z=E(40393);function C(S){var N=-1,R=S==null?0:S.length;for(this.__data__=new P;++N<R;)this.add(S[N])}C.prototype.add=C.prototype.push=_,C.prototype.has=z,X.exports=C},26873:function(X,Q,E){var P=E(73893),_=E(33152),z=P(_,"WeakMap");X.exports=z},74809:function(X){function Q(E,P){for(var _=-1,z=E==null?0:E.length;++_<z&&P(E[_],_,E)!==!1;);return E}X.exports=Q},86952:function(X){function Q(E,P){for(var _=-1,z=E==null?0:E.length,C=0,S=[];++_<z;){var N=E[_];P(N,_,E)&&(S[C++]=N)}return S}X.exports=Q},84271:function(X,Q,E){var P=E(17424);function _(z,C){var S=z==null?0:z.length;return!!S&&P(z,C,0)>-1}X.exports=_},94874:function(X){function Q(E,P,_){for(var z=-1,C=E==null?0:E.length;++z<C;)if(_(P,E[z]))return!0;return!1}X.exports=Q},75010:function(X){function Q(E,P){for(var _=-1,z=E==null?0:E.length,C=Array(z);++_<z;)C[_]=P(E[_],_,E);return C}X.exports=Q},57095:function(X){function Q(E,P){for(var _=-1,z=P.length,C=E.length;++_<z;)E[C+_]=P[_];return E}X.exports=Q},99861:function(X){function Q(E,P,_,z){var C=-1,S=E==null?0:E.length;for(z&&S&&(_=E[++C]);++C<S;)_=P(_,E[C],C,E);return _}X.exports=Q},64045:function(X){function Q(E,P){for(var _=-1,z=E==null?0:E.length;++_<z;)if(P(E[_],_,E))return!0;return!1}X.exports=Q},26539:function(X,Q,E){var P=E(22310),_=P("length");X.exports=_},91937:function(X,Q,E){var P=E(95378),_=E(55451);function z(C,S){return C&&P(S,_(S),C)}X.exports=z},26680:function(X,Q,E){var P=E(95378),_=E(56730);function z(C,S){return C&&P(S,_(S),C)}X.exports=z},99045:function(X,Q,E){var P=E(91866),_=E(74809),z=E(60348),C=E(91937),S=E(26680),N=E(32315),R=E(47760),T=E(15168),L=E(71678),F=E(12076),I=E(22675),H=E(66139),U=E(79264),K=E(97541),rt=E(4084),tt=E(80744),J=E(57835),it=E(41626),at=E(20816),ut=E(65226),ht=E(55451),bt=E(56730),pt=1,wt=2,ft=4,xt="[object Arguments]",Nt="[object Array]",Bt="[object Boolean]",_t="[object Date]",Kt="[object Error]",me="[object Function]",Me="[object GeneratorFunction]",Ge="[object Map]",Rn="[object Number]",Mr="[object Object]",Pi="[object RegExp]",la="[object Set]",kt="[object String]",Rt="[object Symbol]",zt="[object WeakMap]",dt="[object ArrayBuffer]",Mt="[object DataView]",Tt="[object Float32Array]",Wt="[object Float64Array]",oe="[object Int8Array]",be="[object Int16Array]",fe="[object Int32Array]",Re="[object Uint8Array]",An="[object Uint8ClampedArray]",Cn="[object Uint16Array]",Le="[object Uint32Array]",Ae={};Ae[xt]=Ae[Nt]=Ae[dt]=Ae[Mt]=Ae[Bt]=Ae[_t]=Ae[Tt]=Ae[Wt]=Ae[oe]=Ae[be]=Ae[fe]=Ae[Ge]=Ae[Rn]=Ae[Mr]=Ae[Pi]=Ae[la]=Ae[kt]=Ae[Rt]=Ae[Re]=Ae[An]=Ae[Cn]=Ae[Le]=!0,Ae[Kt]=Ae[me]=Ae[zt]=!1;function re(Oe,cr,ca,ne,ss,kr){var Yn,Lr=cr&pt,os=cr&wt,ua=cr&ft;if(ca&&(Yn=ss?ca(Oe,ne,ss,kr):ca(Oe)),Yn!==void 0)return Yn;if(!at(Oe))return Oe;var Js=tt(Oe);if(Js){if(Yn=U(Oe),!Lr)return R(Oe,Yn)}else{var ha=H(Oe),Bo=ha==me||ha==Me;if(J(Oe))return N(Oe,Lr);if(ha==Mr||ha==xt||Bo&&!ss){if(Yn=os||Bo?{}:rt(Oe),!Lr)return os?L(Oe,S(Yn,Oe)):T(Oe,C(Yn,Oe))}else{if(!Ae[ha])return ss?Oe:{};Yn=K(Oe,ha,Lr)}}kr||(kr=new P);var ls=kr.get(Oe);if(ls)return ls;kr.set(Oe,Yn),ut(Oe)?Oe.forEach(function(Si){Yn.add(re(Si,cr,ca,Si,Oe,kr))}):it(Oe)&&Oe.forEach(function(Si,Oi){Yn.set(Oi,re(Si,cr,ca,Oi,Oe,kr))});var cs=ua?os?I:F:os?bt:ht,us=Js?void 0:cs(Oe);return _(us||Oe,function(Si,Oi){us&&(Oi=Si,Si=Oe[Oi]),z(Yn,Oi,re(Si,cr,ca,Oi,Oe,kr))}),Yn}X.exports=re},44107:function(X,Q,E){var P=E(1585),_=E(49164),z=_(P);X.exports=z},2659:function(X,Q,E){var P=E(45029);function _(z,C,S){for(var N=-1,R=z.length;++N<R;){var T=z[N],L=C(T);if(L!=null&&(F===void 0?L===L&&!P(L):S(L,F)))var F=L,I=T}return I}X.exports=_},32872:function(X,Q,E){var P=E(44107);function _(z,C){var S=[];return P(z,function(N,R,T){C(N,R,T)&&S.push(N)}),S}X.exports=_},51533:function(X){function Q(E,P,_,z){for(var C=E.length,S=_+(z?1:-1);z?S--:++S<C;)if(P(E[S],S,E))return S;return-1}X.exports=Q},9256:function(X,Q,E){var P=E(57095),_=E(88133);function z(C,S,N,R,T){var L=-1,F=C.length;for(N||(N=_),T||(T=[]);++L<F;){var I=C[L];S>0&&N(I)?S>1?z(I,S-1,N,R,T):P(T,I):R||(T[T.length]=I)}return T}X.exports=z},1585:function(X,Q,E){var P=E(14018),_=E(55451);function z(C,S){return C&&P(C,S,_)}X.exports=z},89147:function(X,Q,E){var P=E(1186),_=E(9171);function z(C,S){S=P(S,C);for(var N=0,R=S.length;C!=null&&N<R;)C=C[_(S[N++])];return N&&N==R?C:void 0}X.exports=z},75635:function(X,Q,E){var P=E(57095),_=E(80744);function z(C,S,N){var R=S(C);return _(C)?R:P(R,N(C))}X.exports=z},40302:function(X){function Q(E,P){return E>P}X.exports=Q},3251:function(X){var Q=Object.prototype,E=Q.hasOwnProperty;function P(_,z){return _!=null&&E.call(_,z)}X.exports=P},62348:function(X){function Q(E,P){return E!=null&&P in Object(E)}X.exports=Q},17424:function(X,Q,E){var P=E(51533),_=E(8373),z=E(49237);function C(S,N,R){return N===N?z(S,N,R):P(S,_,R)}X.exports=C},77295:function(X,Q,E){var P=E(84412),_=E(93913);function z(C,S,N,R,T){return C===S?!0:C==null||S==null||!_(C)&&!_(S)?C!==C&&S!==S:P(C,S,N,R,z,T)}X.exports=z},84412:function(X,Q,E){var P=E(91866),_=E(50401),z=E(57710),C=E(4983),S=E(66139),N=E(80744),R=E(57835),T=E(18397),L=1,F="[object Arguments]",I="[object Array]",H="[object Object]",U=Object.prototype,K=U.hasOwnProperty;function rt(tt,J,it,at,ut,ht){var bt=N(tt),pt=N(J),wt=bt?I:S(tt),ft=pt?I:S(J);wt=wt==F?H:wt,ft=ft==F?H:ft;var xt=wt==H,Nt=ft==H,Bt=wt==ft;if(Bt&&R(tt)){if(!R(J))return!1;bt=!0,xt=!1}if(Bt&&!xt)return ht||(ht=new P),bt||T(tt)?_(tt,J,it,at,ut,ht):z(tt,J,wt,it,at,ut,ht);if(!(it&L)){var _t=xt&&K.call(tt,"__wrapped__"),Kt=Nt&&K.call(J,"__wrapped__");if(_t||Kt){var me=_t?tt.value():tt,Me=Kt?J.value():J;return ht||(ht=new P),ut(me,Me,it,at,ht)}}return Bt?(ht||(ht=new P),C(tt,J,it,at,ut,ht)):!1}X.exports=rt},55005:function(X,Q,E){var P=E(66139),_=E(93913),z="[object Map]";function C(S){return _(S)&&P(S)==z}X.exports=C},51524:function(X,Q,E){var P=E(91866),_=E(77295),z=1,C=2;function S(N,R,T,L){var F=T.length,I=F,H=!L;if(N==null)return!I;for(N=Object(N);F--;){var U=T[F];if(H&&U[2]?U[1]!==N[U[0]]:!(U[0]in N))return!1}for(;++F<I;){U=T[F];var K=U[0],rt=N[K],tt=U[1];if(H&&U[2]){if(rt===void 0&&!(K in N))return!1}else{var J=new P;if(L)var it=L(rt,tt,K,N,R,J);if(!(it===void 0?_(tt,rt,z|C,L,J):it))return!1}}return!0}X.exports=S},8373:function(X){function Q(E){return E!==E}X.exports=Q},38652:function(X,Q,E){var P=E(66139),_=E(93913),z="[object Set]";function C(S){return _(S)&&P(S)==z}X.exports=C},95979:function(X,Q,E){var P=E(17632),_=E(38933),z=E(46962),C=E(80744),S=E(35769);function N(R){return typeof R=="function"?R:R==null?z:typeof R=="object"?C(R)?_(R[0],R[1]):P(R):S(R)}X.exports=N},6019:function(X,Q,E){var P=E(7975),_=E(23730),z=Object.prototype,C=z.hasOwnProperty;function S(N){if(!P(N))return _(N);var R=[];for(var T in Object(N))C.call(N,T)&&T!="constructor"&&R.push(T);return R}X.exports=S},93757:function(X){function Q(E,P){return E<P}X.exports=Q},65487:function(X,Q,E){var P=E(44107),_=E(24665);function z(C,S){var N=-1,R=_(C)?Array(C.length):[];return P(C,function(T,L,F){R[++N]=S(T,L,F)}),R}X.exports=z},17632:function(X,Q,E){var P=E(51524),_=E(10261),z=E(24122);function C(S){var N=_(S);return N.length==1&&N[0][2]?z(N[0][0],N[0][1]):function(R){return R===S||P(R,S,N)}}X.exports=C},38933:function(X,Q,E){var P=E(77295),_=E(44231),z=E(37879),C=E(86773),S=E(88411),N=E(24122),R=E(9171),T=1,L=2;function F(I,H){return C(I)&&S(H)?N(R(I),H):function(U){var K=_(U,I);return K===void 0&&K===H?z(U,I):P(H,K,T|L)}}X.exports=F},58506:function(X,Q,E){var P=E(75010),_=E(89147),z=E(95979),C=E(65487),S=E(33065),N=E(38342),R=E(11249),T=E(46962),L=E(80744);function F(I,H,U){H.length?H=P(H,function(tt){return L(tt)?function(J){return _(J,tt.length===1?tt[0]:tt)}:tt}):H=[T];var K=-1;H=P(H,N(z));var rt=C(I,function(tt,J,it){var at=P(H,function(ut){return ut(tt)});return{criteria:at,index:++K,value:tt}});return S(rt,function(tt,J){return R(tt,J,U)})}X.exports=F},88832:function(X,Q,E){var P=E(10867),_=E(37879);function z(C,S){return P(C,S,function(N,R){return _(C,R)})}X.exports=z},10867:function(X,Q,E){var P=E(89147),_=E(36897),z=E(1186);function C(S,N,R){for(var T=-1,L=N.length,F={};++T<L;){var I=N[T],H=P(S,I);R(H,I)&&_(F,z(I,S),H)}return F}X.exports=C},22310:function(X){function Q(E){return function(P){return P==null?void 0:P[E]}}X.exports=Q},96916:function(X,Q,E){var P=E(89147);function _(z){return function(C){return P(C,z)}}X.exports=_},36121:function(X){var Q=Math.ceil,E=Math.max;function P(_,z,C,S){for(var N=-1,R=E(Q((z-_)/(C||1)),0),T=Array(R);R--;)T[S?R:++N]=_,_+=C;return T}X.exports=P},30739:function(X){function Q(E,P,_,z,C){return C(E,function(S,N,R){_=z?(z=!1,S):P(_,S,N,R)}),_}X.exports=Q},36897:function(X,Q,E){var P=E(60348),_=E(1186),z=E(70213),C=E(20816),S=E(9171);function N(R,T,L,F){if(!C(R))return R;T=_(T,R);for(var I=-1,H=T.length,U=H-1,K=R;K!=null&&++I<H;){var rt=S(T[I]),tt=L;if(rt==="__proto__"||rt==="constructor"||rt==="prototype")return R;if(I!=U){var J=K[rt];tt=F?F(J,rt,K):void 0,tt===void 0&&(tt=C(J)?J:z(T[I+1])?[]:{})}P(K,rt,tt),K=K[rt]}return R}X.exports=N},33065:function(X){function Q(E,P){var _=E.length;for(E.sort(P);_--;)E[_]=E[_].value;return E}X.exports=Q},50230:function(X,Q,E){var P=E(91869),_=E(75010),z=E(80744),C=E(45029),S=1/0,N=P?P.prototype:void 0,R=N?N.toString:void 0;function T(L){if(typeof L=="string")return L;if(z(L))return _(L,T)+"";if(C(L))return R?R.call(L):"";var F=L+"";return F=="0"&&1/L==-S?"-0":F}X.exports=T},13927:function(X,Q,E){var P=E(15333),_=/^\s+/;function z(C){return C&&C.slice(0,P(C)+1).replace(_,"")}X.exports=z},29098:function(X,Q,E){var P=E(98924),_=E(84271),z=E(94874),C=E(1931),S=E(47506),N=E(79679),R=200;function T(L,F,I){var H=-1,U=_,K=L.length,rt=!0,tt=[],J=tt;if(I)rt=!1,U=z;else if(K>=R){var it=F?null:S(L);if(it)return N(it);rt=!1,U=C,J=new P}else J=F?[]:tt;t:for(;++H<K;){var at=L[H],ut=F?F(at):at;if(at=I||at!==0?at:0,rt&&ut===ut){for(var ht=J.length;ht--;)if(J[ht]===ut)continue t;F&&J.push(ut),tt.push(at)}else U(J,ut,I)||(J!==tt&&J.push(ut),tt.push(at))}return tt}X.exports=T},20720:function(X,Q,E){var P=E(75010);function _(z,C){return P(C,function(S){return z[S]})}X.exports=_},94484:function(X){function Q(E,P,_){for(var z=-1,C=E.length,S=P.length,N={};++z<C;){var R=z<S?P[z]:void 0;_(N,E[z],R)}return N}X.exports=Q},1931:function(X){function Q(E,P){return E.has(P)}X.exports=Q},11756:function(X,Q,E){var P=E(46962);function _(z){return typeof z=="function"?z:P}X.exports=_},1186:function(X,Q,E){var P=E(80744),_=E(86773),z=E(40493),C=E(44140);function S(N,R){return P(N)?N:_(N,R)?[N]:z(C(N))}X.exports=S},27984:function(X,Q,E){var P=E(20188);function _(z,C){var S=C?P(z.buffer):z.buffer;return new z.constructor(S,z.byteOffset,z.byteLength)}X.exports=_},78583:function(X){var Q=/\w*$/;function E(P){var _=new P.constructor(P.source,Q.exec(P));return _.lastIndex=P.lastIndex,_}X.exports=E},28757:function(X,Q,E){var P=E(91869),_=P?P.prototype:void 0,z=_?_.valueOf:void 0;function C(S){return z?Object(z.call(S)):{}}X.exports=C},83018:function(X,Q,E){var P=E(45029);function _(z,C){if(z!==C){var S=z!==void 0,N=z===null,R=z===z,T=P(z),L=C!==void 0,F=C===null,I=C===C,H=P(C);if(!F&&!H&&!T&&z>C||T&&L&&I&&!F&&!H||N&&L&&I||!S&&I||!R)return 1;if(!N&&!T&&!H&&z<C||H&&S&&R&&!N&&!T||F&&S&&R||!L&&R||!I)return-1}return 0}X.exports=_},11249:function(X,Q,E){var P=E(83018);function _(z,C,S){for(var N=-1,R=z.criteria,T=C.criteria,L=R.length,F=S.length;++N<L;){var I=P(R[N],T[N]);if(I){if(N>=F)return I;var H=S[N];return I*(H=="desc"?-1:1)}}return z.index-C.index}X.exports=_},15168:function(X,Q,E){var P=E(95378),_=E(58966);function z(C,S){return P(C,_(C),S)}X.exports=z},71678:function(X,Q,E){var P=E(95378),_=E(66817);function z(C,S){return P(C,_(C),S)}X.exports=z},49164:function(X,Q,E){var P=E(24665);function _(z,C){return function(S,N){if(S==null)return S;if(!P(S))return z(S,N);for(var R=S.length,T=C?R:-1,L=Object(S);(C?T--:++T<R)&&N(L[T],T,L)!==!1;);return S}}X.exports=_},19554:function(X,Q,E){var P=E(95979),_=E(24665),z=E(55451);function C(S){return function(N,R,T){var L=Object(N);if(!_(N)){var F=P(R,3);N=z(N),R=function(H){return F(L[H],H,L)}}var I=S(N,R,T);return I>-1?L[F?N[I]:I]:void 0}}X.exports=C},76106:function(X,Q,E){var P=E(36121),_=E(8138),z=E(97341);function C(S){return function(N,R,T){return T&&typeof T!="number"&&_(N,R,T)&&(R=T=void 0),N=z(N),R===void 0?(R=N,N=0):R=z(R),T=T===void 0?N<R?1:-1:z(T),P(N,R,T,S)}}X.exports=C},47506:function(X,Q,E){var P=E(23599),_=E(9958),z=E(79679),C=1/0,S=P&&1/z(new P([,-0]))[1]==C?function(N){return new P(N)}:_;X.exports=S},50401:function(X,Q,E){var P=E(98924),_=E(64045),z=E(1931),C=1,S=2;function N(R,T,L,F,I,H){var U=L&C,K=R.length,rt=T.length;if(K!=rt&&!(U&&rt>K))return!1;var tt=H.get(R),J=H.get(T);if(tt&&J)return tt==T&&J==R;var it=-1,at=!0,ut=L&S?new P:void 0;for(H.set(R,T),H.set(T,R);++it<K;){var ht=R[it],bt=T[it];if(F)var pt=U?F(bt,ht,it,T,R,H):F(ht,bt,it,R,T,H);if(pt!==void 0){if(pt)continue;at=!1;break}if(ut){if(!_(T,function(wt,ft){if(!z(ut,ft)&&(ht===wt||I(ht,wt,L,F,H)))return ut.push(ft)})){at=!1;break}}else if(!(ht===bt||I(ht,bt,L,F,H))){at=!1;break}}return H.delete(R),H.delete(T),at}X.exports=N},57710:function(X,Q,E){var P=E(91869),_=E(77945),z=E(43607),C=E(50401),S=E(83383),N=E(79679),R=1,T=2,L="[object Boolean]",F="[object Date]",I="[object Error]",H="[object Map]",U="[object Number]",K="[object RegExp]",rt="[object Set]",tt="[object String]",J="[object Symbol]",it="[object ArrayBuffer]",at="[object DataView]",ut=P?P.prototype:void 0,ht=ut?ut.valueOf:void 0;function bt(pt,wt,ft,xt,Nt,Bt,_t){switch(ft){case at:if(pt.byteLength!=wt.byteLength||pt.byteOffset!=wt.byteOffset)return!1;pt=pt.buffer,wt=wt.buffer;case it:return!(pt.byteLength!=wt.byteLength||!Bt(new _(pt),new _(wt)));case L:case F:case U:return z(+pt,+wt);case I:return pt.name==wt.name&&pt.message==wt.message;case K:case tt:return pt==wt+"";case H:var Kt=S;case rt:var me=xt&R;if(Kt||(Kt=N),pt.size!=wt.size&&!me)return!1;var Me=_t.get(pt);if(Me)return Me==wt;xt|=T,_t.set(pt,wt);var Ge=C(Kt(pt),Kt(wt),xt,Nt,Bt,_t);return _t.delete(pt),Ge;case J:if(ht)return ht.call(pt)==ht.call(wt)}return!1}X.exports=bt},4983:function(X,Q,E){var P=E(12076),_=1,z=Object.prototype,C=z.hasOwnProperty;function S(N,R,T,L,F,I){var H=T&_,U=P(N),K=U.length,rt=P(R),tt=rt.length;if(K!=tt&&!H)return!1;for(var J=K;J--;){var it=U[J];if(!(H?it in R:C.call(R,it)))return!1}var at=I.get(N),ut=I.get(R);if(at&&ut)return at==R&&ut==N;var ht=!0;I.set(N,R),I.set(R,N);for(var bt=H;++J<K;){it=U[J];var pt=N[it],wt=R[it];if(L)var ft=H?L(wt,pt,it,R,N,I):L(pt,wt,it,N,R,I);if(!(ft===void 0?pt===wt||F(pt,wt,T,L,I):ft)){ht=!1;break}bt||(bt=it=="constructor")}if(ht&&!bt){var xt=N.constructor,Nt=R.constructor;xt!=Nt&&"constructor"in N&&"constructor"in R&&!(typeof xt=="function"&&xt instanceof xt&&typeof Nt=="function"&&Nt instanceof Nt)&&(ht=!1)}return I.delete(N),I.delete(R),ht}X.exports=S},522:function(X,Q,E){var P=E(39807),_=E(19652),z=E(71152);function C(S){return z(_(S,void 0,P),S+"")}X.exports=C},12076:function(X,Q,E){var P=E(75635),_=E(58966),z=E(55451);function C(S){return P(S,z,_)}X.exports=C},22675:function(X,Q,E){var P=E(75635),_=E(66817),z=E(56730);function C(S){return P(S,z,_)}X.exports=C},10261:function(X,Q,E){var P=E(88411),_=E(55451);function z(C){for(var S=_(C),N=S.length;N--;){var R=S[N],T=C[R];S[N]=[R,T,P(T)]}return S}X.exports=z},58966:function(X,Q,E){var P=E(86952),_=E(4134),z=Object.prototype,C=z.propertyIsEnumerable,S=Object.getOwnPropertySymbols,N=S?function(R){return R==null?[]:(R=Object(R),P(S(R),function(T){return C.call(R,T)}))}:_;X.exports=N},66817:function(X,Q,E){var P=E(57095),_=E(49217),z=E(58966),C=E(4134),S=Object.getOwnPropertySymbols,N=S?function(R){for(var T=[];R;)P(T,z(R)),R=_(R);return T}:C;X.exports=N},66139:function(X,Q,E){var P=E(15584),_=E(40164),z=E(97288),C=E(23599),S=E(26873),N=E(86756),R=E(63256),T="[object Map]",L="[object Object]",F="[object Promise]",I="[object Set]",H="[object WeakMap]",U="[object DataView]",K=R(P),rt=R(_),tt=R(z),J=R(C),it=R(S),at=N;(P&&at(new P(new ArrayBuffer(1)))!=U||_&&at(new _)!=T||z&&at(z.resolve())!=F||C&&at(new C)!=I||S&&at(new S)!=H)&&(at=function(ut){var ht=N(ut),bt=ht==L?ut.constructor:void 0,pt=bt?R(bt):"";if(pt)switch(pt){case K:return U;case rt:return T;case tt:return F;case J:return I;case it:return H}return ht}),X.exports=at},63100:function(X,Q,E){var P=E(1186),_=E(13053),z=E(80744),C=E(70213),S=E(11156),N=E(9171);function R(T,L,F){L=P(L,T);for(var I=-1,H=L.length,U=!1;++I<H;){var K=N(L[I]);if(!(U=T!=null&&F(T,K)))break;T=T[K]}return U||++I!=H?U:(H=T==null?0:T.length,!!H&&S(H)&&C(K,H)&&(z(T)||_(T)))}X.exports=R},55015:function(X){var Q="\\ud800-\\udfff",E="\\u0300-\\u036f",P="\\ufe20-\\ufe2f",_="\\u20d0-\\u20ff",z=E+P+_,C="\\ufe0e\\ufe0f",S="\\u200d",N=RegExp("["+S+Q+z+C+"]");function R(T){return N.test(T)}X.exports=R},79264:function(X){var Q=Object.prototype,E=Q.hasOwnProperty;function P(_){var z=_.length,C=new _.constructor(z);return z&&typeof _[0]=="string"&&E.call(_,"index")&&(C.index=_.index,C.input=_.input),C}X.exports=P},97541:function(X,Q,E){var P=E(20188),_=E(27984),z=E(78583),C=E(28757),S=E(78358),N="[object Boolean]",R="[object Date]",T="[object Map]",L="[object Number]",F="[object RegExp]",I="[object Set]",H="[object String]",U="[object Symbol]",K="[object ArrayBuffer]",rt="[object DataView]",tt="[object Float32Array]",J="[object Float64Array]",it="[object Int8Array]",at="[object Int16Array]",ut="[object Int32Array]",ht="[object Uint8Array]",bt="[object Uint8ClampedArray]",pt="[object Uint16Array]",wt="[object Uint32Array]";function ft(xt,Nt,Bt){var _t=xt.constructor;switch(Nt){case K:return P(xt);case N:case R:return new _t(+xt);case rt:return _(xt,Bt);case tt:case J:case it:case at:case ut:case ht:case bt:case pt:case wt:return S(xt,Bt);case T:return new _t;case L:case H:return new _t(xt);case F:return z(xt);case I:return new _t;case U:return C(xt)}}X.exports=ft},88133:function(X,Q,E){var P=E(91869),_=E(13053),z=E(80744),C=P?P.isConcatSpreadable:void 0;function S(N){return z(N)||_(N)||!!(C&&N&&N[C])}X.exports=S},86773:function(X,Q,E){var P=E(80744),_=E(45029),z=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,C=/^\w*$/;function S(N,R){if(P(N))return!1;var T=typeof N;return T=="number"||T=="symbol"||T=="boolean"||N==null||_(N)?!0:C.test(N)||!z.test(N)||R!=null&&N in Object(R)}X.exports=S},88411:function(X,Q,E){var P=E(20816);function _(z){return z===z&&!P(z)}X.exports=_},83383:function(X){function Q(E){var P=-1,_=Array(E.size);return E.forEach(function(z,C){_[++P]=[C,z]}),_}X.exports=Q},24122:function(X){function Q(E,P){return function(_){return _==null?!1:_[E]===P&&(P!==void 0||E in Object(_))}}X.exports=Q},26332:function(X,Q,E){var P=E(52858),_=500;function z(C){var S=P(C,function(R){return N.size===_&&N.clear(),R}),N=S.cache;return S}X.exports=z},23730:function(X,Q,E){var P=E(31030),_=P(Object.keys,Object);X.exports=_},34776:function(X){var Q="__lodash_hash_undefined__";function E(P){return this.__data__.set(P,Q),this}X.exports=E},40393:function(X){function Q(E){return this.__data__.has(E)}X.exports=Q},79679:function(X){function Q(E){var P=-1,_=Array(E.size);return E.forEach(function(z){_[++P]=z}),_}X.exports=Q},49237:function(X){function Q(E,P,_){for(var z=_-1,C=E.length;++z<C;)if(E[z]===P)return z;return-1}X.exports=Q},29405:function(X,Q,E){var P=E(26539),_=E(55015),z=E(60844);function C(S){return _(S)?z(S):P(S)}X.exports=C},40493:function(X,Q,E){var P=E(26332),_=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,z=/\\(\\)?/g,C=P(function(S){var N=[];return S.charCodeAt(0)===46&&N.push(""),S.replace(_,function(R,T,L,F){N.push(L?F.replace(z,"$1"):T||R)}),N});X.exports=C},9171:function(X,Q,E){var P=E(45029),_=1/0;function z(C){if(typeof C=="string"||P(C))return C;var S=C+"";return S=="0"&&1/C==-_?"-0":S}X.exports=z},15333:function(X){var Q=/\s/;function E(P){for(var _=P.length;_--&&Q.test(P.charAt(_)););return _}X.exports=E},60844:function(X){var Q="\\ud800-\\udfff",E="\\u0300-\\u036f",P="\\ufe20-\\ufe2f",_="\\u20d0-\\u20ff",z=E+P+_,C="\\ufe0e\\ufe0f",S="["+Q+"]",N="["+z+"]",R="\\ud83c[\\udffb-\\udfff]",T="(?:"+N+"|"+R+")",L="[^"+Q+"]",F="(?:\\ud83c[\\udde6-\\uddff]){2}",I="[\\ud800-\\udbff][\\udc00-\\udfff]",H="\\u200d",U=T+"?",K="["+C+"]?",rt="(?:"+H+"(?:"+[L,F,I].join("|")+")"+K+U+")*",tt=K+U+rt,J="(?:"+[L+N+"?",N,F,I,S].join("|")+")",it=RegExp(R+"(?="+R+")|"+J+tt,"g");function at(ut){for(var ht=it.lastIndex=0;it.test(ut);)++ht;return ht}X.exports=at},76833:function(X,Q,E){var P=E(99045),_=4;function z(C){return P(C,_)}X.exports=z},20250:function(X,Q,E){var P=E(99045),_=1,z=4;function C(S){return P(S,_|z)}X.exports=C},28548:function(X,Q,E){var P=E(92918),_=E(43607),z=E(8138),C=E(56730),S=Object.prototype,N=S.hasOwnProperty,R=P(function(T,L){T=Object(T);var F=-1,I=L.length,H=I>2?L[2]:void 0;for(H&&z(L[0],L[1],H)&&(I=1);++F<I;)for(var U=L[F],K=C(U),rt=-1,tt=K.length;++rt<tt;){var J=K[rt],it=T[J];(it===void 0||_(it,S[J])&&!N.call(T,J))&&(T[J]=U[J])}return T});X.exports=R},76934:function(X,Q,E){X.exports=E(99204)},64725:function(X,Q,E){var P=E(86952),_=E(32872),z=E(95979),C=E(80744);function S(N,R){var T=C(N)?P:_;return T(N,z(R,3))}X.exports=S},79785:function(X,Q,E){var P=E(19554),_=E(9991),z=P(_);X.exports=z},9991:function(X,Q,E){var P=E(51533),_=E(95979),z=E(12824),C=Math.max;function S(N,R,T){var L=N==null?0:N.length;if(!L)return-1;var F=T==null?0:z(T);return F<0&&(F=C(L+F,0)),P(N,_(R,3),F)}X.exports=S},39807:function(X,Q,E){var P=E(9256);function _(z){var C=z==null?0:z.length;return C?P(z,1):[]}X.exports=_},99204:function(X,Q,E){var P=E(74809),_=E(44107),z=E(11756),C=E(80744);function S(N,R){var T=C(N)?P:_;return T(N,z(R))}X.exports=S},23190:function(X,Q,E){var P=E(14018),_=E(11756),z=E(56730);function C(S,N){return S==null?S:P(S,_(N),z)}X.exports=C},44231:function(X,Q,E){var P=E(89147);function _(z,C,S){var N=z==null?void 0:P(z,C);return N===void 0?S:N}X.exports=_},99946:function(X,Q,E){var P=E(3251),_=E(63100);function z(C,S){return C!=null&&_(C,S,P)}X.exports=z},37879:function(X,Q,E){var P=E(62348),_=E(63100);function z(C,S){return C!=null&&_(C,S,P)}X.exports=z},61627:function(X,Q,E){var P=E(6019),_=E(66139),z=E(13053),C=E(80744),S=E(24665),N=E(57835),R=E(7975),T=E(18397),L="[object Map]",F="[object Set]",I=Object.prototype,H=I.hasOwnProperty;function U(K){if(K==null)return!0;if(S(K)&&(C(K)||typeof K=="string"||typeof K.splice=="function"||N(K)||T(K)||z(K)))return!K.length;var rt=_(K);if(rt==L||rt==F)return!K.size;if(R(K))return!P(K).length;for(var tt in K)if(H.call(K,tt))return!1;return!0}X.exports=U},41626:function(X,Q,E){var P=E(55005),_=E(38342),z=E(52495),C=z&&z.isMap,S=C?_(C):P;X.exports=S},65226:function(X,Q,E){var P=E(38652),_=E(38342),z=E(52495),C=z&&z.isSet,S=C?_(C):P;X.exports=S},7941:function(X,Q,E){var P=E(86756),_=E(80744),z=E(93913),C="[object String]";function S(N){return typeof N=="string"||!_(N)&&z(N)&&P(N)==C}X.exports=S},45029:function(X,Q,E){var P=E(86756),_=E(93913),z="[object Symbol]";function C(S){return typeof S=="symbol"||_(S)&&P(S)==z}X.exports=C},16513:function(X){function Q(E){return E===void 0}X.exports=Q},55451:function(X,Q,E){var P=E(63333),_=E(6019),z=E(24665);function C(S){return z(S)?P(S):_(S)}X.exports=C},10611:function(X){function Q(E){var P=E==null?0:E.length;return P?E[P-1]:void 0}X.exports=Q},9924:function(X,Q,E){var P=E(75010),_=E(95979),z=E(65487),C=E(80744);function S(N,R){var T=C(N)?P:z;return T(N,_(R,3))}X.exports=S},70642:function(X,Q,E){var P=E(42813),_=E(1585),z=E(95979);function C(S,N){var R={};return N=z(N,3),_(S,function(T,L,F){P(R,L,N(T,L,F))}),R}X.exports=C},95987:function(X,Q,E){var P=E(2659),_=E(40302),z=E(46962);function C(S){return S&&S.length?P(S,z,_):void 0}X.exports=C},52858:function(X,Q,E){var P=E(52166),_="Expected a function";function z(C,S){if(typeof C!="function"||S!=null&&typeof S!="function")throw new TypeError(_);var N=function(){var R=arguments,T=S?S.apply(this,R):R[0],L=N.cache;if(L.has(T))return L.get(T);var F=C.apply(this,R);return N.cache=L.set(T,F)||L,F};return N.cache=new(z.Cache||P),N}z.Cache=P,X.exports=z},73376:function(X,Q,E){var P=E(2659),_=E(93757),z=E(46962);function C(S){return S&&S.length?P(S,z,_):void 0}X.exports=C},83296:function(X,Q,E){var P=E(2659),_=E(95979),z=E(93757);function C(S,N){return S&&S.length?P(S,_(N,2),z):void 0}X.exports=C},9958:function(X){function Q(){}X.exports=Q},5795:function(X,Q,E){var P=E(33152),_=function(){return P.Date.now()};X.exports=_},89409:function(X,Q,E){var P=E(88832),_=E(522),z=_(function(C,S){return C==null?{}:P(C,S)});X.exports=z},35769:function(X,Q,E){var P=E(22310),_=E(96916),z=E(86773),C=E(9171);function S(N){return z(N)?P(C(N)):_(N)}X.exports=S},60859:function(X,Q,E){var P=E(76106),_=P();X.exports=_},16473:function(X,Q,E){var P=E(99861),_=E(44107),z=E(95979),C=E(30739),S=E(80744);function N(R,T,L){var F=S(R)?P:C,I=arguments.length<3;return F(R,z(T,4),L,I,_)}X.exports=N},40617:function(X,Q,E){var P=E(6019),_=E(66139),z=E(24665),C=E(7941),S=E(29405),N="[object Map]",R="[object Set]";function T(L){if(L==null)return 0;if(z(L))return C(L)?S(L):L.length;var F=_(L);return F==N||F==R?L.size:P(L).length}X.exports=T},351:function(X,Q,E){var P=E(9256),_=E(58506),z=E(92918),C=E(8138),S=z(function(N,R){if(N==null)return[];var T=R.length;return T>1&&C(N,R[0],R[1])?R=[]:T>2&&C(R[0],R[1],R[2])&&(R=[R[0]]),_(N,P(R,1),[])});X.exports=S},4134:function(X){function Q(){return[]}X.exports=Q},97341:function(X,Q,E){var P=E(59406),_=1/0,z=17976931348623157e292;function C(S){if(!S)return S===0?S:0;if(S=P(S),S===_||S===-_){var N=S<0?-1:1;return N*z}return S===S?S:0}X.exports=C},12824:function(X,Q,E){var P=E(97341);function _(z){var C=P(z),S=C%1;return C===C?S?C-S:C:0}X.exports=_},59406:function(X,Q,E){var P=E(13927),_=E(20816),z=E(45029),C=NaN,S=/^[-+]0x[0-9a-f]+$/i,N=/^0b[01]+$/i,R=/^0o[0-7]+$/i,T=parseInt;function L(F){if(typeof F=="number")return F;if(z(F))return C;if(_(F)){var I=typeof F.valueOf=="function"?F.valueOf():F;F=_(I)?I+"":I}if(typeof F!="string")return F===0?F:+F;F=P(F);var H=N.test(F);return H||R.test(F)?T(F.slice(2),H?2:8):S.test(F)?C:+F}X.exports=L},44140:function(X,Q,E){var P=E(50230);function _(z){return z==null?"":P(z)}X.exports=_},91116:function(X,Q,E){var P=E(74809),_=E(35024),z=E(1585),C=E(95979),S=E(49217),N=E(80744),R=E(57835),T=E(9363),L=E(20816),F=E(18397);function I(H,U,K){var rt=N(H),tt=rt||R(H)||F(H);if(U=C(U,4),K==null){var J=H&&H.constructor;tt?K=rt?new J:[]:L(H)?K=T(J)?_(S(H)):{}:K={}}return(tt?P:z)(H,function(it,at,ut){return U(K,it,at,ut)}),K}X.exports=I},44065:function(X,Q,E){var P=E(9256),_=E(92918),z=E(29098),C=E(41590),S=_(function(N){return z(P(N,1,C,!0))});X.exports=S},95708:function(X,Q,E){var P=E(44140),_=0;function z(C){var S=++_;return P(C)+S}X.exports=z},81229:function(X,Q,E){var P=E(20720),_=E(55451);function z(C){return C==null?[]:P(C,_(C))}X.exports=z},65441:function(X,Q,E){var P=E(60348),_=E(94484);function z(C,S){return _(C||[],S||[],P)}X.exports=z},34402:function(X,Q,E){"use strict";E.r(Q),E.d(Q,{default:function(){return C}});var P=E(34634);function _(S){var N=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!(0,P.isAnyArray)(S))throw new TypeError("input must be an array");if(S.length===0)throw new TypeError("input must not be empty");var R=N.fromIndex,T=R===void 0?0:R,L=N.toIndex,F=L===void 0?S.length:L;if(T<0||T>=S.length||!Number.isInteger(T))throw new Error("fromIndex must be a positive integer smaller than length");if(F<=T||F>S.length||!Number.isInteger(F))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var I=S[T],H=T+1;H<F;H++)S[H]>I&&(I=S[H]);return I}function z(S){var N=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!(0,P.isAnyArray)(S))throw new TypeError("input must be an array");if(S.length===0)throw new TypeError("input must not be empty");var R=N.fromIndex,T=R===void 0?0:R,L=N.toIndex,F=L===void 0?S.length:L;if(T<0||T>=S.length||!Number.isInteger(T))throw new Error("fromIndex must be a positive integer smaller than length");if(F<=T||F>S.length||!Number.isInteger(F))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var I=S[T],H=T+1;H<F;H++)S[H]<I&&(I=S[H]);return I}function C(S){var N=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if((0,P.isAnyArray)(S)){if(S.length===0)throw new TypeError("input must not be empty")}else throw new TypeError("input must be an array");var R;if(N.output!==void 0){if(!(0,P.isAnyArray)(N.output))throw new TypeError("output option must be an array if specified");R=N.output}else R=new Array(S.length);var T=z(S),L=_(S);if(T===L)throw new RangeError("minimum and maximum input values are equal. Cannot rescale a constant array");var F=N.min,I=F===void 0?N.autoMinMax?T:0:F,H=N.max,U=H===void 0?N.autoMinMax?L:1:H;if(I>=U)throw new RangeError("min option must be smaller than max option");for(var K=(U-I)/(L-T),rt=0;rt<S.length;rt++)R[rt]=(S[rt]-T)*K+I;return R}},75029:function(X,Q,E){"use strict";var P=E(22948),_=Array.prototype.concat,z=Array.prototype.slice,C=X.exports=function(N){for(var R=[],T=0,L=N.length;T<L;T++){var F=N[T];P(F)?R=_.call(R,z.call(F)):R.push(F)}return R};C.wrap=function(S){return function(){return S(C(arguments))}}},99755:function(X){"use strict";X.exports="data:image/png;base64,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"},92691:function(X){"use strict";X.exports="data:image/png;base64,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"},46016:function(X){"use strict";X.exports="data:image/png;base64,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"},37426:function(X){"use strict";X.exports="data:image/png;base64,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"},19150:function(X){"use strict";X.exports="data:image/png;base64,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"},55303:function(X){"use strict";X.exports="data:image/png;base64,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"},91768:function(X,Q,E){"use strict";E.d(Q,{Z:function(){return C}});var P=E(20456),_=E(87042),z=E(43011);function C(S,N,R){return N=(0,P.Z)(N),(0,z.Z)(S,(0,_.Z)()?Reflect.construct(N,R||[],(0,P.Z)(S).constructor):N.apply(S,R))}},9821:function(X,Q){"use strict";var E={value:()=>{}};function P(){for(var N=0,R=arguments.length,T={},L;N<R;++N){if(!(L=arguments[N]+"")||L in T||/[\s.]/.test(L))throw new Error("illegal type: "+L);T[L]=[]}return new _(T)}function _(N){this._=N}function z(N,R){return N.trim().split(/^|\s+/).map(function(T){var L="",F=T.indexOf(".");if(F>=0&&(L=T.slice(F+1),T=T.slice(0,F)),T&&!R.hasOwnProperty(T))throw new Error("unknown type: "+T);return{type:T,name:L}})}_.prototype=P.prototype={constructor:_,on:function(N,R){var T=this._,L=z(N+"",T),F,I=-1,H=L.length;if(arguments.length<2){for(;++I<H;)if((F=(N=L[I]).type)&&(F=C(T[F],N.name)))return F;return}if(R!=null&&typeof R!="function")throw new Error("invalid callback: "+R);for(;++I<H;)if(F=(N=L[I]).type)T[F]=S(T[F],N.name,R);else if(R==null)for(F in T)T[F]=S(T[F],N.name,null);return this},copy:function(){var N={},R=this._;for(var T in R)N[T]=R[T].slice();return new _(N)},call:function(N,R){if((F=arguments.length-2)>0)for(var T=new Array(F),L=0,F,I;L<F;++L)T[L]=arguments[L+2];if(!this._.hasOwnProperty(N))throw new Error("unknown type: "+N);for(I=this._[N],L=0,F=I.length;L<F;++L)I[L].value.apply(R,T)},apply:function(N,R,T){if(!this._.hasOwnProperty(N))throw new Error("unknown type: "+N);for(var L=this._[N],F=0,I=L.length;F<I;++F)L[F].value.apply(R,T)}};function C(N,R){for(var T=0,L=N.length,F;T<L;++T)if((F=N[T]).name===R)return F.value}function S(N,R,T){for(var L=0,F=N.length;L<F;++L)if(N[L].name===R){N[L]=E,N=N.slice(0,L).concat(N.slice(L+1));break}return T!=null&&N.push({name:R,value:T}),N}Q.Z=P},12713:function(X,Q,E){"use strict";E.d(Q,{H:function(){return z},Z:function(){return P}});function P(C){const S=+this._x.call(null,C),N=+this._y.call(null,C),R=+this._z.call(null,C);return _(this.cover(S,N,R),S,N,R,C)}function _(C,S,N,R,T){if(isNaN(S)||isNaN(N)||isNaN(R))return C;var L,F=C._root,I={data:T},H=C._x0,U=C._y0,K=C._z0,rt=C._x1,tt=C._y1,J=C._z1,it,at,ut,ht,bt,pt,wt,ft,xt,Nt,Bt;if(!F)return C._root=I,C;for(;F.length;)if((wt=S>=(it=(H+rt)/2))?H=it:rt=it,(ft=N>=(at=(U+tt)/2))?U=at:tt=at,(xt=R>=(ut=(K+J)/2))?K=ut:J=ut,L=F,!(F=F[Nt=xt<<2|ft<<1|wt]))return L[Nt]=I,C;if(ht=+C._x.call(null,F.data),bt=+C._y.call(null,F.data),pt=+C._z.call(null,F.data),S===ht&&N===bt&&R===pt)return I.next=F,L?L[Nt]=I:C._root=I,C;do L=L?L[Nt]=new Array(8):C._root=new Array(8),(wt=S>=(it=(H+rt)/2))?H=it:rt=it,(ft=N>=(at=(U+tt)/2))?U=at:tt=at,(xt=R>=(ut=(K+J)/2))?K=ut:J=ut;while((Nt=xt<<2|ft<<1|wt)===(Bt=(pt>=ut)<<2|(bt>=at)<<1|ht>=it));return L[Bt]=F,L[Nt]=I,C}function z(C){Array.isArray(C)||(C=Array.from(C));const S=C.length,N=new Float64Array(S),R=new Float64Array(S),T=new Float64Array(S);let L=1/0,F=1/0,I=1/0,H=-1/0,U=-1/0,K=-1/0;for(let rt=0,tt,J,it,at;rt<S;++rt)isNaN(J=+this._x.call(null,tt=C[rt]))||isNaN(it=+this._y.call(null,tt))||isNaN(at=+this._z.call(null,tt))||(N[rt]=J,R[rt]=it,T[rt]=at,J<L&&(L=J),J>H&&(H=J),it<F&&(F=it),it>U&&(U=it),at<I&&(I=at),at>K&&(K=at));if(L>H||F>U||I>K)return this;this.cover(L,F,I).cover(H,U,K);for(let rt=0;rt<S;++rt)_(this,N[rt],R[rt],T[rt],C[rt]);return this}},17646:function(X,Q,E){"use strict";E.d(Q,{Z:function(){return P}});function P(_,z,C){if(isNaN(_=+_)||isNaN(z=+z)||isNaN(C=+C))return this;var S=this._x0,N=this._y0,R=this._z0,T=this._x1,L=this._y1,F=this._z1;if(isNaN(S))T=(S=Math.floor(_))+1,L=(N=Math.floor(z))+1,F=(R=Math.floor(C))+1;else{for(var I=T-S||1,H=this._root,U,K;S>_||_>=T||N>z||z>=L||R>C||C>=F;)switch(K=(C<R)<<2|(z<N)<<1|_<S,U=new Array(8),U[K]=H,H=U,I*=2,K){case 0:T=S+I,L=N+I,F=R+I;break;case 1:S=T-I,L=N+I,F=R+I;break;case 2:T=S+I,N=L-I,F=R+I;break;case 3:S=T-I,N=L-I,F=R+I;break;case 4:T=S+I,L=N+I,R=F-I;break;case 5:S=T-I,L=N+I,R=F-I;break;case 6:T=S+I,N=L-I,R=F-I;break;case 7:S=T-I,N=L-I,R=F-I;break}this._root&&this._root.length&&(this._root=H)}return this._x0=S,this._y0=N,this._z0=R,this._x1=T,this._y1=L,this._z1=F,this}},39894:function(X,Q,E){"use strict";E.d(Q,{Z:function(){return P}});function P(){var _=[];return this.visit(function(z){if(!z.length)do _.push(z.data);while(z=z.next)}),_}},56033:function(X,Q,E){"use strict";E.d(Q,{Z:function(){return P}});function P(_){return arguments.length?this.cover(+_[0][0],+_[0][1],+_[0][2]).cover(+_[1][0],+_[1][1],+_[1][2]):isNaN(this._x0)?void 0:[[this._x0,this._y0,this._z0],[this._x1,this._y1,this._z1]]}},77480:function(X,Q,E){"use strict";E.d(Q,{Z:function(){return _}});var P=E(26805);function _(z,C,S,N){var R,T=this._x0,L=this._y0,F=this._z0,I,H,U,K,rt,tt,J=this._x1,it=this._y1,at=this._z1,ut=[],ht=this._root,bt,pt;for(ht&&ut.push(new P.Z(ht,T,L,F,J,it,at)),N==null?N=1/0:(T=z-N,L=C-N,F=S-N,J=z+N,it=C+N,at=S+N,N*=N);bt=ut.pop();)if(!(!(ht=bt.node)||(I=bt.x0)>J||(H=bt.y0)>it||(U=bt.z0)>at||(K=bt.x1)<T||(rt=bt.y1)<L||(tt=bt.z1)<F))if(ht.length){var wt=(I+K)/2,ft=(H+rt)/2,xt=(U+tt)/2;ut.push(new P.Z(ht[7],wt,ft,xt,K,rt,tt),new P.Z(ht[6],I,ft,xt,wt,rt,tt),new P.Z(ht[5],wt,H,xt,K,ft,tt),new P.Z(ht[4],I,H,xt,wt,ft,tt),new P.Z(ht[3],wt,ft,U,K,rt,xt),new P.Z(ht[2],I,ft,U,wt,rt,xt),new P.Z(ht[1],wt,H,U,K,ft,xt),new P.Z(ht[0],I,H,U,wt,ft,xt)),(pt=(S>=xt)<<2|(C>=ft)<<1|z>=wt)&&(bt=ut[ut.length-1],ut[ut.length-1]=ut[ut.length-1-pt],ut[ut.length-1-pt]=bt)}else{var Nt=z-+this._x.call(null,ht.data),Bt=C-+this._y.call(null,ht.data),_t=S-+this._z.call(null,ht.data),Kt=Nt*Nt+Bt*Bt+_t*_t;if(Kt<N){var me=Math.sqrt(N=Kt);T=z-me,L=C-me,F=S-me,J=z+me,it=C+me,at=S+me,R=ht.data}}return R}},72096:function(X,Q,E){"use strict";E.d(Q,{r:function(){return _}});const P=(z,C,S,N,R,T)=>Math.sqrt(as(z-N,2)+as(C-R,2)+as(S-T,2));function _(z,C,S,N){const R=[],T=z-N,L=C-N,F=S-N,I=z+N,H=C+N,U=S+N;return this.visit((K,rt,tt,J,it,at,ut)=>{if(!K.length)do{const ht=K.data;P(z,C,S,this._x(ht),this._y(ht),this._z(ht))<=N&&R.push(ht)}while(K=K.next);return rt>I||tt>H||J>U||it<T||at<L||ut<F}),R}},26805:function(X,Q,E){"use strict";E.d(Q,{Z:function(){return P}});function P(_,z,C,S,N,R,T){this.node=_,this.x0=z,this.y0=C,this.z0=S,this.x1=N,this.y1=R,this.z1=T}},7695:function(X,Q,E){"use strict";E.d(Q,{Z:function(){return rt}});var P=E(12713),_=E(17646),z=E(39894),C=E(56033),S=E(77480),N=E(72096),R=E(36989),T=E(10325),L=E(15902),F=E(12027),I=E(66612),H=E(14763),U=E(94009),K=E(68889);function rt(at,ut,ht,bt){var pt=new tt(ut==null?H.P:ut,ht==null?U.q:ht,bt==null?K.i:bt,NaN,NaN,NaN,NaN,NaN,NaN);return at==null?pt:pt.addAll(at)}function tt(at,ut,ht,bt,pt,wt,ft,xt,Nt){this._x=at,this._y=ut,this._z=ht,this._x0=bt,this._y0=pt,this._z0=wt,this._x1=ft,this._y1=xt,this._z1=Nt,this._root=void 0}function J(at){for(var ut={data:at.data},ht=ut;at=at.next;)ht=ht.next={data:at.data};return ut}var it=rt.prototype=tt.prototype;it.copy=function(){var at=new tt(this._x,this._y,this._z,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1),ut=this._root,ht,bt;if(!ut)return at;if(!ut.length)return at._root=J(ut),at;for(ht=[{source:ut,target:at._root=new Array(8)}];ut=ht.pop();)for(var pt=0;pt<8;++pt)(bt=ut.source[pt])&&(bt.length?ht.push({source:bt,target:ut.target[pt]=new Array(8)}):ut.target[pt]=J(bt));return at},it.add=P.Z,it.addAll=P.H,it.cover=_.Z,it.data=z.Z,it.extent=C.Z,it.find=S.Z,it.findAllWithinRadius=N.r,it.remove=R.Z,it.removeAll=R.x,it.root=T.Z,it.size=L.Z,it.visit=F.Z,it.visitAfter=I.Z,it.x=H.Z,it.y=U.Z,it.z=K.Z},36989:function(X,Q,E){"use strict";E.d(Q,{Z:function(){return P},x:function(){return _}});function P(z){if(isNaN(rt=+this._x.call(null,z))||isNaN(tt=+this._y.call(null,z))||isNaN(J=+this._z.call(null,z)))return this;var C,S=this._root,N,R,T,L=this._x0,F=this._y0,I=this._z0,H=this._x1,U=this._y1,K=this._z1,rt,tt,J,it,at,ut,ht,bt,pt,wt,ft;if(!S)return this;if(S.length)for(;;){if((ht=rt>=(it=(L+H)/2))?L=it:H=it,(bt=tt>=(at=(F+U)/2))?F=at:U=at,(pt=J>=(ut=(I+K)/2))?I=ut:K=ut,C=S,!(S=S[wt=pt<<2|bt<<1|ht]))return this;if(!S.length)break;(C[wt+1&7]||C[wt+2&7]||C[wt+3&7]||C[wt+4&7]||C[wt+5&7]||C[wt+6&7]||C[wt+7&7])&&(N=C,ft=wt)}for(;S.data!==z;)if(R=S,!(S=S.next))return this;return(T=S.next)&&delete S.next,R?(T?R.next=T:delete R.next,this):C?(T?C[wt]=T:delete C[wt],(S=C[0]||C[1]||C[2]||C[3]||C[4]||C[5]||C[6]||C[7])&&S===(C[7]||C[6]||C[5]||C[4]||C[3]||C[2]||C[1]||C[0])&&!S.length&&(N?N[ft]=S:this._root=S),this):(this._root=T,this)}function _(z){for(var C=0,S=z.length;C<S;++C)this.remove(z[C]);return this}},10325:function(X,Q,E){"use strict";E.d(Q,{Z:function(){return P}});function P(){return this._root}},15902:function(X,Q,E){"use strict";E.d(Q,{Z:function(){return P}});function P(){var _=0;return this.visit(function(z){if(!z.length)do++_;while(z=z.next)}),_}},12027:function(X,Q,E){"use strict";E.d(Q,{Z:function(){return _}});var P=E(26805);function _(z){var C=[],S,N=this._root,R,T,L,F,I,H,U;for(N&&C.push(new P.Z(N,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1));S=C.pop();)if(!z(N=S.node,T=S.x0,L=S.y0,F=S.z0,I=S.x1,H=S.y1,U=S.z1)&&N.length){var K=(T+I)/2,rt=(L+H)/2,tt=(F+U)/2;(R=N[7])&&C.push(new P.Z(R,K,rt,tt,I,H,U)),(R=N[6])&&C.push(new P.Z(R,T,rt,tt,K,H,U)),(R=N[5])&&C.push(new P.Z(R,K,L,tt,I,rt,U)),(R=N[4])&&C.push(new P.Z(R,T,L,tt,K,rt,U)),(R=N[3])&&C.push(new P.Z(R,K,rt,F,I,H,tt)),(R=N[2])&&C.push(new P.Z(R,T,rt,F,K,H,tt)),(R=N[1])&&C.push(new P.Z(R,K,L,F,I,rt,tt)),(R=N[0])&&C.push(new P.Z(R,T,L,F,K,rt,tt))}return this}},66612:function(X,Q,E){"use strict";E.d(Q,{Z:function(){return _}});var P=E(26805);function _(z){var C=[],S=[],N;for(this._root&&C.push(new P.Z(this._root,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1));N=C.pop();){var R=N.node;if(R.length){var T,L=N.x0,F=N.y0,I=N.z0,H=N.x1,U=N.y1,K=N.z1,rt=(L+H)/2,tt=(F+U)/2,J=(I+K)/2;(T=R[0])&&C.push(new P.Z(T,L,F,I,rt,tt,J)),(T=R[1])&&C.push(new P.Z(T,rt,F,I,H,tt,J)),(T=R[2])&&C.push(new P.Z(T,L,tt,I,rt,U,J)),(T=R[3])&&C.push(new P.Z(T,rt,tt,I,H,U,J)),(T=R[4])&&C.push(new P.Z(T,L,F,J,rt,tt,K)),(T=R[5])&&C.push(new P.Z(T,rt,F,J,H,tt,K)),(T=R[6])&&C.push(new P.Z(T,L,tt,J,rt,U,K)),(T=R[7])&&C.push(new P.Z(T,rt,tt,J,H,U,K))}S.push(N)}for(;N=S.pop();)z(N.node,N.x0,N.y0,N.z0,N.x1,N.y1,N.z1);return this}},14763:function(X,Q,E){"use strict";E.d(Q,{P:function(){return P},Z:function(){return _}});function P(z){return z[0]}function _(z){return arguments.length?(this._x=z,this):this._x}},94009:function(X,Q,E){"use strict";E.d(Q,{Z:function(){return _},q:function(){return P}});function P(z){return z[1]}function _(z){return arguments.length?(this._y=z,this):this._y}},68889:function(X,Q,E){"use strict";E.d(Q,{Z:function(){return _},i:function(){return P}});function P(z){return z[2]}function _(z){return arguments.length?(this._z=z,this):this._z}},60272:function(X,Q,E){"use strict";E.d(Q,{H:function(){return z},Z:function(){return P}});function P(C){const S=+this._x.call(null,C),N=+this._y.call(null,C);return _(this.cover(S,N),S,N,C)}function _(C,S,N,R){if(isNaN(S)||isNaN(N))return C;var T,L=C._root,F={data:R},I=C._x0,H=C._y0,U=C._x1,K=C._y1,rt,tt,J,it,at,ut,ht,bt;if(!L)return C._root=F,C;for(;L.length;)if((at=S>=(rt=(I+U)/2))?I=rt:U=rt,(ut=N>=(tt=(H+K)/2))?H=tt:K=tt,T=L,!(L=L[ht=ut<<1|at]))return T[ht]=F,C;if(J=+C._x.call(null,L.data),it=+C._y.call(null,L.data),S===J&&N===it)return F.next=L,T?T[ht]=F:C._root=F,C;do T=T?T[ht]=new Array(4):C._root=new Array(4),(at=S>=(rt=(I+U)/2))?I=rt:U=rt,(ut=N>=(tt=(H+K)/2))?H=tt:K=tt;while((ht=ut<<1|at)===(bt=(it>=tt)<<1|J>=rt));return T[bt]=L,T[ht]=F,C}function z(C){var S,N,R=C.length,T,L,F=new Array(R),I=new Array(R),H=1/0,U=1/0,K=-1/0,rt=-1/0;for(N=0;N<R;++N)isNaN(T=+this._x.call(null,S=C[N]))||isNaN(L=+this._y.call(null,S))||(F[N]=T,I[N]=L,T<H&&(H=T),T>K&&(K=T),L<U&&(U=L),L>rt&&(rt=L));if(H>K||U>rt)return this;for(this.cover(H,U).cover(K,rt),N=0;N<R;++N)_(this,F[N],I[N],C[N]);return this}},51097:function(X,Q,E){"use strict";E.d(Q,{Z:function(){return P}});function P(_,z){if(isNaN(_=+_)||isNaN(z=+z))return this;var C=this._x0,S=this._y0,N=this._x1,R=this._y1;if(isNaN(C))N=(C=Math.floor(_))+1,R=(S=Math.floor(z))+1;else{for(var T=N-C||1,L=this._root,F,I;C>_||_>=N||S>z||z>=R;)switch(I=(z<S)<<1|_<C,F=new Array(4),F[I]=L,L=F,T*=2,I){case 0:N=C+T,R=S+T;break;case 1:C=N-T,R=S+T;break;case 2:N=C+T,S=R-T;break;case 3:C=N-T,S=R-T;break}this._root&&this._root.length&&(this._root=L)}return this._x0=C,this._y0=S,this._x1=N,this._y1=R,this}},58007:function(X,Q,E){"use strict";E.d(Q,{Z:function(){return P}});function P(){var _=[];return this.visit(function(z){if(!z.length)do _.push(z.data);while(z=z.next)}),_}},12070:function(X,Q,E){"use strict";E.d(Q,{Z:function(){return P}});function P(_){return arguments.length?this.cover(+_[0][0],+_[0][1]).cover(+_[1][0],+_[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}},47064:function(X,Q,E){"use strict";E.d(Q,{Z:function(){return _}});var P=E(44213);function _(z,C,S){var N,R=this._x0,T=this._y0,L,F,I,H,U=this._x1,K=this._y1,rt=[],tt=this._root,J,it;for(tt&&rt.push(new P.Z(tt,R,T,U,K)),S==null?S=1/0:(R=z-S,T=C-S,U=z+S,K=C+S,S*=S);J=rt.pop();)if(!(!(tt=J.node)||(L=J.x0)>U||(F=J.y0)>K||(I=J.x1)<R||(H=J.y1)<T))if(tt.length){var at=(L+I)/2,ut=(F+H)/2;rt.push(new P.Z(tt[3],at,ut,I,H),new P.Z(tt[2],L,ut,at,H),new P.Z(tt[1],at,F,I,ut),new P.Z(tt[0],L,F,at,ut)),(it=(C>=ut)<<1|z>=at)&&(J=rt[rt.length-1],rt[rt.length-1]=rt[rt.length-1-it],rt[rt.length-1-it]=J)}else{var ht=z-+this._x.call(null,tt.data),bt=C-+this._y.call(null,tt.data),pt=ht*ht+bt*bt;if(pt<S){var wt=Math.sqrt(S=pt);R=z-wt,T=C-wt,U=z+wt,K=C+wt,N=tt.data}}return N}},44213:function(X,Q,E){"use strict";E.d(Q,{Z:function(){return P}});function P(_,z,C,S,N){this.node=_,this.x0=z,this.y0=C,this.x1=S,this.y1=N}},14301:function(X,Q,E){"use strict";E.d(Q,{Z:function(){return U}});var P=E(60272),_=E(51097),z=E(58007),C=E(12070),S=E(47064),N=E(88866),R=E(10864),T=E(68984),L=E(3715),F=E(73607),I=E(56570),H=E(30992);function U(J,it,at){var ut=new K(it==null?I.P:it,at==null?H.q:at,NaN,NaN,NaN,NaN);return J==null?ut:ut.addAll(J)}function K(J,it,at,ut,ht,bt){this._x=J,this._y=it,this._x0=at,this._y0=ut,this._x1=ht,this._y1=bt,this._root=void 0}function rt(J){for(var it={data:J.data},at=it;J=J.next;)at=at.next={data:J.data};return it}var tt=U.prototype=K.prototype;tt.copy=function(){var J=new K(this._x,this._y,this._x0,this._y0,this._x1,this._y1),it=this._root,at,ut;if(!it)return J;if(!it.length)return J._root=rt(it),J;for(at=[{source:it,target:J._root=new Array(4)}];it=at.pop();)for(var ht=0;ht<4;++ht)(ut=it.source[ht])&&(ut.length?at.push({source:ut,target:it.target[ht]=new Array(4)}):it.target[ht]=rt(ut));return J},tt.add=P.Z,tt.addAll=P.H,tt.cover=_.Z,tt.data=z.Z,tt.extent=C.Z,tt.find=S.Z,tt.remove=N.Z,tt.removeAll=N.x,tt.root=R.Z,tt.size=T.Z,tt.visit=L.Z,tt.visitAfter=F.Z,tt.x=I.Z,tt.y=H.Z},88866:function(X,Q,E){"use strict";E.d(Q,{Z:function(){return P},x:function(){return _}});function P(z){if(isNaN(U=+this._x.call(null,z))||isNaN(K=+this._y.call(null,z)))return this;var C,S=this._root,N,R,T,L=this._x0,F=this._y0,I=this._x1,H=this._y1,U,K,rt,tt,J,it,at,ut;if(!S)return this;if(S.length)for(;;){if((J=U>=(rt=(L+I)/2))?L=rt:I=rt,(it=K>=(tt=(F+H)/2))?F=tt:H=tt,C=S,!(S=S[at=it<<1|J]))return this;if(!S.length)break;(C[at+1&3]||C[at+2&3]||C[at+3&3])&&(N=C,ut=at)}for(;S.data!==z;)if(R=S,!(S=S.next))return this;return(T=S.next)&&delete S.next,R?(T?R.next=T:delete R.next,this):C?(T?C[at]=T:delete C[at],(S=C[0]||C[1]||C[2]||C[3])&&S===(C[3]||C[2]||C[1]||C[0])&&!S.length&&(N?N[ut]=S:this._root=S),this):(this._root=T,this)}function _(z){for(var C=0,S=z.length;C<S;++C)this.remove(z[C]);return this}},10864:function(X,Q,E){"use strict";E.d(Q,{Z:function(){return P}});function P(){return this._root}},68984:function(X,Q,E){"use strict";E.d(Q,{Z:function(){return P}});function P(){var _=0;return this.visit(function(z){if(!z.length)do++_;while(z=z.next)}),_}},3715:function(X,Q,E){"use strict";E.d(Q,{Z:function(){return _}});var P=E(44213);function _(z){var C=[],S,N=this._root,R,T,L,F,I;for(N&&C.push(new P.Z(N,this._x0,this._y0,this._x1,this._y1));S=C.pop();)if(!z(N=S.node,T=S.x0,L=S.y0,F=S.x1,I=S.y1)&&N.length){var H=(T+F)/2,U=(L+I)/2;(R=N[3])&&C.push(new P.Z(R,H,U,F,I)),(R=N[2])&&C.push(new P.Z(R,T,U,H,I)),(R=N[1])&&C.push(new P.Z(R,H,L,F,U)),(R=N[0])&&C.push(new P.Z(R,T,L,H,U))}return this}},73607:function(X,Q,E){"use strict";E.d(Q,{Z:function(){return _}});var P=E(44213);function _(z){var C=[],S=[],N;for(this._root&&C.push(new P.Z(this._root,this._x0,this._y0,this._x1,this._y1));N=C.pop();){var R=N.node;if(R.length){var T,L=N.x0,F=N.y0,I=N.x1,H=N.y1,U=(L+I)/2,K=(F+H)/2;(T=R[0])&&C.push(new P.Z(T,L,F,U,K)),(T=R[1])&&C.push(new P.Z(T,U,F,I,K)),(T=R[2])&&C.push(new P.Z(T,L,K,U,H)),(T=R[3])&&C.push(new P.Z(T,U,K,I,H))}S.push(N)}for(;N=S.pop();)z(N.node,N.x0,N.y0,N.x1,N.y1);return this}},56570:function(X,Q,E){"use strict";E.d(Q,{P:function(){return P},Z:function(){return _}});function P(z){return z[0]}function _(z){return arguments.length?(this._x=z,this):this._x}},30992:function(X,Q,E){"use strict";E.d(Q,{Z:function(){return _},q:function(){return P}});function P(z){return z[1]}function _(z){return arguments.length?(this._y=z,this):this._y}},83833:function(X,Q,E){"use strict";E.d(Q,{HT:function(){return rt}});var P=0,_=0,z=0,C=1e3,S,N,R=0,T=0,L=0,F=typeof performance=="object"&&performance.now?performance:Date,I=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(ht){setTimeout(ht,17)};function H(){return T||(I(U),T=F.now()+L)}function U(){T=0}function K(){this._call=this._time=this._next=null}K.prototype=rt.prototype={constructor:K,restart:function(ht,bt,pt){if(typeof ht!="function")throw new TypeError("callback is not a function");pt=(pt==null?H():+pt)+(bt==null?0:+bt),!this._next&&N!==this&&(N?N._next=this:S=this,N=this),this._call=ht,this._time=pt,ut()},stop:function(){this._call&&(this._call=null,this._time=1/0,ut())}};function rt(ht,bt,pt){var wt=new K;return wt.restart(ht,bt,pt),wt}function tt(){H(),++P;for(var ht=S,bt;ht;)(bt=T-ht._time)>=0&&ht._call.call(void 0,bt),ht=ht._next;--P}function J(){T=(R=F.now())+L,P=_=0;try{tt()}finally{P=0,at(),T=0}}function it(){var ht=F.now(),bt=ht-R;bt>C&&(L-=bt,R=ht)}function at(){for(var ht,bt=S,pt,wt=1/0;bt;)bt._call?(wt>bt._time&&(wt=bt._time),ht=bt,bt=bt._next):(pt=bt._next,bt._next=null,bt=ht?ht._next=pt:S=pt);N=ht,ut(wt)}function ut(ht){if(!P){_&&(_=clearTimeout(_));var bt=ht-T;bt>24?(ht<1/0&&(_=setTimeout(J,ht-F.now()-L)),z&&(z=clearInterval(z))):(z||(R=F.now(),z=setInterval(it,C)),P=1,I(J))}}},80813:function(X,Q,E){"use strict";E.d(Q,{CR:function(){return J},Jh:function(){return U},Q_:function(){return Kt},XA:function(){return tt},ZT:function(){return _},_T:function(){return C},ev:function(){return ut},mG:function(){return H},pi:function(){return z},pr:function(){return at}});var P=function(kt,Rt){return P=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(zt,dt){zt.__proto__=dt}||function(zt,dt){for(var Mt in dt)Object.prototype.hasOwnProperty.call(dt,Mt)&&(zt[Mt]=dt[Mt])},P(kt,Rt)};function _(kt,Rt){if(typeof Rt!="function"&&Rt!==null)throw new TypeError("Class extends value "+String(Rt)+" is not a constructor or null");P(kt,Rt);function zt(){this.constructor=kt}kt.prototype=Rt===null?Object.create(Rt):(zt.prototype=Rt.prototype,new zt)}var z=function(){return z=Object.assign||function(Rt){for(var zt,dt=1,Mt=arguments.length;dt<Mt;dt++){zt=arguments[dt];for(var Tt in zt)Object.prototype.hasOwnProperty.call(zt,Tt)&&(Rt[Tt]=zt[Tt])}return Rt},z.apply(this,arguments)};function C(kt,Rt){var zt={};for(var dt in kt)Object.prototype.hasOwnProperty.call(kt,dt)&&Rt.indexOf(dt)<0&&(zt[dt]=kt[dt]);if(kt!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Mt=0,dt=Object.getOwnPropertySymbols(kt);Mt<dt.length;Mt++)Rt.indexOf(dt[Mt])<0&&Object.prototype.propertyIsEnumerable.call(kt,dt[Mt])&&(zt[dt[Mt]]=kt[dt[Mt]]);return zt}function S(kt,Rt,zt,dt){var Mt=arguments.length,Tt=Mt<3?Rt:dt===null?dt=Object.getOwnPropertyDescriptor(Rt,zt):dt,Wt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Tt=Reflect.decorate(kt,Rt,zt,dt);else for(var oe=kt.length-1;oe>=0;oe--)(Wt=kt[oe])&&(Tt=(Mt<3?Wt(Tt):Mt>3?Wt(Rt,zt,Tt):Wt(Rt,zt))||Tt);return Mt>3&&Tt&&Object.defineProperty(Rt,zt,Tt),Tt}function N(kt,Rt){return function(zt,dt){Rt(zt,dt,kt)}}function R(kt,Rt,zt,dt,Mt,Tt){function Wt(cr){if(cr!==void 0&&typeof cr!="function")throw new TypeError("Function expected");return cr}for(var oe=dt.kind,be=oe==="getter"?"get":oe==="setter"?"set":"value",fe=!Rt&&kt?dt.static?kt:kt.prototype:null,Re=Rt||(fe?Object.getOwnPropertyDescriptor(fe,dt.name):{}),An,Cn=!1,Le=zt.length-1;Le>=0;Le--){var Ae={};for(var re in dt)Ae[re]=re==="access"?{}:dt[re];for(var re in dt.access)Ae.access[re]=dt.access[re];Ae.addInitializer=function(cr){if(Cn)throw new TypeError("Cannot add initializers after decoration has completed");Tt.push(Wt(cr||null))};var Oe=(0,zt[Le])(oe==="accessor"?{get:Re.get,set:Re.set}:Re[be],Ae);if(oe==="accessor"){if(Oe===void 0)continue;if(Oe===null||typeof Oe!="object")throw new TypeError("Object expected");(An=Wt(Oe.get))&&(Re.get=An),(An=Wt(Oe.set))&&(Re.set=An),(An=Wt(Oe.init))&&Mt.unshift(An)}else(An=Wt(Oe))&&(oe==="field"?Mt.unshift(An):Re[be]=An)}fe&&Object.defineProperty(fe,dt.name,Re),Cn=!0}function T(kt,Rt,zt){for(var dt=arguments.length>2,Mt=0;Mt<Rt.length;Mt++)zt=dt?Rt[Mt].call(kt,zt):Rt[Mt].call(kt);return dt?zt:void 0}function L(kt){return typeof kt=="symbol"?kt:"".concat(kt)}function F(kt,Rt,zt){return typeof Rt=="symbol"&&(Rt=Rt.description?"[".concat(Rt.description,"]"):""),Object.defineProperty(kt,"name",{configurable:!0,value:zt?"".concat(zt," ",Rt):Rt})}function I(kt,Rt){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(kt,Rt)}function H(kt,Rt,zt,dt){function Mt(Tt){return Tt instanceof zt?Tt:new zt(function(Wt){Wt(Tt)})}return new(zt||(zt=Promise))(function(Tt,Wt){function oe(Re){try{fe(dt.next(Re))}catch(An){Wt(An)}}function be(Re){try{fe(dt.throw(Re))}catch(An){Wt(An)}}function fe(Re){Re.done?Tt(Re.value):Mt(Re.value).then(oe,be)}fe((dt=dt.apply(kt,Rt||[])).next())})}function U(kt,Rt){var zt={label:0,sent:function(){if(Tt[0]&1)throw Tt[1];return Tt[1]},trys:[],ops:[]},dt,Mt,Tt,Wt=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return Wt.next=oe(0),Wt.throw=oe(1),Wt.return=oe(2),typeof Symbol=="function"&&(Wt[Symbol.iterator]=function(){return this}),Wt;function oe(fe){return function(Re){return be([fe,Re])}}function be(fe){if(dt)throw new TypeError("Generator is already executing.");for(;Wt&&(Wt=0,fe[0]&&(zt=0)),zt;)try{if(dt=1,Mt&&(Tt=fe[0]&2?Mt.return:fe[0]?Mt.throw||((Tt=Mt.return)&&Tt.call(Mt),0):Mt.next)&&!(Tt=Tt.call(Mt,fe[1])).done)return Tt;switch(Mt=0,Tt&&(fe=[fe[0]&2,Tt.value]),fe[0]){case 0:case 1:Tt=fe;break;case 4:return zt.label++,{value:fe[1],done:!1};case 5:zt.label++,Mt=fe[1],fe=[0];continue;case 7:fe=zt.ops.pop(),zt.trys.pop();continue;default:if(Tt=zt.trys,!(Tt=Tt.length>0&&Tt[Tt.length-1])&&(fe[0]===6||fe[0]===2)){zt=0;continue}if(fe[0]===3&&(!Tt||fe[1]>Tt[0]&&fe[1]<Tt[3])){zt.label=fe[1];break}if(fe[0]===6&&zt.label<Tt[1]){zt.label=Tt[1],Tt=fe;break}if(Tt&&zt.label<Tt[2]){zt.label=Tt[2],zt.ops.push(fe);break}Tt[2]&&zt.ops.pop(),zt.trys.pop();continue}fe=Rt.call(kt,zt)}catch(Re){fe=[6,Re],Mt=0}finally{dt=Tt=0}if(fe[0]&5)throw fe[1];return{value:fe[0]?fe[1]:void 0,done:!0}}}var K=Object.create?function(kt,Rt,zt,dt){dt===void 0&&(dt=zt);var Mt=Object.getOwnPropertyDescriptor(Rt,zt);(!Mt||("get"in Mt?!Rt.__esModule:Mt.writable||Mt.configurable))&&(Mt={enumerable:!0,get:function(){return Rt[zt]}}),Object.defineProperty(kt,dt,Mt)}:function(kt,Rt,zt,dt){dt===void 0&&(dt=zt),kt[dt]=Rt[zt]};function rt(kt,Rt){for(var zt in kt)zt!=="default"&&!Object.prototype.hasOwnProperty.call(Rt,zt)&&K(Rt,kt,zt)}function tt(kt){var Rt=typeof Symbol=="function"&&Symbol.iterator,zt=Rt&&kt[Rt],dt=0;if(zt)return zt.call(kt);if(kt&&typeof kt.length=="number")return{next:function(){return kt&&dt>=kt.length&&(kt=void 0),{value:kt&&kt[dt++],done:!kt}}};throw new TypeError(Rt?"Object is not iterable.":"Symbol.iterator is not defined.")}function J(kt,Rt){var zt=typeof Symbol=="function"&&kt[Symbol.iterator];if(!zt)return kt;var dt=zt.call(kt),Mt,Tt=[],Wt;try{for(;(Rt===void 0||Rt-- >0)&&!(Mt=dt.next()).done;)Tt.push(Mt.value)}catch(oe){Wt={error:oe}}finally{try{Mt&&!Mt.done&&(zt=dt.return)&&zt.call(dt)}finally{if(Wt)throw Wt.error}}return Tt}function it(){for(var kt=[],Rt=0;Rt<arguments.length;Rt++)kt=kt.concat(J(arguments[Rt]));return kt}function at(){for(var kt=0,Rt=0,zt=arguments.length;Rt<zt;Rt++)kt+=arguments[Rt].length;for(var dt=Array(kt),Mt=0,Rt=0;Rt<zt;Rt++)for(var Tt=arguments[Rt],Wt=0,oe=Tt.length;Wt<oe;Wt++,Mt++)dt[Mt]=Tt[Wt];return dt}function ut(kt,Rt,zt){if(zt||arguments.length===2)for(var dt=0,Mt=Rt.length,Tt;dt<Mt;dt++)(Tt||!(dt in Rt))&&(Tt||(Tt=Array.prototype.slice.call(Rt,0,dt)),Tt[dt]=Rt[dt]);return kt.concat(Tt||Array.prototype.slice.call(Rt))}function ht(kt){return this instanceof ht?(this.v=kt,this):new ht(kt)}function bt(kt,Rt,zt){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var dt=zt.apply(kt,Rt||[]),Mt,Tt=[];return Mt=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),oe("next"),oe("throw"),oe("return",Wt),Mt[Symbol.asyncIterator]=function(){return this},Mt;function Wt(Le){return function(Ae){return Promise.resolve(Ae).then(Le,An)}}function oe(Le,Ae){dt[Le]&&(Mt[Le]=function(re){return new Promise(function(Oe,cr){Tt.push([Le,re,Oe,cr])>1||be(Le,re)})},Ae&&(Mt[Le]=Ae(Mt[Le])))}function be(Le,Ae){try{fe(dt[Le](Ae))}catch(re){Cn(Tt[0][3],re)}}function fe(Le){Le.value instanceof ht?Promise.resolve(Le.value.v).then(Re,An):Cn(Tt[0][2],Le)}function Re(Le){be("next",Le)}function An(Le){be("throw",Le)}function Cn(Le,Ae){Le(Ae),Tt.shift(),Tt.length&&be(Tt[0][0],Tt[0][1])}}function pt(kt){var Rt,zt;return Rt={},dt("next"),dt("throw",function(Mt){throw Mt}),dt("return"),Rt[Symbol.iterator]=function(){return this},Rt;function dt(Mt,Tt){Rt[Mt]=kt[Mt]?function(Wt){return(zt=!zt)?{value:ht(kt[Mt](Wt)),done:!1}:Tt?Tt(Wt):Wt}:Tt}}function wt(kt){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var Rt=kt[Symbol.asyncIterator],zt;return Rt?Rt.call(kt):(kt=typeof tt=="function"?tt(kt):kt[Symbol.iterator](),zt={},dt("next"),dt("throw"),dt("return"),zt[Symbol.asyncIterator]=function(){return this},zt);function dt(Tt){zt[Tt]=kt[Tt]&&function(Wt){return new Promise(function(oe,be){Wt=kt[Tt](Wt),Mt(oe,be,Wt.done,Wt.value)})}}function Mt(Tt,Wt,oe,be){Promise.resolve(be).then(function(fe){Tt({value:fe,done:oe})},Wt)}}function ft(kt,Rt){return Object.defineProperty?Object.defineProperty(kt,"raw",{value:Rt}):kt.raw=Rt,kt}var xt=Object.create?function(kt,Rt){Object.defineProperty(kt,"default",{enumerable:!0,value:Rt})}:function(kt,Rt){kt.default=Rt},Nt=function(kt){return Nt=Object.getOwnPropertyNames||function(Rt){var zt=[];for(var dt in Rt)Object.prototype.hasOwnProperty.call(Rt,dt)&&(zt[zt.length]=dt);return zt},Nt(kt)};function Bt(kt){if(kt&&kt.__esModule)return kt;var Rt={};if(kt!=null)for(var zt=Nt(kt),dt=0;dt<zt.length;dt++)zt[dt]!=="default"&&K(Rt,kt,zt[dt]);return xt(Rt,kt),Rt}function _t(kt){return kt&&kt.__esModule?kt:{default:kt}}function Kt(kt,Rt,zt,dt){if(zt==="a"&&!dt)throw new TypeError("Private accessor was defined without a getter");if(typeof Rt=="function"?kt!==Rt||!dt:!Rt.has(kt))throw new TypeError("Cannot read private member from an object whose class did not declare it");return zt==="m"?dt:zt==="a"?dt.call(kt):dt?dt.value:Rt.get(kt)}function me(kt,Rt,zt,dt,Mt){if(dt==="m")throw new TypeError("Private method is not writable");if(dt==="a"&&!Mt)throw new TypeError("Private accessor was defined without a setter");if(typeof Rt=="function"?kt!==Rt||!Mt:!Rt.has(kt))throw new TypeError("Cannot write private member to an object whose class did not declare it");return dt==="a"?Mt.call(kt,zt):Mt?Mt.value=zt:Rt.set(kt,zt),zt}function Me(kt,Rt){if(Rt===null||typeof Rt!="object"&&typeof Rt!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof kt=="function"?Rt===kt:kt.has(Rt)}function Ge(kt,Rt,zt){if(Rt!=null){if(typeof Rt!="object"&&typeof Rt!="function")throw new TypeError("Object expected.");var dt,Mt;if(zt){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");dt=Rt[Symbol.asyncDispose]}if(dt===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");dt=Rt[Symbol.dispose],zt&&(Mt=dt)}if(typeof dt!="function")throw new TypeError("Object not disposable.");Mt&&(dt=function(){try{Mt.call(this)}catch(Tt){return Promise.reject(Tt)}}),kt.stack.push({value:Rt,dispose:dt,async:zt})}else zt&&kt.stack.push({async:!0});return Rt}var Rn=typeof SuppressedError=="function"?SuppressedError:function(kt,Rt,zt){var dt=new Error(zt);return dt.name="SuppressedError",dt.error=kt,dt.suppressed=Rt,dt};function Mr(kt){function Rt(Tt){kt.error=kt.hasError?new Rn(Tt,kt.error,"An error was suppressed during disposal."):Tt,kt.hasError=!0}var zt,dt=0;function Mt(){for(;zt=kt.stack.pop();)try{if(!zt.async&&dt===1)return dt=0,kt.stack.push(zt),Promise.resolve().then(Mt);if(zt.dispose){var Tt=zt.dispose.call(zt.value);if(zt.async)return dt|=2,Promise.resolve(Tt).then(Mt,function(Wt){return Rt(Wt),Mt()})}else dt|=1}catch(Wt){Rt(Wt)}if(dt===1)return kt.hasError?Promise.reject(kt.error):Promise.resolve();if(kt.hasError)throw kt.error}return Mt()}function Pi(kt,Rt){return typeof kt=="string"&&/^\.\.?\//.test(kt)?kt.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(zt,dt,Mt,Tt,Wt){return dt?Rt?".jsx":".js":Mt&&(!Tt||!Wt)?zt:Mt+Tt+"."+Wt.toLowerCase()+"js"}):kt}var la={__extends:_,__assign:z,__rest:C,__decorate:S,__param:N,__esDecorate:R,__runInitializers:T,__propKey:L,__setFunctionName:F,__metadata:I,__awaiter:H,__generator:U,__createBinding:K,__exportStar:rt,__values:tt,__read:J,__spread:it,__spreadArrays:at,__spreadArray:ut,__await:ht,__asyncGenerator:bt,__asyncDelegator:pt,__asyncValues:wt,__makeTemplateObject:ft,__importStar:Bt,__importDefault:_t,__classPrivateFieldGet:Kt,__classPrivateFieldSet:me,__classPrivateFieldIn:Me,__addDisposableResource:Ge,__disposeResources:Mr,__rewriteRelativeImportExtension:Pi}}}]);
}());