chapterhouse 0.11.1 → 0.11.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- import{a as Cn,r as H,b as Ht,j as I,E as Rn,L as Tn,c as In}from"./index-DxcT-ERi.js";var Fn={value:()=>{}};function Mt(){for(var t=0,n=arguments.length,e={},r;t<n;++t){if(!(r=arguments[t]+"")||r in e||/[\s.]/.test(r))throw new Error("illegal type: "+r);e[r]=[]}return new at(e)}function at(t){this._=t}function Dn(t,n){return t.trim().split(/^|\s+/).map(function(e){var r="",i=e.indexOf(".");if(i>=0&&(r=e.slice(i+1),e=e.slice(0,i)),e&&!n.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:r}})}at.prototype=Mt.prototype={constructor:at,on:function(t,n){var e=this._,r=Dn(t+"",e),i,s=-1,o=r.length;if(arguments.length<2){for(;++s<o;)if((i=(t=r[s]).type)&&(i=Pn(e[i],t.name)))return i;return}if(n!=null&&typeof n!="function")throw new Error("invalid callback: "+n);for(;++s<o;)if(i=(t=r[s]).type)e[i]=qt(e[i],t.name,n);else if(n==null)for(i in e)e[i]=qt(e[i],t.name,null);return this},copy:function(){var t={},n=this._;for(var e in n)t[e]=n[e].slice();return new at(t)},call:function(t,n){if((i=arguments.length-2)>0)for(var e=new Array(i),r=0,i,s;r<i;++r)e[r]=arguments[r+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(s=this._[t],r=0,i=s.length;r<i;++r)s[r].value.apply(n,e)},apply:function(t,n,e){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,s=r.length;i<s;++i)r[i].value.apply(n,e)}};function Pn(t,n){for(var e=0,r=t.length,i;e<r;++e)if((i=t[e]).name===n)return i.value}function qt(t,n,e){for(var r=0,i=t.length;r<i;++r)if(t[r].name===n){t[r]=Fn,t=t.slice(0,r).concat(t.slice(r+1));break}return e!=null&&t.push({name:n,value:e}),t}var mt="http://www.w3.org/1999/xhtml";const Lt={svg:"http://www.w3.org/2000/svg",xhtml:mt,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function _t(t){var n=t+="",e=n.indexOf(":");return e>=0&&(n=t.slice(0,e))!=="xmlns"&&(t=t.slice(e+1)),Lt.hasOwnProperty(n)?{space:Lt[n],local:t}:t}function Hn(t){return function(){var n=this.ownerDocument,e=this.namespaceURI;return e===mt&&n.documentElement.namespaceURI===mt?n.createElement(t):n.createElementNS(e,t)}}function qn(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function rn(t){var n=_t(t);return(n.local?qn:Hn)(n)}function Ln(){}function St(t){return t==null?Ln:function(){return this.querySelector(t)}}function Xn(t){typeof t!="function"&&(t=St(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var s=n[i],o=s.length,a=r[i]=new Array(o),u,f,l=0;l<o;++l)(u=s[l])&&(f=t.call(u,u.__data__,l,s))&&("__data__"in u&&(f.__data__=u.__data__),a[l]=f);return new $(r,this._parents)}function zn(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function On(){return[]}function sn(t){return t==null?On:function(){return this.querySelectorAll(t)}}function Bn(t){return function(){return zn(t.apply(this,arguments))}}function Vn(t){typeof t=="function"?t=Bn(t):t=sn(t);for(var n=this._groups,e=n.length,r=[],i=[],s=0;s<e;++s)for(var o=n[s],a=o.length,u,f=0;f<a;++f)(u=o[f])&&(r.push(t.call(u,u.__data__,f,o)),i.push(u));return new $(r,i)}function on(t){return function(){return this.matches(t)}}function an(t){return function(n){return n.matches(t)}}var Yn=Array.prototype.find;function Un(t){return function(){return Yn.call(this.children,t)}}function Wn(){return this.firstElementChild}function Kn(t){return this.select(t==null?Wn:Un(typeof t=="function"?t:an(t)))}var Gn=Array.prototype.filter;function Qn(){return Array.from(this.children)}function Jn(t){return function(){return Gn.call(this.children,t)}}function Zn(t){return this.selectAll(t==null?Qn:Jn(typeof t=="function"?t:an(t)))}function jn(t){typeof t!="function"&&(t=on(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var s=n[i],o=s.length,a=r[i]=[],u,f=0;f<o;++f)(u=s[f])&&t.call(u,u.__data__,f,s)&&a.push(u);return new $(r,this._parents)}function un(t){return new Array(t.length)}function te(){return new $(this._enter||this._groups.map(un),this._parents)}function lt(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}lt.prototype={constructor:lt,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,n){return this._parent.insertBefore(t,n)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function ne(t){return function(){return t}}function ee(t,n,e,r,i,s){for(var o=0,a,u=n.length,f=s.length;o<f;++o)(a=n[o])?(a.__data__=s[o],r[o]=a):e[o]=new lt(t,s[o]);for(;o<u;++o)(a=n[o])&&(i[o]=a)}function re(t,n,e,r,i,s,o){var a,u,f=new Map,l=n.length,p=s.length,g=new Array(l),c;for(a=0;a<l;++a)(u=n[a])&&(g[a]=c=o.call(u,u.__data__,a,n)+"",f.has(c)?i[a]=u:f.set(c,u));for(a=0;a<p;++a)c=o.call(t,s[a],a,s)+"",(u=f.get(c))?(r[a]=u,u.__data__=s[a],f.delete(c)):e[a]=new lt(t,s[a]);for(a=0;a<l;++a)(u=n[a])&&f.get(g[a])===u&&(i[a]=u)}function ie(t){return t.__data__}function se(t,n){if(!arguments.length)return Array.from(this,ie);var e=n?re:ee,r=this._parents,i=this._groups;typeof t!="function"&&(t=ne(t));for(var s=i.length,o=new Array(s),a=new Array(s),u=new Array(s),f=0;f<s;++f){var l=r[f],p=i[f],g=p.length,c=oe(t.call(l,l&&l.__data__,f,r)),y=c.length,h=a[f]=new Array(y),d=o[f]=new Array(y),_=u[f]=new Array(g);e(l,p,h,d,_,c,n);for(var x=0,w=0,v,m;x<y;++x)if(v=h[x]){for(x>=w&&(w=x+1);!(m=d[w])&&++w<y;);v._next=m||null}}return o=new $(o,r),o._enter=a,o._exit=u,o}function oe(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function ae(){return new $(this._exit||this._groups.map(un),this._parents)}function ue(t,n,e){var r=this.enter(),i=this,s=this.exit();return typeof t=="function"?(r=t(r),r&&(r=r.selection())):r=r.append(t+""),n!=null&&(i=n(i),i&&(i=i.selection())),e==null?s.remove():e(s),r&&i?r.merge(i).order():i}function fe(t){for(var n=t.selection?t.selection():t,e=this._groups,r=n._groups,i=e.length,s=r.length,o=Math.min(i,s),a=new Array(i),u=0;u<o;++u)for(var f=e[u],l=r[u],p=f.length,g=a[u]=new Array(p),c,y=0;y<p;++y)(c=f[y]||l[y])&&(g[y]=c);for(;u<i;++u)a[u]=e[u];return new $(a,this._parents)}function le(){for(var t=this._groups,n=-1,e=t.length;++n<e;)for(var r=t[n],i=r.length-1,s=r[i],o;--i>=0;)(o=r[i])&&(s&&o.compareDocumentPosition(s)^4&&s.parentNode.insertBefore(o,s),s=o);return this}function ce(t){t||(t=he);function n(p,g){return p&&g?t(p.__data__,g.__data__):!p-!g}for(var e=this._groups,r=e.length,i=new Array(r),s=0;s<r;++s){for(var o=e[s],a=o.length,u=i[s]=new Array(a),f,l=0;l<a;++l)(f=o[l])&&(u[l]=f);u.sort(n)}return new $(i,this._parents).order()}function he(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}function pe(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function ge(){return Array.from(this)}function de(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r=t[n],i=0,s=r.length;i<s;++i){var o=r[i];if(o)return o}return null}function _e(){let t=0;for(const n of this)++t;return t}function ye(){return!this.node()}function xe(t){for(var n=this._groups,e=0,r=n.length;e<r;++e)for(var i=n[e],s=0,o=i.length,a;s<o;++s)(a=i[s])&&t.call(a,a.__data__,s,i);return this}function ve(t){return function(){this.removeAttribute(t)}}function we(t){return function(){this.removeAttributeNS(t.space,t.local)}}function me(t,n){return function(){this.setAttribute(t,n)}}function be(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}function Ne(t,n){return function(){var e=n.apply(this,arguments);e==null?this.removeAttribute(t):this.setAttribute(t,e)}}function Ae(t,n){return function(){var e=n.apply(this,arguments);e==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}}function ke(t,n){var e=_t(t);if(arguments.length<2){var r=this.node();return e.local?r.getAttributeNS(e.space,e.local):r.getAttribute(e)}return this.each((n==null?e.local?we:ve:typeof n=="function"?e.local?Ae:Ne:e.local?be:me)(e,n))}function fn(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function $e(t){return function(){this.style.removeProperty(t)}}function Ee(t,n,e){return function(){this.style.setProperty(t,n,e)}}function Me(t,n,e){return function(){var r=n.apply(this,arguments);r==null?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}function Se(t,n,e){return arguments.length>1?this.each((n==null?$e:typeof n=="function"?Me:Ee)(t,n,e??"")):V(this.node(),t)}function V(t,n){return t.style.getPropertyValue(n)||fn(t).getComputedStyle(t,null).getPropertyValue(n)}function Ce(t){return function(){delete this[t]}}function Re(t,n){return function(){this[t]=n}}function Te(t,n){return function(){var e=n.apply(this,arguments);e==null?delete this[t]:this[t]=e}}function Ie(t,n){return arguments.length>1?this.each((n==null?Ce:typeof n=="function"?Te:Re)(t,n)):this.node()[t]}function ln(t){return t.trim().split(/^|\s+/)}function Ct(t){return t.classList||new cn(t)}function cn(t){this._node=t,this._names=ln(t.getAttribute("class")||"")}cn.prototype={add:function(t){var n=this._names.indexOf(t);n<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var n=this._names.indexOf(t);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function hn(t,n){for(var e=Ct(t),r=-1,i=n.length;++r<i;)e.add(n[r])}function pn(t,n){for(var e=Ct(t),r=-1,i=n.length;++r<i;)e.remove(n[r])}function Fe(t){return function(){hn(this,t)}}function De(t){return function(){pn(this,t)}}function Pe(t,n){return function(){(n.apply(this,arguments)?hn:pn)(this,t)}}function He(t,n){var e=ln(t+"");if(arguments.length<2){for(var r=Ct(this.node()),i=-1,s=e.length;++i<s;)if(!r.contains(e[i]))return!1;return!0}return this.each((typeof n=="function"?Pe:n?Fe:De)(e,n))}function qe(){this.textContent=""}function Le(t){return function(){this.textContent=t}}function Xe(t){return function(){var n=t.apply(this,arguments);this.textContent=n??""}}function ze(t){return arguments.length?this.each(t==null?qe:(typeof t=="function"?Xe:Le)(t)):this.node().textContent}function Oe(){this.innerHTML=""}function Be(t){return function(){this.innerHTML=t}}function Ve(t){return function(){var n=t.apply(this,arguments);this.innerHTML=n??""}}function Ye(t){return arguments.length?this.each(t==null?Oe:(typeof t=="function"?Ve:Be)(t)):this.node().innerHTML}function Ue(){this.nextSibling&&this.parentNode.appendChild(this)}function We(){return this.each(Ue)}function Ke(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Ge(){return this.each(Ke)}function Qe(t){var n=typeof t=="function"?t:rn(t);return this.select(function(){return this.appendChild(n.apply(this,arguments))})}function Je(){return null}function Ze(t,n){var e=typeof t=="function"?t:rn(t),r=n==null?Je:typeof n=="function"?n:St(n);return this.select(function(){return this.insertBefore(e.apply(this,arguments),r.apply(this,arguments)||null)})}function je(){var t=this.parentNode;t&&t.removeChild(this)}function tr(){return this.each(je)}function nr(){var t=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function er(){var t=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function rr(t){return this.select(t?er:nr)}function ir(t){return arguments.length?this.property("__data__",t):this.node().__data__}function sr(t){return function(n){t.call(this,n,this.__data__)}}function or(t){return t.trim().split(/^|\s+/).map(function(n){var e="",r=n.indexOf(".");return r>=0&&(e=n.slice(r+1),n=n.slice(0,r)),{type:n,name:e}})}function ar(t){return function(){var n=this.__on;if(n){for(var e=0,r=-1,i=n.length,s;e<i;++e)s=n[e],(!t.type||s.type===t.type)&&s.name===t.name?this.removeEventListener(s.type,s.listener,s.options):n[++r]=s;++r?n.length=r:delete this.__on}}}function ur(t,n,e){return function(){var r=this.__on,i,s=sr(n);if(r){for(var o=0,a=r.length;o<a;++o)if((i=r[o]).type===t.type&&i.name===t.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=s,i.options=e),i.value=n;return}}this.addEventListener(t.type,s,e),i={type:t.type,name:t.name,value:n,listener:s,options:e},r?r.push(i):this.__on=[i]}}function fr(t,n,e){var r=or(t+""),i,s=r.length,o;if(arguments.length<2){var a=this.node().__on;if(a){for(var u=0,f=a.length,l;u<f;++u)for(i=0,l=a[u];i<s;++i)if((o=r[i]).type===l.type&&o.name===l.name)return l.value}return}for(a=n?ur:ar,i=0;i<s;++i)this.each(a(r[i],n,e));return this}function gn(t,n,e){var r=fn(t),i=r.CustomEvent;typeof i=="function"?i=new i(n,e):(i=r.document.createEvent("Event"),e?(i.initEvent(n,e.bubbles,e.cancelable),i.detail=e.detail):i.initEvent(n,!1,!1)),t.dispatchEvent(i)}function lr(t,n){return function(){return gn(this,t,n)}}function cr(t,n){return function(){return gn(this,t,n.apply(this,arguments))}}function hr(t,n){return this.each((typeof n=="function"?cr:lr)(t,n))}function*pr(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r=t[n],i=0,s=r.length,o;i<s;++i)(o=r[i])&&(yield o)}var dn=[null];function $(t,n){this._groups=t,this._parents=n}function et(){return new $([[document.documentElement]],dn)}function gr(){return this}$.prototype=et.prototype={constructor:$,select:Xn,selectAll:Vn,selectChild:Kn,selectChildren:Zn,filter:jn,data:se,enter:te,exit:ae,join:ue,merge:fe,selection:gr,order:le,sort:ce,call:pe,nodes:ge,node:de,size:_e,empty:ye,each:xe,attr:ke,style:Se,property:Ie,classed:He,text:ze,html:Ye,raise:We,lower:Ge,append:Qe,insert:Ze,remove:tr,clone:rr,datum:ir,on:fr,dispatch:hr,[Symbol.iterator]:pr};function dr(t){return typeof t=="string"?new $([[document.querySelector(t)]],[document.documentElement]):new $([[t]],dn)}function Rt(t,n,e){t.prototype=n.prototype=e,e.constructor=t}function _n(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function rt(){}var Z=.7,ct=1/Z,B="\\s*([+-]?\\d+)\\s*",j="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",C="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",_r=/^#([0-9a-f]{3,8})$/,yr=new RegExp(`^rgb\\(${B},${B},${B}\\)$`),xr=new RegExp(`^rgb\\(${C},${C},${C}\\)$`),vr=new RegExp(`^rgba\\(${B},${B},${B},${j}\\)$`),wr=new RegExp(`^rgba\\(${C},${C},${C},${j}\\)$`),mr=new RegExp(`^hsl\\(${j},${C},${C}\\)$`),br=new RegExp(`^hsla\\(${j},${C},${C},${j}\\)$`),Xt={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Rt(rt,tt,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:zt,formatHex:zt,formatHex8:Nr,formatHsl:Ar,formatRgb:Ot,toString:Ot});function zt(){return this.rgb().formatHex()}function Nr(){return this.rgb().formatHex8()}function Ar(){return yn(this).formatHsl()}function Ot(){return this.rgb().formatRgb()}function tt(t){var n,e;return t=(t+"").trim().toLowerCase(),(n=_r.exec(t))?(e=n[1].length,n=parseInt(n[1],16),e===6?Bt(n):e===3?new A(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):e===8?it(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):e===4?it(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=yr.exec(t))?new A(n[1],n[2],n[3],1):(n=xr.exec(t))?new A(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=vr.exec(t))?it(n[1],n[2],n[3],n[4]):(n=wr.exec(t))?it(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=mr.exec(t))?Ut(n[1],n[2]/100,n[3]/100,1):(n=br.exec(t))?Ut(n[1],n[2]/100,n[3]/100,n[4]):Xt.hasOwnProperty(t)?Bt(Xt[t]):t==="transparent"?new A(NaN,NaN,NaN,0):null}function Bt(t){return new A(t>>16&255,t>>8&255,t&255,1)}function it(t,n,e,r){return r<=0&&(t=n=e=NaN),new A(t,n,e,r)}function kr(t){return t instanceof rt||(t=tt(t)),t?(t=t.rgb(),new A(t.r,t.g,t.b,t.opacity)):new A}function bt(t,n,e,r){return arguments.length===1?kr(t):new A(t,n,e,r??1)}function A(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}Rt(A,bt,_n(rt,{brighter(t){return t=t==null?ct:Math.pow(ct,t),new A(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?Z:Math.pow(Z,t),new A(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new A(L(this.r),L(this.g),L(this.b),ht(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Vt,formatHex:Vt,formatHex8:$r,formatRgb:Yt,toString:Yt}));function Vt(){return`#${q(this.r)}${q(this.g)}${q(this.b)}`}function $r(){return`#${q(this.r)}${q(this.g)}${q(this.b)}${q((isNaN(this.opacity)?1:this.opacity)*255)}`}function Yt(){const t=ht(this.opacity);return`${t===1?"rgb(":"rgba("}${L(this.r)}, ${L(this.g)}, ${L(this.b)}${t===1?")":`, ${t})`}`}function ht(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function L(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function q(t){return t=L(t),(t<16?"0":"")+t.toString(16)}function Ut(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new M(t,n,e,r)}function yn(t){if(t instanceof M)return new M(t.h,t.s,t.l,t.opacity);if(t instanceof rt||(t=tt(t)),!t)return new M;if(t instanceof M)return t;t=t.rgb();var n=t.r/255,e=t.g/255,r=t.b/255,i=Math.min(n,e,r),s=Math.max(n,e,r),o=NaN,a=s-i,u=(s+i)/2;return a?(n===s?o=(e-r)/a+(e<r)*6:e===s?o=(r-n)/a+2:o=(n-e)/a+4,a/=u<.5?s+i:2-s-i,o*=60):a=u>0&&u<1?0:o,new M(o,a,u,t.opacity)}function Er(t,n,e,r){return arguments.length===1?yn(t):new M(t,n,e,r??1)}function M(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}Rt(M,Er,_n(rt,{brighter(t){return t=t==null?ct:Math.pow(ct,t),new M(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Z:Math.pow(Z,t),new M(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,n=isNaN(t)||isNaN(this.s)?0:this.s,e=this.l,r=e+(e<.5?e:1-e)*n,i=2*e-r;return new A(vt(t>=240?t-240:t+120,i,r),vt(t,i,r),vt(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new M(Wt(this.h),st(this.s),st(this.l),ht(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=ht(this.opacity);return`${t===1?"hsl(":"hsla("}${Wt(this.h)}, ${st(this.s)*100}%, ${st(this.l)*100}%${t===1?")":`, ${t})`}`}}));function Wt(t){return t=(t||0)%360,t<0?t+360:t}function st(t){return Math.max(0,Math.min(1,t||0))}function vt(t,n,e){return(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)*255}const xn=t=>()=>t;function Mr(t,n){return function(e){return t+e*n}}function Sr(t,n,e){return t=Math.pow(t,e),n=Math.pow(n,e)-t,e=1/e,function(r){return Math.pow(t+r*n,e)}}function Cr(t){return(t=+t)==1?vn:function(n,e){return e-n?Sr(n,e,t):xn(isNaN(n)?e:n)}}function vn(t,n){var e=n-t;return e?Mr(t,e):xn(isNaN(t)?n:t)}const Kt=function t(n){var e=Cr(n);function r(i,s){var o=e((i=bt(i)).r,(s=bt(s)).r),a=e(i.g,s.g),u=e(i.b,s.b),f=vn(i.opacity,s.opacity);return function(l){return i.r=o(l),i.g=a(l),i.b=u(l),i.opacity=f(l),i+""}}return r.gamma=t,r}(1);function P(t,n){return t=+t,n=+n,function(e){return t*(1-e)+n*e}}var Nt=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,wt=new RegExp(Nt.source,"g");function Rr(t){return function(){return t}}function Tr(t){return function(n){return t(n)+""}}function Ir(t,n){var e=Nt.lastIndex=wt.lastIndex=0,r,i,s,o=-1,a=[],u=[];for(t=t+"",n=n+"";(r=Nt.exec(t))&&(i=wt.exec(n));)(s=i.index)>e&&(s=n.slice(e,s),a[o]?a[o]+=s:a[++o]=s),(r=r[0])===(i=i[0])?a[o]?a[o]+=i:a[++o]=i:(a[++o]=null,u.push({i:o,x:P(r,i)})),e=wt.lastIndex;return e<n.length&&(s=n.slice(e),a[o]?a[o]+=s:a[++o]=s),a.length<2?u[0]?Tr(u[0].x):Rr(n):(n=u.length,function(f){for(var l=0,p;l<n;++l)a[(p=u[l]).i]=p.x(f);return a.join("")})}var Gt=180/Math.PI,At={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function wn(t,n,e,r,i,s){var o,a,u;return(o=Math.sqrt(t*t+n*n))&&(t/=o,n/=o),(u=t*e+n*r)&&(e-=t*u,r-=n*u),(a=Math.sqrt(e*e+r*r))&&(e/=a,r/=a,u/=a),t*r<n*e&&(t=-t,n=-n,u=-u,o=-o),{translateX:i,translateY:s,rotate:Math.atan2(n,t)*Gt,skewX:Math.atan(u)*Gt,scaleX:o,scaleY:a}}var ot;function Fr(t){const n=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return n.isIdentity?At:wn(n.a,n.b,n.c,n.d,n.e,n.f)}function Dr(t){return t==null||(ot||(ot=document.createElementNS("http://www.w3.org/2000/svg","g")),ot.setAttribute("transform",t),!(t=ot.transform.baseVal.consolidate()))?At:(t=t.matrix,wn(t.a,t.b,t.c,t.d,t.e,t.f))}function mn(t,n,e,r){function i(f){return f.length?f.pop()+" ":""}function s(f,l,p,g,c,y){if(f!==p||l!==g){var h=c.push("translate(",null,n,null,e);y.push({i:h-4,x:P(f,p)},{i:h-2,x:P(l,g)})}else(p||g)&&c.push("translate("+p+n+g+e)}function o(f,l,p,g){f!==l?(f-l>180?l+=360:l-f>180&&(f+=360),g.push({i:p.push(i(p)+"rotate(",null,r)-2,x:P(f,l)})):l&&p.push(i(p)+"rotate("+l+r)}function a(f,l,p,g){f!==l?g.push({i:p.push(i(p)+"skewX(",null,r)-2,x:P(f,l)}):l&&p.push(i(p)+"skewX("+l+r)}function u(f,l,p,g,c,y){if(f!==p||l!==g){var h=c.push(i(c)+"scale(",null,",",null,")");y.push({i:h-4,x:P(f,p)},{i:h-2,x:P(l,g)})}else(p!==1||g!==1)&&c.push(i(c)+"scale("+p+","+g+")")}return function(f,l){var p=[],g=[];return f=t(f),l=t(l),s(f.translateX,f.translateY,l.translateX,l.translateY,p,g),o(f.rotate,l.rotate,p,g),a(f.skewX,l.skewX,p,g),u(f.scaleX,f.scaleY,l.scaleX,l.scaleY,p,g),f=l=null,function(c){for(var y=-1,h=g.length,d;++y<h;)p[(d=g[y]).i]=d.x(c);return p.join("")}}}var Pr=mn(Fr,"px, ","px)","deg)"),Hr=mn(Dr,", ",")",")"),Y=0,K=0,W=0,bn=1e3,pt,G,gt=0,X=0,yt=0,nt=typeof performance=="object"&&performance.now?performance:Date,Nn=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function Tt(){return X||(Nn(qr),X=nt.now()+yt)}function qr(){X=0}function dt(){this._call=this._time=this._next=null}dt.prototype=It.prototype={constructor:dt,restart:function(t,n,e){if(typeof t!="function")throw new TypeError("callback is not a function");e=(e==null?Tt():+e)+(n==null?0:+n),!this._next&&G!==this&&(G?G._next=this:pt=this,G=this),this._call=t,this._time=e,kt()},stop:function(){this._call&&(this._call=null,this._time=1/0,kt())}};function It(t,n,e){var r=new dt;return r.restart(t,n,e),r}function Lr(){Tt(),++Y;for(var t=pt,n;t;)(n=X-t._time)>=0&&t._call.call(void 0,n),t=t._next;--Y}function Qt(){X=(gt=nt.now())+yt,Y=K=0;try{Lr()}finally{Y=0,zr(),X=0}}function Xr(){var t=nt.now(),n=t-gt;n>bn&&(yt-=n,gt=t)}function zr(){for(var t,n=pt,e,r=1/0;n;)n._call?(r>n._time&&(r=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:pt=e);G=t,kt(r)}function kt(t){if(!Y){K&&(K=clearTimeout(K));var n=t-X;n>24?(t<1/0&&(K=setTimeout(Qt,t-nt.now()-yt)),W&&(W=clearInterval(W))):(W||(gt=nt.now(),W=setInterval(Xr,bn)),Y=1,Nn(Qt))}}function Jt(t,n,e){var r=new dt;return n=n==null?0:+n,r.restart(i=>{r.stop(),t(i+n)},n,e),r}var Or=Mt("start","end","cancel","interrupt"),Br=[],An=0,Zt=1,$t=2,ut=3,jt=4,Et=5,ft=6;function xt(t,n,e,r,i,s){var o=t.__transition;if(!o)t.__transition={};else if(e in o)return;Vr(t,e,{name:n,index:r,group:i,on:Or,tween:Br,time:s.time,delay:s.delay,duration:s.duration,ease:s.ease,timer:null,state:An})}function Ft(t,n){var e=S(t,n);if(e.state>An)throw new Error("too late; already scheduled");return e}function R(t,n){var e=S(t,n);if(e.state>ut)throw new Error("too late; already running");return e}function S(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw new Error("transition not found");return e}function Vr(t,n,e){var r=t.__transition,i;r[n]=e,e.timer=It(s,0,e.time);function s(f){e.state=Zt,e.timer.restart(o,e.delay,e.time),e.delay<=f&&o(f-e.delay)}function o(f){var l,p,g,c;if(e.state!==Zt)return u();for(l in r)if(c=r[l],c.name===e.name){if(c.state===ut)return Jt(o);c.state===jt?(c.state=ft,c.timer.stop(),c.on.call("interrupt",t,t.__data__,c.index,c.group),delete r[l]):+l<n&&(c.state=ft,c.timer.stop(),c.on.call("cancel",t,t.__data__,c.index,c.group),delete r[l])}if(Jt(function(){e.state===ut&&(e.state=jt,e.timer.restart(a,e.delay,e.time),a(f))}),e.state=$t,e.on.call("start",t,t.__data__,e.index,e.group),e.state===$t){for(e.state=ut,i=new Array(g=e.tween.length),l=0,p=-1;l<g;++l)(c=e.tween[l].value.call(t,t.__data__,e.index,e.group))&&(i[++p]=c);i.length=p+1}}function a(f){for(var l=f<e.duration?e.ease.call(null,f/e.duration):(e.timer.restart(u),e.state=Et,1),p=-1,g=i.length;++p<g;)i[p].call(t,l);e.state===Et&&(e.on.call("end",t,t.__data__,e.index,e.group),u())}function u(){e.state=ft,e.timer.stop(),delete r[n];for(var f in r)return;delete t.__transition}}function Yr(t,n){var e=t.__transition,r,i,s=!0,o;if(e){n=n==null?null:n+"";for(o in e){if((r=e[o]).name!==n){s=!1;continue}i=r.state>$t&&r.state<Et,r.state=ft,r.timer.stop(),r.on.call(i?"interrupt":"cancel",t,t.__data__,r.index,r.group),delete e[o]}s&&delete t.__transition}}function Ur(t){return this.each(function(){Yr(this,t)})}function Wr(t,n){var e,r;return function(){var i=R(this,t),s=i.tween;if(s!==e){r=e=s;for(var o=0,a=r.length;o<a;++o)if(r[o].name===n){r=r.slice(),r.splice(o,1);break}}i.tween=r}}function Kr(t,n,e){var r,i;if(typeof e!="function")throw new Error;return function(){var s=R(this,t),o=s.tween;if(o!==r){i=(r=o).slice();for(var a={name:n,value:e},u=0,f=i.length;u<f;++u)if(i[u].name===n){i[u]=a;break}u===f&&i.push(a)}s.tween=i}}function Gr(t,n){var e=this._id;if(t+="",arguments.length<2){for(var r=S(this.node(),e).tween,i=0,s=r.length,o;i<s;++i)if((o=r[i]).name===t)return o.value;return null}return this.each((n==null?Wr:Kr)(e,t,n))}function Dt(t,n,e){var r=t._id;return t.each(function(){var i=R(this,r);(i.value||(i.value={}))[n]=e.apply(this,arguments)}),function(i){return S(i,r).value[n]}}function kn(t,n){var e;return(typeof n=="number"?P:n instanceof tt?Kt:(e=tt(n))?(n=e,Kt):Ir)(t,n)}function Qr(t){return function(){this.removeAttribute(t)}}function Jr(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Zr(t,n,e){var r,i=e+"",s;return function(){var o=this.getAttribute(t);return o===i?null:o===r?s:s=n(r=o,e)}}function jr(t,n,e){var r,i=e+"",s;return function(){var o=this.getAttributeNS(t.space,t.local);return o===i?null:o===r?s:s=n(r=o,e)}}function ti(t,n,e){var r,i,s;return function(){var o,a=e(this),u;return a==null?void this.removeAttribute(t):(o=this.getAttribute(t),u=a+"",o===u?null:o===r&&u===i?s:(i=u,s=n(r=o,a)))}}function ni(t,n,e){var r,i,s;return function(){var o,a=e(this),u;return a==null?void this.removeAttributeNS(t.space,t.local):(o=this.getAttributeNS(t.space,t.local),u=a+"",o===u?null:o===r&&u===i?s:(i=u,s=n(r=o,a)))}}function ei(t,n){var e=_t(t),r=e==="transform"?Hr:kn;return this.attrTween(t,typeof n=="function"?(e.local?ni:ti)(e,r,Dt(this,"attr."+t,n)):n==null?(e.local?Jr:Qr)(e):(e.local?jr:Zr)(e,r,n))}function ri(t,n){return function(e){this.setAttribute(t,n.call(this,e))}}function ii(t,n){return function(e){this.setAttributeNS(t.space,t.local,n.call(this,e))}}function si(t,n){var e,r;function i(){var s=n.apply(this,arguments);return s!==r&&(e=(r=s)&&ii(t,s)),e}return i._value=n,i}function oi(t,n){var e,r;function i(){var s=n.apply(this,arguments);return s!==r&&(e=(r=s)&&ri(t,s)),e}return i._value=n,i}function ai(t,n){var e="attr."+t;if(arguments.length<2)return(e=this.tween(e))&&e._value;if(n==null)return this.tween(e,null);if(typeof n!="function")throw new Error;var r=_t(t);return this.tween(e,(r.local?si:oi)(r,n))}function ui(t,n){return function(){Ft(this,t).delay=+n.apply(this,arguments)}}function fi(t,n){return n=+n,function(){Ft(this,t).delay=n}}function li(t){var n=this._id;return arguments.length?this.each((typeof t=="function"?ui:fi)(n,t)):S(this.node(),n).delay}function ci(t,n){return function(){R(this,t).duration=+n.apply(this,arguments)}}function hi(t,n){return n=+n,function(){R(this,t).duration=n}}function pi(t){var n=this._id;return arguments.length?this.each((typeof t=="function"?ci:hi)(n,t)):S(this.node(),n).duration}function gi(t,n){if(typeof n!="function")throw new Error;return function(){R(this,t).ease=n}}function di(t){var n=this._id;return arguments.length?this.each(gi(n,t)):S(this.node(),n).ease}function _i(t,n){return function(){var e=n.apply(this,arguments);if(typeof e!="function")throw new Error;R(this,t).ease=e}}function yi(t){if(typeof t!="function")throw new Error;return this.each(_i(this._id,t))}function xi(t){typeof t!="function"&&(t=on(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var s=n[i],o=s.length,a=r[i]=[],u,f=0;f<o;++f)(u=s[f])&&t.call(u,u.__data__,f,s)&&a.push(u);return new D(r,this._parents,this._name,this._id)}function vi(t){if(t._id!==this._id)throw new Error;for(var n=this._groups,e=t._groups,r=n.length,i=e.length,s=Math.min(r,i),o=new Array(r),a=0;a<s;++a)for(var u=n[a],f=e[a],l=u.length,p=o[a]=new Array(l),g,c=0;c<l;++c)(g=u[c]||f[c])&&(p[c]=g);for(;a<r;++a)o[a]=n[a];return new D(o,this._parents,this._name,this._id)}function wi(t){return(t+"").trim().split(/^|\s+/).every(function(n){var e=n.indexOf(".");return e>=0&&(n=n.slice(0,e)),!n||n==="start"})}function mi(t,n,e){var r,i,s=wi(n)?Ft:R;return function(){var o=s(this,t),a=o.on;a!==r&&(i=(r=a).copy()).on(n,e),o.on=i}}function bi(t,n){var e=this._id;return arguments.length<2?S(this.node(),e).on.on(t):this.each(mi(e,t,n))}function Ni(t){return function(){var n=this.parentNode;for(var e in this.__transition)if(+e!==t)return;n&&n.removeChild(this)}}function Ai(){return this.on("end.remove",Ni(this._id))}function ki(t){var n=this._name,e=this._id;typeof t!="function"&&(t=St(t));for(var r=this._groups,i=r.length,s=new Array(i),o=0;o<i;++o)for(var a=r[o],u=a.length,f=s[o]=new Array(u),l,p,g=0;g<u;++g)(l=a[g])&&(p=t.call(l,l.__data__,g,a))&&("__data__"in l&&(p.__data__=l.__data__),f[g]=p,xt(f[g],n,e,g,f,S(l,e)));return new D(s,this._parents,n,e)}function $i(t){var n=this._name,e=this._id;typeof t!="function"&&(t=sn(t));for(var r=this._groups,i=r.length,s=[],o=[],a=0;a<i;++a)for(var u=r[a],f=u.length,l,p=0;p<f;++p)if(l=u[p]){for(var g=t.call(l,l.__data__,p,u),c,y=S(l,e),h=0,d=g.length;h<d;++h)(c=g[h])&&xt(c,n,e,h,g,y);s.push(g),o.push(l)}return new D(s,o,n,e)}var Ei=et.prototype.constructor;function Mi(){return new Ei(this._groups,this._parents)}function Si(t,n){var e,r,i;return function(){var s=V(this,t),o=(this.style.removeProperty(t),V(this,t));return s===o?null:s===e&&o===r?i:i=n(e=s,r=o)}}function $n(t){return function(){this.style.removeProperty(t)}}function Ci(t,n,e){var r,i=e+"",s;return function(){var o=V(this,t);return o===i?null:o===r?s:s=n(r=o,e)}}function Ri(t,n,e){var r,i,s;return function(){var o=V(this,t),a=e(this),u=a+"";return a==null&&(u=a=(this.style.removeProperty(t),V(this,t))),o===u?null:o===r&&u===i?s:(i=u,s=n(r=o,a))}}function Ti(t,n){var e,r,i,s="style."+n,o="end."+s,a;return function(){var u=R(this,t),f=u.on,l=u.value[s]==null?a||(a=$n(n)):void 0;(f!==e||i!==l)&&(r=(e=f).copy()).on(o,i=l),u.on=r}}function Ii(t,n,e){var r=(t+="")=="transform"?Pr:kn;return n==null?this.styleTween(t,Si(t,r)).on("end.style."+t,$n(t)):typeof n=="function"?this.styleTween(t,Ri(t,r,Dt(this,"style."+t,n))).each(Ti(this._id,t)):this.styleTween(t,Ci(t,r,n),e).on("end.style."+t,null)}function Fi(t,n,e){return function(r){this.style.setProperty(t,n.call(this,r),e)}}function Di(t,n,e){var r,i;function s(){var o=n.apply(this,arguments);return o!==i&&(r=(i=o)&&Fi(t,o,e)),r}return s._value=n,s}function Pi(t,n,e){var r="style."+(t+="");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;return this.tween(r,Di(t,n,e??""))}function Hi(t){return function(){this.textContent=t}}function qi(t){return function(){var n=t(this);this.textContent=n??""}}function Li(t){return this.tween("text",typeof t=="function"?qi(Dt(this,"text",t)):Hi(t==null?"":t+""))}function Xi(t){return function(n){this.textContent=t.call(this,n)}}function zi(t){var n,e;function r(){var i=t.apply(this,arguments);return i!==e&&(n=(e=i)&&Xi(i)),n}return r._value=t,r}function Oi(t){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;return this.tween(n,zi(t))}function Bi(){for(var t=this._name,n=this._id,e=En(),r=this._groups,i=r.length,s=0;s<i;++s)for(var o=r[s],a=o.length,u,f=0;f<a;++f)if(u=o[f]){var l=S(u,n);xt(u,t,e,f,o,{time:l.time+l.delay+l.duration,delay:0,duration:l.duration,ease:l.ease})}return new D(r,this._parents,t,e)}function Vi(){var t,n,e=this,r=e._id,i=e.size();return new Promise(function(s,o){var a={value:o},u={value:function(){--i===0&&s()}};e.each(function(){var f=R(this,r),l=f.on;l!==t&&(n=(t=l).copy(),n._.cancel.push(a),n._.interrupt.push(a),n._.end.push(u)),f.on=n}),i===0&&s()})}var Yi=0;function D(t,n,e,r){this._groups=t,this._parents=n,this._name=e,this._id=r}function En(){return++Yi}var F=et.prototype;D.prototype={constructor:D,select:ki,selectAll:$i,selectChild:F.selectChild,selectChildren:F.selectChildren,filter:xi,merge:vi,selection:Mi,transition:Bi,call:F.call,nodes:F.nodes,node:F.node,size:F.size,empty:F.empty,each:F.each,on:bi,attr:ei,attrTween:ai,style:Ii,styleTween:Pi,text:Li,textTween:Oi,remove:Ai,tween:Gr,delay:li,duration:pi,ease:di,easeVarying:yi,end:Vi,[Symbol.iterator]:F[Symbol.iterator]};function Ui(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var Wi={time:null,delay:0,duration:250,ease:Ui};function Ki(t,n){for(var e;!(e=t.__transition)||!(e=e[n]);)if(!(t=t.parentNode))throw new Error(`transition ${n} not found`);return e}function Gi(t){var n,e;t instanceof D?(n=t._id,t=t._name):(n=En(),(e=Wi).time=Tt(),t=t==null?null:t+"");for(var r=this._groups,i=r.length,s=0;s<i;++s)for(var o=r[s],a=o.length,u,f=0;f<a;++f)(u=o[f])&&xt(u,t,n,f,o,e||Ki(u,n));return new D(r,this._parents,t,n)}et.prototype.interrupt=Ur;et.prototype.transition=Gi;function Qi(t,n){var e,r=1;t==null&&(t=0),n==null&&(n=0);function i(){var s,o=e.length,a,u=0,f=0;for(s=0;s<o;++s)a=e[s],u+=a.x,f+=a.y;for(u=(u/o-t)*r,f=(f/o-n)*r,s=0;s<o;++s)a=e[s],a.x-=u,a.y-=f}return i.initialize=function(s){e=s},i.x=function(s){return arguments.length?(t=+s,i):t},i.y=function(s){return arguments.length?(n=+s,i):n},i.strength=function(s){return arguments.length?(r=+s,i):r},i}function Ji(t){const n=+this._x.call(null,t),e=+this._y.call(null,t);return Mn(this.cover(n,e),n,e,t)}function Mn(t,n,e,r){if(isNaN(n)||isNaN(e))return t;var i,s=t._root,o={data:r},a=t._x0,u=t._y0,f=t._x1,l=t._y1,p,g,c,y,h,d,_,x;if(!s)return t._root=o,t;for(;s.length;)if((h=n>=(p=(a+f)/2))?a=p:f=p,(d=e>=(g=(u+l)/2))?u=g:l=g,i=s,!(s=s[_=d<<1|h]))return i[_]=o,t;if(c=+t._x.call(null,s.data),y=+t._y.call(null,s.data),n===c&&e===y)return o.next=s,i?i[_]=o:t._root=o,t;do i=i?i[_]=new Array(4):t._root=new Array(4),(h=n>=(p=(a+f)/2))?a=p:f=p,(d=e>=(g=(u+l)/2))?u=g:l=g;while((_=d<<1|h)===(x=(y>=g)<<1|c>=p));return i[x]=s,i[_]=o,t}function Zi(t){var n,e,r=t.length,i,s,o=new Array(r),a=new Array(r),u=1/0,f=1/0,l=-1/0,p=-1/0;for(e=0;e<r;++e)isNaN(i=+this._x.call(null,n=t[e]))||isNaN(s=+this._y.call(null,n))||(o[e]=i,a[e]=s,i<u&&(u=i),i>l&&(l=i),s<f&&(f=s),s>p&&(p=s));if(u>l||f>p)return this;for(this.cover(u,f).cover(l,p),e=0;e<r;++e)Mn(this,o[e],a[e],t[e]);return this}function ji(t,n){if(isNaN(t=+t)||isNaN(n=+n))return this;var e=this._x0,r=this._y0,i=this._x1,s=this._y1;if(isNaN(e))i=(e=Math.floor(t))+1,s=(r=Math.floor(n))+1;else{for(var o=i-e||1,a=this._root,u,f;e>t||t>=i||r>n||n>=s;)switch(f=(n<r)<<1|t<e,u=new Array(4),u[f]=a,a=u,o*=2,f){case 0:i=e+o,s=r+o;break;case 1:e=i-o,s=r+o;break;case 2:i=e+o,r=s-o;break;case 3:e=i-o,r=s-o;break}this._root&&this._root.length&&(this._root=a)}return this._x0=e,this._y0=r,this._x1=i,this._y1=s,this}function ts(){var t=[];return this.visit(function(n){if(!n.length)do t.push(n.data);while(n=n.next)}),t}function ns(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}function b(t,n,e,r,i){this.node=t,this.x0=n,this.y0=e,this.x1=r,this.y1=i}function es(t,n,e){var r,i=this._x0,s=this._y0,o,a,u,f,l=this._x1,p=this._y1,g=[],c=this._root,y,h;for(c&&g.push(new b(c,i,s,l,p)),e==null?e=1/0:(i=t-e,s=n-e,l=t+e,p=n+e,e*=e);y=g.pop();)if(!(!(c=y.node)||(o=y.x0)>l||(a=y.y0)>p||(u=y.x1)<i||(f=y.y1)<s))if(c.length){var d=(o+u)/2,_=(a+f)/2;g.push(new b(c[3],d,_,u,f),new b(c[2],o,_,d,f),new b(c[1],d,a,u,_),new b(c[0],o,a,d,_)),(h=(n>=_)<<1|t>=d)&&(y=g[g.length-1],g[g.length-1]=g[g.length-1-h],g[g.length-1-h]=y)}else{var x=t-+this._x.call(null,c.data),w=n-+this._y.call(null,c.data),v=x*x+w*w;if(v<e){var m=Math.sqrt(e=v);i=t-m,s=n-m,l=t+m,p=n+m,r=c.data}}return r}function rs(t){if(isNaN(l=+this._x.call(null,t))||isNaN(p=+this._y.call(null,t)))return this;var n,e=this._root,r,i,s,o=this._x0,a=this._y0,u=this._x1,f=this._y1,l,p,g,c,y,h,d,_;if(!e)return this;if(e.length)for(;;){if((y=l>=(g=(o+u)/2))?o=g:u=g,(h=p>=(c=(a+f)/2))?a=c:f=c,n=e,!(e=e[d=h<<1|y]))return this;if(!e.length)break;(n[d+1&3]||n[d+2&3]||n[d+3&3])&&(r=n,_=d)}for(;e.data!==t;)if(i=e,!(e=e.next))return this;return(s=e.next)&&delete e.next,i?(s?i.next=s:delete i.next,this):n?(s?n[d]=s:delete n[d],(e=n[0]||n[1]||n[2]||n[3])&&e===(n[3]||n[2]||n[1]||n[0])&&!e.length&&(r?r[_]=e:this._root=e),this):(this._root=s,this)}function is(t){for(var n=0,e=t.length;n<e;++n)this.remove(t[n]);return this}function ss(){return this._root}function os(){var t=0;return this.visit(function(n){if(!n.length)do++t;while(n=n.next)}),t}function as(t){var n=[],e,r=this._root,i,s,o,a,u;for(r&&n.push(new b(r,this._x0,this._y0,this._x1,this._y1));e=n.pop();)if(!t(r=e.node,s=e.x0,o=e.y0,a=e.x1,u=e.y1)&&r.length){var f=(s+a)/2,l=(o+u)/2;(i=r[3])&&n.push(new b(i,f,l,a,u)),(i=r[2])&&n.push(new b(i,s,l,f,u)),(i=r[1])&&n.push(new b(i,f,o,a,l)),(i=r[0])&&n.push(new b(i,s,o,f,l))}return this}function us(t){var n=[],e=[],r;for(this._root&&n.push(new b(this._root,this._x0,this._y0,this._x1,this._y1));r=n.pop();){var i=r.node;if(i.length){var s,o=r.x0,a=r.y0,u=r.x1,f=r.y1,l=(o+u)/2,p=(a+f)/2;(s=i[0])&&n.push(new b(s,o,a,l,p)),(s=i[1])&&n.push(new b(s,l,a,u,p)),(s=i[2])&&n.push(new b(s,o,p,l,f)),(s=i[3])&&n.push(new b(s,l,p,u,f))}e.push(r)}for(;r=e.pop();)t(r.node,r.x0,r.y0,r.x1,r.y1);return this}function fs(t){return t[0]}function ls(t){return arguments.length?(this._x=t,this):this._x}function cs(t){return t[1]}function hs(t){return arguments.length?(this._y=t,this):this._y}function Sn(t,n,e){var r=new Pt(n??fs,e??cs,NaN,NaN,NaN,NaN);return t==null?r:r.addAll(t)}function Pt(t,n,e,r,i,s){this._x=t,this._y=n,this._x0=e,this._y0=r,this._x1=i,this._y1=s,this._root=void 0}function tn(t){for(var n={data:t.data},e=n;t=t.next;)e=e.next={data:t.data};return n}var N=Sn.prototype=Pt.prototype;N.copy=function(){var t=new Pt(this._x,this._y,this._x0,this._y0,this._x1,this._y1),n=this._root,e,r;if(!n)return t;if(!n.length)return t._root=tn(n),t;for(e=[{source:n,target:t._root=new Array(4)}];n=e.pop();)for(var i=0;i<4;++i)(r=n.source[i])&&(r.length?e.push({source:r,target:n.target[i]=new Array(4)}):n.target[i]=tn(r));return t};N.add=Ji;N.addAll=Zi;N.cover=ji;N.data=ts;N.extent=ns;N.find=es;N.remove=rs;N.removeAll=is;N.root=ss;N.size=os;N.visit=as;N.visitAfter=us;N.x=ls;N.y=hs;function J(t){return function(){return t}}function O(t){return(t()-.5)*1e-6}function ps(t){return t.index}function nn(t,n){var e=t.get(n);if(!e)throw new Error("node not found: "+n);return e}function gs(t){var n=ps,e=p,r,i=J(30),s,o,a,u,f,l=1;t==null&&(t=[]);function p(d){return 1/Math.min(a[d.source.index],a[d.target.index])}function g(d){for(var _=0,x=t.length;_<l;++_)for(var w=0,v,m,k,E,T,z,U;w<x;++w)v=t[w],m=v.source,k=v.target,E=k.x+k.vx-m.x-m.vx||O(f),T=k.y+k.vy-m.y-m.vy||O(f),z=Math.sqrt(E*E+T*T),z=(z-s[w])/z*d*r[w],E*=z,T*=z,k.vx-=E*(U=u[w]),k.vy-=T*U,m.vx+=E*(U=1-U),m.vy+=T*U}function c(){if(o){var d,_=o.length,x=t.length,w=new Map(o.map((m,k)=>[n(m,k,o),m])),v;for(d=0,a=new Array(_);d<x;++d)v=t[d],v.index=d,typeof v.source!="object"&&(v.source=nn(w,v.source)),typeof v.target!="object"&&(v.target=nn(w,v.target)),a[v.source.index]=(a[v.source.index]||0)+1,a[v.target.index]=(a[v.target.index]||0)+1;for(d=0,u=new Array(x);d<x;++d)v=t[d],u[d]=a[v.source.index]/(a[v.source.index]+a[v.target.index]);r=new Array(x),y(),s=new Array(x),h()}}function y(){if(o)for(var d=0,_=t.length;d<_;++d)r[d]=+e(t[d],d,t)}function h(){if(o)for(var d=0,_=t.length;d<_;++d)s[d]=+i(t[d],d,t)}return g.initialize=function(d,_){o=d,f=_,c()},g.links=function(d){return arguments.length?(t=d,c(),g):t},g.id=function(d){return arguments.length?(n=d,g):n},g.iterations=function(d){return arguments.length?(l=+d,g):l},g.strength=function(d){return arguments.length?(e=typeof d=="function"?d:J(+d),y(),g):e},g.distance=function(d){return arguments.length?(i=typeof d=="function"?d:J(+d),h(),g):i},g}const ds=1664525,_s=1013904223,en=4294967296;function ys(){let t=1;return()=>(t=(ds*t+_s)%en)/en}function xs(t){return t.x}function vs(t){return t.y}var ws=10,ms=Math.PI*(3-Math.sqrt(5));function bs(t){var n,e=1,r=.001,i=1-Math.pow(r,1/300),s=0,o=.6,a=new Map,u=It(p),f=Mt("tick","end"),l=ys();t==null&&(t=[]);function p(){g(),f.call("tick",n),e<r&&(u.stop(),f.call("end",n))}function g(h){var d,_=t.length,x;h===void 0&&(h=1);for(var w=0;w<h;++w)for(e+=(s-e)*i,a.forEach(function(v){v(e)}),d=0;d<_;++d)x=t[d],x.fx==null?x.x+=x.vx*=o:(x.x=x.fx,x.vx=0),x.fy==null?x.y+=x.vy*=o:(x.y=x.fy,x.vy=0);return n}function c(){for(var h=0,d=t.length,_;h<d;++h){if(_=t[h],_.index=h,_.fx!=null&&(_.x=_.fx),_.fy!=null&&(_.y=_.fy),isNaN(_.x)||isNaN(_.y)){var x=ws*Math.sqrt(.5+h),w=h*ms;_.x=x*Math.cos(w),_.y=x*Math.sin(w)}(isNaN(_.vx)||isNaN(_.vy))&&(_.vx=_.vy=0)}}function y(h){return h.initialize&&h.initialize(t,l),h}return c(),n={tick:g,restart:function(){return u.restart(p),n},stop:function(){return u.stop(),n},nodes:function(h){return arguments.length?(t=h,c(),a.forEach(y),n):t},alpha:function(h){return arguments.length?(e=+h,n):e},alphaMin:function(h){return arguments.length?(r=+h,n):r},alphaDecay:function(h){return arguments.length?(i=+h,n):+i},alphaTarget:function(h){return arguments.length?(s=+h,n):s},velocityDecay:function(h){return arguments.length?(o=1-h,n):1-o},randomSource:function(h){return arguments.length?(l=h,a.forEach(y),n):l},force:function(h,d){return arguments.length>1?(d==null?a.delete(h):a.set(h,y(d)),n):a.get(h)},find:function(h,d,_){var x=0,w=t.length,v,m,k,E,T;for(_==null?_=1/0:_*=_,x=0;x<w;++x)E=t[x],v=h-E.x,m=d-E.y,k=v*v+m*m,k<_&&(T=E,_=k);return T},on:function(h,d){return arguments.length>1?(f.on(h,d),n):f.on(h)}}}function Ns(){var t,n,e,r,i=J(-30),s,o=1,a=1/0,u=.81;function f(c){var y,h=t.length,d=Sn(t,xs,vs).visitAfter(p);for(r=c,y=0;y<h;++y)n=t[y],d.visit(g)}function l(){if(t){var c,y=t.length,h;for(s=new Array(y),c=0;c<y;++c)h=t[c],s[h.index]=+i(h,c,t)}}function p(c){var y=0,h,d,_=0,x,w,v;if(c.length){for(x=w=v=0;v<4;++v)(h=c[v])&&(d=Math.abs(h.value))&&(y+=h.value,_+=d,x+=d*h.x,w+=d*h.y);c.x=x/_,c.y=w/_}else{h=c,h.x=h.data.x,h.y=h.data.y;do y+=s[h.data.index];while(h=h.next)}c.value=y}function g(c,y,h,d){if(!c.value)return!0;var _=c.x-n.x,x=c.y-n.y,w=d-y,v=_*_+x*x;if(w*w/u<v)return v<a&&(_===0&&(_=O(e),v+=_*_),x===0&&(x=O(e),v+=x*x),v<o&&(v=Math.sqrt(o*v)),n.vx+=_*c.value*r/v,n.vy+=x*c.value*r/v),!0;if(c.length||v>=a)return;(c.data!==n||c.next)&&(_===0&&(_=O(e),v+=_*_),x===0&&(x=O(e),v+=x*x),v<o&&(v=Math.sqrt(o*v)));do c.data!==n&&(w=s[c.data.index]*r/v,n.vx+=_*w,n.vy+=x*w);while(c=c.next)}return f.initialize=function(c,y){t=c,e=y,l()},f.strength=function(c){return arguments.length?(i=typeof c=="function"?c:J(+c),l(),f):i},f.distanceMin=function(c){return arguments.length?(o=c*c,f):Math.sqrt(o)},f.distanceMax=function(c){return arguments.length?(a=c*c,f):Math.sqrt(a)},f.theta=function(c){return arguments.length?(u=c*c,f):Math.sqrt(u)},f}function Q(t,n,e){this.k=t,this.x=n,this.y=e}Q.prototype={constructor:Q,scale:function(t){return t===1?this:new Q(this.k*t,this.x,this.y)},translate:function(t,n){return t===0&n===0?this:new Q(this.k,this.x+this.k*t,this.y+this.k*n)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};Q.prototype;function As(t){switch(t){case"mentions":return"#3b82f6";case"depends_on":return"#f59e0b";case"related":return"#22c55e";default:return"#94a3b8"}}function $s(){const t=Cn(),n=H.useRef(null),[e,r]=H.useState(null),[i,s]=H.useState([]),[o,a]=H.useState(null);H.useEffect(()=>{let f=!1;return Promise.all([Ht.listWikiBrowserPages(),Ht.getWikiLinks()]).then(([l,p])=>{f||(r(l.pages??[]),s(p.links??[]),a(null))}).catch(l=>{f||(a(l instanceof Error?l.message:String(l)),r([]))}),()=>{f=!0}},[]);const u=H.useMemo(()=>{const f=new Map;for(const c of i)f.set(c.target_slug,(f.get(c.target_slug)??0)+1);const l=(e??[]).map(c=>({slug:c.slug,title:c.title,type:c.type,inbound:f.get(c.slug)??0})),p=new Set(l.map(c=>c.slug)),g=i.filter(c=>p.has(c.source_slug)&&p.has(c.target_slug)).map(c=>({source:c.source_slug,target:c.target_slug,link_type:c.link_type}));return{nodes:l,links:g}},[i,e]);return H.useEffect(()=>{if(!n.current||u.nodes.length===0)return;const f=960,l=560,p=dr(n.current);p.selectAll("*").remove(),p.attr("viewBox",`0 0 ${f} ${l}`);const g=p.append("g").selectAll("line").data(u.links).join("line").attr("stroke",h=>As(h.link_type)).attr("stroke-width",1.8).attr("stroke-opacity",.9),c=p.append("g").selectAll("g").data(u.nodes).join("g").style("cursor","pointer").on("click",(h,d)=>{t(`/wiki?selected=${encodeURIComponent(d.slug)}`)});c.append("circle").attr("r",h=>16+Math.min(h.inbound*2,18)).attr("fill","#161b22").attr("stroke","#3b82f6").attr("stroke-width",2),c.append("text").text(h=>h.title).attr("fill","#e6edf3").attr("font-size",11).attr("text-anchor","middle").attr("dy",4);const y=bs(u.nodes).force("link",gs(u.links).id(h=>h.slug).distance(120)).force("charge",Ns().strength(-320)).force("center",Qi(f/2,l/2));return y.on("tick",()=>{g.attr("x1",h=>h.source.x??f/2).attr("y1",h=>h.source.y??l/2).attr("x2",h=>h.target.x??f/2).attr("y2",h=>h.target.y??l/2),c.attr("transform",h=>`translate(${h.x??f/2},${h.y??l/2})`)}),()=>{y.stop()}},[u,t]),I.jsxs("div",{className:"page",children:[I.jsxs("header",{className:"page-header",children:[I.jsx("h1",{children:"Wiki Graph"}),I.jsx("p",{className:"dim",children:"Explore entity relationships across PKB pages."})]}),o?I.jsx(Rn,{inline:!0,message:o}):null,e===null?I.jsx(Tn,{centered:!0,label:"Loading entity graph"}):null,e!==null&&u.nodes.length===0?I.jsx(In,{icon:"🕸️",title:"No graph data yet",description:"Add wiki pages and links to build the PKB graph."}):null,e!==null&&u.nodes.length>0?I.jsx("div",{className:"wiki-graph-shell",children:I.jsx("svg",{ref:n,"aria-label":"Wiki entity graph",className:"wiki-graph-canvas"})}):null]})}export{$s as WikiGraph};
2
- //# sourceMappingURL=WikiGraph-CkfFmXih.js.map
1
+ import{a as Cn,r as H,b as Ht,j as I,E as Rn,L as Tn,c as In}from"./index-D7CVlJKJ.js";var Fn={value:()=>{}};function Mt(){for(var t=0,n=arguments.length,e={},r;t<n;++t){if(!(r=arguments[t]+"")||r in e||/[\s.]/.test(r))throw new Error("illegal type: "+r);e[r]=[]}return new at(e)}function at(t){this._=t}function Dn(t,n){return t.trim().split(/^|\s+/).map(function(e){var r="",i=e.indexOf(".");if(i>=0&&(r=e.slice(i+1),e=e.slice(0,i)),e&&!n.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:r}})}at.prototype=Mt.prototype={constructor:at,on:function(t,n){var e=this._,r=Dn(t+"",e),i,s=-1,o=r.length;if(arguments.length<2){for(;++s<o;)if((i=(t=r[s]).type)&&(i=Pn(e[i],t.name)))return i;return}if(n!=null&&typeof n!="function")throw new Error("invalid callback: "+n);for(;++s<o;)if(i=(t=r[s]).type)e[i]=qt(e[i],t.name,n);else if(n==null)for(i in e)e[i]=qt(e[i],t.name,null);return this},copy:function(){var t={},n=this._;for(var e in n)t[e]=n[e].slice();return new at(t)},call:function(t,n){if((i=arguments.length-2)>0)for(var e=new Array(i),r=0,i,s;r<i;++r)e[r]=arguments[r+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(s=this._[t],r=0,i=s.length;r<i;++r)s[r].value.apply(n,e)},apply:function(t,n,e){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,s=r.length;i<s;++i)r[i].value.apply(n,e)}};function Pn(t,n){for(var e=0,r=t.length,i;e<r;++e)if((i=t[e]).name===n)return i.value}function qt(t,n,e){for(var r=0,i=t.length;r<i;++r)if(t[r].name===n){t[r]=Fn,t=t.slice(0,r).concat(t.slice(r+1));break}return e!=null&&t.push({name:n,value:e}),t}var mt="http://www.w3.org/1999/xhtml";const Lt={svg:"http://www.w3.org/2000/svg",xhtml:mt,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function _t(t){var n=t+="",e=n.indexOf(":");return e>=0&&(n=t.slice(0,e))!=="xmlns"&&(t=t.slice(e+1)),Lt.hasOwnProperty(n)?{space:Lt[n],local:t}:t}function Hn(t){return function(){var n=this.ownerDocument,e=this.namespaceURI;return e===mt&&n.documentElement.namespaceURI===mt?n.createElement(t):n.createElementNS(e,t)}}function qn(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function rn(t){var n=_t(t);return(n.local?qn:Hn)(n)}function Ln(){}function St(t){return t==null?Ln:function(){return this.querySelector(t)}}function Xn(t){typeof t!="function"&&(t=St(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var s=n[i],o=s.length,a=r[i]=new Array(o),u,f,l=0;l<o;++l)(u=s[l])&&(f=t.call(u,u.__data__,l,s))&&("__data__"in u&&(f.__data__=u.__data__),a[l]=f);return new $(r,this._parents)}function zn(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function On(){return[]}function sn(t){return t==null?On:function(){return this.querySelectorAll(t)}}function Bn(t){return function(){return zn(t.apply(this,arguments))}}function Vn(t){typeof t=="function"?t=Bn(t):t=sn(t);for(var n=this._groups,e=n.length,r=[],i=[],s=0;s<e;++s)for(var o=n[s],a=o.length,u,f=0;f<a;++f)(u=o[f])&&(r.push(t.call(u,u.__data__,f,o)),i.push(u));return new $(r,i)}function on(t){return function(){return this.matches(t)}}function an(t){return function(n){return n.matches(t)}}var Yn=Array.prototype.find;function Un(t){return function(){return Yn.call(this.children,t)}}function Wn(){return this.firstElementChild}function Kn(t){return this.select(t==null?Wn:Un(typeof t=="function"?t:an(t)))}var Gn=Array.prototype.filter;function Qn(){return Array.from(this.children)}function Jn(t){return function(){return Gn.call(this.children,t)}}function Zn(t){return this.selectAll(t==null?Qn:Jn(typeof t=="function"?t:an(t)))}function jn(t){typeof t!="function"&&(t=on(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var s=n[i],o=s.length,a=r[i]=[],u,f=0;f<o;++f)(u=s[f])&&t.call(u,u.__data__,f,s)&&a.push(u);return new $(r,this._parents)}function un(t){return new Array(t.length)}function te(){return new $(this._enter||this._groups.map(un),this._parents)}function lt(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}lt.prototype={constructor:lt,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,n){return this._parent.insertBefore(t,n)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function ne(t){return function(){return t}}function ee(t,n,e,r,i,s){for(var o=0,a,u=n.length,f=s.length;o<f;++o)(a=n[o])?(a.__data__=s[o],r[o]=a):e[o]=new lt(t,s[o]);for(;o<u;++o)(a=n[o])&&(i[o]=a)}function re(t,n,e,r,i,s,o){var a,u,f=new Map,l=n.length,p=s.length,g=new Array(l),c;for(a=0;a<l;++a)(u=n[a])&&(g[a]=c=o.call(u,u.__data__,a,n)+"",f.has(c)?i[a]=u:f.set(c,u));for(a=0;a<p;++a)c=o.call(t,s[a],a,s)+"",(u=f.get(c))?(r[a]=u,u.__data__=s[a],f.delete(c)):e[a]=new lt(t,s[a]);for(a=0;a<l;++a)(u=n[a])&&f.get(g[a])===u&&(i[a]=u)}function ie(t){return t.__data__}function se(t,n){if(!arguments.length)return Array.from(this,ie);var e=n?re:ee,r=this._parents,i=this._groups;typeof t!="function"&&(t=ne(t));for(var s=i.length,o=new Array(s),a=new Array(s),u=new Array(s),f=0;f<s;++f){var l=r[f],p=i[f],g=p.length,c=oe(t.call(l,l&&l.__data__,f,r)),y=c.length,h=a[f]=new Array(y),d=o[f]=new Array(y),_=u[f]=new Array(g);e(l,p,h,d,_,c,n);for(var x=0,w=0,v,m;x<y;++x)if(v=h[x]){for(x>=w&&(w=x+1);!(m=d[w])&&++w<y;);v._next=m||null}}return o=new $(o,r),o._enter=a,o._exit=u,o}function oe(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function ae(){return new $(this._exit||this._groups.map(un),this._parents)}function ue(t,n,e){var r=this.enter(),i=this,s=this.exit();return typeof t=="function"?(r=t(r),r&&(r=r.selection())):r=r.append(t+""),n!=null&&(i=n(i),i&&(i=i.selection())),e==null?s.remove():e(s),r&&i?r.merge(i).order():i}function fe(t){for(var n=t.selection?t.selection():t,e=this._groups,r=n._groups,i=e.length,s=r.length,o=Math.min(i,s),a=new Array(i),u=0;u<o;++u)for(var f=e[u],l=r[u],p=f.length,g=a[u]=new Array(p),c,y=0;y<p;++y)(c=f[y]||l[y])&&(g[y]=c);for(;u<i;++u)a[u]=e[u];return new $(a,this._parents)}function le(){for(var t=this._groups,n=-1,e=t.length;++n<e;)for(var r=t[n],i=r.length-1,s=r[i],o;--i>=0;)(o=r[i])&&(s&&o.compareDocumentPosition(s)^4&&s.parentNode.insertBefore(o,s),s=o);return this}function ce(t){t||(t=he);function n(p,g){return p&&g?t(p.__data__,g.__data__):!p-!g}for(var e=this._groups,r=e.length,i=new Array(r),s=0;s<r;++s){for(var o=e[s],a=o.length,u=i[s]=new Array(a),f,l=0;l<a;++l)(f=o[l])&&(u[l]=f);u.sort(n)}return new $(i,this._parents).order()}function he(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}function pe(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function ge(){return Array.from(this)}function de(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r=t[n],i=0,s=r.length;i<s;++i){var o=r[i];if(o)return o}return null}function _e(){let t=0;for(const n of this)++t;return t}function ye(){return!this.node()}function xe(t){for(var n=this._groups,e=0,r=n.length;e<r;++e)for(var i=n[e],s=0,o=i.length,a;s<o;++s)(a=i[s])&&t.call(a,a.__data__,s,i);return this}function ve(t){return function(){this.removeAttribute(t)}}function we(t){return function(){this.removeAttributeNS(t.space,t.local)}}function me(t,n){return function(){this.setAttribute(t,n)}}function be(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}function Ne(t,n){return function(){var e=n.apply(this,arguments);e==null?this.removeAttribute(t):this.setAttribute(t,e)}}function Ae(t,n){return function(){var e=n.apply(this,arguments);e==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}}function ke(t,n){var e=_t(t);if(arguments.length<2){var r=this.node();return e.local?r.getAttributeNS(e.space,e.local):r.getAttribute(e)}return this.each((n==null?e.local?we:ve:typeof n=="function"?e.local?Ae:Ne:e.local?be:me)(e,n))}function fn(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function $e(t){return function(){this.style.removeProperty(t)}}function Ee(t,n,e){return function(){this.style.setProperty(t,n,e)}}function Me(t,n,e){return function(){var r=n.apply(this,arguments);r==null?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}function Se(t,n,e){return arguments.length>1?this.each((n==null?$e:typeof n=="function"?Me:Ee)(t,n,e??"")):V(this.node(),t)}function V(t,n){return t.style.getPropertyValue(n)||fn(t).getComputedStyle(t,null).getPropertyValue(n)}function Ce(t){return function(){delete this[t]}}function Re(t,n){return function(){this[t]=n}}function Te(t,n){return function(){var e=n.apply(this,arguments);e==null?delete this[t]:this[t]=e}}function Ie(t,n){return arguments.length>1?this.each((n==null?Ce:typeof n=="function"?Te:Re)(t,n)):this.node()[t]}function ln(t){return t.trim().split(/^|\s+/)}function Ct(t){return t.classList||new cn(t)}function cn(t){this._node=t,this._names=ln(t.getAttribute("class")||"")}cn.prototype={add:function(t){var n=this._names.indexOf(t);n<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var n=this._names.indexOf(t);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function hn(t,n){for(var e=Ct(t),r=-1,i=n.length;++r<i;)e.add(n[r])}function pn(t,n){for(var e=Ct(t),r=-1,i=n.length;++r<i;)e.remove(n[r])}function Fe(t){return function(){hn(this,t)}}function De(t){return function(){pn(this,t)}}function Pe(t,n){return function(){(n.apply(this,arguments)?hn:pn)(this,t)}}function He(t,n){var e=ln(t+"");if(arguments.length<2){for(var r=Ct(this.node()),i=-1,s=e.length;++i<s;)if(!r.contains(e[i]))return!1;return!0}return this.each((typeof n=="function"?Pe:n?Fe:De)(e,n))}function qe(){this.textContent=""}function Le(t){return function(){this.textContent=t}}function Xe(t){return function(){var n=t.apply(this,arguments);this.textContent=n??""}}function ze(t){return arguments.length?this.each(t==null?qe:(typeof t=="function"?Xe:Le)(t)):this.node().textContent}function Oe(){this.innerHTML=""}function Be(t){return function(){this.innerHTML=t}}function Ve(t){return function(){var n=t.apply(this,arguments);this.innerHTML=n??""}}function Ye(t){return arguments.length?this.each(t==null?Oe:(typeof t=="function"?Ve:Be)(t)):this.node().innerHTML}function Ue(){this.nextSibling&&this.parentNode.appendChild(this)}function We(){return this.each(Ue)}function Ke(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Ge(){return this.each(Ke)}function Qe(t){var n=typeof t=="function"?t:rn(t);return this.select(function(){return this.appendChild(n.apply(this,arguments))})}function Je(){return null}function Ze(t,n){var e=typeof t=="function"?t:rn(t),r=n==null?Je:typeof n=="function"?n:St(n);return this.select(function(){return this.insertBefore(e.apply(this,arguments),r.apply(this,arguments)||null)})}function je(){var t=this.parentNode;t&&t.removeChild(this)}function tr(){return this.each(je)}function nr(){var t=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function er(){var t=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function rr(t){return this.select(t?er:nr)}function ir(t){return arguments.length?this.property("__data__",t):this.node().__data__}function sr(t){return function(n){t.call(this,n,this.__data__)}}function or(t){return t.trim().split(/^|\s+/).map(function(n){var e="",r=n.indexOf(".");return r>=0&&(e=n.slice(r+1),n=n.slice(0,r)),{type:n,name:e}})}function ar(t){return function(){var n=this.__on;if(n){for(var e=0,r=-1,i=n.length,s;e<i;++e)s=n[e],(!t.type||s.type===t.type)&&s.name===t.name?this.removeEventListener(s.type,s.listener,s.options):n[++r]=s;++r?n.length=r:delete this.__on}}}function ur(t,n,e){return function(){var r=this.__on,i,s=sr(n);if(r){for(var o=0,a=r.length;o<a;++o)if((i=r[o]).type===t.type&&i.name===t.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=s,i.options=e),i.value=n;return}}this.addEventListener(t.type,s,e),i={type:t.type,name:t.name,value:n,listener:s,options:e},r?r.push(i):this.__on=[i]}}function fr(t,n,e){var r=or(t+""),i,s=r.length,o;if(arguments.length<2){var a=this.node().__on;if(a){for(var u=0,f=a.length,l;u<f;++u)for(i=0,l=a[u];i<s;++i)if((o=r[i]).type===l.type&&o.name===l.name)return l.value}return}for(a=n?ur:ar,i=0;i<s;++i)this.each(a(r[i],n,e));return this}function gn(t,n,e){var r=fn(t),i=r.CustomEvent;typeof i=="function"?i=new i(n,e):(i=r.document.createEvent("Event"),e?(i.initEvent(n,e.bubbles,e.cancelable),i.detail=e.detail):i.initEvent(n,!1,!1)),t.dispatchEvent(i)}function lr(t,n){return function(){return gn(this,t,n)}}function cr(t,n){return function(){return gn(this,t,n.apply(this,arguments))}}function hr(t,n){return this.each((typeof n=="function"?cr:lr)(t,n))}function*pr(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r=t[n],i=0,s=r.length,o;i<s;++i)(o=r[i])&&(yield o)}var dn=[null];function $(t,n){this._groups=t,this._parents=n}function et(){return new $([[document.documentElement]],dn)}function gr(){return this}$.prototype=et.prototype={constructor:$,select:Xn,selectAll:Vn,selectChild:Kn,selectChildren:Zn,filter:jn,data:se,enter:te,exit:ae,join:ue,merge:fe,selection:gr,order:le,sort:ce,call:pe,nodes:ge,node:de,size:_e,empty:ye,each:xe,attr:ke,style:Se,property:Ie,classed:He,text:ze,html:Ye,raise:We,lower:Ge,append:Qe,insert:Ze,remove:tr,clone:rr,datum:ir,on:fr,dispatch:hr,[Symbol.iterator]:pr};function dr(t){return typeof t=="string"?new $([[document.querySelector(t)]],[document.documentElement]):new $([[t]],dn)}function Rt(t,n,e){t.prototype=n.prototype=e,e.constructor=t}function _n(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function rt(){}var Z=.7,ct=1/Z,B="\\s*([+-]?\\d+)\\s*",j="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",C="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",_r=/^#([0-9a-f]{3,8})$/,yr=new RegExp(`^rgb\\(${B},${B},${B}\\)$`),xr=new RegExp(`^rgb\\(${C},${C},${C}\\)$`),vr=new RegExp(`^rgba\\(${B},${B},${B},${j}\\)$`),wr=new RegExp(`^rgba\\(${C},${C},${C},${j}\\)$`),mr=new RegExp(`^hsl\\(${j},${C},${C}\\)$`),br=new RegExp(`^hsla\\(${j},${C},${C},${j}\\)$`),Xt={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Rt(rt,tt,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:zt,formatHex:zt,formatHex8:Nr,formatHsl:Ar,formatRgb:Ot,toString:Ot});function zt(){return this.rgb().formatHex()}function Nr(){return this.rgb().formatHex8()}function Ar(){return yn(this).formatHsl()}function Ot(){return this.rgb().formatRgb()}function tt(t){var n,e;return t=(t+"").trim().toLowerCase(),(n=_r.exec(t))?(e=n[1].length,n=parseInt(n[1],16),e===6?Bt(n):e===3?new A(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):e===8?it(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):e===4?it(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=yr.exec(t))?new A(n[1],n[2],n[3],1):(n=xr.exec(t))?new A(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=vr.exec(t))?it(n[1],n[2],n[3],n[4]):(n=wr.exec(t))?it(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=mr.exec(t))?Ut(n[1],n[2]/100,n[3]/100,1):(n=br.exec(t))?Ut(n[1],n[2]/100,n[3]/100,n[4]):Xt.hasOwnProperty(t)?Bt(Xt[t]):t==="transparent"?new A(NaN,NaN,NaN,0):null}function Bt(t){return new A(t>>16&255,t>>8&255,t&255,1)}function it(t,n,e,r){return r<=0&&(t=n=e=NaN),new A(t,n,e,r)}function kr(t){return t instanceof rt||(t=tt(t)),t?(t=t.rgb(),new A(t.r,t.g,t.b,t.opacity)):new A}function bt(t,n,e,r){return arguments.length===1?kr(t):new A(t,n,e,r??1)}function A(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}Rt(A,bt,_n(rt,{brighter(t){return t=t==null?ct:Math.pow(ct,t),new A(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?Z:Math.pow(Z,t),new A(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new A(L(this.r),L(this.g),L(this.b),ht(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Vt,formatHex:Vt,formatHex8:$r,formatRgb:Yt,toString:Yt}));function Vt(){return`#${q(this.r)}${q(this.g)}${q(this.b)}`}function $r(){return`#${q(this.r)}${q(this.g)}${q(this.b)}${q((isNaN(this.opacity)?1:this.opacity)*255)}`}function Yt(){const t=ht(this.opacity);return`${t===1?"rgb(":"rgba("}${L(this.r)}, ${L(this.g)}, ${L(this.b)}${t===1?")":`, ${t})`}`}function ht(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function L(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function q(t){return t=L(t),(t<16?"0":"")+t.toString(16)}function Ut(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new M(t,n,e,r)}function yn(t){if(t instanceof M)return new M(t.h,t.s,t.l,t.opacity);if(t instanceof rt||(t=tt(t)),!t)return new M;if(t instanceof M)return t;t=t.rgb();var n=t.r/255,e=t.g/255,r=t.b/255,i=Math.min(n,e,r),s=Math.max(n,e,r),o=NaN,a=s-i,u=(s+i)/2;return a?(n===s?o=(e-r)/a+(e<r)*6:e===s?o=(r-n)/a+2:o=(n-e)/a+4,a/=u<.5?s+i:2-s-i,o*=60):a=u>0&&u<1?0:o,new M(o,a,u,t.opacity)}function Er(t,n,e,r){return arguments.length===1?yn(t):new M(t,n,e,r??1)}function M(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}Rt(M,Er,_n(rt,{brighter(t){return t=t==null?ct:Math.pow(ct,t),new M(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Z:Math.pow(Z,t),new M(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,n=isNaN(t)||isNaN(this.s)?0:this.s,e=this.l,r=e+(e<.5?e:1-e)*n,i=2*e-r;return new A(vt(t>=240?t-240:t+120,i,r),vt(t,i,r),vt(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new M(Wt(this.h),st(this.s),st(this.l),ht(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=ht(this.opacity);return`${t===1?"hsl(":"hsla("}${Wt(this.h)}, ${st(this.s)*100}%, ${st(this.l)*100}%${t===1?")":`, ${t})`}`}}));function Wt(t){return t=(t||0)%360,t<0?t+360:t}function st(t){return Math.max(0,Math.min(1,t||0))}function vt(t,n,e){return(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)*255}const xn=t=>()=>t;function Mr(t,n){return function(e){return t+e*n}}function Sr(t,n,e){return t=Math.pow(t,e),n=Math.pow(n,e)-t,e=1/e,function(r){return Math.pow(t+r*n,e)}}function Cr(t){return(t=+t)==1?vn:function(n,e){return e-n?Sr(n,e,t):xn(isNaN(n)?e:n)}}function vn(t,n){var e=n-t;return e?Mr(t,e):xn(isNaN(t)?n:t)}const Kt=function t(n){var e=Cr(n);function r(i,s){var o=e((i=bt(i)).r,(s=bt(s)).r),a=e(i.g,s.g),u=e(i.b,s.b),f=vn(i.opacity,s.opacity);return function(l){return i.r=o(l),i.g=a(l),i.b=u(l),i.opacity=f(l),i+""}}return r.gamma=t,r}(1);function P(t,n){return t=+t,n=+n,function(e){return t*(1-e)+n*e}}var Nt=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,wt=new RegExp(Nt.source,"g");function Rr(t){return function(){return t}}function Tr(t){return function(n){return t(n)+""}}function Ir(t,n){var e=Nt.lastIndex=wt.lastIndex=0,r,i,s,o=-1,a=[],u=[];for(t=t+"",n=n+"";(r=Nt.exec(t))&&(i=wt.exec(n));)(s=i.index)>e&&(s=n.slice(e,s),a[o]?a[o]+=s:a[++o]=s),(r=r[0])===(i=i[0])?a[o]?a[o]+=i:a[++o]=i:(a[++o]=null,u.push({i:o,x:P(r,i)})),e=wt.lastIndex;return e<n.length&&(s=n.slice(e),a[o]?a[o]+=s:a[++o]=s),a.length<2?u[0]?Tr(u[0].x):Rr(n):(n=u.length,function(f){for(var l=0,p;l<n;++l)a[(p=u[l]).i]=p.x(f);return a.join("")})}var Gt=180/Math.PI,At={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function wn(t,n,e,r,i,s){var o,a,u;return(o=Math.sqrt(t*t+n*n))&&(t/=o,n/=o),(u=t*e+n*r)&&(e-=t*u,r-=n*u),(a=Math.sqrt(e*e+r*r))&&(e/=a,r/=a,u/=a),t*r<n*e&&(t=-t,n=-n,u=-u,o=-o),{translateX:i,translateY:s,rotate:Math.atan2(n,t)*Gt,skewX:Math.atan(u)*Gt,scaleX:o,scaleY:a}}var ot;function Fr(t){const n=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return n.isIdentity?At:wn(n.a,n.b,n.c,n.d,n.e,n.f)}function Dr(t){return t==null||(ot||(ot=document.createElementNS("http://www.w3.org/2000/svg","g")),ot.setAttribute("transform",t),!(t=ot.transform.baseVal.consolidate()))?At:(t=t.matrix,wn(t.a,t.b,t.c,t.d,t.e,t.f))}function mn(t,n,e,r){function i(f){return f.length?f.pop()+" ":""}function s(f,l,p,g,c,y){if(f!==p||l!==g){var h=c.push("translate(",null,n,null,e);y.push({i:h-4,x:P(f,p)},{i:h-2,x:P(l,g)})}else(p||g)&&c.push("translate("+p+n+g+e)}function o(f,l,p,g){f!==l?(f-l>180?l+=360:l-f>180&&(f+=360),g.push({i:p.push(i(p)+"rotate(",null,r)-2,x:P(f,l)})):l&&p.push(i(p)+"rotate("+l+r)}function a(f,l,p,g){f!==l?g.push({i:p.push(i(p)+"skewX(",null,r)-2,x:P(f,l)}):l&&p.push(i(p)+"skewX("+l+r)}function u(f,l,p,g,c,y){if(f!==p||l!==g){var h=c.push(i(c)+"scale(",null,",",null,")");y.push({i:h-4,x:P(f,p)},{i:h-2,x:P(l,g)})}else(p!==1||g!==1)&&c.push(i(c)+"scale("+p+","+g+")")}return function(f,l){var p=[],g=[];return f=t(f),l=t(l),s(f.translateX,f.translateY,l.translateX,l.translateY,p,g),o(f.rotate,l.rotate,p,g),a(f.skewX,l.skewX,p,g),u(f.scaleX,f.scaleY,l.scaleX,l.scaleY,p,g),f=l=null,function(c){for(var y=-1,h=g.length,d;++y<h;)p[(d=g[y]).i]=d.x(c);return p.join("")}}}var Pr=mn(Fr,"px, ","px)","deg)"),Hr=mn(Dr,", ",")",")"),Y=0,K=0,W=0,bn=1e3,pt,G,gt=0,X=0,yt=0,nt=typeof performance=="object"&&performance.now?performance:Date,Nn=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function Tt(){return X||(Nn(qr),X=nt.now()+yt)}function qr(){X=0}function dt(){this._call=this._time=this._next=null}dt.prototype=It.prototype={constructor:dt,restart:function(t,n,e){if(typeof t!="function")throw new TypeError("callback is not a function");e=(e==null?Tt():+e)+(n==null?0:+n),!this._next&&G!==this&&(G?G._next=this:pt=this,G=this),this._call=t,this._time=e,kt()},stop:function(){this._call&&(this._call=null,this._time=1/0,kt())}};function It(t,n,e){var r=new dt;return r.restart(t,n,e),r}function Lr(){Tt(),++Y;for(var t=pt,n;t;)(n=X-t._time)>=0&&t._call.call(void 0,n),t=t._next;--Y}function Qt(){X=(gt=nt.now())+yt,Y=K=0;try{Lr()}finally{Y=0,zr(),X=0}}function Xr(){var t=nt.now(),n=t-gt;n>bn&&(yt-=n,gt=t)}function zr(){for(var t,n=pt,e,r=1/0;n;)n._call?(r>n._time&&(r=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:pt=e);G=t,kt(r)}function kt(t){if(!Y){K&&(K=clearTimeout(K));var n=t-X;n>24?(t<1/0&&(K=setTimeout(Qt,t-nt.now()-yt)),W&&(W=clearInterval(W))):(W||(gt=nt.now(),W=setInterval(Xr,bn)),Y=1,Nn(Qt))}}function Jt(t,n,e){var r=new dt;return n=n==null?0:+n,r.restart(i=>{r.stop(),t(i+n)},n,e),r}var Or=Mt("start","end","cancel","interrupt"),Br=[],An=0,Zt=1,$t=2,ut=3,jt=4,Et=5,ft=6;function xt(t,n,e,r,i,s){var o=t.__transition;if(!o)t.__transition={};else if(e in o)return;Vr(t,e,{name:n,index:r,group:i,on:Or,tween:Br,time:s.time,delay:s.delay,duration:s.duration,ease:s.ease,timer:null,state:An})}function Ft(t,n){var e=S(t,n);if(e.state>An)throw new Error("too late; already scheduled");return e}function R(t,n){var e=S(t,n);if(e.state>ut)throw new Error("too late; already running");return e}function S(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw new Error("transition not found");return e}function Vr(t,n,e){var r=t.__transition,i;r[n]=e,e.timer=It(s,0,e.time);function s(f){e.state=Zt,e.timer.restart(o,e.delay,e.time),e.delay<=f&&o(f-e.delay)}function o(f){var l,p,g,c;if(e.state!==Zt)return u();for(l in r)if(c=r[l],c.name===e.name){if(c.state===ut)return Jt(o);c.state===jt?(c.state=ft,c.timer.stop(),c.on.call("interrupt",t,t.__data__,c.index,c.group),delete r[l]):+l<n&&(c.state=ft,c.timer.stop(),c.on.call("cancel",t,t.__data__,c.index,c.group),delete r[l])}if(Jt(function(){e.state===ut&&(e.state=jt,e.timer.restart(a,e.delay,e.time),a(f))}),e.state=$t,e.on.call("start",t,t.__data__,e.index,e.group),e.state===$t){for(e.state=ut,i=new Array(g=e.tween.length),l=0,p=-1;l<g;++l)(c=e.tween[l].value.call(t,t.__data__,e.index,e.group))&&(i[++p]=c);i.length=p+1}}function a(f){for(var l=f<e.duration?e.ease.call(null,f/e.duration):(e.timer.restart(u),e.state=Et,1),p=-1,g=i.length;++p<g;)i[p].call(t,l);e.state===Et&&(e.on.call("end",t,t.__data__,e.index,e.group),u())}function u(){e.state=ft,e.timer.stop(),delete r[n];for(var f in r)return;delete t.__transition}}function Yr(t,n){var e=t.__transition,r,i,s=!0,o;if(e){n=n==null?null:n+"";for(o in e){if((r=e[o]).name!==n){s=!1;continue}i=r.state>$t&&r.state<Et,r.state=ft,r.timer.stop(),r.on.call(i?"interrupt":"cancel",t,t.__data__,r.index,r.group),delete e[o]}s&&delete t.__transition}}function Ur(t){return this.each(function(){Yr(this,t)})}function Wr(t,n){var e,r;return function(){var i=R(this,t),s=i.tween;if(s!==e){r=e=s;for(var o=0,a=r.length;o<a;++o)if(r[o].name===n){r=r.slice(),r.splice(o,1);break}}i.tween=r}}function Kr(t,n,e){var r,i;if(typeof e!="function")throw new Error;return function(){var s=R(this,t),o=s.tween;if(o!==r){i=(r=o).slice();for(var a={name:n,value:e},u=0,f=i.length;u<f;++u)if(i[u].name===n){i[u]=a;break}u===f&&i.push(a)}s.tween=i}}function Gr(t,n){var e=this._id;if(t+="",arguments.length<2){for(var r=S(this.node(),e).tween,i=0,s=r.length,o;i<s;++i)if((o=r[i]).name===t)return o.value;return null}return this.each((n==null?Wr:Kr)(e,t,n))}function Dt(t,n,e){var r=t._id;return t.each(function(){var i=R(this,r);(i.value||(i.value={}))[n]=e.apply(this,arguments)}),function(i){return S(i,r).value[n]}}function kn(t,n){var e;return(typeof n=="number"?P:n instanceof tt?Kt:(e=tt(n))?(n=e,Kt):Ir)(t,n)}function Qr(t){return function(){this.removeAttribute(t)}}function Jr(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Zr(t,n,e){var r,i=e+"",s;return function(){var o=this.getAttribute(t);return o===i?null:o===r?s:s=n(r=o,e)}}function jr(t,n,e){var r,i=e+"",s;return function(){var o=this.getAttributeNS(t.space,t.local);return o===i?null:o===r?s:s=n(r=o,e)}}function ti(t,n,e){var r,i,s;return function(){var o,a=e(this),u;return a==null?void this.removeAttribute(t):(o=this.getAttribute(t),u=a+"",o===u?null:o===r&&u===i?s:(i=u,s=n(r=o,a)))}}function ni(t,n,e){var r,i,s;return function(){var o,a=e(this),u;return a==null?void this.removeAttributeNS(t.space,t.local):(o=this.getAttributeNS(t.space,t.local),u=a+"",o===u?null:o===r&&u===i?s:(i=u,s=n(r=o,a)))}}function ei(t,n){var e=_t(t),r=e==="transform"?Hr:kn;return this.attrTween(t,typeof n=="function"?(e.local?ni:ti)(e,r,Dt(this,"attr."+t,n)):n==null?(e.local?Jr:Qr)(e):(e.local?jr:Zr)(e,r,n))}function ri(t,n){return function(e){this.setAttribute(t,n.call(this,e))}}function ii(t,n){return function(e){this.setAttributeNS(t.space,t.local,n.call(this,e))}}function si(t,n){var e,r;function i(){var s=n.apply(this,arguments);return s!==r&&(e=(r=s)&&ii(t,s)),e}return i._value=n,i}function oi(t,n){var e,r;function i(){var s=n.apply(this,arguments);return s!==r&&(e=(r=s)&&ri(t,s)),e}return i._value=n,i}function ai(t,n){var e="attr."+t;if(arguments.length<2)return(e=this.tween(e))&&e._value;if(n==null)return this.tween(e,null);if(typeof n!="function")throw new Error;var r=_t(t);return this.tween(e,(r.local?si:oi)(r,n))}function ui(t,n){return function(){Ft(this,t).delay=+n.apply(this,arguments)}}function fi(t,n){return n=+n,function(){Ft(this,t).delay=n}}function li(t){var n=this._id;return arguments.length?this.each((typeof t=="function"?ui:fi)(n,t)):S(this.node(),n).delay}function ci(t,n){return function(){R(this,t).duration=+n.apply(this,arguments)}}function hi(t,n){return n=+n,function(){R(this,t).duration=n}}function pi(t){var n=this._id;return arguments.length?this.each((typeof t=="function"?ci:hi)(n,t)):S(this.node(),n).duration}function gi(t,n){if(typeof n!="function")throw new Error;return function(){R(this,t).ease=n}}function di(t){var n=this._id;return arguments.length?this.each(gi(n,t)):S(this.node(),n).ease}function _i(t,n){return function(){var e=n.apply(this,arguments);if(typeof e!="function")throw new Error;R(this,t).ease=e}}function yi(t){if(typeof t!="function")throw new Error;return this.each(_i(this._id,t))}function xi(t){typeof t!="function"&&(t=on(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var s=n[i],o=s.length,a=r[i]=[],u,f=0;f<o;++f)(u=s[f])&&t.call(u,u.__data__,f,s)&&a.push(u);return new D(r,this._parents,this._name,this._id)}function vi(t){if(t._id!==this._id)throw new Error;for(var n=this._groups,e=t._groups,r=n.length,i=e.length,s=Math.min(r,i),o=new Array(r),a=0;a<s;++a)for(var u=n[a],f=e[a],l=u.length,p=o[a]=new Array(l),g,c=0;c<l;++c)(g=u[c]||f[c])&&(p[c]=g);for(;a<r;++a)o[a]=n[a];return new D(o,this._parents,this._name,this._id)}function wi(t){return(t+"").trim().split(/^|\s+/).every(function(n){var e=n.indexOf(".");return e>=0&&(n=n.slice(0,e)),!n||n==="start"})}function mi(t,n,e){var r,i,s=wi(n)?Ft:R;return function(){var o=s(this,t),a=o.on;a!==r&&(i=(r=a).copy()).on(n,e),o.on=i}}function bi(t,n){var e=this._id;return arguments.length<2?S(this.node(),e).on.on(t):this.each(mi(e,t,n))}function Ni(t){return function(){var n=this.parentNode;for(var e in this.__transition)if(+e!==t)return;n&&n.removeChild(this)}}function Ai(){return this.on("end.remove",Ni(this._id))}function ki(t){var n=this._name,e=this._id;typeof t!="function"&&(t=St(t));for(var r=this._groups,i=r.length,s=new Array(i),o=0;o<i;++o)for(var a=r[o],u=a.length,f=s[o]=new Array(u),l,p,g=0;g<u;++g)(l=a[g])&&(p=t.call(l,l.__data__,g,a))&&("__data__"in l&&(p.__data__=l.__data__),f[g]=p,xt(f[g],n,e,g,f,S(l,e)));return new D(s,this._parents,n,e)}function $i(t){var n=this._name,e=this._id;typeof t!="function"&&(t=sn(t));for(var r=this._groups,i=r.length,s=[],o=[],a=0;a<i;++a)for(var u=r[a],f=u.length,l,p=0;p<f;++p)if(l=u[p]){for(var g=t.call(l,l.__data__,p,u),c,y=S(l,e),h=0,d=g.length;h<d;++h)(c=g[h])&&xt(c,n,e,h,g,y);s.push(g),o.push(l)}return new D(s,o,n,e)}var Ei=et.prototype.constructor;function Mi(){return new Ei(this._groups,this._parents)}function Si(t,n){var e,r,i;return function(){var s=V(this,t),o=(this.style.removeProperty(t),V(this,t));return s===o?null:s===e&&o===r?i:i=n(e=s,r=o)}}function $n(t){return function(){this.style.removeProperty(t)}}function Ci(t,n,e){var r,i=e+"",s;return function(){var o=V(this,t);return o===i?null:o===r?s:s=n(r=o,e)}}function Ri(t,n,e){var r,i,s;return function(){var o=V(this,t),a=e(this),u=a+"";return a==null&&(u=a=(this.style.removeProperty(t),V(this,t))),o===u?null:o===r&&u===i?s:(i=u,s=n(r=o,a))}}function Ti(t,n){var e,r,i,s="style."+n,o="end."+s,a;return function(){var u=R(this,t),f=u.on,l=u.value[s]==null?a||(a=$n(n)):void 0;(f!==e||i!==l)&&(r=(e=f).copy()).on(o,i=l),u.on=r}}function Ii(t,n,e){var r=(t+="")=="transform"?Pr:kn;return n==null?this.styleTween(t,Si(t,r)).on("end.style."+t,$n(t)):typeof n=="function"?this.styleTween(t,Ri(t,r,Dt(this,"style."+t,n))).each(Ti(this._id,t)):this.styleTween(t,Ci(t,r,n),e).on("end.style."+t,null)}function Fi(t,n,e){return function(r){this.style.setProperty(t,n.call(this,r),e)}}function Di(t,n,e){var r,i;function s(){var o=n.apply(this,arguments);return o!==i&&(r=(i=o)&&Fi(t,o,e)),r}return s._value=n,s}function Pi(t,n,e){var r="style."+(t+="");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;return this.tween(r,Di(t,n,e??""))}function Hi(t){return function(){this.textContent=t}}function qi(t){return function(){var n=t(this);this.textContent=n??""}}function Li(t){return this.tween("text",typeof t=="function"?qi(Dt(this,"text",t)):Hi(t==null?"":t+""))}function Xi(t){return function(n){this.textContent=t.call(this,n)}}function zi(t){var n,e;function r(){var i=t.apply(this,arguments);return i!==e&&(n=(e=i)&&Xi(i)),n}return r._value=t,r}function Oi(t){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;return this.tween(n,zi(t))}function Bi(){for(var t=this._name,n=this._id,e=En(),r=this._groups,i=r.length,s=0;s<i;++s)for(var o=r[s],a=o.length,u,f=0;f<a;++f)if(u=o[f]){var l=S(u,n);xt(u,t,e,f,o,{time:l.time+l.delay+l.duration,delay:0,duration:l.duration,ease:l.ease})}return new D(r,this._parents,t,e)}function Vi(){var t,n,e=this,r=e._id,i=e.size();return new Promise(function(s,o){var a={value:o},u={value:function(){--i===0&&s()}};e.each(function(){var f=R(this,r),l=f.on;l!==t&&(n=(t=l).copy(),n._.cancel.push(a),n._.interrupt.push(a),n._.end.push(u)),f.on=n}),i===0&&s()})}var Yi=0;function D(t,n,e,r){this._groups=t,this._parents=n,this._name=e,this._id=r}function En(){return++Yi}var F=et.prototype;D.prototype={constructor:D,select:ki,selectAll:$i,selectChild:F.selectChild,selectChildren:F.selectChildren,filter:xi,merge:vi,selection:Mi,transition:Bi,call:F.call,nodes:F.nodes,node:F.node,size:F.size,empty:F.empty,each:F.each,on:bi,attr:ei,attrTween:ai,style:Ii,styleTween:Pi,text:Li,textTween:Oi,remove:Ai,tween:Gr,delay:li,duration:pi,ease:di,easeVarying:yi,end:Vi,[Symbol.iterator]:F[Symbol.iterator]};function Ui(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var Wi={time:null,delay:0,duration:250,ease:Ui};function Ki(t,n){for(var e;!(e=t.__transition)||!(e=e[n]);)if(!(t=t.parentNode))throw new Error(`transition ${n} not found`);return e}function Gi(t){var n,e;t instanceof D?(n=t._id,t=t._name):(n=En(),(e=Wi).time=Tt(),t=t==null?null:t+"");for(var r=this._groups,i=r.length,s=0;s<i;++s)for(var o=r[s],a=o.length,u,f=0;f<a;++f)(u=o[f])&&xt(u,t,n,f,o,e||Ki(u,n));return new D(r,this._parents,t,n)}et.prototype.interrupt=Ur;et.prototype.transition=Gi;function Qi(t,n){var e,r=1;t==null&&(t=0),n==null&&(n=0);function i(){var s,o=e.length,a,u=0,f=0;for(s=0;s<o;++s)a=e[s],u+=a.x,f+=a.y;for(u=(u/o-t)*r,f=(f/o-n)*r,s=0;s<o;++s)a=e[s],a.x-=u,a.y-=f}return i.initialize=function(s){e=s},i.x=function(s){return arguments.length?(t=+s,i):t},i.y=function(s){return arguments.length?(n=+s,i):n},i.strength=function(s){return arguments.length?(r=+s,i):r},i}function Ji(t){const n=+this._x.call(null,t),e=+this._y.call(null,t);return Mn(this.cover(n,e),n,e,t)}function Mn(t,n,e,r){if(isNaN(n)||isNaN(e))return t;var i,s=t._root,o={data:r},a=t._x0,u=t._y0,f=t._x1,l=t._y1,p,g,c,y,h,d,_,x;if(!s)return t._root=o,t;for(;s.length;)if((h=n>=(p=(a+f)/2))?a=p:f=p,(d=e>=(g=(u+l)/2))?u=g:l=g,i=s,!(s=s[_=d<<1|h]))return i[_]=o,t;if(c=+t._x.call(null,s.data),y=+t._y.call(null,s.data),n===c&&e===y)return o.next=s,i?i[_]=o:t._root=o,t;do i=i?i[_]=new Array(4):t._root=new Array(4),(h=n>=(p=(a+f)/2))?a=p:f=p,(d=e>=(g=(u+l)/2))?u=g:l=g;while((_=d<<1|h)===(x=(y>=g)<<1|c>=p));return i[x]=s,i[_]=o,t}function Zi(t){var n,e,r=t.length,i,s,o=new Array(r),a=new Array(r),u=1/0,f=1/0,l=-1/0,p=-1/0;for(e=0;e<r;++e)isNaN(i=+this._x.call(null,n=t[e]))||isNaN(s=+this._y.call(null,n))||(o[e]=i,a[e]=s,i<u&&(u=i),i>l&&(l=i),s<f&&(f=s),s>p&&(p=s));if(u>l||f>p)return this;for(this.cover(u,f).cover(l,p),e=0;e<r;++e)Mn(this,o[e],a[e],t[e]);return this}function ji(t,n){if(isNaN(t=+t)||isNaN(n=+n))return this;var e=this._x0,r=this._y0,i=this._x1,s=this._y1;if(isNaN(e))i=(e=Math.floor(t))+1,s=(r=Math.floor(n))+1;else{for(var o=i-e||1,a=this._root,u,f;e>t||t>=i||r>n||n>=s;)switch(f=(n<r)<<1|t<e,u=new Array(4),u[f]=a,a=u,o*=2,f){case 0:i=e+o,s=r+o;break;case 1:e=i-o,s=r+o;break;case 2:i=e+o,r=s-o;break;case 3:e=i-o,r=s-o;break}this._root&&this._root.length&&(this._root=a)}return this._x0=e,this._y0=r,this._x1=i,this._y1=s,this}function ts(){var t=[];return this.visit(function(n){if(!n.length)do t.push(n.data);while(n=n.next)}),t}function ns(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}function b(t,n,e,r,i){this.node=t,this.x0=n,this.y0=e,this.x1=r,this.y1=i}function es(t,n,e){var r,i=this._x0,s=this._y0,o,a,u,f,l=this._x1,p=this._y1,g=[],c=this._root,y,h;for(c&&g.push(new b(c,i,s,l,p)),e==null?e=1/0:(i=t-e,s=n-e,l=t+e,p=n+e,e*=e);y=g.pop();)if(!(!(c=y.node)||(o=y.x0)>l||(a=y.y0)>p||(u=y.x1)<i||(f=y.y1)<s))if(c.length){var d=(o+u)/2,_=(a+f)/2;g.push(new b(c[3],d,_,u,f),new b(c[2],o,_,d,f),new b(c[1],d,a,u,_),new b(c[0],o,a,d,_)),(h=(n>=_)<<1|t>=d)&&(y=g[g.length-1],g[g.length-1]=g[g.length-1-h],g[g.length-1-h]=y)}else{var x=t-+this._x.call(null,c.data),w=n-+this._y.call(null,c.data),v=x*x+w*w;if(v<e){var m=Math.sqrt(e=v);i=t-m,s=n-m,l=t+m,p=n+m,r=c.data}}return r}function rs(t){if(isNaN(l=+this._x.call(null,t))||isNaN(p=+this._y.call(null,t)))return this;var n,e=this._root,r,i,s,o=this._x0,a=this._y0,u=this._x1,f=this._y1,l,p,g,c,y,h,d,_;if(!e)return this;if(e.length)for(;;){if((y=l>=(g=(o+u)/2))?o=g:u=g,(h=p>=(c=(a+f)/2))?a=c:f=c,n=e,!(e=e[d=h<<1|y]))return this;if(!e.length)break;(n[d+1&3]||n[d+2&3]||n[d+3&3])&&(r=n,_=d)}for(;e.data!==t;)if(i=e,!(e=e.next))return this;return(s=e.next)&&delete e.next,i?(s?i.next=s:delete i.next,this):n?(s?n[d]=s:delete n[d],(e=n[0]||n[1]||n[2]||n[3])&&e===(n[3]||n[2]||n[1]||n[0])&&!e.length&&(r?r[_]=e:this._root=e),this):(this._root=s,this)}function is(t){for(var n=0,e=t.length;n<e;++n)this.remove(t[n]);return this}function ss(){return this._root}function os(){var t=0;return this.visit(function(n){if(!n.length)do++t;while(n=n.next)}),t}function as(t){var n=[],e,r=this._root,i,s,o,a,u;for(r&&n.push(new b(r,this._x0,this._y0,this._x1,this._y1));e=n.pop();)if(!t(r=e.node,s=e.x0,o=e.y0,a=e.x1,u=e.y1)&&r.length){var f=(s+a)/2,l=(o+u)/2;(i=r[3])&&n.push(new b(i,f,l,a,u)),(i=r[2])&&n.push(new b(i,s,l,f,u)),(i=r[1])&&n.push(new b(i,f,o,a,l)),(i=r[0])&&n.push(new b(i,s,o,f,l))}return this}function us(t){var n=[],e=[],r;for(this._root&&n.push(new b(this._root,this._x0,this._y0,this._x1,this._y1));r=n.pop();){var i=r.node;if(i.length){var s,o=r.x0,a=r.y0,u=r.x1,f=r.y1,l=(o+u)/2,p=(a+f)/2;(s=i[0])&&n.push(new b(s,o,a,l,p)),(s=i[1])&&n.push(new b(s,l,a,u,p)),(s=i[2])&&n.push(new b(s,o,p,l,f)),(s=i[3])&&n.push(new b(s,l,p,u,f))}e.push(r)}for(;r=e.pop();)t(r.node,r.x0,r.y0,r.x1,r.y1);return this}function fs(t){return t[0]}function ls(t){return arguments.length?(this._x=t,this):this._x}function cs(t){return t[1]}function hs(t){return arguments.length?(this._y=t,this):this._y}function Sn(t,n,e){var r=new Pt(n??fs,e??cs,NaN,NaN,NaN,NaN);return t==null?r:r.addAll(t)}function Pt(t,n,e,r,i,s){this._x=t,this._y=n,this._x0=e,this._y0=r,this._x1=i,this._y1=s,this._root=void 0}function tn(t){for(var n={data:t.data},e=n;t=t.next;)e=e.next={data:t.data};return n}var N=Sn.prototype=Pt.prototype;N.copy=function(){var t=new Pt(this._x,this._y,this._x0,this._y0,this._x1,this._y1),n=this._root,e,r;if(!n)return t;if(!n.length)return t._root=tn(n),t;for(e=[{source:n,target:t._root=new Array(4)}];n=e.pop();)for(var i=0;i<4;++i)(r=n.source[i])&&(r.length?e.push({source:r,target:n.target[i]=new Array(4)}):n.target[i]=tn(r));return t};N.add=Ji;N.addAll=Zi;N.cover=ji;N.data=ts;N.extent=ns;N.find=es;N.remove=rs;N.removeAll=is;N.root=ss;N.size=os;N.visit=as;N.visitAfter=us;N.x=ls;N.y=hs;function J(t){return function(){return t}}function O(t){return(t()-.5)*1e-6}function ps(t){return t.index}function nn(t,n){var e=t.get(n);if(!e)throw new Error("node not found: "+n);return e}function gs(t){var n=ps,e=p,r,i=J(30),s,o,a,u,f,l=1;t==null&&(t=[]);function p(d){return 1/Math.min(a[d.source.index],a[d.target.index])}function g(d){for(var _=0,x=t.length;_<l;++_)for(var w=0,v,m,k,E,T,z,U;w<x;++w)v=t[w],m=v.source,k=v.target,E=k.x+k.vx-m.x-m.vx||O(f),T=k.y+k.vy-m.y-m.vy||O(f),z=Math.sqrt(E*E+T*T),z=(z-s[w])/z*d*r[w],E*=z,T*=z,k.vx-=E*(U=u[w]),k.vy-=T*U,m.vx+=E*(U=1-U),m.vy+=T*U}function c(){if(o){var d,_=o.length,x=t.length,w=new Map(o.map((m,k)=>[n(m,k,o),m])),v;for(d=0,a=new Array(_);d<x;++d)v=t[d],v.index=d,typeof v.source!="object"&&(v.source=nn(w,v.source)),typeof v.target!="object"&&(v.target=nn(w,v.target)),a[v.source.index]=(a[v.source.index]||0)+1,a[v.target.index]=(a[v.target.index]||0)+1;for(d=0,u=new Array(x);d<x;++d)v=t[d],u[d]=a[v.source.index]/(a[v.source.index]+a[v.target.index]);r=new Array(x),y(),s=new Array(x),h()}}function y(){if(o)for(var d=0,_=t.length;d<_;++d)r[d]=+e(t[d],d,t)}function h(){if(o)for(var d=0,_=t.length;d<_;++d)s[d]=+i(t[d],d,t)}return g.initialize=function(d,_){o=d,f=_,c()},g.links=function(d){return arguments.length?(t=d,c(),g):t},g.id=function(d){return arguments.length?(n=d,g):n},g.iterations=function(d){return arguments.length?(l=+d,g):l},g.strength=function(d){return arguments.length?(e=typeof d=="function"?d:J(+d),y(),g):e},g.distance=function(d){return arguments.length?(i=typeof d=="function"?d:J(+d),h(),g):i},g}const ds=1664525,_s=1013904223,en=4294967296;function ys(){let t=1;return()=>(t=(ds*t+_s)%en)/en}function xs(t){return t.x}function vs(t){return t.y}var ws=10,ms=Math.PI*(3-Math.sqrt(5));function bs(t){var n,e=1,r=.001,i=1-Math.pow(r,1/300),s=0,o=.6,a=new Map,u=It(p),f=Mt("tick","end"),l=ys();t==null&&(t=[]);function p(){g(),f.call("tick",n),e<r&&(u.stop(),f.call("end",n))}function g(h){var d,_=t.length,x;h===void 0&&(h=1);for(var w=0;w<h;++w)for(e+=(s-e)*i,a.forEach(function(v){v(e)}),d=0;d<_;++d)x=t[d],x.fx==null?x.x+=x.vx*=o:(x.x=x.fx,x.vx=0),x.fy==null?x.y+=x.vy*=o:(x.y=x.fy,x.vy=0);return n}function c(){for(var h=0,d=t.length,_;h<d;++h){if(_=t[h],_.index=h,_.fx!=null&&(_.x=_.fx),_.fy!=null&&(_.y=_.fy),isNaN(_.x)||isNaN(_.y)){var x=ws*Math.sqrt(.5+h),w=h*ms;_.x=x*Math.cos(w),_.y=x*Math.sin(w)}(isNaN(_.vx)||isNaN(_.vy))&&(_.vx=_.vy=0)}}function y(h){return h.initialize&&h.initialize(t,l),h}return c(),n={tick:g,restart:function(){return u.restart(p),n},stop:function(){return u.stop(),n},nodes:function(h){return arguments.length?(t=h,c(),a.forEach(y),n):t},alpha:function(h){return arguments.length?(e=+h,n):e},alphaMin:function(h){return arguments.length?(r=+h,n):r},alphaDecay:function(h){return arguments.length?(i=+h,n):+i},alphaTarget:function(h){return arguments.length?(s=+h,n):s},velocityDecay:function(h){return arguments.length?(o=1-h,n):1-o},randomSource:function(h){return arguments.length?(l=h,a.forEach(y),n):l},force:function(h,d){return arguments.length>1?(d==null?a.delete(h):a.set(h,y(d)),n):a.get(h)},find:function(h,d,_){var x=0,w=t.length,v,m,k,E,T;for(_==null?_=1/0:_*=_,x=0;x<w;++x)E=t[x],v=h-E.x,m=d-E.y,k=v*v+m*m,k<_&&(T=E,_=k);return T},on:function(h,d){return arguments.length>1?(f.on(h,d),n):f.on(h)}}}function Ns(){var t,n,e,r,i=J(-30),s,o=1,a=1/0,u=.81;function f(c){var y,h=t.length,d=Sn(t,xs,vs).visitAfter(p);for(r=c,y=0;y<h;++y)n=t[y],d.visit(g)}function l(){if(t){var c,y=t.length,h;for(s=new Array(y),c=0;c<y;++c)h=t[c],s[h.index]=+i(h,c,t)}}function p(c){var y=0,h,d,_=0,x,w,v;if(c.length){for(x=w=v=0;v<4;++v)(h=c[v])&&(d=Math.abs(h.value))&&(y+=h.value,_+=d,x+=d*h.x,w+=d*h.y);c.x=x/_,c.y=w/_}else{h=c,h.x=h.data.x,h.y=h.data.y;do y+=s[h.data.index];while(h=h.next)}c.value=y}function g(c,y,h,d){if(!c.value)return!0;var _=c.x-n.x,x=c.y-n.y,w=d-y,v=_*_+x*x;if(w*w/u<v)return v<a&&(_===0&&(_=O(e),v+=_*_),x===0&&(x=O(e),v+=x*x),v<o&&(v=Math.sqrt(o*v)),n.vx+=_*c.value*r/v,n.vy+=x*c.value*r/v),!0;if(c.length||v>=a)return;(c.data!==n||c.next)&&(_===0&&(_=O(e),v+=_*_),x===0&&(x=O(e),v+=x*x),v<o&&(v=Math.sqrt(o*v)));do c.data!==n&&(w=s[c.data.index]*r/v,n.vx+=_*w,n.vy+=x*w);while(c=c.next)}return f.initialize=function(c,y){t=c,e=y,l()},f.strength=function(c){return arguments.length?(i=typeof c=="function"?c:J(+c),l(),f):i},f.distanceMin=function(c){return arguments.length?(o=c*c,f):Math.sqrt(o)},f.distanceMax=function(c){return arguments.length?(a=c*c,f):Math.sqrt(a)},f.theta=function(c){return arguments.length?(u=c*c,f):Math.sqrt(u)},f}function Q(t,n,e){this.k=t,this.x=n,this.y=e}Q.prototype={constructor:Q,scale:function(t){return t===1?this:new Q(this.k*t,this.x,this.y)},translate:function(t,n){return t===0&n===0?this:new Q(this.k,this.x+this.k*t,this.y+this.k*n)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};Q.prototype;function As(t){switch(t){case"mentions":return"#3b82f6";case"depends_on":return"#f59e0b";case"related":return"#22c55e";default:return"#94a3b8"}}function $s(){const t=Cn(),n=H.useRef(null),[e,r]=H.useState(null),[i,s]=H.useState([]),[o,a]=H.useState(null);H.useEffect(()=>{let f=!1;return Promise.all([Ht.listWikiBrowserPages(),Ht.getWikiLinks()]).then(([l,p])=>{f||(r(l.pages??[]),s(p.links??[]),a(null))}).catch(l=>{f||(a(l instanceof Error?l.message:String(l)),r([]))}),()=>{f=!0}},[]);const u=H.useMemo(()=>{const f=new Map;for(const c of i)f.set(c.target_slug,(f.get(c.target_slug)??0)+1);const l=(e??[]).map(c=>({slug:c.slug,title:c.title,type:c.type,inbound:f.get(c.slug)??0})),p=new Set(l.map(c=>c.slug)),g=i.filter(c=>p.has(c.source_slug)&&p.has(c.target_slug)).map(c=>({source:c.source_slug,target:c.target_slug,link_type:c.link_type}));return{nodes:l,links:g}},[i,e]);return H.useEffect(()=>{if(!n.current||u.nodes.length===0)return;const f=960,l=560,p=dr(n.current);p.selectAll("*").remove(),p.attr("viewBox",`0 0 ${f} ${l}`);const g=p.append("g").selectAll("line").data(u.links).join("line").attr("stroke",h=>As(h.link_type)).attr("stroke-width",1.8).attr("stroke-opacity",.9),c=p.append("g").selectAll("g").data(u.nodes).join("g").style("cursor","pointer").on("click",(h,d)=>{t(`/wiki?selected=${encodeURIComponent(d.slug)}`)});c.append("circle").attr("r",h=>16+Math.min(h.inbound*2,18)).attr("fill","#161b22").attr("stroke","#3b82f6").attr("stroke-width",2),c.append("text").text(h=>h.title).attr("fill","#e6edf3").attr("font-size",11).attr("text-anchor","middle").attr("dy",4);const y=bs(u.nodes).force("link",gs(u.links).id(h=>h.slug).distance(120)).force("charge",Ns().strength(-320)).force("center",Qi(f/2,l/2));return y.on("tick",()=>{g.attr("x1",h=>h.source.x??f/2).attr("y1",h=>h.source.y??l/2).attr("x2",h=>h.target.x??f/2).attr("y2",h=>h.target.y??l/2),c.attr("transform",h=>`translate(${h.x??f/2},${h.y??l/2})`)}),()=>{y.stop()}},[u,t]),I.jsxs("div",{className:"page",children:[I.jsxs("header",{className:"page-header",children:[I.jsx("h1",{children:"Wiki Graph"}),I.jsx("p",{className:"dim",children:"Explore entity relationships across PKB pages."})]}),o?I.jsx(Rn,{inline:!0,message:o}):null,e===null?I.jsx(Tn,{centered:!0,label:"Loading entity graph"}):null,e!==null&&u.nodes.length===0?I.jsx(In,{icon:"🕸️",title:"No graph data yet",description:"Add wiki pages and links to build the PKB graph."}):null,e!==null&&u.nodes.length>0?I.jsx("div",{className:"wiki-graph-shell",children:I.jsx("svg",{ref:n,"aria-label":"Wiki entity graph",className:"wiki-graph-canvas"})}):null]})}export{$s as WikiGraph};
2
+ //# sourceMappingURL=WikiGraph-SWPuU0-f.js.map