Files
mission-control-v2/frontend/dist/assets/GraphView-C5DuKc18.js
T
Hitonabi 35be5e13f6 Politur: Gedaechtnis-Graph Hover/Klick via eigenes Picking exakt gemacht
Ursache im force-graph-Internals gefunden: die Hit-Erkennung laeuft ueber eine
Schatten-Canvas, die nur alle 800 ms aktualisiert wird (HOVER_CANVAS_THROTTLE_DELAY)
- waehrend Simulation/Zoom/Pan zeigt sie auf Positionen von vor fast einer Sekunde,
und Klicks werden ueber genau dieses veraltete hoverObj ausgeloest. Dazu verschluckt
das eingebaute Node-Dragging Klicks ab 2 px Mausbewegung.

- Eigenes Picking gegen LIVE-Knotenkoordinaten (screen2GraphCoords + Naechster-
  Nachbar, Trefferradius min. ~16 Bildschirm-Pixel, zoom-kompensiert)
- enablePointerInteraction=false: Schatten-Canvas wird gar nicht mehr gemalt (Perf)
- enableNodeDrag=false: kein Klick-Verschlucken, kein Layout-Anschubsen beim Klicken
- Pan-Schutz: >6 px Mausweg zaehlt nicht als Klick

E2E im Browser verifiziert: Hover (Cursor), Knoten-Klick oeffnet Detail,
Hintergrund-Klick waehlt ab, Pan aendert Auswahl nicht.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 13:20:54 +02:00

45 lines
180 KiB
JavaScript

