Files
lit-examples/assets/mode-2d-Cj2m1IPs.js
T
2026-07-05 02:38:01 +00:00

30 lines
89 KiB
JavaScript

import{a as pe,T as xn,t as wn,n as bn,j as _n,d as kn,l as Cn,i as Ze,o as zn,s as Pn,h as L,e as En,g as Mn,b as Tn,c as On,f as An,k as we,m as be}from"./Paired-C4wB-ooD.js";import{s as Q,p as lt,n as Ke,m as Sn,b as Rn,c as Dn,a as Zt,d as Ot,i as Nn,G as In,T as _e,E as ke}from"./float-tooltip-COGhpFke.js";const Un={passive:!1},At={capture:!0,passive:!1};function Qt(n){n.stopImmediatePropagation()}function wt(n){n.preventDefault(),n.stopImmediatePropagation()}function Be(n){var e=n.document.documentElement,r=Q(n).on("dragstart.drag",wt,At);"onselectstart"in e?r.on("selectstart.drag",wt,At):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}function Qe(n,e){var r=n.document.documentElement,i=Q(n).on("dragstart.drag",null);e&&(i.on("click.drag",wt,At),setTimeout(function(){i.on("click.drag",null)},0)),"onselectstart"in r?i.on("selectstart.drag",null):(r.style.MozUserSelect=r.__noselect,delete r.__noselect)}const Ut=n=>()=>n;function oe(n,{sourceEvent:e,subject:r,target:i,identifier:o,active:u,x:a,y:s,dx:f,dy:c,dispatch:l}){Object.defineProperties(this,{type:{value:n,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:r,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:u,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:f,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:l}})}oe.prototype.on=function(){var n=this._.on.apply(this._,arguments);return n===this._?this:n};function $n(n){return!n.ctrlKey&&!n.button}function jn(){return this.parentNode}function Ln(n,e){return e??{x:n.x,y:n.y}}function Fn(){return navigator.maxTouchPoints||"ontouchstart"in this}function qn(){var n=$n,e=jn,r=Ln,i=Fn,o={},u=pe("start","drag","end"),a=0,s,f,c,l,h=0;function d(v){v.on("mousedown.drag",g).filter(i).on("touchstart.drag",C).on("touchmove.drag",m,Un).on("touchend.drag touchcancel.drag",O).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(v,_){if(!(l||!n.call(this,v,_))){var M=S(this,e.call(this,v,_),v,_,"mouse");M&&(Q(v.view).on("mousemove.drag",y,At).on("mouseup.drag",x,At),Be(v.view),Qt(v),c=!1,s=v.clientX,f=v.clientY,M("start",v))}}function y(v){if(wt(v),!c){var _=v.clientX-s,M=v.clientY-f;c=_*_+M*M>h}o.mouse("drag",v)}function x(v){Q(v.view).on("mousemove.drag mouseup.drag",null),Qe(v.view,c),wt(v),o.mouse("end",v)}function C(v,_){if(n.call(this,v,_)){var M=v.changedTouches,k=e.call(this,v,_),E=M.length,A,P;for(A=0;A<E;++A)(P=S(this,k,v,_,M[A].identifier,M[A]))&&(Qt(v),P("start",v,M[A]))}}function m(v){var _=v.changedTouches,M=_.length,k,E;for(k=0;k<M;++k)(E=o[_[k].identifier])&&(wt(v),E("drag",v,_[k]))}function O(v){var _=v.changedTouches,M=_.length,k,E;for(l&&clearTimeout(l),l=setTimeout(function(){l=null},500),k=0;k<M;++k)(E=o[_[k].identifier])&&(Qt(v),E("end",v,_[k]))}function S(v,_,M,k,E,A){var P=u.copy(),I=lt(A||M,_),U,$,p;if((p=r.call(v,new oe("beforestart",{sourceEvent:M,target:d,identifier:E,active:a,x:I[0],y:I[1],dx:0,dy:0,dispatch:P}),k))!=null)return U=p.x-I[0]||0,$=p.y-I[1]||0,function z(w,T,R){var D=I,N;switch(w){case"start":o[E]=z,N=a++;break;case"end":delete o[E],--a;case"drag":I=lt(R||T,_),N=a;break}P.call(w,v,new oe(w,{sourceEvent:T,subject:p,target:d,identifier:E,active:N,x:I[0]+U,y:I[1]+$,dx:I[0]-D[0],dy:I[1]-D[1],dispatch:P}),k)}}return d.filter=function(v){return arguments.length?(n=typeof v=="function"?v:Ut(!!v),d):n},d.container=function(v){return arguments.length?(e=typeof v=="function"?v:Ut(v),d):e},d.subject=function(v){return arguments.length?(r=typeof v=="function"?v:Ut(v),d):r},d.touchable=function(v){return arguments.length?(i=typeof v=="function"?v:Ut(!!v),d):i},d.on=function(){var v=u.on.apply(u,arguments);return v===u?d:v},d.clickDistance=function(v){return arguments.length?(h=(v=+v)*v,d):Math.sqrt(h)},d}function ye(n,e,r){n.prototype=e.prototype=r,r.constructor=n}function Je(n,e){var r=Object.create(n.prototype);for(var i in e)r[i]=e[i];return r}function It(){}var St=.7,Xt=1/St,bt="\\s*([+-]?\\d+)\\s*",Rt="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",nt="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Gn=/^#([0-9a-f]{3,8})$/,Hn=new RegExp(`^rgb\\(${bt},${bt},${bt}\\)$`),Vn=new RegExp(`^rgb\\(${nt},${nt},${nt}\\)$`),Xn=new RegExp(`^rgba\\(${bt},${bt},${bt},${Rt}\\)$`),Wn=new RegExp(`^rgba\\(${nt},${nt},${nt},${Rt}\\)$`),Yn=new RegExp(`^hsl\\(${Rt},${nt},${nt}\\)$`),Zn=new RegExp(`^hsla\\(${Rt},${nt},${nt},${Rt}\\)$`),Ce={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};ye(It,Dt,{copy(n){return Object.assign(new this.constructor,this,n)},displayable(){return this.rgb().displayable()},hex:ze,formatHex:ze,formatHex8:Kn,formatHsl:Bn,formatRgb:Pe,toString:Pe});function ze(){return this.rgb().formatHex()}function Kn(){return this.rgb().formatHex8()}function Bn(){return tn(this).formatHsl()}function Pe(){return this.rgb().formatRgb()}function Dt(n){var e,r;return n=(n+"").trim().toLowerCase(),(e=Gn.exec(n))?(r=e[1].length,e=parseInt(e[1],16),r===6?Ee(e):r===3?new X(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?$t(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?$t(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=Hn.exec(n))?new X(e[1],e[2],e[3],1):(e=Vn.exec(n))?new X(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=Xn.exec(n))?$t(e[1],e[2],e[3],e[4]):(e=Wn.exec(n))?$t(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=Yn.exec(n))?Oe(e[1],e[2]/100,e[3]/100,1):(e=Zn.exec(n))?Oe(e[1],e[2]/100,e[3]/100,e[4]):Ce.hasOwnProperty(n)?Ee(Ce[n]):n==="transparent"?new X(NaN,NaN,NaN,0):null}function Ee(n){return new X(n>>16&255,n>>8&255,n&255,1)}function $t(n,e,r,i){return i<=0&&(n=e=r=NaN),new X(n,e,r,i)}function Qn(n){return n instanceof It||(n=Dt(n)),n?(n=n.rgb(),new X(n.r,n.g,n.b,n.opacity)):new X}function ae(n,e,r,i){return arguments.length===1?Qn(n):new X(n,e,r,i??1)}function X(n,e,r,i){this.r=+n,this.g=+e,this.b=+r,this.opacity=+i}ye(X,ae,Je(It,{brighter(n){return n=n==null?Xt:Math.pow(Xt,n),new X(this.r*n,this.g*n,this.b*n,this.opacity)},darker(n){return n=n==null?St:Math.pow(St,n),new X(this.r*n,this.g*n,this.b*n,this.opacity)},rgb(){return this},clamp(){return new X(mt(this.r),mt(this.g),mt(this.b),Wt(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:Me,formatHex:Me,formatHex8:Jn,formatRgb:Te,toString:Te}));function Me(){return`#${yt(this.r)}${yt(this.g)}${yt(this.b)}`}function Jn(){return`#${yt(this.r)}${yt(this.g)}${yt(this.b)}${yt((isNaN(this.opacity)?1:this.opacity)*255)}`}function Te(){const n=Wt(this.opacity);return`${n===1?"rgb(":"rgba("}${mt(this.r)}, ${mt(this.g)}, ${mt(this.b)}${n===1?")":`, ${n})`}`}function Wt(n){return isNaN(n)?1:Math.max(0,Math.min(1,n))}function mt(n){return Math.max(0,Math.min(255,Math.round(n)||0))}function yt(n){return n=mt(n),(n<16?"0":"")+n.toString(16)}function Oe(n,e,r,i){return i<=0?n=e=r=NaN:r<=0||r>=1?n=e=NaN:e<=0&&(n=NaN),new J(n,e,r,i)}function tn(n){if(n instanceof J)return new J(n.h,n.s,n.l,n.opacity);if(n instanceof It||(n=Dt(n)),!n)return new J;if(n instanceof J)return n;n=n.rgb();var e=n.r/255,r=n.g/255,i=n.b/255,o=Math.min(e,r,i),u=Math.max(e,r,i),a=NaN,s=u-o,f=(u+o)/2;return s?(e===u?a=(r-i)/s+(r<i)*6:r===u?a=(i-e)/s+2:a=(e-r)/s+4,s/=f<.5?u+o:2-u-o,a*=60):s=f>0&&f<1?0:a,new J(a,s,f,n.opacity)}function tr(n,e,r,i){return arguments.length===1?tn(n):new J(n,e,r,i??1)}function J(n,e,r,i){this.h=+n,this.s=+e,this.l=+r,this.opacity=+i}ye(J,tr,Je(It,{brighter(n){return n=n==null?Xt:Math.pow(Xt,n),new J(this.h,this.s,this.l*n,this.opacity)},darker(n){return n=n==null?St:Math.pow(St,n),new J(this.h,this.s,this.l*n,this.opacity)},rgb(){var n=this.h%360+(this.h<0)*360,e=isNaN(n)||isNaN(this.s)?0:this.s,r=this.l,i=r+(r<.5?r:1-r)*e,o=2*r-i;return new X(Jt(n>=240?n-240:n+120,o,i),Jt(n,o,i),Jt(n<120?n+240:n-120,o,i),this.opacity)},clamp(){return new J(Ae(this.h),jt(this.s),jt(this.l),Wt(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=Wt(this.opacity);return`${n===1?"hsl(":"hsla("}${Ae(this.h)}, ${jt(this.s)*100}%, ${jt(this.l)*100}%${n===1?")":`, ${n})`}`}}));function Ae(n){return n=(n||0)%360,n<0?n+360:n}function jt(n){return Math.max(0,Math.min(1,n||0))}function Jt(n,e,r){return(n<60?e+(r-e)*n/60:n<180?r:n<240?e+(r-e)*(240-n)/60:e)*255}const en=n=>()=>n;function er(n,e){return function(r){return n+r*e}}function nr(n,e,r){return n=Math.pow(n,r),e=Math.pow(e,r)-n,r=1/r,function(i){return Math.pow(n+i*e,r)}}function rr(n){return(n=+n)==1?nn:function(e,r){return r-e?nr(e,r,n):en(isNaN(e)?r:e)}}function nn(n,e){var r=e-n;return r?er(n,r):en(isNaN(n)?e:n)}const Se=function n(e){var r=rr(e);function i(o,u){var a=r((o=ae(o)).r,(u=ae(u)).r),s=r(o.g,u.g),f=r(o.b,u.b),c=nn(o.opacity,u.opacity);return function(l){return o.r=a(l),o.g=s(l),o.b=f(l),o.opacity=c(l),o+""}}return i.gamma=n,i}(1);function gt(n,e){return n=+n,e=+e,function(r){return n*(1-r)+e*r}}var ue=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,te=new RegExp(ue.source,"g");function ir(n){return function(){return n}}function or(n){return function(e){return n(e)+""}}function ar(n,e){var r=ue.lastIndex=te.lastIndex=0,i,o,u,a=-1,s=[],f=[];for(n=n+"",e=e+"";(i=ue.exec(n))&&(o=te.exec(e));)(u=o.index)>r&&(u=e.slice(r,u),s[a]?s[a]+=u:s[++a]=u),(i=i[0])===(o=o[0])?s[a]?s[a]+=o:s[++a]=o:(s[++a]=null,f.push({i:a,x:gt(i,o)})),r=te.lastIndex;return r<e.length&&(u=e.slice(r),s[a]?s[a]+=u:s[++a]=u),s.length<2?f[0]?or(f[0].x):ir(e):(e=f.length,function(c){for(var l=0,h;l<e;++l)s[(h=f[l]).i]=h.x(c);return s.join("")})}var Re=180/Math.PI,se={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function rn(n,e,r,i,o,u){var a,s,f;return(a=Math.sqrt(n*n+e*e))&&(n/=a,e/=a),(f=n*r+e*i)&&(r-=n*f,i-=e*f),(s=Math.sqrt(r*r+i*i))&&(r/=s,i/=s,f/=s),n*i<e*r&&(n=-n,e=-e,f=-f,a=-a),{translateX:o,translateY:u,rotate:Math.atan2(e,n)*Re,skewX:Math.atan(f)*Re,scaleX:a,scaleY:s}}var Lt;function ur(n){const e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(n+"");return e.isIdentity?se:rn(e.a,e.b,e.c,e.d,e.e,e.f)}function sr(n){return n==null||(Lt||(Lt=document.createElementNS("http://www.w3.org/2000/svg","g")),Lt.setAttribute("transform",n),!(n=Lt.transform.baseVal.consolidate()))?se:(n=n.matrix,rn(n.a,n.b,n.c,n.d,n.e,n.f))}function on(n,e,r,i){function o(c){return c.length?c.pop()+" ":""}function u(c,l,h,d,g,y){if(c!==h||l!==d){var x=g.push("translate(",null,e,null,r);y.push({i:x-4,x:gt(c,h)},{i:x-2,x:gt(l,d)})}else(h||d)&&g.push("translate("+h+e+d+r)}function a(c,l,h,d){c!==l?(c-l>180?l+=360:l-c>180&&(c+=360),d.push({i:h.push(o(h)+"rotate(",null,i)-2,x:gt(c,l)})):l&&h.push(o(h)+"rotate("+l+i)}function s(c,l,h,d){c!==l?d.push({i:h.push(o(h)+"skewX(",null,i)-2,x:gt(c,l)}):l&&h.push(o(h)+"skewX("+l+i)}function f(c,l,h,d,g,y){if(c!==h||l!==d){var x=g.push(o(g)+"scale(",null,",",null,")");y.push({i:x-4,x:gt(c,h)},{i:x-2,x:gt(l,d)})}else(h!==1||d!==1)&&g.push(o(g)+"scale("+h+","+d+")")}return function(c,l){var h=[],d=[];return c=n(c),l=n(l),u(c.translateX,c.translateY,l.translateX,l.translateY,h,d),a(c.rotate,l.rotate,h,d),s(c.skewX,l.skewX,h,d),f(c.scaleX,c.scaleY,l.scaleX,l.scaleY,h,d),c=l=null,function(g){for(var y=-1,x=d.length,C;++y<x;)h[(C=d[y]).i]=C.x(g);return h.join("")}}}var lr=on(ur,"px, ","px)","deg)"),cr=on(sr,", ",")",")"),fr=1e-12;function De(n){return((n=Math.exp(n))+1/n)/2}function hr(n){return((n=Math.exp(n))-1/n)/2}function dr(n){return((n=Math.exp(2*n))-1)/(n+1)}const gr=function n(e,r,i){function o(u,a){var s=u[0],f=u[1],c=u[2],l=a[0],h=a[1],d=a[2],g=l-s,y=h-f,x=g*g+y*y,C,m;if(x<fr)m=Math.log(d/c)/e,C=function(k){return[s+k*g,f+k*y,c*Math.exp(e*k*m)]};else{var O=Math.sqrt(x),S=(d*d-c*c+i*x)/(2*c*r*O),v=(d*d-c*c-i*x)/(2*d*r*O),_=Math.log(Math.sqrt(S*S+1)-S),M=Math.log(Math.sqrt(v*v+1)-v);m=(M-_)/e,C=function(k){var E=k*m,A=De(_),P=c/(r*O)*(A*dr(e*E+_)-hr(_));return[s+P*g,f+P*y,c*A/De(e*E+_)]}}return C.duration=m*1e3*e/Math.SQRT2,C}return o.rho=function(u){var a=Math.max(.001,+u),s=a*a,f=s*s;return n(a,s,f)},o}(Math.SQRT2,2,4);function Ne(n,e,r){var i=new xn;return e=e==null?0:+e,i.restart(o=>{i.stop(),n(o+e)},e,r),i}var pr=pe("start","end","cancel","interrupt"),yr=[],an=0,Ie=1,le=2,Gt=3,Ue=4,ce=5,Ht=6;function Kt(n,e,r,i,o,u){var a=n.__transition;if(!a)n.__transition={};else if(r in a)return;mr(n,r,{name:e,index:i,group:o,on:pr,tween:yr,time:u.time,delay:u.delay,duration:u.duration,ease:u.ease,timer:null,state:an})}function me(n,e){var r=tt(n,e);if(r.state>an)throw new Error("too late; already scheduled");return r}function rt(n,e){var r=tt(n,e);if(r.state>Gt)throw new Error("too late; already running");return r}function tt(n,e){var r=n.__transition;if(!r||!(r=r[e]))throw new Error("transition not found");return r}function mr(n,e,r){var i=n.__transition,o;i[e]=r,r.timer=wn(u,0,r.time);function u(c){r.state=Ie,r.timer.restart(a,r.delay,r.time),r.delay<=c&&a(c-r.delay)}function a(c){var l,h,d,g;if(r.state!==Ie)return f();for(l in i)if(g=i[l],g.name===r.name){if(g.state===Gt)return Ne(a);g.state===Ue?(g.state=Ht,g.timer.stop(),g.on.call("interrupt",n,n.__data__,g.index,g.group),delete i[l]):+l<e&&(g.state=Ht,g.timer.stop(),g.on.call("cancel",n,n.__data__,g.index,g.group),delete i[l])}if(Ne(function(){r.state===Gt&&(r.state=Ue,r.timer.restart(s,r.delay,r.time),s(c))}),r.state=le,r.on.call("start",n,n.__data__,r.index,r.group),r.state===le){for(r.state=Gt,o=new Array(d=r.tween.length),l=0,h=-1;l<d;++l)(g=r.tween[l].value.call(n,n.__data__,r.index,r.group))&&(o[++h]=g);o.length=h+1}}function s(c){for(var l=c<r.duration?r.ease.call(null,c/r.duration):(r.timer.restart(f),r.state=ce,1),h=-1,d=o.length;++h<d;)o[h].call(n,l);r.state===ce&&(r.on.call("end",n,n.__data__,r.index,r.group),f())}function f(){r.state=Ht,r.timer.stop(),delete i[e];for(var c in i)return;delete n.__transition}}function Vt(n,e){var r=n.__transition,i,o,u=!0,a;if(r){e=e==null?null:e+"";for(a in r){if((i=r[a]).name!==e){u=!1;continue}o=i.state>le&&i.state<ce,i.state=Ht,i.timer.stop(),i.on.call(o?"interrupt":"cancel",n,n.__data__,i.index,i.group),delete r[a]}u&&delete n.__transition}}function vr(n){return this.each(function(){Vt(this,n)})}function xr(n,e){var r,i;return function(){var o=rt(this,n),u=o.tween;if(u!==r){i=r=u;for(var a=0,s=i.length;a<s;++a)if(i[a].name===e){i=i.slice(),i.splice(a,1);break}}o.tween=i}}function wr(n,e,r){var i,o;if(typeof r!="function")throw new Error;return function(){var u=rt(this,n),a=u.tween;if(a!==i){o=(i=a).slice();for(var s={name:e,value:r},f=0,c=o.length;f<c;++f)if(o[f].name===e){o[f]=s;break}f===c&&o.push(s)}u.tween=o}}function br(n,e){var r=this._id;if(n+="",arguments.length<2){for(var i=tt(this.node(),r).tween,o=0,u=i.length,a;o<u;++o)if((a=i[o]).name===n)return a.value;return null}return this.each((e==null?xr:wr)(r,n,e))}function ve(n,e,r){var i=n._id;return n.each(function(){var o=rt(this,i);(o.value||(o.value={}))[e]=r.apply(this,arguments)}),function(o){return tt(o,i).value[e]}}function un(n,e){var r;return(typeof e=="number"?gt:e instanceof Dt?Se:(r=Dt(e))?(e=r,Se):ar)(n,e)}function _r(n){return function(){this.removeAttribute(n)}}function kr(n){return function(){this.removeAttributeNS(n.space,n.local)}}function Cr(n,e,r){var i,o=r+"",u;return function(){var a=this.getAttribute(n);return a===o?null:a===i?u:u=e(i=a,r)}}function zr(n,e,r){var i,o=r+"",u;return function(){var a=this.getAttributeNS(n.space,n.local);return a===o?null:a===i?u:u=e(i=a,r)}}function Pr(n,e,r){var i,o,u;return function(){var a,s=r(this),f;return s==null?void this.removeAttribute(n):(a=this.getAttribute(n),f=s+"",a===f?null:a===i&&f===o?u:(o=f,u=e(i=a,s)))}}function Er(n,e,r){var i,o,u;return function(){var a,s=r(this),f;return s==null?void this.removeAttributeNS(n.space,n.local):(a=this.getAttributeNS(n.space,n.local),f=s+"",a===f?null:a===i&&f===o?u:(o=f,u=e(i=a,s)))}}function Mr(n,e){var r=Ke(n),i=r==="transform"?cr:un;return this.attrTween(n,typeof e=="function"?(r.local?Er:Pr)(r,i,ve(this,"attr."+n,e)):e==null?(r.local?kr:_r)(r):(r.local?zr:Cr)(r,i,e))}function Tr(n,e){return function(r){this.setAttribute(n,e.call(this,r))}}function Or(n,e){return function(r){this.setAttributeNS(n.space,n.local,e.call(this,r))}}function Ar(n,e){var r,i;function o(){var u=e.apply(this,arguments);return u!==i&&(r=(i=u)&&Or(n,u)),r}return o._value=e,o}function Sr(n,e){var r,i;function o(){var u=e.apply(this,arguments);return u!==i&&(r=(i=u)&&Tr(n,u)),r}return o._value=e,o}function Rr(n,e){var r="attr."+n;if(arguments.length<2)return(r=this.tween(r))&&r._value;if(e==null)return this.tween(r,null);if(typeof e!="function")throw new Error;var i=Ke(n);return this.tween(r,(i.local?Ar:Sr)(i,e))}function Dr(n,e){return function(){me(this,n).delay=+e.apply(this,arguments)}}function Nr(n,e){return e=+e,function(){me(this,n).delay=e}}function Ir(n){var e=this._id;return arguments.length?this.each((typeof n=="function"?Dr:Nr)(e,n)):tt(this.node(),e).delay}function Ur(n,e){return function(){rt(this,n).duration=+e.apply(this,arguments)}}function $r(n,e){return e=+e,function(){rt(this,n).duration=e}}function jr(n){var e=this._id;return arguments.length?this.each((typeof n=="function"?Ur:$r)(e,n)):tt(this.node(),e).duration}function Lr(n,e){if(typeof e!="function")throw new Error;return function(){rt(this,n).ease=e}}function Fr(n){var e=this._id;return arguments.length?this.each(Lr(e,n)):tt(this.node(),e).ease}function qr(n,e){return function(){var r=e.apply(this,arguments);if(typeof r!="function")throw new Error;rt(this,n).ease=r}}function Gr(n){if(typeof n!="function")throw new Error;return this.each(qr(this._id,n))}function Hr(n){typeof n!="function"&&(n=Sn(n));for(var e=this._groups,r=e.length,i=new Array(r),o=0;o<r;++o)for(var u=e[o],a=u.length,s=i[o]=[],f,c=0;c<a;++c)(f=u[c])&&n.call(f,f.__data__,c,u)&&s.push(f);return new ft(i,this._parents,this._name,this._id)}function Vr(n){if(n._id!==this._id)throw new Error;for(var e=this._groups,r=n._groups,i=e.length,o=r.length,u=Math.min(i,o),a=new Array(i),s=0;s<u;++s)for(var f=e[s],c=r[s],l=f.length,h=a[s]=new Array(l),d,g=0;g<l;++g)(d=f[g]||c[g])&&(h[g]=d);for(;s<i;++s)a[s]=e[s];return new ft(a,this._parents,this._name,this._id)}function Xr(n){return(n+"").trim().split(/^|\s+/).every(function(e){var r=e.indexOf(".");return r>=0&&(e=e.slice(0,r)),!e||e==="start"})}function Wr(n,e,r){var i,o,u=Xr(e)?me:rt;return function(){var a=u(this,n),s=a.on;s!==i&&(o=(i=s).copy()).on(e,r),a.on=o}}function Yr(n,e){var r=this._id;return arguments.length<2?tt(this.node(),r).on.on(n):this.each(Wr(r,n,e))}function Zr(n){return function(){var e=this.parentNode;for(var r in this.__transition)if(+r!==n)return;e&&e.removeChild(this)}}function Kr(){return this.on("end.remove",Zr(this._id))}function Br(n){var e=this._name,r=this._id;typeof n!="function"&&(n=Rn(n));for(var i=this._groups,o=i.length,u=new Array(o),a=0;a<o;++a)for(var s=i[a],f=s.length,c=u[a]=new Array(f),l,h,d=0;d<f;++d)(l=s[d])&&(h=n.call(l,l.__data__,d,s))&&("__data__"in l&&(h.__data__=l.__data__),c[d]=h,Kt(c[d],e,r,d,c,tt(l,r)));return new ft(u,this._parents,e,r)}function Qr(n){var e=this._name,r=this._id;typeof n!="function"&&(n=Dn(n));for(var i=this._groups,o=i.length,u=[],a=[],s=0;s<o;++s)for(var f=i[s],c=f.length,l,h=0;h<c;++h)if(l=f[h]){for(var d=n.call(l,l.__data__,h,f),g,y=tt(l,r),x=0,C=d.length;x<C;++x)(g=d[x])&&Kt(g,e,r,x,d,y);u.push(d),a.push(l)}return new ft(u,a,e,r)}var Jr=Zt.prototype.constructor;function ti(){return new Jr(this._groups,this._parents)}function ei(n,e){var r,i,o;return function(){var u=Ot(this,n),a=(this.style.removeProperty(n),Ot(this,n));return u===a?null:u===r&&a===i?o:o=e(r=u,i=a)}}function sn(n){return function(){this.style.removeProperty(n)}}function ni(n,e,r){var i,o=r+"",u;return function(){var a=Ot(this,n);return a===o?null:a===i?u:u=e(i=a,r)}}function ri(n,e,r){var i,o,u;return function(){var a=Ot(this,n),s=r(this),f=s+"";return s==null&&(f=s=(this.style.removeProperty(n),Ot(this,n))),a===f?null:a===i&&f===o?u:(o=f,u=e(i=a,s))}}function ii(n,e){var r,i,o,u="style."+e,a="end."+u,s;return function(){var f=rt(this,n),c=f.on,l=f.value[u]==null?s||(s=sn(e)):void 0;(c!==r||o!==l)&&(i=(r=c).copy()).on(a,o=l),f.on=i}}function oi(n,e,r){var i=(n+="")=="transform"?lr:un;return e==null?this.styleTween(n,ei(n,i)).on("end.style."+n,sn(n)):typeof e=="function"?this.styleTween(n,ri(n,i,ve(this,"style."+n,e))).each(ii(this._id,n)):this.styleTween(n,ni(n,i,e),r).on("end.style."+n,null)}function ai(n,e,r){return function(i){this.style.setProperty(n,e.call(this,i),r)}}function ui(n,e,r){var i,o;function u(){var a=e.apply(this,arguments);return a!==o&&(i=(o=a)&&ai(n,a,r)),i}return u._value=e,u}function si(n,e,r){var i="style."+(n+="");if(arguments.length<2)return(i=this.tween(i))&&i._value;if(e==null)return this.tween(i,null);if(typeof e!="function")throw new Error;return this.tween(i,ui(n,e,r??""))}function li(n){return function(){this.textContent=n}}function ci(n){return function(){var e=n(this);this.textContent=e??""}}function fi(n){return this.tween("text",typeof n=="function"?ci(ve(this,"text",n)):li(n==null?"":n+""))}function hi(n){return function(e){this.textContent=n.call(this,e)}}function di(n){var e,r;function i(){var o=n.apply(this,arguments);return o!==r&&(e=(r=o)&&hi(o)),e}return i._value=n,i}function gi(n){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(n==null)return this.tween(e,null);if(typeof n!="function")throw new Error;return this.tween(e,di(n))}function pi(){for(var n=this._name,e=this._id,r=ln(),i=this._groups,o=i.length,u=0;u<o;++u)for(var a=i[u],s=a.length,f,c=0;c<s;++c)if(f=a[c]){var l=tt(f,e);Kt(f,n,r,c,a,{time:l.time+l.delay+l.duration,delay:0,duration:l.duration,ease:l.ease})}return new ft(i,this._parents,n,r)}function yi(){var n,e,r=this,i=r._id,o=r.size();return new Promise(function(u,a){var s={value:a},f={value:function(){--o===0&&u()}};r.each(function(){var c=rt(this,i),l=c.on;l!==n&&(e=(n=l).copy(),e._.cancel.push(s),e._.interrupt.push(s),e._.end.push(f)),c.on=e}),o===0&&u()})}var mi=0;function ft(n,e,r,i){this._groups=n,this._parents=e,this._name=r,this._id=i}function ln(){return++mi}var at=Zt.prototype;ft.prototype={constructor:ft,select:Br,selectAll:Qr,selectChild:at.selectChild,selectChildren:at.selectChildren,filter:Hr,merge:Vr,selection:ti,transition:pi,call:at.call,nodes:at.nodes,node:at.node,size:at.size,empty:at.empty,each:at.each,on:Yr,attr:Mr,attrTween:Rr,style:oi,styleTween:si,text:fi,textTween:gi,remove:Kr,tween:br,delay:Ir,duration:jr,ease:Fr,easeVarying:Gr,end:yi,[Symbol.iterator]:at[Symbol.iterator]};function vi(n){return((n*=2)<=1?n*n*n:(n-=2)*n*n+2)/2}var xi={time:null,delay:0,duration:250,ease:vi};function wi(n,e){for(var r;!(r=n.__transition)||!(r=r[e]);)if(!(n=n.parentNode))throw new Error(`transition ${e} not found`);return r}function bi(n){var e,r;n instanceof ft?(e=n._id,n=n._name):(e=ln(),(r=xi).time=bn(),n=n==null?null:n+"");for(var i=this._groups,o=i.length,u=0;u<o;++u)for(var a=i[u],s=a.length,f,c=0;c<s;++c)(f=a[c])&&Kt(f,n,e,c,a,r||wi(f,e));return new ft(i,this._parents,n,e)}Zt.prototype.interrupt=vr;Zt.prototype.transition=bi;const Ft=n=>()=>n;function _i(n,{sourceEvent:e,target:r,transform:i,dispatch:o}){Object.defineProperties(this,{type:{value:n,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},transform:{value:i,enumerable:!0,configurable:!0},_:{value:o}})}function ct(n,e,r){this.k=n,this.x=e,this.y=r}ct.prototype={constructor:ct,scale:function(n){return n===1?this:new ct(this.k*n,this.x,this.y)},translate:function(n,e){return n===0&e===0?this:new ct(this.k,this.x+this.k*n,this.y+this.k*e)},apply:function(n){return[n[0]*this.k+this.x,n[1]*this.k+this.y]},applyX:function(n){return n*this.k+this.x},applyY:function(n){return n*this.k+this.y},invert:function(n){return[(n[0]-this.x)/this.k,(n[1]-this.y)/this.k]},invertX:function(n){return(n-this.x)/this.k},invertY:function(n){return(n-this.y)/this.k},rescaleX:function(n){return n.copy().domain(n.range().map(this.invertX,this).map(n.invert,n))},rescaleY:function(n){return n.copy().domain(n.range().map(this.invertY,this).map(n.invert,n))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var xe=new ct(1,0,0);et.prototype=ct.prototype;function et(n){for(;!n.__zoom;)if(!(n=n.parentNode))return xe;return n.__zoom}function ee(n){n.stopImmediatePropagation()}function _t(n){n.preventDefault(),n.stopImmediatePropagation()}function ki(n){return(!n.ctrlKey||n.type==="wheel")&&!n.button}function Ci(){var n=this;return n instanceof SVGElement?(n=n.ownerSVGElement||n,n.hasAttribute("viewBox")?(n=n.viewBox.baseVal,[[n.x,n.y],[n.x+n.width,n.y+n.height]]):[[0,0],[n.width.baseVal.value,n.height.baseVal.value]]):[[0,0],[n.clientWidth,n.clientHeight]]}function $e(){return this.__zoom||xe}function zi(n){return-n.deltaY*(n.deltaMode===1?.05:n.deltaMode?1:.002)*(n.ctrlKey?10:1)}function Pi(){return navigator.maxTouchPoints||"ontouchstart"in this}function Ei(n,e,r){var i=n.invertX(e[0][0])-r[0][0],o=n.invertX(e[1][0])-r[1][0],u=n.invertY(e[0][1])-r[0][1],a=n.invertY(e[1][1])-r[1][1];return n.translate(o>i?(i+o)/2:Math.min(0,i)||Math.max(0,o),a>u?(u+a)/2:Math.min(0,u)||Math.max(0,a))}function Mi(){var n=ki,e=Ci,r=Ei,i=zi,o=Pi,u=[0,1/0],a=[[-1/0,-1/0],[1/0,1/0]],s=250,f=gr,c=pe("start","zoom","end"),l,h,d,g=500,y=150,x=0,C=10;function m(p){p.property("__zoom",$e).on("wheel.zoom",E,{passive:!1}).on("mousedown.zoom",A).on("dblclick.zoom",P).filter(o).on("touchstart.zoom",I).on("touchmove.zoom",U).on("touchend.zoom touchcancel.zoom",$).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}m.transform=function(p,z,w,T){var R=p.selection?p.selection():p;R.property("__zoom",$e),p!==R?_(p,z,w,T):R.interrupt().each(function(){M(this,arguments).event(T).start().zoom(null,typeof z=="function"?z.apply(this,arguments):z).end()})},m.scaleBy=function(p,z,w,T){m.scaleTo(p,function(){var R=this.__zoom.k,D=typeof z=="function"?z.apply(this,arguments):z;return R*D},w,T)},m.scaleTo=function(p,z,w,T){m.transform(p,function(){var R=e.apply(this,arguments),D=this.__zoom,N=w==null?v(R):typeof w=="function"?w.apply(this,arguments):w,j=D.invert(N),F=typeof z=="function"?z.apply(this,arguments):z;return r(S(O(D,F),N,j),R,a)},w,T)},m.translateBy=function(p,z,w,T){m.transform(p,function(){return r(this.__zoom.translate(typeof z=="function"?z.apply(this,arguments):z,typeof w=="function"?w.apply(this,arguments):w),e.apply(this,arguments),a)},null,T)},m.translateTo=function(p,z,w,T,R){m.transform(p,function(){var D=e.apply(this,arguments),N=this.__zoom,j=T==null?v(D):typeof T=="function"?T.apply(this,arguments):T;return r(xe.translate(j[0],j[1]).scale(N.k).translate(typeof z=="function"?-z.apply(this,arguments):-z,typeof w=="function"?-w.apply(this,arguments):-w),D,a)},T,R)};function O(p,z){return z=Math.max(u[0],Math.min(u[1],z)),z===p.k?p:new ct(z,p.x,p.y)}function S(p,z,w){var T=z[0]-w[0]*p.k,R=z[1]-w[1]*p.k;return T===p.x&&R===p.y?p:new ct(p.k,T,R)}function v(p){return[(+p[0][0]+ +p[1][0])/2,(+p[0][1]+ +p[1][1])/2]}function _(p,z,w,T){p.on("start.zoom",function(){M(this,arguments).event(T).start()}).on("interrupt.zoom end.zoom",function(){M(this,arguments).event(T).end()}).tween("zoom",function(){var R=this,D=arguments,N=M(R,D).event(T),j=e.apply(R,D),F=w==null?v(j):typeof w=="function"?w.apply(R,D):w,H=Math.max(j[1][0]-j[0][0],j[1][1]-j[0][1]),G=R.__zoom,K=typeof z=="function"?z.apply(R,D):z,it=f(G.invert(F).concat(H/G.k),K.invert(F).concat(H/K.k));return function(B){if(B===1)B=K;else{var ot=it(B),Bt=H/ot[2];B=new ct(Bt,F[0]-ot[0]*Bt,F[1]-ot[1]*Bt)}N.zoom(null,B)}})}function M(p,z,w){return!w&&p.__zooming||new k(p,z)}function k(p,z){this.that=p,this.args=z,this.active=0,this.sourceEvent=null,this.extent=e.apply(p,z),this.taps=0}k.prototype={event:function(p){return p&&(this.sourceEvent=p),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(p,z){return this.mouse&&p!=="mouse"&&(this.mouse[1]=z.invert(this.mouse[0])),this.touch0&&p!=="touch"&&(this.touch0[1]=z.invert(this.touch0[0])),this.touch1&&p!=="touch"&&(this.touch1[1]=z.invert(this.touch1[0])),this.that.__zoom=z,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(p){var z=Q(this.that).datum();c.call(p,this.that,new _i(p,{sourceEvent:this.sourceEvent,target:m,transform:this.that.__zoom,dispatch:c}),z)}};function E(p,...z){if(!n.apply(this,arguments))return;var w=M(this,z).event(p),T=this.__zoom,R=Math.max(u[0],Math.min(u[1],T.k*Math.pow(2,i.apply(this,arguments)))),D=lt(p);if(w.wheel)(w.mouse[0][0]!==D[0]||w.mouse[0][1]!==D[1])&&(w.mouse[1]=T.invert(w.mouse[0]=D)),clearTimeout(w.wheel);else{if(T.k===R)return;w.mouse=[D,T.invert(D)],Vt(this),w.start()}_t(p),w.wheel=setTimeout(N,y),w.zoom("mouse",r(S(O(T,R),w.mouse[0],w.mouse[1]),w.extent,a));function N(){w.wheel=null,w.end()}}function A(p,...z){if(d||!n.apply(this,arguments))return;var w=p.currentTarget,T=M(this,z,!0).event(p),R=Q(p.view).on("mousemove.zoom",F,!0).on("mouseup.zoom",H,!0),D=lt(p,w),N=p.clientX,j=p.clientY;Be(p.view),ee(p),T.mouse=[D,this.__zoom.invert(D)],Vt(this),T.start();function F(G){if(_t(G),!T.moved){var K=G.clientX-N,it=G.clientY-j;T.moved=K*K+it*it>x}T.event(G).zoom("mouse",r(S(T.that.__zoom,T.mouse[0]=lt(G,w),T.mouse[1]),T.extent,a))}function H(G){R.on("mousemove.zoom mouseup.zoom",null),Qe(G.view,T.moved),_t(G),T.event(G).end()}}function P(p,...z){if(n.apply(this,arguments)){var w=this.__zoom,T=lt(p.changedTouches?p.changedTouches[0]:p,this),R=w.invert(T),D=w.k*(p.shiftKey?.5:2),N=r(S(O(w,D),T,R),e.apply(this,z),a);_t(p),s>0?Q(this).transition().duration(s).call(_,N,T,p):Q(this).call(m.transform,N,T,p)}}function I(p,...z){if(n.apply(this,arguments)){var w=p.touches,T=w.length,R=M(this,z,p.changedTouches.length===T).event(p),D,N,j,F;for(ee(p),N=0;N<T;++N)j=w[N],F=lt(j,this),F=[F,this.__zoom.invert(F),j.identifier],R.touch0?!R.touch1&&R.touch0[2]!==F[2]&&(R.touch1=F,R.taps=0):(R.touch0=F,D=!0,R.taps=1+!!l);l&&(l=clearTimeout(l)),D&&(R.taps<2&&(h=F[0],l=setTimeout(function(){l=null},g)),Vt(this),R.start())}}function U(p,...z){if(this.__zooming){var w=M(this,z).event(p),T=p.changedTouches,R=T.length,D,N,j,F;for(_t(p),D=0;D<R;++D)N=T[D],j=lt(N,this),w.touch0&&w.touch0[2]===N.identifier?w.touch0[0]=j:w.touch1&&w.touch1[2]===N.identifier&&(w.touch1[0]=j);if(N=w.that.__zoom,w.touch1){var H=w.touch0[0],G=w.touch0[1],K=w.touch1[0],it=w.touch1[1],B=(B=K[0]-H[0])*B+(B=K[1]-H[1])*B,ot=(ot=it[0]-G[0])*ot+(ot=it[1]-G[1])*ot;N=O(N,Math.sqrt(B/ot)),j=[(H[0]+K[0])/2,(H[1]+K[1])/2],F=[(G[0]+it[0])/2,(G[1]+it[1])/2]}else if(w.touch0)j=w.touch0[0],F=w.touch0[1];else return;w.zoom("touch",r(S(N,j,F),w.extent,a))}}function $(p,...z){if(this.__zooming){var w=M(this,z).event(p),T=p.changedTouches,R=T.length,D,N;for(ee(p),d&&clearTimeout(d),d=setTimeout(function(){d=null},g),D=0;D<R;++D)N=T[D],w.touch0&&w.touch0[2]===N.identifier?delete w.touch0:w.touch1&&w.touch1[2]===N.identifier&&delete w.touch1;if(w.touch1&&!w.touch0&&(w.touch0=w.touch1,delete w.touch1),w.touch0)w.touch0[1]=this.__zoom.invert(w.touch0[0]);else if(w.end(),w.taps===2&&(N=lt(N,this),Math.hypot(h[0]-N[0],h[1]-N[1])<C)){var j=Q(this).on("dblclick.zoom");j&&j.apply(this,arguments)}}}return m.wheelDelta=function(p){return arguments.length?(i=typeof p=="function"?p:Ft(+p),m):i},m.filter=function(p){return arguments.length?(n=typeof p=="function"?p:Ft(!!p),m):n},m.touchable=function(p){return arguments.length?(o=typeof p=="function"?p:Ft(!!p),m):o},m.extent=function(p){return arguments.length?(e=typeof p=="function"?p:Ft([[+p[0][0],+p[0][1]],[+p[1][0],+p[1][1]]]),m):e},m.scaleExtent=function(p){return arguments.length?(u[0]=+p[0],u[1]=+p[1],m):[u[0],u[1]]},m.translateExtent=function(p){return arguments.length?(a[0][0]=+p[0][0],a[1][0]=+p[1][0],a[0][1]=+p[0][1],a[1][1]=+p[1][1],m):[[a[0][0],a[0][1]],[a[1][0],a[1][1]]]},m.constrain=function(p){return arguments.length?(r=p,m):r},m.duration=function(p){return arguments.length?(s=+p,m):s},m.interpolate=function(p){return arguments.length?(f=p,m):f},m.on=function(){var p=c.on.apply(c,arguments);return p===c?m:p},m.clickDistance=function(p){return arguments.length?(x=(p=+p)*p,m):Math.sqrt(x)},m.tapDistance=function(p){return arguments.length?(C=+p,m):C},m}function Ti(n,e){let r=0;for(let i of n)(i=+i)&&(r+=i);return r}var Oi="Expected a function";function Ai(n,e,r){var i=!0,o=!0;if(typeof n!="function")throw new TypeError(Oi);return _n(r)&&(i="leading"in r?!!r.leading:i,o="trailing"in r?!!r.trailing:o),kn(n,e,{leading:i,maxWait:e,trailing:o})}function fe(n,e){(e==null||e>n.length)&&(e=n.length);for(var r=0,i=Array(e);r<e;r++)i[r]=n[r];return i}function Si(n){if(Array.isArray(n))return fe(n)}function cn(n,e,r){if(typeof n=="function"?n===e:n.has(e))return arguments.length<3?e:r;throw new TypeError("Private element is not present on this object")}function Ri(n,e){if(e.has(n))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Di(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function W(n,e){return n.get(cn(n,e))}function je(n,e,r){Ri(n,e),e.set(n,r)}function Le(n,e,r){return n.set(cn(n,e),r),r}function Ni(n,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,Fi(i.key),i)}}function Ii(n,e,r){return e&&Ni(n.prototype,e),Object.defineProperty(n,"prototype",{writable:!1}),n}function Ui(n){if(typeof Symbol<"u"&&n[Symbol.iterator]!=null||n["@@iterator"]!=null)return Array.from(n)}function $i(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ji(n){return Si(n)||Ui(n)||qi(n)||$i()}function Li(n,e){if(typeof n!="object"||!n)return n;var r=n[Symbol.toPrimitive];if(r!==void 0){var i=r.call(n,e);if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}function Fi(n){var e=Li(n,"string");return typeof e=="symbol"?e:e+""}function qi(n,e){if(n){if(typeof n=="string")return fe(n,e);var r={}.toString.call(n).slice(8,-1);return r==="Object"&&n.constructor&&(r=n.constructor.name),r==="Map"||r==="Set"?Array.from(n):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?fe(n,e):void 0}}var Gi=123,Hi=function(e){return"#".concat(Math.min(e,Math.pow(2,24)).toString(16).padStart(6,"0"))},fn=function(e,r,i){return(e<<16)+(r<<8)+i},Vi=function(e){var r=Cn(e).toRgb(),i=r.r,o=r.g,u=r.b;return fn(i,o,u)},Fe=function(e,r){return e*Gi%Math.pow(2,r)},pt=new WeakMap,ut=new WeakMap,Xi=function(){function n(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:6;Di(this,n),je(this,pt,void 0),je(this,ut,void 0),Le(ut,this,e),this.reset()}return Ii(n,[{key:"reset",value:function(){Le(pt,this,["__reserved for background__"])}},{key:"register",value:function(r){if(W(pt,this).length>=Math.pow(2,24-W(ut,this)))return null;var i=W(pt,this).length,o=Fe(i,W(ut,this)),u=Hi(i+(o<<24-W(ut,this)));return W(pt,this).push(r),u}},{key:"lookup",value:function(r){if(!r)return null;var i=typeof r=="string"?Vi(r):fn.apply(void 0,ji(r));if(!i)return null;var o=i&Math.pow(2,24-W(ut,this))-1,u=i>>24-W(ut,this)&Math.pow(2,W(ut,this))-1;return Fe(o,W(ut,this))!==u||o>=W(pt,this).length?null:W(pt,this)[o]}}])}();const{abs:kt,cos:st,sin:vt,acos:Wi,atan2:Ct,sqrt:ht,pow:Y}=Math;function zt(n){return n<0?-Y(-n,1/3):Y(n,1/3)}const hn=Math.PI,qt=2*hn,dt=hn/2,Yi=1e-6,ne=Number.MAX_SAFE_INTEGER||9007199254740991,re=Number.MIN_SAFE_INTEGER||-9007199254740991,Zi={x:0,y:0,z:0},b={Tvalues:[-.06405689286260563,.06405689286260563,-.1911188674736163,.1911188674736163,-.3150426796961634,.3150426796961634,-.4337935076260451,.4337935076260451,-.5454214713888396,.5454214713888396,-.6480936519369755,.6480936519369755,-.7401241915785544,.7401241915785544,-.820001985973903,.820001985973903,-.8864155270044011,.8864155270044011,-.9382745520027328,.9382745520027328,-.9747285559713095,.9747285559713095,-.9951872199970213,.9951872199970213],Cvalues:[.12793819534675216,.12793819534675216,.1258374563468283,.1258374563468283,.12167047292780339,.12167047292780339,.1155056680537256,.1155056680537256,.10744427011596563,.10744427011596563,.09761865210411388,.09761865210411388,.08619016153195327,.08619016153195327,.0733464814110803,.0733464814110803,.05929858491543678,.05929858491543678,.04427743881741981,.04427743881741981,.028531388628933663,.028531388628933663,.0123412297999872,.0123412297999872],arcfn:function(n,e){const r=e(n);let i=r.x*r.x+r.y*r.y;return typeof r.z<"u"&&(i+=r.z*r.z),ht(i)},compute:function(n,e,r){if(n===0)return e[0].t=0,e[0];const i=e.length-1;if(n===1)return e[i].t=1,e[i];const o=1-n;let u=e;if(i===0)return e[0].t=n,e[0];if(i===1){const s={x:o*u[0].x+n*u[1].x,y:o*u[0].y+n*u[1].y,t:n};return r&&(s.z=o*u[0].z+n*u[1].z),s}if(i<4){let s=o*o,f=n*n,c,l,h,d=0;i===2?(u=[u[0],u[1],u[2],Zi],c=s,l=o*n*2,h=f):i===3&&(c=s*o,l=s*n*3,h=o*f*3,d=n*f);const g={x:c*u[0].x+l*u[1].x+h*u[2].x+d*u[3].x,y:c*u[0].y+l*u[1].y+h*u[2].y+d*u[3].y,t:n};return r&&(g.z=c*u[0].z+l*u[1].z+h*u[2].z+d*u[3].z),g}const a=JSON.parse(JSON.stringify(e));for(;a.length>1;){for(let s=0;s<a.length-1;s++)a[s]={x:a[s].x+(a[s+1].x-a[s].x)*n,y:a[s].y+(a[s+1].y-a[s].y)*n},typeof a[s].z<"u"&&(a[s].z=a[s].z+(a[s+1].z-a[s].z)*n);a.splice(a.length-1,1)}return a[0].t=n,a[0]},computeWithRatios:function(n,e,r,i){const o=1-n,u=r,a=e;let s=u[0],f=u[1],c=u[2],l=u[3],h;if(s*=o,f*=n,a.length===2)return h=s+f,{x:(s*a[0].x+f*a[1].x)/h,y:(s*a[0].y+f*a[1].y)/h,z:i?(s*a[0].z+f*a[1].z)/h:!1,t:n};if(s*=o,f*=2*o,c*=n*n,a.length===3)return h=s+f+c,{x:(s*a[0].x+f*a[1].x+c*a[2].x)/h,y:(s*a[0].y+f*a[1].y+c*a[2].y)/h,z:i?(s*a[0].z+f*a[1].z+c*a[2].z)/h:!1,t:n};if(s*=o,f*=1.5*o,c*=3*o,l*=n*n*n,a.length===4)return h=s+f+c+l,{x:(s*a[0].x+f*a[1].x+c*a[2].x+l*a[3].x)/h,y:(s*a[0].y+f*a[1].y+c*a[2].y+l*a[3].y)/h,z:i?(s*a[0].z+f*a[1].z+c*a[2].z+l*a[3].z)/h:!1,t:n}},derive:function(n,e){const r=[];for(let i=n,o=i.length,u=o-1;o>1;o--,u--){const a=[];for(let s=0,f;s<u;s++)f={x:u*(i[s+1].x-i[s].x),y:u*(i[s+1].y-i[s].y)},e&&(f.z=u*(i[s+1].z-i[s].z)),a.push(f);r.push(a),i=a}return r},between:function(n,e,r){return e<=n&&n<=r||b.approximately(n,e)||b.approximately(n,r)},approximately:function(n,e,r){return kt(n-e)<=(r||Yi)},length:function(n){const r=b.Tvalues.length;let i=0;for(let o=0,u;o<r;o++)u=.5*b.Tvalues[o]+.5,i+=b.Cvalues[o]*b.arcfn(u,n);return .5*i},map:function(n,e,r,i,o){const u=r-e,a=o-i,s=n-e,f=s/u;return i+a*f},lerp:function(n,e,r){const i={x:e.x+n*(r.x-e.x),y:e.y+n*(r.y-e.y)};return e.z!==void 0&&r.z!==void 0&&(i.z=e.z+n*(r.z-e.z)),i},pointToString:function(n){let e=n.x+"/"+n.y;return typeof n.z<"u"&&(e+="/"+n.z),e},pointsToString:function(n){return"["+n.map(b.pointToString).join(", ")+"]"},copy:function(n){return JSON.parse(JSON.stringify(n))},angle:function(n,e,r){const i=e.x-n.x,o=e.y-n.y,u=r.x-n.x,a=r.y-n.y,s=i*a-o*u,f=i*u+o*a;return Ct(s,f)},round:function(n,e){const r=""+n,i=r.indexOf(".");return parseFloat(r.substring(0,i+1+e))},dist:function(n,e){const r=n.x-e.x,i=n.y-e.y;return ht(r*r+i*i)},closest:function(n,e){let r=Y(2,63),i,o;return n.forEach(function(u,a){o=b.dist(e,u),o<r&&(r=o,i=a)}),{mdist:r,mpos:i}},abcratio:function(n,e){if(e!==2&&e!==3)return!1;if(typeof n>"u")n=.5;else if(n===0||n===1)return n;const r=Y(n,e)+Y(1-n,e),i=r-1;return kt(i/r)},projectionratio:function(n,e){if(e!==2&&e!==3)return!1;if(typeof n>"u")n=.5;else if(n===0||n===1)return n;const r=Y(1-n,e),i=Y(n,e)+r;return r/i},lli8:function(n,e,r,i,o,u,a,s){const f=(n*i-e*r)*(o-a)-(n-r)*(o*s-u*a),c=(n*i-e*r)*(u-s)-(e-i)*(o*s-u*a),l=(n-r)*(u-s)-(e-i)*(o-a);return l==0?!1:{x:f/l,y:c/l}},lli4:function(n,e,r,i){const o=n.x,u=n.y,a=e.x,s=e.y,f=r.x,c=r.y,l=i.x,h=i.y;return b.lli8(o,u,a,s,f,c,l,h)},lli:function(n,e){return b.lli4(n,n.c,e,e.c)},makeline:function(n,e){return new q(n.x,n.y,(n.x+e.x)/2,(n.y+e.y)/2,e.x,e.y)},findbbox:function(n){let e=ne,r=ne,i=re,o=re;return n.forEach(function(u){const a=u.bbox();e>a.x.min&&(e=a.x.min),r>a.y.min&&(r=a.y.min),i<a.x.max&&(i=a.x.max),o<a.y.max&&(o=a.y.max)}),{x:{min:e,mid:(e+i)/2,max:i,size:i-e},y:{min:r,mid:(r+o)/2,max:o,size:o-r}}},shapeintersections:function(n,e,r,i,o){if(!b.bboxoverlap(e,i))return[];const u=[],a=[n.startcap,n.forward,n.back,n.endcap],s=[r.startcap,r.forward,r.back,r.endcap];return a.forEach(function(f){f.virtual||s.forEach(function(c){if(c.virtual)return;const l=f.intersects(c,o);l.length>0&&(l.c1=f,l.c2=c,l.s1=n,l.s2=r,u.push(l))})}),u},makeshape:function(n,e,r){const i=e.points.length,o=n.points.length,u=b.makeline(e.points[i-1],n.points[0]),a=b.makeline(n.points[o-1],e.points[0]),s={startcap:u,forward:n,back:e,endcap:a,bbox:b.findbbox([u,n,e,a])};return s.intersections=function(f){return b.shapeintersections(s,s.bbox,f,f.bbox,r)},s},getminmax:function(n,e,r){if(!r)return{min:0,max:0};let i=ne,o=re,u,a;r.indexOf(0)===-1&&(r=[0].concat(r)),r.indexOf(1)===-1&&r.push(1);for(let s=0,f=r.length;s<f;s++)u=r[s],a=n.get(u),a[e]<i&&(i=a[e]),a[e]>o&&(o=a[e]);return{min:i,mid:(i+o)/2,max:o,size:o-i}},align:function(n,e){const r=e.p1.x,i=e.p1.y,o=-Ct(e.p2.y-i,e.p2.x-r),u=function(a){return{x:(a.x-r)*st(o)-(a.y-i)*vt(o),y:(a.x-r)*vt(o)+(a.y-i)*st(o)}};return n.map(u)},roots:function(n,e){e=e||{p1:{x:0,y:0},p2:{x:1,y:0}};const r=n.length-1,i=b.align(n,e),o=function(k){return 0<=k&&k<=1};if(r===2){const k=i[0].y,E=i[1].y,A=i[2].y,P=k-2*E+A;if(P!==0){const I=-ht(E*E-k*A),U=-k+E,$=-(I+U)/P,p=-(-I+U)/P;return[$,p].filter(o)}else if(E!==A&&P===0)return[(2*E-A)/(2*E-2*A)].filter(o);return[]}const u=i[0].y,a=i[1].y,s=i[2].y,f=i[3].y;let c=-u+3*a-3*s+f,l=3*u-6*a+3*s,h=-3*u+3*a,d=u;if(b.approximately(c,0)){if(b.approximately(l,0))return b.approximately(h,0)?[]:[-d/h].filter(o);const k=ht(h*h-4*l*d),E=2*l;return[(k-h)/E,(-h-k)/E].filter(o)}l/=c,h/=c,d/=c;const g=(3*h-l*l)/3,y=g/3,x=(2*l*l*l-9*l*h+27*d)/27,C=x/2,m=C*C+y*y*y;let O,S,v,_,M;if(m<0){const k=-g/3,E=k*k*k,A=ht(E),P=-x/(2*A),I=P<-1?-1:P>1?1:P,U=Wi(I),$=zt(A),p=2*$;return v=p*st(U/3)-l/3,_=p*st((U+qt)/3)-l/3,M=p*st((U+2*qt)/3)-l/3,[v,_,M].filter(o)}else{if(m===0)return O=C<0?zt(-C):-zt(C),v=2*O-l/3,_=-O-l/3,[v,_].filter(o);{const k=ht(m);return O=zt(-C+k),S=zt(C+k),[O-S-l/3].filter(o)}}},droots:function(n){if(n.length===3){const e=n[0],r=n[1],i=n[2],o=e-2*r+i;if(o!==0){const u=-ht(r*r-e*i),a=-e+r,s=-(u+a)/o,f=-(-u+a)/o;return[s,f]}else if(r!==i&&o===0)return[(2*r-i)/(2*(r-i))];return[]}if(n.length===2){const e=n[0],r=n[1];return e!==r?[e/(e-r)]:[]}return[]},curvature:function(n,e,r,i,o){let u,a,s,f,c=0,l=0;const h=b.compute(n,e),d=b.compute(n,r),g=h.x*h.x+h.y*h.y;if(i?(u=ht(Y(h.y*d.z-d.y*h.z,2)+Y(h.z*d.x-d.z*h.x,2)+Y(h.x*d.y-d.x*h.y,2)),a=Y(g+h.z*h.z,3/2)):(u=h.x*d.y-h.y*d.x,a=Y(g,3/2)),u===0||a===0)return{k:0,r:0};if(c=u/a,l=a/u,!o){const y=b.curvature(n-.001,e,r,i,!0).k,x=b.curvature(n+.001,e,r,i,!0).k;f=(x-c+(c-y))/2,s=(kt(x-c)+kt(c-y))/2}return{k:c,r:l,dk:f,adk:s}},inflections:function(n){if(n.length<4)return[];const e=b.align(n,{p1:n[0],p2:n.slice(-1)[0]}),r=e[2].x*e[1].y,i=e[3].x*e[1].y,o=e[1].x*e[2].y,u=e[3].x*e[2].y,a=18*(-3*r+2*i+3*o-u),s=18*(3*r-i-3*o),f=18*(o-r);if(b.approximately(a,0)){if(!b.approximately(s,0)){let d=-f/s;if(0<=d&&d<=1)return[d]}return[]}const c=2*a;if(b.approximately(c,0))return[];const l=s*s-4*a*f;if(l<0)return[];const h=Math.sqrt(l);return[(h-s)/c,-(s+h)/c].filter(function(d){return 0<=d&&d<=1})},bboxoverlap:function(n,e){const r=["x","y"],i=r.length;for(let o=0,u,a,s,f;o<i;o++)if(u=r[o],a=n[u].mid,s=e[u].mid,f=(n[u].size+e[u].size)/2,kt(a-s)>=f)return!1;return!0},expandbox:function(n,e){e.x.min<n.x.min&&(n.x.min=e.x.min),e.y.min<n.y.min&&(n.y.min=e.y.min),e.z&&e.z.min<n.z.min&&(n.z.min=e.z.min),e.x.max>n.x.max&&(n.x.max=e.x.max),e.y.max>n.y.max&&(n.y.max=e.y.max),e.z&&e.z.max>n.z.max&&(n.z.max=e.z.max),n.x.mid=(n.x.min+n.x.max)/2,n.y.mid=(n.y.min+n.y.max)/2,n.z&&(n.z.mid=(n.z.min+n.z.max)/2),n.x.size=n.x.max-n.x.min,n.y.size=n.y.max-n.y.min,n.z&&(n.z.size=n.z.max-n.z.min)},pairiteration:function(n,e,r){const i=n.bbox(),o=e.bbox(),u=1e5,a=r||.5;if(i.x.size+i.y.size<a&&o.x.size+o.y.size<a)return[(u*(n._t1+n._t2)/2|0)/u+"/"+(u*(e._t1+e._t2)/2|0)/u];let s=n.split(.5),f=e.split(.5),c=[{left:s.left,right:f.left},{left:s.left,right:f.right},{left:s.right,right:f.right},{left:s.right,right:f.left}];c=c.filter(function(h){return b.bboxoverlap(h.left.bbox(),h.right.bbox())});let l=[];return c.length===0||(c.forEach(function(h){l=l.concat(b.pairiteration(h.left,h.right,a))}),l=l.filter(function(h,d){return l.indexOf(h)===d})),l},getccenter:function(n,e,r){const i=e.x-n.x,o=e.y-n.y,u=r.x-e.x,a=r.y-e.y,s=i*st(dt)-o*vt(dt),f=i*vt(dt)+o*st(dt),c=u*st(dt)-a*vt(dt),l=u*vt(dt)+a*st(dt),h=(n.x+e.x)/2,d=(n.y+e.y)/2,g=(e.x+r.x)/2,y=(e.y+r.y)/2,x=h+s,C=d+f,m=g+c,O=y+l,S=b.lli8(h,d,x,C,g,y,m,O),v=b.dist(S,n);let _=Ct(n.y-S.y,n.x-S.x),M=Ct(e.y-S.y,e.x-S.x),k=Ct(r.y-S.y,r.x-S.x),E;return _<k?((_>M||M>k)&&(_+=qt),_>k&&(E=k,k=_,_=E)):k<M&&M<_?(E=k,k=_,_=E):k+=qt,S.s=_,S.e=k,S.r=v,S},numberSort:function(n,e){return n-e}};class Mt{constructor(e){this.curves=[],this._3d=!1,e&&(this.curves=e,this._3d=this.curves[0]._3d)}valueOf(){return this.toString()}toString(){return"["+this.curves.map(function(e){return b.pointsToString(e.points)}).join(", ")+"]"}addCurve(e){this.curves.push(e),this._3d=this._3d||e._3d}length(){return this.curves.map(function(e){return e.length()}).reduce(function(e,r){return e+r})}curve(e){return this.curves[e]}bbox(){const e=this.curves;for(var r=e[0].bbox(),i=1;i<e.length;i++)b.expandbox(r,e[i].bbox());return r}offset(e){const r=[];return this.curves.forEach(function(i){r.push(...i.offset(e))}),new Mt(r)}}const{abs:Pt,min:qe,max:Ge,cos:Ki,sin:Bi,acos:Qi,sqrt:Et}=Math,Ji=Math.PI;class q{constructor(e){let r=e&&e.forEach?e:Array.from(arguments).slice(),i=!1;if(typeof r[0]=="object"){i=r.length;const g=[];r.forEach(function(y){["x","y","z"].forEach(function(x){typeof y[x]<"u"&&g.push(y[x])})}),r=g}let o=!1;const u=r.length;if(i){if(i>4){if(arguments.length!==1)throw new Error("Only new Bezier(point[]) is accepted for 4th and higher order curves");o=!0}}else if(u!==6&&u!==8&&u!==9&&u!==12&&arguments.length!==1)throw new Error("Only new Bezier(point[]) is accepted for 4th and higher order curves");const a=this._3d=!o&&(u===9||u===12)||e&&e[0]&&typeof e[0].z<"u",s=this.points=[];for(let g=0,y=a?3:2;g<u;g+=y){var f={x:r[g],y:r[g+1]};a&&(f.z=r[g+2]),s.push(f)}const c=this.order=s.length-1,l=this.dims=["x","y"];a&&l.push("z"),this.dimlen=l.length;const h=b.align(s,{p1:s[0],p2:s[c]}),d=b.dist(s[0],s[c]);this._linear=h.reduce((g,y)=>g+Pt(y.y),0)<d/50,this._lut=[],this._t1=0,this._t2=1,this.update()}static quadraticFromPoints(e,r,i,o){if(typeof o>"u"&&(o=.5),o===0)return new q(r,r,i);if(o===1)return new q(e,r,r);const u=q.getABC(2,e,r,i,o);return new q(e,u.A,i)}static cubicFromPoints(e,r,i,o,u){typeof o>"u"&&(o=.5);const a=q.getABC(3,e,r,i,o);typeof u>"u"&&(u=b.dist(r,a.C));const s=u*(1-o)/o,f=b.dist(e,i),c=(i.x-e.x)/f,l=(i.y-e.y)/f,h=u*c,d=u*l,g=s*c,y=s*l,x={x:r.x-h,y:r.y-d},C={x:r.x+g,y:r.y+y},m=a.A,O={x:m.x+(x.x-m.x)/(1-o),y:m.y+(x.y-m.y)/(1-o)},S={x:m.x+(C.x-m.x)/o,y:m.y+(C.y-m.y)/o},v={x:e.x+(O.x-e.x)/o,y:e.y+(O.y-e.y)/o},_={x:i.x+(S.x-i.x)/(1-o),y:i.y+(S.y-i.y)/(1-o)};return new q(e,v,_,i)}static getUtils(){return b}getUtils(){return q.getUtils()}static get PolyBezier(){return Mt}valueOf(){return this.toString()}toString(){return b.pointsToString(this.points)}toSVG(){if(this._3d)return!1;const e=this.points,r=e[0].x,i=e[0].y,o=["M",r,i,this.order===2?"Q":"C"];for(let u=1,a=e.length;u<a;u++)o.push(e[u].x),o.push(e[u].y);return o.join(" ")}setRatios(e){if(e.length!==this.points.length)throw new Error("incorrect number of ratio values");this.ratios=e,this._lut=[]}verify(){const e=this.coordDigest();e!==this._print&&(this._print=e,this.update())}coordDigest(){return this.points.map(function(e,r){return""+r+e.x+e.y+(e.z?e.z:0)}).join("")}update(){this._lut=[],this.dpoints=b.derive(this.points,this._3d),this.computedirection()}computedirection(){const e=this.points,r=b.angle(e[0],e[this.order],e[1]);this.clockwise=r>0}length(){return b.length(this.derivative.bind(this))}static getABC(e=2,r,i,o,u=.5){const a=b.projectionratio(u,e),s=1-a,f={x:a*r.x+s*o.x,y:a*r.y+s*o.y},c=b.abcratio(u,e);return{A:{x:i.x+(i.x-f.x)/c,y:i.y+(i.y-f.y)/c},B:i,C:f,S:r,E:o}}getABC(e,r){r=r||this.get(e);let i=this.points[0],o=this.points[this.order];return q.getABC(this.order,i,r,o,e)}getLUT(e){if(this.verify(),e=e||100,this._lut.length===e+1)return this._lut;this._lut=[],e++,this._lut=[];for(let r=0,i,o;r<e;r++)o=r/(e-1),i=this.compute(o),i.t=o,this._lut.push(i);return this._lut}on(e,r){r=r||5;const i=this.getLUT(),o=[];for(let u=0,a,s=0;u<i.length;u++)a=i[u],b.dist(a,e)<r&&(o.push(a),s+=u/i.length);return o.length?t/=o.length:!1}project(e){const r=this.getLUT(),i=r.length-1,o=b.closest(r,e),u=o.mpos,a=(u-1)/i,s=(u+1)/i,f=.1/i;let c=o.mdist,l=a,h=l,d;c+=1;for(let g;l<s+f;l+=f)d=this.compute(l),g=b.dist(e,d),g<c&&(c=g,h=l);return h=h<0?0:h>1?1:h,d=this.compute(h),d.t=h,d.d=c,d}get(e){return this.compute(e)}point(e){return this.points[e]}compute(e){return this.ratios?b.computeWithRatios(e,this.points,this.ratios,this._3d):b.compute(e,this.points,this._3d,this.ratios)}raise(){const e=this.points,r=[e[0]],i=e.length;for(let o=1,u,a;o<i;o++)u=e[o],a=e[o-1],r[o]={x:(i-o)/i*u.x+o/i*a.x,y:(i-o)/i*u.y+o/i*a.y};return r[i]=e[i-1],new q(r)}derivative(e){return b.compute(e,this.dpoints[0],this._3d)}dderivative(e){return b.compute(e,this.dpoints[1],this._3d)}align(){let e=this.points;return new q(b.align(e,{p1:e[0],p2:e[e.length-1]}))}curvature(e){return b.curvature(e,this.dpoints[0],this.dpoints[1],this._3d)}inflections(){return b.inflections(this.points)}normal(e){return this._3d?this.__normal3(e):this.__normal2(e)}__normal2(e){const r=this.derivative(e),i=Et(r.x*r.x+r.y*r.y);return{t:e,x:-r.y/i,y:r.x/i}}__normal3(e){const r=this.derivative(e),i=this.derivative(e+.01),o=Et(r.x*r.x+r.y*r.y+r.z*r.z),u=Et(i.x*i.x+i.y*i.y+i.z*i.z);r.x/=o,r.y/=o,r.z/=o,i.x/=u,i.y/=u,i.z/=u;const a={x:i.y*r.z-i.z*r.y,y:i.z*r.x-i.x*r.z,z:i.x*r.y-i.y*r.x},s=Et(a.x*a.x+a.y*a.y+a.z*a.z);a.x/=s,a.y/=s,a.z/=s;const f=[a.x*a.x,a.x*a.y-a.z,a.x*a.z+a.y,a.x*a.y+a.z,a.y*a.y,a.y*a.z-a.x,a.x*a.z-a.y,a.y*a.z+a.x,a.z*a.z];return{t:e,x:f[0]*r.x+f[1]*r.y+f[2]*r.z,y:f[3]*r.x+f[4]*r.y+f[5]*r.z,z:f[6]*r.x+f[7]*r.y+f[8]*r.z}}hull(e){let r=this.points,i=[],o=[],u=0;for(o[u++]=r[0],o[u++]=r[1],o[u++]=r[2],this.order===3&&(o[u++]=r[3]);r.length>1;){i=[];for(let a=0,s,f=r.length-1;a<f;a++)s=b.lerp(e,r[a],r[a+1]),o[u++]=s,i.push(s);r=i}return o}split(e,r){if(e===0&&r)return this.split(r).left;if(r===1)return this.split(e).right;const i=this.hull(e),o={left:this.order===2?new q([i[0],i[3],i[5]]):new q([i[0],i[4],i[7],i[9]]),right:this.order===2?new q([i[5],i[4],i[2]]):new q([i[9],i[8],i[6],i[3]]),span:i};return o.left._t1=b.map(0,0,1,this._t1,this._t2),o.left._t2=b.map(e,0,1,this._t1,this._t2),o.right._t1=b.map(e,0,1,this._t1,this._t2),o.right._t2=b.map(1,0,1,this._t1,this._t2),r?(r=b.map(r,e,1,0,1),o.right.split(r).left):o}extrema(){const e={};let r=[];return this.dims.forEach((function(i){let o=function(a){return a[i]},u=this.dpoints[0].map(o);e[i]=b.droots(u),this.order===3&&(u=this.dpoints[1].map(o),e[i]=e[i].concat(b.droots(u))),e[i]=e[i].filter(function(a){return a>=0&&a<=1}),r=r.concat(e[i].sort(b.numberSort))}).bind(this)),e.values=r.sort(b.numberSort).filter(function(i,o){return r.indexOf(i)===o}),e}bbox(){const e=this.extrema(),r={};return this.dims.forEach((function(i){r[i]=b.getminmax(this,i,e[i])}).bind(this)),r}overlaps(e){const r=this.bbox(),i=e.bbox();return b.bboxoverlap(r,i)}offset(e,r){if(typeof r<"u"){const i=this.get(e),o=this.normal(e),u={c:i,n:o,x:i.x+o.x*r,y:i.y+o.y*r};return this._3d&&(u.z=i.z+o.z*r),u}if(this._linear){const i=this.normal(0),o=this.points.map(function(u){const a={x:u.x+e*i.x,y:u.y+e*i.y};return u.z&&i.z&&(a.z=u.z+e*i.z),a});return[new q(o)]}return this.reduce().map(function(i){return i._linear?i.offset(e)[0]:i.scale(e)})}simple(){if(this.order===3){const o=b.angle(this.points[0],this.points[3],this.points[1]),u=b.angle(this.points[0],this.points[3],this.points[2]);if(o>0&&u<0||o<0&&u>0)return!1}const e=this.normal(0),r=this.normal(1);let i=e.x*r.x+e.y*r.y;return this._3d&&(i+=e.z*r.z),Pt(Qi(i))<Ji/3}reduce(){let e,r=0,i=0,o=.01,u,a=[],s=[],f=this.extrema().values;for(f.indexOf(0)===-1&&(f=[0].concat(f)),f.indexOf(1)===-1&&f.push(1),r=f[0],e=1;e<f.length;e++)i=f[e],u=this.split(r,i),u._t1=r,u._t2=i,a.push(u),r=i;return a.forEach(function(c){for(r=0,i=0;i<=1;)for(i=r+o;i<=1+o;i+=o)if(u=c.split(r,i),!u.simple()){if(i-=o,Pt(r-i)<o)return[];u=c.split(r,i),u._t1=b.map(r,0,1,c._t1,c._t2),u._t2=b.map(i,0,1,c._t1,c._t2),s.push(u),r=i;break}r<1&&(u=c.split(r,1),u._t1=b.map(r,0,1,c._t1,c._t2),u._t2=c._t2,s.push(u))}),s}translate(e,r,i){i=typeof i=="number"?i:r;const o=this.order;let u=this.points.map((a,s)=>(1-s/o)*r+s/o*i);return new q(this.points.map((a,s)=>({x:a.x+e.x*u[s],y:a.y+e.y*u[s]})))}scale(e){const r=this.order;let i=!1;if(typeof e=="function"&&(i=e),i&&r===2)return this.raise().scale(i);const o=this.clockwise,u=this.points;if(this._linear)return this.translate(this.normal(0),i?i(0):e,i?i(1):e);const a=i?i(0):e,s=i?i(1):e,f=[this.offset(0,10),this.offset(1,10)],c=[],l=b.lli4(f[0],f[0].c,f[1],f[1].c);if(!l)throw new Error("cannot scale this curve. Try reducing it first.");return[0,1].forEach(function(h){const d=c[h*r]=b.copy(u[h*r]);d.x+=(h?s:a)*f[h].n.x,d.y+=(h?s:a)*f[h].n.y}),i?([0,1].forEach(function(h){if(!(r===2&&h)){var d=u[h+1],g={x:d.x-l.x,y:d.y-l.y},y=i?i((h+1)/r):e;i&&!o&&(y=-y);var x=Et(g.x*g.x+g.y*g.y);g.x/=x,g.y/=x,c[h+1]={x:d.x+y*g.x,y:d.y+y*g.y}}}),new q(c)):([0,1].forEach(h=>{if(r===2&&h)return;const d=c[h*r],g=this.derivative(h),y={x:d.x+g.x,y:d.y+g.y};c[h+1]=b.lli4(d,y,l,u[h+1])}),new q(c))}outline(e,r,i,o){if(r=r===void 0?e:r,this._linear){const _=this.normal(0),M=this.points[0],k=this.points[this.points.length-1];let E,A,P;i===void 0&&(i=e,o=r),E={x:M.x+_.x*e,y:M.y+_.y*e},P={x:k.x+_.x*i,y:k.y+_.y*i},A={x:(E.x+P.x)/2,y:(E.y+P.y)/2};const I=[E,A,P];E={x:M.x-_.x*r,y:M.y-_.y*r},P={x:k.x-_.x*o,y:k.y-_.y*o},A={x:(E.x+P.x)/2,y:(E.y+P.y)/2};const U=[P,A,E],$=b.makeline(U[2],I[0]),p=b.makeline(I[2],U[0]),z=[$,new q(I),p,new q(U)];return new Mt(z)}const u=this.reduce(),a=u.length,s=[];let f=[],c,l=0,h=this.length();const d=typeof i<"u"&&typeof o<"u";function g(_,M,k,E,A){return function(P){const I=E/k,U=(E+A)/k,$=M-_;return b.map(P,0,1,_+I*$,_+U*$)}}u.forEach(function(_){const M=_.length();d?(s.push(_.scale(g(e,i,h,l,M))),f.push(_.scale(g(-r,-o,h,l,M)))):(s.push(_.scale(e)),f.push(_.scale(-r))),l+=M}),f=f.map(function(_){return c=_.points,c[3]?_.points=[c[3],c[2],c[1],c[0]]:_.points=[c[2],c[1],c[0]],_}).reverse();const y=s[0].points[0],x=s[a-1].points[s[a-1].points.length-1],C=f[a-1].points[f[a-1].points.length-1],m=f[0].points[0],O=b.makeline(C,y),S=b.makeline(x,m),v=[O].concat(s).concat([S]).concat(f);return new Mt(v)}outlineshapes(e,r,i){r=r||e;const o=this.outline(e,r).curves,u=[];for(let a=1,s=o.length;a<s/2;a++){const f=b.makeshape(o[a],o[s-a],i);f.startcap.virtual=a>1,f.endcap.virtual=a<s/2-1,u.push(f)}return u}intersects(e,r){return e?e.p1&&e.p2?this.lineIntersects(e):(e instanceof q&&(e=e.reduce()),this.curveintersects(this.reduce(),e,r)):this.selfintersects(r)}lineIntersects(e){const r=qe(e.p1.x,e.p2.x),i=qe(e.p1.y,e.p2.y),o=Ge(e.p1.x,e.p2.x),u=Ge(e.p1.y,e.p2.y);return b.roots(this.points,e).filter(a=>{var s=this.get(a);return b.between(s.x,r,o)&&b.between(s.y,i,u)})}selfintersects(e){const r=this.reduce(),i=r.length-2,o=[];for(let u=0,a,s,f;u<i;u++)s=r.slice(u,u+1),f=r.slice(u+2),a=this.curveintersects(s,f,e),o.push(...a);return o}curveintersects(e,r,i){const o=[];e.forEach(function(a){r.forEach(function(s){a.overlaps(s)&&o.push({left:a,right:s})})});let u=[];return o.forEach(function(a){const s=b.pairiteration(a.left,a.right,i);s.length>0&&(u=u.concat(s))}),u}arcs(e){return e=e||.5,this._iterate(e,[])}_error(e,r,i,o){const u=(o-i)/4,a=this.get(i+u),s=this.get(o-u),f=b.dist(e,r),c=b.dist(e,a),l=b.dist(e,s);return Pt(c-f)+Pt(l-f)}_iterate(e,r){let i=0,o=1,u;do{u=0,o=1;let a=this.get(i),s,f,c,l,h=!1,d=!1,g,y=o,x=1;do if(d=h,l=c,y=(i+o)/2,s=this.get(y),f=this.get(o),c=b.getccenter(a,s,f),c.interval={start:i,end:o},h=this._error(c,a,i,o)<=e,g=d&&!h,g||(x=o),h){if(o>=1){if(c.interval.end=x=1,l=c,o>1){let m={x:c.x+c.r*Ki(c.e),y:c.y+c.r*Bi(c.e)};c.e+=b.angle({x:c.x,y:c.y},m,this.get(1))}break}o=o+(o-i)/2}else o=y;while(!g&&u++<100);if(u>=100)break;l=l||c,r.push(l),i=x}while(o<1);return r}}function he(n,e){(e==null||e>n.length)&&(e=n.length);for(var r=0,i=Array(e);r<e;r++)i[r]=n[r];return i}function to(n){if(Array.isArray(n))return n}function eo(n){if(Array.isArray(n))return he(n)}function no(n){if(typeof Symbol<"u"&&n[Symbol.iterator]!=null||n["@@iterator"]!=null)return Array.from(n)}function ro(n,e){var r=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(r!=null){var i,o,u,a,s=[],f=!0,c=!1;try{if(u=(r=r.call(n)).next,e!==0)for(;!(f=(i=u.call(r)).done)&&(s.push(i.value),s.length!==e);f=!0);}catch(l){c=!0,o=l}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}function io(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function oo(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ao(n,e){if(n==null)return{};var r,i,o=uo(n,e);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(n);for(i=0;i<u.length;i++)r=u[i],e.includes(r)||{}.propertyIsEnumerable.call(n,r)&&(o[r]=n[r])}return o}function uo(n,e){if(n==null)return{};var r={};for(var i in n)if({}.hasOwnProperty.call(n,i)){if(e.includes(i))continue;r[i]=n[i]}return r}function so(n,e){return to(n)||ro(n,e)||dn(n,e)||io()}function lo(n){return eo(n)||no(n)||dn(n)||oo()}function co(n,e){if(typeof n!="object"||!n)return n;var r=n[Symbol.toPrimitive];if(r!==void 0){var i=r.call(n,e);if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}function fo(n){var e=co(n,"string");return typeof e=="symbol"?e:e+""}function dn(n,e){if(n){if(typeof n=="string")return he(n,e);var r={}.toString.call(n).slice(8,-1);return r==="Object"&&n.constructor&&(r=n.constructor.name),r==="Map"||r==="Set"?Array.from(n):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?he(n,e):void 0}}var ho=function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,o=(e instanceof Array?e.length?e:[void 0]:[e]).map(function(s){return{keyAccessor:s,isProp:!(s instanceof Function)}}),u=n.reduce(function(s,f){var c=s,l=f;return o.forEach(function(h,d){var g=h.keyAccessor,y=h.isProp,x;if(y){var C=l,m=C[g],O=ao(C,[g].map(fo));x=m,l=O}else x=g(l,d);d+1<o.length?(c.hasOwnProperty(x)||(c[x]={}),c=c[x]):r?(c.hasOwnProperty(x)||(c[x]=[]),c[x].push(l)):c[x]=l}),s},{});r instanceof Function&&function s(f){var c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;c===o.length?Object.keys(f).forEach(function(l){return f[l]=r(f[l])}):Object.values(f).forEach(function(l){return s(l,c+1)})}(u);var a=u;return i&&(a=[],function s(f){var c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];c.length===o.length?a.push({keys:c,vals:f}):Object.entries(f).forEach(function(l){var h=so(l,2),d=h[0],g=h[1];return s(g,[].concat(lo(c),[d]))})}(u),e instanceof Array&&e.length===0&&a.length===1&&(a[0].keys=[])),a};function go(n,e){e===void 0&&(e={});var r=e.insertAt;if(!(typeof document>"u")){var i=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css",r==="top"&&i.firstChild?i.insertBefore(o,i.firstChild):i.appendChild(o),o.styleSheet?o.styleSheet.cssText=n:o.appendChild(document.createTextNode(n))}}var po=`.force-graph-container canvas {
display: block;
user-select: none;
outline: none;
-webkit-tap-highlight-color: transparent;
}
.force-graph-container .clickable {
cursor: pointer;
}
.force-graph-container .grabbable {
cursor: move;
cursor: grab;
cursor: -moz-grab;
cursor: -webkit-grab;
}
.force-graph-container .grabbable:active {
cursor: grabbing;
cursor: -moz-grabbing;
cursor: -webkit-grabbing;
}
`;go(po);function de(n,e){(e==null||e>n.length)&&(e=n.length);for(var r=0,i=Array(e);r<e;r++)i[r]=n[r];return i}function yo(n){if(Array.isArray(n))return n}function mo(n){if(Array.isArray(n))return de(n)}function He(n,e,r){if(gn())return Reflect.construct.apply(null,arguments);var i=[null];i.push.apply(i,e);var o=new(n.bind.apply(n,i));return o}function Nt(n,e,r){return(e=ko(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function gn(){try{var n=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(gn=function(){return!!n})()}function vo(n){if(typeof Symbol<"u"&&n[Symbol.iterator]!=null||n["@@iterator"]!=null)return Array.from(n)}function xo(n,e){var r=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(r!=null){var i,o,u,a,s=[],f=!0,c=!1;try{if(u=(r=r.call(n)).next,e!==0)for(;!(f=(i=u.call(r)).done)&&(s.push(i.value),s.length!==e);f=!0);}catch(l){c=!0,o=l}finally{try{if(!f&&r.return!=null&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}function wo(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function bo(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ve(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);e&&(i=i.filter(function(o){return Object.getOwnPropertyDescriptor(n,o).enumerable})),r.push.apply(r,i)}return r}function xt(n){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Ve(Object(r),!0).forEach(function(i){Nt(n,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):Ve(Object(r)).forEach(function(i){Object.defineProperty(n,i,Object.getOwnPropertyDescriptor(r,i))})}return n}function Tt(n,e){return yo(n)||xo(n,e)||pn(n,e)||wo()}function Z(n){return mo(n)||vo(n)||pn(n)||bo()}function _o(n,e){if(typeof n!="object"||!n)return n;var r=n[Symbol.toPrimitive];if(r!==void 0){var i=r.call(n,e);if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function ko(n){var e=_o(n,"string");return typeof e=="symbol"?e:e+""}function ge(n){"@babel/helpers - typeof";return ge=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ge(n)}function pn(n,e){if(n){if(typeof n=="string")return de(n,e);var r={}.toString.call(n).slice(8,-1);return r==="Object"&&n.constructor&&(r=n.constructor.name),r==="Map"||r==="Set"?Array.from(n):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?de(n,e):void 0}}var Co=zn(Pn);function Xe(n,e,r){!e||typeof r!="string"||n.filter(function(i){return!i[r]}).forEach(function(i){i[r]=Co(e(i))})}function zo(n,e){var r=n.nodes,i=n.links,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},u=o.nodeFilter,a=u===void 0?function(){return!0}:u,s=o.onLoopError,f=s===void 0?function(g){throw"Invalid DAG structure! Found cycle in node path: ".concat(g.join(" -> "),".")}:s,c={};r.forEach(function(g){return c[e(g)]={data:g,out:[],depth:-1,skip:!a(g)}}),i.forEach(function(g){var y=g.source,x=g.target,C=v(y),m=v(x);if(!c.hasOwnProperty(C))throw"Missing source node with id: ".concat(C);if(!c.hasOwnProperty(m))throw"Missing target node with id: ".concat(m);var O=c[C],S=c[m];O.out.push(S);function v(_){return ge(_)==="object"?e(_):_}});var l=[];d(Object.values(c));var h=Object.assign.apply(Object,[{}].concat(Z(Object.entries(c).filter(function(g){var y=Tt(g,2),x=y[1];return!x.skip}).map(function(g){var y=Tt(g,2),x=y[0],C=y[1];return Nt({},x,C.depth)}))));return h;function d(g){for(var y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],x=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,C=function(){var v=g[m];if(y.indexOf(v)!==-1){var _=[].concat(Z(y.slice(y.indexOf(v))),[v]).map(function(M){return e(M.data)});return l.some(function(M){return M.length===_.length&&M.every(function(k,E){return k===_[E]})})||(l.push(_),f(_)),1}x>v.depth&&(v.depth=x,d(v.out,[].concat(Z(y),[v]),x+(v.skip?0:1)))},m=0,O=g.length;m<O;m++)C()}}var Po=2,V=function(e,r){return r.onNeedsRedraw&&r.onNeedsRedraw()},We=function(e,r){if(!r.isShadow){var i=L(r.linkDirectionalParticles);r.graphData.links.forEach(function(o){var u=Math.round(Math.abs(i(o)));u?o.__photons=Z(Array(u)).map(function(){return{}}):delete o.__photons})}},Yt=Ze({props:{graphData:{default:{nodes:[],links:[]},onChange:function(e,r){r.engineRunning=!1,We(e,r)}},dagMode:{onChange:function(e,r){!e&&(r.graphData.nodes||[]).forEach(function(i){return i.fx=i.fy=void 0})}},dagLevelDistance:{},dagNodeFilter:{default:function(e){return!0}},onDagError:{triggerUpdate:!1},nodeRelSize:{default:4,triggerUpdate:!1,onChange:V},nodeId:{default:"id"},nodeVal:{default:"val",triggerUpdate:!1,onChange:V},nodeColor:{default:"color",triggerUpdate:!1,onChange:V},nodeAutoColorBy:{},nodeCanvasObject:{triggerUpdate:!1,onChange:V},nodeCanvasObjectMode:{default:function(){return"replace"},triggerUpdate:!1,onChange:V},nodeVisibility:{default:!0,triggerUpdate:!1,onChange:V},linkSource:{default:"source"},linkTarget:{default:"target"},linkVisibility:{default:!0,triggerUpdate:!1,onChange:V},linkColor:{default:"color",triggerUpdate:!1,onChange:V},linkAutoColorBy:{},linkLineDash:{triggerUpdate:!1,onChange:V},linkWidth:{default:1,triggerUpdate:!1,onChange:V},linkCurvature:{default:0,triggerUpdate:!1,onChange:V},linkCanvasObject:{triggerUpdate:!1,onChange:V},linkCanvasObjectMode:{default:function(){return"replace"},triggerUpdate:!1,onChange:V},linkDirectionalArrowLength:{default:0,triggerUpdate:!1,onChange:V},linkDirectionalArrowColor:{triggerUpdate:!1,onChange:V},linkDirectionalArrowRelPos:{default:.5,triggerUpdate:!1,onChange:V},linkDirectionalParticles:{default:0,triggerUpdate:!1,onChange:We},linkDirectionalParticleSpeed:{default:.01,triggerUpdate:!1},linkDirectionalParticleOffset:{default:0,triggerUpdate:!1},linkDirectionalParticleWidth:{default:4,triggerUpdate:!1},linkDirectionalParticleColor:{triggerUpdate:!1},linkDirectionalParticleCanvasObject:{triggerUpdate:!1},globalScale:{default:1,triggerUpdate:!1},d3AlphaMin:{default:0,triggerUpdate:!1},d3AlphaDecay:{default:.0228,triggerUpdate:!1,onChange:function(e,r){r.forceLayout.alphaDecay(e)}},d3AlphaTarget:{default:0,triggerUpdate:!1,onChange:function(e,r){r.forceLayout.alphaTarget(e)}},d3VelocityDecay:{default:.4,triggerUpdate:!1,onChange:function(e,r){r.forceLayout.velocityDecay(e)}},warmupTicks:{default:0,triggerUpdate:!1},cooldownTicks:{default:1/0,triggerUpdate:!1},cooldownTime:{default:15e3,triggerUpdate:!1},onUpdate:{default:function(){},triggerUpdate:!1},onFinishUpdate:{default:function(){},triggerUpdate:!1},onEngineTick:{default:function(){},triggerUpdate:!1},onEngineStop:{default:function(){},triggerUpdate:!1},onNeedsRedraw:{triggerUpdate:!1},isShadow:{default:!1,triggerUpdate:!1}},methods:{d3Force:function(e,r,i){return i===void 0?e.forceLayout.force(r):(e.forceLayout.force(r,i),this)},d3ReheatSimulation:function(e){return e.forceLayout.alpha(1),this.resetCountdown(),this},resetCountdown:function(e){return e.cntTicks=0,e.startTickTime=new Date,e.engineRunning=!0,this},isEngineRunning:function(e){return!!e.engineRunning},tickFrame:function(e){return!e.isShadow&&r(),o(),!e.isShadow&&u(),!e.isShadow&&a(),i(),this;function r(){e.engineRunning&&(++e.cntTicks>e.cooldownTicks||new Date-e.startTickTime>e.cooldownTime||e.d3AlphaMin>0&&e.forceLayout.alpha()<e.d3AlphaMin?(e.engineRunning=!1,e.onEngineStop()):(e.forceLayout.tick(),e.onEngineTick()))}function i(){var s=L(e.nodeVisibility),f=L(e.nodeVal),c=L(e.nodeColor),l=L(e.nodeCanvasObjectMode),h=e.ctx,d=e.isShadow/e.globalScale,g=e.graphData.nodes.filter(s);h.save(),g.forEach(function(y){var x=l(y);if(e.nodeCanvasObject&&(x==="before"||x==="replace")&&(e.nodeCanvasObject(y,h,e.globalScale),x==="replace")){h.restore();return}var C=Math.sqrt(Math.max(0,f(y)||1))*e.nodeRelSize+d;h.beginPath(),h.arc(y.x,y.y,C,0,2*Math.PI,!1),h.fillStyle=c(y)||"rgba(31, 120, 180, 0.92)",h.fill(),e.nodeCanvasObject&&x==="after"&&e.nodeCanvasObject(y,e.ctx,e.globalScale)}),h.restore()}function o(){var s=L(e.linkVisibility),f=L(e.linkColor),c=L(e.linkWidth),l=L(e.linkLineDash),h=L(e.linkCurvature),d=L(e.linkCanvasObjectMode),g=e.ctx,y=e.isShadow*2,x=e.graphData.links.filter(s);x.forEach(M);var C=[],m=[],O=x;if(e.linkCanvasObject){var S=[],v=[];x.forEach(function(k){return({before:C,after:m,replace:S}[d(k)]||v).push(k)}),O=[].concat(Z(C),m,v),C=C.concat(S)}g.save(),C.forEach(function(k){return e.linkCanvasObject(k,g,e.globalScale)}),g.restore();var _=ho(O,[f,c,l]);g.save(),Object.entries(_).forEach(function(k){var E=Tt(k,2),A=E[0],P=E[1],I=!A||A==="undefined"?"rgba(0,0,0,0.15)":A;Object.entries(P).forEach(function(U){var $=Tt(U,2),p=$[0],z=$[1],w=(p||1)/e.globalScale+y;Object.entries(z).forEach(function(T){var R=Tt(T,2);R[0];var D=R[1],N=l(D[0]);g.beginPath(),D.forEach(function(j){var F=j.source,H=j.target;if(!(!F||!H||!F.hasOwnProperty("x")||!H.hasOwnProperty("x"))){g.moveTo(F.x,F.y);var G=j.__controlPoints;G?g[G.length===2?"quadraticCurveTo":"bezierCurveTo"].apply(g,Z(G).concat([H.x,H.y])):g.lineTo(H.x,H.y)}}),g.strokeStyle=I,g.lineWidth=w,g.setLineDash(N||[]),g.stroke()})})}),g.restore(),g.save(),m.forEach(function(k){return e.linkCanvasObject(k,g,e.globalScale)}),g.restore();function M(k){var E=h(k);if(!E){k.__controlPoints=null;return}var A=k.source,P=k.target;if(!(!A||!P||!A.hasOwnProperty("x")||!P.hasOwnProperty("x"))){var I=Math.sqrt(Math.pow(P.x-A.x,2)+Math.pow(P.y-A.y,2));if(I>0){var U=Math.atan2(P.y-A.y,P.x-A.x),$=I*E,p={x:(A.x+P.x)/2+$*Math.cos(U-Math.PI/2),y:(A.y+P.y)/2+$*Math.sin(U-Math.PI/2)};k.__controlPoints=[p.x,p.y]}else{var z=E*70;k.__controlPoints=[P.x,P.y-z,P.x+z,P.y]}}}}function u(){var s=1.6,f=.2,c=L(e.linkDirectionalArrowLength),l=L(e.linkDirectionalArrowRelPos),h=L(e.linkVisibility),d=L(e.linkDirectionalArrowColor||e.linkColor),g=L(e.nodeVal),y=e.ctx;y.save(),e.graphData.links.filter(h).forEach(function(x){var C=c(x);if(!(!C||C<0)){var m=x.source,O=x.target;if(!(!m||!O||!m.hasOwnProperty("x")||!O.hasOwnProperty("x"))){var S=Math.sqrt(Math.max(0,g(m)||1))*e.nodeRelSize,v=Math.sqrt(Math.max(0,g(O)||1))*e.nodeRelSize,_=Math.min(1,Math.max(0,l(x))),M=d(x)||"rgba(0,0,0,0.28)",k=C/s/2,E=x.__controlPoints&&He(q,[m.x,m.y].concat(Z(x.__controlPoints),[O.x,O.y])),A=E?function(w){return E.get(w)}:function(w){return{x:m.x+(O.x-m.x)*w||0,y:m.y+(O.y-m.y)*w||0}},P=E?E.length():Math.sqrt(Math.pow(O.x-m.x,2)+Math.pow(O.y-m.y,2)),I=S+C+(P-S-v-C)*_,U=A(I/P),$=A((I-C)/P),p=A((I-C*(1-f))/P),z=Math.atan2(U.y-$.y,U.x-$.x)-Math.PI/2;y.beginPath(),y.moveTo(U.x,U.y),y.lineTo($.x+k*Math.cos(z),$.y+k*Math.sin(z)),y.lineTo(p.x,p.y),y.lineTo($.x-k*Math.cos(z),$.y-k*Math.sin(z)),y.fillStyle=M,y.fill()}}}),y.restore()}function a(){var s=L(e.linkDirectionalParticles),f=L(e.linkDirectionalParticleSpeed),c=L(e.linkDirectionalParticleOffset),l=L(e.linkDirectionalParticleWidth),h=L(e.linkVisibility),d=L(e.linkDirectionalParticleColor||e.linkColor),g=e.ctx;g.save(),e.graphData.links.filter(h).forEach(function(y){var x=s(y);if(!(!y.hasOwnProperty("__photons")||!y.__photons.length)){var C=y.source,m=y.target;if(!(!C||!m||!C.hasOwnProperty("x")||!m.hasOwnProperty("x"))){var O=f(y),S=Math.abs(c(y)),v=y.__photons||[],_=Math.max(0,l(y)/2)/Math.sqrt(e.globalScale),M=d(y)||"rgba(0,0,0,0.28)";g.fillStyle=M;var k=y.__controlPoints?He(q,[C.x,C.y].concat(Z(y.__controlPoints),[m.x,m.y])):null,E=0,A=!1;v.forEach(function(P){var I=!!P.__singleHop;if(P.hasOwnProperty("__progressRatio")||(P.__progressRatio=I?O<0?1:0:(E+S)/x),!I&&E++,P.__progressRatio+=O,P.__progressRatio>=1||P.__progressRatio<0)if(!I)P.__progressRatio=P.__progressRatio%1,P.__progressRatio<0&&P.__progressRatio++;else{A=!0;return}var U=P.__progressRatio,$=k?k.get(U):{x:C.x+(m.x-C.x)*U||0,y:C.y+(m.y-C.y)*U||0};e.linkDirectionalParticleCanvasObject?e.linkDirectionalParticleCanvasObject($.x,$.y,y,g,e.globalScale):(g.beginPath(),g.arc($.x,$.y,_,0,2*Math.PI,!1),g.fill())}),A&&(y.__photons=y.__photons.filter(function(P){return!P.__singleHop||P.__progressRatio<=1&&P.__progressRatio>=0}))}}}),g.restore()}},emitParticle:function(e,r){return r&&(!r.__photons&&(r.__photons=[]),r.__photons.push({__singleHop:!0})),this}},stateInit:function(){return{forceLayout:Mn().force("link",Tn()).force("charge",On()).force("center",An()).force("dagRadial",null).stop(),engineRunning:!1}},init:function(e,r){r.ctx=e},update:function(e,r){e.engineRunning=!1,e.onUpdate(),e.nodeAutoColorBy!==null&&Xe(e.graphData.nodes,L(e.nodeAutoColorBy),e.nodeColor),e.linkAutoColorBy!==null&&Xe(e.graphData.links,L(e.linkAutoColorBy),e.linkColor),e.graphData.links.forEach(function(d){d.source=d[e.linkSource],d.target=d[e.linkTarget]}),e.forceLayout.stop().alpha(1).nodes(e.graphData.nodes);var i=e.forceLayout.force("link");i&&i.id(function(d){return d[e.nodeId]}).links(e.graphData.links);var o=e.dagMode&&zo(e.graphData,function(d){return d[e.nodeId]},{nodeFilter:e.dagNodeFilter,onLoopError:e.onDagError||void 0}),u=Math.max.apply(Math,Z(Object.values(o||[]))),a=e.dagLevelDistance||e.graphData.nodes.length/(u||1)*Po*(["radialin","radialout"].indexOf(e.dagMode)!==-1?.7:1);if(["lr","rl","td","bu"].includes(r.dagMode)){var s=["lr","rl"].includes(r.dagMode)?"fx":"fy";e.graphData.nodes.filter(e.dagNodeFilter).forEach(function(d){return delete d[s]})}if(["lr","rl","td","bu"].includes(e.dagMode)){var f=["rl","bu"].includes(e.dagMode),c=function(g){return(o[g[e.nodeId]]-u/2)*a*(f?-1:1)},l=["lr","rl"].includes(e.dagMode)?"fx":"fy";e.graphData.nodes.filter(e.dagNodeFilter).forEach(function(d){return d[l]=c(d)})}e.forceLayout.force("dagRadial",["radialin","radialout"].indexOf(e.dagMode)!==-1?En(function(d){var g=o[d[e.nodeId]]||-1;return(e.dagMode==="radialin"?u-g:g)*a}).strength(function(d){return e.dagNodeFilter(d)?1:0}):null);for(var h=0;h<e.warmupTicks&&!(e.d3AlphaMin>0&&e.forceLayout.alpha()<e.d3AlphaMin);h++)e.forceLayout.tick();this.resetCountdown(),e.onFinishUpdate()}});function yn(n,e){var r=n instanceof Array?n:[n],i=new e;return i._destructor&&i._destructor(),{linkProp:function(u){return{default:i[u](),onChange:function(s,f){r.forEach(function(c){return f[c][u](s)})},triggerUpdate:!1}},linkMethod:function(u){return function(a){for(var s=arguments.length,f=new Array(s>1?s-1:0),c=1;c<s;c++)f[c-1]=arguments[c];var l=[];return r.forEach(function(h){var d=a[h],g=d[u].apply(d,f);g!==d&&l.push(g)}),l.length?l[0]:this}}}}var Eo=800,Mo=4,To=5,mn=yn("forceGraph",Yt),Oo=yn(["forceGraph","shadowGraph"],Yt),Ao=Object.assign.apply(Object,Z(["nodeColor","nodeAutoColorBy","nodeCanvasObject","nodeCanvasObjectMode","linkColor","linkAutoColorBy","linkLineDash","linkWidth","linkCanvasObject","linkCanvasObjectMode","linkDirectionalArrowLength","linkDirectionalArrowColor","linkDirectionalArrowRelPos","linkDirectionalParticles","linkDirectionalParticleSpeed","linkDirectionalParticleOffset","linkDirectionalParticleWidth","linkDirectionalParticleColor","linkDirectionalParticleCanvasObject","dagMode","dagLevelDistance","dagNodeFilter","onDagError","d3AlphaMin","d3AlphaDecay","d3VelocityDecay","warmupTicks","cooldownTicks","cooldownTime","onEngineTick","onEngineStop"].map(function(n){return Nt({},n,mn.linkProp(n))})).concat(Z(["nodeRelSize","nodeId","nodeVal","nodeVisibility","linkSource","linkTarget","linkVisibility","linkCurvature"].map(function(n){return Nt({},n,Oo.linkProp(n))})))),So=Object.assign.apply(Object,Z(["d3Force","d3ReheatSimulation","emitParticle"].map(function(n){return Nt({},n,mn.linkMethod(n))})));function ie(n){if(n.canvas){var e=n.canvas.width,r=n.canvas.height;e===300&&r===150&&(e=r=0);var i=window.devicePixelRatio;e/=i,r/=i,[n.canvas,n.shadowCanvas].forEach(function(u){u.style.width="".concat(n.width,"px"),u.style.height="".concat(n.height,"px"),u.width=n.width*i,u.height=n.height*i,!e&&!r&&u.getContext("2d").scale(i,i)});var o=et(n.canvas).k;n.zoom.translateBy(n.zoom.__baseElem,(n.width-e)/2/o,(n.height-r)/2/o),n.needsRedraw=!0}}function vn(n){var e=window.devicePixelRatio;n.setTransform(e,0,0,e,0,0)}function Ye(n,e,r){n.save(),vn(n),n.clearRect(0,0,e,r),n.restore()}var Ro=Ze({props:xt({width:{default:window.innerWidth,onChange:function(e,r){return ie(r)},triggerUpdate:!1},height:{default:window.innerHeight,onChange:function(e,r){return ie(r)},triggerUpdate:!1},graphData:{default:{nodes:[],links:[]},onChange:function(e,r){[e.nodes,e.links].every(function(o){return(o||[]).every(function(u){return!u.hasOwnProperty("__indexColor")})})&&r.colorTracker.reset(),[{type:"Node",objs:e.nodes},{type:"Link",objs:e.links}].forEach(i),r.forceGraph.graphData(e),r.shadowGraph.graphData(e);function i(o){var u=o.type,a=o.objs;a.filter(function(s){if(!s.hasOwnProperty("__indexColor"))return!0;var f=r.colorTracker.lookup(s.__indexColor);return!f||!f.hasOwnProperty("d")||f.d!==s}).forEach(function(s){s.__indexColor=r.colorTracker.register({type:u,d:s})})}},triggerUpdate:!1},backgroundColor:{onChange:function(e,r){r.canvas&&e&&(r.canvas.style.background=e)},triggerUpdate:!1},nodeLabel:{default:"name",triggerUpdate:!1},nodePointerAreaPaint:{onChange:function(e,r){r.shadowGraph.nodeCanvasObject(e?function(i,o,u){return e(i,i.__indexColor,o,u)}:null),r.flushShadowCanvas&&r.flushShadowCanvas()},triggerUpdate:!1},linkPointerAreaPaint:{onChange:function(e,r){r.shadowGraph.linkCanvasObject(e?function(i,o,u){return e(i,i.__indexColor,o,u)}:null),r.flushShadowCanvas&&r.flushShadowCanvas()},triggerUpdate:!1},linkLabel:{default:"name",triggerUpdate:!1},linkHoverPrecision:{default:4,triggerUpdate:!1},minZoom:{default:.01,onChange:function(e,r){r.zoom.scaleExtent([e,r.zoom.scaleExtent()[1]])},triggerUpdate:!1},maxZoom:{default:1e3,onChange:function(e,r){r.zoom.scaleExtent([r.zoom.scaleExtent()[0],e])},triggerUpdate:!1},enableNodeDrag:{default:!0,triggerUpdate:!1},enableZoomInteraction:{default:!0,triggerUpdate:!1},enablePanInteraction:{default:!0,triggerUpdate:!1},enableZoomPanInteraction:{default:!0,triggerUpdate:!1},enablePointerInteraction:{default:!0,onChange:function(e,r){r.hoverObj=null},triggerUpdate:!1},autoPauseRedraw:{default:!0,triggerUpdate:!1},onNodeDrag:{default:function(){},triggerUpdate:!1},onNodeDragEnd:{default:function(){},triggerUpdate:!1},onNodeClick:{triggerUpdate:!1},onNodeRightClick:{triggerUpdate:!1},onNodeHover:{triggerUpdate:!1},onLinkClick:{triggerUpdate:!1},onLinkRightClick:{triggerUpdate:!1},onLinkHover:{triggerUpdate:!1},onBackgroundClick:{triggerUpdate:!1},onBackgroundRightClick:{triggerUpdate:!1},showPointerCursor:{default:!0,triggerUpdate:!1},onZoom:{triggerUpdate:!1},onZoomEnd:{triggerUpdate:!1},onRenderFramePre:{triggerUpdate:!1},onRenderFramePost:{triggerUpdate:!1}},Ao),aliases:{stopAnimation:"pauseAnimation"},methods:xt({graph2ScreenCoords:function(e,r,i){var o=et(e.canvas);return{x:r*o.k+o.x,y:i*o.k+o.y}},screen2GraphCoords:function(e,r,i){var o=et(e.canvas);return{x:(r-o.x)/o.k,y:(i-o.y)/o.k}},centerAt:function(e,r,i,o){if(!e.canvas)return null;if(r!==void 0||i!==void 0){var u=Object.assign({},r!==void 0?{x:r}:{},i!==void 0?{y:i}:{});return o?e.tweenGroup.add(new _e(a()).to(u,o).easing(ke.Quadratic.Out).onUpdate(s).onComplete(function(){e.tweenGroup.remove(this)}).start()):s(u),this}return a();function a(){var f=et(e.canvas);return{x:(e.width/2-f.x)/f.k,y:(e.height/2-f.y)/f.k}}function s(f){var c=f.x,l=f.y;e.zoom.translateTo(e.zoom.__baseElem,c===void 0?a().x:c,l===void 0?a().y:l),e.needsRedraw=!0}},zoom:function(e,r,i){if(!e.canvas)return null;if(r!==void 0)return i?e.tweenGroup.add(new _e({k:o()}).to({k:r},i).easing(ke.Quadratic.Out).onUpdate(function(a){var s=a.k;return u(s)}).onComplete(function(){e.tweenGroup.remove(this)}).start()):u(r),this;return o();function o(){return et(e.canvas).k}function u(a){e.zoom.scaleTo(e.zoom.__baseElem,a),e.needsRedraw=!0}},zoomToFit:function(e){for(var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:10,o=arguments.length,u=new Array(o>3?o-3:0),a=3;a<o;a++)u[a-3]=arguments[a];var s=this.getGraphBbox.apply(this,u);if(s){var f={x:(s.x[0]+s.x[1])/2,y:(s.y[0]+s.y[1])/2},c=Math.max(1e-12,Math.min(1e12,(e.width-i*2)/(s.x[1]-s.x[0]),(e.height-i*2)/(s.y[1]-s.y[0])));this.centerAt(f.x,f.y,r),this.zoom(c,r)}return this},getGraphBbox:function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:function(){return!0},i=L(e.nodeVal),o=function(s){return Math.sqrt(Math.max(0,i(s)||1))*e.nodeRelSize},u=e.graphData.nodes.filter(r).map(function(a){return{x:a.x,y:a.y,r:o(a)}});return u.length?{x:[we(u,function(a){return a.x-a.r}),be(u,function(a){return a.x+a.r})],y:[we(u,function(a){return a.y-a.r}),be(u,function(a){return a.y+a.r})]}:null},pauseAnimation:function(e){return e.animationFrameRequestId&&(cancelAnimationFrame(e.animationFrameRequestId),e.animationFrameRequestId=null),this},resumeAnimation:function(e){return e.animationFrameRequestId||this._animationCycle(),this},_destructor:function(){this.pauseAnimation(),this.graphData({nodes:[],links:[]})}},So),stateInit:function(){return{lastSetZoom:1,zoom:Mi(),forceGraph:new Yt,shadowGraph:new Yt().cooldownTicks(0).nodeColor("__indexColor").linkColor("__indexColor").isShadow(!0),colorTracker:new Xi,tweenGroup:new In}},init:function(e,r){var i=this;e.innerHTML="";var o=document.createElement("div");o.classList.add("force-graph-container"),o.style.position="relative",e.appendChild(o),r.canvas=document.createElement("canvas"),r.backgroundColor&&(r.canvas.style.background=r.backgroundColor),o.appendChild(r.canvas),r.shadowCanvas=document.createElement("canvas");var u=r.canvas.getContext("2d"),a=r.shadowCanvas.getContext("2d",{willReadFrequently:!0}),s={x:-1e12,y:-1e12},f=function(){var h=null,d=window.devicePixelRatio,g=s.x>0&&s.y>0?a.getImageData(s.x*d,s.y*d,1,1):null;return g&&(h=r.colorTracker.lookup(g.data)),h};Q(r.canvas).call(qn().subject(function(){if(!r.enableNodeDrag)return null;var l=f();return l&&l.type==="Node"?l.d:null}).on("start",function(l){var h=l.subject;h.__initialDragPos={x:h.x,y:h.y,fx:h.fx,fy:h.fy},l.active||(h.fx=h.x,h.fy=h.y),r.canvas.classList.add("grabbable")}).on("drag",function(l){var h=l.subject,d=h.__initialDragPos,g=l,y=et(r.canvas).k,x={x:d.x+(g.x-d.x)/y-h.x,y:d.y+(g.y-d.y)/y-h.y};["x","y"].forEach(function(C){return h["f".concat(C)]=h[C]=d[C]+(g[C]-d[C])/y}),!(!h.__dragged&&To>=Math.sqrt(Ti(["x","y"].map(function(C){return Math.pow(l[C]-d[C],2)}))))&&(r.forceGraph.d3AlphaTarget(.3).resetCountdown(),r.isPointerDragging=!0,h.__dragged=!0,r.onNodeDrag(h,x))}).on("end",function(l){var h=l.subject,d=h.__initialDragPos,g={x:h.x-d.x,y:h.y-d.y};d.fx===void 0&&(h.fx=void 0),d.fy===void 0&&(h.fy=void 0),delete h.__initialDragPos,r.forceGraph.d3AlphaTarget()&&r.forceGraph.d3AlphaTarget(0).resetCountdown(),r.canvas.classList.remove("grabbable"),r.isPointerDragging=!1,h.__dragged&&(delete h.__dragged,r.onNodeDragEnd(h,g))})),r.zoom(r.zoom.__baseElem=Q(r.canvas)),r.zoom.__baseElem.on("dblclick.zoom",null),r.zoom.filter(function(l){return!l.button&&r.enableZoomPanInteraction&&(l.type!=="wheel"||L(r.enableZoomInteraction)(l))&&(l.type==="wheel"||L(r.enablePanInteraction)(l))}).on("zoom",function(l){var h=l.transform;[u,a].forEach(function(d){vn(d),d.translate(h.x,h.y),d.scale(h.k,h.k)}),r.isPointerDragging=!0,r.onZoom&&r.onZoom(xt(xt({},h),i.centerAt())),r.needsRedraw=!0}).on("end",function(l){r.isPointerDragging=!1,r.onZoomEnd&&r.onZoomEnd(xt(xt({},l.transform),i.centerAt()))}),ie(r),r.forceGraph.onNeedsRedraw(function(){return r.needsRedraw=!0}).onFinishUpdate(function(){et(r.canvas).k===r.lastSetZoom&&r.graphData.nodes.length&&(r.zoom.scaleTo(r.zoom.__baseElem,r.lastSetZoom=Mo/Math.cbrt(r.graphData.nodes.length)),r.needsRedraw=!0)}),r.tooltip=new Nn(o),["pointermove","pointerdown"].forEach(function(l){return o.addEventListener(l,function(h){l==="pointerdown"&&(r.isPointerPressed=!0,r.pointerDownEvent=h),!r.isPointerDragging&&h.type==="pointermove"&&r.onBackgroundClick&&(h.pressure>0||r.isPointerPressed)&&(h.pointerType==="mouse"||h.movementX===void 0||[h.movementX,h.movementY].some(function(y){return Math.abs(y)>1}))&&(r.isPointerDragging=!0);var d=g(o);s.x=h.pageX-d.left,s.y=h.pageY-d.top;function g(y){var x=y.getBoundingClientRect(),C=window.pageXOffset||document.documentElement.scrollLeft,m=window.pageYOffset||document.documentElement.scrollTop;return{top:x.top+m,left:x.left+C}}},{passive:!0})}),o.addEventListener("pointerup",function(l){if(r.isPointerPressed){if(r.isPointerPressed=!1,r.isPointerDragging){r.isPointerDragging=!1;return}var h=[l,r.pointerDownEvent];requestAnimationFrame(function(){if(l.button===0)if(r.hoverObj){var d=r["on".concat(r.hoverObj.type,"Click")];d&&d.apply(void 0,[r.hoverObj.d].concat(h))}else r.onBackgroundClick&&r.onBackgroundClick.apply(r,h);if(l.button===2)if(r.hoverObj){var g=r["on".concat(r.hoverObj.type,"RightClick")];g&&g.apply(void 0,[r.hoverObj.d].concat(h))}else r.onBackgroundRightClick&&r.onBackgroundRightClick.apply(r,h)})}},{passive:!0}),o.addEventListener("contextmenu",function(l){return!r.onBackgroundRightClick&&!r.onNodeRightClick&&!r.onLinkRightClick?!0:(l.preventDefault(),!1)}),r.forceGraph(u),r.shadowGraph(a);var c=Ai(function(){Ye(a,r.width,r.height),r.shadowGraph.linkWidth(function(h){return L(r.linkWidth)(h)+r.linkHoverPrecision});var l=et(r.canvas);r.shadowGraph.globalScale(l.k).tickFrame()},Eo);r.flushShadowCanvas=c.flush,(this._animationCycle=function l(){var h=!r.autoPauseRedraw||!!r.needsRedraw||r.forceGraph.isEngineRunning()||r.graphData.links.some(function(S){return S.__photons&&S.__photons.length});if(r.needsRedraw=!1,r.enablePointerInteraction){var d=r.isPointerDragging?null:f();if(d!==r.hoverObj){var g=r.hoverObj,y=g?g.type:null,x=d?d.type:null;if(y&&y!==x){var C=r["on".concat(y,"Hover")];C&&C(null,g.d)}if(x){var m=r["on".concat(x,"Hover")];m&&m(d.d,y===x?g.d:null)}r.tooltip.content(d&&L(r["".concat(d.type.toLowerCase(),"Label")])(d.d)||null),r.canvas.classList[(d&&r["on".concat(x,"Click")]||!d&&r.onBackgroundClick)&&L(r.showPointerCursor)(d==null?void 0:d.d)?"add":"remove"]("clickable"),r.hoverObj=d}h&&c()}if(h){Ye(u,r.width,r.height);var O=et(r.canvas).k;r.onRenderFramePre&&r.onRenderFramePre(u,O),r.forceGraph.globalScale(O).tickFrame(),r.onRenderFramePost&&r.onRenderFramePost(u,O)}r.tweenGroup.update(),r.animationFrameRequestId=requestAnimationFrame(l)})()},update:function(e){}});function Io(n){const e=n.instance||Ro(),r=getComputedStyle(n.element),i=r.getPropertyValue("--graph-line-color").trim()||"#555",o=r.getPropertyValue("--graph-background-color").trim()||"#000011",u=r.getPropertyValue("--graph-foreground-color").trim()||"#ffffff",a=r.getPropertyValue("--graph-node-color").trim()||"#999",s=n.element.clientWidth||Number(r.width.slice(0,-2))||window.innerWidth,f=n.element.clientHeight||Number(r.height.slice(0,-2))||window.innerHeight;return n.instance||e(n.element),e.graphData(n.data).width(s).height(f).cooldownTicks(100).backgroundColor(o).linkColor(()=>i).linkWidth(.2).nodeCanvasObject((c,l,h)=>{l.beginPath();const d=5/h;if(l.arc(c.x,c.y,d,0,2*Math.PI),l.fillStyle=a,l.fill(),l.lineWidth=1/h,l.strokeStyle=i,l.stroke(),h>=4){const g=c.name??c.id,y=12/h;l.font=`${y}px Sans-Serif`;const x=l.measureText(g).width,C=[x,y].map(m=>m+y*.2);l.textAlign="center",l.textBaseline="middle",l.fillStyle=u,l.fillText(g,c.x+d*2+x/2,c.y),c.__bckgDimensions=C}}).onNodeHover((c,l)=>{if(c){const h=n.data.nodes.find(d=>d.id===c.id);n.onHover(h)}l&&n.onHover(void 0)}),e}export{Io as render};