import{i as It,r as q,R as Gi,c as Fn,a as Ln,b as Wi,o as Vi,m as Un,d as Hn,g as Bi,j as Rt,e as Xi}from"./index-BGmfM64G.js";function Yi(e,n){let r=0;for(let i of e)(i=+i)&&(r+=i);return r}var qn=180/Math.PI,tn={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Fr(e,n,r,i,o,a){var s,u,f;return(s=Math.sqrt(e*e+n*n))&&(e/=s,n/=s),(f=e*r+n*i)&&(r-=e*f,i-=n*f),(u=Math.sqrt(r*r+i*i))&&(r/=u,i/=u,f/=u),e*i<n*r&&(e=-e,n=-n,f=-f,s=-s),{translateX:o,translateY:a,rotate:Math.atan2(n,e)*qn,skewX:Math.atan(f)*qn,scaleX:s,scaleY:u}}var de;function Zi(e){const n=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return n.isIdentity?tn:Fr(n.a,n.b,n.c,n.d,n.e,n.f)}function Ki(e){return e==null||(de||(de=document.createElementNS("http://www.w3.org/2000/svg","g")),de.setAttribute("transform",e),!(e=de.transform.baseVal.consolidate()))?tn:(e=e.matrix,Fr(e.a,e.b,e.c,e.d,e.e,e.f))}function Lr(e,n,r,i){function o(l){return l.length?l.pop()+" ":""}function a(l,c,h,d,p,y){if(l!==h||c!==d){var _=p.push("translate(",null,n,null,r);y.push({i:_-4,x:It(l,h)},{i:_-2,x:It(c,d)})}else(h||d)&&p.push("translate("+h+n+d+r)}function s(l,c,h,d){l!==c?(l-c>180?c+=360:c-l>180&&(l+=360),d.push({i:h.push(o(h)+"rotate(",null,i)-2,x:It(l,c)})):c&&h.push(o(h)+"rotate("+c+i)}function u(l,c,h,d){l!==c?d.push({i:h.push(o(h)+"skewX(",null,i)-2,x:It(l,c)}):c&&h.push(o(h)+"skewX("+c+i)}function f(l,c,h,d,p,y){if(l!==h||c!==d){var _=p.push(o(p)+"scale(",null,",",null,")");y.push({i:_-4,x:It(l,h)},{i:_-2,x:It(c,d)})}else(h!==1||d!==1)&&p.push(o(p)+"scale("+h+","+d+")")}return function(l,c){var h=[],d=[];return l=e(l),c=e(c),a(l.translateX,l.translateY,c.translateX,c.translateY,h,d),s(l.rotate,c.rotate,h,d),u(l.skewX,c.skewX,h,d),f(l.scaleX,l.scaleY,c.scaleX,c.scaleY,h,d),l=c=null,function(p){for(var y=-1,_=d.length,v;++y<_;)h[(v=d[y]).i]=v.x(p);return h.join("")}}}var Qi=Lr(Zi,"px, ","px)","deg)"),Ji=Lr(Ki,", ",")",")"),to=1e-12;function Gn(e){return((e=Math.exp(e))+1/e)/2}function eo(e){return((e=Math.exp(e))-1/e)/2}function no(e){return((e=Math.exp(2*e))-1)/(e+1)}const ro=(function e(n,r,i){function o(a,s){var u=a[0],f=a[1],l=a[2],c=s[0],h=s[1],d=s[2],p=c-u,y=h-f,_=p*p+y*y,v,g;if(_<to)g=Math.log(d/l)/n,v=function(A){return[u+A*p,f+A*y,l*Math.exp(n*A*g)]};else{var k=Math.sqrt(_),S=(d*d-l*l+i*_)/(2*l*r*k),x=(d*d-l*l-i*_)/(2*d*r*k),m=Math.log(Math.sqrt(S*S+1)-S),C=Math.log(Math.sqrt(x*x+1)-x);g=(C-m)/n,v=function(A){var T=A*g,N=Gn(m),E=l/(r*k)*(N*no(n*T+m)-eo(m));return[u+E*p,f+E*y,l*N/Gn(n*T+m)]}}return v.duration=g*1e3*n/Math.SQRT2,v}return o.rho=function(a){var s=Math.max(.001,+a),u=s*s,f=u*u;return e(s,u,f)},o})(Math.SQRT2,2,4);function io(e,n){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var i,o,a,s,u=[],f=!0,l=!1;try{if(a=(r=r.call(e)).next,n===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(i=a.call(r)).done)&&(u.push(i.value),u.length!==n);f=!0);}catch(c){l=!0,o=c}finally{try{if(!f&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(l)throw o}}return u}}function oo(e,n,r){return n=po(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function Wn(e,n){return uo(e)||io(e,n)||Ur(e,n)||co()}function ao(e){return so(e)||lo(e)||Ur(e)||fo()}function so(e){if(Array.isArray(e))return en(e)}function uo(e){if(Array.isArray(e))return e}function lo(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Ur(e,n){if(e){if(typeof e=="string")return en(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return en(e,n)}}function en(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=new Array(n);r<n;r++)i[r]=e[r];return i}function fo(){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 co(){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 ho(e,n){if(typeof e!="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n);if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}function po(e){var n=ho(e,"string");return typeof n=="symbol"?n:String(n)}var go=function(n,r){var i=new Set(r);return Object.assign.apply(Object,[{}].concat(ao(Object.entries(n).filter(function(o){var a=Wn(o,1),s=a[0];return!i.has(s)}).map(function(o){var a=Wn(o,2),s=a[0],u=a[1];return oo({},s,u)}))))};function yo(e,{wrapperElementType:n="div",nodeMapper:r=a=>a,methodNames:i=[],initPropNames:o=[]}={}){return q.forwardRef((a,s)=>{const u=q.useRef(),f=q.useMemo(()=>{const h=Object.fromEntries(o.filter(d=>a.hasOwnProperty(d)).map(d=>[d,a[d]]));return e(h)},[]);Vn(()=>{f(r(u.current))},q.useLayoutEffect),Vn(()=>f._destructor instanceof Function?f._destructor:void 0);const l=q.useCallback((h,...d)=>f[h]instanceof Function?f[h](...d):void 0,[f]),c=q.useRef({});return Object.keys(go(a,[...i,...o])).filter(h=>c.current[h]!==a[h]).forEach(h=>l(h,a[h])),c.current=a,q.useImperativeHandle(s,()=>Object.fromEntries(i.map(h=>[h,(...d)=>l(h,...d)])),[l]),Gi.createElement(n,{ref:u})})}function Vn(e,n=q.useEffect){const r=q.useRef(),i=q.useRef(!1),o=q.useRef(!1),[a,s]=q.useState(0);i.current&&(o.current=!0),n(()=>(i.current||(r.current=e(),i.current=!0),s(u=>u+1),()=>{o.current&&(r.current&&r.current(),r.current=void 0,i.current=!1,o.current=!1)}),[])}var nn="http://www.w3.org/1999/xhtml";const Bn={svg:"http://www.w3.org/2000/svg",xhtml:nn,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Ne(e){var n=e+="",r=n.indexOf(":");return r>=0&&(n=e.slice(0,r))!=="xmlns"&&(e=e.slice(r+1)),Bn.hasOwnProperty(n)?{space:Bn[n],local:e}:e}function _o(e){return function(){var n=this.ownerDocument,r=this.namespaceURI;return r===nn&&n.documentElement.namespaceURI===nn?n.createElement(e):n.createElementNS(r,e)}}function vo(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Hr(e){var n=Ne(e);return(n.local?vo:_o)(n)}function mo(){}function vn(e){return e==null?mo:function(){return this.querySelector(e)}}function bo(e){typeof e!="function"&&(e=vn(e));for(var n=this._groups,r=n.length,i=new Array(r),o=0;o<r;++o)for(var a=n[o],s=a.length,u=i[o]=new Array(s),f,l,c=0;c<s;++c)(f=a[c])&&(l=e.call(f,f.__data__,c,a))&&("__data__"in f&&(l.__data__=f.__data__),u[c]=l);return new st(i,this._parents)}function xo(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function wo(){return[]}function qr(e){return e==null?wo:function(){return this.querySelectorAll(e)}}function ko(e){return function(){return xo(e.apply(this,arguments))}}function Co(e){typeof e=="function"?e=ko(e):e=qr(e);for(var n=this._groups,r=n.length,i=[],o=[],a=0;a<r;++a)for(var s=n[a],u=s.length,f,l=0;l<u;++l)(f=s[l])&&(i.push(e.call(f,f.__data__,l,s)),o.push(f));return new st(i,o)}function Gr(e){return function(){return this.matches(e)}}function Wr(e){return function(n){return n.matches(e)}}var Ao=Array.prototype.find;function So(e){return function(){return Ao.call(this.children,e)}}function Mo(){return this.firstElementChild}function To(e){return this.select(e==null?Mo:So(typeof e=="function"?e:Wr(e)))}var Po=Array.prototype.filter;function Oo(){return Array.from(this.children)}function Eo(e){return function(){return Po.call(this.children,e)}}function zo(e){return this.selectAll(e==null?Oo:Eo(typeof e=="function"?e:Wr(e)))}function Ro(e){typeof e!="function"&&(e=Gr(e));for(var n=this._groups,r=n.length,i=new Array(r),o=0;o<r;++o)for(var a=n[o],s=a.length,u=i[o]=[],f,l=0;l<s;++l)(f=a[l])&&e.call(f,f.__data__,l,a)&&u.push(f);return new st(i,this._parents)}function Vr(e){return new Array(e.length)}function Do(){return new st(this._enter||this._groups.map(Vr),this._parents)}function Ce(e,n){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=n}Ce.prototype={constructor:Ce,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,n){return this._parent.insertBefore(e,n)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function Io(e){return function(){return e}}function No(e,n,r,i,o,a){for(var s=0,u,f=n.length,l=a.length;s<l;++s)(u=n[s])?(u.__data__=a[s],i[s]=u):r[s]=new Ce(e,a[s]);for(;s<f;++s)(u=n[s])&&(o[s]=u)}function jo(e,n,r,i,o,a,s){var u,f,l=new Map,c=n.length,h=a.length,d=new Array(c),p;for(u=0;u<c;++u)(f=n[u])&&(d[u]=p=s.call(f,f.__data__,u,n)+"",l.has(p)?o[u]=f:l.set(p,f));for(u=0;u<h;++u)p=s.call(e,a[u],u,a)+"",(f=l.get(p))?(i[u]=f,f.__data__=a[u],l.delete(p)):r[u]=new Ce(e,a[u]);for(u=0;u<c;++u)(f=n[u])&&l.get(d[u])===f&&(o[u]=f)}function $o(e){return e.__data__}function Fo(e,n){if(!arguments.length)return Array.from(this,$o);var r=n?jo:No,i=this._parents,o=this._groups;typeof e!="function"&&(e=Io(e));for(var a=o.length,s=new Array(a),u=new Array(a),f=new Array(a),l=0;l<a;++l){var c=i[l],h=o[l],d=h.length,p=Lo(e.call(c,c&&c.__data__,l,i)),y=p.length,_=u[l]=new Array(y),v=s[l]=new Array(y),g=f[l]=new Array(d);r(c,h,_,v,g,p,n);for(var k=0,S=0,x,m;k<y;++k)if(x=_[k]){for(k>=S&&(S=k+1);!(m=v[S])&&++S<y;);x._next=m||null}}return s=new st(s,i),s._enter=u,s._exit=f,s}function Lo(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Uo(){return new st(this._exit||this._groups.map(Vr),this._parents)}function Ho(e,n,r){var i=this.enter(),o=this,a=this.exit();return typeof e=="function"?(i=e(i),i&&(i=i.selection())):i=i.append(e+""),n!=null&&(o=n(o),o&&(o=o.selection())),r==null?a.remove():r(a),i&&o?i.merge(o).order():o}function qo(e){for(var n=e.selection?e.selection():e,r=this._groups,i=n._groups,o=r.length,a=i.length,s=Math.min(o,a),u=new Array(o),f=0;f<s;++f)for(var l=r[f],c=i[f],h=l.length,d=u[f]=new Array(h),p,y=0;y<h;++y)(p=l[y]||c[y])&&(d[y]=p);for(;f<o;++f)u[f]=r[f];return new st(u,this._parents)}function Go(){for(var e=this._groups,n=-1,r=e.length;++n<r;)for(var i=e[n],o=i.length-1,a=i[o],s;--o>=0;)(s=i[o])&&(a&&s.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(s,a),a=s);return this}function Wo(e){e||(e=Vo);function n(h,d){return h&&d?e(h.__data__,d.__data__):!h-!d}for(var r=this._groups,i=r.length,o=new Array(i),a=0;a<i;++a){for(var s=r[a],u=s.length,f=o[a]=new Array(u),l,c=0;c<u;++c)(l=s[c])&&(f[c]=l);f.sort(n)}return new st(o,this._parents).order()}function Vo(e,n){return e<n?-1:e>n?1:e>=n?0:NaN}function Bo(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Xo(){return Array.from(this)}function Yo(){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var i=e[n],o=0,a=i.length;o<a;++o){var s=i[o];if(s)return s}return null}function Zo(){let e=0;for(const n of this)++e;return e}function Ko(){return!this.node()}function Qo(e){for(var n=this._groups,r=0,i=n.length;r<i;++r)for(var o=n[r],a=0,s=o.length,u;a<s;++a)(u=o[a])&&e.call(u,u.__data__,a,o);return this}function Jo(e){return function(){this.removeAttribute(e)}}function ta(e){return function(){this.removeAttributeNS(e.space,e.local)}}function ea(e,n){return function(){this.setAttribute(e,n)}}function na(e,n){return function(){this.setAttributeNS(e.space,e.local,n)}}function ra(e,n){return function(){var r=n.apply(this,arguments);r==null?this.removeAttribute(e):this.setAttribute(e,r)}}function ia(e,n){return function(){var r=n.apply(this,arguments);r==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,r)}}function oa(e,n){var r=Ne(e);if(arguments.length<2){var i=this.node();return r.local?i.getAttributeNS(r.space,r.local):i.getAttribute(r)}return this.each((n==null?r.local?ta:Jo:typeof n=="function"?r.local?ia:ra:r.local?na:ea)(r,n))}function Br(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function aa(e){return function(){this.style.removeProperty(e)}}function sa(e,n,r){return function(){this.style.setProperty(e,n,r)}}function ua(e,n,r){return function(){var i=n.apply(this,arguments);i==null?this.style.removeProperty(e):this.style.setProperty(e,i,r)}}function la(e,n,r){return arguments.length>1?this.each((n==null?aa:typeof n=="function"?ua:sa)(e,n,r??"")):Ht(this.node(),e)}function Ht(e,n){return e.style.getPropertyValue(n)||Br(e).getComputedStyle(e,null).getPropertyValue(n)}function fa(e){return function(){delete this[e]}}function ca(e,n){return function(){this[e]=n}}function ha(e,n){return function(){var r=n.apply(this,arguments);r==null?delete this[e]:this[e]=r}}function da(e,n){return arguments.length>1?this.each((n==null?fa:typeof n=="function"?ha:ca)(e,n)):this.node()[e]}function Xr(e){return e.trim().split(/^|\s+/)}function mn(e){return e.classList||new Yr(e)}function Yr(e){this._node=e,this._names=Xr(e.getAttribute("class")||"")}Yr.prototype={add:function(e){var n=this._names.indexOf(e);n<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var n=this._names.indexOf(e);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function Zr(e,n){for(var r=mn(e),i=-1,o=n.length;++i<o;)r.add(n[i])}function Kr(e,n){for(var r=mn(e),i=-1,o=n.length;++i<o;)r.remove(n[i])}function pa(e){return function(){Zr(this,e)}}function ga(e){return function(){Kr(this,e)}}function ya(e,n){return function(){(n.apply(this,arguments)?Zr:Kr)(this,e)}}function _a(e,n){var r=Xr(e+"");if(arguments.length<2){for(var i=mn(this.node()),o=-1,a=r.length;++o<a;)if(!i.contains(r[o]))return!1;return!0}return this.each((typeof n=="function"?ya:n?pa:ga)(r,n))}function va(){this.textContent=""}function ma(e){return function(){this.textContent=e}}function ba(e){return function(){var n=e.apply(this,arguments);this.textContent=n??""}}function xa(e){return arguments.length?this.each(e==null?va:(typeof e=="function"?ba:ma)(e)):this.node().textContent}function wa(){this.innerHTML=""}function ka(e){return function(){this.innerHTML=e}}function Ca(e){return function(){var n=e.apply(this,arguments);this.innerHTML=n??""}}function Aa(e){return arguments.length?this.each(e==null?wa:(typeof e=="function"?Ca:ka)(e)):this.node().innerHTML}function Sa(){this.nextSibling&&this.parentNode.appendChild(this)}function Ma(){return this.each(Sa)}function Ta(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Pa(){return this.each(Ta)}function Oa(e){var n=typeof e=="function"?e:Hr(e);return this.select(function(){return this.appendChild(n.apply(this,arguments))})}function Ea(){return null}function za(e,n){var r=typeof e=="function"?e:Hr(e),i=n==null?Ea:typeof n=="function"?n:vn(n);return this.select(function(){return this.insertBefore(r.apply(this,arguments),i.apply(this,arguments)||null)})}function Ra(){var e=this.parentNode;e&&e.removeChild(this)}function Da(){return this.each(Ra)}function Ia(){var e=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function Na(){var e=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function ja(e){return this.select(e?Na:Ia)}function $a(e){return arguments.length?this.property("__data__",e):this.node().__data__}function Fa(e){return function(n){e.call(this,n,this.__data__)}}function La(e){return e.trim().split(/^|\s+/).map(function(n){var r="",i=n.indexOf(".");return i>=0&&(r=n.slice(i+1),n=n.slice(0,i)),{type:n,name:r}})}function Ua(e){return function(){var n=this.__on;if(n){for(var r=0,i=-1,o=n.length,a;r<o;++r)a=n[r],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):n[++i]=a;++i?n.length=i:delete this.__on}}}function Ha(e,n,r){return function(){var i=this.__on,o,a=Fa(n);if(i){for(var s=0,u=i.length;s<u;++s)if((o=i[s]).type===e.type&&o.name===e.name){this.removeEventListener(o.type,o.listener,o.options),this.addEventListener(o.type,o.listener=a,o.options=r),o.value=n;return}}this.addEventListener(e.type,a,r),o={type:e.type,name:e.name,value:n,listener:a,options:r},i?i.push(o):this.__on=[o]}}function qa(e,n,r){var i=La(e+""),o,a=i.length,s;if(arguments.length<2){var u=this.node().__on;if(u){for(var f=0,l=u.length,c;f<l;++f)for(o=0,c=u[f];o<a;++o)if((s=i[o]).type===c.type&&s.name===c.name)return c.value}return}for(u=n?Ha:Ua,o=0;o<a;++o)this.each(u(i[o],n,r));return this}function Qr(e,n,r){var i=Br(e),o=i.CustomEvent;typeof o=="function"?o=new o(n,r):(o=i.document.createEvent("Event"),r?(o.initEvent(n,r.bubbles,r.cancelable),o.detail=r.detail):o.initEvent(n,!1,!1)),e.dispatchEvent(o)}function Ga(e,n){return function(){return Qr(this,e,n)}}function Wa(e,n){return function(){return Qr(this,e,n.apply(this,arguments))}}function Va(e,n){return this.each((typeof n=="function"?Wa:Ga)(e,n))}function*Ba(){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var i=e[n],o=0,a=i.length,s;o<a;++o)(s=i[o])&&(yield s)}var Jr=[null];function st(e,n){this._groups=e,this._parents=n}function fe(){return new st([[document.documentElement]],Jr)}function Xa(){return this}st.prototype=fe.prototype={constructor:st,select:bo,selectAll:Co,selectChild:To,selectChildren:zo,filter:Ro,data:Fo,enter:Do,exit:Uo,join:Ho,merge:qo,selection:Xa,order:Go,sort:Wo,call:Bo,nodes:Xo,node:Yo,size:Zo,empty:Ko,each:Qo,attr:oa,style:la,property:da,classed:_a,text:xa,html:Aa,raise:Ma,lower:Pa,append:Oa,insert:za,remove:Da,clone:ja,datum:$a,on:qa,dispatch:Va,[Symbol.iterator]:Ba};function ft(e){return typeof e=="string"?new st([[document.querySelector(e)]],[document.documentElement]):new st([[e]],Jr)}function Ya(e){let n;for(;n=e.sourceEvent;)e=n;return e}function yt(e,n){if(e=Ya(e),n===void 0&&(n=e.currentTarget),n){var r=n.ownerSVGElement||n;if(r.createSVGPoint){var i=r.createSVGPoint();return i.x=e.clientX,i.y=e.clientY,i=i.matrixTransform(n.getScreenCTM().inverse()),[i.x,i.y]}if(n.getBoundingClientRect){var o=n.getBoundingClientRect();return[e.clientX-o.left-n.clientLeft,e.clientY-o.top-n.clientTop]}}return[e.pageX,e.pageY]}var Za={value:()=>{}};function ce(){for(var e=0,n=arguments.length,r={},i;e<n;++e){if(!(i=arguments[e]+"")||i in r||/[\s.]/.test(i))throw new Error("illegal type: "+i);r[i]=[]}return new ve(r)}function ve(e){this._=e}function Ka(e,n){return e.trim().split(/^|\s+/).map(function(r){var i="",o=r.indexOf(".");if(o>=0&&(i=r.slice(o+1),r=r.slice(0,o)),r&&!n.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:i}})}ve.prototype=ce.prototype={constructor:ve,on:function(e,n){var r=this._,i=Ka(e+"",r),o,a=-1,s=i.length;if(arguments.length<2){for(;++a<s;)if((o=(e=i[a]).type)&&(o=Qa(r[o],e.name)))return o;return}if(n!=null&&typeof n!="function")throw new Error("invalid callback: "+n);for(;++a<s;)if(o=(e=i[a]).type)r[o]=Xn(r[o],e.name,n);else if(n==null)for(o in r)r[o]=Xn(r[o],e.name,null);return this},copy:function(){var e={},n=this._;for(var r in n)e[r]=n[r].slice();return new ve(e)},call:function(e,n){if((o=arguments.length-2)>0)for(var r=new Array(o),i=0,o,a;i<o;++i)r[i]=arguments[i+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(a=this._[e],i=0,o=a.length;i<o;++i)a[i].value.apply(n,r)},apply:function(e,n,r){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var i=this._[e],o=0,a=i.length;o<a;++o)i[o].value.apply(n,r)}};function Qa(e,n){for(var r=0,i=e.length,o;r<i;++r)if((o=e[r]).name===n)return o.value}function Xn(e,n,r){for(var i=0,o=e.length;i<o;++i)if(e[i].name===n){e[i]=Za,e=e.slice(0,i).concat(e.slice(i+1));break}return r!=null&&e.push({name:n,value:r}),e}const Ja={passive:!1},se={capture:!0,passive:!1};function qe(e){e.stopImmediatePropagation()}function Ut(e){e.preventDefault(),e.stopImmediatePropagation()}function ti(e){var n=e.document.documentElement,r=ft(e).on("dragstart.drag",Ut,se);"onselectstart"in n?r.on("selectstart.drag",Ut,se):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function ei(e,n){var r=e.document.documentElement,i=ft(e).on("dragstart.drag",null);n&&(i.on("click.drag",Ut,se),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 pe=e=>()=>e;function rn(e,{sourceEvent:n,subject:r,target:i,identifier:o,active:a,x:s,y:u,dx:f,dy:l,dispatch:c}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,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:a,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:u,enumerable:!0,configurable:!0},dx:{value:f,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:c}})}rn.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function ts(e){return!e.ctrlKey&&!e.button}function es(){return this.parentNode}function ns(e,n){return n??{x:e.x,y:e.y}}function rs(){return navigator.maxTouchPoints||"ontouchstart"in this}function is(){var e=ts,n=es,r=ns,i=rs,o={},a=ce("start","drag","end"),s=0,u,f,l,c,h=0;function d(x){x.on("mousedown.drag",p).filter(i).on("touchstart.drag",v).on("touchmove.drag",g,Ja).on("touchend.drag touchcancel.drag",k).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p(x,m){if(!(c||!e.call(this,x,m))){var C=S(this,n.call(this,x,m),x,m,"mouse");C&&(ft(x.view).on("mousemove.drag",y,se).on("mouseup.drag",_,se),ti(x.view),qe(x),l=!1,u=x.clientX,f=x.clientY,C("start",x))}}function y(x){if(Ut(x),!l){var m=x.clientX-u,C=x.clientY-f;l=m*m+C*C>h}o.mouse("drag",x)}function _(x){ft(x.view).on("mousemove.drag mouseup.drag",null),ei(x.view,l),Ut(x),o.mouse("end",x)}function v(x,m){if(e.call(this,x,m)){var C=x.changedTouches,A=n.call(this,x,m),T=C.length,N,E;for(N=0;N<T;++N)(E=S(this,A,x,m,C[N].identifier,C[N]))&&(qe(x),E("start",x,C[N]))}}function g(x){var m=x.changedTouches,C=m.length,A,T;for(A=0;A<C;++A)(T=o[m[A].identifier])&&(Ut(x),T("drag",x,m[A]))}function k(x){var m=x.changedTouches,C=m.length,A,T;for(c&&clearTimeout(c),c=setTimeout(function(){c=null},500),A=0;A<C;++A)(T=o[m[A].identifier])&&(qe(x),T("end",x,m[A]))}function S(x,m,C,A,T,N){var E=a.copy(),I=yt(N||C,m),M,P,w;if((w=r.call(x,new rn("beforestart",{sourceEvent:C,target:d,identifier:T,active:s,x:I[0],y:I[1],dx:0,dy:0,dispatch:E}),A))!=null)return M=w.x-I[0]||0,P=w.y-I[1]||0,function z(O,R,j){var F=I,L;switch(O){case"start":o[T]=z,L=s++;break;case"end":delete o[T],--s;case"drag":I=yt(j||R,m),L=s;break}E.call(O,x,new rn(O,{sourceEvent:R,subject:w,target:d,identifier:T,active:L,x:I[0]+M,y:I[1]+P,dx:I[0]-F[0],dy:I[1]-F[1],dispatch:E}),A)}}return d.filter=function(x){return arguments.length?(e=typeof x=="function"?x:pe(!!x),d):e},d.container=function(x){return arguments.length?(n=typeof x=="function"?x:pe(x),d):n},d.subject=function(x){return arguments.length?(r=typeof x=="function"?x:pe(x),d):r},d.touchable=function(x){return arguments.length?(i=typeof x=="function"?x:pe(!!x),d):i},d.on=function(){var x=a.on.apply(a,arguments);return x===a?d:x},d.clickDistance=function(x){return arguments.length?(h=(x=+x)*x,d):Math.sqrt(h)},d}var qt=0,Jt=0,Wt=0,ni=1e3,Ae,te,Se=0,jt=0,je=0,ue=typeof performance=="object"&&performance.now?performance:Date,ri=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function bn(){return jt||(ri(os),jt=ue.now()+je)}function os(){jt=0}function Me(){this._call=this._time=this._next=null}Me.prototype=xn.prototype={constructor:Me,restart:function(e,n,r){if(typeof e!="function")throw new TypeError("callback is not a function");r=(r==null?bn():+r)+(n==null?0:+n),!this._next&&te!==this&&(te?te._next=this:Ae=this,te=this),this._call=e,this._time=r,on()},stop:function(){this._call&&(this._call=null,this._time=1/0,on())}};function xn(e,n,r){var i=new Me;return i.restart(e,n,r),i}function as(){bn(),++qt;for(var e=Ae,n;e;)(n=jt-e._time)>=0&&e._call.call(void 0,n),e=e._next;--qt}function Yn(){jt=(Se=ue.now())+je,qt=Jt=0;try{as()}finally{qt=0,us(),jt=0}}function ss(){var e=ue.now(),n=e-Se;n>ni&&(je-=n,Se=e)}function us(){for(var e,n=Ae,r,i=1/0;n;)n._call?(i>n._time&&(i=n._time),e=n,n=n._next):(r=n._next,n._next=null,n=e?e._next=r:Ae=r);te=e,on(i)}function on(e){if(!qt){Jt&&(Jt=clearTimeout(Jt));var n=e-jt;n>24?(e<1/0&&(Jt=setTimeout(Yn,e-ue.now()-je)),Wt&&(Wt=clearInterval(Wt))):(Wt||(Se=ue.now(),Wt=setInterval(ss,ni)),qt=1,ri(Yn))}}function Zn(e,n,r){var i=new Me;return n=n==null?0:+n,i.restart(o=>{i.stop(),e(o+n)},n,r),i}var ls=ce("start","end","cancel","interrupt"),fs=[],ii=0,Kn=1,an=2,me=3,Qn=4,sn=5,be=6;function $e(e,n,r,i,o,a){var s=e.__transition;if(!s)e.__transition={};else if(r in s)return;cs(e,r,{name:n,index:i,group:o,on:ls,tween:fs,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:ii})}function wn(e,n){var r=pt(e,n);if(r.state>ii)throw new Error("too late; already scheduled");return r}function bt(e,n){var r=pt(e,n);if(r.state>me)throw new Error("too late; already running");return r}function pt(e,n){var r=e.__transition;if(!r||!(r=r[n]))throw new Error("transition not found");return r}function cs(e,n,r){var i=e.__transition,o;i[n]=r,r.timer=xn(a,0,r.time);function a(l){r.state=Kn,r.timer.restart(s,r.delay,r.time),r.delay<=l&&s(l-r.delay)}function s(l){var c,h,d,p;if(r.state!==Kn)return f();for(c in i)if(p=i[c],p.name===r.name){if(p.state===me)return Zn(s);p.state===Qn?(p.state=be,p.timer.stop(),p.on.call("interrupt",e,e.__data__,p.index,p.group),delete i[c]):+c<n&&(p.state=be,p.timer.stop(),p.on.call("cancel",e,e.__data__,p.index,p.group),delete i[c])}if(Zn(function(){r.state===me&&(r.state=Qn,r.timer.restart(u,r.delay,r.time),u(l))}),r.state=an,r.on.call("start",e,e.__data__,r.index,r.group),r.state===an){for(r.state=me,o=new Array(d=r.tween.length),c=0,h=-1;c<d;++c)(p=r.tween[c].value.call(e,e.__data__,r.index,r.group))&&(o[++h]=p);o.length=h+1}}function u(l){for(var c=l<r.duration?r.ease.call(null,l/r.duration):(r.timer.restart(f),r.state=sn,1),h=-1,d=o.length;++h<d;)o[h].call(e,c);r.state===sn&&(r.on.call("end",e,e.__data__,r.index,r.group),f())}function f(){r.state=be,r.timer.stop(),delete i[n];for(var l in i)return;delete e.__transition}}function xe(e,n){var r=e.__transition,i,o,a=!0,s;if(r){n=n==null?null:n+"";for(s in r){if((i=r[s]).name!==n){a=!1;continue}o=i.state>an&&i.state<sn,i.state=be,i.timer.stop(),i.on.call(o?"interrupt":"cancel",e,e.__data__,i.index,i.group),delete r[s]}a&&delete e.__transition}}function hs(e){return this.each(function(){xe(this,e)})}function ds(e,n){var r,i;return function(){var o=bt(this,e),a=o.tween;if(a!==r){i=r=a;for(var s=0,u=i.length;s<u;++s)if(i[s].name===n){i=i.slice(),i.splice(s,1);break}}o.tween=i}}function ps(e,n,r){var i,o;if(typeof r!="function")throw new Error;return function(){var a=bt(this,e),s=a.tween;if(s!==i){o=(i=s).slice();for(var u={name:n,value:r},f=0,l=o.length;f<l;++f)if(o[f].name===n){o[f]=u;break}f===l&&o.push(u)}a.tween=o}}function gs(e,n){var r=this._id;if(e+="",arguments.length<2){for(var i=pt(this.node(),r).tween,o=0,a=i.length,s;o<a;++o)if((s=i[o]).name===e)return s.value;return null}return this.each((n==null?ds:ps)(r,e,n))}function kn(e,n,r){var i=e._id;return e.each(function(){var o=bt(this,i);(o.value||(o.value={}))[n]=r.apply(this,arguments)}),function(o){return pt(o,i).value[n]}}function oi(e,n){var r;return(typeof n=="number"?It:n instanceof Fn?Ln:(r=Fn(n))?(n=r,Ln):Wi)(e,n)}function ys(e){return function(){this.removeAttribute(e)}}function _s(e){return function(){this.removeAttributeNS(e.space,e.local)}}function vs(e,n,r){var i,o=r+"",a;return function(){var s=this.getAttribute(e);return s===o?null:s===i?a:a=n(i=s,r)}}function ms(e,n,r){var i,o=r+"",a;return function(){var s=this.getAttributeNS(e.space,e.local);return s===o?null:s===i?a:a=n(i=s,r)}}function bs(e,n,r){var i,o,a;return function(){var s,u=r(this),f;return u==null?void this.removeAttribute(e):(s=this.getAttribute(e),f=u+"",s===f?null:s===i&&f===o?a:(o=f,a=n(i=s,u)))}}function xs(e,n,r){var i,o,a;return function(){var s,u=r(this),f;return u==null?void this.removeAttributeNS(e.space,e.local):(s=this.getAttributeNS(e.space,e.local),f=u+"",s===f?null:s===i&&f===o?a:(o=f,a=n(i=s,u)))}}function ws(e,n){var r=Ne(e),i=r==="transform"?Ji:oi;return this.attrTween(e,typeof n=="function"?(r.local?xs:bs)(r,i,kn(this,"attr."+e,n)):n==null?(r.local?_s:ys)(r):(r.local?ms:vs)(r,i,n))}function ks(e,n){return function(r){this.setAttribute(e,n.call(this,r))}}function Cs(e,n){return function(r){this.setAttributeNS(e.space,e.local,n.call(this,r))}}function As(e,n){var r,i;function o(){var a=n.apply(this,arguments);return a!==i&&(r=(i=a)&&Cs(e,a)),r}return o._value=n,o}function Ss(e,n){var r,i;function o(){var a=n.apply(this,arguments);return a!==i&&(r=(i=a)&&ks(e,a)),r}return o._value=n,o}function Ms(e,n){var r="attr."+e;if(arguments.length<2)return(r=this.tween(r))&&r._value;if(n==null)return this.tween(r,null);if(typeof n!="function")throw new Error;var i=Ne(e);return this.tween(r,(i.local?As:Ss)(i,n))}function Ts(e,n){return function(){wn(this,e).delay=+n.apply(this,arguments)}}function Ps(e,n){return n=+n,function(){wn(this,e).delay=n}}function Os(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?Ts:Ps)(n,e)):pt(this.node(),n).delay}function Es(e,n){return function(){bt(this,e).duration=+n.apply(this,arguments)}}function zs(e,n){return n=+n,function(){bt(this,e).duration=n}}function Rs(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?Es:zs)(n,e)):pt(this.node(),n).duration}function Ds(e,n){if(typeof n!="function")throw new Error;return function(){bt(this,e).ease=n}}function Is(e){var n=this._id;return arguments.length?this.each(Ds(n,e)):pt(this.node(),n).ease}function Ns(e,n){return function(){var r=n.apply(this,arguments);if(typeof r!="function")throw new Error;bt(this,e).ease=r}}function js(e){if(typeof e!="function")throw new Error;return this.each(Ns(this._id,e))}function $s(e){typeof e!="function"&&(e=Gr(e));for(var n=this._groups,r=n.length,i=new Array(r),o=0;o<r;++o)for(var a=n[o],s=a.length,u=i[o]=[],f,l=0;l<s;++l)(f=a[l])&&e.call(f,f.__data__,l,a)&&u.push(f);return new Pt(i,this._parents,this._name,this._id)}function Fs(e){if(e._id!==this._id)throw new Error;for(var n=this._groups,r=e._groups,i=n.length,o=r.length,a=Math.min(i,o),s=new Array(i),u=0;u<a;++u)for(var f=n[u],l=r[u],c=f.length,h=s[u]=new Array(c),d,p=0;p<c;++p)(d=f[p]||l[p])&&(h[p]=d);for(;u<i;++u)s[u]=n[u];return new Pt(s,this._parents,this._name,this._id)}function Ls(e){return(e+"").trim().split(/^|\s+/).every(function(n){var r=n.indexOf(".");return r>=0&&(n=n.slice(0,r)),!n||n==="start"})}function Us(e,n,r){var i,o,a=Ls(n)?wn:bt;return function(){var s=a(this,e),u=s.on;u!==i&&(o=(i=u).copy()).on(n,r),s.on=o}}function Hs(e,n){var r=this._id;return arguments.length<2?pt(this.node(),r).on.on(e):this.each(Us(r,e,n))}function qs(e){return function(){var n=this.parentNode;for(var r in this.__transition)if(+r!==e)return;n&&n.removeChild(this)}}function Gs(){return this.on("end.remove",qs(this._id))}function Ws(e){var n=this._name,r=this._id;typeof e!="function"&&(e=vn(e));for(var i=this._groups,o=i.length,a=new Array(o),s=0;s<o;++s)for(var u=i[s],f=u.length,l=a[s]=new Array(f),c,h,d=0;d<f;++d)(c=u[d])&&(h=e.call(c,c.__data__,d,u))&&("__data__"in c&&(h.__data__=c.__data__),l[d]=h,$e(l[d],n,r,d,l,pt(c,r)));return new Pt(a,this._parents,n,r)}function Vs(e){var n=this._name,r=this._id;typeof e!="function"&&(e=qr(e));for(var i=this._groups,o=i.length,a=[],s=[],u=0;u<o;++u)for(var f=i[u],l=f.length,c,h=0;h<l;++h)if(c=f[h]){for(var d=e.call(c,c.__data__,h,f),p,y=pt(c,r),_=0,v=d.length;_<v;++_)(p=d[_])&&$e(p,n,r,_,d,y);a.push(d),s.push(c)}return new Pt(a,s,n,r)}var Bs=fe.prototype.constructor;function Xs(){return new Bs(this._groups,this._parents)}function Ys(e,n){var r,i,o;return function(){var a=Ht(this,e),s=(this.style.removeProperty(e),Ht(this,e));return a===s?null:a===r&&s===i?o:o=n(r=a,i=s)}}function ai(e){return function(){this.style.removeProperty(e)}}function Zs(e,n,r){var i,o=r+"",a;return function(){var s=Ht(this,e);return s===o?null:s===i?a:a=n(i=s,r)}}function Ks(e,n,r){var i,o,a;return function(){var s=Ht(this,e),u=r(this),f=u+"";return u==null&&(f=u=(this.style.removeProperty(e),Ht(this,e))),s===f?null:s===i&&f===o?a:(o=f,a=n(i=s,u))}}function Qs(e,n){var r,i,o,a="style."+n,s="end."+a,u;return function(){var f=bt(this,e),l=f.on,c=f.value[a]==null?u||(u=ai(n)):void 0;(l!==r||o!==c)&&(i=(r=l).copy()).on(s,o=c),f.on=i}}function Js(e,n,r){var i=(e+="")=="transform"?Qi:oi;return n==null?this.styleTween(e,Ys(e,i)).on("end.style."+e,ai(e)):typeof n=="function"?this.styleTween(e,Ks(e,i,kn(this,"style."+e,n))).each(Qs(this._id,e)):this.styleTween(e,Zs(e,i,n),r).on("end.style."+e,null)}function tu(e,n,r){return function(i){this.style.setProperty(e,n.call(this,i),r)}}function eu(e,n,r){var i,o;function a(){var s=n.apply(this,arguments);return s!==o&&(i=(o=s)&&tu(e,s,r)),i}return a._value=n,a}function nu(e,n,r){var i="style."+(e+="");if(arguments.length<2)return(i=this.tween(i))&&i._value;if(n==null)return this.tween(i,null);if(typeof n!="function")throw new Error;return this.tween(i,eu(e,n,r??""))}function ru(e){return function(){this.textContent=e}}function iu(e){return function(){var n=e(this);this.textContent=n??""}}function ou(e){return this.tween("text",typeof e=="function"?iu(kn(this,"text",e)):ru(e==null?"":e+""))}function au(e){return function(n){this.textContent=e.call(this,n)}}function su(e){var n,r;function i(){var o=e.apply(this,arguments);return o!==r&&(n=(r=o)&&au(o)),n}return i._value=e,i}function uu(e){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;return this.tween(n,su(e))}function lu(){for(var e=this._name,n=this._id,r=si(),i=this._groups,o=i.length,a=0;a<o;++a)for(var s=i[a],u=s.length,f,l=0;l<u;++l)if(f=s[l]){var c=pt(f,n);$e(f,e,r,l,s,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new Pt(i,this._parents,e,r)}function fu(){var e,n,r=this,i=r._id,o=r.size();return new Promise(function(a,s){var u={value:s},f={value:function(){--o===0&&a()}};r.each(function(){var l=bt(this,i),c=l.on;c!==e&&(n=(e=c).copy(),n._.cancel.push(u),n._.interrupt.push(u),n._.end.push(f)),l.on=n}),o===0&&a()})}var cu=0;function Pt(e,n,r,i){this._groups=e,this._parents=n,this._name=r,this._id=i}function si(){return++cu}var xt=fe.prototype;Pt.prototype={constructor:Pt,select:Ws,selectAll:Vs,selectChild:xt.selectChild,selectChildren:xt.selectChildren,filter:$s,merge:Fs,selection:Xs,transition:lu,call:xt.call,nodes:xt.nodes,node:xt.node,size:xt.size,empty:xt.empty,each:xt.each,on:Hs,attr:ws,attrTween:Ms,style:Js,styleTween:nu,text:ou,textTween:uu,remove:Gs,tween:gs,delay:Os,duration:Rs,ease:Is,easeVarying:js,end:fu,[Symbol.iterator]:xt[Symbol.iterator]};function hu(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var du={time:null,delay:0,duration:250,ease:hu};function pu(e,n){for(var r;!(r=e.__transition)||!(r=r[n]);)if(!(e=e.parentNode))throw new Error(`transition ${n} not found`);return r}function gu(e){var n,r;e instanceof Pt?(n=e._id,e=e._name):(n=si(),(r=du).time=bn(),e=e==null?null:e+"");for(var i=this._groups,o=i.length,a=0;a<o;++a)for(var s=i[a],u=s.length,f,l=0;l<u;++l)(f=s[l])&&$e(f,e,n,l,s,r||pu(f,n));return new Pt(i,this._parents,e,n)}fe.prototype.interrupt=hs;fe.prototype.transition=gu;const ge=e=>()=>e;function yu(e,{sourceEvent:n,target:r,transform:i,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},transform:{value:i,enumerable:!0,configurable:!0},_:{value:o}})}function St(e,n,r){this.k=e,this.x=n,this.y=r}St.prototype={constructor:St,scale:function(e){return e===1?this:new St(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new St(this.k,this.x+this.k*e,this.y+this.k*n)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Cn=new St(1,0,0);gt.prototype=St.prototype;function gt(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Cn;return e.__zoom}function Ge(e){e.stopImmediatePropagation()}function Vt(e){e.preventDefault(),e.stopImmediatePropagation()}function _u(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function vu(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function Jn(){return this.__zoom||Cn}function mu(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function bu(){return navigator.maxTouchPoints||"ontouchstart"in this}function xu(e,n,r){var i=e.invertX(n[0][0])-r[0][0],o=e.invertX(n[1][0])-r[1][0],a=e.invertY(n[0][1])-r[0][1],s=e.invertY(n[1][1])-r[1][1];return e.translate(o>i?(i+o)/2:Math.min(0,i)||Math.max(0,o),s>a?(a+s)/2:Math.min(0,a)||Math.max(0,s))}function wu(){var e=_u,n=vu,r=xu,i=mu,o=bu,a=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],u=250,f=ro,l=ce("start","zoom","end"),c,h,d,p=500,y=150,_=0,v=10;function g(w){w.property("__zoom",Jn).on("wheel.zoom",T,{passive:!1}).on("mousedown.zoom",N).on("dblclick.zoom",E).filter(o).on("touchstart.zoom",I).on("touchmove.zoom",M).on("touchend.zoom touchcancel.zoom",P).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}g.transform=function(w,z,O,R){var j=w.selection?w.selection():w;j.property("__zoom",Jn),w!==j?m(w,z,O,R):j.interrupt().each(function(){C(this,arguments).event(R).start().zoom(null,typeof z=="function"?z.apply(this,arguments):z).end()})},g.scaleBy=function(w,z,O,R){g.scaleTo(w,function(){var j=this.__zoom.k,F=typeof z=="function"?z.apply(this,arguments):z;return j*F},O,R)},g.scaleTo=function(w,z,O,R){g.transform(w,function(){var j=n.apply(this,arguments),F=this.__zoom,L=O==null?x(j):typeof O=="function"?O.apply(this,arguments):O,U=F.invert(L),H=typeof z=="function"?z.apply(this,arguments):z;return r(S(k(F,H),L,U),j,s)},O,R)},g.translateBy=function(w,z,O,R){g.transform(w,function(){return r(this.__zoom.translate(typeof z=="function"?z.apply(this,arguments):z,typeof O=="function"?O.apply(this,arguments):O),n.apply(this,arguments),s)},null,R)},g.translateTo=function(w,z,O,R,j){g.transform(w,function(){var F=n.apply(this,arguments),L=this.__zoom,U=R==null?x(F):typeof R=="function"?R.apply(this,arguments):R;return r(Cn.translate(U[0],U[1]).scale(L.k).translate(typeof z=="function"?-z.apply(this,arguments):-z,typeof O=="function"?-O.apply(this,arguments):-O),F,s)},R,j)};function k(w,z){return z=Math.max(a[0],Math.min(a[1],z)),z===w.k?w:new St(z,w.x,w.y)}function S(w,z,O){var R=z[0]-O[0]*w.k,j=z[1]-O[1]*w.k;return R===w.x&&j===w.y?w:new St(w.k,R,j)}function x(w){return[(+w[0][0]+ +w[1][0])/2,(+w[0][1]+ +w[1][1])/2]}function m(w,z,O,R){w.on("start.zoom",function(){C(this,arguments).event(R).start()}).on("interrupt.zoom end.zoom",function(){C(this,arguments).event(R).end()}).tween("zoom",function(){var j=this,F=arguments,L=C(j,F).event(R),U=n.apply(j,F),H=O==null?x(U):typeof O=="function"?O.apply(j,F):O,Z=Math.max(U[1][0]-U[0][0],U[1][1]-U[0][1]),W=j.__zoom,et=typeof z=="function"?z.apply(j,F):z,J=f(W.invert(H).concat(Z/W.k),et.invert(H).concat(Z/et.k));return function(K){if(K===1)K=et;else{var ot=J(K),$t=Z/ot[2];K=new St($t,H[0]-ot[0]*$t,H[1]-ot[1]*$t)}L.zoom(null,K)}})}function C(w,z,O){return!O&&w.__zooming||new A(w,z)}function A(w,z){this.that=w,this.args=z,this.active=0,this.sourceEvent=null,this.extent=n.apply(w,z),this.taps=0}A.prototype={event:function(w){return w&&(this.sourceEvent=w),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(w,z){return this.mouse&&w!=="mouse"&&(this.mouse[1]=z.invert(this.mouse[0])),this.touch0&&w!=="touch"&&(this.touch0[1]=z.invert(this.touch0[0])),this.touch1&&w!=="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(w){var z=ft(this.that).datum();l.call(w,this.that,new yu(w,{sourceEvent:this.sourceEvent,target:g,transform:this.that.__zoom,dispatch:l}),z)}};function T(w,...z){if(!e.apply(this,arguments))return;var O=C(this,z).event(w),R=this.__zoom,j=Math.max(a[0],Math.min(a[1],R.k*Math.pow(2,i.apply(this,arguments)))),F=yt(w);if(O.wheel)(O.mouse[0][0]!==F[0]||O.mouse[0][1]!==F[1])&&(O.mouse[1]=R.invert(O.mouse[0]=F)),clearTimeout(O.wheel);else{if(R.k===j)return;O.mouse=[F,R.invert(F)],xe(this),O.start()}Vt(w),O.wheel=setTimeout(L,y),O.zoom("mouse",r(S(k(R,j),O.mouse[0],O.mouse[1]),O.extent,s));function L(){O.wheel=null,O.end()}}function N(w,...z){if(d||!e.apply(this,arguments))return;var O=w.currentTarget,R=C(this,z,!0).event(w),j=ft(w.view).on("mousemove.zoom",H,!0).on("mouseup.zoom",Z,!0),F=yt(w,O),L=w.clientX,U=w.clientY;ti(w.view),Ge(w),R.mouse=[F,this.__zoom.invert(F)],xe(this),R.start();function H(W){if(Vt(W),!R.moved){var et=W.clientX-L,J=W.clientY-U;R.moved=et*et+J*J>_}R.event(W).zoom("mouse",r(S(R.that.__zoom,R.mouse[0]=yt(W,O),R.mouse[1]),R.extent,s))}function Z(W){j.on("mousemove.zoom mouseup.zoom",null),ei(W.view,R.moved),Vt(W),R.event(W).end()}}function E(w,...z){if(e.apply(this,arguments)){var O=this.__zoom,R=yt(w.changedTouches?w.changedTouches[0]:w,this),j=O.invert(R),F=O.k*(w.shiftKey?.5:2),L=r(S(k(O,F),R,j),n.apply(this,z),s);Vt(w),u>0?ft(this).transition().duration(u).call(m,L,R,w):ft(this).call(g.transform,L,R,w)}}function I(w,...z){if(e.apply(this,arguments)){var O=w.touches,R=O.length,j=C(this,z,w.changedTouches.length===R).event(w),F,L,U,H;for(Ge(w),L=0;L<R;++L)U=O[L],H=yt(U,this),H=[H,this.__zoom.invert(H),U.identifier],j.touch0?!j.touch1&&j.touch0[2]!==H[2]&&(j.touch1=H,j.taps=0):(j.touch0=H,F=!0,j.taps=1+!!c);c&&(c=clearTimeout(c)),F&&(j.taps<2&&(h=H[0],c=setTimeout(function(){c=null},p)),xe(this),j.start())}}function M(w,...z){if(this.__zooming){var O=C(this,z).event(w),R=w.changedTouches,j=R.length,F,L,U,H;for(Vt(w),F=0;F<j;++F)L=R[F],U=yt(L,this),O.touch0&&O.touch0[2]===L.identifier?O.touch0[0]=U:O.touch1&&O.touch1[2]===L.identifier&&(O.touch1[0]=U);if(L=O.that.__zoom,O.touch1){var Z=O.touch0[0],W=O.touch0[1],et=O.touch1[0],J=O.touch1[1],K=(K=et[0]-Z[0])*K+(K=et[1]-Z[1])*K,ot=(ot=J[0]-W[0])*ot+(ot=J[1]-W[1])*ot;L=k(L,Math.sqrt(K/ot)),U=[(Z[0]+et[0])/2,(Z[1]+et[1])/2],H=[(W[0]+J[0])/2,(W[1]+J[1])/2]}else if(O.touch0)U=O.touch0[0],H=O.touch0[1];else return;O.zoom("touch",r(S(L,U,H),O.extent,s))}}function P(w,...z){if(this.__zooming){var O=C(this,z).event(w),R=w.changedTouches,j=R.length,F,L;for(Ge(w),d&&clearTimeout(d),d=setTimeout(function(){d=null},p),F=0;F<j;++F)L=R[F],O.touch0&&O.touch0[2]===L.identifier?delete O.touch0:O.touch1&&O.touch1[2]===L.identifier&&delete O.touch1;if(O.touch1&&!O.touch0&&(O.touch0=O.touch1,delete O.touch1),O.touch0)O.touch0[1]=this.__zoom.invert(O.touch0[0]);else if(O.end(),O.taps===2&&(L=yt(L,this),Math.hypot(h[0]-L[0],h[1]-L[1])<v)){var U=ft(this).on("dblclick.zoom");U&&U.apply(this,arguments)}}}return g.wheelDelta=function(w){return arguments.length?(i=typeof w=="function"?w:ge(+w),g):i},g.filter=function(w){return arguments.length?(e=typeof w=="function"?w:ge(!!w),g):e},g.touchable=function(w){return arguments.length?(o=typeof w=="function"?w:ge(!!w),g):o},g.extent=function(w){return arguments.length?(n=typeof w=="function"?w:ge([[+w[0][0],+w[0][1]],[+w[1][0],+w[1][1]]]),g):n},g.scaleExtent=function(w){return arguments.length?(a[0]=+w[0],a[1]=+w[1],g):[a[0],a[1]]},g.translateExtent=function(w){return arguments.length?(s[0][0]=+w[0][0],s[1][0]=+w[1][0],s[0][1]=+w[0][1],s[1][1]=+w[1][1],g):[[s[0][0],s[0][1]],[s[1][0],s[1][1]]]},g.constrain=function(w){return arguments.length?(r=w,g):r},g.duration=function(w){return arguments.length?(u=+w,g):u},g.interpolate=function(w){return arguments.length?(f=w,g):f},g.on=function(){var w=l.on.apply(l,arguments);return w===l?g:w},g.clickDistance=function(w){return arguments.length?(_=(w=+w)*w,g):Math.sqrt(_)},g.tapDistance=function(w){return arguments.length?(v=+w,g):v},g}var ku=typeof global=="object"&&global&&global.Object===Object&&global,Cu=typeof self=="object"&&self&&self.Object===Object&&self,ui=ku||Cu||Function("return this")(),Te=ui.Symbol,li=Object.prototype,Au=li.hasOwnProperty,Su=li.toString,Bt=Te?Te.toStringTag:void 0;function Mu(e){var n=Au.call(e,Bt),r=e[Bt];try{e[Bt]=void 0;var i=!0}catch{}var o=Su.call(e);return i&&(n?e[Bt]=r:delete e[Bt]),o}var Tu=Object.prototype,Pu=Tu.toString;function Ou(e){return Pu.call(e)}var Eu="[object Null]",zu="[object Undefined]",tr=Te?Te.toStringTag:void 0;function Ru(e){return e==null?e===void 0?zu:Eu:tr&&tr in Object(e)?Mu(e):Ou(e)}function Du(e){return e!=null&&typeof e=="object"}var Iu="[object Symbol]";function Nu(e){return typeof e=="symbol"||Du(e)&&Ru(e)==Iu}var ju=/\s/;function $u(e){for(var n=e.length;n--&&ju.test(e.charAt(n)););return n}var Fu=/^\s+/;function Lu(e){return e&&e.slice(0,$u(e)+1).replace(Fu,"")}function Pe(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}var er=NaN,Uu=/^[-+]0x[0-9a-f]+$/i,Hu=/^0b[01]+$/i,qu=/^0o[0-7]+$/i,Gu=parseInt;function nr(e){if(typeof e=="number")return e;if(Nu(e))return er;if(Pe(e)){var n=typeof e.valueOf=="function"?e.valueOf():e;e=Pe(n)?n+"":n}if(typeof e!="string")return e===0?e:+e;e=Lu(e);var r=Hu.test(e);return r||qu.test(e)?Gu(e.slice(2),r?2:8):Uu.test(e)?er:+e}var We=function(){return ui.Date.now()},Wu="Expected a function",Vu=Math.max,Bu=Math.min;function fi(e,n,r){var i,o,a,s,u,f,l=0,c=!1,h=!1,d=!0;if(typeof e!="function")throw new TypeError(Wu);n=nr(n)||0,Pe(r)&&(c=!!r.leading,h="maxWait"in r,a=h?Vu(nr(r.maxWait)||0,n):a,d="trailing"in r?!!r.trailing:d);function p(C){var A=i,T=o;return i=o=void 0,l=C,s=e.apply(T,A),s}function y(C){return l=C,u=setTimeout(g,n),c?p(C):s}function _(C){var A=C-f,T=C-l,N=n-A;return h?Bu(N,a-T):N}function v(C){var A=C-f,T=C-l;return f===void 0||A>=n||A<0||h&&T>=a}function g(){var C=We();if(v(C))return k(C);u=setTimeout(g,_(C))}function k(C){return u=void 0,d&&i?p(C):(i=o=void 0,s)}function S(){u!==void 0&&clearTimeout(u),l=0,i=f=o=u=void 0}function x(){return u===void 0?s:k(We())}function m(){var C=We(),A=v(C);if(i=arguments,o=this,f=C,A){if(u===void 0)return y(f);if(h)return clearTimeout(u),u=setTimeout(g,n),p(f)}return u===void 0&&(u=setTimeout(g,n)),s}return m.cancel=S,m.flush=x,m}var Xu="Expected a function";function Yu(e,n,r){var i=!0,o=!0;if(typeof e!="function")throw new TypeError(Xu);return Pe(r)&&(i="leading"in r?!!r.leading:i,o="trailing"in r?!!r.trailing:o),fi(e,n,{leading:i,maxWait:n,trailing:o})}var Nt=Object.freeze({Linear:Object.freeze({None:function(e){return e},In:function(e){return e},Out:function(e){return e},InOut:function(e){return e}}),Quadratic:Object.freeze({In:function(e){return e*e},Out:function(e){return e*(2-e)},InOut:function(e){return(e*=2)<1?.5*e*e:-.5*(--e*(e-2)-1)}}),Cubic:Object.freeze({In:function(e){return e*e*e},Out:function(e){return--e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e:.5*((e-=2)*e*e+2)}}),Quartic:Object.freeze({In:function(e){return e*e*e*e},Out:function(e){return 1- --e*e*e*e},InOut:function(e){return(e*=2)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2)}}),Quintic:Object.freeze({In:function(e){return e*e*e*e*e},Out:function(e){return--e*e*e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)}}),Sinusoidal:Object.freeze({In:function(e){return 1-Math.sin((1-e)*Math.PI/2)},Out:function(e){return Math.sin(e*Math.PI/2)},InOut:function(e){return .5*(1-Math.sin(Math.PI*(.5-e)))}}),Exponential:Object.freeze({In:function(e){return e===0?0:Math.pow(1024,e-1)},Out:function(e){return e===1?1:1-Math.pow(2,-10*e)},InOut:function(e){return e===0?0:e===1?1:(e*=2)<1?.5*Math.pow(1024,e-1):.5*(-Math.pow(2,-10*(e-1))+2)}}),Circular:Object.freeze({In:function(e){return 1-Math.sqrt(1-e*e)},Out:function(e){return Math.sqrt(1- --e*e)},InOut:function(e){return(e*=2)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)}}),Elastic:Object.freeze({In:function(e){return e===0?0:e===1?1:-Math.pow(2,10*(e-1))*Math.sin((e-1.1)*5*Math.PI)},Out:function(e){return e===0?0:e===1?1:Math.pow(2,-10*e)*Math.sin((e-.1)*5*Math.PI)+1},InOut:function(e){return e===0?0:e===1?1:(e*=2,e<1?-.5*Math.pow(2,10*(e-1))*Math.sin((e-1.1)*5*Math.PI):.5*Math.pow(2,-10*(e-1))*Math.sin((e-1.1)*5*Math.PI)+1)}}),Back:Object.freeze({In:function(e){var n=1.70158;return e===1?1:e*e*((n+1)*e-n)},Out:function(e){var n=1.70158;return e===0?0:--e*e*((n+1)*e+n)+1},InOut:function(e){var n=2.5949095;return(e*=2)<1?.5*(e*e*((n+1)*e-n)):.5*((e-=2)*e*((n+1)*e+n)+2)}}),Bounce:Object.freeze({In:function(e){return 1-Nt.Bounce.Out(1-e)},Out:function(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},InOut:function(e){return e<.5?Nt.Bounce.In(e*2)*.5:Nt.Bounce.Out(e*2-1)*.5+.5}}),generatePow:function(e){return e===void 0&&(e=4),e=e<Number.EPSILON?Number.EPSILON:e,e=e>1e4?1e4:e,{In:function(n){return Math.pow(n,e)},Out:function(n){return 1-Math.pow(1-n,e)},InOut:function(n){return n<.5?Math.pow(n*2,e)/2:(1-Math.pow(2-n*2,e))/2+.5}}}}),ee=function(){return performance.now()},ci=(function(){function e(){this._tweens={},this._tweensAddedDuringUpdate={}}return e.prototype.getAll=function(){var n=this;return Object.keys(this._tweens).map(function(r){return n._tweens[r]})},e.prototype.removeAll=function(){this._tweens={}},e.prototype.add=function(n){this._tweens[n.getId()]=n,this._tweensAddedDuringUpdate[n.getId()]=n},e.prototype.remove=function(n){delete this._tweens[n.getId()],delete this._tweensAddedDuringUpdate[n.getId()]},e.prototype.update=function(n,r){n===void 0&&(n=ee()),r===void 0&&(r=!1);var i=Object.keys(this._tweens);if(i.length===0)return!1;for(;i.length>0;){this._tweensAddedDuringUpdate={};for(var o=0;o<i.length;o++){var a=this._tweens[i[o]],s=!r;a&&a.update(n,s)===!1&&!r&&delete this._tweens[i[o]]}i=Object.keys(this._tweensAddedDuringUpdate)}return!0},e})(),un={Linear:function(e,n){var r=e.length-1,i=r*n,o=Math.floor(i),a=un.Utils.Linear;return n<0?a(e[0],e[1],i):n>1?a(e[r],e[r-1],r-i):a(e[o],e[o+1>r?r:o+1],i-o)},Utils:{Linear:function(e,n,r){return(n-e)*r+e}}},hi=(function(){function e(){}return e.nextId=function(){return e._nextId++},e._nextId=0,e})(),ln=new ci,rr=(function(){function e(n,r){r===void 0&&(r=ln),this._object=n,this._group=r,this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._isDynamic=!1,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=Nt.Linear.None,this._interpolationFunction=un.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._id=hi.nextId(),this._isChainStopped=!1,this._propertiesAreSetUp=!1,this._goToEnd=!1}return e.prototype.getId=function(){return this._id},e.prototype.isPlaying=function(){return this._isPlaying},e.prototype.isPaused=function(){return this._isPaused},e.prototype.getDuration=function(){return this._duration},e.prototype.to=function(n,r){if(r===void 0&&(r=1e3),this._isPlaying)throw new Error("Can not call Tween.to() while Tween is already started or paused. Stop the Tween first.");return this._valuesEnd=n,this._propertiesAreSetUp=!1,this._duration=r<0?0:r,this},e.prototype.duration=function(n){return n===void 0&&(n=1e3),this._duration=n<0?0:n,this},e.prototype.dynamic=function(n){return n===void 0&&(n=!1),this._isDynamic=n,this},e.prototype.start=function(n,r){if(n===void 0&&(n=ee()),r===void 0&&(r=!1),this._isPlaying)return this;if(this._group&&this._group.add(this),this._repeat=this._initialRepeat,this._reversed){this._reversed=!1;for(var i in this._valuesStartRepeat)this._swapEndStartRepeatValues(i),this._valuesStart[i]=this._valuesStartRepeat[i]}if(this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=n,this._startTime+=this._delayTime,!this._propertiesAreSetUp||r){if(this._propertiesAreSetUp=!0,!this._isDynamic){var o={};for(var a in this._valuesEnd)o[a]=this._valuesEnd[a];this._valuesEnd=o}this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat,r)}return this},e.prototype.startFromCurrentValues=function(n){return this.start(n,!0)},e.prototype._setupProperties=function(n,r,i,o,a){for(var s in i){var u=n[s],f=Array.isArray(u),l=f?"array":typeof u,c=!f&&Array.isArray(i[s]);if(!(l==="undefined"||l==="function")){if(c){var h=i[s];if(h.length===0)continue;for(var d=[u],p=0,y=h.length;p<y;p+=1){var _=this._handleRelativeValue(u,h[p]);if(isNaN(_)){c=!1,console.warn("Found invalid interpolation list. Skipping.");break}d.push(_)}c&&(i[s]=d)}if((l==="object"||f)&&u&&!c){r[s]=f?[]:{};var v=u;for(var g in v)r[s][g]=v[g];o[s]=f?[]:{};var h=i[s];if(!this._isDynamic){var k={};for(var g in h)k[g]=h[g];i[s]=h=k}this._setupProperties(v,r[s],h,o[s],a)}else(typeof r[s]>"u"||a)&&(r[s]=u),f||(r[s]*=1),c?o[s]=i[s].slice().reverse():o[s]=r[s]||0}}},e.prototype.stop=function(){return this._isChainStopped||(this._isChainStopped=!0,this.stopChainedTweens()),this._isPlaying?(this._group&&this._group.remove(this),this._isPlaying=!1,this._isPaused=!1,this._onStopCallback&&this._onStopCallback(this._object),this):this},e.prototype.end=function(){return this._goToEnd=!0,this.update(1/0),this},e.prototype.pause=function(n){return n===void 0&&(n=ee()),this._isPaused||!this._isPlaying?this:(this._isPaused=!0,this._pauseStart=n,this._group&&this._group.remove(this),this)},e.prototype.resume=function(n){return n===void 0&&(n=ee()),!this._isPaused||!this._isPlaying?this:(this._isPaused=!1,this._startTime+=n-this._pauseStart,this._pauseStart=0,this._group&&this._group.add(this),this)},e.prototype.stopChainedTweens=function(){for(var n=0,r=this._chainedTweens.length;n<r;n++)this._chainedTweens[n].stop();return this},e.prototype.group=function(n){return n===void 0&&(n=ln),this._group=n,this},e.prototype.delay=function(n){return n===void 0&&(n=0),this._delayTime=n,this},e.prototype.repeat=function(n){return n===void 0&&(n=0),this._initialRepeat=n,this._repeat=n,this},e.prototype.repeatDelay=function(n){return this._repeatDelayTime=n,this},e.prototype.yoyo=function(n){return n===void 0&&(n=!1),this._yoyo=n,this},e.prototype.easing=function(n){return n===void 0&&(n=Nt.Linear.None),this._easingFunction=n,this},e.prototype.interpolation=function(n){return n===void 0&&(n=un.Linear),this._interpolationFunction=n,this},e.prototype.chain=function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return this._chainedTweens=n,this},e.prototype.onStart=function(n){return this._onStartCallback=n,this},e.prototype.onEveryStart=function(n){return this._onEveryStartCallback=n,this},e.prototype.onUpdate=function(n){return this._onUpdateCallback=n,this},e.prototype.onRepeat=function(n){return this._onRepeatCallback=n,this},e.prototype.onComplete=function(n){return this._onCompleteCallback=n,this},e.prototype.onStop=function(n){return this._onStopCallback=n,this},e.prototype.update=function(n,r){var i=this,o;if(n===void 0&&(n=ee()),r===void 0&&(r=!0),this._isPaused)return!0;var a,s=this._startTime+this._duration;if(!this._goToEnd&&!this._isPlaying){if(n>s)return!1;r&&this.start(n,!0)}if(this._goToEnd=!1,n<this._startTime)return!0;this._onStartCallbackFired===!1&&(this._onStartCallback&&this._onStartCallback(this._object),this._onStartCallbackFired=!0),this._onEveryStartCallbackFired===!1&&(this._onEveryStartCallback&&this._onEveryStartCallback(this._object),this._onEveryStartCallbackFired=!0);var u=n-this._startTime,f=this._duration+((o=this._repeatDelayTime)!==null&&o!==void 0?o:this._delayTime),l=this._duration+this._repeat*f,c=function(){if(i._duration===0||u>l)return 1;var v=Math.trunc(u/f),g=u-v*f,k=Math.min(g/i._duration,1);return k===0&&u===i._duration?1:k},h=c(),d=this._easingFunction(h);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,d),this._onUpdateCallback&&this._onUpdateCallback(this._object,h),this._duration===0||u>=this._duration)if(this._repeat>0){var p=Math.min(Math.trunc((u-this._duration)/f)+1,this._repeat);isFinite(this._repeat)&&(this._repeat-=p);for(a in this._valuesStartRepeat)!this._yoyo&&typeof this._valuesEnd[a]=="string"&&(this._valuesStartRepeat[a]=this._valuesStartRepeat[a]+parseFloat(this._valuesEnd[a])),this._yoyo&&this._swapEndStartRepeatValues(a),this._valuesStart[a]=this._valuesStartRepeat[a];return this._yoyo&&(this._reversed=!this._reversed),this._startTime+=f*p,this._onRepeatCallback&&this._onRepeatCallback(this._object),this._onEveryStartCallbackFired=!1,!0}else{this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var y=0,_=this._chainedTweens.length;y<_;y++)this._chainedTweens[y].start(this._startTime+this._duration,!1);return this._isPlaying=!1,!1}return!0},e.prototype._updateProperties=function(n,r,i,o){for(var a in i)if(r[a]!==void 0){var s=r[a]||0,u=i[a],f=Array.isArray(n[a]),l=Array.isArray(u),c=!f&&l;c?n[a]=this._interpolationFunction(u,o):typeof u=="object"&&u?this._updateProperties(n[a],s,u,o):(u=this._handleRelativeValue(s,u),typeof u=="number"&&(n[a]=s+(u-s)*o))}},e.prototype._handleRelativeValue=function(n,r){return typeof r!="string"?r:r.charAt(0)==="+"||r.charAt(0)==="-"?n+parseFloat(r):parseFloat(r)},e.prototype._swapEndStartRepeatValues=function(n){var r=this._valuesStartRepeat[n],i=this._valuesEnd[n];typeof i=="string"?this._valuesStartRepeat[n]=this._valuesStartRepeat[n]+parseFloat(i):this._valuesStartRepeat[n]=this._valuesEnd[n],this._valuesEnd[n]=r},e})();hi.nextId;var mt=ln;mt.getAll.bind(mt);mt.removeAll.bind(mt);mt.add.bind(mt);mt.remove.bind(mt);mt.update.bind(mt);function ir(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=Array(n);r<n;r++)i[r]=e[r];return i}function Zu(e){if(Array.isArray(e))return e}function Ku(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function Qu(e,n,r){return Object.defineProperty(e,"prototype",{writable:!1}),e}function Ju(e,n){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var i,o,a,s,u=[],f=!0,l=!1;try{if(a=(r=r.call(e)).next,n!==0)for(;!(f=(i=a.call(r)).done)&&(u.push(i.value),u.length!==n);f=!0);}catch(c){l=!0,o=c}finally{try{if(!f&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(l)throw o}}return u}}function tl(){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 el(e,n){return Zu(e)||Ju(e,n)||nl(e,n)||tl()}function nl(e,n){if(e){if(typeof e=="string")return ir(e,n);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ir(e,n):void 0}}var rl=Qu(function e(n,r){var i=r.default,o=i===void 0?null:i,a=r.triggerUpdate,s=a===void 0?!0:a,u=r.onChange,f=u===void 0?function(l,c){}:u;Ku(this,e),this.name=n,this.defaultVal=o,this.triggerUpdate=s,this.onChange=f});function An(e){var n=e.stateInit,r=n===void 0?function(){return{}}:n,i=e.props,o=i===void 0?{}:i,a=e.methods,s=a===void 0?{}:a,u=e.aliases,f=u===void 0?{}:u,l=e.init,c=l===void 0?function(){}:l,h=e.update,d=h===void 0?function(){}:h,p=Object.keys(o).map(function(y){return new rl(y,o[y])});return function y(){for(var _=arguments.length,v=new Array(_),g=0;g<_;g++)v[g]=arguments[g];var k=!!(this instanceof y&&this.constructor),S=k?v.shift():void 0,x=v[0],m=x===void 0?{}:x,C=Object.assign({},r instanceof Function?r(m):r,{initialised:!1}),A={};function T(I){return N(I,m),E(),T}var N=function(M,P){c.call(T,M,C,P),C.initialised=!0},E=fi(function(){C.initialised&&(d.call(T,C,A),A={})},1);return p.forEach(function(I){T[I.name]=M(I);function M(P){var w=P.name,z=P.triggerUpdate,O=z===void 0?!1:z,R=P.onChange,j=R===void 0?function(U,H){}:R,F=P.defaultVal,L=F===void 0?null:F;return function(U){var H=C[w];if(!arguments.length)return H;var Z=U===void 0?L:U;return C[w]=Z,j.call(T,Z,C,H),!A.hasOwnProperty(w)&&(A[w]=H),O&&E(),T}}}),Object.keys(s).forEach(function(I){T[I]=function(){for(var M,P=arguments.length,w=new Array(P),z=0;z<P;z++)w[z]=arguments[z];return(M=s[I]).call.apply(M,[T,C].concat(w))}}),Object.entries(f).forEach(function(I){var M=el(I,2),P=M[0],w=M[1];return T[P]=T[w]}),T.resetProps=function(){return p.forEach(function(I){T[I.name](I.defaultVal)}),T},T.resetProps(),C._rerender=E,k&&S&&T(S),T}}var G=(function(e){return typeof e=="function"?e:typeof e=="string"?function(n){return n[e]}:function(n){return e}});function Oe(e){"@babel/helpers - typeof";return Oe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Oe(e)}var il=/^\s+/,ol=/\s+$/;function $(e,n){if(e=e||"",n=n||{},e instanceof $)return e;if(!(this instanceof $))return new $(e,n);var r=al(e);this._originalInput=e,this._r=r.r,this._g=r.g,this._b=r.b,this._a=r.a,this._roundA=Math.round(100*this._a)/100,this._format=n.format||r.format,this._gradientType=n.gradientType,this._r<1&&(this._r=Math.round(this._r)),this._g<1&&(this._g=Math.round(this._g)),this._b<1&&(this._b=Math.round(this._b)),this._ok=r.ok}$.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var n=this.toRgb();return(n.r*299+n.g*587+n.b*114)/1e3},getLuminance:function(){var n=this.toRgb(),r,i,o,a,s,u;return r=n.r/255,i=n.g/255,o=n.b/255,r<=.03928?a=r/12.92:a=Math.pow((r+.055)/1.055,2.4),i<=.03928?s=i/12.92:s=Math.pow((i+.055)/1.055,2.4),o<=.03928?u=o/12.92:u=Math.pow((o+.055)/1.055,2.4),.2126*a+.7152*s+.0722*u},setAlpha:function(n){return this._a=di(n),this._roundA=Math.round(100*this._a)/100,this},toHsv:function(){var n=ar(this._r,this._g,this._b);return{h:n.h*360,s:n.s,v:n.v,a:this._a}},toHsvString:function(){var n=ar(this._r,this._g,this._b),r=Math.round(n.h*360),i=Math.round(n.s*100),o=Math.round(n.v*100);return this._a==1?"hsv("+r+", "+i+"%, "+o+"%)":"hsva("+r+", "+i+"%, "+o+"%, "+this._roundA+")"},toHsl:function(){var n=or(this._r,this._g,this._b);return{h:n.h*360,s:n.s,l:n.l,a:this._a}},toHslString:function(){var n=or(this._r,this._g,this._b),r=Math.round(n.h*360),i=Math.round(n.s*100),o=Math.round(n.l*100);return this._a==1?"hsl("+r+", "+i+"%, "+o+"%)":"hsla("+r+", "+i+"%, "+o+"%, "+this._roundA+")"},toHex:function(n){return sr(this._r,this._g,this._b,n)},toHexString:function(n){return"#"+this.toHex(n)},toHex8:function(n){return fl(this._r,this._g,this._b,this._a,n)},toHex8String:function(n){return"#"+this.toHex8(n)},toRgb:function(){return{r:Math.round(this._r),g:Math.round(this._g),b:Math.round(this._b),a:this._a}},toRgbString:function(){return this._a==1?"rgb("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+")":"rgba("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:Math.round(X(this._r,255)*100)+"%",g:Math.round(X(this._g,255)*100)+"%",b:Math.round(X(this._b,255)*100)+"%",a:this._a}},toPercentageRgbString:function(){return this._a==1?"rgb("+Math.round(X(this._r,255)*100)+"%, "+Math.round(X(this._g,255)*100)+"%, "+Math.round(X(this._b,255)*100)+"%)":"rgba("+Math.round(X(this._r,255)*100)+"%, "+Math.round(X(this._g,255)*100)+"%, "+Math.round(X(this._b,255)*100)+"%, "+this._roundA+")"},toName:function(){return this._a===0?"transparent":this._a<1?!1:wl[sr(this._r,this._g,this._b,!0)]||!1},toFilter:function(n){var r="#"+ur(this._r,this._g,this._b,this._a),i=r,o=this._gradientType?"GradientType = 1, ":"";if(n){var a=$(n);i="#"+ur(a._r,a._g,a._b,a._a)}return"progid:DXImageTransform.Microsoft.gradient("+o+"startColorstr="+r+",endColorstr="+i+")"},toString:function(n){var r=!!n;n=n||this._format;var i=!1,o=this._a<1&&this._a>=0,a=!r&&o&&(n==="hex"||n==="hex6"||n==="hex3"||n==="hex4"||n==="hex8"||n==="name");return a?n==="name"&&this._a===0?this.toName():this.toRgbString():(n==="rgb"&&(i=this.toRgbString()),n==="prgb"&&(i=this.toPercentageRgbString()),(n==="hex"||n==="hex6")&&(i=this.toHexString()),n==="hex3"&&(i=this.toHexString(!0)),n==="hex4"&&(i=this.toHex8String(!0)),n==="hex8"&&(i=this.toHex8String()),n==="name"&&(i=this.toName()),n==="hsl"&&(i=this.toHslString()),n==="hsv"&&(i=this.toHsvString()),i||this.toHexString())},clone:function(){return $(this.toString())},_applyModification:function(n,r){var i=n.apply(null,[this].concat([].slice.call(r)));return this._r=i._r,this._g=i._g,this._b=i._b,this.setAlpha(i._a),this},lighten:function(){return this._applyModification(pl,arguments)},brighten:function(){return this._applyModification(gl,arguments)},darken:function(){return this._applyModification(yl,arguments)},desaturate:function(){return this._applyModification(cl,arguments)},saturate:function(){return this._applyModification(hl,arguments)},greyscale:function(){return this._applyModification(dl,arguments)},spin:function(){return this._applyModification(_l,arguments)},_applyCombination:function(n,r){return n.apply(null,[this].concat([].slice.call(r)))},analogous:function(){return this._applyCombination(bl,arguments)},complement:function(){return this._applyCombination(vl,arguments)},monochromatic:function(){return this._applyCombination(xl,arguments)},splitcomplement:function(){return this._applyCombination(ml,arguments)},triad:function(){return this._applyCombination(lr,[3])},tetrad:function(){return this._applyCombination(lr,[4])}};$.fromRatio=function(e,n){if(Oe(e)=="object"){var r={};for(var i in e)e.hasOwnProperty(i)&&(i==="a"?r[i]=e[i]:r[i]=ne(e[i]));e=r}return $(e,n)};function al(e){var n={r:0,g:0,b:0},r=1,i=null,o=null,a=null,s=!1,u=!1;return typeof e=="string"&&(e=Sl(e)),Oe(e)=="object"&&(wt(e.r)&&wt(e.g)&&wt(e.b)?(n=sl(e.r,e.g,e.b),s=!0,u=String(e.r).substr(-1)==="%"?"prgb":"rgb"):wt(e.h)&&wt(e.s)&&wt(e.v)?(i=ne(e.s),o=ne(e.v),n=ll(e.h,i,o),s=!0,u="hsv"):wt(e.h)&&wt(e.s)&&wt(e.l)&&(i=ne(e.s),a=ne(e.l),n=ul(e.h,i,a),s=!0,u="hsl"),e.hasOwnProperty("a")&&(r=e.a)),r=di(r),{ok:s,format:e.format||u,r:Math.min(255,Math.max(n.r,0)),g:Math.min(255,Math.max(n.g,0)),b:Math.min(255,Math.max(n.b,0)),a:r}}function sl(e,n,r){return{r:X(e,255)*255,g:X(n,255)*255,b:X(r,255)*255}}function or(e,n,r){e=X(e,255),n=X(n,255),r=X(r,255);var i=Math.max(e,n,r),o=Math.min(e,n,r),a,s,u=(i+o)/2;if(i==o)a=s=0;else{var f=i-o;switch(s=u>.5?f/(2-i-o):f/(i+o),i){case e:a=(n-r)/f+(n<r?6:0);break;case n:a=(r-e)/f+2;break;case r:a=(e-n)/f+4;break}a/=6}return{h:a,s,l:u}}function ul(e,n,r){var i,o,a;e=X(e,360),n=X(n,100),r=X(r,100);function s(l,c,h){return h<0&&(h+=1),h>1&&(h-=1),h<1/6?l+(c-l)*6*h:h<1/2?c:h<2/3?l+(c-l)*(2/3-h)*6:l}if(n===0)i=o=a=r;else{var u=r<.5?r*(1+n):r+n-r*n,f=2*r-u;i=s(f,u,e+1/3),o=s(f,u,e),a=s(f,u,e-1/3)}return{r:i*255,g:o*255,b:a*255}}function ar(e,n,r){e=X(e,255),n=X(n,255),r=X(r,255);var i=Math.max(e,n,r),o=Math.min(e,n,r),a,s,u=i,f=i-o;if(s=i===0?0:f/i,i==o)a=0;else{switch(i){case e:a=(n-r)/f+(n<r?6:0);break;case n:a=(r-e)/f+2;break;case r:a=(e-n)/f+4;break}a/=6}return{h:a,s,v:u}}function ll(e,n,r){e=X(e,360)*6,n=X(n,100),r=X(r,100);var i=Math.floor(e),o=e-i,a=r*(1-n),s=r*(1-o*n),u=r*(1-(1-o)*n),f=i%6,l=[r,s,a,a,u,r][f],c=[u,r,r,s,a,a][f],h=[a,a,u,r,r,s][f];return{r:l*255,g:c*255,b:h*255}}function sr(e,n,r,i){var o=[dt(Math.round(e).toString(16)),dt(Math.round(n).toString(16)),dt(Math.round(r).toString(16))];return i&&o[0].charAt(0)==o[0].charAt(1)&&o[1].charAt(0)==o[1].charAt(1)&&o[2].charAt(0)==o[2].charAt(1)?o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0):o.join("")}function fl(e,n,r,i,o){var a=[dt(Math.round(e).toString(16)),dt(Math.round(n).toString(16)),dt(Math.round(r).toString(16)),dt(pi(i))];return o&&a[0].charAt(0)==a[0].charAt(1)&&a[1].charAt(0)==a[1].charAt(1)&&a[2].charAt(0)==a[2].charAt(1)&&a[3].charAt(0)==a[3].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0):a.join("")}function ur(e,n,r,i){var o=[dt(pi(i)),dt(Math.round(e).toString(16)),dt(Math.round(n).toString(16)),dt(Math.round(r).toString(16))];return o.join("")}$.equals=function(e,n){return!e||!n?!1:$(e).toRgbString()==$(n).toRgbString()};$.random=function(){return $.fromRatio({r:Math.random(),g:Math.random(),b:Math.random()})};function cl(e,n){n=n===0?0:n||10;var r=$(e).toHsl();return r.s-=n/100,r.s=Fe(r.s),$(r)}function hl(e,n){n=n===0?0:n||10;var r=$(e).toHsl();return r.s+=n/100,r.s=Fe(r.s),$(r)}function dl(e){return $(e).desaturate(100)}function pl(e,n){n=n===0?0:n||10;var r=$(e).toHsl();return r.l+=n/100,r.l=Fe(r.l),$(r)}function gl(e,n){n=n===0?0:n||10;var r=$(e).toRgb();return r.r=Math.max(0,Math.min(255,r.r-Math.round(255*-(n/100)))),r.g=Math.max(0,Math.min(255,r.g-Math.round(255*-(n/100)))),r.b=Math.max(0,Math.min(255,r.b-Math.round(255*-(n/100)))),$(r)}function yl(e,n){n=n===0?0:n||10;var r=$(e).toHsl();return r.l-=n/100,r.l=Fe(r.l),$(r)}function _l(e,n){var r=$(e).toHsl(),i=(r.h+n)%360;return r.h=i<0?360+i:i,$(r)}function vl(e){var n=$(e).toHsl();return n.h=(n.h+180)%360,$(n)}function lr(e,n){if(isNaN(n)||n<=0)throw new Error("Argument to polyad must be a positive number");for(var r=$(e).toHsl(),i=[$(e)],o=360/n,a=1;a<n;a++)i.push($({h:(r.h+a*o)%360,s:r.s,l:r.l}));return i}function ml(e){var n=$(e).toHsl(),r=n.h;return[$(e),$({h:(r+72)%360,s:n.s,l:n.l}),$({h:(r+216)%360,s:n.s,l:n.l})]}function bl(e,n,r){n=n||6,r=r||30;var i=$(e).toHsl(),o=360/r,a=[$(e)];for(i.h=(i.h-(o*n>>1)+720)%360;--n;)i.h=(i.h+o)%360,a.push($(i));return a}function xl(e,n){n=n||6;for(var r=$(e).toHsv(),i=r.h,o=r.s,a=r.v,s=[],u=1/n;n--;)s.push($({h:i,s:o,v:a})),a=(a+u)%1;return s}$.mix=function(e,n,r){r=r===0?0:r||50;var i=$(e).toRgb(),o=$(n).toRgb(),a=r/100,s={r:(o.r-i.r)*a+i.r,g:(o.g-i.g)*a+i.g,b:(o.b-i.b)*a+i.b,a:(o.a-i.a)*a+i.a};return $(s)};$.readability=function(e,n){var r=$(e),i=$(n);return(Math.max(r.getLuminance(),i.getLuminance())+.05)/(Math.min(r.getLuminance(),i.getLuminance())+.05)};$.isReadable=function(e,n,r){var i=$.readability(e,n),o,a;switch(a=!1,o=Ml(r),o.level+o.size){case"AAsmall":case"AAAlarge":a=i>=4.5;break;case"AAlarge":a=i>=3;break;case"AAAsmall":a=i>=7;break}return a};$.mostReadable=function(e,n,r){var i=null,o=0,a,s,u,f;r=r||{},s=r.includeFallbackColors,u=r.level,f=r.size;for(var l=0;l<n.length;l++)a=$.readability(e,n[l]),a>o&&(o=a,i=$(n[l]));return $.isReadable(e,i,{level:u,size:f})||!s?i:(r.includeFallbackColors=!1,$.mostReadable(e,["#fff","#000"],r))};var fn=$.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},wl=$.hexNames=kl(fn);function kl(e){var n={};for(var r in e)e.hasOwnProperty(r)&&(n[e[r]]=r);return n}function di(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function X(e,n){Cl(e)&&(e="100%");var r=Al(e);return e=Math.min(n,Math.max(0,parseFloat(e))),r&&(e=parseInt(e*n,10)/100),Math.abs(e-n)<1e-6?1:e%n/parseFloat(n)}function Fe(e){return Math.min(1,Math.max(0,e))}function at(e){return parseInt(e,16)}function Cl(e){return typeof e=="string"&&e.indexOf(".")!=-1&&parseFloat(e)===1}function Al(e){return typeof e=="string"&&e.indexOf("%")!=-1}function dt(e){return e.length==1?"0"+e:""+e}function ne(e){return e<=1&&(e=e*100+"%"),e}function pi(e){return Math.round(parseFloat(e)*255).toString(16)}function fr(e){return at(e)/255}var ht=(function(){var e="[-\\+]?\\d+%?",n="[-\\+]?\\d*\\.\\d+%?",r="(?:"+n+")|(?:"+e+")",i="[\\s|\\(]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")\\s*\\)?",o="[\\s|\\(]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")\\s*\\)?";return{CSS_UNIT:new RegExp(r),rgb:new RegExp("rgb"+i),rgba:new RegExp("rgba"+o),hsl:new RegExp("hsl"+i),hsla:new RegExp("hsla"+o),hsv:new RegExp("hsv"+i),hsva:new RegExp("hsva"+o),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}})();function wt(e){return!!ht.CSS_UNIT.exec(e)}function Sl(e){e=e.replace(il,"").replace(ol,"").toLowerCase();var n=!1;if(fn[e])e=fn[e],n=!0;else if(e=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var r;return(r=ht.rgb.exec(e))?{r:r[1],g:r[2],b:r[3]}:(r=ht.rgba.exec(e))?{r:r[1],g:r[2],b:r[3],a:r[4]}:(r=ht.hsl.exec(e))?{h:r[1],s:r[2],l:r[3]}:(r=ht.hsla.exec(e))?{h:r[1],s:r[2],l:r[3],a:r[4]}:(r=ht.hsv.exec(e))?{h:r[1],s:r[2],v:r[3]}:(r=ht.hsva.exec(e))?{h:r[1],s:r[2],v:r[3],a:r[4]}:(r=ht.hex8.exec(e))?{r:at(r[1]),g:at(r[2]),b:at(r[3]),a:fr(r[4]),format:n?"name":"hex8"}:(r=ht.hex6.exec(e))?{r:at(r[1]),g:at(r[2]),b:at(r[3]),format:n?"name":"hex"}:(r=ht.hex4.exec(e))?{r:at(r[1]+""+r[1]),g:at(r[2]+""+r[2]),b:at(r[3]+""+r[3]),a:fr(r[4]+""+r[4]),format:n?"name":"hex8"}:(r=ht.hex3.exec(e))?{r:at(r[1]+""+r[1]),g:at(r[2]+""+r[2]),b:at(r[3]+""+r[3]),format:n?"name":"hex"}:!1}function Ml(e){var n,r;return e=e||{level:"AA",size:"small"},n=(e.level||"AA").toUpperCase(),r=(e.size||"small").toLowerCase(),n!=="AA"&&n!=="AAA"&&(n="AA"),r!=="small"&&r!=="large"&&(r="small"),{level:n,size:r}}function cn(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=Array(n);r<n;r++)i[r]=e[r];return i}function Tl(e){if(Array.isArray(e))return cn(e)}function gi(e,n,r){if(typeof e=="function"?e===n:e.has(n))return arguments.length<3?n:r;throw new TypeError("Private element is not present on this object")}function Pl(e,n){if(n.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Ol(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function ut(e,n){return e.get(gi(e,n))}function cr(e,n,r){Pl(e,n),n.set(e,r)}function hr(e,n,r){return e.set(gi(e,n),r),r}function El(e,n){for(var r=0;r<n.length;r++){var i=n[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,jl(i.key),i)}}function zl(e,n,r){return n&&El(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function Rl(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Dl(){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 Il(e){return Tl(e)||Rl(e)||$l(e)||Dl()}function Nl(e,n){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n);if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function jl(e){var n=Nl(e,"string");return typeof n=="symbol"?n:n+""}function $l(e,n){if(e){if(typeof e=="string")return cn(e,n);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?cn(e,n):void 0}}var Fl=123,Ll=function(n){return"#".concat(Math.min(n,Math.pow(2,24)).toString(16).padStart(6,"0"))},yi=function(n,r,i){return(n<<16)+(r<<8)+i},Ul=function(n){var r=$(n).toRgb(),i=r.r,o=r.g,a=r.b;return yi(i,o,a)},dr=function(n,r){return n*Fl%Math.pow(2,r)},Dt=new WeakMap,kt=new WeakMap,Hl=(function(){function e(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:6;Ol(this,e),cr(this,Dt,void 0),cr(this,kt,void 0),hr(kt,this,n),this.reset()}return zl(e,[{key:"reset",value:function(){hr(Dt,this,["__reserved for background__"])}},{key:"register",value:function(r){if(ut(Dt,this).length>=Math.pow(2,24-ut(kt,this)))return null;var i=ut(Dt,this).length,o=dr(i,ut(kt,this)),a=Ll(i+(o<<24-ut(kt,this)));return ut(Dt,this).push(r),a}},{key:"lookup",value:function(r){if(!r)return null;var i=typeof r=="string"?Ul(r):yi.apply(void 0,Il(r));if(!i)return null;var o=i&Math.pow(2,24-ut(kt,this))-1,a=i>>24-ut(kt,this)&Math.pow(2,ut(kt,this))-1;return dr(o,ut(kt,this))!==a||o>=ut(Dt,this).length?null:ut(Dt,this)[o]}}])})(),he,Y,_i,vi,zt,pr,mi,bi,Ve,we,re,xi,Sn,hn,dn,Ee={},ze=[],ql=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,Le=Array.isArray;function _t(e,n){for(var r in n)e[r]=n[r];return e}function Mn(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function Gl(e,n,r){var i,o,a,s={};for(a in n)a=="key"?i=n[a]:a=="ref"?o=n[a]:s[a]=n[a];if(arguments.length>2&&(s.children=arguments.length>3?he.call(arguments,2):r),typeof e=="function"&&e.defaultProps!=null)for(a in e.defaultProps)s[a]===void 0&&(s[a]=e.defaultProps[a]);return ie(e,s,i,o,null)}function ie(e,n,r,i,o){var a={type:e,props:n,key:r,ref:i,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:o??++_i,__i:-1,__u:0};return o==null&&Y.vnode!=null&&Y.vnode(a),a}function Ue(e){return e.children}function ke(e,n){this.props=e,this.context=n}function Gt(e,n){if(n==null)return e.__?Gt(e.__,e.__i+1):null;for(var r;n<e.__k.length;n++)if((r=e.__k[n])!=null&&r.__e!=null)return r.__e;return typeof e.type=="function"?Gt(e):null}function Wl(e){if(e.__P&&e.__d){var n=e.__v,r=n.__e,i=[],o=[],a=_t({},n);a.__v=n.__v+1,Y.vnode&&Y.vnode(a),Tn(e.__P,a,n,e.__n,e.__P.namespaceURI,32&n.__u?[r]:null,i,r??Gt(n),!!(32&n.__u),o),a.__v=n.__v,a.__.__k[a.__i]=a,Si(i,a,o),n.__e=n.__=null,a.__e!=r&&wi(a)}}function wi(e){if((e=e.__)!=null&&e.__c!=null)return e.__e=e.__c.base=null,e.__k.some(function(n){if(n!=null&&n.__e!=null)return e.__e=e.__c.base=n.__e}),wi(e)}function gr(e){(!e.__d&&(e.__d=!0)&&zt.push(e)&&!Re.__r++||pr!=Y.debounceRendering)&&((pr=Y.debounceRendering)||mi)(Re)}function Re(){try{for(var e,n=1;zt.length;)zt.length>n&&zt.sort(bi),e=zt.shift(),n=zt.length,Wl(e)}finally{zt.length=Re.__r=0}}function ki(e,n,r,i,o,a,s,u,f,l,c){var h,d,p,y,_,v,g,k=i&&i.__k||ze,S=n.length;for(f=Vl(r,n,k,f,S),h=0;h<S;h++)(p=r.__k[h])!=null&&(d=p.__i!=-1&&k[p.__i]||Ee,p.__i=h,v=Tn(e,p,d,o,a,s,u,f,l,c),y=p.__e,p.ref&&d.ref!=p.ref&&(d.ref&&Pn(d.ref,null,p),c.push(p.ref,p.__c||y,p)),_==null&&y!=null&&(_=y),(g=!!(4&p.__u))||d.__k===p.__k?(f=Ci(p,f,e,g),g&&d.__e&&(d.__e=null)):typeof p.type=="function"&&v!==void 0?f=v:y&&(f=y.nextSibling),p.__u&=-7);return r.__e=_,f}function Vl(e,n,r,i,o){var a,s,u,f,l,c=r.length,h=c,d=0;for(e.__k=new Array(o),a=0;a<o;a++)(s=n[a])!=null&&typeof s!="boolean"&&typeof s!="function"?(typeof s=="string"||typeof s=="number"||typeof s=="bigint"||s.constructor==String?s=e.__k[a]=ie(null,s,null,null,null):Le(s)?s=e.__k[a]=ie(Ue,{children:s},null,null,null):s.constructor===void 0&&s.__b>0?s=e.__k[a]=ie(s.type,s.props,s.key,s.ref?s.ref:null,s.__v):e.__k[a]=s,f=a+d,s.__=e,s.__b=e.__b+1,u=null,(l=s.__i=Bl(s,r,f,h))!=-1&&(h--,(u=r[l])&&(u.__u|=2)),u==null||u.__v==null?(l==-1&&(o>c?d--:o<c&&d++),typeof s.type!="function"&&(s.__u|=4)):l!=f&&(l==f-1?d--:l==f+1?d++:(l>f?d--:d++,s.__u|=4))):e.__k[a]=null;if(h)for(a=0;a<c;a++)(u=r[a])!=null&&(2&u.__u)==0&&(u.__e==i&&(i=Gt(u)),Ti(u,u));return i}function Ci(e,n,r,i){var o,a;if(typeof e.type=="function"){for(o=e.__k,a=0;o&&a<o.length;a++)o[a]&&(o[a].__=e,n=Ci(o[a],n,r,i));return n}e.__e!=n&&(i&&(n&&e.type&&!n.parentNode&&(n=Gt(e)),r.insertBefore(e.__e,n||null)),n=e.__e);do n=n&&n.nextSibling;while(n!=null&&n.nodeType==8);return n}function Bl(e,n,r,i){var o,a,s,u=e.key,f=e.type,l=n[r],c=l!=null&&(2&l.__u)==0;if(l===null&&u==null||c&&u==l.key&&f==l.type)return r;if(i>(c?1:0)){for(o=r-1,a=r+1;o>=0||a<n.length;)if((l=n[s=o>=0?o--:a++])!=null&&(2&l.__u)==0&&u==l.key&&f==l.type)return s}return-1}function yr(e,n,r){n[0]=="-"?e.setProperty(n,r??""):e[n]=r==null?"":typeof r!="number"||ql.test(n)?r:r+"px"}function ye(e,n,r,i,o){var a,s;t:if(n=="style")if(typeof r=="string")e.style.cssText=r;else{if(typeof i=="string"&&(e.style.cssText=i=""),i)for(n in i)r&&n in r||yr(e.style,n,"");if(r)for(n in r)i&&r[n]==i[n]||yr(e.style,n,r[n])}else if(n[0]=="o"&&n[1]=="n")a=n!=(n=n.replace(xi,"$1")),s=n.toLowerCase(),n=s in e||n=="onFocusOut"||n=="onFocusIn"?s.slice(2):n.slice(2),e.l||(e.l={}),e.l[n+a]=r,r?i?r[re]=i[re]:(r[re]=Sn,e.addEventListener(n,a?dn:hn,a)):e.removeEventListener(n,a?dn:hn,a);else{if(o=="http://www.w3.org/2000/svg")n=n.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(n!="width"&&n!="height"&&n!="href"&&n!="list"&&n!="form"&&n!="tabIndex"&&n!="download"&&n!="rowSpan"&&n!="colSpan"&&n!="role"&&n!="popover"&&n in e)try{e[n]=r??"";break t}catch{}typeof r=="function"||(r==null||r===!1&&n[4]!="-"?e.removeAttribute(n):e.setAttribute(n,n=="popover"&&r==1?"":r))}}function _r(e){return function(n){if(this.l){var r=this.l[n.type+e];if(n[we]==null)n[we]=Sn++;else if(n[we]<r[re])return;return r(Y.event?Y.event(n):n)}}}function Tn(e,n,r,i,o,a,s,u,f,l){var c,h,d,p,y,_,v,g,k,S,x,m,C,A,T,N,E=n.type;if(n.constructor!==void 0)return null;128&r.__u&&(f=!!(32&r.__u),a=[u=n.__e=r.__e]),(c=Y.__b)&&c(n);t:if(typeof E=="function"){h=s.length;try{if(k=n.props,S=E.prototype&&E.prototype.render,x=(c=E.contextType)&&i[c.__c],m=c?x?x.props.value:c.__:i,r.__c?g=(d=n.__c=r.__c).__=d.__E:(S?n.__c=d=new E(k,m):(n.__c=d=new ke(k,m),d.constructor=E,d.render=Yl),x&&x.sub(d),d.state||(d.state={}),d.__n=i,p=d.__d=!0,d.__h=[],d._sb=[]),S&&d.__s==null&&(d.__s=d.state),S&&E.getDerivedStateFromProps!=null&&(d.__s==d.state&&(d.__s=_t({},d.__s)),_t(d.__s,E.getDerivedStateFromProps(k,d.__s))),y=d.props,_=d.state,d.__v=n,p)S&&E.getDerivedStateFromProps==null&&d.componentWillMount!=null&&d.componentWillMount(),S&&d.componentDidMount!=null&&d.__h.push(d.componentDidMount);else{if(S&&E.getDerivedStateFromProps==null&&k!==y&&d.componentWillReceiveProps!=null&&d.componentWillReceiveProps(k,m),n.__v==r.__v||!d.__e&&d.shouldComponentUpdate!=null&&d.shouldComponentUpdate(k,d.__s,m)===!1){n.__v!=r.__v&&(d.props=k,d.state=d.__s,d.__d=!1),n.__e=r.__e,n.__k=r.__k,n.__k.some(function(I){I&&(I.__=n)}),ze.push.apply(d.__h,d._sb),d._sb=[],d.__h.length&&s.push(d);break t}d.componentWillUpdate!=null&&d.componentWillUpdate(k,d.__s,m),S&&d.componentDidUpdate!=null&&d.__h.push(function(){d.componentDidUpdate(y,_,v)})}if(d.context=m,d.props=k,d.__P=e,d.__e=!1,C=Y.__r,A=0,S)d.state=d.__s,d.__d=!1,C&&C(n),c=d.render(d.props,d.state,d.context),ze.push.apply(d.__h,d._sb),d._sb=[];else do d.__d=!1,C&&C(n),c=d.render(d.props,d.state,d.context),d.state=d.__s;while(d.__d&&++A<25);d.state=d.__s,d.getChildContext!=null&&(i=_t(_t({},i),d.getChildContext())),S&&!p&&d.getSnapshotBeforeUpdate!=null&&(v=d.getSnapshotBeforeUpdate(y,_)),T=c!=null&&c.type===Ue&&c.key==null?Mi(c.props.children):c,u=ki(e,Le(T)?T:[T],n,r,i,o,a,s,u,f,l),d.base=n.__e,n.__u&=-161,d.__h.length&&s.push(d),g&&(d.__E=d.__=null)}catch(I){if(s.length=h,n.__v=null,f||a!=null){if(I.then){for(n.__u|=f?160:128;u&&u.nodeType==8&&u.nextSibling;)u=u.nextSibling;a!=null&&(a[a.indexOf(u)]=null),n.__e=u}else if(a!=null)for(N=a.length;N--;)Mn(a[N])}else n.__e=r.__e;n.__k==null&&(n.__k=r.__k||[]),I.then||Ai(n),Y.__e(I,n,r)}}else a==null&&n.__v==r.__v?(n.__k=r.__k,n.__e=r.__e):u=n.__e=Xl(r.__e,n,r,i,o,a,s,f,l);return(c=Y.diffed)&&c(n),128&n.__u?void 0:u}function Ai(e){e&&(e.__c&&(e.__c.__e=!0),e.__k&&e.__k.some(Ai))}function Si(e,n,r){for(var i=0;i<r.length;i++)Pn(r[i],r[++i],r[++i]);Y.__c&&Y.__c(n,e),e.some(function(o){try{e=o.__h,o.__h=[],e.some(function(a){a.call(o)})}catch(a){Y.__e(a,o.__v)}})}function Mi(e){return typeof e!="object"||e==null||e.__b>0?e:Le(e)?e.map(Mi):e.constructor!==void 0?null:_t({},e)}function Xl(e,n,r,i,o,a,s,u,f){var l,c,h,d,p,y,_,v=r.props||Ee,g=n.props,k=n.type;if(k=="svg"?o="http://www.w3.org/2000/svg":k=="math"?o="http://www.w3.org/1998/Math/MathML":o||(o="http://www.w3.org/1999/xhtml"),a!=null){for(l=0;l<a.length;l++)if((p=a[l])&&"setAttribute"in p==!!k&&(k?p.localName==k:p.nodeType==3)){e=p,a[l]=null;break}}if(e==null){if(k==null)return document.createTextNode(g);e=document.createElementNS(o,k,g.is&&g),u&&(Y.__m&&Y.__m(n,a),u=!1),a=null}if(k==null)v===g||u&&e.data==g||(e.data=g);else{if(a=k=="textarea"&&g.defaultValue!=null?null:a&&he.call(e.childNodes),!u&&a!=null)for(v={},l=0;l<e.attributes.length;l++)v[(p=e.attributes[l]).name]=p.value;for(l in v)p=v[l],l=="dangerouslySetInnerHTML"?h=p:l=="children"||l in g||l=="value"&&"defaultValue"in g||l=="checked"&&"defaultChecked"in g||ye(e,l,null,p,o);for(l in g)p=g[l],l=="children"?d=p:l=="dangerouslySetInnerHTML"?c=p:l=="value"?y=p:l=="checked"?_=p:u&&typeof p!="function"||v[l]===p||ye(e,l,p,v[l],o);if(c)u||h&&(c.__html==h.__html||c.__html==e.innerHTML)||(e.innerHTML=c.__html),n.__k=[];else if(h&&(e.innerHTML=""),ki(n.type=="template"?e.content:e,Le(d)?d:[d],n,r,i,k=="foreignObject"?"http://www.w3.org/1999/xhtml":o,a,s,a?a[0]:r.__k&&Gt(r,0),u,f),a!=null)for(l=a.length;l--;)Mn(a[l]);u&&k!="textarea"||(l="value",k=="progress"&&y==null?e.removeAttribute("value"):y!=null&&(y!==e[l]||k=="progress"&&!y||k=="option"&&y!=v[l])&&ye(e,l,y,v[l],o),l="checked",_!=null&&_!=e[l]&&ye(e,l,_,v[l],o))}return e}function Pn(e,n,r){try{if(typeof e=="function"){var i=typeof e.__u=="function";i&&e.__u(),i&&n==null||(e.__u=e(n))}else e.current=n}catch(o){Y.__e(o,r)}}function Ti(e,n,r){var i,o;if(Y.unmount&&Y.unmount(e),(i=e.ref)&&(i.current&&i.current!=e.__e||Pn(i,null,n)),(i=e.__c)!=null){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(a){Y.__e(a,n)}i.base=i.__P=i.__n=null}if(i=e.__k)for(o=0;o<i.length;o++)i[o]&&Ti(i[o],n,r||typeof e.type!="function");r||Mn(e.__e),e.__c=e.__=e.__e=void 0}function Yl(e,n,r){return this.constructor(e,r)}function Zl(e,n,r){var i,o,a,s;n==document&&(n=document.documentElement),Y.__&&Y.__(e,n),o=(i=!1)?null:n.__k,a=[],s=[],Tn(n,e=n.__k=Gl(Ue,null,[e]),o||Ee,Ee,n.namespaceURI,o?null:n.firstChild?he.call(n.childNodes):null,a,o?o.__e:n.firstChild,i,s),Si(a,e,s),e.props.children=null}function Pi(e,n,r){var i,o,a,s,u=_t({},e.props);for(a in e.type&&e.type.defaultProps&&(s=e.type.defaultProps),n)a=="key"?i=n[a]:a=="ref"?o=n[a]:u[a]=n[a]===void 0&&s!=null?s[a]:n[a];return arguments.length>2&&(u.children=arguments.length>3?he.call(arguments,2):r),ie(e.type,u,i||e.key,o||e.ref,null)}he=ze.slice,Y={__e:function(e,n,r,i){for(var o,a,s;n=n.__;)if((o=n.__c)&&!o.__)try{if((a=o.constructor)&&a.getDerivedStateFromError!=null&&(o.setState(a.getDerivedStateFromError(e)),s=o.__d),o.componentDidCatch!=null&&(o.componentDidCatch(e,i||{}),s=o.__d),s)return o.__E=o}catch(u){e=u}throw e}},_i=0,vi=function(e){return e!=null&&e.constructor===void 0},ke.prototype.setState=function(e,n){var r;r=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=_t({},this.state),typeof e=="function"&&(e=e(_t({},r),this.props)),e&&_t(r,e),e!=null&&this.__v&&(n&&this._sb.push(n),gr(this))},ke.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),gr(this))},ke.prototype.render=Ue,zt=[],mi=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,bi=function(e,n){return e.__v.__b-n.__v.__b},Re.__r=0,Ve=Math.random().toString(8),we="__d"+Ve,re="__a"+Ve,xi=/(PointerCapture)$|Capture$/i,Sn=0,hn=_r(!1),dn=_r(!0);function vr(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=Array(n);r<n;r++)i[r]=e[r];return i}function Kl(e){if(Array.isArray(e))return e}function Ql(e,n,r){return(n=of(n))in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function Jl(e,n){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var i,o,a,s,u=[],f=!0,l=!1;try{if(a=(r=r.call(e)).next,n!==0)for(;!(f=(i=a.call(r)).done)&&(u.push(i.value),u.length!==n);f=!0);}catch(c){l=!0,o=c}finally{try{if(!f&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(l)throw o}}return u}}function tf(){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 mr(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,i)}return r}function ef(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?mr(Object(r),!0).forEach(function(i){Ql(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):mr(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function nf(e,n){return Kl(e)||Jl(e,n)||af(e,n)||tf()}function rf(e,n){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n);if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}function of(e){var n=rf(e,"string");return typeof n=="symbol"?n:n+""}function De(e){"@babel/helpers - typeof";return De=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},De(e)}function af(e,n){if(e){if(typeof e=="string")return vr(e,n);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?vr(e,n):void 0}}var pn=function(n){if(De(n)!=="object")return n;var r=Pi(n);if(r.props){var i;r.props=ef({},r.props),r!=null&&(i=r.props)!==null&&i!==void 0&&i.children&&(r.props.children=Array.isArray(r.props.children)?r.props.children.map(pn):pn(r.props.children))}return r},sf=function(n){return vi(Pi(n))},uf=function(n,r){delete r.__k,Zl(pn(n),r)};function lf(e,n){n===void 0&&(n={});var r=n.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=e:o.appendChild(document.createTextNode(e))}}var ff=`.float-tooltip-kap {
position: absolute;
width: max-content; /* prevent shrinking near right edge */
max-width: max(50%, 150px);
padding: 3px 5px;
border-radius: 3px;
font: 12px sans-serif;
color: #eee;
background: rgba(0,0,0,0.6);
pointer-events: none;
}
`;lf(ff);var cf=An({props:{content:{default:!1},offsetX:{triggerUpdate:!1},offsetY:{triggerUpdate:!1}},init:function(n,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=i.style,a=o===void 0?{}:o,s=!!n&&De(n)==="object"&&!!n.node&&typeof n.node=="function",u=ft(s?n.node():n);u.style("position")==="static"&&u.style("position","relative"),r.tooltipEl=u.append("div").attr("class","float-tooltip-kap"),Object.entries(a).forEach(function(l){var c=nf(l,2),h=c[0],d=c[1];return r.tooltipEl.style(h,d)}),r.tooltipEl.style("left","-10000px").style("display","none");var f="tooltip-".concat(Math.round(Math.random()*1e12));r.mouseInside=!1,u.on("mousemove.".concat(f),function(l){r.mouseInside=!0;var c=yt(l),h=u.node(),d=h.offsetWidth,p=h.offsetHeight,y=[r.offsetX===null||r.offsetX===void 0?"-".concat(c[0]/d*100,"%"):typeof r.offsetX=="number"?"calc(-50% + ".concat(r.offsetX,"px)"):r.offsetX,r.offsetY===null||r.offsetY===void 0?p>130&&p-c[1]<100?"calc(-100% - 6px)":"21px":typeof r.offsetY=="number"?r.offsetY<0?"calc(-100% - ".concat(Math.abs(r.offsetY),"px)"):"".concat(r.offsetY,"px"):r.offsetY];r.tooltipEl.style("left",c[0]+"px").style("top",c[1]+"px").style("transform","translate(".concat(y.join(","),")")),r.content&&r.tooltipEl.style("display","inline")}),u.on("mouseover.".concat(f),function(){r.mouseInside=!0,r.content&&r.tooltipEl.style("display","inline")}),u.on("mouseout.".concat(f),function(){r.mouseInside=!1,r.tooltipEl.style("display","none")})},update:function(n){n.tooltipEl.style("display",n.content&&n.mouseInside?"inline":"none"),n.content?n.content instanceof HTMLElement?(n.tooltipEl.text(""),n.tooltipEl.append(function(){return n.content})):typeof n.content=="string"?n.tooltipEl.html(n.content):sf(n.content)?(n.tooltipEl.text(""),uf(n.content,n.tooltipEl.node())):(n.tooltipEl.style("display","none"),console.warn("Tooltip content is invalid, skipping.",n.content,n.content.toString())):n.tooltipEl.text("")}});function hf(e,n,r){var i,o=1;e==null&&(e=0),n==null&&(n=0),r==null&&(r=0);function a(){var s,u=i.length,f,l=0,c=0,h=0;for(s=0;s<u;++s)f=i[s],l+=f.x||0,c+=f.y||0,h+=f.z||0;for(l=(l/u-e)*o,c=(c/u-n)*o,h=(h/u-r)*o,s=0;s<u;++s)f=i[s],l&&(f.x-=l),c&&(f.y-=c),h&&(f.z-=h)}return a.initialize=function(s){i=s},a.x=function(s){return arguments.length?(e=+s,a):e},a.y=function(s){return arguments.length?(n=+s,a):n},a.z=function(s){return arguments.length?(r=+s,a):r},a.strength=function(s){return arguments.length?(o=+s,a):o},a}function df(e){const n=+this._x.call(null,e);return Oi(this.cover(n),n,e)}function Oi(e,n,r){if(isNaN(n))return e;var i,o=e._root,a={data:r},s=e._x0,u=e._x1,f,l,c,h,d;if(!o)return e._root=a,e;for(;o.length;)if((c=n>=(f=(s+u)/2))?s=f:u=f,i=o,!(o=o[h=+c]))return i[h]=a,e;if(l=+e._x.call(null,o.data),n===l)return a.next=o,i?i[h]=a:e._root=a,e;do i=i?i[h]=new Array(2):e._root=new Array(2),(c=n>=(f=(s+u)/2))?s=f:u=f;while((h=+c)==(d=+(l>=f)));return i[d]=o,i[h]=a,e}function pf(e){Array.isArray(e)||(e=Array.from(e));const n=e.length,r=new Float64Array(n);let i=1/0,o=-1/0;for(let a=0,s;a<n;++a)isNaN(s=+this._x.call(null,e[a]))||(r[a]=s,s<i&&(i=s),s>o&&(o=s));if(i>o)return this;this.cover(i).cover(o);for(let a=0;a<n;++a)Oi(this,r[a],e[a]);return this}function gf(e){if(isNaN(e=+e))return this;var n=this._x0,r=this._x1;if(isNaN(n))r=(n=Math.floor(e))+1;else{for(var i=r-n||1,o=this._root,a,s;n>e||e>=r;)switch(s=+(e<n),a=new Array(2),a[s]=o,o=a,i*=2,s){case 0:r=n+i;break;case 1:n=r-i;break}this._root&&this._root.length&&(this._root=o)}return this._x0=n,this._x1=r,this}function yf(){var e=[];return this.visit(function(n){if(!n.length)do e.push(n.data);while(n=n.next)}),e}function _f(e){return arguments.length?this.cover(+e[0][0]).cover(+e[1][0]):isNaN(this._x0)?void 0:[[this._x0],[this._x1]]}function Tt(e,n,r){this.node=e,this.x0=n,this.x1=r}function vf(e,n){var r,i=this._x0,o,a,s=this._x1,u=[],f=this._root,l,c;for(f&&u.push(new Tt(f,i,s)),n==null?n=1/0:(i=e-n,s=e+n);l=u.pop();)if(!(!(f=l.node)||(o=l.x0)>s||(a=l.x1)<i))if(f.length){var h=(o+a)/2;u.push(new Tt(f[1],h,a),new Tt(f[0],o,h)),(c=+(e>=h))&&(l=u[u.length-1],u[u.length-1]=u[u.length-1-c],u[u.length-1-c]=l)}else{var d=Math.abs(e-+this._x.call(null,f.data));d<n&&(n=d,i=e-d,s=e+d,r=f.data)}return r}function mf(e){if(isNaN(f=+this._x.call(null,e)))return this;var n,r=this._root,i,o,a,s=this._x0,u=this._x1,f,l,c,h,d;if(!r)return this;if(r.length)for(;;){if((c=f>=(l=(s+u)/2))?s=l:u=l,n=r,!(r=r[h=+c]))return this;if(!r.length)break;n[h+1&1]&&(i=n,d=h)}for(;r.data!==e;)if(o=r,!(r=r.next))return this;return(a=r.next)&&delete r.next,o?(a?o.next=a:delete o.next,this):n?(a?n[h]=a:delete n[h],(r=n[0]||n[1])&&r===(n[1]||n[0])&&!r.length&&(i?i[d]=r:this._root=r),this):(this._root=a,this)}function bf(e){for(var n=0,r=e.length;n<r;++n)this.remove(e[n]);return this}function xf(){return this._root}function wf(){var e=0;return this.visit(function(n){if(!n.length)do++e;while(n=n.next)}),e}function kf(e){var n=[],r,i=this._root,o,a,s;for(i&&n.push(new Tt(i,this._x0,this._x1));r=n.pop();)if(!e(i=r.node,a=r.x0,s=r.x1)&&i.length){var u=(a+s)/2;(o=i[1])&&n.push(new Tt(o,u,s)),(o=i[0])&&n.push(new Tt(o,a,u))}return this}function Cf(e){var n=[],r=[],i;for(this._root&&n.push(new Tt(this._root,this._x0,this._x1));i=n.pop();){var o=i.node;if(o.length){var a,s=i.x0,u=i.x1,f=(s+u)/2;(a=o[0])&&n.push(new Tt(a,s,f)),(a=o[1])&&n.push(new Tt(a,f,u))}r.push(i)}for(;i=r.pop();)e(i.node,i.x0,i.x1);return this}function Af(e){return e[0]}function Sf(e){return arguments.length?(this._x=e,this):this._x}function Ei(e,n){var r=new On(n??Af,NaN,NaN);return e==null?r:r.addAll(e)}function On(e,n,r){this._x=e,this._x0=n,this._x1=r,this._root=void 0}function br(e){for(var n={data:e.data},r=n;e=e.next;)r=r.next={data:e.data};return n}var it=Ei.prototype=On.prototype;it.copy=function(){var e=new On(this._x,this._x0,this._x1),n=this._root,r,i;if(!n)return e;if(!n.length)return e._root=br(n),e;for(r=[{source:n,target:e._root=new Array(2)}];n=r.pop();)for(var o=0;o<2;++o)(i=n.source[o])&&(i.length?r.push({source:i,target:n.target[o]=new Array(2)}):n.target[o]=br(i));return e};it.add=df;it.addAll=pf;it.cover=gf;it.data=yf;it.extent=_f;it.find=vf;it.remove=mf;it.removeAll=bf;it.root=xf;it.size=wf;it.visit=kf;it.visitAfter=Cf;it.x=Sf;function Mf(e){const n=+this._x.call(null,e),r=+this._y.call(null,e);return zi(this.cover(n,r),n,r,e)}function zi(e,n,r,i){if(isNaN(n)||isNaN(r))return e;var o,a=e._root,s={data:i},u=e._x0,f=e._y0,l=e._x1,c=e._y1,h,d,p,y,_,v,g,k;if(!a)return e._root=s,e;for(;a.length;)if((_=n>=(h=(u+l)/2))?u=h:l=h,(v=r>=(d=(f+c)/2))?f=d:c=d,o=a,!(a=a[g=v<<1|_]))return o[g]=s,e;if(p=+e._x.call(null,a.data),y=+e._y.call(null,a.data),n===p&&r===y)return s.next=a,o?o[g]=s:e._root=s,e;do o=o?o[g]=new Array(4):e._root=new Array(4),(_=n>=(h=(u+l)/2))?u=h:l=h,(v=r>=(d=(f+c)/2))?f=d:c=d;while((g=v<<1|_)===(k=(y>=d)<<1|p>=h));return o[k]=a,o[g]=s,e}function Tf(e){var n,r,i=e.length,o,a,s=new Array(i),u=new Array(i),f=1/0,l=1/0,c=-1/0,h=-1/0;for(r=0;r<i;++r)isNaN(o=+this._x.call(null,n=e[r]))||isNaN(a=+this._y.call(null,n))||(s[r]=o,u[r]=a,o<f&&(f=o),o>c&&(c=o),a<l&&(l=a),a>h&&(h=a));if(f>c||l>h)return this;for(this.cover(f,l).cover(c,h),r=0;r<i;++r)zi(this,s[r],u[r],e[r]);return this}function Pf(e,n){if(isNaN(e=+e)||isNaN(n=+n))return this;var r=this._x0,i=this._y0,o=this._x1,a=this._y1;if(isNaN(r))o=(r=Math.floor(e))+1,a=(i=Math.floor(n))+1;else{for(var s=o-r||1,u=this._root,f,l;r>e||e>=o||i>n||n>=a;)switch(l=(n<i)<<1|e<r,f=new Array(4),f[l]=u,u=f,s*=2,l){case 0:o=r+s,a=i+s;break;case 1:r=o-s,a=i+s;break;case 2:o=r+s,i=a-s;break;case 3:r=o-s,i=a-s;break}this._root&&this._root.length&&(this._root=u)}return this._x0=r,this._y0=i,this._x1=o,this._y1=a,this}function Of(){var e=[];return this.visit(function(n){if(!n.length)do e.push(n.data);while(n=n.next)}),e}function Ef(e){return arguments.length?this.cover(+e[0][0],+e[0][1]).cover(+e[1][0],+e[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}function nt(e,n,r,i,o){this.node=e,this.x0=n,this.y0=r,this.x1=i,this.y1=o}function zf(e,n,r){var i,o=this._x0,a=this._y0,s,u,f,l,c=this._x1,h=this._y1,d=[],p=this._root,y,_;for(p&&d.push(new nt(p,o,a,c,h)),r==null?r=1/0:(o=e-r,a=n-r,c=e+r,h=n+r,r*=r);y=d.pop();)if(!(!(p=y.node)||(s=y.x0)>c||(u=y.y0)>h||(f=y.x1)<o||(l=y.y1)<a))if(p.length){var v=(s+f)/2,g=(u+l)/2;d.push(new nt(p[3],v,g,f,l),new nt(p[2],s,g,v,l),new nt(p[1],v,u,f,g),new nt(p[0],s,u,v,g)),(_=(n>=g)<<1|e>=v)&&(y=d[d.length-1],d[d.length-1]=d[d.length-1-_],d[d.length-1-_]=y)}else{var k=e-+this._x.call(null,p.data),S=n-+this._y.call(null,p.data),x=k*k+S*S;if(x<r){var m=Math.sqrt(r=x);o=e-m,a=n-m,c=e+m,h=n+m,i=p.data}}return i}function Rf(e){if(isNaN(c=+this._x.call(null,e))||isNaN(h=+this._y.call(null,e)))return this;var n,r=this._root,i,o,a,s=this._x0,u=this._y0,f=this._x1,l=this._y1,c,h,d,p,y,_,v,g;if(!r)return this;if(r.length)for(;;){if((y=c>=(d=(s+f)/2))?s=d:f=d,(_=h>=(p=(u+l)/2))?u=p:l=p,n=r,!(r=r[v=_<<1|y]))return this;if(!r.length)break;(n[v+1&3]||n[v+2&3]||n[v+3&3])&&(i=n,g=v)}for(;r.data!==e;)if(o=r,!(r=r.next))return this;return(a=r.next)&&delete r.next,o?(a?o.next=a:delete o.next,this):n?(a?n[v]=a:delete n[v],(r=n[0]||n[1]||n[2]||n[3])&&r===(n[3]||n[2]||n[1]||n[0])&&!r.length&&(i?i[g]=r:this._root=r),this):(this._root=a,this)}function Df(e){for(var n=0,r=e.length;n<r;++n)this.remove(e[n]);return this}function If(){return this._root}function Nf(){var e=0;return this.visit(function(n){if(!n.length)do++e;while(n=n.next)}),e}function jf(e){var n=[],r,i=this._root,o,a,s,u,f;for(i&&n.push(new nt(i,this._x0,this._y0,this._x1,this._y1));r=n.pop();)if(!e(i=r.node,a=r.x0,s=r.y0,u=r.x1,f=r.y1)&&i.length){var l=(a+u)/2,c=(s+f)/2;(o=i[3])&&n.push(new nt(o,l,c,u,f)),(o=i[2])&&n.push(new nt(o,a,c,l,f)),(o=i[1])&&n.push(new nt(o,l,s,u,c)),(o=i[0])&&n.push(new nt(o,a,s,l,c))}return this}function $f(e){var n=[],r=[],i;for(this._root&&n.push(new nt(this._root,this._x0,this._y0,this._x1,this._y1));i=n.pop();){var o=i.node;if(o.length){var a,s=i.x0,u=i.y0,f=i.x1,l=i.y1,c=(s+f)/2,h=(u+l)/2;(a=o[0])&&n.push(new nt(a,s,u,c,h)),(a=o[1])&&n.push(new nt(a,c,u,f,h)),(a=o[2])&&n.push(new nt(a,s,h,c,l)),(a=o[3])&&n.push(new nt(a,c,h,f,l))}r.push(i)}for(;i=r.pop();)e(i.node,i.x0,i.y0,i.x1,i.y1);return this}function Ff(e){return e[0]}function Lf(e){return arguments.length?(this._x=e,this):this._x}function Uf(e){return e[1]}function Hf(e){return arguments.length?(this._y=e,this):this._y}function En(e,n,r){var i=new zn(n??Ff,r??Uf,NaN,NaN,NaN,NaN);return e==null?i:i.addAll(e)}function zn(e,n,r,i,o,a){this._x=e,this._y=n,this._x0=r,this._y0=i,this._x1=o,this._y1=a,this._root=void 0}function xr(e){for(var n={data:e.data},r=n;e=e.next;)r=r.next={data:e.data};return n}var rt=En.prototype=zn.prototype;rt.copy=function(){var e=new zn(this._x,this._y,this._x0,this._y0,this._x1,this._y1),n=this._root,r,i;if(!n)return e;if(!n.length)return e._root=xr(n),e;for(r=[{source:n,target:e._root=new Array(4)}];n=r.pop();)for(var o=0;o<4;++o)(i=n.source[o])&&(i.length?r.push({source:i,target:n.target[o]=new Array(4)}):n.target[o]=xr(i));return e};rt.add=Mf;rt.addAll=Tf;rt.cover=Pf;rt.data=Of;rt.extent=Ef;rt.find=zf;rt.remove=Rf;rt.removeAll=Df;rt.root=If;rt.size=Nf;rt.visit=jf;rt.visitAfter=$f;rt.x=Lf;rt.y=Hf;function qf(e){const n=+this._x.call(null,e),r=+this._y.call(null,e),i=+this._z.call(null,e);return Ri(this.cover(n,r,i),n,r,i,e)}function Ri(e,n,r,i,o){if(isNaN(n)||isNaN(r)||isNaN(i))return e;var a,s=e._root,u={data:o},f=e._x0,l=e._y0,c=e._z0,h=e._x1,d=e._y1,p=e._z1,y,_,v,g,k,S,x,m,C,A,T;if(!s)return e._root=u,e;for(;s.length;)if((x=n>=(y=(f+h)/2))?f=y:h=y,(m=r>=(_=(l+d)/2))?l=_:d=_,(C=i>=(v=(c+p)/2))?c=v:p=v,a=s,!(s=s[A=C<<2|m<<1|x]))return a[A]=u,e;if(g=+e._x.call(null,s.data),k=+e._y.call(null,s.data),S=+e._z.call(null,s.data),n===g&&r===k&&i===S)return u.next=s,a?a[A]=u:e._root=u,e;do a=a?a[A]=new Array(8):e._root=new Array(8),(x=n>=(y=(f+h)/2))?f=y:h=y,(m=r>=(_=(l+d)/2))?l=_:d=_,(C=i>=(v=(c+p)/2))?c=v:p=v;while((A=C<<2|m<<1|x)===(T=(S>=v)<<2|(k>=_)<<1|g>=y));return a[T]=s,a[A]=u,e}function Gf(e){Array.isArray(e)||(e=Array.from(e));const n=e.length,r=new Float64Array(n),i=new Float64Array(n),o=new Float64Array(n);let a=1/0,s=1/0,u=1/0,f=-1/0,l=-1/0,c=-1/0;for(let h=0,d,p,y,_;h<n;++h)isNaN(p=+this._x.call(null,d=e[h]))||isNaN(y=+this._y.call(null,d))||isNaN(_=+this._z.call(null,d))||(r[h]=p,i[h]=y,o[h]=_,p<a&&(a=p),p>f&&(f=p),y<s&&(s=y),y>l&&(l=y),_<u&&(u=_),_>c&&(c=_));if(a>f||s>l||u>c)return this;this.cover(a,s,u).cover(f,l,c);for(let h=0;h<n;++h)Ri(this,r[h],i[h],o[h],e[h]);return this}function Wf(e,n,r){if(isNaN(e=+e)||isNaN(n=+n)||isNaN(r=+r))return this;var i=this._x0,o=this._y0,a=this._z0,s=this._x1,u=this._y1,f=this._z1;if(isNaN(i))s=(i=Math.floor(e))+1,u=(o=Math.floor(n))+1,f=(a=Math.floor(r))+1;else{for(var l=s-i||1,c=this._root,h,d;i>e||e>=s||o>n||n>=u||a>r||r>=f;)switch(d=(r<a)<<2|(n<o)<<1|e<i,h=new Array(8),h[d]=c,c=h,l*=2,d){case 0:s=i+l,u=o+l,f=a+l;break;case 1:i=s-l,u=o+l,f=a+l;break;case 2:s=i+l,o=u-l,f=a+l;break;case 3:i=s-l,o=u-l,f=a+l;break;case 4:s=i+l,u=o+l,a=f-l;break;case 5:i=s-l,u=o+l,a=f-l;break;case 6:s=i+l,o=u-l,a=f-l;break;case 7:i=s-l,o=u-l,a=f-l;break}this._root&&this._root.length&&(this._root=c)}return this._x0=i,this._y0=o,this._z0=a,this._x1=s,this._y1=u,this._z1=f,this}function Vf(){var e=[];return this.visit(function(n){if(!n.length)do e.push(n.data);while(n=n.next)}),e}function Bf(e){return arguments.length?this.cover(+e[0][0],+e[0][1],+e[0][2]).cover(+e[1][0],+e[1][1],+e[1][2]):isNaN(this._x0)?void 0:[[this._x0,this._y0,this._z0],[this._x1,this._y1,this._z1]]}function V(e,n,r,i,o,a,s){this.node=e,this.x0=n,this.y0=r,this.z0=i,this.x1=o,this.y1=a,this.z1=s}function Xf(e,n,r,i){var o,a=this._x0,s=this._y0,u=this._z0,f,l,c,h,d,p,y=this._x1,_=this._y1,v=this._z1,g=[],k=this._root,S,x;for(k&&g.push(new V(k,a,s,u,y,_,v)),i==null?i=1/0:(a=e-i,s=n-i,u=r-i,y=e+i,_=n+i,v=r+i,i*=i);S=g.pop();)if(!(!(k=S.node)||(f=S.x0)>y||(l=S.y0)>_||(c=S.z0)>v||(h=S.x1)<a||(d=S.y1)<s||(p=S.z1)<u))if(k.length){var m=(f+h)/2,C=(l+d)/2,A=(c+p)/2;g.push(new V(k[7],m,C,A,h,d,p),new V(k[6],f,C,A,m,d,p),new V(k[5],m,l,A,h,C,p),new V(k[4],f,l,A,m,C,p),new V(k[3],m,C,c,h,d,A),new V(k[2],f,C,c,m,d,A),new V(k[1],m,l,c,h,C,A),new V(k[0],f,l,c,m,C,A)),(x=(r>=A)<<2|(n>=C)<<1|e>=m)&&(S=g[g.length-1],g[g.length-1]=g[g.length-1-x],g[g.length-1-x]=S)}else{var T=e-+this._x.call(null,k.data),N=n-+this._y.call(null,k.data),E=r-+this._z.call(null,k.data),I=T*T+N*N+E*E;if(I<i){var M=Math.sqrt(i=I);a=e-M,s=n-M,u=r-M,y=e+M,_=n+M,v=r+M,o=k.data}}return o}const Yf=(e,n,r,i,o,a)=>Math.sqrt((e-i)**2+(n-o)**2+(r-a)**2);function Zf(e,n,r,i){const o=[],a=e-i,s=n-i,u=r-i,f=e+i,l=n+i,c=r+i;return this.visit((h,d,p,y,_,v,g)=>{if(!h.length)do{const k=h.data;Yf(e,n,r,this._x(k),this._y(k),this._z(k))<=i&&o.push(k)}while(h=h.next);return d>f||p>l||y>c||_<a||v<s||g<u}),o}function Kf(e){if(isNaN(d=+this._x.call(null,e))||isNaN(p=+this._y.call(null,e))||isNaN(y=+this._z.call(null,e)))return this;var n,r=this._root,i,o,a,s=this._x0,u=this._y0,f=this._z0,l=this._x1,c=this._y1,h=this._z1,d,p,y,_,v,g,k,S,x,m,C;if(!r)return this;if(r.length)for(;;){if((k=d>=(_=(s+l)/2))?s=_:l=_,(S=p>=(v=(u+c)/2))?u=v:c=v,(x=y>=(g=(f+h)/2))?f=g:h=g,n=r,!(r=r[m=x<<2|S<<1|k]))return this;if(!r.length)break;(n[m+1&7]||n[m+2&7]||n[m+3&7]||n[m+4&7]||n[m+5&7]||n[m+6&7]||n[m+7&7])&&(i=n,C=m)}for(;r.data!==e;)if(o=r,!(r=r.next))return this;return(a=r.next)&&delete r.next,o?(a?o.next=a:delete o.next,this):n?(a?n[m]=a:delete n[m],(r=n[0]||n[1]||n[2]||n[3]||n[4]||n[5]||n[6]||n[7])&&r===(n[7]||n[6]||n[5]||n[4]||n[3]||n[2]||n[1]||n[0])&&!r.length&&(i?i[C]=r:this._root=r),this):(this._root=a,this)}function Qf(e){for(var n=0,r=e.length;n<r;++n)this.remove(e[n]);return this}function Jf(){return this._root}function tc(){var e=0;return this.visit(function(n){if(!n.length)do++e;while(n=n.next)}),e}function ec(e){var n=[],r,i=this._root,o,a,s,u,f,l,c;for(i&&n.push(new V(i,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1));r=n.pop();)if(!e(i=r.node,a=r.x0,s=r.y0,u=r.z0,f=r.x1,l=r.y1,c=r.z1)&&i.length){var h=(a+f)/2,d=(s+l)/2,p=(u+c)/2;(o=i[7])&&n.push(new V(o,h,d,p,f,l,c)),(o=i[6])&&n.push(new V(o,a,d,p,h,l,c)),(o=i[5])&&n.push(new V(o,h,s,p,f,d,c)),(o=i[4])&&n.push(new V(o,a,s,p,h,d,c)),(o=i[3])&&n.push(new V(o,h,d,u,f,l,p)),(o=i[2])&&n.push(new V(o,a,d,u,h,l,p)),(o=i[1])&&n.push(new V(o,h,s,u,f,d,p)),(o=i[0])&&n.push(new V(o,a,s,u,h,d,p))}return this}function nc(e){var n=[],r=[],i;for(this._root&&n.push(new V(this._root,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1));i=n.pop();){var o=i.node;if(o.length){var a,s=i.x0,u=i.y0,f=i.z0,l=i.x1,c=i.y1,h=i.z1,d=(s+l)/2,p=(u+c)/2,y=(f+h)/2;(a=o[0])&&n.push(new V(a,s,u,f,d,p,y)),(a=o[1])&&n.push(new V(a,d,u,f,l,p,y)),(a=o[2])&&n.push(new V(a,s,p,f,d,c,y)),(a=o[3])&&n.push(new V(a,d,p,f,l,c,y)),(a=o[4])&&n.push(new V(a,s,u,y,d,p,h)),(a=o[5])&&n.push(new V(a,d,u,y,l,p,h)),(a=o[6])&&n.push(new V(a,s,p,y,d,c,h)),(a=o[7])&&n.push(new V(a,d,p,y,l,c,h))}r.push(i)}for(;i=r.pop();)e(i.node,i.x0,i.y0,i.z0,i.x1,i.y1,i.z1);return this}function rc(e){return e[0]}function ic(e){return arguments.length?(this._x=e,this):this._x}function oc(e){return e[1]}function ac(e){return arguments.length?(this._y=e,this):this._y}function sc(e){return e[2]}function uc(e){return arguments.length?(this._z=e,this):this._z}function Di(e,n,r,i){var o=new Rn(n??rc,r??oc,i??sc,NaN,NaN,NaN,NaN,NaN,NaN);return e==null?o:o.addAll(e)}function Rn(e,n,r,i,o,a,s,u,f){this._x=e,this._y=n,this._z=r,this._x0=i,this._y0=o,this._z0=a,this._x1=s,this._y1=u,this._z1=f,this._root=void 0}function wr(e){for(var n={data:e.data},r=n;e=e.next;)r=r.next={data:e.data};return n}var Q=Di.prototype=Rn.prototype;Q.copy=function(){var e=new Rn(this._x,this._y,this._z,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1),n=this._root,r,i;if(!n)return e;if(!n.length)return e._root=wr(n),e;for(r=[{source:n,target:e._root=new Array(8)}];n=r.pop();)for(var o=0;o<8;++o)(i=n.source[o])&&(i.length?r.push({source:i,target:n.target[o]=new Array(8)}):n.target[o]=wr(i));return e};Q.add=qf;Q.addAll=Gf;Q.cover=Wf;Q.data=Vf;Q.extent=Bf;Q.find=Xf;Q.findAllWithinRadius=Zf;Q.remove=Kf;Q.removeAll=Qf;Q.root=Jf;Q.size=tc;Q.visit=ec;Q.visitAfter=nc;Q.x=ic;Q.y=ac;Q.z=uc;function Mt(e){return function(){return e}}function At(e){return(e()-.5)*1e-6}function lc(e){return e.index}function kr(e,n){var r=e.get(n);if(!r)throw new Error("node not found: "+n);return r}function fc(e){var n=lc,r=d,i,o=Mt(30),a,s,u,f,l,c,h=1;e==null&&(e=[]);function d(g){return 1/Math.min(f[g.source.index],f[g.target.index])}function p(g){for(var k=0,S=e.length;k<h;++k)for(var x=0,m,C,A,T=0,N=0,E=0,I,M;x<S;++x)m=e[x],C=m.source,A=m.target,T=A.x+A.vx-C.x-C.vx||At(c),u>1&&(N=A.y+A.vy-C.y-C.vy||At(c)),u>2&&(E=A.z+A.vz-C.z-C.vz||At(c)),I=Math.sqrt(T*T+N*N+E*E),I=(I-a[x])/I*g*i[x],T*=I,N*=I,E*=I,A.vx-=T*(M=l[x]),u>1&&(A.vy-=N*M),u>2&&(A.vz-=E*M),C.vx+=T*(M=1-M),u>1&&(C.vy+=N*M),u>2&&(C.vz+=E*M)}function y(){if(s){var g,k=s.length,S=e.length,x=new Map(s.map((C,A)=>[n(C,A,s),C])),m;for(g=0,f=new Array(k);g<S;++g)m=e[g],m.index=g,typeof m.source!="object"&&(m.source=kr(x,m.source)),typeof m.target!="object"&&(m.target=kr(x,m.target)),f[m.source.index]=(f[m.source.index]||0)+1,f[m.target.index]=(f[m.target.index]||0)+1;for(g=0,l=new Array(S);g<S;++g)m=e[g],l[g]=f[m.source.index]/(f[m.source.index]+f[m.target.index]);i=new Array(S),_(),a=new Array(S),v()}}function _(){if(s)for(var g=0,k=e.length;g<k;++g)i[g]=+r(e[g],g,e)}function v(){if(s)for(var g=0,k=e.length;g<k;++g)a[g]=+o(e[g],g,e)}return p.initialize=function(g,...k){s=g,c=k.find(S=>typeof S=="function")||Math.random,u=k.find(S=>[1,2,3].includes(S))||2,y()},p.links=function(g){return arguments.length?(e=g,y(),p):e},p.id=function(g){return arguments.length?(n=g,p):n},p.iterations=function(g){return arguments.length?(h=+g,p):h},p.strength=function(g){return arguments.length?(r=typeof g=="function"?g:Mt(+g),_(),p):r},p.distance=function(g){return arguments.length?(o=typeof g=="function"?g:Mt(+g),v(),p):o},p}const cc=1664525,hc=1013904223,Cr=4294967296;function dc(){let e=1;return()=>(e=(cc*e+hc)%Cr)/Cr}var Ar=3;function Be(e){return e.x}function Sr(e){return e.y}function pc(e){return e.z}var gc=10,yc=Math.PI*(3-Math.sqrt(5)),_c=Math.PI*20/(9+Math.sqrt(221));function vc(e,n){n=n||2;var r=Math.min(Ar,Math.max(1,Math.round(n))),i,o=1,a=.001,s=1-Math.pow(a,1/300),u=0,f=.6,l=new Map,c=xn(p),h=ce("tick","end"),d=dc();e==null&&(e=[]);function p(){y(),h.call("tick",i),o<a&&(c.stop(),h.call("end",i))}function y(g){var k,S=e.length,x;g===void 0&&(g=1);for(var m=0;m<g;++m)for(o+=(u-o)*s,l.forEach(function(C){C(o)}),k=0;k<S;++k)x=e[k],x.fx==null?x.x+=x.vx*=f:(x.x=x.fx,x.vx=0),r>1&&(x.fy==null?x.y+=x.vy*=f:(x.y=x.fy,x.vy=0)),r>2&&(x.fz==null?x.z+=x.vz*=f:(x.z=x.fz,x.vz=0));return i}function _(){for(var g=0,k=e.length,S;g<k;++g){if(S=e[g],S.index=g,S.fx!=null&&(S.x=S.fx),S.fy!=null&&(S.y=S.fy),S.fz!=null&&(S.z=S.fz),isNaN(S.x)||r>1&&isNaN(S.y)||r>2&&isNaN(S.z)){var x=gc*(r>2?Math.cbrt(.5+g):r>1?Math.sqrt(.5+g):g),m=g*yc,C=g*_c;r===1?S.x=x:r===2?(S.x=x*Math.cos(m),S.y=x*Math.sin(m)):(S.x=x*Math.sin(m)*Math.cos(C),S.y=x*Math.cos(m),S.z=x*Math.sin(m)*Math.sin(C))}(isNaN(S.vx)||r>1&&isNaN(S.vy)||r>2&&isNaN(S.vz))&&(S.vx=0,r>1&&(S.vy=0),r>2&&(S.vz=0))}}function v(g){return g.initialize&&g.initialize(e,d,r),g}return _(),i={tick:y,restart:function(){return c.restart(p),i},stop:function(){return c.stop(),i},numDimensions:function(g){return arguments.length?(r=Math.min(Ar,Math.max(1,Math.round(g))),l.forEach(v),i):r},nodes:function(g){return arguments.length?(e=g,_(),l.forEach(v),i):e},alpha:function(g){return arguments.length?(o=+g,i):o},alphaMin:function(g){return arguments.length?(a=+g,i):a},alphaDecay:function(g){return arguments.length?(s=+g,i):+s},alphaTarget:function(g){return arguments.length?(u=+g,i):u},velocityDecay:function(g){return arguments.length?(f=1-g,i):1-f},randomSource:function(g){return arguments.length?(d=g,l.forEach(v),i):d},force:function(g,k){return arguments.length>1?(k==null?l.delete(g):l.set(g,v(k)),i):l.get(g)},find:function(){var g=Array.prototype.slice.call(arguments),k=g.shift()||0,S=(r>1?g.shift():null)||0,x=(r>2?g.shift():null)||0,m=g.shift()||1/0,C=0,A=e.length,T,N,E,I,M,P;for(m*=m,C=0;C<A;++C)M=e[C],T=k-M.x,N=S-(M.y||0),E=x-(M.z||0),I=T*T+N*N+E*E,I<m&&(P=M,m=I);return P},on:function(g,k){return arguments.length>1?(h.on(g,k),i):h.on(g)}}}function mc(){var e,n,r,i,o,a=Mt(-30),s,u=1,f=1/0,l=.81;function c(y){var _,v=e.length,g=(n===1?Ei(e,Be):n===2?En(e,Be,Sr):n===3?Di(e,Be,Sr,pc):null).visitAfter(d);for(o=y,_=0;_<v;++_)r=e[_],g.visit(p)}function h(){if(e){var y,_=e.length,v;for(s=new Array(_),y=0;y<_;++y)v=e[y],s[v.index]=+a(v,y,e)}}function d(y){var _=0,v,g,k=0,S,x,m,C,A=y.length;if(A){for(S=x=m=C=0;C<A;++C)(v=y[C])&&(g=Math.abs(v.value))&&(_+=v.value,k+=g,S+=g*(v.x||0),x+=g*(v.y||0),m+=g*(v.z||0));_*=Math.sqrt(4/A),y.x=S/k,n>1&&(y.y=x/k),n>2&&(y.z=m/k)}else{v=y,v.x=v.data.x,n>1&&(v.y=v.data.y),n>2&&(v.z=v.data.z);do _+=s[v.data.index];while(v=v.next)}y.value=_}function p(y,_,v,g,k){if(!y.value)return!0;var S=[v,g,k][n-1],x=y.x-r.x,m=n>1?y.y-r.y:0,C=n>2?y.z-r.z:0,A=S-_,T=x*x+m*m+C*C;if(A*A/l<T)return T<f&&(x===0&&(x=At(i),T+=x*x),n>1&&m===0&&(m=At(i),T+=m*m),n>2&&C===0&&(C=At(i),T+=C*C),T<u&&(T=Math.sqrt(u*T)),r.vx+=x*y.value*o/T,n>1&&(r.vy+=m*y.value*o/T),n>2&&(r.vz+=C*y.value*o/T)),!0;if(y.length||T>=f)return;(y.data!==r||y.next)&&(x===0&&(x=At(i),T+=x*x),n>1&&m===0&&(m=At(i),T+=m*m),n>2&&C===0&&(C=At(i),T+=C*C),T<u&&(T=Math.sqrt(u*T)));do y.data!==r&&(A=s[y.data.index]*o/T,r.vx+=x*A,n>1&&(r.vy+=m*A),n>2&&(r.vz+=C*A));while(y=y.next)}return c.initialize=function(y,..._){e=y,i=_.find(v=>typeof v=="function")||Math.random,n=_.find(v=>[1,2,3].includes(v))||2,h()},c.strength=function(y){return arguments.length?(a=typeof y=="function"?y:Mt(+y),h(),c):a},c.distanceMin=function(y){return arguments.length?(u=y*y,c):Math.sqrt(u)},c.distanceMax=function(y){return arguments.length?(f=y*y,c):Math.sqrt(f)},c.theta=function(y){return arguments.length?(l=y*y,c):Math.sqrt(l)},c}function bc(e,n,r,i){var o,a,s=Mt(.1),u,f;typeof e!="function"&&(e=Mt(+e)),n==null&&(n=0),r==null&&(r=0),i==null&&(i=0);function l(h){for(var d=0,p=o.length;d<p;++d){var y=o[d],_=y.x-n||1e-6,v=(y.y||0)-r||1e-6,g=(y.z||0)-i||1e-6,k=Math.sqrt(_*_+v*v+g*g),S=(f[d]-k)*u[d]*h/k;y.vx+=_*S,a>1&&(y.vy+=v*S),a>2&&(y.vz+=g*S)}}function c(){if(o){var h,d=o.length;for(u=new Array(d),f=new Array(d),h=0;h<d;++h)f[h]=+e(o[h],h,o),u[h]=isNaN(f[h])?0:+s(o[h],h,o)}}return l.initialize=function(h,...d){o=h,a=d.find(p=>[1,2,3].includes(p))||2,c()},l.strength=function(h){return arguments.length?(s=typeof h=="function"?h:Mt(+h),c(),l):s},l.radius=function(h){return arguments.length?(e=typeof h=="function"?h:Mt(+h),c(),l):e},l.x=function(h){return arguments.length?(n=+h,l):n},l.y=function(h){return arguments.length?(r=+h,l):r},l.z=function(h){return arguments.length?(i=+h,l):i},l}const{abs:Xt,cos:Ct,sin:Ft,acos:xc,atan2:Yt,sqrt:Ot,pow:lt}=Math;function Zt(e){return e<0?-lt(-e,1/3):lt(e,1/3)}const Ii=Math.PI,_e=2*Ii,Et=Ii/2,wc=1e-6,Xe=Number.MAX_SAFE_INTEGER||9007199254740991,Ye=Number.MIN_SAFE_INTEGER||-9007199254740991,kc={x:0,y:0,z:0},D={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(e,n){const r=n(e);let i=r.x*r.x+r.y*r.y;return typeof r.z<"u"&&(i+=r.z*r.z),Ot(i)},compute:function(e,n,r){if(e===0)return n[0].t=0,n[0];const i=n.length-1;if(e===1)return n[i].t=1,n[i];const o=1-e;let a=n;if(i===0)return n[0].t=e,n[0];if(i===1){const u={x:o*a[0].x+e*a[1].x,y:o*a[0].y+e*a[1].y,t:e};return r&&(u.z=o*a[0].z+e*a[1].z),u}if(i<4){let u=o*o,f=e*e,l,c,h,d=0;i===2?(a=[a[0],a[1],a[2],kc],l=u,c=o*e*2,h=f):i===3&&(l=u*o,c=u*e*3,h=o*f*3,d=e*f);const p={x:l*a[0].x+c*a[1].x+h*a[2].x+d*a[3].x,y:l*a[0].y+c*a[1].y+h*a[2].y+d*a[3].y,t:e};return r&&(p.z=l*a[0].z+c*a[1].z+h*a[2].z+d*a[3].z),p}const s=JSON.parse(JSON.stringify(n));for(;s.length>1;){for(let u=0;u<s.length-1;u++)s[u]={x:s[u].x+(s[u+1].x-s[u].x)*e,y:s[u].y+(s[u+1].y-s[u].y)*e},typeof s[u].z<"u"&&(s[u].z=s[u].z+(s[u+1].z-s[u].z)*e);s.splice(s.length-1,1)}return s[0].t=e,s[0]},computeWithRatios:function(e,n,r,i){const o=1-e,a=r,s=n;let u=a[0],f=a[1],l=a[2],c=a[3],h;if(u*=o,f*=e,s.length===2)return h=u+f,{x:(u*s[0].x+f*s[1].x)/h,y:(u*s[0].y+f*s[1].y)/h,z:i?(u*s[0].z+f*s[1].z)/h:!1,t:e};if(u*=o,f*=2*o,l*=e*e,s.length===3)return h=u+f+l,{x:(u*s[0].x+f*s[1].x+l*s[2].x)/h,y:(u*s[0].y+f*s[1].y+l*s[2].y)/h,z:i?(u*s[0].z+f*s[1].z+l*s[2].z)/h:!1,t:e};if(u*=o,f*=1.5*o,l*=3*o,c*=e*e*e,s.length===4)return h=u+f+l+c,{x:(u*s[0].x+f*s[1].x+l*s[2].x+c*s[3].x)/h,y:(u*s[0].y+f*s[1].y+l*s[2].y+c*s[3].y)/h,z:i?(u*s[0].z+f*s[1].z+l*s[2].z+c*s[3].z)/h:!1,t:e}},derive:function(e,n){const r=[];for(let i=e,o=i.length,a=o-1;o>1;o--,a--){const s=[];for(let u=0,f;u<a;u++)f={x:a*(i[u+1].x-i[u].x),y:a*(i[u+1].y-i[u].y)},n&&(f.z=a*(i[u+1].z-i[u].z)),s.push(f);r.push(s),i=s}return r},between:function(e,n,r){return n<=e&&e<=r||D.approximately(e,n)||D.approximately(e,r)},approximately:function(e,n,r){return Xt(e-n)<=(r||wc)},length:function(e){const r=D.Tvalues.length;let i=0;for(let o=0,a;o<r;o++)a=.5*D.Tvalues[o]+.5,i+=D.Cvalues[o]*D.arcfn(a,e);return .5*i},map:function(e,n,r,i,o){const a=r-n,s=o-i,u=e-n,f=u/a;return i+s*f},lerp:function(e,n,r){const i={x:n.x+e*(r.x-n.x),y:n.y+e*(r.y-n.y)};return n.z!==void 0&&r.z!==void 0&&(i.z=n.z+e*(r.z-n.z)),i},pointToString:function(e){let n=e.x+"/"+e.y;return typeof e.z<"u"&&(n+="/"+e.z),n},pointsToString:function(e){return"["+e.map(D.pointToString).join(", ")+"]"},copy:function(e){return JSON.parse(JSON.stringify(e))},angle:function(e,n,r){const i=n.x-e.x,o=n.y-e.y,a=r.x-e.x,s=r.y-e.y,u=i*s-o*a,f=i*a+o*s;return Yt(u,f)},round:function(e,n){const r=""+e,i=r.indexOf(".");return parseFloat(r.substring(0,i+1+n))},dist:function(e,n){const r=e.x-n.x,i=e.y-n.y;return Ot(r*r+i*i)},closest:function(e,n){let r=lt(2,63),i,o;return e.forEach(function(a,s){o=D.dist(n,a),o<r&&(r=o,i=s)}),{mdist:r,mpos:i}},abcratio:function(e,n){if(n!==2&&n!==3)return!1;if(typeof e>"u")e=.5;else if(e===0||e===1)return e;const r=lt(e,n)+lt(1-e,n),i=r-1;return Xt(i/r)},projectionratio:function(e,n){if(n!==2&&n!==3)return!1;if(typeof e>"u")e=.5;else if(e===0||e===1)return e;const r=lt(1-e,n),i=lt(e,n)+r;return r/i},lli8:function(e,n,r,i,o,a,s,u){const f=(e*i-n*r)*(o-s)-(e-r)*(o*u-a*s),l=(e*i-n*r)*(a-u)-(n-i)*(o*u-a*s),c=(e-r)*(a-u)-(n-i)*(o-s);return c==0?!1:{x:f/c,y:l/c}},lli4:function(e,n,r,i){const o=e.x,a=e.y,s=n.x,u=n.y,f=r.x,l=r.y,c=i.x,h=i.y;return D.lli8(o,a,s,u,f,l,c,h)},lli:function(e,n){return D.lli4(e,e.c,n,n.c)},makeline:function(e,n){return new B(e.x,e.y,(e.x+n.x)/2,(e.y+n.y)/2,n.x,n.y)},findbbox:function(e){let n=Xe,r=Xe,i=Ye,o=Ye;return e.forEach(function(a){const s=a.bbox();n>s.x.min&&(n=s.x.min),r>s.y.min&&(r=s.y.min),i<s.x.max&&(i=s.x.max),o<s.y.max&&(o=s.y.max)}),{x:{min:n,mid:(n+i)/2,max:i,size:i-n},y:{min:r,mid:(r+o)/2,max:o,size:o-r}}},shapeintersections:function(e,n,r,i,o){if(!D.bboxoverlap(n,i))return[];const a=[],s=[e.startcap,e.forward,e.back,e.endcap],u=[r.startcap,r.forward,r.back,r.endcap];return s.forEach(function(f){f.virtual||u.forEach(function(l){if(l.virtual)return;const c=f.intersects(l,o);c.length>0&&(c.c1=f,c.c2=l,c.s1=e,c.s2=r,a.push(c))})}),a},makeshape:function(e,n,r){const i=n.points.length,o=e.points.length,a=D.makeline(n.points[i-1],e.points[0]),s=D.makeline(e.points[o-1],n.points[0]),u={startcap:a,forward:e,back:n,endcap:s,bbox:D.findbbox([a,e,n,s])};return u.intersections=function(f){return D.shapeintersections(u,u.bbox,f,f.bbox,r)},u},getminmax:function(e,n,r){if(!r)return{min:0,max:0};let i=Xe,o=Ye,a,s;r.indexOf(0)===-1&&(r=[0].concat(r)),r.indexOf(1)===-1&&r.push(1);for(let u=0,f=r.length;u<f;u++)a=r[u],s=e.get(a),s[n]<i&&(i=s[n]),s[n]>o&&(o=s[n]);return{min:i,mid:(i+o)/2,max:o,size:o-i}},align:function(e,n){const r=n.p1.x,i=n.p1.y,o=-Yt(n.p2.y-i,n.p2.x-r),a=function(s){return{x:(s.x-r)*Ct(o)-(s.y-i)*Ft(o),y:(s.x-r)*Ft(o)+(s.y-i)*Ct(o)}};return e.map(a)},roots:function(e,n){n=n||{p1:{x:0,y:0},p2:{x:1,y:0}};const r=e.length-1,i=D.align(e,n),o=function(A){return 0<=A&&A<=1};if(r===2){const A=i[0].y,T=i[1].y,N=i[2].y,E=A-2*T+N;if(E!==0){const I=-Ot(T*T-A*N),M=-A+T,P=-(I+M)/E,w=-(-I+M)/E;return[P,w].filter(o)}else if(T!==N&&E===0)return[(2*T-N)/(2*T-2*N)].filter(o);return[]}const a=i[0].y,s=i[1].y,u=i[2].y,f=i[3].y;let l=-a+3*s-3*u+f,c=3*a-6*s+3*u,h=-3*a+3*s,d=a;if(D.approximately(l,0)){if(D.approximately(c,0))return D.approximately(h,0)?[]:[-d/h].filter(o);const A=Ot(h*h-4*c*d),T=2*c;return[(A-h)/T,(-h-A)/T].filter(o)}c/=l,h/=l,d/=l;const p=(3*h-c*c)/3,y=p/3,_=(2*c*c*c-9*c*h+27*d)/27,v=_/2,g=v*v+y*y*y;let k,S,x,m,C;if(g<0){const A=-p/3,T=A*A*A,N=Ot(T),E=-_/(2*N),I=E<-1?-1:E>1?1:E,M=xc(I),P=Zt(N),w=2*P;return x=w*Ct(M/3)-c/3,m=w*Ct((M+_e)/3)-c/3,C=w*Ct((M+2*_e)/3)-c/3,[x,m,C].filter(o)}else{if(g===0)return k=v<0?Zt(-v):-Zt(v),x=2*k-c/3,m=-k-c/3,[x,m].filter(o);{const A=Ot(g);return k=Zt(-v+A),S=Zt(v+A),[k-S-c/3].filter(o)}}},droots:function(e){if(e.length===3){const n=e[0],r=e[1],i=e[2],o=n-2*r+i;if(o!==0){const a=-Ot(r*r-n*i),s=-n+r,u=-(a+s)/o,f=-(-a+s)/o;return[u,f]}else if(r!==i&&o===0)return[(2*r-i)/(2*(r-i))];return[]}if(e.length===2){const n=e[0],r=e[1];return n!==r?[n/(n-r)]:[]}return[]},curvature:function(e,n,r,i,o){let a,s,u,f,l=0,c=0;const h=D.compute(e,n),d=D.compute(e,r),p=h.x*h.x+h.y*h.y;if(i?(a=Ot(lt(h.y*d.z-d.y*h.z,2)+lt(h.z*d.x-d.z*h.x,2)+lt(h.x*d.y-d.x*h.y,2)),s=lt(p+h.z*h.z,3/2)):(a=h.x*d.y-h.y*d.x,s=lt(p,3/2)),a===0||s===0)return{k:0,r:0};if(l=a/s,c=s/a,!o){const y=D.curvature(e-.001,n,r,i,!0).k,_=D.curvature(e+.001,n,r,i,!0).k;f=(_-l+(l-y))/2,u=(Xt(_-l)+Xt(l-y))/2}return{k:l,r:c,dk:f,adk:u}},inflections:function(e){if(e.length<4)return[];const n=D.align(e,{p1:e[0],p2:e.slice(-1)[0]}),r=n[2].x*n[1].y,i=n[3].x*n[1].y,o=n[1].x*n[2].y,a=n[3].x*n[2].y,s=18*(-3*r+2*i+3*o-a),u=18*(3*r-i-3*o),f=18*(o-r);if(D.approximately(s,0)){if(!D.approximately(u,0)){let d=-f/u;if(0<=d&&d<=1)return[d]}return[]}const l=2*s;if(D.approximately(l,0))return[];const c=u*u-4*s*f;if(c<0)return[];const h=Math.sqrt(c);return[(h-u)/l,-(u+h)/l].filter(function(d){return 0<=d&&d<=1})},bboxoverlap:function(e,n){const r=["x","y"],i=r.length;for(let o=0,a,s,u,f;o<i;o++)if(a=r[o],s=e[a].mid,u=n[a].mid,f=(e[a].size+n[a].size)/2,Xt(s-u)>=f)return!1;return!0},expandbox:function(e,n){n.x.min<e.x.min&&(e.x.min=n.x.min),n.y.min<e.y.min&&(e.y.min=n.y.min),n.z&&n.z.min<e.z.min&&(e.z.min=n.z.min),n.x.max>e.x.max&&(e.x.max=n.x.max),n.y.max>e.y.max&&(e.y.max=n.y.max),n.z&&n.z.max>e.z.max&&(e.z.max=n.z.max),e.x.mid=(e.x.min+e.x.max)/2,e.y.mid=(e.y.min+e.y.max)/2,e.z&&(e.z.mid=(e.z.min+e.z.max)/2),e.x.size=e.x.max-e.x.min,e.y.size=e.y.max-e.y.min,e.z&&(e.z.size=e.z.max-e.z.min)},pairiteration:function(e,n,r){const i=e.bbox(),o=n.bbox(),a=1e5,s=r||.5;if(i.x.size+i.y.size<s&&o.x.size+o.y.size<s)return[(a*(e._t1+e._t2)/2|0)/a+"/"+(a*(n._t1+n._t2)/2|0)/a];let u=e.split(.5),f=n.split(.5),l=[{left:u.left,right:f.left},{left:u.left,right:f.right},{left:u.right,right:f.right},{left:u.right,right:f.left}];l=l.filter(function(h){return D.bboxoverlap(h.left.bbox(),h.right.bbox())});let c=[];return l.length===0||(l.forEach(function(h){c=c.concat(D.pairiteration(h.left,h.right,s))}),c=c.filter(function(h,d){return c.indexOf(h)===d})),c},getccenter:function(e,n,r){const i=n.x-e.x,o=n.y-e.y,a=r.x-n.x,s=r.y-n.y,u=i*Ct(Et)-o*Ft(Et),f=i*Ft(Et)+o*Ct(Et),l=a*Ct(Et)-s*Ft(Et),c=a*Ft(Et)+s*Ct(Et),h=(e.x+n.x)/2,d=(e.y+n.y)/2,p=(n.x+r.x)/2,y=(n.y+r.y)/2,_=h+u,v=d+f,g=p+l,k=y+c,S=D.lli8(h,d,_,v,p,y,g,k),x=D.dist(S,e);let m=Yt(e.y-S.y,e.x-S.x),C=Yt(n.y-S.y,n.x-S.x),A=Yt(r.y-S.y,r.x-S.x),T;return m<A?((m>C||C>A)&&(m+=_e),m>A&&(T=A,A=m,m=T)):A<C&&C<m?(T=A,A=m,m=T):A+=_e,S.s=m,S.e=A,S.r=x,S},numberSort:function(e,n){return e-n}};class oe{constructor(n){this.curves=[],this._3d=!1,n&&(this.curves=n,this._3d=this.curves[0]._3d)}valueOf(){return this.toString()}toString(){return"["+this.curves.map(function(n){return D.pointsToString(n.points)}).join(", ")+"]"}addCurve(n){this.curves.push(n),this._3d=this._3d||n._3d}length(){return this.curves.map(function(n){return n.length()}).reduce(function(n,r){return n+r})}curve(n){return this.curves[n]}bbox(){const n=this.curves;for(var r=n[0].bbox(),i=1;i<n.length;i++)D.expandbox(r,n[i].bbox());return r}offset(n){const r=[];return this.curves.forEach(function(i){r.push(...i.offset(n))}),new oe(r)}}const{abs:Kt,min:Mr,max:Tr,cos:Cc,sin:Ac,acos:Sc,sqrt:Qt}=Math,Mc=Math.PI;class B{constructor(n){let r=n&&n.forEach?n:Array.from(arguments).slice(),i=!1;if(typeof r[0]=="object"){i=r.length;const p=[];r.forEach(function(y){["x","y","z"].forEach(function(_){typeof y[_]<"u"&&p.push(y[_])})}),r=p}let o=!1;const a=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(a!==6&&a!==8&&a!==9&&a!==12&&arguments.length!==1)throw new Error("Only new Bezier(point[]) is accepted for 4th and higher order curves");const s=this._3d=!o&&(a===9||a===12)||n&&n[0]&&typeof n[0].z<"u",u=this.points=[];for(let p=0,y=s?3:2;p<a;p+=y){var f={x:r[p],y:r[p+1]};s&&(f.z=r[p+2]),u.push(f)}const l=this.order=u.length-1,c=this.dims=["x","y"];s&&c.push("z"),this.dimlen=c.length;const h=D.align(u,{p1:u[0],p2:u[l]}),d=D.dist(u[0],u[l]);this._linear=h.reduce((p,y)=>p+Kt(y.y),0)<d/50,this._lut=[],this._t1=0,this._t2=1,this.update()}static quadraticFromPoints(n,r,i,o){if(typeof o>"u"&&(o=.5),o===0)return new B(r,r,i);if(o===1)return new B(n,r,r);const a=B.getABC(2,n,r,i,o);return new B(n,a.A,i)}static cubicFromPoints(n,r,i,o,a){typeof o>"u"&&(o=.5);const s=B.getABC(3,n,r,i,o);typeof a>"u"&&(a=D.dist(r,s.C));const u=a*(1-o)/o,f=D.dist(n,i),l=(i.x-n.x)/f,c=(i.y-n.y)/f,h=a*l,d=a*c,p=u*l,y=u*c,_={x:r.x-h,y:r.y-d},v={x:r.x+p,y:r.y+y},g=s.A,k={x:g.x+(_.x-g.x)/(1-o),y:g.y+(_.y-g.y)/(1-o)},S={x:g.x+(v.x-g.x)/o,y:g.y+(v.y-g.y)/o},x={x:n.x+(k.x-n.x)/o,y:n.y+(k.y-n.y)/o},m={x:i.x+(S.x-i.x)/(1-o),y:i.y+(S.y-i.y)/(1-o)};return new B(n,x,m,i)}static getUtils(){return D}getUtils(){return B.getUtils()}static get PolyBezier(){return oe}valueOf(){return this.toString()}toString(){return D.pointsToString(this.points)}toSVG(){if(this._3d)return!1;const n=this.points,r=n[0].x,i=n[0].y,o=["M",r,i,this.order===2?"Q":"C"];for(let a=1,s=n.length;a<s;a++)o.push(n[a].x),o.push(n[a].y);return o.join(" ")}setRatios(n){if(n.length!==this.points.length)throw new Error("incorrect number of ratio values");this.ratios=n,this._lut=[]}verify(){const n=this.coordDigest();n!==this._print&&(this._print=n,this.update())}coordDigest(){return this.points.map(function(n,r){return""+r+n.x+n.y+(n.z?n.z:0)}).join("")}update(){this._lut=[],this.dpoints=D.derive(this.points,this._3d),this.computedirection()}computedirection(){const n=this.points,r=D.angle(n[0],n[this.order],n[1]);this.clockwise=r>0}length(){return D.length(this.derivative.bind(this))}static getABC(n=2,r,i,o,a=.5){const s=D.projectionratio(a,n),u=1-s,f={x:s*r.x+u*o.x,y:s*r.y+u*o.y},l=D.abcratio(a,n);return{A:{x:i.x+(i.x-f.x)/l,y:i.y+(i.y-f.y)/l},B:i,C:f,S:r,E:o}}getABC(n,r){r=r||this.get(n);let i=this.points[0],o=this.points[this.order];return B.getABC(this.order,i,r,o,n)}getLUT(n){if(this.verify(),n=n||100,this._lut.length===n+1)return this._lut;this._lut=[],n++,this._lut=[];for(let r=0,i,o;r<n;r++)o=r/(n-1),i=this.compute(o),i.t=o,this._lut.push(i);return this._lut}on(n,r){r=r||5;const i=this.getLUT(),o=[];for(let a=0,s,u=0;a<i.length;a++)s=i[a],D.dist(s,n)<r&&(o.push(s),u+=a/i.length);return o.length?t/=o.length:!1}project(n){const r=this.getLUT(),i=r.length-1,o=D.closest(r,n),a=o.mpos,s=(a-1)/i,u=(a+1)/i,f=.1/i;let l=o.mdist,c=s,h=c,d;l+=1;for(let p;c<u+f;c+=f)d=this.compute(c),p=D.dist(n,d),p<l&&(l=p,h=c);return h=h<0?0:h>1?1:h,d=this.compute(h),d.t=h,d.d=l,d}get(n){return this.compute(n)}point(n){return this.points[n]}compute(n){return this.ratios?D.computeWithRatios(n,this.points,this.ratios,this._3d):D.compute(n,this.points,this._3d,this.ratios)}raise(){const n=this.points,r=[n[0]],i=n.length;for(let o=1,a,s;o<i;o++)a=n[o],s=n[o-1],r[o]={x:(i-o)/i*a.x+o/i*s.x,y:(i-o)/i*a.y+o/i*s.y};return r[i]=n[i-1],new B(r)}derivative(n){return D.compute(n,this.dpoints[0],this._3d)}dderivative(n){return D.compute(n,this.dpoints[1],this._3d)}align(){let n=this.points;return new B(D.align(n,{p1:n[0],p2:n[n.length-1]}))}curvature(n){return D.curvature(n,this.dpoints[0],this.dpoints[1],this._3d)}inflections(){return D.inflections(this.points)}normal(n){return this._3d?this.__normal3(n):this.__normal2(n)}__normal2(n){const r=this.derivative(n),i=Qt(r.x*r.x+r.y*r.y);return{t:n,x:-r.y/i,y:r.x/i}}__normal3(n){const r=this.derivative(n),i=this.derivative(n+.01),o=Qt(r.x*r.x+r.y*r.y+r.z*r.z),a=Qt(i.x*i.x+i.y*i.y+i.z*i.z);r.x/=o,r.y/=o,r.z/=o,i.x/=a,i.y/=a,i.z/=a;const s={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},u=Qt(s.x*s.x+s.y*s.y+s.z*s.z);s.x/=u,s.y/=u,s.z/=u;const f=[s.x*s.x,s.x*s.y-s.z,s.x*s.z+s.y,s.x*s.y+s.z,s.y*s.y,s.y*s.z-s.x,s.x*s.z-s.y,s.y*s.z+s.x,s.z*s.z];return{t:n,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(n){let r=this.points,i=[],o=[],a=0;for(o[a++]=r[0],o[a++]=r[1],o[a++]=r[2],this.order===3&&(o[a++]=r[3]);r.length>1;){i=[];for(let s=0,u,f=r.length-1;s<f;s++)u=D.lerp(n,r[s],r[s+1]),o[a++]=u,i.push(u);r=i}return o}split(n,r){if(n===0&&r)return this.split(r).left;if(r===1)return this.split(n).right;const i=this.hull(n),o={left:this.order===2?new B([i[0],i[3],i[5]]):new B([i[0],i[4],i[7],i[9]]),right:this.order===2?new B([i[5],i[4],i[2]]):new B([i[9],i[8],i[6],i[3]]),span:i};return o.left._t1=D.map(0,0,1,this._t1,this._t2),o.left._t2=D.map(n,0,1,this._t1,this._t2),o.right._t1=D.map(n,0,1,this._t1,this._t2),o.right._t2=D.map(1,0,1,this._t1,this._t2),r?(r=D.map(r,n,1,0,1),o.right.split(r).left):o}extrema(){const n={};let r=[];return this.dims.forEach((function(i){let o=function(s){return s[i]},a=this.dpoints[0].map(o);n[i]=D.droots(a),this.order===3&&(a=this.dpoints[1].map(o),n[i]=n[i].concat(D.droots(a))),n[i]=n[i].filter(function(s){return s>=0&&s<=1}),r=r.concat(n[i].sort(D.numberSort))}).bind(this)),n.values=r.sort(D.numberSort).filter(function(i,o){return r.indexOf(i)===o}),n}bbox(){const n=this.extrema(),r={};return this.dims.forEach((function(i){r[i]=D.getminmax(this,i,n[i])}).bind(this)),r}overlaps(n){const r=this.bbox(),i=n.bbox();return D.bboxoverlap(r,i)}offset(n,r){if(typeof r<"u"){const i=this.get(n),o=this.normal(n),a={c:i,n:o,x:i.x+o.x*r,y:i.y+o.y*r};return this._3d&&(a.z=i.z+o.z*r),a}if(this._linear){const i=this.normal(0),o=this.points.map(function(a){const s={x:a.x+n*i.x,y:a.y+n*i.y};return a.z&&i.z&&(s.z=a.z+n*i.z),s});return[new B(o)]}return this.reduce().map(function(i){return i._linear?i.offset(n)[0]:i.scale(n)})}simple(){if(this.order===3){const o=D.angle(this.points[0],this.points[3],this.points[1]),a=D.angle(this.points[0],this.points[3],this.points[2]);if(o>0&&a<0||o<0&&a>0)return!1}const n=this.normal(0),r=this.normal(1);let i=n.x*r.x+n.y*r.y;return this._3d&&(i+=n.z*r.z),Kt(Sc(i))<Mc/3}reduce(){let n,r=0,i=0,o=.01,a,s=[],u=[],f=this.extrema().values;for(f.indexOf(0)===-1&&(f=[0].concat(f)),f.indexOf(1)===-1&&f.push(1),r=f[0],n=1;n<f.length;n++)i=f[n],a=this.split(r,i),a._t1=r,a._t2=i,s.push(a),r=i;return s.forEach(function(l){for(r=0,i=0;i<=1;)for(i=r+o;i<=1+o;i+=o)if(a=l.split(r,i),!a.simple()){if(i-=o,Kt(r-i)<o)return[];a=l.split(r,i),a._t1=D.map(r,0,1,l._t1,l._t2),a._t2=D.map(i,0,1,l._t1,l._t2),u.push(a),r=i;break}r<1&&(a=l.split(r,1),a._t1=D.map(r,0,1,l._t1,l._t2),a._t2=l._t2,u.push(a))}),u}translate(n,r,i){i=typeof i=="number"?i:r;const o=this.order;let a=this.points.map((s,u)=>(1-u/o)*r+u/o*i);return new B(this.points.map((s,u)=>({x:s.x+n.x*a[u],y:s.y+n.y*a[u]})))}scale(n){const r=this.order;let i=!1;if(typeof n=="function"&&(i=n),i&&r===2)return this.raise().scale(i);const o=this.clockwise,a=this.points;if(this._linear)return this.translate(this.normal(0),i?i(0):n,i?i(1):n);const s=i?i(0):n,u=i?i(1):n,f=[this.offset(0,10),this.offset(1,10)],l=[],c=D.lli4(f[0],f[0].c,f[1],f[1].c);if(!c)throw new Error("cannot scale this curve. Try reducing it first.");return[0,1].forEach(function(h){const d=l[h*r]=D.copy(a[h*r]);d.x+=(h?u:s)*f[h].n.x,d.y+=(h?u:s)*f[h].n.y}),i?([0,1].forEach(function(h){if(!(r===2&&h)){var d=a[h+1],p={x:d.x-c.x,y:d.y-c.y},y=i?i((h+1)/r):n;i&&!o&&(y=-y);var _=Qt(p.x*p.x+p.y*p.y);p.x/=_,p.y/=_,l[h+1]={x:d.x+y*p.x,y:d.y+y*p.y}}}),new B(l)):([0,1].forEach(h=>{if(r===2&&h)return;const d=l[h*r],p=this.derivative(h),y={x:d.x+p.x,y:d.y+p.y};l[h+1]=D.lli4(d,y,c,a[h+1])}),new B(l))}outline(n,r,i,o){if(r=r===void 0?n:r,this._linear){const m=this.normal(0),C=this.points[0],A=this.points[this.points.length-1];let T,N,E;i===void 0&&(i=n,o=r),T={x:C.x+m.x*n,y:C.y+m.y*n},E={x:A.x+m.x*i,y:A.y+m.y*i},N={x:(T.x+E.x)/2,y:(T.y+E.y)/2};const I=[T,N,E];T={x:C.x-m.x*r,y:C.y-m.y*r},E={x:A.x-m.x*o,y:A.y-m.y*o},N={x:(T.x+E.x)/2,y:(T.y+E.y)/2};const M=[E,N,T],P=D.makeline(M[2],I[0]),w=D.makeline(I[2],M[0]),z=[P,new B(I),w,new B(M)];return new oe(z)}const a=this.reduce(),s=a.length,u=[];let f=[],l,c=0,h=this.length();const d=typeof i<"u"&&typeof o<"u";function p(m,C,A,T,N){return function(E){const I=T/A,M=(T+N)/A,P=C-m;return D.map(E,0,1,m+I*P,m+M*P)}}a.forEach(function(m){const C=m.length();d?(u.push(m.scale(p(n,i,h,c,C))),f.push(m.scale(p(-r,-o,h,c,C)))):(u.push(m.scale(n)),f.push(m.scale(-r))),c+=C}),f=f.map(function(m){return l=m.points,l[3]?m.points=[l[3],l[2],l[1],l[0]]:m.points=[l[2],l[1],l[0]],m}).reverse();const y=u[0].points[0],_=u[s-1].points[u[s-1].points.length-1],v=f[s-1].points[f[s-1].points.length-1],g=f[0].points[0],k=D.makeline(v,y),S=D.makeline(_,g),x=[k].concat(u).concat([S]).concat(f);return new oe(x)}outlineshapes(n,r,i){r=r||n;const o=this.outline(n,r).curves,a=[];for(let s=1,u=o.length;s<u/2;s++){const f=D.makeshape(o[s],o[u-s],i);f.startcap.virtual=s>1,f.endcap.virtual=s<u/2-1,a.push(f)}return a}intersects(n,r){return n?n.p1&&n.p2?this.lineIntersects(n):(n instanceof B&&(n=n.reduce()),this.curveintersects(this.reduce(),n,r)):this.selfintersects(r)}lineIntersects(n){const r=Mr(n.p1.x,n.p2.x),i=Mr(n.p1.y,n.p2.y),o=Tr(n.p1.x,n.p2.x),a=Tr(n.p1.y,n.p2.y);return D.roots(this.points,n).filter(s=>{var u=this.get(s);return D.between(u.x,r,o)&&D.between(u.y,i,a)})}selfintersects(n){const r=this.reduce(),i=r.length-2,o=[];for(let a=0,s,u,f;a<i;a++)u=r.slice(a,a+1),f=r.slice(a+2),s=this.curveintersects(u,f,n),o.push(...s);return o}curveintersects(n,r,i){const o=[];n.forEach(function(s){r.forEach(function(u){s.overlaps(u)&&o.push({left:s,right:u})})});let a=[];return o.forEach(function(s){const u=D.pairiteration(s.left,s.right,i);u.length>0&&(a=a.concat(u))}),a}arcs(n){return n=n||.5,this._iterate(n,[])}_error(n,r,i,o){const a=(o-i)/4,s=this.get(i+a),u=this.get(o-a),f=D.dist(n,r),l=D.dist(n,s),c=D.dist(n,u);return Kt(l-f)+Kt(c-f)}_iterate(n,r){let i=0,o=1,a;do{a=0,o=1;let s=this.get(i),u,f,l,c,h=!1,d=!1,p,y=o,_=1;do if(d=h,c=l,y=(i+o)/2,u=this.get(y),f=this.get(o),l=D.getccenter(s,u,f),l.interval={start:i,end:o},h=this._error(l,s,i,o)<=n,p=d&&!h,p||(_=o),h){if(o>=1){if(l.interval.end=_=1,c=l,o>1){let g={x:l.x+l.r*Cc(l.e),y:l.y+l.r*Ac(l.e)};l.e+=D.angle({x:l.x,y:l.y},g,this.get(1))}break}o=o+(o-i)/2}else o=y;while(!p&&a++<100);if(a>=100)break;c=c||l,r.push(c),i=_}while(o<1);return r}}function gn(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=Array(n);r<n;r++)i[r]=e[r];return i}function Tc(e){if(Array.isArray(e))return e}function Pc(e){if(Array.isArray(e))return gn(e)}function Oc(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Ec(e,n){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var i,o,a,s,u=[],f=!0,l=!1;try{if(a=(r=r.call(e)).next,n!==0)for(;!(f=(i=a.call(r)).done)&&(u.push(i.value),u.length!==n);f=!0);}catch(c){l=!0,o=c}finally{try{if(!f&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(l)throw o}}return u}}function zc(){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 Rc(){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 Dc(e,n){if(e==null)return{};var r,i,o=Ic(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],n.includes(r)||{}.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function Ic(e,n){if(e==null)return{};var r={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(n.includes(i))continue;r[i]=e[i]}return r}function Nc(e,n){return Tc(e)||Ec(e,n)||Ni(e,n)||zc()}function jc(e){return Pc(e)||Oc(e)||Ni(e)||Rc()}function $c(e,n){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n);if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function Fc(e){var n=$c(e,"string");return typeof n=="symbol"?n:n+""}function Ni(e,n){if(e){if(typeof e=="string")return gn(e,n);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?gn(e,n):void 0}}var Lc=(function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],n=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=(n instanceof Array?n.length?n:[void 0]:[n]).map(function(u){return{keyAccessor:u,isProp:!(u instanceof Function)}}),a=e.reduce(function(u,f){var l=u,c=f;return o.forEach(function(h,d){var p=h.keyAccessor,y=h.isProp,_;if(y){var v=c,g=v[p],k=Dc(v,[p].map(Fc));_=g,c=k}else _=p(c,d);d+1<o.length?(l.hasOwnProperty(_)||(l[_]={}),l=l[_]):r?(l.hasOwnProperty(_)||(l[_]=[]),l[_].push(c)):l[_]=c}),u},{});r instanceof Function&&(function u(f){var l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;l===o.length?Object.keys(f).forEach(function(c){return f[c]=r(f[c])}):Object.values(f).forEach(function(c){return u(c,l+1)})})(a);var s=a;return i&&(s=[],(function u(f){var l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];l.length===o.length?s.push({keys:l,vals:f}):Object.entries(f).forEach(function(c){var h=Nc(c,2),d=h[0],p=h[1];return u(p,[].concat(jc(l),[d]))})})(a),n instanceof Array&&n.length===0&&s.length===1&&(s[0].keys=[])),s});function Uc(e){for(var n=e.length/6|0,r=new Array(n),i=0;i<n;)r[i]="#"+e.slice(i*6,++i*6);return r}const Hc=Uc("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928");function qc(e,n){n===void 0&&(n={});var r=n.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=e:o.appendChild(document.createTextNode(e))}}var Gc=`.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;
}
`;qc(Gc);function yn(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=Array(n);r<n;r++)i[r]=e[r];return i}function Wc(e){if(Array.isArray(e))return e}function Vc(e){if(Array.isArray(e))return yn(e)}function Pr(e,n,r){if(ji())return Reflect.construct.apply(null,arguments);var i=[null];i.push.apply(i,n);var o=new(e.bind.apply(e,i));return o}function le(e,n,r){return(n=Qc(n))in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function ji(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(ji=function(){return!!e})()}function Bc(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Xc(e,n){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var i,o,a,s,u=[],f=!0,l=!1;try{if(a=(r=r.call(e)).next,n!==0)for(;!(f=(i=a.call(r)).done)&&(u.push(i.value),u.length!==n);f=!0);}catch(c){l=!0,o=c}finally{try{if(!f&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(l)throw o}}return u}}function Yc(){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 Zc(){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 Or(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,i)}return r}function Lt(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?Or(Object(r),!0).forEach(function(i){le(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Or(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function ae(e,n){return Wc(e)||Xc(e,n)||$i(e,n)||Yc()}function ct(e){return Vc(e)||Bc(e)||$i(e)||Zc()}function Kc(e,n){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n);if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}function Qc(e){var n=Kc(e,"string");return typeof n=="symbol"?n:n+""}function _n(e){"@babel/helpers - typeof";return _n=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},_n(e)}function $i(e,n){if(e){if(typeof e=="string")return yn(e,n);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?yn(e,n):void 0}}var Jc=Vi(Hc);function Er(e,n,r){!n||typeof r!="string"||e.filter(function(i){return!i[r]}).forEach(function(i){i[r]=Jc(n(i))})}function th(e,n){var r=e.nodes,i=e.links,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=o.nodeFilter,s=a===void 0?function(){return!0}:a,u=o.onLoopError,f=u===void 0?function(p){throw"Invalid DAG structure! Found cycle in node path: ".concat(p.join(" -> "),".")}:u,l={};r.forEach(function(p){return l[n(p)]={data:p,out:[],depth:-1,skip:!s(p)}}),i.forEach(function(p){var y=p.source,_=p.target,v=x(y),g=x(_);if(!l.hasOwnProperty(v))throw"Missing source node with id: ".concat(v);if(!l.hasOwnProperty(g))throw"Missing target node with id: ".concat(g);var k=l[v],S=l[g];k.out.push(S);function x(m){return _n(m)==="object"?n(m):m}});var c=[];d(Object.values(l));var h=Object.assign.apply(Object,[{}].concat(ct(Object.entries(l).filter(function(p){var y=ae(p,2),_=y[1];return!_.skip}).map(function(p){var y=ae(p,2),_=y[0],v=y[1];return le({},_,v.depth)}))));return h;function d(p){for(var y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],_=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,v=function(){var x=p[g];if(y.indexOf(x)!==-1){var m=[].concat(ct(y.slice(y.indexOf(x))),[x]).map(function(C){return n(C.data)});return c.some(function(C){return C.length===m.length&&C.every(function(A,T){return A===m[T]})})||(c.push(m),f(m)),1}_>x.depth&&(x.depth=_,d(x.out,[].concat(ct(y),[x]),_+(x.skip?0:1)))},g=0,k=p.length;g<k;g++)v()}}var eh=2,tt=function(n,r){return r.onNeedsRedraw&&r.onNeedsRedraw()},zr=function(n,r){if(!r.isShadow){var i=G(r.linkDirectionalParticles);r.graphData.links.forEach(function(o){var a=Math.round(Math.abs(i(o)));a?o.__photons=ct(Array(a)).map(function(){return{}}):delete o.__photons})}},Ie=An({props:{graphData:{default:{nodes:[],links:[]},onChange:function(n,r){r.engineRunning=!1,zr(n,r)}},dagMode:{onChange:function(n,r){!n&&(r.graphData.nodes||[]).forEach(function(i){return i.fx=i.fy=void 0})}},dagLevelDistance:{},dagNodeFilter:{default:function(n){return!0}},onDagError:{triggerUpdate:!1},nodeRelSize:{default:4,triggerUpdate:!1,onChange:tt},nodeId:{default:"id"},nodeVal:{default:"val",triggerUpdate:!1,onChange:tt},nodeColor:{default:"color",triggerUpdate:!1,onChange:tt},nodeAutoColorBy:{},nodeCanvasObject:{triggerUpdate:!1,onChange:tt},nodeCanvasObjectMode:{default:function(){return"replace"},triggerUpdate:!1,onChange:tt},nodeVisibility:{default:!0,triggerUpdate:!1,onChange:tt},linkSource:{default:"source"},linkTarget:{default:"target"},linkVisibility:{default:!0,triggerUpdate:!1,onChange:tt},linkColor:{default:"color",triggerUpdate:!1,onChange:tt},linkAutoColorBy:{},linkLineDash:{triggerUpdate:!1,onChange:tt},linkWidth:{default:1,triggerUpdate:!1,onChange:tt},linkCurvature:{default:0,triggerUpdate:!1,onChange:tt},linkCanvasObject:{triggerUpdate:!1,onChange:tt},linkCanvasObjectMode:{default:function(){return"replace"},triggerUpdate:!1,onChange:tt},linkDirectionalArrowLength:{default:0,triggerUpdate:!1,onChange:tt},linkDirectionalArrowColor:{triggerUpdate:!1,onChange:tt},linkDirectionalArrowRelPos:{default:.5,triggerUpdate:!1,onChange:tt},linkDirectionalParticles:{default:0,triggerUpdate:!1,onChange:zr},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(n,r){r.forceLayout.alphaDecay(n)}},d3AlphaTarget:{default:0,triggerUpdate:!1,onChange:function(n,r){r.forceLayout.alphaTarget(n)}},d3VelocityDecay:{default:.4,triggerUpdate:!1,onChange:function(n,r){r.forceLayout.velocityDecay(n)}},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(n,r,i){return i===void 0?n.forceLayout.force(r):(n.forceLayout.force(r,i),this)},d3ReheatSimulation:function(n){return n.forceLayout.alpha(1),this.resetCountdown(),this},resetCountdown:function(n){return n.cntTicks=0,n.startTickTime=new Date,n.engineRunning=!0,this},isEngineRunning:function(n){return!!n.engineRunning},tickFrame:function(n){return!n.isShadow&&r(),o(),!n.isShadow&&a(),!n.isShadow&&s(),i(),this;function r(){n.engineRunning&&(++n.cntTicks>n.cooldownTicks||new Date-n.startTickTime>n.cooldownTime||n.d3AlphaMin>0&&n.forceLayout.alpha()<n.d3AlphaMin?(n.engineRunning=!1,n.onEngineStop()):(n.forceLayout.tick(),n.onEngineTick()))}function i(){var u=G(n.nodeVisibility),f=G(n.nodeVal),l=G(n.nodeColor),c=G(n.nodeCanvasObjectMode),h=n.ctx,d=n.isShadow/n.globalScale,p=n.graphData.nodes.filter(u);h.save(),p.forEach(function(y){var _=c(y);if(n.nodeCanvasObject&&(_==="before"||_==="replace")&&(n.nodeCanvasObject(y,h,n.globalScale),_==="replace")){h.restore();return}var v=Math.sqrt(Math.max(0,f(y)||1))*n.nodeRelSize+d;h.beginPath(),h.arc(y.x,y.y,v,0,2*Math.PI,!1),h.fillStyle=l(y)||"rgba(31, 120, 180, 0.92)",h.fill(),n.nodeCanvasObject&&_==="after"&&n.nodeCanvasObject(y,n.ctx,n.globalScale)}),h.restore()}function o(){var u=G(n.linkVisibility),f=G(n.linkColor),l=G(n.linkWidth),c=G(n.linkLineDash),h=G(n.linkCurvature),d=G(n.linkCanvasObjectMode),p=n.ctx,y=n.isShadow*2,_=n.graphData.links.filter(u);_.forEach(C);var v=[],g=[],k=_;if(n.linkCanvasObject){var S=[],x=[];_.forEach(function(A){return({before:v,after:g,replace:S}[d(A)]||x).push(A)}),k=[].concat(ct(v),g,x),v=v.concat(S)}p.save(),v.forEach(function(A){return n.linkCanvasObject(A,p,n.globalScale)}),p.restore();var m=Lc(k,[f,l,c]);p.save(),Object.entries(m).forEach(function(A){var T=ae(A,2),N=T[0],E=T[1],I=!N||N==="undefined"?"rgba(0,0,0,0.15)":N;Object.entries(E).forEach(function(M){var P=ae(M,2),w=P[0],z=P[1],O=(w||1)/n.globalScale+y;Object.entries(z).forEach(function(R){var j=ae(R,2);j[0];var F=j[1],L=c(F[0]);p.beginPath(),F.forEach(function(U){var H=U.source,Z=U.target;if(!(!H||!Z||!H.hasOwnProperty("x")||!Z.hasOwnProperty("x"))){p.moveTo(H.x,H.y);var W=U.__controlPoints;W?p[W.length===2?"quadraticCurveTo":"bezierCurveTo"].apply(p,ct(W).concat([Z.x,Z.y])):p.lineTo(Z.x,Z.y)}}),p.strokeStyle=I,p.lineWidth=O,p.setLineDash(L||[]),p.stroke()})})}),p.restore(),p.save(),g.forEach(function(A){return n.linkCanvasObject(A,p,n.globalScale)}),p.restore();function C(A){var T=h(A);if(!T){A.__controlPoints=null;return}var N=A.source,E=A.target;if(!(!N||!E||!N.hasOwnProperty("x")||!E.hasOwnProperty("x"))){var I=Math.sqrt(Math.pow(E.x-N.x,2)+Math.pow(E.y-N.y,2));if(I>0){var M=Math.atan2(E.y-N.y,E.x-N.x),P=I*T,w={x:(N.x+E.x)/2+P*Math.cos(M-Math.PI/2),y:(N.y+E.y)/2+P*Math.sin(M-Math.PI/2)};A.__controlPoints=[w.x,w.y]}else{var z=T*70;A.__controlPoints=[E.x,E.y-z,E.x+z,E.y]}}}}function a(){var u=1.6,f=.2,l=G(n.linkDirectionalArrowLength),c=G(n.linkDirectionalArrowRelPos),h=G(n.linkVisibility),d=G(n.linkDirectionalArrowColor||n.linkColor),p=G(n.nodeVal),y=n.ctx;y.save(),n.graphData.links.filter(h).forEach(function(_){var v=l(_);if(!(!v||v<0)){var g=_.source,k=_.target;if(!(!g||!k||!g.hasOwnProperty("x")||!k.hasOwnProperty("x"))){var S=Math.sqrt(Math.max(0,p(g)||1))*n.nodeRelSize,x=Math.sqrt(Math.max(0,p(k)||1))*n.nodeRelSize,m=Math.min(1,Math.max(0,c(_))),C=d(_)||"rgba(0,0,0,0.28)",A=v/u/2,T=_.__controlPoints&&Pr(B,[g.x,g.y].concat(ct(_.__controlPoints),[k.x,k.y])),N=T?function(O){return T.get(O)}:function(O){return{x:g.x+(k.x-g.x)*O||0,y:g.y+(k.y-g.y)*O||0}},E=T?T.length():Math.sqrt(Math.pow(k.x-g.x,2)+Math.pow(k.y-g.y,2)),I=S+v+(E-S-x-v)*m,M=N(I/E),P=N((I-v)/E),w=N((I-v*(1-f))/E),z=Math.atan2(M.y-P.y,M.x-P.x)-Math.PI/2;y.beginPath(),y.moveTo(M.x,M.y),y.lineTo(P.x+A*Math.cos(z),P.y+A*Math.sin(z)),y.lineTo(w.x,w.y),y.lineTo(P.x-A*Math.cos(z),P.y-A*Math.sin(z)),y.fillStyle=C,y.fill()}}}),y.restore()}function s(){var u=G(n.linkDirectionalParticles),f=G(n.linkDirectionalParticleSpeed),l=G(n.linkDirectionalParticleOffset),c=G(n.linkDirectionalParticleWidth),h=G(n.linkVisibility),d=G(n.linkDirectionalParticleColor||n.linkColor),p=n.ctx;p.save(),n.graphData.links.filter(h).forEach(function(y){var _=u(y);if(!(!y.hasOwnProperty("__photons")||!y.__photons.length)){var v=y.source,g=y.target;if(!(!v||!g||!v.hasOwnProperty("x")||!g.hasOwnProperty("x"))){var k=f(y),S=Math.abs(l(y)),x=y.__photons||[],m=Math.max(0,c(y)/2)/Math.sqrt(n.globalScale),C=d(y)||"rgba(0,0,0,0.28)";p.fillStyle=C;var A=y.__controlPoints?Pr(B,[v.x,v.y].concat(ct(y.__controlPoints),[g.x,g.y])):null,T=0,N=!1;x.forEach(function(E){var I=!!E.__singleHop;if(E.hasOwnProperty("__progressRatio")||(E.__progressRatio=I?k<0?1:0:(T+S)/_),!I&&T++,E.__progressRatio+=k,E.__progressRatio>=1||E.__progressRatio<0)if(!I)E.__progressRatio=E.__progressRatio%1,E.__progressRatio<0&&E.__progressRatio++;else{N=!0;return}var M=E.__progressRatio,P=A?A.get(M):{x:v.x+(g.x-v.x)*M||0,y:v.y+(g.y-v.y)*M||0};n.linkDirectionalParticleCanvasObject?n.linkDirectionalParticleCanvasObject(P.x,P.y,y,p,n.globalScale):(p.beginPath(),p.arc(P.x,P.y,m,0,2*Math.PI,!1),p.fill())}),N&&(y.__photons=y.__photons.filter(function(E){return!E.__singleHop||E.__progressRatio<=1&&E.__progressRatio>=0}))}}}),p.restore()}},emitParticle:function(n,r){return r&&(!r.__photons&&(r.__photons=[]),r.__photons.push({__singleHop:!0})),this}},stateInit:function(){return{forceLayout:vc().force("link",fc()).force("charge",mc()).force("center",hf()).force("dagRadial",null).stop(),engineRunning:!1}},init:function(n,r){r.ctx=n},update:function(n,r){n.engineRunning=!1,n.onUpdate(),n.nodeAutoColorBy!==null&&Er(n.graphData.nodes,G(n.nodeAutoColorBy),n.nodeColor),n.linkAutoColorBy!==null&&Er(n.graphData.links,G(n.linkAutoColorBy),n.linkColor),n.graphData.links.forEach(function(d){d.source=d[n.linkSource],d.target=d[n.linkTarget]}),n.forceLayout.stop().alpha(1).nodes(n.graphData.nodes);var i=n.forceLayout.force("link");i&&i.id(function(d){return d[n.nodeId]}).links(n.graphData.links);var o=n.dagMode&&th(n.graphData,function(d){return d[n.nodeId]},{nodeFilter:n.dagNodeFilter,onLoopError:n.onDagError||void 0}),a=Math.max.apply(Math,ct(Object.values(o||[]))),s=n.dagLevelDistance||n.graphData.nodes.length/(a||1)*eh*(["radialin","radialout"].indexOf(n.dagMode)!==-1?.7:1);if(["lr","rl","td","bu"].includes(r.dagMode)){var u=["lr","rl"].includes(r.dagMode)?"fx":"fy";n.graphData.nodes.filter(n.dagNodeFilter).forEach(function(d){return delete d[u]})}if(["lr","rl","td","bu"].includes(n.dagMode)){var f=["rl","bu"].includes(n.dagMode),l=function(p){return(o[p[n.nodeId]]-a/2)*s*(f?-1:1)},c=["lr","rl"].includes(n.dagMode)?"fx":"fy";n.graphData.nodes.filter(n.dagNodeFilter).forEach(function(d){return d[c]=l(d)})}n.forceLayout.force("dagRadial",["radialin","radialout"].indexOf(n.dagMode)!==-1?bc(function(d){var p=o[d[n.nodeId]]||-1;return(n.dagMode==="radialin"?a-p:p)*s}).strength(function(d){return n.dagNodeFilter(d)?1:0}):null);for(var h=0;h<n.warmupTicks&&!(n.d3AlphaMin>0&&n.forceLayout.alpha()<n.d3AlphaMin);h++)n.forceLayout.tick();this.resetCountdown(),n.onFinishUpdate()}});function Fi(e,n){var r=e instanceof Array?e:[e],i=new n;return i._destructor&&i._destructor(),{linkProp:function(a){return{default:i[a](),onChange:function(u,f){r.forEach(function(l){return f[l][a](u)})},triggerUpdate:!1}},linkMethod:function(a){return function(s){for(var u=arguments.length,f=new Array(u>1?u-1:0),l=1;l<u;l++)f[l-1]=arguments[l];var c=[];return r.forEach(function(h){var d=s[h],p=d[a].apply(d,f);p!==d&&c.push(p)}),c.length?c[0]:this}}}}var nh=800,rh=4,ih=5,Li=Fi("forceGraph",Ie),oh=Fi(["forceGraph","shadowGraph"],Ie),ah=Object.assign.apply(Object,ct(["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(e){return le({},e,Li.linkProp(e))})).concat(ct(["nodeRelSize","nodeId","nodeVal","nodeVisibility","linkSource","linkTarget","linkVisibility","linkCurvature"].map(function(e){return le({},e,oh.linkProp(e))})))),sh=Object.assign.apply(Object,ct(["d3Force","d3ReheatSimulation","emitParticle"].map(function(e){return le({},e,Li.linkMethod(e))})));function Ze(e){if(e.canvas){var n=e.canvas.width,r=e.canvas.height;n===300&&r===150&&(n=r=0);var i=window.devicePixelRatio;n/=i,r/=i,[e.canvas,e.shadowCanvas].forEach(function(a){a.style.width="".concat(e.width,"px"),a.style.height="".concat(e.height,"px"),a.width=e.width*i,a.height=e.height*i,!n&&!r&&a.getContext("2d").scale(i,i)});var o=gt(e.canvas).k;e.zoom.translateBy(e.zoom.__baseElem,(e.width-n)/2/o,(e.height-r)/2/o),e.needsRedraw=!0}}function Ui(e){var n=window.devicePixelRatio;e.setTransform(n,0,0,n,0,0)}function Rr(e,n,r){e.save(),Ui(e),e.clearRect(0,0,n,r),e.restore()}var uh=An({props:Lt({width:{default:window.innerWidth,onChange:function(n,r){return Ze(r)},triggerUpdate:!1},height:{default:window.innerHeight,onChange:function(n,r){return Ze(r)},triggerUpdate:!1},graphData:{default:{nodes:[],links:[]},onChange:function(n,r){[n.nodes,n.links].every(function(o){return(o||[]).every(function(a){return!a.hasOwnProperty("__indexColor")})})&&r.colorTracker.reset(),[{type:"Node",objs:n.nodes},{type:"Link",objs:n.links}].forEach(i),r.forceGraph.graphData(n),r.shadowGraph.graphData(n);function i(o){var a=o.type,s=o.objs;s.filter(function(u){if(!u.hasOwnProperty("__indexColor"))return!0;var f=r.colorTracker.lookup(u.__indexColor);return!f||!f.hasOwnProperty("d")||f.d!==u}).forEach(function(u){u.__indexColor=r.colorTracker.register({type:a,d:u})})}},triggerUpdate:!1},backgroundColor:{onChange:function(n,r){r.canvas&&n&&(r.canvas.style.background=n)},triggerUpdate:!1},nodeLabel:{default:"name",triggerUpdate:!1},nodePointerAreaPaint:{onChange:function(n,r){r.shadowGraph.nodeCanvasObject(n?function(i,o,a){return n(i,i.__indexColor,o,a)}:null),r.flushShadowCanvas&&r.flushShadowCanvas()},triggerUpdate:!1},linkPointerAreaPaint:{onChange:function(n,r){r.shadowGraph.linkCanvasObject(n?function(i,o,a){return n(i,i.__indexColor,o,a)}:null),r.flushShadowCanvas&&r.flushShadowCanvas()},triggerUpdate:!1},linkLabel:{default:"name",triggerUpdate:!1},linkHoverPrecision:{default:4,triggerUpdate:!1},minZoom:{default:.01,onChange:function(n,r){r.zoom.scaleExtent([n,r.zoom.scaleExtent()[1]])},triggerUpdate:!1},maxZoom:{default:1e3,onChange:function(n,r){r.zoom.scaleExtent([r.zoom.scaleExtent()[0],n])},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(n,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}},ah),aliases:{stopAnimation:"pauseAnimation"},methods:Lt({graph2ScreenCoords:function(n,r,i){var o=gt(n.canvas);return{x:r*o.k+o.x,y:i*o.k+o.y}},screen2GraphCoords:function(n,r,i){var o=gt(n.canvas);return{x:(r-o.x)/o.k,y:(i-o.y)/o.k}},centerAt:function(n,r,i,o){if(!n.canvas)return null;if(r!==void 0||i!==void 0){var a=Object.assign({},r!==void 0?{x:r}:{},i!==void 0?{y:i}:{});return o?n.tweenGroup.add(new rr(s()).to(a,o).easing(Nt.Quadratic.Out).onUpdate(u).onComplete(function(){n.tweenGroup.remove(this)}).start()):u(a),this}return s();function s(){var f=gt(n.canvas);return{x:(n.width/2-f.x)/f.k,y:(n.height/2-f.y)/f.k}}function u(f){var l=f.x,c=f.y;n.zoom.translateTo(n.zoom.__baseElem,l===void 0?s().x:l,c===void 0?s().y:c),n.needsRedraw=!0}},zoom:function(n,r,i){if(!n.canvas)return null;if(r!==void 0)return i?n.tweenGroup.add(new rr({k:o()}).to({k:r},i).easing(Nt.Quadratic.Out).onUpdate(function(s){var u=s.k;return a(u)}).onComplete(function(){n.tweenGroup.remove(this)}).start()):a(r),this;return o();function o(){return gt(n.canvas).k}function a(s){n.zoom.scaleTo(n.zoom.__baseElem,s),n.needsRedraw=!0}},zoomToFit:function(n){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,a=new Array(o>3?o-3:0),s=3;s<o;s++)a[s-3]=arguments[s];var u=this.getGraphBbox.apply(this,a);if(u){var f={x:(u.x[0]+u.x[1])/2,y:(u.y[0]+u.y[1])/2},l=Math.max(1e-12,Math.min(1e12,(n.width-i*2)/(u.x[1]-u.x[0]),(n.height-i*2)/(u.y[1]-u.y[0])));this.centerAt(f.x,f.y,r),this.zoom(l,r)}return this},getGraphBbox:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:function(){return!0},i=G(n.nodeVal),o=function(u){return Math.sqrt(Math.max(0,i(u)||1))*n.nodeRelSize},a=n.graphData.nodes.filter(r).map(function(s){return{x:s.x,y:s.y,r:o(s)}});return a.length?{x:[Un(a,function(s){return s.x-s.r}),Hn(a,function(s){return s.x+s.r})],y:[Un(a,function(s){return s.y-s.r}),Hn(a,function(s){return s.y+s.r})]}:null},pauseAnimation:function(n){return n.animationFrameRequestId&&(cancelAnimationFrame(n.animationFrameRequestId),n.animationFrameRequestId=null),this},resumeAnimation:function(n){return n.animationFrameRequestId||this._animationCycle(),this},_destructor:function(){this.pauseAnimation(),this.graphData({nodes:[],links:[]})}},sh),stateInit:function(){return{lastSetZoom:1,zoom:wu(),forceGraph:new Ie,shadowGraph:new Ie().cooldownTicks(0).nodeColor("__indexColor").linkColor("__indexColor").isShadow(!0),colorTracker:new Hl,tweenGroup:new ci}},init:function(n,r){var i=this;n.innerHTML="";var o=document.createElement("div");o.classList.add("force-graph-container"),o.style.position="relative",n.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 a=r.canvas.getContext("2d"),s=r.shadowCanvas.getContext("2d",{willReadFrequently:!0}),u={x:-1e12,y:-1e12},f=function(){var h=null,d=window.devicePixelRatio,p=u.x>0&&u.y>0?s.getImageData(u.x*d,u.y*d,1,1):null;return p&&(h=r.colorTracker.lookup(p.data)),h};ft(r.canvas).call(is().subject(function(){if(!r.enableNodeDrag)return null;var c=f();return c&&c.type==="Node"?c.d:null}).on("start",function(c){var h=c.subject;h.__initialDragPos={x:h.x,y:h.y,fx:h.fx,fy:h.fy},c.active||(h.fx=h.x,h.fy=h.y),r.canvas.classList.add("grabbable")}).on("drag",function(c){var h=c.subject,d=h.__initialDragPos,p=c,y=gt(r.canvas).k,_={x:d.x+(p.x-d.x)/y-h.x,y:d.y+(p.y-d.y)/y-h.y};["x","y"].forEach(function(v){return h["f".concat(v)]=h[v]=d[v]+(p[v]-d[v])/y}),!(!h.__dragged&&ih>=Math.sqrt(Yi(["x","y"].map(function(v){return Math.pow(c[v]-d[v],2)}))))&&(r.forceGraph.d3AlphaTarget(.3).resetCountdown(),r.isPointerDragging=!0,h.__dragged=!0,r.onNodeDrag(h,_))}).on("end",function(c){var h=c.subject,d=h.__initialDragPos,p={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,p))})),r.zoom(r.zoom.__baseElem=ft(r.canvas)),r.zoom.__baseElem.on("dblclick.zoom",null),r.zoom.filter(function(c){return!c.button&&r.enableZoomPanInteraction&&(c.type!=="wheel"||G(r.enableZoomInteraction)(c))&&(c.type==="wheel"||G(r.enablePanInteraction)(c))}).on("zoom",function(c){var h=c.transform;[a,s].forEach(function(d){Ui(d),d.translate(h.x,h.y),d.scale(h.k,h.k)}),r.isPointerDragging=!0,r.onZoom&&r.onZoom(Lt(Lt({},h),i.centerAt())),r.needsRedraw=!0}).on("end",function(c){r.isPointerDragging=!1,r.onZoomEnd&&r.onZoomEnd(Lt(Lt({},c.transform),i.centerAt()))}),Ze(r),r.forceGraph.onNeedsRedraw(function(){return r.needsRedraw=!0}).onFinishUpdate(function(){gt(r.canvas).k===r.lastSetZoom&&r.graphData.nodes.length&&(r.zoom.scaleTo(r.zoom.__baseElem,r.lastSetZoom=rh/Math.cbrt(r.graphData.nodes.length)),r.needsRedraw=!0)}),r.tooltip=new cf(o),["pointermove","pointerdown"].forEach(function(c){return o.addEventListener(c,function(h){c==="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=p(o);u.x=h.pageX-d.left,u.y=h.pageY-d.top;function p(y){var _=y.getBoundingClientRect(),v=window.pageXOffset||document.documentElement.scrollLeft,g=window.pageYOffset||document.documentElement.scrollTop;return{top:_.top+g,left:_.left+v}}},{passive:!0})}),o.addEventListener("pointerup",function(c){if(r.isPointerPressed){if(r.isPointerPressed=!1,r.isPointerDragging){r.isPointerDragging=!1;return}var h=[c,r.pointerDownEvent];requestAnimationFrame(function(){if(c.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(c.button===2)if(r.hoverObj){var p=r["on".concat(r.hoverObj.type,"RightClick")];p&&p.apply(void 0,[r.hoverObj.d].concat(h))}else r.onBackgroundRightClick&&r.onBackgroundRightClick.apply(r,h)})}},{passive:!0}),o.addEventListener("contextmenu",function(c){return!r.onBackgroundRightClick&&!r.onNodeRightClick&&!r.onLinkRightClick?!0:(c.preventDefault(),!1)}),r.forceGraph(a),r.shadowGraph(s);var l=Yu(function(){Rr(s,r.width,r.height),r.shadowGraph.linkWidth(function(h){return G(r.linkWidth)(h)+r.linkHoverPrecision});var c=gt(r.canvas);r.shadowGraph.globalScale(c.k).tickFrame()},nh);r.flushShadowCanvas=l.flush,(this._animationCycle=function c(){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 p=r.hoverObj,y=p?p.type:null,_=d?d.type:null;if(y&&y!==_){var v=r["on".concat(y,"Hover")];v&&v(null,p.d)}if(_){var g=r["on".concat(_,"Hover")];g&&g(d.d,y===_?p.d:null)}r.tooltip.content(d&&G(r["".concat(d.type.toLowerCase(),"Label")])(d.d)||null),r.canvas.classList[(d&&r["on".concat(_,"Click")]||!d&&r.onBackgroundClick)&&G(r.showPointerCursor)(d==null?void 0:d.d)?"add":"remove"]("clickable"),r.hoverObj=d}h&&l()}if(h){Rr(a,r.width,r.height);var k=gt(r.canvas).k;r.onRenderFramePre&&r.onRenderFramePre(a,k),r.forceGraph.globalScale(k).tickFrame(),r.onRenderFramePost&&r.onRenderFramePost(a,k)}r.tweenGroup.update(),r.animationFrameRequestId=requestAnimationFrame(c)})()},update:function(n){}}),Ke={exports:{}},Qe,Dr;function lh(){if(Dr)return Qe;Dr=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return Qe=e,Qe}var Je,Ir;function fh(){if(Ir)return Je;Ir=1;var e=lh();function n(){}function r(){}return r.resetWarningCache=n,Je=function(){function i(s,u,f,l,c,h){if(h!==e){var d=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw d.name="Invariant Violation",d}}i.isRequired=i;function o(){return i}var a={array:i,bigint:i,bool:i,func:i,number:i,object:i,string:i,symbol:i,any:i,arrayOf:o,element:i,elementType:i,instanceOf:o,node:i,objectOf:o,oneOf:o,oneOfType:o,shape:o,exact:o,checkPropTypes:r,resetWarningCache:n};return a.PropTypes=a,a},Je}var Nr;function ch(){return Nr||(Nr=1,Ke.exports=fh()()),Ke.exports}var hh=ch();const b=Bi(hh),He={width:b.number,height:b.number,graphData:b.shape({nodes:b.arrayOf(b.object).isRequired,links:b.arrayOf(b.object).isRequired}),backgroundColor:b.string,nodeRelSize:b.number,nodeId:b.string,nodeLabel:b.oneOfType([b.string,b.func]),nodeVal:b.oneOfType([b.number,b.string,b.func]),nodeVisibility:b.oneOfType([b.bool,b.string,b.func]),nodeColor:b.oneOfType([b.string,b.func]),nodeAutoColorBy:b.oneOfType([b.string,b.func]),onNodeHover:b.func,onNodeClick:b.func,linkSource:b.string,linkTarget:b.string,linkLabel:b.oneOfType([b.string,b.func]),linkVisibility:b.oneOfType([b.bool,b.string,b.func]),linkColor:b.oneOfType([b.string,b.func]),linkAutoColorBy:b.oneOfType([b.string,b.func]),linkWidth:b.oneOfType([b.number,b.string,b.func]),linkCurvature:b.oneOfType([b.number,b.string,b.func]),linkDirectionalArrowLength:b.oneOfType([b.number,b.string,b.func]),linkDirectionalArrowColor:b.oneOfType([b.string,b.func]),linkDirectionalArrowRelPos:b.oneOfType([b.number,b.string,b.func]),linkDirectionalParticles:b.oneOfType([b.number,b.string,b.func]),linkDirectionalParticleSpeed:b.oneOfType([b.number,b.string,b.func]),linkDirectionalParticleOffset:b.oneOfType([b.number,b.string,b.func]),linkDirectionalParticleWidth:b.oneOfType([b.number,b.string,b.func]),linkDirectionalParticleColor:b.oneOfType([b.string,b.func]),onLinkHover:b.func,onLinkClick:b.func,dagMode:b.oneOf(["td","bu","lr","rl","zin","zout","radialin","radialout"]),dagLevelDistance:b.number,dagNodeFilter:b.func,onDagError:b.func,d3AlphaMin:b.number,d3AlphaDecay:b.number,d3VelocityDecay:b.number,warmupTicks:b.number,cooldownTicks:b.number,cooldownTime:b.number,onEngineTick:b.func,onEngineStop:b.func,getGraphBbox:b.func},Hi={zoomToFit:b.func,onNodeRightClick:b.func,onNodeDrag:b.func,onNodeDragEnd:b.func,onLinkRightClick:b.func,linkHoverPrecision:b.number,onBackgroundClick:b.func,onBackgroundRightClick:b.func,showPointerCursor:b.oneOfType([b.bool,b.func]),enablePointerInteraction:b.bool,enableNodeDrag:b.bool},Dn={showNavInfo:b.bool,nodeOpacity:b.number,nodeResolution:b.number,nodeThreeObject:b.oneOfType([b.object,b.string,b.func]),nodeThreeObjectExtend:b.oneOfType([b.bool,b.string,b.func]),nodePositionUpdate:b.func,linkOpacity:b.number,linkResolution:b.number,linkCurveRotation:b.oneOfType([b.number,b.string,b.func]),linkMaterial:b.oneOfType([b.object,b.string,b.func]),linkThreeObject:b.oneOfType([b.object,b.string,b.func]),linkThreeObjectExtend:b.oneOfType([b.bool,b.string,b.func]),linkPositionUpdate:b.func,linkDirectionalArrowResolution:b.number,linkDirectionalParticleResolution:b.number,linkDirectionalParticleThreeObject:b.oneOfType([b.object,b.string,b.func]),forceEngine:b.oneOf(["d3","ngraph"]),ngraphPhysics:b.object,numDimensions:b.oneOf([1,2,3])},dh=Object.assign({},He,Hi,{linkLineDash:b.oneOfType([b.arrayOf(b.number),b.string,b.func]),nodeCanvasObjectMode:b.oneOfType([b.string,b.func]),nodeCanvasObject:b.func,nodePointerAreaPaint:b.func,linkCanvasObjectMode:b.oneOfType([b.string,b.func]),linkCanvasObject:b.func,linkPointerAreaPaint:b.func,linkDirectionalParticleCanvasObject:b.func,autoPauseRedraw:b.bool,minZoom:b.number,maxZoom:b.number,enableZoomInteraction:b.oneOfType([b.bool,b.func]),enablePanInteraction:b.oneOfType([b.bool,b.func]),onZoom:b.func,onZoomEnd:b.func,onRenderFramePre:b.func,onRenderFramePost:b.func});Object.assign({},He,Hi,Dn,{enableNavigationControls:b.bool,controlType:b.oneOf(["trackball","orbit","fly"]),rendererConfig:b.object,extraRenderers:b.arrayOf(b.shape({render:b.func.isRequired}))});Object.assign({},He,Dn,{nodeDesc:b.oneOfType([b.string,b.func]),linkDesc:b.oneOfType([b.string,b.func])});Object.assign({},He,Dn,{markerAttrs:b.object,yOffset:b.number,glScale:b.number});const In=yo(uh,{methodNames:["emitParticle","d3Force","d3ReheatSimulation","stopAnimation","pauseAnimation","resumeAnimation","centerAt","zoom","zoomToFit","getGraphBbox","screen2GraphCoords","graph2ScreenCoords"]});In.displayName="ForceGraph2D";In.propTypes=dh;function vt(e){return function(){return e}}function jr(e){return(e()-.5)*1e-6}function ph(e){return e.x+e.vx}function gh(e){return e.y+e.vy}function yh(e){var n,r,i,o=1,a=1;typeof e!="function"&&(e=vt(e==null?1:+e));function s(){for(var l,c=n.length,h,d,p,y,_,v,g=0;g<a;++g)for(h=En(n,ph,gh).visitAfter(u),l=0;l<c;++l)d=n[l],_=r[d.index],v=_*_,p=d.x+d.vx,y=d.y+d.vy,h.visit(k);function k(S,x,m,C,A){var T=S.data,N=S.r,E=_+N;if(T){if(T.index>d.index){var I=p-T.x-T.vx,M=y-T.y-T.vy,P=I*I+M*M;P<E*E&&(I===0&&(I=jr(i),P+=I*I),M===0&&(M=jr(i),P+=M*M),P=(E-(P=Math.sqrt(P)))/P*o,d.vx+=(I*=P)*(E=(N*=N)/(v+N)),d.vy+=(M*=P)*E,T.vx-=I*(E=1-E),T.vy-=M*E)}return}return x>p+E||C<p-E||m>y+E||A<y-E}}function u(l){if(l.data)return l.r=r[l.data.index];for(var c=l.r=0;c<4;++c)l[c]&&l[c].r>l.r&&(l.r=l[c].r)}function f(){if(n){var l,c=n.length,h;for(r=new Array(c),l=0;l<c;++l)h=n[l],r[h.index]=+e(h,l,n)}}return s.initialize=function(l,c){n=l,i=c,f()},s.iterations=function(l){return arguments.length?(a=+l,s):a},s.strength=function(l){return arguments.length?(o=+l,s):o},s.radius=function(l){return arguments.length?(e=typeof l=="function"?l:vt(+l),f(),s):e},s}function _h(e){var n=vt(.1),r,i,o;typeof e!="function"&&(e=vt(e==null?0:+e));function a(u){for(var f=0,l=r.length,c;f<l;++f)c=r[f],c.vx+=(o[f]-c.x)*i[f]*u}function s(){if(r){var u,f=r.length;for(i=new Array(f),o=new Array(f),u=0;u<f;++u)i[u]=isNaN(o[u]=+e(r[u],u,r))?0:+n(r[u],u,r)}}return a.initialize=function(u){r=u,s()},a.strength=function(u){return arguments.length?(n=typeof u=="function"?u:vt(+u),s(),a):n},a.x=function(u){return arguments.length?(e=typeof u=="function"?u:vt(+u),s(),a):e},a}function vh(e){var n=vt(.1),r,i,o;typeof e!="function"&&(e=vt(e==null?0:+e));function a(u){for(var f=0,l=r.length,c;f<l;++f)c=r[f],c.vy+=(o[f]-c.y)*i[f]*u}function s(){if(r){var u,f=r.length;for(i=new Array(f),o=new Array(f),u=0;u<f;++u)i[u]=isNaN(o[u]=+e(r[u],u,r))?0:+n(r[u],u,r)}}return a.initialize=function(u){r=u,s()},a.strength=function(u){return arguments.length?(n=typeof u=="function"?u:vt(+u),s(),a):n},a.y=function(u){return arguments.length?(e=typeof u=="function"?u:vt(+u),s(),a):e},a}const $r={identity:"#00f5ff",knowledge:"#3b82f6",rules:"#d946ef",events:"#fbbf24"},mh={identity:"Identität",knowledge:"Wissen",rules:"Regeln",events:"Ereignisse"},bh="rgba(99, 102, 241, 0.9)",xh="rgba(255, 255, 255, 0.02)",wh="rgba(100, 116, 139, 0.25)",kh={identity:"rgba(0, 245, 255, 0.25)",knowledge:"rgba(59, 130, 246, 0.25)",rules:"rgba(217, 70, 239, 0.25)",events:"rgba(251, 191, 36, 0.25)"},Ch={identity:"rgba(0, 245, 255, 0.16)",knowledge:"rgba(59, 130, 246, 0.16)",rules:"rgba(217, 70, 239, 0.16)",events:"rgba(251, 191, 36, 0.16)"};function Sh({data:e,selectedNodeId:n,onNodeSelect:r}){const[i,o]=q.useState(null),a=q.useRef(null),s=q.useRef(null),[u,f]=q.useState({width:500,height:560});q.useEffect(()=>{if(!a.current)return;const M=new ResizeObserver(P=>{for(let w of P)w.contentRect.width>0&&w.contentRect.height>0&&f({width:Math.floor(w.contentRect.width),height:Math.floor(w.contentRect.height)})});return M.observe(a.current),()=>M.disconnect()},[]);const l=q.useRef(new Map),c=q.useMemo(()=>{const M=l.current,P=new Set,w=e.nodes.map(R=>{P.add(R.id);let j=M.get(R.id);return j?(j.content!==R.content||j.category!==R.category)&&(j.content=R.content,j.category=R.category,j.__baseTextWidth=void 0):(j={...R},M.set(R.id,j)),j});for(const R of Array.from(M.keys()))P.has(R)||M.delete(R);const z=new Map(e.nodes.map(R=>[R.id,R.category])),O=e.edges.map(R=>({source:R.source,target:R.target,weight:R.weight||0,__sid:R.source,__tid:R.target,__restColor:kh[z.get(R.source)??""]??wh}));return{nodes:w,links:O}},[e]),h=q.useMemo(()=>{const M={};return e.edges.forEach(P=>{M[P.source]=(M[P.source]||0)+1,M[P.target]=(M[P.target]||0)+1}),M},[e]),d=M=>({identity:-240,knowledge:240,rules:-240,events:240})[M]||0,p=M=>({identity:-240,knowledge:-240,rules:240,events:240})[M]||0,y=q.useMemo(()=>`${e.nodes.map(M=>M.id).sort().join(",")}#${e.edges.length}`,[e]);q.useEffect(()=>{const M=s.current;if(!M)return;M.d3Force("center",null),M.d3Force("x",_h().x(z=>d(z.category)).strength(.07)),M.d3Force("y",vh().y(z=>p(z.category)).strength(.07));const P=M.d3Force("charge");P&&P.strength(-380),M.d3Force("collide",yh().radius(28).iterations(2));const w=M.d3Force("link");w&&w.distance(85),M.d3ReheatSimulation()},[y]);const _=i||n,v=()=>{s.current&&s.current.zoomToFit(400,40)},g=q.useMemo(()=>{if(!_)return new Set;const M=new Set;return e.edges.forEach(P=>{P.source===_&&M.add(P.target),P.target===_&&M.add(P.source)}),M},[_,e]),k=q.useCallback(M=>_?M.__sid===_||M.__tid===_?bh:xh:M.__restColor,[_]),S=q.useCallback(M=>_&&(M.__sid===_||M.__tid===_)?2.5:1.4,[_]),x=q.useCallback(M=>_&&(M.__sid===_||M.__tid===_)?4:0,[_]),m=q.useCallback((M,P)=>{const w=s.current,z=a.current;if(!w||!z)return null;const O=z.getBoundingClientRect(),{x:R,y:j}=w.screen2GraphCoords(M-O.left,P-O.top),F=Math.max(w.zoom()||1,.01);let L=null,U=1/0;for(const H of c.nodes){if(H.x==null||H.y==null)continue;const Z=6+Math.min(h[H.id]||0,15)*.8,W=Math.max(Z+3,16/F),et=H.x-R,J=H.y-j,K=et*et+J*J;K<=W*W&&K<U&&(U=K,L=H)}return L},[c,h]),C=q.useCallback(M=>{const P=M.target instanceof HTMLCanvasElement?m(M.clientX,M.clientY):null;o(P?P.id:null),a.current&&(a.current.style.cursor=P?"pointer":"default")},[m]),A=q.useCallback(()=>{o(null),a.current&&(a.current.style.cursor="default")},[]),T=q.useRef(null),N=q.useCallback(M=>{T.current={x:M.clientX,y:M.clientY}},[]),E=q.useCallback(M=>{if(!(M.target instanceof HTMLCanvasElement))return;const P=T.current;if(P&&Math.hypot(M.clientX-P.x,M.clientY-P.y)>6)return;const w=m(M.clientX,M.clientY);r(w?w.id:null)},[m,r]),I=q.useCallback((M,P,w)=>{const z=M.x??0,O=M.y??0,R=6+Math.min(h[M.id]||0,15)*.8,j=$r[M.category]||"#64748b",F=M.id===i,L=M.id===n,U=_&&M.id!==_&&!g.has(M.id),H=U?"#1e293b":j;if(U||(P.beginPath(),P.arc(z,O,R*1.9,0,2*Math.PI,!1),P.fillStyle=Ch[M.category]||"rgba(100, 116, 139, 0.14)",P.fill()),(F||L)&&(P.shadowColor=j,P.shadowBlur=15),P.beginPath(),P.arc(z,O,R,0,2*Math.PI,!1),P.fillStyle=H,P.fill(),P.shadowBlur=0,(F||L)&&(P.beginPath(),P.arc(z,O,R+2.5,0,2*Math.PI,!1),P.strokeStyle=L?"#ffffff":"rgba(255, 255, 255, 0.7)",P.lineWidth=1.5,P.stroke()),F||L||_&&g.has(M.id)){const W=M.content.length>35?M.content.slice(0,34)+"…":M.content;if(M.__baseTextWidth===void 0){const qi=P.font;P.font='500 10px "Space Grotesk", sans-serif',M.__baseTextWidth=P.measureText(W).width,P.font=qi}const J=(F||L?10.5:9.5)/Math.max(.5,w);P.font=`${F||L?"bold":"500"} ${J}px "Space Grotesk", sans-serif`;const K=M.__baseTextWidth*(J/10),ot=4.5/Math.max(.5,w),$t=z-K/2-ot,Nn=O+R+6/Math.max(.5,w),jn=K+ot*2,$n=J+ot*1.6;P.fillStyle=U?"rgba(10, 15, 25, 0.45)":"rgba(8, 12, 20, 0.88)",P.fillRect($t,Nn,jn,$n),P.strokeStyle=F||L?"rgba(255, 255, 255, 0.2)":"rgba(255, 255, 255, 0.08)",P.lineWidth=.6/Math.max(.5,w),P.strokeRect($t,Nn,jn,$n),P.textAlign="center",P.textBaseline="top",P.fillStyle=U?"#475569":F||L?"#ffffff":"#cbd5e1",P.fillText(W,z,O+R+7/Math.max(.5,w))}},[h,i,n,_,g]);return Rt.jsxs("div",{className:"absolute inset-0",ref:a,onPointerMove:C,onPointerLeave:A,onPointerDown:N,onClick:E,style:{background:"radial-gradient(circle at center, rgba(59, 130, 246, 0.08) 0%, #030712 100%)"},children:[Rt.jsx(In,{ref:s,width:u.width,height:u.height,graphData:c,backgroundColor:"rgba(0,0,0,0)",cooldownTicks:120,enablePointerInteraction:!1,enableNodeDrag:!1,linkColor:k,linkWidth:S,linkDirectionalParticles:x,linkDirectionalParticleWidth:2.2,linkDirectionalParticleSpeed:.006,nodeCanvasObject:I}),Rt.jsxs("button",{onClick:v,title:"Zentrieren",className:"absolute right-3 top-3 z-10 flex items-center gap-1.5 rounded-lg border border-border/60 bg-background/50 px-2.5 py-1.5 text-[11px] text-muted-foreground hover:text-foreground backdrop-blur-sm transition-colors cursor-pointer",children:[Rt.jsx(Xi,{className:"h-3.5 w-3.5"})," Zentrieren"]}),Rt.jsx("div",{className:"absolute left-3 bottom-3 flex flex-wrap gap-2 rounded-lg bg-background/40 px-2.5 py-1.5 backdrop-blur-sm",children:Object.entries(mh).map(([M,P])=>Rt.jsxs("span",{className:"flex items-center gap-1 text-[10px] text-muted-foreground",children:[Rt.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:$r[M]}}),P]},M))})]})}export{Sh as GraphView};