@ts-charts/charts 0.1.1
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.
- package/LICENSE.md +21 -0
- package/README.md +153 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.js +5 -0
- package/package.json +71 -0
package/LICENSE.md
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 Open Web Foundation
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
<p align="center"><img src=".github/art/cover.jpg" alt="Social Card of this repo"></p>
|
|
2
|
+
|
|
3
|
+
[![npm version][npm-version-src]][npm-version-href]
|
|
4
|
+
[![GitHub Actions][github-actions-src]][github-actions-href]
|
|
5
|
+
[![Commitizen friendly][commitizen-src]][commitizen-href]
|
|
6
|
+
<!-- [![npm downloads][npm-downloads-src]][npm-downloads-href] -->
|
|
7
|
+
<!-- [![Codecov][codecov-src]][codecov-href] -->
|
|
8
|
+
|
|
9
|
+
# ts-charts
|
|
10
|
+
|
|
11
|
+
> A complete TypeScript rewrite of D3.js โ fully typed, zero dependencies, Bun-first.
|
|
12
|
+
|
|
13
|
+
All 30 D3.js packages, rewritten from the ground up in TypeScript with `isolatedDeclarations` support. Ships as a single umbrella package or 30+ individually installable sub-packages.
|
|
14
|
+
|
|
15
|
+
## Features
|
|
16
|
+
|
|
17
|
+
- ๐ท **Fully Typed** โ strict TypeScript with `isolatedDeclarations: true`, no `any` leaks
|
|
18
|
+
- ๐ฆ **Zero Dependencies** โ no external runtime dependencies, everything inlined
|
|
19
|
+
- โก **Bun-First** โ optimized for Bun, works in all modern browsers
|
|
20
|
+
- ๐ณ **Tree-Shakeable** โ ESM-only, import only what you need
|
|
21
|
+
- ๐งช **3,500+ Tests** โ comprehensive test suite ported from D3, all passing
|
|
22
|
+
- ๐ฏ **D3 API Compatible** โ drop-in replacement for D3.js
|
|
23
|
+
|
|
24
|
+
## Install
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
# install the umbrella package (everything)
|
|
28
|
+
bun add ts-charts
|
|
29
|
+
|
|
30
|
+
# or install individual packages
|
|
31
|
+
bun add @ts-charts/scale
|
|
32
|
+
bun add @ts-charts/selection
|
|
33
|
+
bun add @ts-charts/shape
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Usage
|
|
37
|
+
|
|
38
|
+
```ts
|
|
39
|
+
// import everything
|
|
40
|
+
import { scaleLinear, line, select } from 'ts-charts'
|
|
41
|
+
|
|
42
|
+
// or import from individual packages
|
|
43
|
+
import { scaleLinear } from '@ts-charts/scale'
|
|
44
|
+
import { line } from '@ts-charts/shape'
|
|
45
|
+
import { select } from '@ts-charts/selection'
|
|
46
|
+
|
|
47
|
+
// create a linear scale
|
|
48
|
+
const x = scaleLinear()
|
|
49
|
+
.domain([0, 100])
|
|
50
|
+
.range([0, 960])
|
|
51
|
+
|
|
52
|
+
// create a line generator
|
|
53
|
+
const myLine = line()
|
|
54
|
+
.x((d: [number, number]) => x(d[0]))
|
|
55
|
+
.y((d: [number, number]) => d[1])
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Packages
|
|
59
|
+
|
|
60
|
+
| Package | Description |
|
|
61
|
+
|---------|-------------|
|
|
62
|
+
| `@ts-charts/array` | Array manipulation, statistics, histograms, bisection |
|
|
63
|
+
| `@ts-charts/axis` | SVG axis generators for scales |
|
|
64
|
+
| `@ts-charts/brush` | 1D and 2D brush selections |
|
|
65
|
+
| `@ts-charts/chord` | Chord diagram layout and ribbon generator |
|
|
66
|
+
| `@ts-charts/color` | Color spaces: RGB, HSL, Lab, HCL, Cubehelix |
|
|
67
|
+
| `@ts-charts/contour` | Contour polygons and density estimation |
|
|
68
|
+
| `@ts-charts/delaunay` | Delaunay triangulation and Voronoi diagrams |
|
|
69
|
+
| `@ts-charts/dispatch` | Named event dispatching |
|
|
70
|
+
| `@ts-charts/drag` | Drag-and-drop interaction |
|
|
71
|
+
| `@ts-charts/dsv` | CSV and TSV parsing and formatting |
|
|
72
|
+
| `@ts-charts/ease` | Easing functions for transitions |
|
|
73
|
+
| `@ts-charts/fetch` | Convenience wrappers for the Fetch API |
|
|
74
|
+
| `@ts-charts/force` | Force-directed graph layout |
|
|
75
|
+
| `@ts-charts/format` | Number formatting (SI, fixed, currency, etc.) |
|
|
76
|
+
| `@ts-charts/geo` | Geographic projections and path generators |
|
|
77
|
+
| `@ts-charts/hierarchy` | Tree, treemap, pack, and partition layouts |
|
|
78
|
+
| `@ts-charts/interpolate` | Value interpolation for animations |
|
|
79
|
+
| `@ts-charts/path` | SVG path serialization |
|
|
80
|
+
| `@ts-charts/polygon` | Polygon area, centroid, convex hull |
|
|
81
|
+
| `@ts-charts/quadtree` | 2D spatial indexing |
|
|
82
|
+
| `@ts-charts/random` | Random number generators for various distributions |
|
|
83
|
+
| `@ts-charts/scale` | Scales: linear, log, ordinal, time, etc. |
|
|
84
|
+
| `@ts-charts/scale-chromatic` | Color schemes: sequential, diverging, categorical |
|
|
85
|
+
| `@ts-charts/selection` | DOM selection and manipulation |
|
|
86
|
+
| `@ts-charts/shape` | Shape generators: line, area, arc, pie, stack |
|
|
87
|
+
| `@ts-charts/time` | Time intervals and rounding |
|
|
88
|
+
| `@ts-charts/time-format` | Date/time parsing and formatting |
|
|
89
|
+
| `@ts-charts/timer` | Efficient animation scheduling via `requestAnimationFrame` |
|
|
90
|
+
| `@ts-charts/transition` | Animated transitions on selections |
|
|
91
|
+
| `@ts-charts/zoom` | Pan and zoom interaction |
|
|
92
|
+
|
|
93
|
+
## Testing
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
bun test
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Changelog
|
|
100
|
+
|
|
101
|
+
Please see our [releases][releases-href] page for more information on what has changed recently.
|
|
102
|
+
|
|
103
|
+
## Contributing
|
|
104
|
+
|
|
105
|
+
Please see [CONTRIBUTING][contributing-href] for details.
|
|
106
|
+
|
|
107
|
+
## Community
|
|
108
|
+
|
|
109
|
+
For help, discussion about best practices, or any other conversation that would benefit from being searchable:
|
|
110
|
+
|
|
111
|
+
[Discussions on GitHub][discussions-href]
|
|
112
|
+
|
|
113
|
+
For casual chit-chat with others using this package:
|
|
114
|
+
|
|
115
|
+
[Join the Stacks Discord Server][discord-href]
|
|
116
|
+
|
|
117
|
+
## Postcardware
|
|
118
|
+
|
|
119
|
+
"Software that is free, but hopes for a postcard." We love receiving postcards from around the world showing where Stacks is being used! We showcase them on our website too.
|
|
120
|
+
|
|
121
|
+
Our address: Stacks.js, 12665 Village Ln #2306, Playa Vista, CA 90094, United States ๐
|
|
122
|
+
|
|
123
|
+
## Sponsors
|
|
124
|
+
|
|
125
|
+
We would like to extend our thanks to the following sponsors for funding Stacks development. If you are interested in becoming a sponsor, please reach out to us.
|
|
126
|
+
|
|
127
|
+
- [JetBrains][jetbrains-href]
|
|
128
|
+
- [The Solana Foundation][solana-href]
|
|
129
|
+
|
|
130
|
+
## License
|
|
131
|
+
|
|
132
|
+
The MIT License (MIT). Please see [LICENSE][license-href] for more information.
|
|
133
|
+
|
|
134
|
+
Made with ๐
|
|
135
|
+
|
|
136
|
+
<!-- Badges -->
|
|
137
|
+
[npm-version-src]: https://img.shields.io/npm/v/ts-charts?style=flat-square
|
|
138
|
+
[npm-version-href]: https://npmjs.com/package/ts-charts
|
|
139
|
+
[github-actions-src]: https://img.shields.io/github/actions/workflow/status/stacksjs/ts-charts/ci.yml?style=flat-square&branch=main
|
|
140
|
+
[github-actions-href]: https://github.com/stacksjs/ts-charts/actions?query=workflow%3Aci
|
|
141
|
+
|
|
142
|
+
[commitizen-src]: https://img.shields.io/badge/commitizen-friendly-brightgreen.svg
|
|
143
|
+
[commitizen-href]: http://commitizen.github.io/cz-cli/
|
|
144
|
+
[releases-href]: https://github.com/stacksjs/ts-charts/releases
|
|
145
|
+
[contributing-href]: .github/CONTRIBUTING.md
|
|
146
|
+
[discussions-href]: https://github.com/stacksjs/ts-charts/discussions
|
|
147
|
+
[discord-href]: https://discord.gg/stacksjs
|
|
148
|
+
[jetbrains-href]: https://www.jetbrains.com/
|
|
149
|
+
[solana-href]: https://solana.com/
|
|
150
|
+
[license-href]: LICENSE.md
|
|
151
|
+
|
|
152
|
+
<!-- [codecov-src]: https://img.shields.io/codecov/c/gh/stacksjs/ts-charts/main?style=flat-square
|
|
153
|
+
[codecov-href]: https://codecov.io/gh/stacksjs/ts-charts -->
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export * from '@ts-charts/array';
|
|
2
|
+
export * from '@ts-charts/axis';
|
|
3
|
+
export * from '@ts-charts/brush';
|
|
4
|
+
export * from '@ts-charts/chord';
|
|
5
|
+
export * from '@ts-charts/color';
|
|
6
|
+
export * from '@ts-charts/contour';
|
|
7
|
+
export * from '@ts-charts/delaunay';
|
|
8
|
+
export * from '@ts-charts/dispatch';
|
|
9
|
+
export * from '@ts-charts/drag';
|
|
10
|
+
export * from '@ts-charts/dsv';
|
|
11
|
+
export * from '@ts-charts/ease';
|
|
12
|
+
export * from '@ts-charts/fetch';
|
|
13
|
+
export * from '@ts-charts/force';
|
|
14
|
+
export * from '@ts-charts/format';
|
|
15
|
+
export * from '@ts-charts/geo';
|
|
16
|
+
export * from '@ts-charts/hierarchy';
|
|
17
|
+
export * from '@ts-charts/interpolate';
|
|
18
|
+
export * from '@ts-charts/path';
|
|
19
|
+
export * from '@ts-charts/polygon';
|
|
20
|
+
export * from '@ts-charts/quadtree';
|
|
21
|
+
export * from '@ts-charts/random';
|
|
22
|
+
export * from '@ts-charts/scale';
|
|
23
|
+
export * from '@ts-charts/scale-chromatic';
|
|
24
|
+
export * from '@ts-charts/selection';
|
|
25
|
+
export * from '@ts-charts/shape';
|
|
26
|
+
export * from '@ts-charts/time';
|
|
27
|
+
export * from '@ts-charts/time-format';
|
|
28
|
+
export * from '@ts-charts/timer';
|
|
29
|
+
export * from '@ts-charts/transition';
|
|
30
|
+
export * from '@ts-charts/zoom';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
function ru(u,f){return u==null||f==null?NaN:u<f?-1:u>f?1:u>=f?0:NaN}function Mb(u,f){return u==null||f==null?NaN:f<u?-1:f>u?1:f>=u?0:NaN}function vf(u){let f,r,n;if(u.length!==2)f=ru,r=(T,G)=>ru(u(T),G),n=(T,G)=>u(T)-G;else f=u===ru||u===Mb?u:ZD,r=u,n=u;function m(T,G,M=0,I=T.length){if(M<I){if(f(G,G)!==0)return I;do{let D=M+I>>>1;if(r(T[D],G)<0)M=D+1;else I=D}while(M<I)}return M}function b(T,G,M=0,I=T.length){if(M<I){if(f(G,G)!==0)return I;do{let D=M+I>>>1;if(r(T[D],G)<=0)M=D+1;else I=D}while(M<I)}return M}function o(T,G,M=0,I=T.length){let D=m(T,G,M,I-1);return D>M&&n(T[D-1],G)>-n(T[D],G)?D-1:D}return{left:m,center:o,right:b}}function ZD(){return 0}function pf(u){return u===null?NaN:+u}function*E4(u,f){if(f===void 0){for(let r of u)if(r!=null&&(r=+r)>=r)yield r}else{let r=-1;for(let n of u)if((n=f(n,++r,u))!=null&&(n=+n)>=n)yield n}}var C4=vf(ru),O4=C4.right,JD=C4.left,FD=vf(pf).center,n0=O4;function KD(u,f){if(!((f=+f)>=0))throw RangeError("invalid r");let r=u.length;if(!((r=Math.floor(r))>=0))throw RangeError("invalid length");if(!r||!f)return u;let n=B8(f),m=u.slice();return n(u,m,0,r,1),n(m,u,0,r,1),n(u,m,0,r,1),u}var U8=P4(B8),UD=P4(BD);function P4(u){return function(f,r,n=r){if(!((r=+r)>=0))throw RangeError("invalid rx");if(!((n=+n)>=0))throw RangeError("invalid ry");let{data:m,width:b,height:o}=f;if(!((b=Math.floor(b))>=0))throw RangeError("invalid width");if(!((o=Math.floor(o!==void 0?o:m.length/b))>=0))throw RangeError("invalid height");if(!b||!o||!r&&!n)return f;let T=r&&u(r),G=n&&u(n),M=m.slice();if(T&&G)Wr(T,M,m,b,o),Wr(T,m,M,b,o),Wr(T,M,m,b,o),Nr(G,m,M,b,o),Nr(G,M,m,b,o),Nr(G,m,M,b,o);else if(T)Wr(T,m,M,b,o),Wr(T,M,m,b,o),Wr(T,m,M,b,o);else if(G)Nr(G,m,M,b,o),Nr(G,M,m,b,o),Nr(G,m,M,b,o);return f}}function Wr(u,f,r,n,m){for(let b=0,o=n*m;b<o;)u(f,r,b,b+=n,1)}function Nr(u,f,r,n,m){for(let b=0,o=n*m;b<n;++b)u(f,r,b,b+o,n)}function BD(u){let f=B8(u);return(r,n,m,b,o)=>{m<<=2,b<<=2,o<<=2,f(r,n,m+0,b+0,o),f(r,n,m+1,b+1,o),f(r,n,m+2,b+2,o),f(r,n,m+3,b+3,o)}}function B8(u){let f=Math.floor(u);if(f===u)return WD(u);let r=u-f,n=2*u+1;return(m,b,o,T,G)=>{if(!((T-=G)>=o))return;let M=f*b[o],I=G*f,D=I+G;for(let S=o,E=o+I;S<E;S+=G)M+=b[Math.min(T,S)];for(let S=o,E=T;S<=E;S+=G)M+=b[Math.min(T,S+I)],m[S]=(M+r*(b[Math.max(o,S-D)]+b[Math.min(T,S+D)]))/n,M-=b[Math.max(o,S-I)]}}function WD(u){let f=2*u+1;return(r,n,m,b,o)=>{if(!((b-=o)>=m))return;let T=u*n[m],G=o*u;for(let M=m,I=m+G;M<I;M+=o)T+=n[Math.min(b,M)];for(let M=m,I=b;M<=I;M+=o)T+=n[Math.min(b,M+G)],r[M]=T/f,T-=n[Math.max(m,M-G)]}}function Af(u,f){let r=0;if(f===void 0){for(let n of u)if(n!=null&&(n=+n)>=n)++r}else{let n=-1;for(let m of u)if((m=f(m,++n,u))!=null&&(m=+m)>=m)++r}return r}function ND(u){return u.length|0}function HD(u){return!(u>0)}function VD(u){return typeof u!=="object"||"length"in u?u:Array.from(u)}function XD(u){return(f)=>u(...f)}function $4(...u){let f=typeof u[u.length-1]==="function"&&XD(u.pop());u=u.map(VD);let r=u.map(ND),n=u.length-1,m=Array(n+1).fill(0),b=[];if(n<0||r.some(HD))return b;while(!0){b.push(m.map((T,G)=>u[G][T]));let o=n;while(++m[o]===r[o]){if(o===0)return f?b.map(f):b;m[o--]=0}}}function w4(u,f){let r=0,n=0;return Float64Array.from(u,f===void 0?(m)=>r+=+m||0:(m)=>r+=+f(m,n++,u)||0)}function Gb(u,f){let r=0,n,m=0,b=0;if(f===void 0){for(let o of u)if(o!=null&&(o=+o)>=o)n=o-m,m+=n/++r,b+=n*(o-m)}else{let o=-1;for(let T of u)if((T=f(T,++o,u))!=null&&(T=+T)>=T)n=T-m,m+=n/++r,b+=n*(T-m)}if(r>1)return b/(r-1)}function Ib(u,f){let r=Gb(u,f);return r?Math.sqrt(r):r}function Rf(u,f){let r,n;if(f===void 0){for(let m of u)if(m!=null)if(r===void 0){if(m>=m)r=n=m}else{if(r>m)r=m;if(n<m)n=m}}else{let m=-1;for(let b of u)if((b=f(b,++m,u))!=null)if(r===void 0){if(b>=b)r=n=b}else{if(r>b)r=b;if(n<b)n=b}}return[r,n]}class Ou{_partials;_n;constructor(){this._partials=new Float64Array(32),this._n=0}add(u){let f=this._partials,r=0;for(let n=0;n<this._n&&n<32;n++){let m=f[n],b=u+m,o=Math.abs(u)<Math.abs(m)?u-(b-m):m-(b-u);if(o)f[r++]=o;u=b}return f[r]=u,this._n=r+1,this}valueOf(){let u=this._partials,f=this._n,r,n,m,b=0;if(f>0){b=u[--f];while(f>0)if(r=b,n=u[--f],b=r+n,m=n-(b-r),m)break;if(f>0&&(m<0&&u[f-1]<0||m>0&&u[f-1]>0)){if(n=m*2,r=b+n,n==r-b)b=r}}return b}}function YD(u,f){let r=new Ou;if(f===void 0){for(let n of u)if(n=+n)r.add(n)}else{let n=-1;for(let m of u)if(m=+f(m,++n,u))r.add(m)}return+r}function qD(u,f){let r=new Ou,n=-1;return Float64Array.from(u,f===void 0?(m)=>+r.add(+m||0):(m)=>+r.add(+f(m,++n,u)||0))}function A4(u){return u!==null&&typeof u==="object"?u.valueOf():u}function W8({_intern:u,_key:f},r){let n=f(r);return u.has(n)?u.get(n):r}function R4({_intern:u,_key:f},r){let n=f(r);if(u.has(n))return u.get(n);return u.set(n,r),r}function Q4({_intern:u,_key:f},r){let n=f(r);if(u.has(n))r=u.get(n),u.delete(n);return r}class i0 extends Map{_intern;_key;constructor(u,f=A4){super();if(this._intern=new Map,this._key=f,u!=null)for(let[r,n]of u)this.set(r,n)}get(u){return super.get(W8(this,u))}has(u){return super.has(W8(this,u))}set(u,f){return super.set(R4(this,u),f)}delete(u){return super.delete(Q4(this,u))}}class I0 extends Set{_intern;_key;constructor(u,f=A4){super();if(this._intern=new Map,this._key=f,u!=null)for(let r of u)this.add(r)}has(u){return super.has(W8(this,u))}add(u){return super.add(R4(this,u))}delete(u){return super.delete(Q4(this,u))}}function s0(u){return u}function Sb(u,...f){return Hr(u,s0,s0,f)}function L4(u,...f){return Hr(u,Array.from,s0,f)}function Z4(u,f){for(let r=1,n=f.length;r<n;++r)u=u.flatMap((m)=>m.pop().map(([b,o])=>[...m,b,o]));return u}function zD(u,...f){return Z4(L4(u,...f),f)}function jD(u,f,...r){return Z4(J4(u,f,...r),r)}function N8(u,f,...r){return Hr(u,s0,f,r)}function J4(u,f,...r){return Hr(u,Array.from,f,r)}function kD(u,...f){return Hr(u,s0,F4,f)}function _D(u,...f){return Hr(u,Array.from,F4,f)}function F4(u){if(u.length!==1)throw Error("duplicate key");return u[0]}function Hr(u,f,r,n){return function m(b,o){if(o>=n.length)return r(b);let T=new i0,G=n[o++],M=-1;for(let I of b){let D=G(I,++M,b),S=T.get(D);if(S)S.push(I);else T.set(D,[I])}for(let[I,D]of T)T.set(I,m(D,o));return f(T)}(u,0)}function Db(u,f){return Array.from(f,(r)=>u[r])}function _n(u,...f){if(typeof u[Symbol.iterator]!=="function")throw TypeError("values is not iterable");u=Array.from(u);let[r]=f;if(r&&r.length!==2||f.length>1){let n=Uint32Array.from(u,(m,b)=>b);if(f.length>1)f=f.map((m)=>u.map(m)),n.sort((m,b)=>{for(let o of f){let T=a0(o[m],o[b]);if(T)return T}return 0});else r=u.map(r),n.sort((m,b)=>a0(r[m],r[b]));return Db(u,n)}return u.sort(gn(r))}function gn(u=ru){if(u===ru)return a0;if(typeof u!=="function")throw TypeError("compare is not a function");return(f,r)=>{let n=u(f,r);if(n||n===0)return n;return(u(r,r)===0?1:0)-(u(f,f)===0?1:0)}}function a0(u,f){return(u==null||!(u>=u)?1:0)-(f==null||!(f>=f)?1:0)||(u<f?-1:u>f?1:0)}function K4(u,f,r){return(f.length!==2?_n(N8(u,f,r),([n,m],[b,o])=>ru(m,o)||ru(n,b)):_n(Sb(u,r),([n,m],[b,o])=>f(m,o)||ru(n,b))).map(([n])=>n)}var U4=Array.prototype,B4=U4.slice,FL=U4.map;function cn(u){return()=>u}var gD=Math.sqrt(50),cD=Math.sqrt(10),hD=Math.sqrt(2);function Eb(u,f,r){let n=(f-u)/Math.max(0,r),m=Math.floor(Math.log10(n)),b=n/Math.pow(10,m),o=b>=gD?10:b>=cD?5:b>=hD?2:1,T,G,M;if(m<0){if(M=Math.pow(10,-m)/o,T=Math.round(u*M),G=Math.round(f*M),T/M<u)++T;if(G/M>f)--G;M=-M}else{if(M=Math.pow(10,m)*o,T=Math.round(u/M),G=Math.round(f/M),T*M<u)++T;if(G*M>f)--G}if(G<T&&0.5<=r&&r<2)return Eb(u,f,r*2);return[T,G,M]}function m0(u,f,r){if(f=+f,u=+u,r=+r,!(r>0))return[];if(u===f)return[u];let n=f<u,[m,b,o]=n?Eb(f,u,r):Eb(u,f,r);if(!(b>=m))return[];let T=b-m+1,G=Array(T);if(n)if(o<0)for(let M=0;M<T;++M)G[M]=(b-M)/-o;else for(let M=0;M<T;++M)G[M]=(b-M)*o;else if(o<0)for(let M=0;M<T;++M)G[M]=(m+M)/-o;else for(let M=0;M<T;++M)G[M]=(m+M)*o;return G}function _0(u,f,r){return f=+f,u=+u,r=+r,Eb(u,f,r)[2]}function Vr(u,f,r){f=+f,u=+u,r=+r;let n=f<u,m=n?_0(f,u,r):_0(u,f,r);return(n?-1:1)*(m<0?1/-m:m)}function Xr(u,f,r){let n;while(!0){let m=_0(u,f,r);if(m===n||m===0||!isFinite(m))return[u,f];else if(m>0)u=Math.floor(u/m)*m,f=Math.ceil(f/m)*m;else if(m<0)u=Math.ceil(u*m)/m,f=Math.floor(f*m)/m;n=m}}function Yr(u){return Math.max(1,Math.ceil(Math.log(Af(u))/Math.LN2)+1)}function H8(){let u=s0,f=Rf,r=Yr;function n(m){if(!Array.isArray(m))m=Array.from(m);let b,o=m.length,T,G,M=Array(o);for(b=0;b<o;++b)M[b]=u(m[b],b,m);let I=f(M),D=I[0],S=I[1],E=r(M,D,S);if(!Array.isArray(E)){let R=S,w=+E;if(f===Rf)[D,S]=Xr(D,S,w);if(E=m0(D,S,w),E[0]<=D)G=_0(D,S,w);if(E[E.length-1]>=S)if(R>=S&&f===Rf){let Q=_0(D,S,w);if(isFinite(Q)){if(Q>0)S=(Math.floor(S/Q)+1)*Q;else if(Q<0)S=(Math.ceil(S*-Q)+1)/-Q}}else E.pop()}let O=E.length,$=0,P=O;while(E[$]<=D)++$;while(E[P-1]>S)--P;if($||P<O)E=E.slice($,P),O=P-$;let C=Array(O+1),A;for(b=0;b<=O;++b)A=C[b]=[],A.x0=b>0?E[b-1]:D,A.x1=b<O?E[b]:S;if(isFinite(G)){if(G>0){for(b=0;b<o;++b)if((T=M[b])!=null&&D<=T&&T<=S)C[Math.min(O,Math.floor((T-D)/G))].push(m[b])}else if(G<0){for(b=0;b<o;++b)if((T=M[b])!=null&&D<=T&&T<=S){let R=Math.floor((D-T)*G);C[Math.min(O,R+(E[R]<=T?1:0))].push(m[b])}}}else for(b=0;b<o;++b)if((T=M[b])!=null&&D<=T&&T<=S)C[n0(E,T,0,O)].push(m[b]);return C}return n.value=function(m){return arguments.length?(u=typeof m==="function"?m:cn(m),n):u},n.domain=function(m){return arguments.length?(f=typeof m==="function"?m:cn([m[0],m[1]]),n):f},n.thresholds=function(m){return arguments.length?(r=typeof m==="function"?m:cn(Array.isArray(m)?B4.call(m):m),n):r},n}function Qf(u,f){let r;if(f===void 0){for(let n of u)if(n!=null&&(r<n||r===void 0&&n>=n))r=n}else{let n=-1;for(let m of u)if((m=f(m,++n,u))!=null&&(r<m||r===void 0&&m>=m))r=m}return r}function qr(u,f){let r,n=-1,m=-1;if(f===void 0){for(let b of u)if(++m,b!=null&&(r<b||r===void 0&&b>=b))r=b,n=m}else for(let b of u)if((b=f(b,++m,u))!=null&&(r<b||r===void 0&&b>=b))r=b,n=m;return n}function yf(u,f){let r;if(f===void 0){for(let n of u)if(n!=null&&(r>n||r===void 0&&n>=n))r=n}else{let n=-1;for(let m of u)if((m=f(m,++n,u))!=null&&(r>m||r===void 0&&m>=m))r=m}return r}function zr(u,f){let r,n=-1,m=-1;if(f===void 0){for(let b of u)if(++m,b!=null&&(r>b||r===void 0&&b>=b))r=b,n=m}else for(let b of u)if((b=f(b,++m,u))!=null&&(r>b||r===void 0&&b>=b))r=b,n=m;return n}function jr(u,f,r=0,n=1/0,m){if(f=Math.floor(f),r=Math.floor(Math.max(0,r)),n=Math.floor(Math.min(u.length-1,n)),!(r<=f&&f<=n))return u;let b=m===void 0?a0:gn(m);while(n>r){if(n-r>600){let M=n-r+1,I=f-r+1,D=Math.log(M),S=0.5*Math.exp(2*D/3),E=0.5*Math.sqrt(D*S*(M-S)/M)*(I-M/2<0?-1:1),O=Math.max(r,Math.floor(f-I*S/M+E)),$=Math.min(n,Math.floor(f+(M-I)*S/M+E));jr(u,f,O,$,m)}let o=u[f],T=r,G=n;if(hn(u,r,f),b(u[n],o)>0)hn(u,r,n);while(T<G){hn(u,T,G),++T,--G;while(b(u[T],o)<0)++T;while(b(u[G],o)>0)--G}if(b(u[r],o)===0)hn(u,r,G);else++G,hn(u,G,n);if(G<=f)r=G+1;if(f<=G)n=G-1}return u}function hn(u,f,r){let n=u[f];u[f]=u[r],u[r]=n}function Cb(u,f=ru){let r,n=!1;if(f.length===1){let m;for(let b of u){let o=f(b);if(n?ru(o,m)>0:ru(o,o)===0)r=b,m=o,n=!0}}else for(let m of u)if(n?f(m,r)>0:f(m,m)===0)r=m,n=!0;return r}function uf(u,f,r){let n=Float64Array.from(E4(u,r)),m=n.length;if(!m||isNaN(f=+f))return;if(f<=0||m<2)return yf(n);if(f>=1)return Qf(n);let b=(m-1)*f,o=Math.floor(b),T=Array.from(n),G=Qf(jr(T,o).slice(0,o+1)),M=yf(T.slice(o+1));return G+(M-G)*(b-o)}function V8(u,f,r=pf){let n=u.length;if(!n||isNaN(f=+f))return;if(f<=0||n<2)return+r(u[0],0,u);if(f>=1)return+r(u[n-1],n-1,u);let m=(n-1)*f,b=Math.floor(m),o=+r(u[b],b,u),T=+r(u[b+1],b+1,u);return o+(T-o)*(m-b)}function X8(u,f,r=pf){if(isNaN(f=+f))return-1;let n=Float64Array.from(u,(T,G)=>pf(r(u[G],G,u)));if(f<=0)return zr(n);if(f>=1)return qr(n);let m=Array.from(Uint32Array.from(u,(T,G)=>G)),b=n.length-1,o=Math.floor(b*f);return jr(m,o,0,b,(T,G)=>a0(n[T],n[G])),o=Cb(m.slice(0,o+1),(T)=>n[T]),o>=0?o:-1}function W4(u,f,r){let n=Af(u),m=uf(u,0.75)-uf(u,0.25);return n&&m?Math.ceil((r-f)/(2*m*Math.pow(n,-0.3333333333333333))):1}function N4(u,f,r){let n=Af(u),m=Ib(u);return n&&m?Math.ceil((r-f)*Math.cbrt(n)/(3.49*m)):1}function H4(u,f){let r=0,n=0;if(f===void 0){for(let m of u)if(m!=null&&(m=+m)>=m)++r,n+=m}else{let m=-1;for(let b of u)if((b=f(b,++m,u))!=null&&(b=+b)>=b)++r,n+=b}if(r)return n/r}function V4(u,f){return uf(u,0.5,f)}function vD(u,f){return X8(u,0.5,f)}function*pD(u){for(let f of u)yield*f}function kr(u){return Array.from(pD(u))}function X4(u,f){let r=new i0;if(f===void 0){for(let b of u)if(b!=null&&b>=b)r.set(b,(r.get(b)||0)+1)}else{let b=-1;for(let o of u)if((o=f(o,++b,u))!=null&&o>=o)r.set(o,(r.get(o)||0)+1)}let n,m=0;for(let[b,o]of r)if(o>m)m=o,n=b;return n}function Y4(u,f=yD){let r=[],n,m=!1;for(let b of u){if(m)r.push(f(n,b));n=b,m=!0}return r}function yD(u,f){return[u,f]}function J0(u,f,r){u=+u;let n=arguments.length;if(n<2)f=u,u=0,r=1;else f=+f,r=n<3?1:+r;let m=-1,b=Math.max(0,Math.ceil((f-u)/r))|0,o=Array(b);while(++m<b)o[m]=u+m*r;return o}function q4(u,f=ru){if(typeof u[Symbol.iterator]!=="function")throw TypeError("values is not iterable");let r=Array.from(u),n=new Float64Array(r.length);if(f.length!==2)r=r.map(f),f=ru;let m=(G,M)=>f(r[G],r[M]),b,o,T=Uint32Array.from(r,(G,M)=>M);return T.sort(f===ru?(G,M)=>a0(r[G],r[M]):gn(m)),T.forEach((G,M)=>{let I=m(G,b===void 0?G:b);if(I>=0){if(b===void 0||I>0)b=G,o=M;n[G]=o}else n[G]=NaN}),n}function z4(u,f=ru){let r,n=!1;if(f.length===1){let m;for(let b of u){let o=f(b);if(n?ru(o,m)<0:ru(o,o)===0)r=b,m=o,n=!0}}else for(let m of u)if(n?f(m,r)<0:f(m,m)===0)r=m,n=!0;return r}function Ob(u,f=ru){if(f.length===1)return zr(u,f);let r,n=-1,m=-1;for(let b of u)if(++m,n<0?f(b,b)===0:f(b,r)<0)r=b,n=m;return n}function j4(u,f=ru){if(f.length===1)return qr(u,f);let r,n=-1,m=-1;for(let b of u)if(++m,n<0?f(b,b)===0:f(b,r)>0)r=b,n=m;return n}function k4(u,f){let r=Ob(u,f);return r<0?void 0:r}function _4(u){return function(r,n=0,m=r.length){let b=m-(n=+n);while(b){let o=u()*b--|0,T=r[b+n];r[b+n]=r[o+n],r[o+n]=T}return r}}var tD=_4(Math.random),xD=tD;function g4(u,f){let r=0;if(f===void 0){for(let n of u)if(n=+n)r+=n}else{let n=-1;for(let m of u)if(m=+f(m,++n,u))r+=m}return r}function Pb(u){let f=u.length;if(!f)return[];let r=yf(Array.from(u),eD),n=Array(r);for(let m=0;m<r;++m){let b=n[m]=Array(f);for(let o=0;o<f;++o)b[o]=u[o][m]}return n}function eD(u){return u.length}function c4(...u){return Pb(u)}function h4(u,f){if(typeof f!=="function")throw TypeError("test is not a function");let r=-1;for(let n of u)if(!f(n,++r,u))return!1;return!0}function v4(u,f){if(typeof f!=="function")throw TypeError("test is not a function");let r=-1;for(let n of u)if(f(n,++r,u))return!0;return!1}function p4(u,f){if(typeof f!=="function")throw TypeError("test is not a function");let r=[],n=-1;for(let m of u)if(f(m,++n,u))r.push(m);return r}function y4(u,f){if(typeof u[Symbol.iterator]!=="function")throw TypeError("values is not iterable");if(typeof f!=="function")throw TypeError("mapper is not a function");return Array.from(u,(r,n)=>f(r,n,u))}function t4(u,f,r){if(typeof f!=="function")throw TypeError("reducer is not a function");let n=u[Symbol.iterator](),m,b,o=-1;if(arguments.length<3){if({done:m,value:r}=n.next(),m)return;++o}while({done:m,value:b}=n.next(),!m)r=f(r,b,++o,u);return r}function x4(u){if(typeof u[Symbol.iterator]!=="function")throw TypeError("values is not iterable");return Array.from(u).reverse()}function e4(u,...f){let r=new I0(u);for(let n of f)for(let m of n)r.delete(m);return r}function l4(u,f){let r=f[Symbol.iterator](),n=new I0;for(let m of u){if(n.has(m))return!1;let b,o;while({value:b,done:o}=r.next()){if(o)break;if(Object.is(m,b))return!1;n.add(b)}}return!0}function d4(u,...f){let r=new I0(u),n=f.map(lD);u:for(let m of r)for(let b of n)if(!b.has(m)){r.delete(m);continue u}return r}function lD(u){return u instanceof I0?u:new I0(u)}function $b(u,f){let r=u[Symbol.iterator](),n=new Set;for(let m of f){let b=i4(m);if(n.has(b))continue;let o,T;while({value:o,done:T}=r.next()){if(T)return!1;let G=i4(o);if(n.add(G),Object.is(b,G))break}}return!0}function i4(u){return u!==null&&typeof u==="object"?u.valueOf():u}function s4(u,f){return $b(f,u)}function a4(...u){let f=new I0;for(let r of u)for(let n of r)f.add(n);return f}function Y8(u){return u}var wb=1,Ab=2,q8=3,vn=4,u9=0.000001;function dD(u){return`translate(${u},0)`}function iD(u){return`translate(0,${u})`}function sD(u,f){return(r)=>+u(r)}function aD(u,f){if(f=Math.max(0,u.bandwidth()-f*2)/2,u.round())f=Math.round(f);return(r)=>+u(r)+f}function uE(){return!this.__axis}function Rb(u,f){let r=[],n=null,m=null,b=6,o=6,T=3,G=typeof window<"u"&&window.devicePixelRatio>1?0:0.5,M=u===wb||u===vn?-1:1,I=u===vn||u===Ab?"x":"y",D=u===wb||u===q8?dD:iD;function S(E){let O=n==null?f.ticks?f.ticks.apply(f,r):f.domain():n,$=m==null?f.tickFormat?f.tickFormat.apply(f,r):Y8:m,P=Math.max(b,0)+T,C=f.range(),A=+C[0]+G,R=+C[C.length-1]+G,w=(f.bandwidth?aD:sD)(f.copy?f.copy():f,G),Q=E.selection?E.selection():E,L=Q.selectAll(".domain").data([null]),F=Q.selectAll(".tick").data(O,f).order(),N=F.exit(),H=F.enter().append("g").attr("class","tick"),K=F.select("line"),B=F.select("text");if(L=L.merge(L.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),F=F.merge(H),K=K.merge(H.append("line").attr("stroke","currentColor").attr(`${I}2`,M*b)),B=B.merge(H.append("text").attr("fill","currentColor").attr(I,M*P).attr("dy",u===wb?"0em":u===q8?"0.71em":"0.32em")),E!==Q)L=L.transition(E),F=F.transition(E),K=K.transition(E),B=B.transition(E),N=N.transition(E).attr("opacity",u9).attr("transform",function(V){let W=+w(V);return isFinite(W)?D(W+G):this.getAttribute("transform")}),H.attr("opacity",u9).attr("transform",function(V){let W=this.parentNode.__axis?.(V);return D((W!==void 0&&isFinite(W)?W:w(V))+G)});N.remove(),L.attr("d",u===vn||u===Ab?o?`M${M*o},${A}H${G}V${R}H${M*o}`:`M${G},${A}V${R}`:o?`M${A},${M*o}V${G}H${R}V${M*o}`:`M${A},${G}H${R}`),F.attr("opacity",1).attr("transform",(V)=>D(w(V)+G)),K.attr(`${I}2`,M*b),B.attr(I,M*P).text($),Q.filter(uE).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",u===Ab?"start":u===vn?"end":"middle"),Q.each(function(){this.__axis=w})}return S.scale=function(E){return arguments.length?(f=E,S):f},S.ticks=function(...E){return r=Array.from(E),S},S.tickArguments=function(E){return arguments.length?(r=E==null?[]:Array.from(E),S):r.slice()},S.tickValues=function(E){return arguments.length?(n=E==null?null:Array.from(E),S):n&&n.slice()},S.tickFormat=function(E){return arguments.length?(m=E,S):m},S.tickSize=function(E){return arguments.length?(b=o=+E,S):b},S.tickSizeInner=function(E){return arguments.length?(b=+E,S):b},S.tickSizeOuter=function(E){return arguments.length?(o=+E,S):o},S.tickPadding=function(E){return arguments.length?(T=+E,S):T},S.offset=function(E){return arguments.length?(G=+E,S):G},S}function fE(u){return Rb(wb,u)}function rE(u){return Rb(Ab,u)}function nE(u){return Rb(q8,u)}function mE(u){return Rb(vn,u)}var bE={name:"",value:()=>{}};function oE(u,f){return u.trim().split(/^|\s+/).map((r)=>{let n="",m=r.indexOf(".");if(m>=0)n=r.slice(m+1),r=r.slice(0,m);if(r&&!f.hasOwnProperty(r))throw Error(`unknown type: ${r}`);return{type:r,name:n}})}function TE(u,f){for(let r=0,n=u.length;r<n;++r){let m=u[r];if(m.name===f)return m.value}}function f9(u,f,r){for(let n=0,m=u.length;n<m;++n)if(u[n].name===f){u[n]=bE,u=u.slice(0,n).concat(u.slice(n+1));break}if(r!=null)u.push({name:f,value:r});return u}class pn{_;constructor(u){this._=u}on(u,f){let r=oE(`${u}`,this._),n,m=-1,b=r.length;if(arguments.length<2){while(++m<b)if(n=r[m].type,n){let o=TE(this._[n],r[m].name);if(o)return o}return}if(f!=null&&typeof f!=="function")throw Error(`invalid callback: ${f}`);while(++m<b){let o=r[m];if(n=o.type)this._[n]=f9(this._[n],o.name,f??null);else if(f==null)for(n in this._)this._[n]=f9(this._[n],o.name,null)}return this}copy(){let u={};for(let f of Object.keys(this._))u[f]=this._[f].slice();return new pn(u)}call(u,f,...r){if(!this._.hasOwnProperty(u))throw Error(`unknown type: ${u}`);let n=this._[u];for(let m=0,b=n.length;m<b;++m)n[m].value.apply(f,r)}apply(u,f,r){if(!this._.hasOwnProperty(u))throw Error(`unknown type: ${u}`);let n=this._[u];for(let m=0,b=n.length;m<b;++m)n[m].value.apply(f,r)}static[Symbol.hasInstance](u){return u!=null&&typeof u==="object"&&Object.getPrototypeOf(u)===pn.prototype}}function F0(...u){let f={};for(let r=0,n=u.length;r<n;++r){let m=`${u[r]}`;if(!m||m in f||/[\s.]/.test(m))throw Error(`illegal type: ${m}`);f[m]=[]}return new pn(f)}var z8="http://www.w3.org/1999/xhtml",ME={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},Qb=ME;function g0(u){let f=u=`${u}`,r=f.indexOf(":");if(r>=0&&(f=u.slice(0,r))!=="xmlns")u=u.slice(r+1);return Qb.hasOwnProperty(f)?{space:Qb[f],local:u}:u}function GE(u){return function(){let f=this.ownerDocument||this.document||document,r=this.namespaceURI;return r===z8&&f.documentElement.namespaceURI===z8?f.createElement(u):r?f.createElementNS(r,u):f.createElement(u)}}function IE(u){return function(){return(this.ownerDocument||this.document||document).createElementNS(u.space,u.local)}}function tf(u){let f=g0(u);return(typeof f==="object"?IE:GE)(f)}function SE(){return}function xf(u){return u==null?SE:function(){return this.querySelector(u)||void 0}}function DE(){return[]}function _r(u){return u==null?DE:function(){return this.querySelectorAll(u)}}function gr(u){return function(){return this.matches(u)}}function j8(u){return function(f){return f.matches(u)}}function yn(u){return u.ownerDocument&&u.ownerDocument.defaultView||u.document&&u||u.defaultView}function tn(u){return u==null?[]:Array.isArray(u)?u:Array.from(u)}function k8(u){return function(){return u}}function xn(u){return Array(u.length)}class en{ownerDocument;namespaceURI;_next;_parent;__data__;constructor(u,f){this.ownerDocument=u.ownerDocument,this.namespaceURI=u.namespaceURI,this._next=null,this._parent=u,this.__data__=f}appendChild(u){return this._parent.insertBefore(u,this._next)}insertBefore(u,f){return this._parent.insertBefore(u,f)}querySelector(u){return this._parent.querySelector(u)}querySelectorAll(u){return this._parent.querySelectorAll(u)}}var ln=[null];function EE(u){return function(){this.removeAttribute(u)}}function CE(u){return function(){this.removeAttributeNS(u.space,u.local)}}function OE(u,f){return function(){this.setAttribute(u,`${f}`)}}function PE(u,f){return function(){this.setAttributeNS(u.space,u.local,`${f}`)}}function $E(u,f){return function(){let r=f.apply(this,arguments);if(r==null)this.removeAttribute(u);else this.setAttribute(u,String(r))}}function wE(u,f){return function(){let r=f.apply(this,arguments);if(r==null)this.removeAttributeNS(u.space,u.local);else this.setAttributeNS(u.space,u.local,String(r))}}function AE(u){return function(){this.style.removeProperty(u)}}function RE(u,f,r){return function(){this.style.setProperty(u,f,r)}}function QE(u,f,r){return function(){let n=f.apply(this,arguments);if(n==null)this.style.removeProperty(u);else this.style.setProperty(u,`${n}`,r)}}function Lf(u,f){let r=u.style.getPropertyValue(f);if(r!=null&&r!=="")return`${r}`;let n=yn(u)||(typeof window<"u"?window:void 0);if(!n||typeof n.getComputedStyle!=="function")return"";let m=n.getComputedStyle(u,null).getPropertyValue(f);return m!=null&&m!==""?`${m}`:""}function LE(u){return function(){delete this[u]}}function ZE(u,f){return function(){this[u]=f}}function JE(u,f){return function(){let r=f.apply(this,arguments);if(r==null)delete this[u];else this[u]=r}}function r9(u){return u.trim().split(/^|\s+/)}function _8(u){return u.classList||new n9(u)}class n9{_node;_names;constructor(u){this._node=u,this._names=r9(u.getAttribute("class")||"")}add(u){if(this._names.indexOf(u)<0)this._names.push(u),this._node.setAttribute("class",this._names.join(" "))}remove(u){let f=this._names.indexOf(u);if(f>=0)this._names.splice(f,1),this._node.setAttribute("class",this._names.join(" "))}contains(u){return this._names.indexOf(u)>=0}}function m9(u,f){let r=_8(u),n=-1,m=f.length;while(++n<m)r.add(f[n])}function b9(u,f){let r=_8(u),n=-1,m=f.length;while(++n<m)r.remove(f[n])}function FE(u){return function(){m9(this,u)}}function KE(u){return function(){b9(this,u)}}function UE(u,f){return function(){(f.apply(this,arguments)?m9:b9)(this,u)}}function BE(){this.textContent=""}function WE(u){return function(){this.textContent=`${u}`}}function NE(u){return function(){let f=u.apply(this,arguments);this.textContent=f==null?"":`${f}`}}function HE(){this.innerHTML=""}function VE(u){return function(){this.innerHTML=u}}function XE(u){return function(){let f=u.apply(this,arguments);this.innerHTML=f==null?"":f}}function YE(){if(this.nextSibling)this.parentNode.appendChild(this)}function qE(){if(this.previousSibling)this.parentNode.insertBefore(this,this.parentNode.firstChild)}function zE(){let u=this.parentNode;if(u)u.removeChild(this)}function jE(){let u=this.cloneNode(!1),f=this.parentNode;return f?f.insertBefore(u,this.nextSibling):u}function kE(){let u=this.cloneNode(!0),f=this.parentNode;return f?f.insertBefore(u,this.nextSibling):u}function _E(u,f){return function(r){let n=this||f||r.currentTarget;u.call(n,r,n?.__data__)}}function gE(u){return u.trim().split(/^|\s+/).map(function(f){let r="",n=f.indexOf(".");if(n>=0)r=f.slice(n+1),f=f.slice(0,n);return{type:f,name:r}})}function cE(u){return function(){let f=this.__on;if(!f)return;let r=-1;for(let n=0,m=f.length,b;n<m;++n)if(b=f[n],(!u.type||b.type===u.type)&&b.name===u.name)this.removeEventListener(b.type,b.listener,b.options);else f[++r]=b;if(++r)f.length=r;else delete this.__on}}function hE(u,f,r){return function(){let n=this.__on,m,b=_E(f,this);if(n){for(let o=0,T=n.length;o<T;++o)if((m=n[o]).type===u.type&&m.name===u.name){this.removeEventListener(m.type,m.listener,m.options),this.addEventListener(m.type,m.listener=b,m.options=r),m.value=f;return}}if(this.addEventListener(u.type,b,r),m={type:u.type,name:u.name,value:f,listener:b,options:r},!n)this.__on=[m];else n.push(m)}}function o9(u,f,r){let n=yn(u)||(typeof window<"u"?window:void 0),m;if(n&&typeof n.CustomEvent==="function")m=new n.CustomEvent(f,r);else if(typeof CustomEvent==="function")m=new CustomEvent(f,r);else{let b=(n||window).document.createEvent("Event");if(r)b.initEvent(f,r.bubbles??!1,r.cancelable??!1),b.detail=r.detail;else b.initEvent(f,!1,!1);m=b}u.dispatchEvent(m)}function vE(u,f){return function(){return o9(this,u,f)}}function pE(u,f){return function(){return o9(this,u,f.apply(this,arguments))}}function yE(u,f,r,n,m,b){let o=0,T,G=f.length,M=b.length;for(;o<M;++o)if(T=f[o])T.__data__=b[o],n[o]=T;else r[o]=new en(u,b[o]);for(;o<G;++o)if(T=f[o])m[o]=T}function tE(u,f,r,n,m,b,o){let T,G,M=new Map,I=f.length,D=b.length,S=Array(I),E;for(T=0;T<I;++T)if(G=f[T])if(S[T]=E=o.call(G,G.__data__,T,f)+"",M.has(E))m[T]=G;else M.set(E,G);for(T=0;T<D;++T)if(E=o.call(u,b[T],T,b)+"",G=M.get(E)){n[T]=G;let O=G;O.__data__=b[T],M.delete(E)}else r[T]=new en(u,b[T]);for(T=0;T<I;++T)if((G=f[T])&&M.get(S[T])===G)m[T]=G}function xE(u){return u.__data__}function eE(u){return typeof u==="object"&&"length"in u?u:Array.from(u)}function lE(u){return function(){return tn(u.apply(this,arguments))}}var dE=Array.prototype.find;function iE(u){return function(){return dE.call(this.children,u)}}function sE(){return this.firstElementChild??this.children[0]??null}var aE=Array.prototype.filter;function uC(){return Array.from(this.children)}function fC(u){return function(){return aE.call(this.children,u)}}function rC(u,f){return u<f?-1:u>f?1:u>=f?0:NaN}function nC(){return null}class ou{_groups;_parents;_enter;_exit;constructor(u,f){this._groups=u,this._parents=f}get parents(){return this._parents}select(u){if(typeof u!=="function")u=xf(u);let f=this._groups,r=f.length,n=Array(r);for(let m=0;m<r;++m){let b=f[m],o=b.length,T=n[m]=Array(o);for(let G=0;G<o;++G){let M,I;if((M=b[G])&&(I=u.call(M,M.__data__,G,b))){if("__data__"in M)I.__data__=M.__data__;T[G]=I}}}return new ou(n,this._parents)}selectAll(u){if(typeof u==="function")u=lE(u);else u=_r(u);let f=this._groups,r=f.length,n=[],m=[];for(let b=0;b<r;++b){let o=f[b],T=o.length;for(let G=0;G<T;++G){let M;if(M=o[G])n.push(u.call(M,M.__data__,G,o)),m.push(M)}}return new ou(n,m)}selectChild(u){return this.select(u==null?sE:iE(typeof u==="function"?u:j8(u)))}selectChildren(u){return this.selectAll(u==null?uC:fC(typeof u==="function"?u:j8(u)))}filter(u){if(typeof u!=="function")u=gr(u);let f=this._groups,r=f.length,n=Array(r);for(let m=0;m<r;++m){let b=f[m],o=b.length,T=n[m]=[];for(let G=0;G<o;++G){let M;if((M=b[G])&&u.call(M,M.__data__,G,b))T.push(M)}}return new ou(n,this._parents)}data(u,f){if(u===void 0)return Array.from(this,xE);let r=this._parents,n=this._groups;if(typeof u!=="function")u=k8(u);let m=n.length,b=Array(m),o=Array(m),T=Array(m);for(let M=0;M<m;++M){let I=r[M],D=n[M],S=D.length,E=eE(u.call(I,I&&I.__data__,M,r)),O=E.length,$=o[M]=Array(O),P=b[M]=Array(O),C=T[M]=Array(S);if(f)tE(I,D,$,P,C,Array.from(E),f);else yE(I,D,$,P,C,Array.from(E));for(let A=0,R=0,w,Q;A<O;++A)if(w=$[A]){if(A>=R)R=A+1;while(!(Q=P[R])&&++R<O);w._next=Q||null}}let G=new ou(b,r);return G._enter=o,G._exit=T,G}enter(){return new ou(this._enter||this._groups.map(xn),this._parents)}exit(){return new ou(this._exit||this._groups.map(xn),this._parents)}join(u,f,r){let n=this.enter(),m=this,b=this.exit();if(typeof u==="function"){if(n=u(n),n)n=n.selection?n.selection():n}else n=n.append(`${u}`);if(f!=null){if(m=f(m),m)m=m.selection?m.selection():m}if(r==null)b.remove();else r(b);return n&&m?n.merge(m).order():m}merge(u){let f="selection"in u&&typeof u.selection==="function"?u.selection():u,r=this._groups,n=f._groups,m=r.length,b=n.length,o=Math.min(m,b),T=Array(m),G=0;for(;G<o;++G){let M=r[G],I=n[G],D=M.length,S=T[G]=Array(D);for(let E=0;E<D;++E){let O;if(O=M[E]||I[E])S[E]=O}}for(;G<m;++G)T[G]=r[G];return new ou(T,this._parents)}selection(){return this}order(){let u=this._groups;for(let f=-1,r=u.length;++f<r;){let n=u[f];for(let m=n.length-1,b=n[m],o;--m>=0;)if(o=n[m]){if(b&&o.compareDocumentPosition(b)^4){let T=b.parentNode;if(T)T.insertBefore(o,b)}b=o}}return this}sort(u){if(!u)u=rC;function f(b,o){return b&&o?u(b.__data__,o.__data__):Number(!b)-Number(!o)}let r=this._groups,n=r.length,m=Array(n);for(let b=0;b<n;++b){let o=r[b],T=o.length,G=m[b]=Array(T);for(let M=0;M<T;++M){let I=o[M];if(I)G[M]=I}G.sort(f)}return new ou(m,this._parents).order()}call(u,...f){return u.call(null,this,...f),this}nodes(){return Array.from(this)}node(){let u=this._groups;for(let f=0,r=u.length;f<r;++f){let n=u[f];for(let m=0,b=n.length;m<b;++m){let o=n[m];if(o)return o}}return null}size(){let u=0;for(let f of this)++u;return u}empty(){return!this.node()}each(u){let f=this._groups;for(let r=0,n=f.length;r<n;++r){let m=f[r];for(let b=0,o=m.length;b<o;++b){let T=m[b];if(T)u.call(T,T.__data__,b,m)}}return this}attr(u,f){let r=g0(u);if(arguments.length<2){let n=this.node();return typeof r==="object"?n.getAttributeNS(r.space,r.local):n.getAttribute(r)}return this.each((f==null?typeof r==="object"?CE:EE:typeof f==="function"?typeof r==="object"?wE:$E:typeof r==="object"?PE:OE)(r,f))}style(u,f,r){if(arguments.length>1)return this.each((f==null?AE:typeof f==="function"?QE:RE)(u,f,r==null?"":r));return Lf(this.node(),u)}property(u,f){if(arguments.length>1)return this.each((f==null?LE:typeof f==="function"?JE:ZE)(u,f));return this.node()[u]}classed(u,f){let r=r9(`${u}`);if(arguments.length<2){let n=_8(this.node()),m=-1,b=r.length;while(++m<b)if(!n.contains(r[m]))return!1;return!0}return this.each((typeof f==="function"?UE:f?FE:KE)(r,f))}text(u){if(arguments.length)return this.each(u==null?BE:(typeof u==="function"?NE:WE)(u));return this.node().textContent}html(u){if(arguments.length)return this.each(u==null?HE:(typeof u==="function"?XE:VE)(u));return this.node().innerHTML}raise(){return this.each(YE)}lower(){return this.each(qE)}append(u){let f=typeof u==="function"?u:tf(u);return this.select(function(){return this.appendChild(f.apply(this,arguments))})}insert(u,f){let r=typeof u==="function"?u:tf(u),n=f==null?nC:typeof f==="function"?f:xf(f);return this.select(function(){return this.insertBefore(r.apply(this,arguments),n.apply(this,arguments)||null)})}remove(){return this.each(zE)}clone(u){return this.select(u?kE:jE)}datum(u){if(arguments.length)return this.property("__data__",u);return this.node().__data__}on(u,f,r){let n=gE(`${u}`),m=n.length;if(arguments.length<2){let o=this.node().__on;if(o)for(let T=0,G=o.length,M;T<G;++T)for(let I=0;I<m;++I){let D=n[I];if(M=o[T],D.type===M.type&&D.name===M.name)return M.value}return}let b=f?hE:cE;for(let o=0;o<m;++o)this.each(b(n[o],f,r));return this}dispatch(u,f){return this.each((typeof f==="function"?pE:vE)(u,f))}*[Symbol.iterator](){let u=this._groups;for(let f=0,r=u.length;f<r;++f){let n=u[f];for(let m=0,b=n.length;m<b;++m){let o=n[m];if(o)yield o}}}}function Lb(){return new ou([[document.documentElement]],ln)}function Ju(u){return typeof u==="string"?new ou([[document.querySelector(u)]],[document.documentElement]):new ou([[u]],ln)}function T9(u){return Ju(tf(u).call(document.documentElement))}var mC=0;class g8{_;constructor(){this._="@"+(++mC).toString(36)}get(u){let f=this._,r=u;while(r&&!(f in r))r=r.parentNode;return r?r[f]:void 0}set(u,f){return u[this._]=f}remove(u){let f=u;return this._ in f&&delete f[this._]}toString(){return this._}}function M9(){return new g8}function dn(u){let f;while(f=u.sourceEvent)u=f;return u}function Wu(u,f){let r=dn(u);if(f===void 0)f=r.currentTarget;if(f){let n=f.ownerSVGElement||f;if("createSVGPoint"in n){let m=n.createSVGPoint();return m.x=r.clientX,m.y=r.clientY,m=m.matrixTransform(f.getScreenCTM().inverse()),[m.x,m.y]}if(f.getBoundingClientRect){let m=f.getBoundingClientRect();return[r.clientX-m.left-f.clientLeft,r.clientY-m.top-f.clientTop]}}return[r.pageX,r.pageY]}function G9(u,f){if("target"in u){let r=dn(u);if(f===void 0)f=r.currentTarget;u=r.touches||[r]}return Array.from(u,(r)=>Wu(r,f))}function I9(u){return typeof u==="string"?new ou([Array.from(document.querySelectorAll(u))],[document.documentElement]):new ou([tn(u)],ln)}var S9={passive:!1},ef={capture:!0,passive:!1};function Zb(u){u.stopImmediatePropagation()}function ff(u){u.preventDefault(),u.stopImmediatePropagation()}function Zf(u){let f=u.document.documentElement,r=Ju(u).on("dragstart.drag",ff,ef);if("onselectstart"in f)r.on("selectstart.drag",ff,ef);else f.__noselect=f.style.MozUserSelect,f.style.MozUserSelect="none"}function lf(u,f){let r=u.document.documentElement,n=Ju(u).on("dragstart.drag",null);if(f)n.on("click.drag",ff,ef),setTimeout(function(){n.on("click.drag",null)},0);if("onselectstart"in r)n.on("selectstart.drag",null);else r.style.MozUserSelect=r.__noselect,delete r.__noselect}function cr(u){return()=>u}class sn{type;active;x;y;dx;dy;constructor(u,{sourceEvent:f,subject:r,target:n,identifier:m,active:b,x:o,y:T,dx:G,dy:M,dispatch:I}){Object.defineProperties(this,{type:{value:u,enumerable:!0,configurable:!0},sourceEvent:{value:f,enumerable:!0,configurable:!0},subject:{value:r,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},identifier:{value:m,enumerable:!0,configurable:!0},active:{value:b,enumerable:!0,configurable:!0},x:{value:o,enumerable:!0,configurable:!0},y:{value:T,enumerable:!0,configurable:!0},dx:{value:G,enumerable:!0,configurable:!0},dy:{value:M,enumerable:!0,configurable:!0},_:{value:I}})}on(...u){let f=this._.on.apply(this._,u);return f===this._?this:f}}function bC(u){return!u.ctrlKey&&!u.button}function oC(){return this.parentNode}function TC(u,f){return f==null?{x:u.x,y:u.y}:f}function MC(){return!!(navigator.maxTouchPoints||("ontouchstart"in this))}function D9(){let u=bC,f=oC,r=TC,n=MC,m={},b=F0("start","drag","end"),o=0,T,G,M,I,D=0;function S(w){w.on("mousedown.drag",E).filter(n).on("touchstart.drag",P).on("touchmove.drag",C,S9).on("touchend.drag touchcancel.drag",A).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function E(w,Q){if(I||!u.call(this,w,Q))return;let L=R(this,f.call(this,w,Q),w,Q,"mouse");if(!L)return;Ju(w.view).on("mousemove.drag",O,ef).on("mouseup.drag",$,ef),Zf(w.view),Zb(w),M=!1,T=w.clientX,G=w.clientY,L("start",w)}function O(w){if(ff(w),!M){let Q=w.clientX-T,L=w.clientY-G;M=Q*Q+L*L>D}m.mouse("drag",w)}function $(w){Ju(w.view).on("mousemove.drag mouseup.drag",null),lf(w.view,M),ff(w),m.mouse("end",w)}function P(w,Q){if(!u.call(this,w,Q))return;let L=w.changedTouches,F=f.call(this,w,Q),N=L.length,H,K;for(H=0;H<N;++H)if(K=R(this,F,w,Q,L[H].identifier,L[H]))Zb(w),K("start",w,L[H])}function C(w){let Q=w.changedTouches,L=Q.length,F,N;for(F=0;F<L;++F)if(N=m[Q[F].identifier])ff(w),N("drag",w,Q[F])}function A(w){let Q=w.changedTouches,L=Q.length,F,N;if(I)clearTimeout(I);I=setTimeout(function(){I=null},500);for(F=0;F<L;++F)if(N=m[Q[F].identifier])Zb(w),N("end",w,Q[F])}function R(w,Q,L,F,N,H){let K=b.copy(),B=Wu(H||L,Q),V,W,Z;if((Z=r.call(w,new sn("beforestart",{sourceEvent:L,target:S,identifier:N,active:o,x:B[0],y:B[1],dx:0,dy:0,dispatch:K}),F))==null)return;return V=Z.x-B[0]||0,W=Z.y-B[1]||0,function J(U,X,Y){let j=B,k;switch(U){case"start":m[N]=J,k=o++;break;case"end":delete m[N],--o,B=Wu(Y||X,Q),k=o;break;case"drag":B=Wu(Y||X,Q),k=o;break}K.call(U,w,new sn(U,{sourceEvent:X,subject:Z,target:S,identifier:N,active:k,x:B[0]+V,y:B[1]+W,dx:B[0]-j[0],dy:B[1]-j[1],dispatch:K}),F)}}return S.filter=function(w){return arguments.length?(u=typeof w==="function"?w:cr(!!w),S):u},S.container=function(w){return arguments.length?(f=typeof w==="function"?w:cr(w),S):f},S.subject=function(w){return arguments.length?(r=typeof w==="function"?w:cr(w),S):r},S.touchable=function(w){return arguments.length?(n=typeof w==="function"?w:cr(!!w),S):n},S.on=function(...w){let Q=b.on.apply(b,w);return Q===b?S:Q},S.clickDistance=function(w){return arguments.length?(D=(w=+w)*w,S):Math.sqrt(D)},S}var h8=0.7,v8=1.4285714285714286;var GC=/^#([0-9a-f]{3,8})$/,IC=new RegExp("^rgb\\(\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*\\)$"),SC=new RegExp("^rgb\\(\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*,\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*,\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*\\)$"),DC=new RegExp("^rgba\\(\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*,\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*\\)$"),EC=new RegExp("^rgba\\(\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*,\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*,\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*,\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*\\)$"),CC=new RegExp("^hsl\\(\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*,\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*,\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*\\)$"),OC=new RegExp("^hsla\\(\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*,\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*,\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*,\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*\\)$"),E9={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};function Kb(u){return isNaN(u)?1:Math.max(0,Math.min(1,u))}function sf(u){return Math.max(0,Math.min(255,Math.round(u)||0))}function df(u){return u=sf(u),(u<16?"0":"")+u.toString(16)}function C9(u){return u=(u||0)%360,u<0?u+360:u}function Jb(u){return Math.max(0,Math.min(1,u||0))}function c8(u,f,r){return(u<60?f+(r-f)*u/60:u<180?r:u<240?f+(r-f)*(240-u)/60:f)*255}class lu{opacity;copy(u){return Object.assign(Object.create(Object.getPrototypeOf(this)),this,u)}displayable(){return this.rgb().displayable()}formatHex(){return this.rgb().formatHex()}formatHex8(){return this.rgb().formatHex8()}formatHsl(){return $9(this).formatHsl()}formatRgb(){return this.rgb().formatRgb()}toString(){return this.rgb().formatRgb()}rgb(){return this.rgb()}hex(){return this.formatHex()}}lu.prototype.hex=lu.prototype.formatHex;class wu extends lu{r;g;b;constructor(u,f,r,n){super();this.r=+u,this.g=+f,this.b=+r,this.opacity=+n}brighter(u){return u=u==null?1.4285714285714286:Math.pow(1.4285714285714286,u),new wu(this.r*u,this.g*u,this.b*u,this.opacity)}darker(u){return u=u==null?0.7:Math.pow(0.7,u),new wu(this.r*u,this.g*u,this.b*u,this.opacity)}rgb(){return this}clamp(){return new wu(sf(this.r),sf(this.g),sf(this.b),Kb(this.opacity))}displayable(){return-0.5<=this.r&&this.r<255.5&&(-0.5<=this.g&&this.g<255.5)&&(-0.5<=this.b&&this.b<255.5)&&(0<=this.opacity&&this.opacity<=1)}formatHex(){return`#${df(this.r)}${df(this.g)}${df(this.b)}`}hex(){return this.formatHex()}formatHex8(){return`#${df(this.r)}${df(this.g)}${df(this.b)}${df((isNaN(this.opacity)?1:this.opacity)*255)}`}formatRgb(){let u=Kb(this.opacity);return`${u===1?"rgb(":"rgba("}${sf(this.r)}, ${sf(this.g)}, ${sf(this.b)}${u===1?")":`, ${u})`}`}toString(){return this.formatRgb()}}wu.prototype.hex=wu.prototype.formatHex;class S0 extends lu{h;s;l;constructor(u,f,r,n){super();this.h=+u,this.s=+f,this.l=+r,this.opacity=+n}brighter(u){return u=u==null?1.4285714285714286:Math.pow(1.4285714285714286,u),new S0(this.h,this.s,this.l*u,this.opacity)}darker(u){return u=u==null?0.7:Math.pow(0.7,u),new S0(this.h,this.s,this.l*u,this.opacity)}rgb(){let u=this.h%360+(this.h<0?360:0),f=isNaN(u)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<0.5?r:1-r)*f,m=2*r-n;return new wu(c8(u>=240?u-240:u+120,m,n),c8(u,m,n),c8(u<120?u+240:u-120,m,n),this.opacity)}clamp(){return new S0(C9(this.h),Jb(this.s),Jb(this.l),Kb(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(){let u=Kb(this.opacity);return`${u===1?"hsl(":"hsla("}${C9(this.h)}, ${Jb(this.s)*100}%, ${Jb(this.l)*100}%${u===1?")":`, ${u})`}`}}function O9(u){return new wu(u>>16&255,u>>8&255,u&255,1)}function Fb(u,f,r,n){if(n<=0)u=f=r=NaN;return new wu(u,f,r,n)}function P9(u,f,r,n){if(n<=0)u=f=r=NaN;else if(r<=0||r>=1)u=f=NaN;else if(f<=0)u=NaN;return new S0(u,f,r,n)}function Jf(u){let f;if(u=`${u}`.trim().toLowerCase(),f=GC.exec(u)){let r=f[1].length,n=parseInt(f[1],16);if(r===6)return O9(n);if(r===3)return new wu(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1);if(r===8)return Fb(n>>24&255,n>>16&255,n>>8&255,(n&255)/255);if(r===4)return Fb(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255);return null}if(f=IC.exec(u))return new wu(+f[1],+f[2],+f[3],1);if(f=SC.exec(u))return new wu(+f[1]*255/100,+f[2]*255/100,+f[3]*255/100,1);if(f=DC.exec(u))return Fb(+f[1],+f[2],+f[3],+f[4]);if(f=EC.exec(u))return Fb(+f[1]*255/100,+f[2]*255/100,+f[3]*255/100,+f[4]);if(f=CC.exec(u))return P9(+f[1],+f[2]/100,+f[3]/100,1);if(f=OC.exec(u))return P9(+f[1],+f[2]/100,+f[3]/100,+f[4]);if(Object.prototype.hasOwnProperty.call(E9,u))return O9(E9[u]);if(u==="transparent")return new wu(NaN,NaN,NaN,0);return null}function an(u){if(!(u instanceof lu))u=Jf(u);if(!u)return new wu(NaN,NaN,NaN,NaN);let f=u.rgb();return new wu(f.r,f.g,f.b,f.opacity)}function um(u,f,r,n){if(f===void 0&&r===void 0)return an(u);return new wu(u,f,r,n==null?1:n)}function $9(u){if(u instanceof S0)return new S0(u.h,u.s,u.l,u.opacity);if(!(u instanceof lu))u=Jf(u);if(!u)return new S0(NaN,NaN,NaN,NaN);if(u instanceof S0)return u;let f=u.rgb(),r=f.r/255,n=f.g/255,m=f.b/255,b=Math.min(r,n,m),o=Math.max(r,n,m),T=NaN,G=o-b,M=(o+b)/2;if(G){if(r===o)T=(n-m)/G+(n<m?6:0);else if(n===o)T=(m-r)/G+2;else T=(r-n)/G+4;G/=M<0.5?o+b:2-o-b,T*=60}else G=M>0&&M<1?0:T;return new S0(T,G,M,f.opacity)}function Ub(u,f,r,n){if(f===void 0&&r===void 0)return $9(u);return new S0(u,f,r,n==null?1:n)}var Bb=Math.PI/180,Wb=180/Math.PI;var Nb=18,w9=0.96422,A9=1,R9=0.82521,Q9=0.13793103448275862,hr=0.20689655172413793,L9=3*hr*hr,PC=hr*hr*hr;function p8(u){return u>PC?Math.pow(u,0.3333333333333333):u/L9+Q9}function y8(u){return u>hr?u*u*u:L9*(u-Q9)}function t8(u){return 255*(u<=0.0031308?12.92*u:1.055*Math.pow(u,0.4166666666666667)-0.055)}function x8(u){return(u/=255)<=0.04045?u/12.92:Math.pow((u+0.055)/1.055,2.4)}function Z9(u){if(u instanceof D0)return new D0(u.l,u.a,u.b,u.opacity);if(u instanceof K0)return F9(u);if(!(u instanceof wu))u=an(u);let f=u,r=x8(f.r),n=x8(f.g),m=x8(f.b),b=p8((0.2225045*r+0.7168786*n+0.0606169*m)/A9),o,T;if(r===n&&n===m)o=T=b;else o=p8((0.4360747*r+0.3850649*n+0.1430804*m)/w9),T=p8((0.0139322*r+0.0971045*n+0.7141733*m)/R9);return new D0(116*b-16,500*(o-b),200*(b-T),f.opacity)}function $C(u,f){return new D0(u,0,0,f==null?1:f)}function Hb(u,f,r,n){if(f===void 0&&r===void 0)return Z9(u);return new D0(u,f,r,n==null?1:n)}class D0 extends lu{l;a;b;constructor(u,f,r,n){super();this.l=+u,this.a=+f,this.b=+r,this.opacity=+n}brighter(u){return new D0(this.l+Nb*(u==null?1:u),this.a,this.b,this.opacity)}darker(u){return new D0(this.l-Nb*(u==null?1:u),this.a,this.b,this.opacity)}rgb(){let u=(this.l+16)/116,f=isNaN(this.a)?u:u+this.a/500,r=isNaN(this.b)?u:u-this.b/200,n=w9*y8(f),m=A9*y8(u),b=R9*y8(r);return new wu(t8(3.1338561*n-1.6168667*m-0.4906146*b),t8(-0.9787684*n+1.9161415*m+0.033454*b),t8(0.0719453*n-0.2289914*m+1.4052427*b),this.opacity)}}function J9(u){if(u instanceof K0)return new K0(u.h,u.c,u.l,u.opacity);if(!(u instanceof D0))u=Z9(u);let f=u;if(f.a===0&&f.b===0)return new K0(NaN,0<f.l&&f.l<100?0:NaN,f.l,f.opacity);let r=Math.atan2(f.b,f.a)*Wb;return new K0(r<0?r+360:r,Math.sqrt(f.a*f.a+f.b*f.b),f.l,f.opacity)}function wC(u,f,r,n){if(f===void 0&&r===void 0)return J9(u);return new K0(r,f,u,n==null?1:n)}function Vb(u,f,r,n){if(f===void 0&&r===void 0)return J9(u);return new K0(u,f,r,n==null?1:n)}function F9(u){if(isNaN(u.h))return new D0(u.l,0,0,u.opacity);let f=u.h*Bb;return new D0(u.l,Math.cos(f)*u.c,Math.sin(f)*u.c,u.opacity)}class K0 extends lu{h;c;l;constructor(u,f,r,n){super();this.h=+u,this.c=+f,this.l=+r,this.opacity=+n}brighter(u){return new K0(this.h,this.c,this.l+Nb*(u==null?1:u),this.opacity)}darker(u){return new K0(this.h,this.c,this.l-Nb*(u==null?1:u),this.opacity)}rgb(){return F9(this).rgb()}}var W9=-0.14861,e8=1.78277,l8=-0.29227,Xb=-0.90649,fm=1.97294,K9=fm*Xb,U9=fm*e8,B9=e8*l8-Xb*W9;function AC(u){if(u instanceof c0)return new c0(u.h,u.s,u.l,u.opacity);if(!(u instanceof wu))u=an(u);let f=u,r=f.r/255,n=f.g/255,m=f.b/255,b=(B9*m+K9*r-U9*n)/(B9+K9-U9),o=m-b,T=(fm*(n-b)-l8*o)/Xb,G=Math.sqrt(T*T+o*o)/(fm*b*(1-b)),M=G?Math.atan2(T,o)*Wb-120:NaN;return new c0(M<0?M+360:M,G,b,f.opacity)}function E0(u,f,r,n){if(f===void 0&&r===void 0)return AC(u);return new c0(u,f,r,n==null?1:n)}class c0 extends lu{h;s;l;constructor(u,f,r,n){super();this.h=+u,this.s=+f,this.l=+r,this.opacity=+n}brighter(u){return u=u==null?v8:Math.pow(v8,u),new c0(this.h,this.s,this.l*u,this.opacity)}darker(u){return u=u==null?h8:Math.pow(h8,u),new c0(this.h,this.s,this.l*u,this.opacity)}rgb(){let u=isNaN(this.h)?0:(this.h+120)*Bb,f=+this.l,r=isNaN(this.s)?0:this.s*f*(1-f),n=Math.cos(u),m=Math.sin(u);return new wu(255*(f+r*(W9*n+e8*m)),255*(f+r*(l8*n+Xb*m)),255*(f+r*(fm*n)),this.opacity)}}function d8(u,f,r,n,m){let b=u*u,o=b*u;return((1-3*u+3*b-o)*f+(4-6*b+3*o)*r+(1+3*u+3*b-3*o)*n+o*m)/6}function Yb(u){let f=u.length-1;return function(r){let n=r<=0?r=0:r>=1?(r=1,f-1):Math.floor(r*f),m=u[n],b=u[n+1],o=n>0?u[n-1]:2*m-b,T=n<f-1?u[n+2]:2*b-m;return d8((r-n/f)*f,o,m,b,T)}}function qb(u){let f=u.length;return function(r){let n=Math.floor(((r%=1)<0?++r:r)*f),m=u[(n+f-1)%f],b=u[n%f],o=u[(n+1)%f],T=u[(n+2)%f];return d8((r-n/f)*f,m,b,o,T)}}var RC=(u)=>()=>u,vr=RC;function N9(u,f){return function(r){return u+r*f}}function QC(u,f,r){return u=Math.pow(u,r),f=Math.pow(f,r)-u,r=1/r,function(n){return Math.pow(u+n*f,r)}}function Ff(u,f){let r=f-u;return r?N9(u,r>180||r<-180?r-360*Math.round(r/360):r):vr(isNaN(u)?f:u)}function H9(u){return(u=+u)===1?Au:function(f,r){return r-f?QC(f,r,u):vr(isNaN(f)?r:f)}}function Au(u,f){let r=f-u;return r?N9(u,r):vr(isNaN(u)?f:u)}var af=function u(f){let r=H9(f);function n(m,b){let o=um(m),T=um(b),G=r(o.r,T.r),M=r(o.g,T.g),I=r(o.b,T.b),D=Au(o.opacity,T.opacity);return function(S){return o.r=G(S),o.g=M(S),o.b=I(S),o.opacity=D(S),`${o}`}}return n.gamma=u,n}(1);function V9(u){return function(f){let r=f.length,n=Array(r),m=Array(r),b=Array(r),o,T;for(o=0;o<r;++o)T=um(f[o]),n[o]=T.r||0,m[o]=T.g||0,b[o]=T.b||0;let G=u(n),M=u(m),I=u(b);return T.opacity=1,function(D){return T.r=G(D),T.g=M(D),T.b=I(D),`${T}`}}}var i8=V9(Yb),LC=V9(qb);function pr(u,f){if(!f)f=[];let r=u?Math.min(f.length,u.length):0,n=ArrayBuffer.isView(f)?new f.constructor(f):Array.prototype.slice.call(f),m;return function(b){for(m=0;m<r;++m)n[m]=u[m]*(1-b)+f[m]*b;return n}}function zb(u){return ArrayBuffer.isView(u)&&!(u instanceof DataView)}function X9(u,f){return(zb(f)?pr:s8)(u,f)}function s8(u,f){let r=f?f.length:0,n=u?Math.min(r,u.length):0,m=Array(n),b=Array(r),o;for(o=0;o<n;++o)m[o]=cu(u[o],f[o]);for(;o<r;++o)b[o]=f[o];return function(T){for(o=0;o<n;++o)b[o]=m[o](T);return b}}function jb(u,f){let r=new Date,n=+u,m=+f;return function(b){return r.setTime(n*(1-b)+m*b),r}}function Vu(u,f){let r=+u,n=+f;return function(m){return r*(1-m)+n*m}}function kb(u,f){let r={},n={},m;if(u===null||typeof u!=="object")u={};if(f===null||typeof f!=="object")f={};for(m in f)if(m in u)r[m]=cu(u[m],f[m]);else n[m]=f[m];return function(b){for(m in r)n[m]=r[m](b);return n}}var u7=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,a8=new RegExp(u7.source,"g");function ZC(u){return function(){return u}}function JC(u){return function(f){return`${u(f)}`}}function yr(u,f){let r=u7.lastIndex=a8.lastIndex=0,n,m,b,o=-1,T=[],G=[],M=`${u}`,I=`${f}`;while((n=u7.exec(M))&&(m=a8.exec(I))){if((b=m.index)>r)if(b=I.slice(r,b),T[o])T[o]+=b;else T[++o]=b;if(n===m)if(T[o])T[o]+=m[0];else T[++o]=m[0];else T[++o]=null,G.push({i:o,x:Vu(+n[0],+m[0])});r=a8.lastIndex}if(r<I.length)if(b=I.slice(r),T[o])T[o]+=b;else T[++o]=b;return T.length<2?G[0]?JC(G[0].x):ZC(I):(I=G.length,function(D){for(let S=0,E;S<I;++S)T[(E=G[S]).i]=E.x(D);return T.join("")})}function cu(u,f){let r=typeof f,n;return f==null||r==="boolean"?vr(f):(r==="number"?Vu:r==="string"?(n=Jf(f))?(f=n,af):yr:f instanceof lu?af:f instanceof Date?jb:zb(f)?pr:Array.isArray(f)?s8:typeof f.valueOf!=="function"&&typeof f.toString!=="function"||isNaN(f)?kb:Vu)(u,f)}function Y9(u){let f=u.length;return function(r){return u[Math.max(0,Math.min(f-1,Math.floor(r*f)))]}}function q9(u,f){let r=Ff(+u,+f);return function(n){let m=r(n);return m-360*Math.floor(m/360)}}function Kf(u,f){let r=+u,n=+f;return function(m){return Math.round(r*(1-m)+n*m)}}var z9=180/Math.PI,_b={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function gb(u,f,r,n,m,b){let o,T,G;if(o=Math.sqrt(u*u+f*f))u/=o,f/=o;if(G=u*r+f*n)r-=u*G,n-=f*G;if(T=Math.sqrt(r*r+n*n))r/=T,n/=T,G/=T;if(u*n<f*r)u=-u,f=-f,G=-G,o=-o;return{translateX:m,translateY:b,rotate:Math.atan2(f,u)*z9,skewX:Math.atan(G)*z9,scaleX:o,scaleY:T}}var cb;function j9(u){let f=new(typeof DOMMatrix==="function"?DOMMatrix:globalThis.WebKitCSSMatrix)(`${u}`);return f.isIdentity?_b:gb(f.a,f.b,f.c,f.d,f.e,f.f)}function k9(u){if(u==null)return _b;if(!cb)cb=document.createElementNS("http://www.w3.org/2000/svg","g");cb.setAttribute("transform",u);let f=cb.transform.baseVal.consolidate();if(!f)return _b;let r=f.matrix;return gb(r.a,r.b,r.c,r.d,r.e,r.f)}function _9(u,f,r,n){function m(M){return M.length?`${M.pop()} `:""}function b(M,I,D,S,E,O){if(M!==D||I!==S){let $=E.push("translate(",null,f,null,r);O.push({i:$-4,x:Vu(M,D)},{i:$-2,x:Vu(I,S)})}else if(D||S)E.push(`translate(${D}${f}${S}${r}`)}function o(M,I,D,S){if(M!==I){if(M-I>180)I+=360;else if(I-M>180)M+=360;S.push({i:D.push(`${m(D)}rotate(`,null,n)-2,x:Vu(M,I)})}else if(I)D.push(`${m(D)}rotate(${I}${n}`)}function T(M,I,D,S){if(M!==I)S.push({i:D.push(`${m(D)}skewX(`,null,n)-2,x:Vu(M,I)});else if(I)D.push(`${m(D)}skewX(${I}${n}`)}function G(M,I,D,S,E,O){if(M!==D||I!==S){let $=E.push(`${m(E)}scale(`,null,",",null,")");O.push({i:$-4,x:Vu(M,D)},{i:$-2,x:Vu(I,S)})}else if(D!==1||S!==1)E.push(`${m(E)}scale(${D},${S})`)}return function(M,I){let D=[],S=[],E=u(M),O=u(I);return b(E.translateX,E.translateY,O.translateX,O.translateY,D,S),o(E.rotate,O.rotate,D,S),T(E.skewX,O.skewX,D,S),G(E.scaleX,E.scaleY,O.scaleX,O.scaleY,D,S),function($){let P=-1,C=S.length,A;while(++P<C)D[(A=S[P]).i]=A.x($);return D.join("")}}}var f7=_9(j9,"px, ","px)","deg)"),r7=_9(k9,", ",")",")");function g9(u){return((u=Math.exp(u))+1/u)/2}function FC(u){return((u=Math.exp(u))-1/u)/2}function KC(u){return((u=Math.exp(2*u))-1)/(u+1)}var n7=function u(f,r,n){function m(b,o){let T=b[0],G=b[1],M=b[2],I=o[0],D=o[1],S=o[2],E=I-T,O=D-G,$=E*E+O*O,P,C;if($<0.000000000001)C=Math.log(S/M)/f,P=function(A){return[T+A*E,G+A*O,M*Math.exp(f*A*C)]};else{let A=Math.sqrt($),R=(S*S-M*M+n*$)/(2*M*r*A),w=(S*S-M*M-n*$)/(2*S*r*A),Q=Math.log(Math.sqrt(R*R+1)-R);C=(Math.log(Math.sqrt(w*w+1)-w)-Q)/f,P=function(F){let N=F*C,H=g9(Q),K=M/(r*A)*(H*KC(f*N+Q)-FC(Q));return[T+K*E,G+K*O,M*H/g9(f*N+Q)]}}return P.duration=C*1000*f/Math.SQRT2,P}return m.rho=function(b){let o=Math.max(0.001,+b),T=o*o,G=T*T;return u(o,T,G)},m}(Math.SQRT2,2,4);function c9(u){return function(f,r){let n=Ub(f),m=Ub(r),b=u(n.h,m.h),o=Au(n.s,m.s),T=Au(n.l,m.l),G=Au(n.opacity,m.opacity);return function(M){return n.h=b(M),n.s=o(M),n.l=T(M),n.opacity=G(M),`${n}`}}}var UC=c9(Ff),BC=c9(Au);function h9(u,f){let r=Hb(u),n=Hb(f),m=Au(r.l,n.l),b=Au(r.a,n.a),o=Au(r.b,n.b),T=Au(r.opacity,n.opacity);return function(G){return r.l=m(G),r.a=b(G),r.b=o(G),r.opacity=T(G),`${r}`}}function v9(u){return function(f,r){let n=Vb(f),m=Vb(r),b=u(n.h,m.h),o=Au(n.c,m.c),T=Au(n.l,m.l),G=Au(n.opacity,m.opacity);return function(M){return n.h=b(M),n.c=o(M),n.l=T(M),n.opacity=G(M),`${n}`}}}var WC=v9(Ff),NC=v9(Au);function p9(u){return function f(r){r=+r;function n(m,b){let o=E0(m),T=E0(b),G=u(o.h,T.h),M=Au(o.s,T.s),I=Au(o.l,T.l),D=Au(o.opacity,T.opacity);return function(S){return o.h=G(S),o.s=M(S),o.l=I(Math.pow(S,r)),o.opacity=D(S),`${o}`}}return n.gamma=f,n}(1)}var HC=p9(Ff),tr=p9(Au);function hb(u,f){if(f===void 0)f=u,u=cu;let r=0,n=f.length-1,m=f[0],b=Array(n<0?0:n);while(r<n)b[r]=u(m,m=f[++r]);return function(o){let T=Math.max(0,Math.min(n-1,Math.floor(o*=n)));return b[T](o-T)}}function y9(u,f){let r=Array(f);for(let n=0;n<f;++n)r[n]=u(n/(f-1));return r}var xr=0,nm=0,rm=0,x9=1000,vb=null,mm=null,pb=0,ur=0,yb=0,bm=typeof performance==="object"&&typeof performance.now==="function"?performance:Date,e9=typeof window==="object"&&typeof window.requestAnimationFrame==="function"?window.requestAnimationFrame.bind(window):(u)=>{setTimeout(u,17)};function fr(){return ur||(e9(VC),ur=bm.now()+yb)}function VC(){ur=0}class rr{_call;_time;_next;constructor(){this._call=null,this._time=0,this._next=null}restart(u,f,r){if(typeof u!=="function")throw TypeError("callback is not a function");let n=(r==null?fr():+r)+(f==null?0:+f);if(!this._next&&mm!==this){if(mm)mm._next=this;else vb=this;mm=this}this._call=u,this._time=n,m7()}stop(){if(this._call)this._call=null,this._time=1/0,m7()}}function om(u,f,r){let n=new rr;return n.restart(u,f,r),n}function l9(){fr(),++xr;let u=vb,f;while(u){if((f=ur-u._time)>=0)u._call.call(void 0,f);u=u._next}--xr}function t9(){ur=(pb=bm.now())+yb,xr=0,nm=0;try{l9()}finally{xr=0,YC(),ur=0}}function XC(){let u=bm.now(),f=u-pb;if(f>x9)yb-=f,pb=u}function YC(){let u=null,f=vb,r,n=1/0;while(f)if(f._call){if(n>f._time)n=f._time;u=f,f=f._next}else r=f._next,f._next=null,f=u?u._next=r:vb=r;mm=u,m7(n)}function m7(u){if(xr)return;if(nm)clearTimeout(nm),nm=0;if((u??0)-ur>24){if(u<1/0)nm=setTimeout(t9,u-bm.now()-yb);if(rm)clearInterval(rm),rm=0}else{if(!rm)pb=bm.now(),rm=setInterval(XC,x9);xr=1,e9(t9)}}function Tm(u,f,r){let n=new rr,m=f==null?0:+f;return n.restart((b)=>{n.stop(),u(b+m)},f,r),n}function d9(u,f,r){let n=new rr,m=f==null?0:+f;if(f==null)return n.restart(u,f,r),n;let b=n.restart.bind(n);return n._restart=b,n.restart=function(o,T,G){let M=T==null?0:+T,I=G==null?fr():+G;m=M,b(function D(S){S+=m,b(D,m+=M,I),o(S)},M,I)},n.restart(u,f,r),n}var qC=F0("start","end","cancel","interrupt"),zC=[],s9=0,xb=1,eb=2,tb=3,i9=4,lb=5,Mm=6;function rf(u,f,r,n,m,b){let o=u,T=o.__transition;if(!T)o.__transition={};else if(r in T)return;jC(o,r,{name:f,index:n,group:m,on:qC,tween:zC,time:b.time,delay:b.delay,duration:b.duration,ease:b.ease,timer:null,state:s9})}function Gm(u,f){let r=Nu(u,f);if(r.state>s9)throw Error("too late; already scheduled");return r}function ju(u,f){let r=Nu(u,f);if(r.state>tb)throw Error("too late; already running");return r}function Nu(u,f){let r=u.__transition;if(!r||!r[f])throw Error("transition not found");return r[f]}function jC(u,f,r){let n=u.__transition,m;n[f]=r,r.timer=om(b,0,r.time);function b(M){if(r.state=xb,r.timer.restart(o,r.delay,r.time),r.delay<=M)o(M-r.delay)}function o(M){let I,D,S,E;if(r.state!==xb)return G();for(I in n){if(E=n[I],E.name!==r.name)continue;if(E.state===tb)return void Tm(o);if(E.state===i9){E.state=Mm,E.timer.stop();try{E.on.call("interrupt",u,u.__data__,E.index,E.group)}catch{}delete n[I]}else if(+I<f){E.state=Mm,E.timer.stop();try{E.on.call("cancel",u,u.__data__,E.index,E.group)}catch{}delete n[I]}}Tm(()=>{if(r.state===tb)r.state=i9,r.timer.restart(T,r.delay,r.time),T(M)}),r.state=eb;try{r.on.call("start",u,u.__data__,r.index,r.group)}catch{return G()}if(r.state!==eb)return;r.state=tb,S=r.tween.length,m=Array(S),D=-1;for(let O=0;O<S;++O){let $;try{$=r.tween[O].value.call(u,u.__data__,r.index,r.group)}catch{return G()}if($)m[++D]=$}m.length=D+1}function T(M){let I=M<r.duration?r.ease.call(null,M/r.duration):(r.timer.restart(G),r.state=lb,1),D=-1,S=m.length;while(++D<S)try{m[D].call(u,I)}catch{return G()}if(r.state===lb){try{r.on.call("end",u,u.__data__,r.index,r.group)}catch{return G()}G()}}function G(){r.state=Mm,r.timer.stop(),delete n[f];for(let M in n)return;delete u.__transition}}function U0(u,f){let r=u,n=r.__transition,m,b,o=!0,T;if(!n)return;let G=f==null?null:f+"";for(T in n){if((m=n[T]).name!==G){o=!1;continue}b=m.state>eb&&m.state<lb,m.state=Mm,m.timer.stop(),m.on.call(b?"interrupt":"cancel",u,r.__data__,m.index,m.group),delete n[T]}if(o)delete r.__transition}function b7(u){return this.each(function(){U0(this,u)})}function kC(u,f){let r,n;return function(){let m=ju(this,u),b=m.tween;if(b!==r){n=r=b;for(let o=0,T=n.length;o<T;++o)if(n[o].name===f){n=n.slice(),n.splice(o,1);break}}m.tween=n}}function _C(u,f,r){let n,m;if(typeof r!=="function")throw Error();return function(){let b=ju(this,u),o=b.tween;if(o!==n){m=(n=o).slice();let T={name:f,value:r},G,M=m.length;for(G=0;G<M;++G)if(m[G].name===f){m[G]=T;break}if(G===M)m.push(T)}b.tween=m}}function o7(u,f){let r=this._id;if(u+="",arguments.length<2){let n=Nu(this.node(),r).tween;for(let m=0,b=n.length,o;m<b;++m)if((o=n[m]).name===u)return o.value;return null}return this.each((f==null?kC:_C)(r,u,f))}function er(u,f,r){let n=u._id;return u.each(function(){let m=ju(this,n);(m.value||(m.value={}))[f]=r.apply(this,arguments)}),function(m){return Nu(m,n).value[f]}}function Im(u,f){let r;return(typeof f==="number"?Vu:f instanceof Jf?af:(r=Jf(f))?(f=r,af):yr)(u,f)}function gC(u){return function(){this.removeAttribute(u)}}function cC(u){return function(){this.removeAttributeNS(u.space,u.local)}}function hC(u,f,r){let n,m=r+"",b;return function(){let o=this.getAttribute(u);return o===m?null:o===n?b:b=f(n=o,r)}}function vC(u,f,r){let n,m=r+"",b;return function(){let o=this.getAttributeNS(u.space,u.local);return o===m?null:o===n?b:b=f(n=o,r)}}function pC(u,f,r){let n,m,b;return function(){let o,T=r(this),G;if(T==null)return void this.removeAttribute(u);return o=this.getAttribute(u),G=T+"",o===G?null:o===n&&G===m?b:(m=G,b=f(n=o,T))}}function yC(u,f,r){let n,m,b;return function(){let o,T=r(this),G;if(T==null)return void this.removeAttributeNS(u.space,u.local);return o=this.getAttributeNS(u.space,u.local),G=T+"",o===G?null:o===n&&G===m?b:(m=G,b=f(n=o,T))}}function T7(u,f){let r=g0(u),n=r==="transform"?r7:Im;return this.attrTween(u,typeof f==="function"?(typeof r==="object"&&r.local?yC:pC)(r,n,er(this,"attr."+u,f)):f==null?(typeof r==="object"&&r.local?cC:gC)(r):(typeof r==="object"&&r.local?vC:hC)(r,n,f))}function tC(u,f){return function(r){this.setAttribute(u,f.call(this,r))}}function xC(u,f){return function(r){this.setAttributeNS(u.space,u.local,f.call(this,r))}}function eC(u,f){let r,n;function m(){let b=f.apply(this,arguments);if(b!==n)r=(n=b)&&xC(u,b);return r}return m._value=f,m}function lC(u,f){let r,n;function m(){let b=f.apply(this,arguments);if(b!==n)r=(n=b)&&tC(u,b);return r}return m._value=f,m}function M7(u,f){let r="attr."+u;if(arguments.length<2){let m=this.tween(r);return m&&m._value}if(f==null)return this.tween(r,null);if(typeof f!=="function")throw Error();let n=g0(u);return this.tween(r,(typeof n==="object"&&n.local?eC:lC)(n,f))}function dC(u,f){return function(){Gm(this,u).delay=+f.apply(this,arguments)}}function iC(u,f){return f=+f,function(){Gm(this,u).delay=f}}function G7(u){let f=this._id;return arguments.length?this.each((typeof u==="function"?dC:iC)(f,u)):Nu(this.node(),f).delay}function sC(u,f){return function(){ju(this,u).duration=+f.apply(this,arguments)}}function aC(u,f){return f=+f,function(){ju(this,u).duration=f}}function I7(u){let f=this._id;return arguments.length?this.each((typeof u==="function"?sC:aC)(f,u)):Nu(this.node(),f).duration}function uO(u,f){if(typeof f!=="function")throw Error();return function(){ju(this,u).ease=f}}function S7(u){let f=this._id;return arguments.length?this.each(uO(f,u)):Nu(this.node(),f).ease}function fO(u,f){return function(){let r=f.apply(this,arguments);if(typeof r!=="function")throw Error();ju(this,u).ease=r}}function D7(u){if(typeof u!=="function")throw Error();return this.each(fO(this._id,u))}function E7(u){if(typeof u!=="function")u=gr(u);let f=this._groups,r=f.length,n=Array(r);for(let m=0;m<r;++m){let b=f[m],o=b.length,T=n[m]=[];for(let G,M=0;M<o;++M)if((G=b[M])&&u.call(G,G.__data__,M,b))T.push(G)}return new Xu(n,this._parents,this._name,this._id)}function C7(u){if(u._id!==this._id)throw Error();let f=this._groups,r=u._groups,n=f.length,m=r.length,b=Math.min(n,m),o=Array(n),T=0;for(;T<b;++T){let G=f[T],M=r[T],I=G.length,D=o[T]=Array(I);for(let S,E=0;E<I;++E)if(S=G[E]||M[E])D[E]=S}for(;T<n;++T)o[T]=f[T];return new Xu(o,this._parents,this._name,this._id)}function rO(u){return(u+"").trim().split(/^|\s+/).every(function(f){let r=f.indexOf(".");if(r>=0)f=f.slice(0,r);return!f||f==="start"})}function nO(u,f,r){let n,m,b=rO(f)?Gm:ju;return function(){let o=b(this,u),T=o.on;if(T!==n)(m=(n=T).copy()).on(f,r);o.on=m}}function O7(u,f){let r=this._id;return arguments.length<2?Nu(this.node(),r).on.on(u):this.each(nO(r,u,f??null))}function mO(u){return function(){let f=this,r=this.parentNode;for(let n in f.__transition)if(+n!==u)return;if(r)r.removeChild(this)}}function P7(){return this.on("end.remove",mO(this._id))}function $7(u){let f=this._name,r=this._id;if(typeof u!=="function")u=xf(u);let n=this._groups,m=n.length,b=Array(m);for(let o=0;o<m;++o){let T=n[o],G=T.length,M=b[o]=Array(G);for(let I,D,S=0;S<G;++S)if((I=T[S])&&(D=u.call(I,I.__data__,S,T))){if("__data__"in I)D.__data__=I.__data__;M[S]=D,rf(M[S],f,r,S,M,Nu(I,r))}}return new Xu(b,this._parents,f,r)}function w7(u){let f=this._name,r=this._id;if(typeof u!=="function")u=_r(u);let n=this._groups,m=n.length,b=[],o=[];for(let T=0;T<m;++T){let G=n[T],M=G.length;for(let I,D=0;D<M;++D)if(I=G[D]){let S=u.call(I,I.__data__,D,G),E=Nu(I,r);for(let O,$=0,P=S.length;$<P;++$)if(O=S[$])rf(O,f,r,$,S,E);b.push(Array.from(S)),o.push(I)}}return new Xu(b,o,f,r)}function A7(){return new ou(this._groups,this._parents)}function bO(u,f){let r,n,m;return function(){let b=Lf(this,u),o=(this.style.removeProperty(u),Lf(this,u));return b===o?null:b===r&&o===n?m:m=f(r=b,n=o)}}function a9(u){return function(){this.style.removeProperty(u)}}function oO(u,f,r){let n,m=r+"",b;return function(){let o=Lf(this,u);return o===m?null:o===n?b:b=f(n=o,r)}}function TO(u,f,r){let n,m,b;return function(){let o=Lf(this,u),T=r(this),G=T+"";if(T==null)G=T=(this.style.removeProperty(u),Lf(this,u));return o===G?null:o===n&&G===m?b:(m=G,b=f(n=o,T))}}function MO(u,f){let r,n,m,b="style."+f,o="end."+b,T;return function(){let G=ju(this,u),M=G.on,I=G.value[b]==null?T||(T=a9(f)):void 0;if(M!==r||m!==I)(n=(r=M).copy()).on(o,m=I);G.on=n}}function R7(u,f,r){let n=(u+="")==="transform"?f7:Im;return f==null?this.styleTween(u,bO(u,n)).on("end.style."+u,a9(u)):typeof f==="function"?this.styleTween(u,TO(u,n,er(this,"style."+u,f))).each(MO(this._id,u)):this.styleTween(u,oO(u,n,f),r).on("end.style."+u,null)}function GO(u,f,r){return function(n){this.style.setProperty(u,`${f.call(this,n)}`,r)}}function IO(u,f,r){let n,m;function b(){let o=f.apply(this,arguments);if(o!==m)n=(m=o)&&GO(u,o,r);return n}return b._value=f,b}function Q7(u,f,r){let n="style."+(u+="");if(arguments.length<2){let m=this.tween(n);return m&&m._value}if(f==null)return this.tween(n,null);if(typeof f!=="function")throw Error();return this.tween(n,IO(u,f,r==null?"":r))}function SO(u){return function(){this.textContent=u}}function DO(u){return function(){let f=u(this);this.textContent=f==null?"":f}}function L7(u){return this.tween("text",typeof u==="function"?DO(er(this,"text",u)):SO(u==null?"":u+""))}function EO(u){return function(f){this.textContent=u.call(this,f)}}function CO(u){let f,r;function n(){let m=u.apply(this,arguments);if(m!==r)f=(r=m)&&EO(m);return f}return n._value=u,n}function Z7(u){if(arguments.length<1){let r=this.tween("text");return r&&r._value}if(u==null)return this.tween("text",null);if(typeof u!=="function")throw Error();return this.tween("text",CO(u))}function J7(){let u=this._name,f=this._id,r=db(),n=this._groups;for(let m=n.length,b=0;b<m;++b)for(let o=n[b],T=o.length,G,M=0;M<T;++M)if(G=o[M]){let I=Nu(G,f);rf(G,u,r,M,o,{time:I.time+I.delay+I.duration,delay:0,duration:I.duration,ease:I.ease})}return new Xu(n,this._parents,u,r)}function F7(){let u,f,r=this,n=r._id,m=r.size();return new Promise(function(b,o){let T={value:o},G={value:function(){if(--m===0)b()}};if(r.each(function(){let M=ju(this,n),I=M.on;if(I!==u)f=(u=I).copy(),f._.cancel.push(T),f._.interrupt.push(T),f._.end.push(G);M.on=f}),m===0)b()})}var OO=0;class Xu{_groups;_parents;_name;_id;constructor(u,f,r,n){this._groups=u,this._parents=f,this._name=r,this._id=n}select(u){return $7.call(this,u)}selectAll(u){return w7.call(this,u)}selectChild(u){return ou.prototype.selectChild.call(this,u)}selectChildren(u){return ou.prototype.selectChildren.call(this,u)}filter(u){return E7.call(this,u)}merge(u){return C7.call(this,u)}selection(){return A7.call(this)}transition(){return J7.call(this)}call(u,...f){return ou.prototype.call.apply(this,[u,...f]),this}nodes(){return ou.prototype.nodes.call(this)}node(){return ou.prototype.node.call(this)}size(){return ou.prototype.size.call(this)}empty(){return ou.prototype.empty.call(this)}each(u){return ou.prototype.each.call(this,u),this}on(u,f){return O7.apply(this,arguments)}attr(u,f){return T7.call(this,u,f)}attrTween(u,f){return M7.apply(this,arguments)}style(u,f,r){return R7.apply(this,arguments)}styleTween(u,f,r){return Q7.apply(this,arguments)}text(u){return L7.call(this,u)}textTween(u){return Z7.apply(this,arguments)}remove(){return P7.call(this)}tween(u,f){return o7.apply(this,arguments)}delay(u){return G7.apply(this,arguments)}duration(u){return I7.apply(this,arguments)}ease(u){return S7.apply(this,arguments)}easeVarying(u){return D7.call(this,u)}end(){return F7.call(this)}[Symbol.iterator](){return ou.prototype[Symbol.iterator].call(this)}}var PO=Object.assign(function(f){return Lb().transition(f)},{prototype:Xu.prototype}),$O=PO;function db(){return++OO}var wO=(u)=>+u;function AO(u){return u*u}function RO(u){return u*(2-u)}function uT(u){return((u*=2)<=1?u*u:--u*(2-u)+1)/2}function QO(u){return u*u*u}function LO(u){return--u*u*u+1}function ib(u){return((u*=2)<=1?u*u*u:(u-=2)*u*u+2)/2}var ZO=function u(f){f=+f;function r(n){return Math.pow(n,f)}return r.exponent=u,r}(3),JO=function u(f){f=+f;function r(n){return 1-Math.pow(1-n,f)}return r.exponent=u,r}(3),fT=function u(f){f=+f;function r(n){return((n*=2)<=1?Math.pow(n,f):2-Math.pow(2-n,f))/2}return r.exponent=u,r}(3);var rT=Math.PI,nT=rT/2;function FO(u){return+u===1?1:1-Math.cos(u*nT)}function KO(u){return Math.sin(u*nT)}function mT(u){return(1-Math.cos(rT*u))/2}function h0(u){return(Math.pow(2,-10*u)-0.0009765625)*1.0009775171065494}function UO(u){return h0(1-+u)}function BO(u){return 1-h0(u)}function bT(u){return((u*=2)<=1?h0(1-u):2-h0(u-1))/2}function WO(u){return 1-Math.sqrt(1-u*u)}function NO(u){return Math.sqrt(1- --u*u)}function oT(u){return((u*=2)<=1?1-Math.sqrt(1-u*u):Math.sqrt(1-(u-=2)*u)+1)/2}function HO(u){return 1-Sm(1-u)}function Sm(u){return(u=+u)<0.36363636363636365?7.5625*u*u:u<0.7272727272727273?7.5625*(u-=0.5454545454545454)*u+0.75:u<0.9090909090909091?7.5625*(u-=0.8181818181818182)*u+0.9375:7.5625*(u-=0.9545454545454546)*u+0.984375}function VO(u){return((u*=2)<=1?1-Sm(1-u):Sm(u-1)+1)/2}var XO=function u(f){f=+f;function r(n){return(n=+n)*n*(f*(n-1)+n)}return r.overshoot=u,r}(1.70158),YO=function u(f){f=+f;function r(n){return--n*n*((n+1)*f+n)+1}return r.overshoot=u,r}(1.70158),TT=function u(f){f=+f;function r(n){return((n*=2)<1?n*n*((f+1)*n-f):(n-=2)*n*((f+1)*n+f)+2)/2}return r.overshoot=u,r}(1.70158);var lr=2*Math.PI,K7=1,U7=0.3,qO=function u(f,r){let n=Math.asin(1/(f=Math.max(1,f)))*(r/=lr);function m(b){return f*h0(- --b)*Math.sin((n-b)/r)}return m.amplitude=function(b){return u(b,r*lr)},m.period=function(b){return u(f,b)},m}(K7,U7),MT=function u(f,r){let n=Math.asin(1/(f=Math.max(1,f)))*(r/=lr);function m(b){return 1-f*h0(b=+b)*Math.sin((b+n)/r)}return m.amplitude=function(b){return u(b,r*lr)},m.period=function(b){return u(f,b)},m}(K7,U7),zO=function u(f,r){let n=Math.asin(1/(f=Math.max(1,f)))*(r/=lr);function m(b){return((b=b*2-1)<0?f*h0(-b)*Math.sin((n-b)/r):2-f*h0(b)*Math.sin((n+b)/r))/2}return m.amplitude=function(b){return u(b,r*lr)},m.period=function(b){return u(f,b)},m}(K7,U7);var jO={time:null,delay:0,duration:250,ease:ib};function kO(u,f){let r,n=u;while(!(r=n.__transition?.[f]))if(!(n=n.parentNode)||n.nodeType===9)throw Error(`transition ${f} not found`);return r}function B7(u){let f,r,n;if(u instanceof Xu)f=u._id,n=u._name;else f=db(),r={...jO,time:fr()},n=u==null?null:u+"";let m=this._groups;for(let b=m.length,o=0;o<b;++o)for(let T=m[o],G=T.length,M,I=0;I<G;++I)if(M=T[I])rf(M,n,f,I,T,r||kO(M,f));return new Xu(m,this._parents,n,f)}ou.prototype.interrupt=b7;ou.prototype.transition=B7;var _O=[null];function GT(u,f){let r=u.__transition,n,m;if(r){let b=f==null?null:f+"";for(m in r)if((n=r[m]).state>xb&&n.name===b)return new Xu([[u]],_O,b,+m)}return null}function Dm(u){return()=>u}function W7(u,{sourceEvent:f,target:r,selection:n,mode:m,dispatch:b}){Object.defineProperties(this,{type:{value:u,enumerable:!0,configurable:!0},sourceEvent:{value:f,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},selection:{value:n,enumerable:!0,configurable:!0},mode:{value:m,enumerable:!0,configurable:!0},_:{value:b}})}function IT(u){u.stopImmediatePropagation()}function Em(u){u.preventDefault(),u.stopImmediatePropagation()}var ST={name:"drag"},N7={name:"space"},dr={name:"handle"},ir={name:"center"},{abs:DT,max:hu,min:vu}=Math;function ET(u){return[+u[0],+u[1]]}function V7(u){return[ET(u[0]),ET(u[1])]}var sb={name:"x",handles:["w","e"].map(Cm),input(u,f){return u==null?null:[[+u[0],f[0][1]],[+u[1],f[1][1]]]},output(u){return u&&[u[0][0],u[1][0]]}},ab={name:"y",handles:["n","s"].map(Cm),input(u,f){return u==null?null:[[f[0][0],+u[0]],[f[1][0],+u[1]]]},output(u){return u&&[u[0][1],u[1][1]]}},gO={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(Cm),input(u){return u==null?null:V7(u)},output(u){return u}},nf={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},CT={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},OT={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},cO={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},hO={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function Cm(u){return{type:u}}function vO(u){return!u.ctrlKey&&!u.button}function pO(){let u=this.ownerSVGElement||this;if(u.hasAttribute("viewBox"))return u=u.viewBox.baseVal,[[u.x,u.y],[u.x+u.width,u.y+u.height]];return[[0,0],[u.width.baseVal.value,u.height.baseVal.value]]}function yO(){return!!(navigator.maxTouchPoints||("ontouchstart"in this))}function H7(u){while(!u.__brush)if(!(u=u.parentNode))return;return u.__brush}function tO(u){return u[0][0]===u[1][0]||u[0][1]===u[1][1]}function xO(u){let f=u.__brush;return f?f.dim.output(f.selection):null}function eO(){return X7(sb)}function lO(){return X7(ab)}function PT(){return X7(gO)}function X7(u){let f=pO,r=vO,n=yO,m=!0,b=F0("start","brush","end"),o=6,T;function G(P){let C=P.property("__brush",$).selectAll(".overlay").data([Cm("overlay")]);C.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",nf.overlay).merge(C).each(function(){let R=H7(this).extent;Ju(this).attr("x",R[0][0]).attr("y",R[0][1]).attr("width",R[1][0]-R[0][0]).attr("height",R[1][1]-R[0][1])}),P.selectAll(".selection").data([Cm("selection")]).enter().append("rect").attr("class","selection").attr("cursor",nf.selection).attr("fill","#777").attr("fill-opacity",0.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");let A=P.selectAll(".handle").data(u.handles,(R)=>R.type);A.exit().remove(),A.enter().append("rect").attr("class",(R)=>`handle handle--${R.type}`).attr("cursor",(R)=>nf[R.type]),P.each(M).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",S).filter(n).on("touchstart.brush",S).on("touchmove.brush",E).on("touchend.brush touchcancel.brush",O).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}G.move=function(P,C,A){if(P.tween)P.on("start.brush",function(R){I(this,arguments).beforestart().start(R)}).on("interrupt.brush end.brush",function(R){I(this,arguments).end(R)}).tween("brush",function(){let R=this,w=R.__brush,Q=I(R,arguments),L=w.selection,F=u.input(typeof C==="function"?C.apply(this,arguments):C,w.extent),N=cu(L,F);function H(K){w.selection=K===1&&F===null?null:N(K),M.call(R),Q.brush()}return L!==null&&F!==null?H:H(1)});else P.each(function(){let R=this,w=arguments,Q=R.__brush,L=u.input(typeof C==="function"?C.apply(R,w):C,Q.extent),F=I(R,w).beforestart();U0(R),Q.selection=L===null?null:L,M.call(R),F.start(A).brush(A).end(A)})},G.clear=function(P,C){G.move(P,null,C)};function M(){let P=Ju(this),C=H7(this).selection;if(C)P.selectAll(".selection").style("display",null).attr("x",C[0][0]).attr("y",C[0][1]).attr("width",C[1][0]-C[0][0]).attr("height",C[1][1]-C[0][1]),P.selectAll(".handle").style("display",null).attr("x",(A)=>A.type[A.type.length-1]==="e"?C[1][0]-o/2:C[0][0]-o/2).attr("y",(A)=>A.type[0]==="s"?C[1][1]-o/2:C[0][1]-o/2).attr("width",(A)=>A.type==="n"||A.type==="s"?C[1][0]-C[0][0]+o:o).attr("height",(A)=>A.type==="e"||A.type==="w"?C[1][1]-C[0][1]+o:o);else P.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function I(P,C,A){let R=P.__brush.emitter;return R&&(!A||!R.clean)?R:new D(P,C,A)}function D(P,C,A){this.that=P,this.args=C,this.state=P.__brush,this.active=0,this.clean=A}D.prototype={beforestart(){if(++this.active===1)this.state.emitter=this,this.starting=!0;return this},start(P,C){if(this.starting)this.starting=!1,this.emit("start",P,C);else this.emit("brush",P);return this},brush(P,C){return this.emit("brush",P,C),this},end(P,C){if(--this.active===0)delete this.state.emitter,this.emit("end",P,C);return this},emit(P,C,A){let R=Ju(this.that).datum();b.call(P,this.that,new W7(P,{sourceEvent:C,target:G,selection:u.output(this.state.selection),mode:A,dispatch:b}),R)}};function S(P){if(T&&!P.touches)return;if(!r.apply(this,arguments))return;let C=this,A=P.target.__data__.type,R=(m&&P.metaKey?A="overlay":A)==="selection"?ST:m&&P.altKey?ir:dr,w=u===ab?null:cO[A],Q=u===sb?null:hO[A],L=H7(C),F=L.extent,N=L.selection,H=F[0][0],K,B,V=F[0][1],W,Z,J=F[1][0],U,X,Y=F[1][1],j,k,v=0,y=0,i,a=w&&Q&&m&&P.shiftKey,Gu,Uu,Su=Array.from(P.touches||[P],(l)=>{let Zu=l.identifier;return l=Wu(l,C),l.point0=l.slice(),l.identifier=Zu,l});U0(C);let gu=I(C,arguments,!0).beforestart();if(A==="overlay"){if(N)i=!0;let l=[Su[0],Su[1]||Su[0]];if(L.selection=N=[[K=u===ab?H:vu(l[0][0],l[1][0]),W=u===sb?V:vu(l[0][1],l[1][1])],[U=u===ab?J:hu(l[0][0],l[1][0]),j=u===sb?Y:hu(l[0][1],l[1][1])]],Su.length>1)Lu(P)}else K=N[0][0],W=N[0][1],U=N[1][0],j=N[1][1];B=K,Z=W,X=U,k=j;let c=Ju(C).attr("pointer-events","none"),uu=c.selectAll(".overlay").attr("cursor",nf[A]),fu;if(P.touches)gu.moved=q,gu.ended=Iu;else{if(fu=Ju(P.view).on("mousemove.brush",q,!0).on("mouseup.brush",Iu,!0),m)fu.on("keydown.brush",xu,!0).on("keyup.brush",eu,!0);Zf(P.view)}M.call(C),gu.start(P,R.name);function q(l){for(let Zu of l.changedTouches||[l])for(let kn of Su)if(kn.identifier===Zu.identifier)kn.cur=Wu(Zu,C);if(a&&!Gu&&!Uu&&Su.length===1){let Zu=Su[0];if(DT(Zu.cur[0]-Zu[0])>DT(Zu.cur[1]-Zu[1]))Uu=!0;else Gu=!0}for(let Zu of Su)if(Zu.cur)Zu[0]=Zu.cur[0],Zu[1]=Zu.cur[1];i=!0,Em(l),Lu(l)}function Lu(l){let Zu=Su[0],kn=Zu.point0,wf;switch(v=Zu[0]-kn[0],y=Zu[1]-kn[1],R){case N7:case ST:{if(w)v=hu(H-K,vu(J-U,v)),B=K+v,X=U+v;if(Q)y=hu(V-W,vu(Y-j,y)),Z=W+y,k=j+y;break}case dr:{if(Su[1]){if(w)B=hu(H,vu(J,Su[0][0])),X=hu(H,vu(J,Su[1][0])),w=1;if(Q)Z=hu(V,vu(Y,Su[0][1])),k=hu(V,vu(Y,Su[1][1])),Q=1}else{if(w<0)v=hu(H-K,vu(J-K,v)),B=K+v,X=U;else if(w>0)v=hu(H-U,vu(J-U,v)),B=K,X=U+v;if(Q<0)y=hu(V-W,vu(Y-W,y)),Z=W+y,k=j;else if(Q>0)y=hu(V-j,vu(Y-j,y)),Z=W,k=j+y}break}case ir:{if(w)B=hu(H,vu(J,K-v*w)),X=hu(H,vu(J,U+v*w));if(Q)Z=hu(V,vu(Y,W-y*Q)),k=hu(V,vu(Y,j+y*Q));break}}if(X<B){if(w*=-1,wf=K,K=U,U=wf,wf=B,B=X,X=wf,A in CT)uu.attr("cursor",nf[A=CT[A]])}if(k<Z){if(Q*=-1,wf=W,W=j,j=wf,wf=Z,Z=k,k=wf,A in OT)uu.attr("cursor",nf[A=OT[A]])}if(L.selection)N=L.selection;if(Gu)B=N[0][0],X=N[1][0];if(Uu)Z=N[0][1],k=N[1][1];if(N[0][0]!==B||N[0][1]!==Z||N[1][0]!==X||N[1][1]!==k)L.selection=[[B,Z],[X,k]],M.call(C),gu.brush(l,R.name)}function Iu(l){if(IT(l),l.touches){if(l.touches.length)return;if(T)clearTimeout(T);T=setTimeout(()=>{T=null},500)}else lf(l.view,i),fu.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);if(c.attr("pointer-events","all"),uu.attr("cursor",nf.overlay),L.selection)N=L.selection;if(tO(N))L.selection=null,M.call(C);gu.end(l,R.name)}function xu(l){switch(l.keyCode){case 16:{a=w&&Q;break}case 18:{if(R===dr){if(w)U=X-v*w,K=B+v*w;if(Q)j=k-y*Q,W=Z+y*Q;R=ir,Lu(l)}break}case 32:{if(R===dr||R===ir){if(w<0)U=X-v;else if(w>0)K=B-v;if(Q<0)j=k-y;else if(Q>0)W=Z-y;R=N7,uu.attr("cursor",nf.selection),Lu(l)}break}default:return}Em(l)}function eu(l){switch(l.keyCode){case 16:{if(a)Gu=Uu=a=!1,Lu(l);break}case 18:{if(R===ir){if(w<0)U=X;else if(w>0)K=B;if(Q<0)j=k;else if(Q>0)W=Z;R=dr,Lu(l)}break}case 32:{if(R===N7){if(l.altKey){if(w)U=X-v*w,K=B+v*w;if(Q)j=k-y*Q,W=Z+y*Q;R=ir}else{if(w<0)U=X;else if(w>0)K=B;if(Q<0)j=k;else if(Q>0)W=Z;R=dr}uu.attr("cursor",nf[A]),Lu(l)}break}default:return}Em(l)}}function E(P){I(this,arguments).moved(P)}function O(P){I(this,arguments).ended(P)}function $(){let P=this.__brush||{selection:null};return P.extent=V7(f.apply(this,arguments)),P.dim=u,P}return G.extent=function(P){return arguments.length?(f=typeof P==="function"?P:Dm(V7(P)),G):f},G.filter=function(P){return arguments.length?(r=typeof P==="function"?P:Dm(!!P),G):r},G.touchable=function(P){return arguments.length?(n=typeof P==="function"?P:Dm(!!P),G):n},G.handleSize=function(P){return arguments.length?(o=+P,G):o},G.keyModifiers=function(P){return arguments.length?(m=!!P,G):m},G.on=function(...P){let C=b.on.apply(b,arguments);return C===b?G:C},G}var{abs:Y7,cos:nr,sin:mr,PI:$T}=Math,Om=$T/2,q7=$T*2,z7=Math.max,u6=0.000000000001;function j7(u,f){return Array.from({length:f-u},(r,n)=>u+n)}function dO(u){let f=function(r,n){return u((r.source?.value??0)+(r.target?.value??0),(n.source?.value??0)+(n.target?.value??0))};return f._=u,f}function wT(){return k7(!1,!1)}function iO(){return k7(!1,!0)}function sO(){return k7(!0,!1)}function k7(u,f){let r=0,n=null,m=null,b=null;function o(T){let G=T.length,M=Array(G),I=j7(0,G),D=Array(G*G),S=Array(G),E=0,O,$=Float64Array.from({length:G*G},f?(P,C)=>T[C%G][C/G|0]:(P,C)=>T[C/G|0][C%G]);for(let P=0;P<G;++P){let C=0;for(let A=0;A<G;++A)C+=$[P*G+A]+(u?1:0)*$[A*G+P];E+=M[P]=C}E=z7(0,q7-r*G)/E,O=E?r:q7/G;{let P=0;if(n)I.sort((C,A)=>n(M[C],M[A]));for(let C of I){let A=P;if(u){let R=j7(~G+1,G).filter((w)=>w<0?$[~w*G+C]:$[C*G+w]);if(m)R.sort((w,Q)=>m(w<0?-$[~w*G+C]:$[C*G+w],Q<0?-$[~Q*G+C]:$[C*G+Q]));for(let w of R)if(w<0){let Q=D[~w*G+C]||(D[~w*G+C]={source:null,target:null});Q.target={index:C,startAngle:P,endAngle:P+=$[~w*G+C]*E,value:$[~w*G+C]}}else{let Q=D[C*G+w]||(D[C*G+w]={source:null,target:null});Q.source={index:C,startAngle:P,endAngle:P+=$[C*G+w]*E,value:$[C*G+w]}}S[C]={index:C,startAngle:A,endAngle:P,value:M[C]}}else{let R=j7(0,G).filter((w)=>$[C*G+w]||$[w*G+C]);if(m)R.sort((w,Q)=>m($[C*G+w],$[C*G+Q]));for(let w of R){let Q;if(C<w)Q=D[C*G+w]||(D[C*G+w]={source:null,target:null}),Q.source={index:C,startAngle:P,endAngle:P+=$[C*G+w]*E,value:$[C*G+w]};else if(Q=D[w*G+C]||(D[w*G+C]={source:null,target:null}),Q.target={index:C,startAngle:P,endAngle:P+=$[C*G+w]*E,value:$[C*G+w]},C===w)Q.source=Q.target;if(Q.source&&Q.target&&Q.source.value<Q.target.value){let L=Q.source;Q.source=Q.target,Q.target=L}}S[C]={index:C,startAngle:A,endAngle:P,value:M[C]}}P+=O}}return D=Object.values(D),D.groups=S,b?D.sort(b):D}return o.padAngle=function(T){return T!==void 0?(r=z7(0,T),o):r},o.sortGroups=function(T){return T!==void 0?(n=T,o):n},o.sortSubgroups=function(T){return T!==void 0?(m=T,o):m},o.sortChords=function(T){if(T!==void 0){if(T==null)b=null;else b=dO(T),b._=T;return o}return b&&b._},o}var _7=Math.PI,g7=2*_7;var aO=g7-0.000001;function AT(u,...f){this._+=u[0];for(let r=1,n=u.length;r<n;++r)this._+=f[r-1]+u[r]}function uP(u){let f=Math.floor(u);if(!(f>=0))throw Error(`invalid digits: ${u}`);if(f>15)return AT;let r=10**f;return function(n,...m){this._+=n[0];for(let b=1,o=n.length;b<o;++b)this._+=Math.round(m[b-1]*r)/r+n[b]}}class br{_x0;_y0;_x1;_y1;_;_append;constructor(u){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=u==null?AT:uP(u)}moveTo(u,f){this._append`M${this._x0=this._x1=+u},${this._y0=this._y1=+f}`}closePath(){if(this._x1!==null)this._x1=this._x0,this._y1=this._y0,this._append`Z`}lineTo(u,f){this._append`L${this._x1=+u},${this._y1=+f}`}quadraticCurveTo(u,f,r,n){this._append`Q${+u},${+f},${this._x1=+r},${this._y1=+n}`}bezierCurveTo(u,f,r,n,m,b){this._append`C${+u},${+f},${+r},${+n},${this._x1=+m},${this._y1=+b}`}arcTo(u,f,r,n,m){if(u=+u,f=+f,r=+r,n=+n,m=+m,m<0)throw Error(`negative radius: ${m}`);let b=this._x1,o=this._y1,T=r-u,G=n-f,M=b-u,I=o-f,D=M*M+I*I;if(this._x1===null)this._append`M${this._x1=u},${this._y1=f}`;else if(!(D>0.000001));else if(!(Math.abs(I*T-G*M)>0.000001)||!m)this._append`L${this._x1=u},${this._y1=f}`;else{let S=r-b,E=n-o,O=T*T+G*G,$=S*S+E*E,P=Math.sqrt(O),C=Math.sqrt(D),A=m*Math.tan((_7-Math.acos((O+D-$)/(2*P*C)))/2),R=A/C,w=A/P;if(Math.abs(R-1)>0.000001)this._append`L${u+R*M},${f+R*I}`;this._append`A${m},${m},0,0,${+(I*S>M*E)},${this._x1=u+w*T},${this._y1=f+w*G}`}}arc(u,f,r,n,m,b){if(u=+u,f=+f,r=+r,b=!!b,r<0)throw Error(`negative radius: ${r}`);let o=r*Math.cos(n),T=r*Math.sin(n),G=u+o,M=f+T,I=1^b,D=b?n-m:m-n;if(this._x1===null)this._append`M${G},${M}`;else if(Math.abs(this._x1-G)>0.000001||Math.abs(this._y1-M)>0.000001)this._append`L${G},${M}`;if(!r)return;if(D<0)D=D%g7+g7;if(D>aO)this._append`A${r},${r},0,1,${I},${u-o},${f-T}A${r},${r},0,1,${I},${this._x1=G},${this._y1=M}`;else if(D>0.000001)this._append`A${r},${r},0,${+(D>=_7)},${I},${this._x1=u+r*Math.cos(m)},${this._y1=f+r*Math.sin(m)}`}rect(u,f,r,n){this._append`M${this._x0=this._x1=+u},${this._y0=this._y1=+f}h${r=+r}v${+n}h${-r}Z`}toString(){return this._}}function f6(){return new br}Object.defineProperty(f6,Symbol.hasInstance,{value:(u)=>u instanceof br});function fP(u=3){return new br(+u)}var RT=Array.prototype.slice;function mf(u){return function(){return u}}function rP(u){return u.source}function nP(u){return u.target}function QT(u){return u.radius}function mP(u){return u.startAngle}function bP(u){return u.endAngle}function oP(){return 0}function TP(){return 10}function LT(u){let f=rP,r=nP,n=QT,m=QT,b=mP,o=bP,T=oP,G=null;function M(...I){let D,S=f.apply(this,I),E=r.apply(this,I),O=T.apply(this,I)/2,$=RT.call(I);$[0]=S;let P=+n.apply(this,$),C=b.apply(this,$)-Om,A=o.apply(this,$)-Om;$[0]=E;let R=+m.apply(this,$),w=b.apply(this,$)-Om,Q=o.apply(this,$)-Om;if(!G)G=D=f6();if(O>u6){if(Y7(A-C)>O*2+u6)A>C?(C+=O,A-=O):(C-=O,A+=O);else C=A=(C+A)/2;if(Y7(Q-w)>O*2+u6)Q>w?(w+=O,Q-=O):(w-=O,Q+=O);else w=Q=(w+Q)/2}if(G.moveTo(P*nr(C),P*mr(C)),G.arc(0,0,P,C,A),C!==w||A!==Q)if(u){let L=+u.apply(this,I),F=R-L,N=(w+Q)/2;G.quadraticCurveTo(0,0,F*nr(w),F*mr(w)),G.lineTo(R*nr(N),R*mr(N)),G.lineTo(F*nr(Q),F*mr(Q))}else G.quadraticCurveTo(0,0,R*nr(w),R*mr(w)),G.arc(0,0,R,w,Q);if(G.quadraticCurveTo(0,0,P*nr(C),P*mr(C)),G.closePath(),D)return G=null,`${D}`||null;return null}if(u)M.headRadius=function(I){return I!==void 0?(u=typeof I==="function"?I:mf(+I),M):u};return M.radius=function(I){return I!==void 0?(n=m=typeof I==="function"?I:mf(+I),M):n},M.sourceRadius=function(I){return I!==void 0?(n=typeof I==="function"?I:mf(+I),M):n},M.targetRadius=function(I){return I!==void 0?(m=typeof I==="function"?I:mf(+I),M):m},M.startAngle=function(I){return I!==void 0?(b=typeof I==="function"?I:mf(+I),M):b},M.endAngle=function(I){return I!==void 0?(o=typeof I==="function"?I:mf(+I),M):o},M.padAngle=function(I){return I!==void 0?(T=typeof I==="function"?I:mf(+I),M):T},M.source=function(I){return I!==void 0?(f=I,M):f},M.target=function(I){return I!==void 0?(r=I,M):r},M.context=function(I){return I!==void 0?(G=I==null?null:I,M):G},M}function ZT(){return LT()}function MP(){return LT(TP)}var GP=Array.prototype,r6=GP.slice;function c7(u,f){return u-f}function h7(u){let f=0,r=u.length,n=u[r-1][1]*u[0][0]-u[r-1][0]*u[0][1];while(++f<r)n+=u[f-1][1]*u[f][0]-u[f-1][0]*u[f][1];return n}function B0(u){return()=>u}function v7(u,f){let r=-1,n=f.length,m;while(++r<n)if(m=IP(u,f[r]))return m;return 0}function IP(u,f){let r=f[0],n=f[1],m=-1;for(let b=0,o=u.length,T=o-1;b<o;T=b++){let G=u[b],M=G[0],I=G[1],D=u[T],S=D[0],E=D[1];if(SP(G,D,f))return 0;if(I>n!==E>n&&r<(S-M)*(n-I)/(E-I)+M)m=-m}return m}function SP(u,f,r){let n;return DP(u,f,r)&&EP(u[n=+(u[0]===f[0])],r[n],f[n])}function DP(u,f,r){return(f[0]-u[0])*(r[1]-u[1])===(r[0]-u[0])*(f[1]-u[1])}function EP(u,f,r){return u<=f&&f<=r||r<=f&&f<=u}function p7(){}var bf=[[],[[[1,1.5],[0.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[0.5,1]]],[[[1,0.5],[1.5,1]]],[[[1,1.5],[0.5,1]],[[1,0.5],[1.5,1]]],[[[1,0.5],[1,1.5]]],[[[1,0.5],[0.5,1]]],[[[0.5,1],[1,0.5]]],[[[1,1.5],[1,0.5]]],[[[0.5,1],[1,0.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,0.5]]],[[[0.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[0.5,1],[1,1.5]]],[]];function Pm(){let u=1,f=1,r=Yr,n=G;function m(M){let I=r(M);if(!Array.isArray(I)){let D=Rf(M,CP);I=m0(...Xr(D[0],D[1],I),I);while(I[I.length-1]>=D[1])I.pop();while(I[1]<D[0])I.shift()}else I=I.slice().sort(c7);return I.map((D)=>b(M,D))}function b(M,I){let D=I==null?NaN:+I;if(isNaN(D))throw Error(`invalid value: ${I}`);let S=[],E=[];return o(M,D,function(O){if(n(O,M,D),h7(O)>0)S.push([O]);else E.push(O)}),E.forEach(function(O){for(let $=0,P=S.length,C;$<P;++$)if(v7((C=S[$])[0],O)!==-1){C.push(O);return}}),{type:"MultiPolygon",value:I,coordinates:S}}function o(M,I,D){let S=Object.create(null),E=Object.create(null),O,$,P,C,A,R;O=$=-1,C=Uf(M[0],I),bf[C<<1].forEach(w);while(++O<u-1)P=C,C=Uf(M[O+1],I),bf[P|C<<1].forEach(w);bf[C<<0].forEach(w);while(++$<f-1){O=-1,C=Uf(M[$*u+u],I),A=Uf(M[$*u],I),bf[C<<1|A<<2].forEach(w);while(++O<u-1)P=C,C=Uf(M[$*u+u+O+1],I),R=A,A=Uf(M[$*u+O+1],I),bf[P|C<<1|A<<2|R<<3].forEach(w);bf[C|A<<3].forEach(w)}O=-1,A=Uf(M[$*u],I),bf[A<<2].forEach(w);while(++O<u-1)R=A,A=Uf(M[$*u+O+1],I),bf[A<<2|R<<3].forEach(w);bf[A<<3].forEach(w);function w(Q){let L=[Q[0][0]+O,Q[0][1]+$],F=[Q[1][0]+O,Q[1][1]+$],N=T(L),H=T(F),K,B;if(K=E[N])if(B=S[H])if(delete E[K.end],delete S[B.start],K===B)K.ring.push(F),D(K.ring);else S[K.start]=E[B.end]={start:K.start,end:B.end,ring:K.ring.concat(B.ring)};else delete E[K.end],K.ring.push(F),E[K.end=H]=K;else if(K=S[H])if(B=E[N])if(delete S[K.start],delete E[B.end],K===B)K.ring.push(F),D(K.ring);else S[B.start]=E[K.end]={start:B.start,end:K.end,ring:B.ring.concat(K.ring)};else delete S[K.start],K.ring.unshift(L),S[K.start=N]=K;else S[N]=E[H]={start:N,end:H,ring:[L,F]}}}function T(M){return M[0]*2+M[1]*(u+1)*4}function G(M,I,D){M.forEach(function(S){let E=S[0],O=S[1],$=E|0,P=O|0,C=y7(I[P*u+$]);if(E>0&&E<u&&$===E)S[0]=JT(E,y7(I[P*u+$-1]),C,D);if(O>0&&O<f&&P===O)S[1]=JT(O,y7(I[(P-1)*u+$]),C,D)})}return m.contour=b,m.size=function(M){if(!arguments.length)return[u,f];let I=Math.floor(M[0]),D=Math.floor(M[1]);if(!(I>=0&&D>=0))throw Error("invalid size");return u=I,f=D,m},m.thresholds=function(M){return arguments.length?(r=typeof M==="function"?M:Array.isArray(M)?B0(r6.call(M)):B0(M),m):r},m.smooth=function(M){return arguments.length?(n=M?G:p7,m):n===G},m}function CP(u){return isFinite(u)?u:NaN}function Uf(u,f){return u==null?0:+u>=f?1:0}function y7(u){return u==null||isNaN(u=+u)?-1/0:u}function JT(u,f,r,n){let m=n-f,b=r-f,o=isFinite(m)||isFinite(b)?m/b:Math.sign(m)/Math.sign(b);return isNaN(o)?u:u+o-0.5}function OP(u){return u[0]}function PP(u){return u[1]}function $P(){return 1}function FT(){let u=OP,f=PP,r=$P,n=960,m=500,b=20,o=2,T=b*3,G=n+T*2>>o,M=m+T*2>>o,I=B0(20);function D(A){let R=new Float32Array(G*M),w=Math.pow(2,-o),Q=-1;for(let L of A){let F=(u(L,++Q,A)+T)*w,N=(f(L,Q,A)+T)*w,H=+r(L,Q,A);if(H&&F>=0&&F<G&&N>=0&&N<M){let K=Math.floor(F),B=Math.floor(N),V=F-K-0.5,W=N-B-0.5;R[K+B*G]+=(1-V)*(1-W)*H,R[K+1+B*G]+=V*(1-W)*H,R[K+1+(B+1)*G]+=V*W*H,R[K+(B+1)*G]+=(1-V)*W*H}}return U8({data:R,width:G,height:M},b*w),R}function S(A){let R=D(A),w=I(R),Q=Math.pow(2,2*o);if(!Array.isArray(w))w=m0(Number.MIN_VALUE,Qf(R)/Q,w);return Pm().size([G,M]).thresholds(w.map((L)=>L*Q))(R).map((L,F)=>(L.value=+w[F],E(L)))}S.contours=function(A){let R=D(A),w=Pm().size([G,M]),Q=Math.pow(2,2*o),L=(F)=>{F=+F;let N=E(w.contour(R,F*Q));return N.value=F,N};return Object.defineProperty(L,"max",{get:()=>Qf(R)/Q}),L};function E(A){return A.coordinates.forEach(O),A}function O(A){A.forEach($)}function $(A){A.forEach(P)}function P(A){A[0]=A[0]*Math.pow(2,o)-T,A[1]=A[1]*Math.pow(2,o)-T}function C(){return T=b*3,G=n+T*2>>o,M=m+T*2>>o,S}return S.x=function(A){return arguments.length?(u=typeof A==="function"?A:B0(+A),S):u},S.y=function(A){return arguments.length?(f=typeof A==="function"?A:B0(+A),S):f},S.weight=function(A){return arguments.length?(r=typeof A==="function"?A:B0(+A),S):r},S.size=function(A){if(!arguments.length)return[n,m];let R=+A[0],w=+A[1];if(!(R>=0&&w>=0))throw Error("invalid size");return n=R,m=w,C()},S.cellSize=function(A){if(!arguments.length)return 1<<o;if(!((A=+A)>=1))throw Error("invalid cell size");return o=Math.floor(Math.log(A)/Math.LN2),C()},S.thresholds=function(A){return arguments.length?(I=typeof A==="function"?A:Array.isArray(A)?B0(r6.call(A)):B0(A),S):I},S.bandwidth=function(A){if(!arguments.length)return Math.sqrt(b*(b+1));if(!((A=+A)>=0))throw Error("invalid bandwidth");return b=(Math.sqrt(4*A*A+1)-1)/2,C()},S}function t7(u,f,r,n,m){let b,o,T,G,M=f[0],I=n[0],D=0,S=0;if(I>M===I>-M)b=M,M=f[++D];else b=I,I=n[++S];let E=0;if(D<u&&S<r){if(I>M===I>-M)o=M+b,T=b-(o-M),M=f[++D];else o=I+b,T=b-(o-I),I=n[++S];if(b=o,T!==0)m[E++]=T;while(D<u&&S<r){if(I>M===I>-M)o=b+M,G=o-b,T=b-(o-G)+(M-G),M=f[++D];else o=b+I,G=o-b,T=b-(o-G)+(I-G),I=n[++S];if(b=o,T!==0)m[E++]=T}}while(D<u)if(o=b+M,G=o-b,T=b-(o-G)+(M-G),M=f[++D],b=o,T!==0)m[E++]=T;while(S<r)if(o=b+I,G=o-b,T=b-(o-G)+(I-G),I=n[++S],b=o,T!==0)m[E++]=T;if(b!==0||E===0)m[E++]=b;return E}function wP(u,f){let r=f[0];for(let n=1;n<u;n++)r+=f[n];return r}function $m(u){return new Float64Array(u)}var AP=0.00000000000000033306690738754716,RP=0.00000000000000022204460492503146,QP=0.00000000000000000000000000000011093356479670487,sr=$m(4),KT=$m(8),UT=$m(12),BT=$m(16),du=$m(4);function LP(u,f,r,n,m,b,o){let T,G,M,I,D,S,E,O,$,P,C,A,R,w,Q,L,F,N,H=u-m,K=r-m,B=f-b,V=n-b;w=H*V,S=134217729*H,E=S-(S-H),O=H-E,S=134217729*V,$=S-(S-V),P=V-$,Q=O*P-(w-E*$-O*$-E*P),L=B*K,S=134217729*B,E=S-(S-B),O=B-E,S=134217729*K,$=S-(S-K),P=K-$,F=O*P-(L-E*$-O*$-E*P),C=Q-F,D=Q-C,sr[0]=Q-(C+D)+(D-F),A=w+C,D=A-w,R=w-(A-D)+(C-D),C=R-L,D=R-C,sr[1]=R-(C+D)+(D-L),N=A+C,D=N-A,sr[2]=A-(N-D)+(C-D),sr[3]=N;let W=wP(4,sr),Z=RP*o;if(W>=Z||-W>=Z)return W;if(D=u-H,T=u-(H+D)+(D-m),D=r-K,M=r-(K+D)+(D-m),D=f-B,G=f-(B+D)+(D-b),D=n-V,I=n-(V+D)+(D-b),T===0&&G===0&&M===0&&I===0)return W;if(Z=QP*o+0.00000000000000033306690738754706*Math.abs(W),W+=H*I+V*T-(B*M+K*G),W>=Z||-W>=Z)return W;w=T*V,S=134217729*T,E=S-(S-T),O=T-E,S=134217729*V,$=S-(S-V),P=V-$,Q=O*P-(w-E*$-O*$-E*P),L=G*K,S=134217729*G,E=S-(S-G),O=G-E,S=134217729*K,$=S-(S-K),P=K-$,F=O*P-(L-E*$-O*$-E*P),C=Q-F,D=Q-C,du[0]=Q-(C+D)+(D-F),A=w+C,D=A-w,R=w-(A-D)+(C-D),C=R-L,D=R-C,du[1]=R-(C+D)+(D-L),N=A+C,D=N-A,du[2]=A-(N-D)+(C-D),du[3]=N;let J=t7(4,sr,4,du,KT);w=H*I,S=134217729*H,E=S-(S-H),O=H-E,S=134217729*I,$=S-(S-I),P=I-$,Q=O*P-(w-E*$-O*$-E*P),L=B*M,S=134217729*B,E=S-(S-B),O=B-E,S=134217729*M,$=S-(S-M),P=M-$,F=O*P-(L-E*$-O*$-E*P),C=Q-F,D=Q-C,du[0]=Q-(C+D)+(D-F),A=w+C,D=A-w,R=w-(A-D)+(C-D),C=R-L,D=R-C,du[1]=R-(C+D)+(D-L),N=A+C,D=N-A,du[2]=A-(N-D)+(C-D),du[3]=N;let U=t7(J,KT,4,du,UT);w=T*I,S=134217729*T,E=S-(S-T),O=T-E,S=134217729*I,$=S-(S-I),P=I-$,Q=O*P-(w-E*$-O*$-E*P),L=G*M,S=134217729*G,E=S-(S-G),O=G-E,S=134217729*M,$=S-(S-M),P=M-$,F=O*P-(L-E*$-O*$-E*P),C=Q-F,D=Q-C,du[0]=Q-(C+D)+(D-F),A=w+C,D=A-w,R=w-(A-D)+(C-D),C=R-L,D=R-C,du[1]=R-(C+D)+(D-L),N=A+C,D=N-A,du[2]=A-(N-D)+(C-D),du[3]=N;let X=t7(U,UT,4,du,BT);return BT[X-1]}function ar(u,f,r,n,m,b){let o=(f-b)*(r-m),T=(u-m)*(n-b),G=o-T,M=Math.abs(o+T);if(Math.abs(G)>=AP*M)return G;return-LP(u,f,r,n,m,b,M)}var WT=0.0000000000000002220446049250313,n6=new Uint32Array(512);class fn{coords;triangles;halfedges;hull;trianglesLen;_triangles;_halfedges;_hashSize;_hullPrev;_hullNext;_hullTri;_hullHash;_hullStart;_ids;_dists;_cx;_cy;static from(u,f=UP,r=BP){let n=u.length,m=new Float64Array(n*2);for(let b=0;b<n;b++){let o=u[b];m[2*b]=f(o),m[2*b+1]=r(o)}return new fn(m)}constructor(u){let f=u.length>>1;if(f>0&&typeof u[0]!=="number")throw Error("Expected coords to contain numbers.");this.coords=u;let r=Math.max(2*f-5,0);this._triangles=new Uint32Array(r*3),this._halfedges=new Int32Array(r*3),this._hashSize=Math.ceil(Math.sqrt(f)),this._hullPrev=new Uint32Array(f),this._hullNext=new Uint32Array(f),this._hullTri=new Uint32Array(f),this._hullHash=new Int32Array(this._hashSize),this._ids=new Uint32Array(f),this._dists=new Float64Array(f),this.trianglesLen=0,this.update()}update(){let{coords:u,_hullPrev:f,_hullNext:r,_hullTri:n,_hullHash:m}=this,b=u.length>>1,o=1/0,T=1/0,G=-1/0,M=-1/0;for(let K=0;K<b;K++){let B=u[2*K],V=u[2*K+1];if(B<o)o=B;if(V<T)T=V;if(B>G)G=B;if(V>M)M=V;this._ids[K]=K}let I=(o+G)/2,D=(T+M)/2,S=0,E=0,O=0;for(let K=0,B=1/0;K<b;K++){let V=x7(I,D,u[2*K],u[2*K+1]);if(V<B)S=K,B=V}let $=u[2*S],P=u[2*S+1];for(let K=0,B=1/0;K<b;K++){if(K===S)continue;let V=x7($,P,u[2*K],u[2*K+1]);if(V<B&&V>0)E=K,B=V}let C=u[2*E],A=u[2*E+1],R=1/0;for(let K=0;K<b;K++){if(K===S||K===E)continue;let B=FP($,P,C,A,u[2*K],u[2*K+1]);if(B<R)O=K,R=B}let w=u[2*O],Q=u[2*O+1];if(R===1/0){for(let V=0;V<b;V++)this._dists[V]=u[2*V]-u[0]||u[2*V+1]-u[1];un(this._ids,this._dists,0,b-1);let K=new Uint32Array(b),B=0;for(let V=0,W=-1/0;V<b;V++){let Z=this._ids[V],J=this._dists[Z];if(J>W)K[B++]=Z,W=J}this.hull=K.subarray(0,B),this.triangles=new Uint32Array(0),this.halfedges=new Int32Array(0);return}if(ar($,P,C,A,w,Q)<0){let K=E,B=C,V=A;E=O,C=w,A=Q,O=K,w=B,Q=V}let L=KP($,P,C,A,w,Q);this._cx=L.x,this._cy=L.y;for(let K=0;K<b;K++)this._dists[K]=x7(u[2*K],u[2*K+1],L.x,L.y);un(this._ids,this._dists,0,b-1),this._hullStart=S;let F=3;r[S]=f[O]=E,r[E]=f[S]=O,r[O]=f[E]=S,n[S]=0,n[E]=1,n[O]=2,m.fill(-1),m[this._hashKey($,P)]=S,m[this._hashKey(C,A)]=E,m[this._hashKey(w,Q)]=O,this.trianglesLen=0,this._addTriangle(S,E,O,-1,-1,-1);let N=0,H=0;for(let K=0;K<this._ids.length;K++){let B=this._ids[K],V=u[2*B],W=u[2*B+1];if(K>0&&Math.abs(V-N)<=WT&&Math.abs(W-H)<=WT)continue;if(N=V,H=W,B===S||B===E||B===O)continue;let Z=0;for(let j=0,k=this._hashKey(V,W);j<this._hashSize;j++)if(Z=m[(k+j)%this._hashSize],Z!==-1&&Z!==r[Z])break;Z=f[Z];let J=Z,U;while(U=r[J],ar(V,W,u[2*J],u[2*J+1],u[2*U],u[2*U+1])>=0)if(J=U,J===Z){J=-1;break}if(J===-1)continue;let X=this._addTriangle(J,B,r[J],-1,-1,n[J]);n[B]=this._legalize(X+2),n[J]=X,F++;let Y=r[J];while(U=r[Y],ar(V,W,u[2*Y],u[2*Y+1],u[2*U],u[2*U+1])<0)X=this._addTriangle(Y,B,U,n[B],-1,n[Y]),n[B]=this._legalize(X+2),r[Y]=Y,F--,Y=U;if(J===Z)while(U=f[J],ar(V,W,u[2*U],u[2*U+1],u[2*J],u[2*J+1])<0)X=this._addTriangle(U,B,J,-1,n[J],n[U]),this._legalize(X+2),n[U]=X,r[J]=J,F--,J=U;this._hullStart=f[B]=J,r[J]=f[Y]=B,r[B]=Y,m[this._hashKey(V,W)]=B,m[this._hashKey(u[2*J],u[2*J+1])]=J}this.hull=new Uint32Array(F);for(let K=0,B=this._hullStart;K<F;K++)this.hull[K]=B,B=r[B];this.triangles=this._triangles.subarray(0,this.trianglesLen),this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}_hashKey(u,f){return Math.floor(ZP(u-this._cx,f-this._cy)*this._hashSize)%this._hashSize}_legalize(u){let{_triangles:f,_halfedges:r,coords:n}=this,m=0,b=0;while(!0){let o=r[u],T=u-u%3;if(b=T+(u+2)%3,o===-1){if(m===0)break;u=n6[--m];continue}let G=o-o%3,M=T+(u+1)%3,I=G+(o+2)%3,D=f[b],S=f[u],E=f[M],O=f[I];if(JP(n[2*D],n[2*D+1],n[2*S],n[2*S+1],n[2*E],n[2*E+1],n[2*O],n[2*O+1])){f[u]=O,f[o]=D;let P=r[I];if(P===-1){let A=this._hullStart;do{if(this._hullTri[A]===I){this._hullTri[A]=u;break}A=this._hullPrev[A]}while(A!==this._hullStart)}this._link(u,P),this._link(o,r[b]),this._link(b,I);let C=G+(o+1)%3;if(m<n6.length)n6[m++]=C}else{if(m===0)break;u=n6[--m]}}return b}_link(u,f){if(this._halfedges[u]=f,f!==-1)this._halfedges[f]=u}_addTriangle(u,f,r,n,m,b){let o=this.trianglesLen;return this._triangles[o]=u,this._triangles[o+1]=f,this._triangles[o+2]=r,this._link(o,n),this._link(o+1,m),this._link(o+2,b),this.trianglesLen+=3,o}}function ZP(u,f){let r=u/(Math.abs(u)+Math.abs(f));return(f>0?3-r:1+r)/4}function x7(u,f,r,n){let m=u-r,b=f-n;return m*m+b*b}function JP(u,f,r,n,m,b,o,T){let G=u-o,M=f-T,I=r-o,D=n-T,S=m-o,E=b-T,O=G*G+M*M,$=I*I+D*D,P=S*S+E*E;return G*(D*P-$*E)-M*(I*P-$*S)+O*(I*E-D*S)<0}function FP(u,f,r,n,m,b){let o=r-u,T=n-f,G=m-u,M=b-f,I=o*o+T*T,D=G*G+M*M,S=0.5/(o*M-T*G),E=(M*I-T*D)*S,O=(o*D-G*I)*S;return E*E+O*O}function KP(u,f,r,n,m,b){let o=r-u,T=n-f,G=m-u,M=b-f,I=o*o+T*T,D=G*G+M*M,S=0.5/(o*M-T*G),E=u+(M*I-T*D)*S,O=f+(o*D-G*I)*S;return{x:E,y:O}}function un(u,f,r,n){if(n-r<=20)for(let m=r+1;m<=n;m++){let b=u[m],o=f[b],T=m-1;while(T>=r&&f[u[T]]>o)u[T+1]=u[T--];u[T+1]=b}else{let m=r+n>>1,b=r+1,o=n;if(wm(u,m,b),f[u[r]]>f[u[n]])wm(u,r,n);if(f[u[b]]>f[u[n]])wm(u,b,n);if(f[u[r]]>f[u[b]])wm(u,r,b);let T=u[b],G=f[T];while(!0){do b++;while(f[u[b]]<G);do o--;while(f[u[o]]>G);if(o<b)break;wm(u,b,o)}if(u[r+1]=u[o],u[o]=T,n-b+1>=o-r)un(u,f,b,n),un(u,f,r,o-1);else un(u,f,r,o-1),un(u,f,b,n)}}function wm(u,f,r){let n=u[f];u[f]=u[r],u[r]=n}function UP(u){return u[0]}function BP(u){return u[1]}class W0{_x0;_y0;_x1;_y1;_;constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=""}moveTo(u,f){this._+=`M${this._x0=this._x1=+u},${this._y0=this._y1=+f}`}closePath(){if(this._x1!==null)this._x1=this._x0,this._y1=this._y0,this._+="Z"}lineTo(u,f){this._+=`L${this._x1=+u},${this._y1=+f}`}arc(u,f,r){u=+u,f=+f,r=+r;let n=u+r,m=f;if(r<0)throw Error("negative radius");if(this._x1===null)this._+=`M${n},${m}`;else if(Math.abs(this._x1-n)>0.000001||Math.abs(this._y1-m)>0.000001)this._+=`L${n},${m}`;if(!r)return;this._+=`A${r},${r},0,1,1,${u-r},${f}A${r},${r},0,1,1,${this._x1=n},${this._y1=m}`}rect(u,f,r,n){this._+=`M${this._x0=this._x1=+u},${this._y0=this._y1=+f}h${+r}v${+n}h${-r}Z`}value(){return this._||null}}class or{_;constructor(){this._=[]}moveTo(u,f){this._.push([u,f])}closePath(){this._.push(this._[0].slice())}lineTo(u,f){this._.push([u,f])}value(){return this._.length?this._:null}}class Am{delaunay;_circumcenters;circumcenters;vectors;xmin;ymin;xmax;ymax;constructor(u,[f,r,n,m]=[0,0,960,500]){if(!((n=+n)>=(f=+f))||!((m=+m)>=(r=+r)))throw Error("invalid bounds");this.delaunay=u,this._circumcenters=new Float64Array(u.points.length*2),this.vectors=new Float64Array(u.points.length*2),this.xmax=n,this.xmin=f,this.ymax=m,this.ymin=r,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){let{delaunay:{points:u,hull:f,triangles:r},vectors:n}=this,m,b,o=this.circumcenters=this._circumcenters.subarray(0,r.length/3*2),T,G;for(let P=0,C=0,A=r.length;P<A;P+=3,C+=2){let R=r[P]*2,w=r[P+1]*2,Q=r[P+2]*2,L=u[R],F=u[R+1],N=u[w],H=u[w+1],K=u[Q],B=u[Q+1],V=N-L,W=H-F,Z=K-L,J=B-F,U=(V*J-W*Z)*2;if(Math.abs(U)<0.000000001){if(m===void 0){m=b=0;for(let Y of f)m+=u[Y*2],b+=u[Y*2+1];m/=f.length,b/=f.length}let X=1e9*Math.sign((m-L)*J-(b-F)*Z);T=(L+K)/2-X*J,G=(F+B)/2+X*Z}else{let X=1/U,Y=V*V+W*W,j=Z*Z+J*J;T=L+(J*Y-W*j)*X,G=F+(V*j-Z*Y)*X}o[C]=T,o[C+1]=G}let M=f[f.length-1],I,D=M*4,S,E=u[2*M],O,$=u[2*M+1];n.fill(0);for(let P=0;P<f.length;++P)M=f[P],I=D,S=E,O=$,D=M*4,E=u[2*M],$=u[2*M+1],n[I+2]=n[D]=O-$,n[I+3]=n[D+1]=E-S}render(u){let f=u==null?u=new W0:void 0,{delaunay:{halfedges:r,inedges:n,hull:m},circumcenters:b,vectors:o}=this;if(m.length<=1)return null;for(let M=0,I=r.length;M<I;++M){let D=r[M];if(D<M)continue;let S=Math.floor(M/3)*2,E=Math.floor(D/3)*2,O=b[S],$=b[S+1],P=b[E],C=b[E+1];this._renderSegment(O,$,P,C,u)}let T,G=m[m.length-1];for(let M=0;M<m.length;++M){T=G,G=m[M];let I=Math.floor(n[G]/3)*2,D=b[I],S=b[I+1],E=T*4,O=this._project(D,S,o[E+2],o[E+3]);if(O)this._renderSegment(D,S,O[0],O[1],u)}return f?f.value():null}renderBounds(u){let f=u==null?u=new W0:void 0;return u.rect(this.xmin,this.ymin,this.xmax-this.xmin,this.ymax-this.ymin),f?f.value():null}renderCell(u,f){let r=f==null?f=new W0:void 0,n=this._clip(u);if(n===null||!n.length)return;f.moveTo(n[0],n[1]);let m=n.length;while(n[0]===n[m-2]&&n[1]===n[m-1]&&m>1)m-=2;for(let b=2;b<m;b+=2)if(n[b]!==n[b-2]||n[b+1]!==n[b-1])f.lineTo(n[b],n[b+1]);return f.closePath(),r?r.value()||void 0:void 0}*cellPolygons(){let{delaunay:{points:u}}=this;for(let f=0,r=u.length/2;f<r;++f){let n=this.cellPolygon(f);if(n)n.index=f,yield n}}cellPolygon(u){let f=new or;return this.renderCell(u,f),f.value()}_renderSegment(u,f,r,n,m){let b,o=this._regioncode(u,f),T=this._regioncode(r,n);if(o===0&&T===0)m.moveTo(u,f),m.lineTo(r,n);else if(b=this._clipSegment(u,f,r,n,o,T))m.moveTo(b[0],b[1]),m.lineTo(b[2],b[3])}contains(u,f,r){if((f=+f,f!==f)||(r=+r,r!==r))return!1;return this.delaunay._step(u,f,r)===u}*neighbors(u){let f=this._clip(u);if(f)for(let r of this.delaunay.neighbors(u)){let n=this._clip(r);if(n)u:for(let m=0,b=f.length;m<b;m+=2)for(let o=0,T=n.length;o<T;o+=2)if(f[m]===n[o]&&f[m+1]===n[o+1]&&f[(m+2)%b]===n[(o+T-2)%T]&&f[(m+3)%b]===n[(o+T-1)%T]){yield r;break u}}}_cell(u){let{circumcenters:f,delaunay:{inedges:r,halfedges:n,triangles:m}}=this,b=r[u];if(b===-1)return null;let o=[],T=b;do{let G=Math.floor(T/3);if(o.push(f[G*2],f[G*2+1]),T=T%3===2?T-2:T+1,m[T]!==u)break;T=n[T]}while(T!==b&&T!==-1);return o}_clip(u){if(u===0&&this.delaunay.hull.length===1)return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];let f=this._cell(u);if(f===null)return null;let{vectors:r}=this,n=u*4;return this._simplify(r[n]||r[n+1]?this._clipInfinite(u,f,r[n],r[n+1],r[n+2],r[n+3]):this._clipFinite(u,f))}_clipFinite(u,f){let r=f.length,n=null,m,b,o=f[r-2],T=f[r-1],G,M=this._regioncode(o,T),I,D=0;for(let S=0;S<r;S+=2)if(m=o,b=T,o=f[S],T=f[S+1],G=M,M=this._regioncode(o,T),G===0&&M===0)if(I=D,D=0,n)n.push(o,T);else n=[o,T];else{let E,O,$,P,C;if(G===0){if((E=this._clipSegment(m,b,o,T,G,M))===null)continue;[O,$,P,C]=E}else{if((E=this._clipSegment(o,T,m,b,M,G))===null)continue;if([P,C,O,$]=E,I=D,D=this._edgecode(O,$),I&&D)this._edge(u,I,D,n,n.length);if(n)n.push(O,$);else n=[O,$]}if(I=D,D=this._edgecode(P,C),I&&D)this._edge(u,I,D,n,n.length);if(n)n.push(P,C);else n=[P,C]}if(n){if(I=D,D=this._edgecode(n[0],n[1]),I&&D)this._edge(u,I,D,n,n.length)}else if(this.contains(u,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2))return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];return n}_clipSegment(u,f,r,n,m,b){let o=m<b;if(o)[u,f,r,n,m,b]=[r,n,u,f,b,m];while(!0){if(m===0&&b===0)return o?[r,n,u,f]:[u,f,r,n];if(m&b)return null;let T,G,M=m||b;if(M&8)T=u+(r-u)*(this.ymax-f)/(n-f),G=this.ymax;else if(M&4)T=u+(r-u)*(this.ymin-f)/(n-f),G=this.ymin;else if(M&2)G=f+(n-f)*(this.xmax-u)/(r-u),T=this.xmax;else G=f+(n-f)*(this.xmin-u)/(r-u),T=this.xmin;if(m)u=T,f=G,m=this._regioncode(u,f);else r=T,n=G,b=this._regioncode(r,n)}}_clipInfinite(u,f,r,n,m,b){let o=Array.from(f),T;if(T=this._project(o[0],o[1],r,n))o.unshift(T[0],T[1]);if(T=this._project(o[o.length-2],o[o.length-1],m,b))o.push(T[0],T[1]);if(o=this._clipFinite(u,o)){for(let G=0,M=o.length,I,D=this._edgecode(o[M-2],o[M-1]);G<M;G+=2)if(I=D,D=this._edgecode(o[G],o[G+1]),I&&D)G=this._edge(u,I,D,o,G),M=o.length}else if(this.contains(u,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2))o=[this.xmin,this.ymin,this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax];return o}_edge(u,f,r,n,m){while(f!==r){let b,o;switch(f){case 5:f=4;continue;case 4:f=6,b=this.xmax,o=this.ymin;break;case 6:f=2;continue;case 2:f=10,b=this.xmax,o=this.ymax;break;case 10:f=8;continue;case 8:f=9,b=this.xmin,o=this.ymax;break;case 9:f=1;continue;case 1:f=5,b=this.xmin,o=this.ymin;break}if((n[m]!==b||n[m+1]!==o)&&this.contains(u,b,o))n.splice(m,0,b,o),m+=2}return m}_project(u,f,r,n){let m=1/0,b,o,T;if(n<0){if(f<=this.ymin)return null;if((b=(this.ymin-f)/n)<m)T=this.ymin,o=u+(m=b)*r}else if(n>0){if(f>=this.ymax)return null;if((b=(this.ymax-f)/n)<m)T=this.ymax,o=u+(m=b)*r}if(r>0){if(u>=this.xmax)return null;if((b=(this.xmax-u)/r)<m)o=this.xmax,T=f+(m=b)*n}else if(r<0){if(u<=this.xmin)return null;if((b=(this.xmin-u)/r)<m)o=this.xmin,T=f+(m=b)*n}return[o,T]}_edgecode(u,f){return(u===this.xmin?1:u===this.xmax?2:0)|(f===this.ymin?4:f===this.ymax?8:0)}_regioncode(u,f){return(u<this.xmin?1:u>this.xmax?2:0)|(f<this.ymin?4:f>this.ymax?8:0)}_simplify(u){if(u&&u.length>4){for(let f=0;f<u.length;f+=2){let r=(f+2)%u.length,n=(f+4)%u.length;if(u[f]===u[r]&&u[r]===u[n]||u[f+1]===u[r+1]&&u[r+1]===u[n+1])u.splice(r,2),f-=2}if(!u.length)u=null}return u}}var WP=2*Math.PI,rn=Math.pow;function NP(u){return u[0]}function HP(u){return u[1]}function VP(u){let{triangles:f,coords:r}=u;for(let n=0;n<f.length;n+=3){let m=2*f[n],b=2*f[n+1],o=2*f[n+2];if((r[o]-r[m])*(r[b+1]-r[m+1])-(r[b]-r[m])*(r[o+1]-r[m+1])>0.0000000001)return!1}return!0}class m6{points;collinear;halfedges;hull;triangles;inedges;_hullIndex;_delaunator;static from(u,f=NP,r=HP,n){return new m6("length"in u?XP(u,f,r,n):Float64Array.from(YP(u,f,r,n)))}constructor(u){this._delaunator=new fn(u),this.inedges=new Int32Array(u.length/2),this._hullIndex=new Int32Array(u.length/2),this.points=this._delaunator.coords,this._init()}update(){return this._delaunator.update(),this._init(),this}_init(){let u=this._delaunator,f=this.points;if(u.hull&&u.hull.length>2&&VP(u)){this.collinear=Int32Array.from({length:f.length/2},(I,D)=>D).sort((I,D)=>f[2*I]-f[2*D]||f[2*I+1]-f[2*D+1]);let T=this.collinear[0]<<1,G=this.collinear[this.collinear.length-1]<<1,M=0.000000001*Math.hypot(f[G]-f[T],f[G+1]-f[T+1]);for(let I=0;I<f.length;++I)f[I]+=M*Math.sin(I+0.5);this._delaunator=new fn(f)}else delete this.collinear;let r=this.halfedges=this._delaunator.halfedges,n=this.hull=this._delaunator.hull,m=this.triangles=this._delaunator.triangles,b=this.inedges.fill(-1),o=this._hullIndex.fill(-1);for(let T=0,G=r.length;T<G;++T){let M=m[T%3===2?T-2:T+1];if(r[T]===-1||b[M]===-1)b[M]=T}for(let T=0,G=n.length;T<G;++T)o[n[T]]=T;if(n.length<=2&&n.length>0){if(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=n[0],b[n[0]]=1,n.length===2)b[n[1]]=0,this.triangles[1]=n[1],this.triangles[2]=n[1]}}voronoi(u){return new Am(this,u)}*neighbors(u){let{inedges:f,hull:r,_hullIndex:n,halfedges:m,triangles:b,collinear:o}=this;if(o){let I=o.indexOf(u);if(I>0)yield o[I-1];if(I<o.length-1)yield o[I+1];return}let T=f[u];if(T===-1)return;let G=T,M=-1;do{if(yield M=b[G],G=G%3===2?G-2:G+1,b[G]!==u)return;if(G=m[G],G===-1){let I=r[(n[u]+1)%r.length];if(I!==M)yield I;return}}while(G!==T)}find(u,f,r=0){if((u=+u,u!==u)||(f=+f,f!==f))return-1;let n=r,m;while((m=this._step(r,u,f))>=0&&m!==r&&m!==n)r=m;return m}_step(u,f,r){let{inedges:n,hull:m,_hullIndex:b,halfedges:o,triangles:T,points:G}=this;if(G.length<2)return-1;if(n[u]===-1)return(u+1)%(G.length>>1);let M=u,I=rn(f-G[u*2],2)+rn(r-G[u*2+1],2),D=n[u],S=D;do{let E=T[S],O=rn(f-G[E*2],2)+rn(r-G[E*2+1],2);if(O<I)I=O,M=E;if(S=S%3===2?S-2:S+1,T[S]!==u)break;if(S=o[S],S===-1){if(S=m[(b[u]+1)%m.length],S!==E){if(rn(f-G[S*2],2)+rn(r-G[S*2+1],2)<I)return S}break}}while(S!==D);return M}render(u){let f=u==null?u=new W0:void 0,{points:r,halfedges:n,triangles:m}=this;for(let b=0,o=n.length;b<o;++b){let T=n[b];if(T<b)continue;let G=m[b]*2,M=m[T]*2;u.moveTo(r[G],r[G+1]),u.lineTo(r[M],r[M+1])}return this.renderHull(u),f?f.value():null}renderPoints(u,f){if(f===void 0&&(!u||typeof u.moveTo!=="function"))f=u,u=null;f=f==null?2:+f;let r=u==null?u=new W0:void 0,{points:n}=this;for(let m=0,b=n.length&-2;m<b;m+=2){let o=n[m],T=n[m+1];u.moveTo(o+f,T),u.arc(o,T,f,0,WP)}return r?r.value():null}renderHull(u){let f=u==null?u=new W0:void 0,{hull:r,points:n}=this,m=r[0]*2,b=r.length;u.moveTo(n[m],n[m+1]);for(let o=1;o<b;++o){let T=2*r[o];u.lineTo(n[T],n[T+1])}return u.closePath(),f?f.value():null}hullPolygon(){let u=new or;return this.renderHull(u),u.value()}renderTriangle(u,f){let r=f==null?f=new W0:void 0,{points:n,triangles:m}=this,b=m[u*=3]*2,o=m[u+1]*2,T=m[u+2]*2;return f.moveTo(n[b],n[b+1]),f.lineTo(n[o],n[o+1]),f.lineTo(n[T],n[T+1]),f.closePath(),r?r.value():null}*trianglePolygons(){let{triangles:u}=this;for(let f=0,r=u.length/3;f<r;++f)yield this.trianglePolygon(f)}trianglePolygon(u){let f=new or;return this.renderTriangle(u,f),f.value()}}function XP(u,f,r,n){let m=u.length,b=new Float64Array(m*2);for(let o=0;o<m;++o){let T=u[o];b[o*2]=f.call(n,T,o,u),b[o*2+1]=r.call(n,T,o,u)}return b}function*YP(u,f,r,n){let m=0;for(let b of u)yield f.call(n,b,m,u),yield r.call(n,b,m,u),++m}var NT={},e7={};function VT(u){return Function("d",`return {${u.map(function(f,r){return`${JSON.stringify(f)}: d[${r}] || ''`}).join(",")}}`)}function qP(u,f){let r=VT(u);return function(n,m){return f(r(n),m,u)}}function HT(u){let f=Object.create(null),r=[];return u.forEach(function(n){for(let m in n)if(!(m in f))r.push(f[m]=m)}),r}function f0(u,f){let r=`${u}`,n=r.length;return n<f?`${Array(f-n+1).join("0")}${r}`:r}function zP(u){return u<0?`-${f0(-u,6)}`:u>9999?`+${f0(u,6)}`:f0(u,4)}function jP(u){let f=u.getUTCHours(),r=u.getUTCMinutes(),n=u.getUTCSeconds(),m=u.getUTCMilliseconds();return isNaN(u)?"Invalid Date":`${zP(u.getUTCFullYear())}-${f0(u.getUTCMonth()+1,2)}-${f0(u.getUTCDate(),2)}`+(m?`T${f0(f,2)}:${f0(r,2)}:${f0(n,2)}.${f0(m,3)}Z`:n?`T${f0(f,2)}:${f0(r,2)}:${f0(n,2)}Z`:r||f?`T${f0(f,2)}:${f0(r,2)}Z`:"")}function Bf(u){let f=new RegExp(`["${u}
|
|
2
|
+
\r]`),r=u.charCodeAt(0);function n(D,S){let E,O,$=m(D,function(P,C){if(E)return E(P,C-1);O=P,E=S?qP(P,S):VT(P)});return $.columns=O||[],$}function m(D,S){let E=[],O=D.length,$=0,P=0,C,A=O<=0,R=!1,w=O;if(D.charCodeAt(w-1)===10)--w;if(D.charCodeAt(w-1)===13)--w;function Q(){if(A)return e7;if(R)return R=!1,NT;let L,F=$,N;if(D.charCodeAt(F)===34){while($++<w&&D.charCodeAt($)!==34||D.charCodeAt(++$)===34);if((L=$)>=w)A=!0;else if((N=D.charCodeAt($++))===10)R=!0;else if(N===13){if(R=!0,D.charCodeAt($)===10)++$}return D.slice(F+1,L-1).replace(/""/g,'"')}while($<w){if((N=D.charCodeAt(L=$++))===10)R=!0;else if(N===13){if(R=!0,D.charCodeAt($)===10)++$}else if(N!==r)continue;return D.slice(F,L)}return A=!0,D.slice(F,w)}while((C=Q())!==e7){let L=[];while(C!==NT&&C!==e7)L.push(C),C=Q();if(S&&(C=S(L,P++))==null)continue;E.push(S?C:L)}return E}function b(D,S){return D.map(function(E){return S.map(function(O){return I(E[O])}).join(u)})}function o(D,S){let E=S==null?HT(D):S;return[E.map(I).join(u)].concat(b(D,E)).join(`
|
|
3
|
+
`)}function T(D,S){let E=S==null?HT(D):S;return b(D,E).join(`
|
|
4
|
+
`)}function G(D){return D.map(M).join(`
|
|
5
|
+
`)}function M(D){return D.map(I).join(u)}function I(D){return D==null?"":D instanceof Date?jP(D):f.test(D+="")?`"${D.replace(/"/g,'""')}"`:D}return{parse:n,parseRows:m,format:o,formatBody:T,formatRows:G,formatRow:M,formatValue:I}}var Tr=Bf(","),l7=Tr.parse,kP=Tr.parseRows,_P=Tr.format,gP=Tr.formatBody,cP=Tr.formatRows,hP=Tr.formatRow,vP=Tr.formatValue;var Mr=Bf("\t"),d7=Mr.parse,pP=Mr.parseRows,yP=Mr.format,tP=Mr.formatBody,xP=Mr.formatRows,eP=Mr.formatRow,lP=Mr.formatValue;var dP=new Date("2019-01-01T00:00").getHours()||new Date("2019-07-01T00:00").getHours();function XT(u){for(let f in u){let r=u[f].trim(),n,m;if(!r)r=null;else if(r==="true")r=!0;else if(r==="false")r=!1;else if(r==="NaN")r=NaN;else if(!isNaN(n=+r))r=n;else if(m=r.match(/^([-+]\d{2})?\d{4}(-\d{2}(-\d{2})?)?(T\d{2}:\d{2}(:\d{2}(\.\d{3})?)?(Z|[-+]\d{2}:\d{2})?)?$/)){if(dP&&!!m[4]&&!m[7])r=r.replace(/-/g,"/").replace(/T/," ");r=new Date(r)}else continue;u[f]=r}return u}function iP(u){if(!u.ok)throw Error(`${u.status} ${u.statusText}`);return u.blob()}function YT(u,f){return fetch(u,f).then(iP)}function sP(u){if(!u.ok)throw Error(`${u.status} ${u.statusText}`);return u.arrayBuffer()}function qT(u,f){return fetch(u,f).then(sP)}function aP(u){if(!u.ok)throw Error(`${u.status} ${u.statusText}`);return u.text()}function Gr(u,f){return fetch(u,f).then(aP)}function zT(u){return function(f,r,n){if(arguments.length===2&&typeof r==="function")n=r,r=void 0;return Gr(f,r).then(function(m){return u(m,n)})}}function jT(u,f,r,n){if(arguments.length===3&&typeof r==="function")n=r,r=void 0;let m=Bf(u);return Gr(f,r).then(function(b){return m.parse(b,n)})}var u$=zT(l7),f$=zT(d7);function kT(u,f){return new Promise(function(r,n){let m=new Image;if(f)for(let b in f)m[b]=f[b];m.onerror=n,m.onload=function(){r(m)},m.src=u})}function r$(u){if(!u.ok)throw Error(`${u.status} ${u.statusText}`);if(u.status===204||u.status===205)return;return u.json()}function _T(u,f){return fetch(u,f).then(r$)}function i7(u){return(f,r)=>Gr(f,r).then((n)=>new DOMParser().parseFromString(n,u))}var n$=i7("application/xml"),o$=n$,m$=i7("text/html"),b$=i7("image/svg+xml");function gT(u,f){let r,n=1;if(u==null)u=0;if(f==null)f=0;function m(){let b,o=r.length,T,G=0,M=0;for(b=0;b<o;++b)T=r[b],G+=T.x,M+=T.y;for(G=(G/o-u)*n,M=(M/o-f)*n,b=0;b<o;++b)T=r[b],T.x-=G,T.y-=M}return m.initialize=function(b){r=b},m.x=function(b){return arguments.length?(u=+b,m):u},m.y=function(b){return arguments.length?(f=+b,m):f},m.strength=function(b){return arguments.length?(n=+b,m):n},m}class ku{node;x0;y0;x1;y1;constructor(u,f,r,n,m){this.node=u,this.x0=f,this.y0=r,this.x1=n,this.y1=m}}function T$(u){return u[0]}function M$(u){return u[1]}function cT(u){let f={data:u.data},r=f,n=u.next;while(n)r=r.next={data:n.data},n=n.next;return f}function C0(u){return Array.isArray(u)}class b6{_x;_y;_x0;_y0;_x1;_y1;_root;constructor(u,f,r,n,m,b){this._x=u??T$,this._y=f??M$,this._x0=r??NaN,this._y0=n??NaN,this._x1=m??NaN,this._y1=b??NaN,this._root=void 0}copy(){let u=new b6(this._x,this._y,this._x0,this._y0,this._x1,this._y1),f=this._root;if(!f)return u;if(!C0(f))return u._root=cT(f),u;let r=[],n=[,,,,];u._root=n,r.push({source:f,target:n});let m;while(m=r.pop())for(let b=0;b<4;++b){let o=m.source[b];if(o)if(C0(o)){let T=[,,,,];m.target[b]=T,r.push({source:o,target:T})}else m.target[b]=cT(o)}return u}add(u){let f=+this._x.call(null,u),r=+this._y.call(null,u);return hT(this.cover(f,r),f,r,u),this}addAll(u){let f;if(!Array.isArray(u))f=Array.from(u);else f=u;let r=f.length,n=new Float64Array(r),m=new Float64Array(r),b=1/0,o=1/0,T=-1/0,G=-1/0;for(let M=0;M<r;++M){let I=f[M],D=+this._x.call(null,I),S=+this._y.call(null,I);if(isNaN(D)||isNaN(S))continue;if(n[M]=D,m[M]=S,D<b)b=D;if(D>T)T=D;if(S<o)o=S;if(S>G)G=S}if(b>T||o>G)return this;this.cover(b,o).cover(T,G);for(let M=0;M<r;++M)hT(this,n[M],m[M],f[M]);return this}cover(u,f){if(isNaN(u=+u)||isNaN(f=+f))return this;let r=this._x0,n=this._y0,m=this._x1,b=this._y1;if(isNaN(r))m=(r=Math.floor(u))+1,b=(n=Math.floor(f))+1;else{let o=m-r||1,T=this._root,G,M;while(r>u||u>=m||n>f||f>=b)switch(M=(f<n)<<1|u<r,G=[,,,,],G[M]=T,T=G,o*=2,M){case 0:m=r+o,b=n+o;break;case 1:r=m-o,b=n+o;break;case 2:m=r+o,n=b-o;break;case 3:r=m-o,n=b-o;break}if(this._root&&C0(this._root))this._root=T}return this._x0=r,this._y0=n,this._x1=m,this._y1=b,this}data(){let u=[];return this.visit((f)=>{if(!C0(f)){let r=f;do u.push(r.data),r=r.next;while(r)}}),u}extent(u){if(u!==void 0)return this.cover(+u[0][0],+u[0][1]).cover(+u[1][0],+u[1][1]);return isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}find(u,f,r){let n,m=this._x0,b=this._y0,o,T,G,M,I=this._x1,D=this._y1,S=[],E=this._root,O,$;if(E)S.push(new ku(E,m,b,I,D));if(r==null)r=1/0;else m=u-r,b=f-r,I=u+r,D=f+r,r*=r;while(O=S.pop()){if(!(E=O.node)||(o=O.x0)>I||(T=O.y0)>D||(G=O.x1)<m||(M=O.y1)<b)continue;if(C0(E)){let P=(o+G)/2,C=(T+M)/2;if(S.push(new ku(E[3],P,C,G,M),new ku(E[2],o,C,P,M),new ku(E[1],P,T,G,C),new ku(E[0],o,T,P,C)),$=(f>=C)<<1|u>=P)O=S[S.length-1],S[S.length-1]=S[S.length-1-$],S[S.length-1-$]=O}else{let P=u-+this._x.call(null,E.data),C=f-+this._y.call(null,E.data),A=P*P+C*C;if(A<r){let R=Math.sqrt(r=A);m=u-R,b=f-R,I=u+R,D=f+R,n=E.data}}}return n}remove(u){let f=+this._x.call(null,u),r=+this._y.call(null,u);if(isNaN(f)||isNaN(r))return this;let n,m=this._root,b,o,T,G=this._x0,M=this._y0,I=this._x1,D=this._y1,S,E,O,$,P=0,C=0;if(!m)return this;if(C0(m))while(!0){if(O=f>=(S=(G+I)/2),O)G=S;else I=S;if($=r>=(E=(M+D)/2),$)M=E;else D=E;if(P=$<<1|O,n=m,m=m[P],!m)return this;if(!C0(m))break;if(n[P+1&3]||n[P+2&3]||n[P+3&3])b=n,C=P}let A=m;while(A.data!==u)if(o=A,A=A.next,!A)return this;if(T=A.next,T)delete A.next;if(o){if(T)o.next=T;else delete o.next;return this}if(!n)return this._root=T,this;if(T)n[P]=T;else delete n[P];let R=n[0]||n[1]||n[2]||n[3];if(R&&R===(n[3]||n[2]||n[1]||n[0])&&!C0(R))if(b)b[C]=R;else this._root=R;return this}removeAll(u){for(let f of u)this.remove(f);return this}root(){return this._root}size(){let u=0;return this.visit((f)=>{if(!C0(f)){let r=f;do++u,r=r.next;while(r)}}),u}visit(u){let f=[],r,n=this._root,m,b,o,T,G;if(n)f.push(new ku(n,this._x0,this._y0,this._x1,this._y1));while(r=f.pop())if(!u(n=r.node,b=r.x0,o=r.y0,T=r.x1,G=r.y1)&&C0(n)){let M=(b+T)/2,I=(o+G)/2;if(m=n[3])f.push(new ku(m,M,I,T,G));if(m=n[2])f.push(new ku(m,b,I,M,G));if(m=n[1])f.push(new ku(m,M,o,T,I));if(m=n[0])f.push(new ku(m,b,o,M,I))}return this}visitAfter(u){let f=[],r=[],n;if(this._root)f.push(new ku(this._root,this._x0,this._y0,this._x1,this._y1));while(n=f.pop()){let m=n.node;if(C0(m)){let b,o=n.x0,T=n.y0,G=n.x1,M=n.y1,I=(o+G)/2,D=(T+M)/2;if(b=m[0])f.push(new ku(b,o,T,I,D));if(b=m[1])f.push(new ku(b,I,T,G,D));if(b=m[2])f.push(new ku(b,o,D,I,M));if(b=m[3])f.push(new ku(b,I,D,G,M))}r.push(n)}while(n=r.pop())u(n.node,n.x0,n.y0,n.x1,n.y1);return this}x(u){if(u!==void 0)return this._x=u,this;return this._x}y(u){if(u!==void 0)return this._y=u,this;return this._y}}function hT(u,f,r,n){if(isNaN(f)||isNaN(r))return u;let m,b=u._root,o={data:n},T=u._x0,G=u._y0,M=u._x1,I=u._y1,D,S,E,O,$,P,C=0,A;if(!b)return u._root=o,u;while(C0(b)){if($=f>=(D=(T+M)/2),$)T=D;else M=D;if(P=r>=(S=(G+I)/2),P)G=S;else I=S;if(C=P<<1|$,m=b,b=b[C],!b)return m[C]=o,u}if(E=+u._x.call(null,b.data),O=+u._y.call(null,b.data),f===E&&r===O){if(o.next=b,m)m[C]=o;else u._root=o;return u}do{let R=[,,,,];if(m)m[C]=R;else u._root=R;if(m=R,$=f>=(D=(T+M)/2),$)T=D;else M=D;if(P=r>=(S=(G+I)/2),P)G=S;else I=S;C=P<<1|$,A=(O>=S)<<1|E>=D}while(C===A);return m[A]=b,m[C]=o,u}function Rm(u,f,r){let n=new b6(f??void 0,r??void 0,NaN,NaN,NaN,NaN);return u==null?n:n.addAll(u)}function $u(u){return function(){return u}}function O0(u){return(u()-0.5)*0.000001}function G$(u){return u.x+u.vx}function I$(u){return u.y+u.vy}function vT(u){let f,r,n,m=1,b=1;if(typeof u!=="function")u=$u(u==null?1:+u);function o(){let M,I=f.length,D,S,E,O,$,P;for(let A=0;A<b;++A){D=Rm(f,G$,I$).visitAfter(T);for(M=0;M<I;++M)S=f[M],$=r[S.index],P=$*$,E=S.x+S.vx,O=S.y+S.vy,D.visit(C)}function C(A,R,w,Q,L){let{data:F,r:N}=A,H=$+N;if(F){if(F.index>S.index){let K=E-F.x-F.vx,B=O-F.y-F.vy,V=K*K+B*B;if(V<H*H){if(K===0)K=O0(n),V+=K*K;if(B===0)B=O0(n),V+=B*B;V=(H-(V=Math.sqrt(V)))/V*m,S.vx+=(K*=V)*(H=(N*=N)/(P+N)),S.vy+=(B*=V)*H,F.vx-=K*(H=1-H),F.vy-=B*H}}return}return R>E+H||Q<E-H||w>O+H||L<O-H}}function T(M){if(M.data){M.r=r[M.data.index];return}for(let I=M.r=0;I<4;++I)if(M[I]&&M[I].r>M.r)M.r=M[I].r}function G(){if(!f)return;let M,I=f.length,D;r=Array(I);for(M=0;M<I;++M)D=f[M],r[D.index]=+u(D,M,f)}return o.initialize=function(M,I){f=M,n=I,G()},o.iterations=function(M){return arguments.length?(b=+M,o):b},o.strength=function(M){return arguments.length?(m=+M,o):m},o.radius=function(M){return arguments.length?(u=typeof M==="function"?M:$u(+M),G(),o):u},o}function S$(u){return u.index}function pT(u,f){let r=u.get(f);if(!r)throw Error(`node not found: ${f}`);return r}function yT(u){let f=S$,r=D,n,m=$u(30),b,o,T,G,M,I=1;if(u==null)u=[];function D(P){return 1/Math.min(T[P.source.index],T[P.target.index])}function S(P){for(let C=0,A=u.length;C<I;++C)for(let R=0,w,Q,L,F,N,H,K;R<A;++R)w=u[R],Q=w.source,L=w.target,F=L.x+L.vx-Q.x-Q.vx||O0(M),N=L.y+L.vy-Q.y-Q.vy||O0(M),H=Math.sqrt(F*F+N*N),H=(H-b[R])/H*P*n[R],F*=H,N*=H,L.vx-=F*(K=G[R]),L.vy-=N*K,Q.vx+=F*(K=1-K),Q.vy+=N*K}function E(){if(!o)return;let P,C=o.length,A=u.length,R=new Map(o.map((Q,L)=>[f(Q,L,o),Q])),w;for(P=0,T=Array(C);P<A;++P){if(w=u[P],w.index=P,typeof w.source!=="object")w.source=pT(R,w.source);if(typeof w.target!=="object")w.target=pT(R,w.target);T[w.source.index]=(T[w.source.index]||0)+1,T[w.target.index]=(T[w.target.index]||0)+1}for(P=0,G=Array(A);P<A;++P)w=u[P],G[P]=T[w.source.index]/(T[w.source.index]+T[w.target.index]);n=Array(A),O(),b=Array(A),$()}function O(){if(!o)return;for(let P=0,C=u.length;P<C;++P)n[P]=+r(u[P],P,u)}function $(){if(!o)return;for(let P=0,C=u.length;P<C;++P)b[P]=+m(u[P],P,u)}return S.initialize=function(P,C){o=P,M=C,E()},S.links=function(P){return arguments.length?(u=P,E(),S):u},S.id=function(P){return arguments.length?(f=P,S):f},S.iterations=function(P){return arguments.length?(I=+P,S):I},S.strength=function(P){return arguments.length?(r=typeof P==="function"?P:$u(+P),O(),S):r},S.distance=function(P){return arguments.length?(m=typeof P==="function"?P:$u(+P),$(),S):m},S}function s7(){let u=1;return()=>(u=(1664525*u+1013904223)%4294967296)/4294967296}function tT(u){return u.x}function xT(u){return u.y}var D$=10,E$=Math.PI*(3-Math.sqrt(5));function eT(u){let f,r=1,n=0.001,m=1-Math.pow(n,0.0033333333333333335),b=0,o=0.6,T=new Map,G=om(D),M=F0("tick","end"),I=s7();if(u==null)u=[];function D(){if(S(),M.call("tick",f),r<n)G.stop(),M.call("end",f)}function S($){let P,C=u.length,A;if($===void 0)$=1;for(let R=0;R<$;++R){r+=(b-r)*m,T.forEach(function(w){w(r)});for(P=0;P<C;++P){if(A=u[P],A.fx==null)A.x+=A.vx*=o;else A.x=A.fx,A.vx=0;if(A.fy==null)A.y+=A.vy*=o;else A.y=A.fy,A.vy=0}}return f}function E(){for(let $=0,P=u.length,C;$<P;++$){if(C=u[$],C.index=$,C.fx!=null)C.x=C.fx;if(C.fy!=null)C.y=C.fy;if(isNaN(C.x)||isNaN(C.y)){let A=D$*Math.sqrt(0.5+$),R=$*E$;C.x=A*Math.cos(R),C.y=A*Math.sin(R)}if(isNaN(C.vx)||isNaN(C.vy))C.vx=C.vy=0}}function O($){if($.initialize)$.initialize(u,I);return $}return E(),f={tick:S,restart:function(){return G.restart(D),f},stop:function(){return G.stop(),f},nodes:function($){return arguments.length?(u=$,E(),T.forEach(O),f):u},alpha:function($){return arguments.length?(r=+$,f):r},alphaMin:function($){return arguments.length?(n=+$,f):n},alphaDecay:function($){return arguments.length?(m=+$,f):+m},alphaTarget:function($){return arguments.length?(b=+$,f):b},velocityDecay:function($){return arguments.length?(o=1-$,f):1-o},randomSource:function($){return arguments.length?(I=$,T.forEach(O),f):I},force:function($,P){return arguments.length>1?(P==null?T.delete($):T.set($,O(P)),f):T.get($)},find:function($,P,C){let A=0,R=u.length,w,Q,L,F,N;if(C==null)C=1/0;else C*=C;for(A=0;A<R;++A)if(F=u[A],w=$-F.x,Q=P-F.y,L=w*w+Q*Q,L<C)N=F,C=L;return N},on:function($,P){return arguments.length>1?(M.on($,P),f):M.on($)}}}function lT(){let u,f,r,n,m=$u(-30),b,o=1,T=1/0,G=0.81;function M(E){let O,$=u.length,P=Rm(u,tT,xT).visitAfter(D);for(n=E,O=0;O<$;++O)f=u[O],P.visit(S)}function I(){if(!u)return;let E,O=u.length,$;b=Array(O);for(E=0;E<O;++E)$=u[E],b[$.index]=+m($,E,u)}function D(E){let O=0,$,P,C=0,A,R,w;if(E.length){for(A=R=w=0;w<4;++w)if(($=E[w])&&(P=Math.abs($.value)))O+=$.value,C+=P,A+=P*$.x,R+=P*$.y;E.x=A/C,E.y=R/C}else{$=E,$.x=$.data.x,$.y=$.data.y;do O+=b[$.data.index];while($=$.next)}E.value=O}function S(E,O,$,P){if(!E.value)return!0;let C=E.x-f.x,A=E.y-f.y,R=P-O,w=C*C+A*A;if(R*R/G<w){if(w<T){if(C===0)C=O0(r),w+=C*C;if(A===0)A=O0(r),w+=A*A;if(w<o)w=Math.sqrt(o*w);f.vx+=C*E.value*n/w,f.vy+=A*E.value*n/w}return!0}else if(E.length||w>=T)return;if(E.data!==f||E.next){if(C===0)C=O0(r),w+=C*C;if(A===0)A=O0(r),w+=A*A;if(w<o)w=Math.sqrt(o*w)}do if(E.data!==f)R=b[E.data.index]*n/w,f.vx+=C*R,f.vy+=A*R;while(E=E.next)}return M.initialize=function(E,O){u=E,r=O,I()},M.strength=function(E){return arguments.length?(m=typeof E==="function"?E:$u(+E),I(),M):m},M.distanceMin=function(E){return arguments.length?(o=E*E,M):Math.sqrt(o)},M.distanceMax=function(E){return arguments.length?(T=E*E,M):Math.sqrt(T)},M.theta=function(E){return arguments.length?(G=E*E,M):Math.sqrt(G)},M}function dT(u,f,r){let n,m=$u(0.1),b,o,T=typeof u==="function"?u:$u(+u);if(f==null)f=0;if(r==null)r=0;function G(I){for(let D=0,S=n.length;D<S;++D){let E=n[D],O=E.x-f||0.000001,$=E.y-r||0.000001,P=Math.sqrt(O*O+$*$),C=(o[D]-P)*b[D]*I/P;E.vx+=O*C,E.vy+=$*C}}function M(){if(!n)return;let I,D=n.length;b=Array(D),o=Array(D);for(I=0;I<D;++I)o[I]=+T(n[I],I,n),b[I]=isNaN(o[I])?0:+m(n[I],I,n)}return G.initialize=function(I){n=I,M()},G.strength=function(I){return arguments.length?(m=typeof I==="function"?I:$u(+I),M(),G):m},G.radius=function(I){return arguments.length?(T=typeof I==="function"?I:$u(+I),M(),G):T},G.x=function(I){return arguments.length?(f=+I,G):f},G.y=function(I){return arguments.length?(r=+I,G):r},G}function iT(u){let f=$u(0.1),r,n,m,b=typeof u==="function"?u:$u(u==null?0:+u);function o(G){for(let M=0,I=r.length,D;M<I;++M)D=r[M],D.vx+=(m[M]-D.x)*n[M]*G}function T(){if(!r)return;let G,M=r.length;n=Array(M),m=Array(M);for(G=0;G<M;++G)n[G]=isNaN(m[G]=+b(r[G],G,r))?0:+f(r[G],G,r)}return o.initialize=function(G){r=G,T()},o.strength=function(G){return arguments.length?(f=typeof G==="function"?G:$u(+G),T(),o):f},o.x=function(G){return arguments.length?(b=typeof G==="function"?G:$u(+G),T(),o):b},o}function sT(u){let f=$u(0.1),r,n,m,b=typeof u==="function"?u:$u(u==null?0:+u);function o(G){for(let M=0,I=r.length,D;M<I;++M)D=r[M],D.vy+=(m[M]-D.y)*n[M]*G}function T(){if(!r)return;let G,M=r.length;n=Array(M),m=Array(M);for(G=0;G<M;++G)n[G]=isNaN(m[G]=+b(r[G],G,r))?0:+f(r[G],G,r)}return o.initialize=function(G){r=G,T()},o.strength=function(G){return arguments.length?(f=typeof G==="function"?G:$u(+G),T(),o):f},o.y=function(G){return arguments.length?(b=typeof G==="function"?G:$u(+G),T(),o):b},o}function a7(u){return Math.abs(u=Math.round(u))>=1000000000000000000000?u.toLocaleString("en").replace(/,/g,""):u.toString(10)}function Ir(u,f){if(!isFinite(u)||u===0)return null;let r=f?u.toExponential(f-1):u.toExponential(),n=r.indexOf("e"),m=r.slice(0,n);return[m.length>1?m[0]+m.slice(2):m,+r.slice(n+1)]}function N0(u){let f=Ir(Math.abs(u));return f?f[1]:NaN}function u5(u,f){return function(r,n){let m=r.length,b=[],o=0,T=u[0],G=0;while(m>0&&T>0){if(G+T+1>n)T=Math.max(1,n-G);if(b.push(r.substring(m-=T,m+T)),(G+=T+1)>n)break;T=u[o=(o+1)%u.length]}return b.reverse().join(f)}}function f5(u){return function(f){return f.replace(/[0-9]/g,function(r){return u[+r]})}}var C$=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;class o6{fill;align;sign;symbol;zero;width;comma;precision;trim;type;constructor(u){this.fill=u.fill===void 0?" ":`${u.fill}`,this.align=u.align===void 0?">":`${u.align}`,this.sign=u.sign===void 0?"-":`${u.sign}`,this.symbol=u.symbol===void 0?"":`${u.symbol}`,this.zero=!!u.zero,this.width=u.width===void 0?void 0:+u.width,this.comma=!!u.comma,this.precision=u.precision===void 0?void 0:+u.precision,this.trim=!!u.trim,this.type=u.type===void 0?"":`${u.type}`}toString(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":`.${Math.max(0,this.precision|0)}`)+(this.trim?"~":"")+this.type}}function aT(u){let f=C$.exec(u);if(!f)throw Error(`invalid format: ${u}`);return new o6({fill:f[1],align:f[2],sign:f[3],symbol:f[4],zero:f[5],width:f[6],comma:f[7],precision:f[8]&&f[8].slice(1),trim:f[9],type:f[10]})}aT.prototype=o6.prototype;var O$=aT,Wf=O$;function r5(u){let f=-1,r=0;u:for(let n=u.length,m=1;m<n;++m)switch(u[m]){case".":f=r=m;break;case"0":if(f===0)f=m;r=m;break;default:if(!+u[m])break u;if(f>0)f=0;break}return f>0?u.slice(0,f)+u.slice(r+1):u}var nn;function n5(u,f){let r=Ir(u,f);if(!r)return nn=void 0,u.toPrecision(f);let n=r[0],m=r[1];nn=Math.max(-8,Math.min(8,Math.floor(m/3)))*3;let b=m-nn+1,o=n.length;return b===o?n:b>o?`${n}${Array(b-o+1).join("0")}`:b>0?`${n.slice(0,b)}.${n.slice(b)}`:`0.${Array(1-b).join("0")}${Ir(u,Math.max(0,f+b-1))[0]}`}function T6(u,f){let r=Ir(u,f);if(!r)return`${u}`;let n=r[0],m=r[1];return m<0?`0.${Array(-m).join("0")}${n}`:n.length>m+1?`${n.slice(0,m+1)}.${n.slice(m+1)}`:`${n}${Array(m-n.length+2).join("0")}`}var P$={"%":(u,f)=>(u*100).toFixed(f),b:(u)=>Math.round(u).toString(2),c:(u)=>`${u}`,d:a7,e:(u,f)=>u.toExponential(f),f:(u,f)=>u.toFixed(f),g:(u,f)=>u.toPrecision(f),o:(u)=>Math.round(u).toString(8),p:(u,f)=>T6(u*100,f),r:T6,s:n5,X:(u)=>Math.round(u).toString(16).toUpperCase(),x:(u)=>Math.round(u).toString(16)},m5=P$;function M6(u){return u}var uM=Array.prototype.map,fM=["y","z","a","f","p","n","ยต","m","","k","M","G","T","P","E","Z","Y"];function G6(u){let f=u.grouping===void 0||u.thousands===void 0?M6:u5(uM.call(u.grouping,Number),`${u.thousands}`),r=u.currency===void 0?"":u.currency[0]+"",n=u.currency===void 0?"":u.currency[1]+"",m=u.decimal===void 0?".":`${u.decimal}`,b=u.numerals===void 0?M6:f5(uM.call(u.numerals,String)),o=u.percent===void 0?"%":`${u.percent}`,T=u.minus===void 0?"โ":`${u.minus}`,G=u.nan===void 0?"NaN":`${u.nan}`;function M(D,S){let E=Wf(D),O=E.fill,$=E.align,P=E.sign,C=E.symbol,A=E.zero,R=E.width,w=E.comma,Q=E.precision,L=E.trim,F=E.type;if(F==="n")w=!0,F="g";else if(!m5[F]){if(Q===void 0)Q=12;L=!0,F="g"}if(A||O==="0"&&$==="=")A=!0,O="0",$="=";let N=(S&&S.prefix!==void 0?S.prefix:"")+(C==="$"?r:C==="#"&&/[boxX]/.test(F)?`0${F.toLowerCase()}`:""),H=(C==="$"?n:/[%p]/.test(F)?o:"")+(S&&S.suffix!==void 0?S.suffix:""),K=m5[F],B=/[defgprs%]/.test(F);Q=Q===void 0?6:/[gprs]/.test(F)?Math.max(1,Math.min(21,Q)):Math.max(0,Math.min(20,Q));function V(W){let Z=N,J=H,U,X,Y;if(F==="c")J=K(W)+J,W="";else{W=+W;let v=W<0||1/W<0;if(W=isNaN(W)?G:K(Math.abs(W),Q),L)W=r5(W);if(v&&+W===0&&P!=="+")v=!1;if(Z=(v?P==="("?P:T:P==="-"||P==="("?"":P)+Z,J=(F==="s"&&!isNaN(W)&&nn!==void 0?fM[8+nn/3]:"")+J+(v&&P==="("?")":""),B){U=-1,X=W.length;while(++U<X)if(Y=W.charCodeAt(U),48>Y||Y>57){J=(Y===46?m+W.slice(U+1):W.slice(U))+J,W=W.slice(0,U);break}}}if(w&&!A)W=f(W,1/0);let j=Z.length+W.length+J.length,k=j<(R??0)?Array((R??0)-j+1).join(O):"";if(w&&A)W=f(k+W,k.length?(R??0)-J.length:1/0),k="";switch($){case"<":W=Z+W+J+k;break;case"=":W=Z+k+W+J;break;case"^":{let v=k.length>>1;W=k.slice(0,v)+Z+W+J+k.slice(v);break}default:W=k+Z+W+J;break}return b(W)}return V.toString=function(){return`${E}`},V}function I(D,S){let E=Wf(D);E.type="f";let O=Math.max(-8,Math.min(8,Math.floor(N0(S)/3)))*3,$=Math.pow(10,-O),P=M(`${E}`,{suffix:fM[8+O/3]});return function(C){return P($*C)}}return{format:M,formatPrefix:I}}var I6,mn,S6;b5({thousands:",",grouping:[3],currency:["$",""]});function b5(u){return I6=G6(u),mn=I6.format,S6=I6.formatPrefix,I6}function D6(u){return Math.max(0,-N0(Math.abs(u)))}function E6(u,f){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(N0(f)/3)))*3-N0(Math.abs(u)))}function C6(u,f){return u=Math.abs(u),f=Math.abs(f)-u,Math.max(0,N0(f)-N0(u))+1}var h=0.000001,of=0.000000000001,d=Math.PI,Du=d/2,bn=d/4,Ku=d*2,nu=180/d,p=d/180,x=Math.abs,P0=Math.atan,Pu=Math.atan2,_=Math.cos,Qm=Math.ceil,O6=Math.exp;var{hypot:P6,log:Sr,pow:$6,sin:z}=Math,pu=Math.sign||function(u){return u>0?1:u<0?-1:0},Tu=Math.sqrt,on=Math.tan;function w6(u){return u>1?0:u<-1?d:Math.acos(u)}function Eu(u){return u>1?Du:u<-1?-Du:Math.asin(u)}function o5(u){return(u=z(u/2))*u}function mu(){}function A6(u,f){if(u&&nM.hasOwnProperty(u.type))nM[u.type](u,f)}var rM={Feature:function(u,f){A6(u.geometry,f)},FeatureCollection:function(u,f){let r=u.features,n=-1,m=r.length;while(++n<m)A6(r[n].geometry,f)}},nM={Sphere:function(u,f){f.sphere()},Point:function(u,f){let r=u.coordinates;f.point(r[0],r[1],r[2])},MultiPoint:function(u,f){let r=u.coordinates,n=-1,m=r.length,b;while(++n<m)b=r[n],f.point(b[0],b[1],b[2])},LineString:function(u,f){T5(u.coordinates,f,0)},MultiLineString:function(u,f){let r=u.coordinates,n=-1,m=r.length;while(++n<m)T5(r[n],f,0)},Polygon:function(u,f){mM(u.coordinates,f)},MultiPolygon:function(u,f){let r=u.coordinates,n=-1,m=r.length;while(++n<m)mM(r[n],f)},GeometryCollection:function(u,f){let r=u.geometries,n=-1,m=r.length;while(++n<m)A6(r[n],f)}};function T5(u,f,r){let n=-1,m=u.length-r,b;f.lineStart();while(++n<m)b=u[n],f.point(b[0],b[1],b[2]);f.lineEnd()}function mM(u,f){let r=-1,n=u.length;f.polygonStart();while(++r<n)T5(u[r],f,1);f.polygonEnd()}function Yu(u,f){if(u&&rM.hasOwnProperty(u.type))rM[u.type](u,f);else A6(u,f)}var Lm=new Ou,R6=new Ou,bM,oM,M5,G5,I5,H0={point:mu,lineStart:mu,lineEnd:mu,polygonStart:function(){Lm=new Ou,H0.lineStart=$$,H0.lineEnd=w$},polygonEnd:function(){let u=+Lm;R6.add(u<0?Ku+u:u),this.lineStart=this.lineEnd=this.point=mu},sphere:function(){R6.add(Ku)}};function $$(){H0.point=A$}function w$(){TM(bM,oM)}function A$(u,f){H0.point=TM,bM=u,oM=f,u*=p,f*=p,M5=u,G5=_(f=f/2+bn),I5=z(f)}function TM(u,f){u*=p,f*=p,f=f/2+bn;let r=u-M5,n=r>=0?1:-1,m=n*r,b=_(f),o=z(f),T=I5*o,G=G5*b+T*_(m),M=T*n*z(m);Lm.add(Pu(M,G)),M5=u,G5=b,I5=o}function MM(u){return R6=new Ou,Yu(u,H0),+R6*2}function Dr(u){return[Pu(u[1],u[0]),Eu(u[2])]}function $0(u){let f=u[0],r=u[1],n=_(r);return[n*_(f),n*z(f),z(r)]}function Zm(u,f){return u[0]*f[0]+u[1]*f[1]+u[2]*f[2]}function Tf(u,f){return[u[1]*f[2]-u[2]*f[1],u[2]*f[0]-u[0]*f[2],u[0]*f[1]-u[1]*f[0]]}function Q6(u,f){u[0]+=f[0],u[1]+=f[1],u[2]+=f[2]}function Jm(u,f){return[u[0]*f,u[1]*f,u[2]*f]}function Er(u){let f=Tu(u[0]*u[0]+u[1]*u[1]+u[2]*u[2]);u[0]/=f,u[1]/=f,u[2]/=f}var Qu,r0,Fu,o0,Cr,DM,EM,Tn,Fm,Nf,Gf,Mf={point:S5,lineStart:GM,lineEnd:IM,polygonStart:function(){Mf.point=OM,Mf.lineStart=R$,Mf.lineEnd=Q$,Fm=new Ou,H0.polygonStart()},polygonEnd:function(){if(H0.polygonEnd(),Mf.point=S5,Mf.lineStart=GM,Mf.lineEnd=IM,+Lm<0)Qu=-(Fu=180),r0=-(o0=90);else if(+Fm>h)o0=90;else if(+Fm<-h)r0=-90;Gf[0]=Qu,Gf[1]=Fu},sphere:function(){Qu=-(Fu=180),r0=-(o0=90)}};function S5(u,f){if(Nf.push(Gf=[Qu=u,Fu=u]),f<r0)r0=f;if(f>o0)o0=f}function CM(u,f){let r=$0([u*p,f*p]);if(Tn){let n=Tf(Tn,r),m=[n[1],-n[0],0],b=Tf(m,n);Er(b);let o=Dr(b),T=u-Cr,G=T>0?1:-1,M=o[0]*nu*G,I,D=x(T)>180;if(D^(G*Cr<M&&M<G*u?1:0)){if(I=o[1]*nu,I>o0)o0=I}else if(M=(M+360)%360-180,D^(G*Cr<M&&M<G*u?1:0)){if(I=-o[1]*nu,I<r0)r0=I}else{if(f<r0)r0=f;if(f>o0)o0=f}if(D){if(u<Cr){if(b0(Qu,u)>b0(Qu,Fu))Fu=u}else if(b0(u,Fu)>b0(Qu,Fu))Qu=u}else if(Fu>=Qu){if(u<Qu)Qu=u;if(u>Fu)Fu=u}else if(u>Cr){if(b0(Qu,u)>b0(Qu,Fu))Fu=u}else if(b0(u,Fu)>b0(Qu,Fu))Qu=u}else Nf.push(Gf=[Qu=u,Fu=u]);if(f<r0)r0=f;if(f>o0)o0=f;Tn=r,Cr=u}function GM(){Mf.point=CM}function IM(){Gf[0]=Qu,Gf[1]=Fu,Mf.point=S5,Tn=null}function OM(u,f){if(Tn){let r=u-Cr;Fm.add(x(r)>180?r+(r>0?360:-360):r)}else DM=u,EM=f;H0.point(u,f),CM(u,f)}function R$(){H0.lineStart()}function Q$(){if(OM(DM,EM),H0.lineEnd(),x(+Fm)>h)Qu=-(Fu=180);Gf[0]=Qu,Gf[1]=Fu,Tn=null}function b0(u,f){return(f-=u)<0?f+360:f}function L$(u,f){return u[0]-f[0]}function SM(u,f){return u[0]<=u[1]?u[0]<=f&&f<=u[1]:f<u[0]||u[1]<f}function PM(u){let f,r,n,m,b,o,T;if(o0=Fu=-(Qu=r0=1/0),Nf=[],Yu(u,Mf),r=Nf.length){Nf.sort(L$);for(f=1,n=Nf[0],b=[n];f<r;++f)if(m=Nf[f],SM(n,m[0])||SM(n,m[1])){if(b0(n[0],m[1])>b0(n[0],n[1]))n[1]=m[1];if(b0(m[0],n[1])>b0(n[0],n[1]))n[0]=m[0]}else b.push(n=m);for(o=-1/0,r=b.length-1,f=0,n=b[r];f<=r;n=m,++f)if(m=b[f],(T=b0(n[1],m[0]))>o)o=T,Qu=m[0],Fu=n[1]}return Nf=Gf=null,Qu===1/0||r0===1/0?[[NaN,NaN],[NaN,NaN]]:[[Qu,r0],[Fu,o0]]}var Km,L6,Z6,J6,F6,K6,U6,B6,D5,E5,C5,AM,RM,iu,su,au,V0={sphere:mu,point:O5,lineStart:$M,lineEnd:wM,polygonStart:function(){V0.lineStart=F$,V0.lineEnd=K$},polygonEnd:function(){V0.lineStart=$M,V0.lineEnd=wM}};function O5(u,f){u*=p,f*=p;let r=_(f);Um(r*_(u),r*z(u),z(f))}function Um(u,f,r){++Km,Z6+=(u-Z6)/Km,J6+=(f-J6)/Km,F6+=(r-F6)/Km}function $M(){V0.point=Z$}function Z$(u,f){u*=p,f*=p;let r=_(f);iu=r*_(u),su=r*z(u),au=z(f),V0.point=J$,Um(iu,su,au)}function J$(u,f){u*=p,f*=p;let r=_(f),n=r*_(u),m=r*z(u),b=z(f),o=Pu(Tu((su*b-au*m)**2+(au*n-iu*b)**2+(iu*m-su*n)**2),iu*n+su*m+au*b);L6+=o,K6+=o*(iu+(iu=n)),U6+=o*(su+(su=m)),B6+=o*(au+(au=b)),Um(iu,su,au)}function wM(){V0.point=O5}function F$(){V0.point=U$}function K$(){QM(AM,RM),V0.point=O5}function U$(u,f){AM=u,RM=f,u*=p,f*=p,V0.point=QM;let r=_(f);iu=r*_(u),su=r*z(u),au=z(f),Um(iu,su,au)}function QM(u,f){u*=p,f*=p;let r=_(f),n=r*_(u),m=r*z(u),b=z(f),o=su*b-au*m,T=au*n-iu*b,G=iu*m-su*n,M=P6(o,T,G),I=Eu(M),D=M&&-I/M;D5.add(D*o),E5.add(D*T),C5.add(D*G),L6+=I,K6+=I*(iu+(iu=n)),U6+=I*(su+(su=m)),B6+=I*(au+(au=b)),Um(iu,su,au)}function LM(u){Km=L6=Z6=J6=F6=K6=U6=B6=0,D5=new Ou,E5=new Ou,C5=new Ou,Yu(u,V0);let f=+D5,r=+E5,n=+C5,m=P6(f,r,n);if(m<of){if(f=K6,r=U6,n=B6,L6<h)f=Z6,r=J6,n=F6;if(m=P6(f,r,n),m<of)return[NaN,NaN]}return[Pu(r,f)*nu,Eu(n/m)*nu]}function Hf(u){return function(){return u}}function Mn(u,f){function r(n,m){let b=u(n,m);return f(b[0],b[1])}if(u.invert&&f.invert)r.invert=function(n,m){let b=f.invert(n,m);return b&&u.invert(b[0],b[1])};return r}function P5(u,f){if(x(u)>d)u-=Math.round(u/Ku)*Ku;return[u,f]}P5.invert=P5;function Bm(u,f,r){return(u%=Ku)?f||r?Mn(JM(u),FM(f,r)):JM(u):f||r?FM(f,r):P5}function ZM(u){return function(f,r){if(f+=u,x(f)>d)f-=Math.round(f/Ku)*Ku;return[f,r]}}function JM(u){let f=ZM(u);return f.invert=ZM(-u),f}function FM(u,f){let r=_(u),n=z(u),m=_(f),b=z(f);function o(T,G){let M=_(G),I=_(T)*M,D=z(T)*M,S=z(G),E=S*r+I*n;return[Pu(D*m-E*b,I*r-S*n),Eu(E*m+D*b)]}return o.invert=function(T,G){let M=_(G),I=_(T)*M,D=z(T)*M,S=z(G),E=S*m-D*b;return[Pu(D*m+S*b,I*r+E*n),Eu(E*r-I*n)]},o}function W6(u){let f=Bm(u[0]*p,u[1]*p,u.length>2?u[2]*p:0);function r(n){let m=f(n[0]*p,n[1]*p);return m[0]*=nu,m[1]*=nu,m}return r.invert=function(n){let m=f.invert(n[0]*p,n[1]*p);return m[0]*=nu,m[1]*=nu,m},r}function $5(u,f,r,n,m,b){if(!r)return;let o=_(f),T=z(f),G=n*r,M,I;if(m==null)M=f+n*Ku,I=f-G/2;else if(M=KM(o,m),I=KM(o,b),n>0?M<I:M>I)M+=n*Ku;for(let D,S=M;n>0?S>I:S<I;S-=G)D=Dr([o,-T*_(S),-T*z(S)]),u.point(D[0],D[1])}function KM(u,f){f=$0(f),f[0]-=u,Er(f);let r=w6(-f[1]);return((-f[2]<0?-r:r)+Ku-h)%Ku}function UM(){let u=Hf([0,0]),f=Hf(90),r=Hf(2),n,m,b={point:o};function o(G,M){let I=m(G,M);n.push(I),I[0]*=nu,I[1]*=nu}function T(){let G=u.apply(this,arguments),M=f.apply(this,arguments)*p,I=r.apply(this,arguments)*p;n=[],m=Bm(-G[0]*p,-G[1]*p,0).invert,$5(b,M,I,1,null,null);let D={type:"Polygon",coordinates:[n]};return n=m=null,D}return T.center=function(G){return u=typeof G==="function"?G:Hf([+G[0],+G[1]]),T},T.radius=function(G){return f=typeof G==="function"?G:Hf(+G),T},T.precision=function(G){return r=typeof G==="function"?G:Hf(+G),T},T}function Wm(){let u=[],f;return{point:function(r,n,m){f.push([r,n,m])},lineStart:function(){u.push(f=[])},lineEnd:mu,polygonStart:mu,polygonEnd:mu,rejoin:function(){if(u.length>1)u.push(u.pop().concat(u.shift()))},result:function(){let r=u;return u=[],f=null,r}}}function Or(u,f){return x(u[0]-f[0])<h&&x(u[1]-f[1])<h}class Nm{x;z;o;e;v;n;p;constructor(u,f,r,n){this.x=u,this.z=f,this.o=r,this.e=n,this.v=!1,this.n=this.p=null}}function Hm(u,f,r,n,m){let b=[],o=[],T,G;if(u.forEach(function(S){if((G=S.length-1)<=0)return;let E=S[0],O,$=S[G];if(Or(E,$)){if(!E[2]&&!$[2]){m.lineStart();for(T=0;T<G;++T)m.point((E=S[T])[0],E[1]);m.lineEnd();return}$[0]+=2*h}b.push(O=new Nm(E,S,null,!0)),o.push(O.o=new Nm(E,null,O,!1)),b.push(O=new Nm($,S,null,!1)),o.push(O.o=new Nm($,null,O,!0))}),!b.length)return;o.sort(f),BM(b),BM(o);for(T=0,G=o.length;T<G;++T)o[T].e=r=!r;let M=b[0],I,D;while(!0){let S=M,E=!0;while(S.v)if((S=S.n)===M)return;I=S.z,m.lineStart();do{if(S.v=S.o.v=!0,S.e){if(E)for(T=0,G=I.length;T<G;++T)m.point((D=I[T])[0],D[1]);else n(S.x,S.n.x,1,m);S=S.n}else{if(E){I=S.p.z;for(T=I.length-1;T>=0;--T)m.point((D=I[T])[0],D[1])}else n(S.x,S.p.x,-1,m);S=S.p}S=S.o,I=S.z,E=!E}while(!S.v);m.lineEnd()}}function BM(u){let f=u.length;if(!f)return;let r=0,n=u[0],m;while(++r<f)n.n=m=u[r],m.p=n,n=m;n.n=m=u[0],m.p=n}function w5(u){return x(u[0])<=d?u[0]:pu(u[0])*((x(u[0])+d)%Ku-d)}function Vm(u,f){let r=w5(f),n=f[1],m=z(n),b=[z(r),-_(r),0],o=0,T=0,G=new Ou;if(m===1)n=Du+h;else if(m===-1)n=-Du-h;for(let M=0,I=u.length;M<I;++M){let D,S;if(!(S=(D=u[M]).length))continue;let E=D[S-1],O=w5(E),$=E[1]/2+bn,P=z($),C=_($),A,R,w,Q;for(let L=0;L<S;++L,O=R,P=w,C=Q,E=A){A=D[L],R=w5(A);let F=A[1]/2+bn;w=z(F),Q=_(F);let N=R-O,H=N>=0?1:-1,K=H*N,B=K>d,V=P*w;if(G.add(Pu(V*H*z(K),C*Q+V*_(K))),o+=B?N+H*Ku:N,(B?1:0)^(O>=r?1:0)^(R>=r?1:0)){let W=Tf($0(E),$0(A));Er(W);let Z=Tf(b,W);Er(Z);let J=(B!==N>=0?-1:1)*Eu(Z[2]);if(n>J||n===J&&(W[0]||W[1]))T+=B!==N>=0?1:-1}}}return((o<-h||o<h&&+G<-of?1:0)^T&1)!==0}function Xm(u,f,r,n){return function(m){let b=f(m),o=Wm(),T=f(o),G=!1,M,I,D,S={point:E,lineStart:$,lineEnd:P,polygonStart:function(){S.point=C,S.lineStart=A,S.lineEnd=R,I=[],M=[]},polygonEnd:function(){S.point=E,S.lineStart=$,S.lineEnd=P;let w=kr(I),Q=Vm(M,n);if(w.length){if(!G)m.polygonStart(),G=!0;Hm(w,W$,Q,r,m)}else if(Q){if(!G)m.polygonStart(),G=!0;m.lineStart(),r(null,null,1,m),m.lineEnd()}if(G)m.polygonEnd(),G=!1;I=M=null},sphere:function(){m.polygonStart(),m.lineStart(),r(null,null,1,m),m.lineEnd(),m.polygonEnd()}};function E(w,Q){if(u(w,Q))m.point(w,Q)}function O(w,Q){b.point(w,Q)}function $(){S.point=O,b.lineStart()}function P(){S.point=E,b.lineEnd()}function C(w,Q){D.push([w,Q]),T.point(w,Q)}function A(){T.lineStart(),D=[]}function R(){C(D[0][0],D[0][1]),T.lineEnd();let w=T.clean(),Q=o.result(),L,F=Q.length,N,H,K;if(D.pop(),M.push(D),D=null,!F)return;if(w&1){if(H=Q[0],(N=H.length-1)>0){if(!G)m.polygonStart(),G=!0;m.lineStart();for(L=0;L<N;++L)m.point((K=H[L])[0],K[1]);m.lineEnd()}return}if(F>1&&w&2)Q.push(Q.pop().concat(Q.shift()));I.push(Q.filter(B$))}return S}}function B$(u){return u.length>1}function W$(u,f){let r=u.x,n=f.x;return(r[0]<0?r[1]-Du-h:Du-r[1])-(n[0]<0?n[1]-Du-h:Du-n[1])}var N6=Xm(function(){return!0},N$,V$,[-d,-Du]);function N$(u){let f=NaN,r=NaN,n=NaN,m;return{lineStart:function(){u.lineStart(),m=1},point:function(b,o){let T=b>0?d:-d,G=x(b-f);if(x(G-d)<h)u.point(f,r=(r+o)/2>0?Du:-Du),u.point(n,r),u.lineEnd(),u.lineStart(),u.point(T,r),u.point(b,r),m=0;else if(n!==T&&G>=d){if(x(f-n)<h)f-=n*h;if(x(b-T)<h)b-=T*h;r=H$(f,r,b,o),u.point(n,r),u.lineEnd(),u.lineStart(),u.point(T,r),m=0}u.point(f=b,r=o),n=T},lineEnd:function(){u.lineEnd(),f=r=NaN},clean:function(){return 2-m},polygonStart:function(){u.polygonStart()},polygonEnd:function(){u.polygonEnd()}}}function H$(u,f,r,n){let m,b,o=z(u-r);return x(o)>h?P0((z(f)*(b=_(n))*z(r)-z(n)*(m=_(f))*z(u))/(m*b*o)):(f+n)/2}function V$(u,f,r,n){let m;if(u==null)m=r*Du,n.point(-d,m),n.point(0,m),n.point(d,m),n.point(d,0),n.point(d,-m),n.point(0,-m),n.point(-d,-m),n.point(-d,0),n.point(-d,m);else if(x(u[0]-f[0])>h){let b=u[0]<f[0]?d:-d;m=r*b/2,n.point(-b,m),n.point(0,m),n.point(b,m)}else n.point(f[0],f[1])}function H6(u){let f=_(u),r=2*p,n=f>0,m=x(f)>h;function b(I,D,S,E){$5(E,u,r,S,I,D)}function o(I,D){return _(I)*_(D)>f}function T(I){let D,S,E,O,$;return{lineStart:function(){O=E=!1,$=1},point:function(P,C){let A=[P,C],R,w=o(P,C),Q=n?w?0:M(P,C):w?M(P+(P<0?d:-d),C):0;if(!D&&(O=E=w))I.lineStart();if(w!==E){if(R=G(D,A),!R||Or(D,R)||Or(A,R))A[2]=1}if(w!==E){if($=0,w)I.lineStart(),R=G(A,D),I.point(R[0],R[1]);else R=G(D,A),I.point(R[0],R[1],2),I.lineEnd();D=R}else if(m&&D&&n!==w){let L;if(!(Q&S)&&(L=G(A,D,!0)))if($=0,n)I.lineStart(),I.point(L[0][0],L[0][1]),I.point(L[1][0],L[1][1]),I.lineEnd();else I.point(L[1][0],L[1][1]),I.lineEnd(),I.lineStart(),I.point(L[0][0],L[0][1],3)}if(w&&(!D||!Or(D,A)))I.point(A[0],A[1]);D=A,E=w,S=Q},lineEnd:function(){if(E)I.lineEnd();D=null},clean:function(){return $|(O&&E?2:0)},polygonStart:function(){I.polygonStart()},polygonEnd:function(){I.polygonEnd()}}}function G(I,D,S){let E=$0(I),O=$0(D),$=[1,0,0],P=Tf(E,O),C=Zm(P,P),A=P[0],R=C-A*A;if(!R)return!S?I:void 0;let w=f*C/R,Q=-f*A/R,L=Tf($,P),F=Jm($,w),N=Jm(P,Q);Q6(F,N);let H=L,K=Zm(F,H),B=Zm(H,H),V=K*K-B*(Zm(F,F)-1);if(V<0)return;let W=Tu(V),Z=Jm(H,(-K-W)/B);if(Q6(Z,F),Z=Dr(Z),!S)return Z;let J=I[0],U=D[0],X=I[1],Y=D[1],j;if(U<J)j=J,J=U,U=j;let k=U-J,v=x(k-d)<h,y=v||k<h;if(!v&&Y<X)j=X,X=Y,Y=j;if(y?v?X+Y>0!==Z[1]<(x(Z[0]-J)<h?X:Y):X<=Z[1]&&Z[1]<=Y:k>d!==(J<=Z[0]&&Z[0]<=U)){let i=Jm(H,(-K+W)/B);return Q6(i,F),[Z,Dr(i)]}}function M(I,D){let S=n?u:d-u,E=0;if(I<-S)E|=1;else if(I>S)E|=2;if(D<-S)E|=4;else if(D>S)E|=8;return E}return Xm(o,T,b,n?[0,-u]:[-d,u-d])}function A5(u,f,r,n,m,b){let o=u[0],T=u[1],G=f[0],M=f[1],I=0,D=1,S=G-o,E=M-T,O;if(O=r-o,!S&&O>0)return;if(O/=S,S<0){if(O<I)return;if(O<D)D=O}else if(S>0){if(O>D)return;if(O>I)I=O}if(O=m-o,!S&&O<0)return;if(O/=S,S<0){if(O>D)return;if(O>I)I=O}else if(S>0){if(O<I)return;if(O<D)D=O}if(O=n-T,!E&&O>0)return;if(O/=E,E<0){if(O<I)return;if(O<D)D=O}else if(E>0){if(O>D)return;if(O>I)I=O}if(O=b-T,!E&&O<0)return;if(O/=E,E<0){if(O>D)return;if(O>I)I=O}else if(E>0){if(O<I)return;if(O<D)D=O}if(I>0)u[0]=o+I*S,u[1]=T+I*E;if(D<1)f[0]=o+D*S,f[1]=T+D*E;return!0}var Ym=1e9,V6=-Ym;function Vf(u,f,r,n){function m(M,I){return u<=M&&M<=r&&f<=I&&I<=n}function b(M,I,D,S){let E=0,O=0;if(M==null||(E=o(M,D))!==(O=o(I,D))||G(M,I)<0!==D>0)do S.point(E===0||E===3?u:r,E>1?n:f);while((E=(E+D+4)%4)!==O);else S.point(I[0],I[1])}function o(M,I){return x(M[0]-u)<h?I>0?0:3:x(M[0]-r)<h?I>0?2:1:x(M[1]-f)<h?I>0?1:0:I>0?3:2}function T(M,I){return G(M.x,I.x)}function G(M,I){let D=o(M,1),S=o(I,1);return D!==S?D-S:D===0?I[1]-M[1]:D===1?M[0]-I[0]:D===2?M[1]-I[1]:I[0]-M[0]}return function(M){let I=M,D=Wm(),S,E,O,$,P,C,A,R,w,Q,L,F={point:N,lineStart:V,lineEnd:W,polygonStart:K,polygonEnd:B};function N(J,U){if(m(J,U))I.point(J,U)}function H(){let J=0;for(let U=0,X=E.length;U<X;++U)for(let Y=E[U],j=1,k=Y.length,v=Y[0],y,i,a=v[0],Gu=v[1];j<k;++j)if(y=a,i=Gu,v=Y[j],a=v[0],Gu=v[1],i<=n){if(Gu>n&&(a-y)*(n-i)>(Gu-i)*(u-y))++J}else if(Gu<=n&&(a-y)*(n-i)<(Gu-i)*(u-y))--J;return J}function K(){I=D,S=[],E=[],L=!0}function B(){let J=H(),U=L&&J,X=(S=kr(S)).length;if(U||X){if(M.polygonStart(),U)M.lineStart(),b(null,null,1,M),M.lineEnd();if(X)Hm(S,T,J,b,M);M.polygonEnd()}I=M,S=E=O=null}function V(){if(F.point=Z,E)E.push(O=[]);Q=!0,w=!1,A=R=NaN}function W(){if(S){if(Z($,P),C&&w)D.rejoin();S.push(D.result())}if(F.point=N,w)I.lineEnd()}function Z(J,U){let X=m(J,U);if(E)O.push([J,U]);if(Q){if($=J,P=U,C=X,Q=!1,X)I.lineStart(),I.point(J,U)}else if(X&&w)I.point(J,U);else{let Y=[A=Math.max(V6,Math.min(Ym,A)),R=Math.max(V6,Math.min(Ym,R))],j=[J=Math.max(V6,Math.min(Ym,J)),U=Math.max(V6,Math.min(Ym,U))];if(A5(Y,j,u,f,r,n)){if(!w)I.lineStart(),I.point(Y[0],Y[1]);if(I.point(j[0],j[1]),!X)I.lineEnd();L=!1}else if(X)I.lineStart(),I.point(J,U),L=!1}A=J,R=U,w=X}return F}}function WM(){let u=0,f=0,r=960,n=500,m,b,o;return o={stream:function(T){return m&&b===T?m:m=Vf(u,f,r,n)(b=T)},extent:function(T){return arguments.length?(u=+T[0][0],f=+T[0][1],r=+T[1][0],n=+T[1][1],m=b=null,o):[[u,f],[r,n]]}}}var R5,Q5,X6,Y6,Gn={sphere:mu,point:mu,lineStart:X$,lineEnd:mu,polygonStart:mu,polygonEnd:mu};function X$(){Gn.point=q$,Gn.lineEnd=Y$}function Y$(){Gn.point=Gn.lineEnd=mu}function q$(u,f){u*=p,f*=p,Q5=u,X6=z(f),Y6=_(f),Gn.point=z$}function z$(u,f){u*=p,f*=p;let r=z(f),n=_(f),m=x(u-Q5),b=_(m),o=z(m),T=n*o,G=Y6*r-X6*n*b,M=X6*r+Y6*n*b;R5.add(Pu(Tu(T*T+G*G),M)),Q5=u,X6=r,Y6=n}function q6(u){return R5=new Ou,Yu(u,Gn),+R5}var L5=[null,null],j$={type:"LineString",coordinates:L5};function In(u,f){return L5[0]=u,L5[1]=f,q6(j$)}var NM={Feature:function(u,f){return z6(u.geometry,f)},FeatureCollection:function(u,f){let r=u.features,n=-1,m=r.length;while(++n<m)if(z6(r[n].geometry,f))return!0;return!1}},HM={Sphere:function(){return!0},Point:function(u,f){return VM(u.coordinates,f)},MultiPoint:function(u,f){let r=u.coordinates,n=-1,m=r.length;while(++n<m)if(VM(r[n],f))return!0;return!1},LineString:function(u,f){return XM(u.coordinates,f)},MultiLineString:function(u,f){let r=u.coordinates,n=-1,m=r.length;while(++n<m)if(XM(r[n],f))return!0;return!1},Polygon:function(u,f){return YM(u.coordinates,f)},MultiPolygon:function(u,f){let r=u.coordinates,n=-1,m=r.length;while(++n<m)if(YM(r[n],f))return!0;return!1},GeometryCollection:function(u,f){let r=u.geometries,n=-1,m=r.length;while(++n<m)if(z6(r[n],f))return!0;return!1}};function z6(u,f){return u&&HM.hasOwnProperty(u.type)?HM[u.type](u,f):!1}function VM(u,f){return In(u,f)===0}function XM(u,f){let r=0,n,m;for(let b=0,o=u.length;b<o;b++){if(n=In(u[b],f),n===0)return!0;if(b>0){if(m=In(u[b],u[b-1]),m>0&&r<=m&&n<=m&&(r+n-m)*(1-Math.pow((r-n)/m,2))<of*m)return!0}r=n}return!1}function YM(u,f){return!!Vm(u.map(k$),qM(f))}function k$(u){let f=u.map(qM);return f.pop(),f}function qM(u){return[u[0]*p,u[1]*p]}function zM(u,f){return(u&&NM.hasOwnProperty(u.type)?NM[u.type]:z6)(u,f)}function jM(u,f,r){let n=J0(u,f-h,r).concat(f);return function(m){return n.map(function(b){return[m,b]})}}function kM(u,f,r){let n=J0(u,f-h,r).concat(f);return function(m){return n.map(function(b){return[b,m]})}}function Z5(){let u,f,r,n,m,b,o,T,G=10,M=G,I=90,D=360,S,E,O,$,P=2.5;function C(){return{type:"MultiLineString",coordinates:A()}}function A(){return J0(Qm(n/I)*I,r,I).map(O).concat(J0(Qm(T/D)*D,o,D).map($)).concat(J0(Qm(f/G)*G,u,G).filter(function(R){return x(R%I)>h}).map(S)).concat(J0(Qm(b/M)*M,m,M).filter(function(R){return x(R%D)>h}).map(E))}return C.lines=function(){return A().map(function(R){return{type:"LineString",coordinates:R}})},C.outline=function(){return{type:"Polygon",coordinates:[O(n).concat($(o).slice(1),O(r).reverse().slice(1),$(T).reverse().slice(1))]}},C.extent=function(R){if(!arguments.length)return C.extentMinor();return C.extentMajor(R).extentMinor(R)},C.extentMajor=function(R){if(!arguments.length)return[[n,T],[r,o]];if(n=+R[0][0],r=+R[1][0],T=+R[0][1],o=+R[1][1],n>r){let w=n;n=r,r=w}if(T>o){let w=T;T=o,o=w}return C.precision(P)},C.extentMinor=function(R){if(!arguments.length)return[[f,b],[u,m]];if(f=+R[0][0],u=+R[1][0],b=+R[0][1],m=+R[1][1],f>u){let w=f;f=u,u=w}if(b>m){let w=b;b=m,m=w}return C.precision(P)},C.step=function(R){if(!arguments.length)return C.stepMinor();return C.stepMajor(R).stepMinor(R)},C.stepMajor=function(R){if(!arguments.length)return[I,D];return I=+R[0],D=+R[1],C},C.stepMinor=function(R){if(!arguments.length)return[G,M];return G=+R[0],M=+R[1],C},C.precision=function(R){if(!arguments.length)return P;return P=+R,S=jM(b,m,90),E=kM(f,u,P),O=jM(T,o,90),$=kM(n,r,P),C},C.extentMajor([[-180,-90+h],[180,90-h]]).extentMinor([[-180,-80-h],[180,80+h]])}function _$(){return Z5()()}function _M(u,f){let r=u[0]*p,n=u[1]*p,m=f[0]*p,b=f[1]*p,o=_(n),T=z(n),G=_(b),M=z(b),I=o*_(r),D=o*z(r),S=G*_(m),E=G*z(m),O=2*Eu(Tu(o5(b-n)+o*G*o5(m-r))),$=z(O),P=O?function(C){let A=z(C*=O)/$,R=z(O-C)/$,w=R*I+A*S,Q=R*D+A*E,L=R*T+A*M;return[Pu(Q,w)*nu,Pu(L,Tu(w*w+Q*Q))*nu]}:function(){return[r*nu,n*nu]};return P.distance=O,P}function If(u){return u}var J5=new Ou,F5=new Ou,gM,cM,K5,U5,Xf={point:mu,lineStart:mu,lineEnd:mu,polygonStart:function(){Xf.lineStart=g$,Xf.lineEnd=h$},polygonEnd:function(){Xf.lineStart=Xf.lineEnd=Xf.point=mu,J5.add(x(+F5)),F5=new Ou},result:function(){let u=+J5/2;return J5=new Ou,u}};function g$(){Xf.point=c$}function c$(u,f){Xf.point=hM,gM=K5=u,cM=U5=f}function hM(u,f){F5.add(U5*u-K5*f),K5=u,U5=f}function h$(){hM(gM,cM)}var B5=Xf;var Sn=1/0,j6=Sn,qm=-Sn,k6=qm,v$={point:p$,lineStart:mu,lineEnd:mu,polygonStart:mu,polygonEnd:mu,result:function(){let u=[[Sn,j6],[qm,k6]];return qm=k6=-(j6=Sn=1/0),u}};function p$(u,f){if(u<Sn)Sn=u;if(u>qm)qm=u;if(f<j6)j6=f;if(f>k6)k6=f}var Dn=v$;var W5=0,N5=0,zm=0,_6=0,g6=0,En=0,H5=0,V5=0,jm=0,yM,tM,v0,p0,X0={point:Pr,lineStart:vM,lineEnd:pM,polygonStart:function(){X0.lineStart=x$,X0.lineEnd=e$},polygonEnd:function(){X0.point=Pr,X0.lineStart=vM,X0.lineEnd=pM},result:function(){let u=jm?[H5/jm,V5/jm]:En?[_6/En,g6/En]:zm?[W5/zm,N5/zm]:[NaN,NaN];return W5=N5=zm=_6=g6=En=H5=V5=jm=0,u}};function Pr(u,f){W5+=u,N5+=f,++zm}function vM(){X0.point=y$}function y$(u,f){X0.point=t$,Pr(v0=u,p0=f)}function t$(u,f){let r=u-v0,n=f-p0,m=Tu(r*r+n*n);_6+=m*(v0+u)/2,g6+=m*(p0+f)/2,En+=m,Pr(v0=u,p0=f)}function pM(){X0.point=Pr}function x$(){X0.point=l$}function e$(){xM(yM,tM)}function l$(u,f){X0.point=xM,Pr(yM=v0=u,tM=p0=f)}function xM(u,f){let r=u-v0,n=f-p0,m=Tu(r*r+n*n);_6+=m*(v0+u)/2,g6+=m*(p0+f)/2,En+=m,m=p0*u-v0*f,H5+=m*(v0+u),V5+=m*(p0+f),jm+=m*3,Pr(v0=u,p0=f)}var X5=X0;class c6{_context;_radius=4.5;_line=NaN;_point=NaN;constructor(u){this._context=u}pointRadius(u){return this._radius=u,this}polygonStart(){this._line=0}polygonEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){if(this._line===0)this._context.closePath();this._point=NaN}point(u,f){switch(this._point){case 0:{this._context.moveTo(u,f),this._point=1;break}case 1:{this._context.lineTo(u,f);break}default:{this._context.moveTo(u+this._radius,f),this._context.arc(u,f,this._radius,0,Ku);break}}}result=mu}var q5=new Ou,Y5,eM,lM,km,_m,h6={point:mu,lineStart:function(){h6.point=d$},lineEnd:function(){if(Y5)dM(eM,lM);h6.point=mu},polygonStart:function(){Y5=!0},polygonEnd:function(){Y5=null},result:function(){let u=+q5;return q5=new Ou,u}};function d$(u,f){h6.point=dM,eM=km=u,lM=_m=f}function dM(u,f){km-=u,_m-=f,q5.add(Tu(km*km+_m*_m)),km=u,_m=f}var z5=h6;var iM,v6,sM,aM;class gm{_append;_radius;_;_line=NaN;_point=NaN;constructor(u){this._append=u==null?uG:i$(u),this._radius=4.5,this._=""}pointRadius(u){return this._radius=+u,this}polygonStart(){this._line=0}polygonEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){if(this._line===0)this._+="Z";this._point=NaN}point(u,f){switch(this._point){case 0:{this._append`M${u},${f}`,this._point=1;break}case 1:{this._append`L${u},${f}`;break}default:{if(this._append`M${u},${f}`,this._radius!==sM||this._append!==v6){let r=this._radius,n=this._;this._="",this._append`m0,${r}a${r},${r} 0 1,1 0,${-2*r}a${r},${r} 0 1,1 0,${2*r}z`,sM=r,v6=this._append,aM=this._,this._=n}this._+=aM;break}}}result(){let u=this._;return this._="",u.length?u:null}}function uG(u,...f){let r=0;this._+=u[0];for(let n=u.length-1;r<n;++r)this._+=f[r]+u[r+1]}function i$(u){let f=Math.floor(u);if(!(f>=0))throw RangeError(`invalid digits: ${u}`);if(f>15)return uG;if(f!==iM){let r=10**f;iM=f,v6=function(n,...m){let b=0;this._+=n[0];for(let o=n.length-1;b<o;++b)this._+=Math.round(m[b]*r)/r+n[b+1]}}return v6}function fG(u,f){let r=3,n=4.5,m,b;function o(T){if(T){if(typeof n==="function")b.pointRadius(+n.apply(this,arguments));Yu(T,m(b))}return b.result()}return o.area=function(T){return Yu(T,m(B5)),B5.result()},o.measure=function(T){return Yu(T,m(z5)),z5.result()},o.bounds=function(T){return Yu(T,m(Dn)),Dn.result()},o.centroid=function(T){return Yu(T,m(X5)),X5.result()},o.projection=function(T){if(!arguments.length)return u??null;return m=T==null?(u=null,If):(u=T).stream,o},o.context=function(T){if(!arguments.length)return f??null;if(b=T==null?(f=null,new gm(r)):new c6(f=T),typeof n!=="function")b.pointRadius(n);return o},o.pointRadius=function(T){if(!arguments.length)return n;return n=typeof T==="function"?T:(b.pointRadius(+T),+T),o},o.digits=function(T){if(!arguments.length)return r;if(T==null)r=null;else{let G=Math.floor(T);if(!(G>=0))throw RangeError(`invalid digits: ${T}`);r=G}if(f===null)b=new gm(r);return o},o.projection(u).digits(r).context(f)}function rG(u){return{stream:Yf(u)}}function Yf(u){return function(f){let r=new j5;for(let n in u)r[n]=u[n];return r.stream=f,r}}function j5(){}j5.prototype={constructor:j5,point:function(u,f){this.stream.point(u,f)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function k5(u,f,r){let n=u.clipExtent&&u.clipExtent();if(u.scale(150).translate([0,0]),n!=null)u.clipExtent(null);if(Yu(r,u.stream(Dn)),f(Dn.result()),n!=null)u.clipExtent(n);return u}function $r(u,f,r){return k5(u,function(n){let m=f[1][0]-f[0][0],b=f[1][1]-f[0][1],o=Math.min(m/(n[1][0]-n[0][0]),b/(n[1][1]-n[0][1])),T=+f[0][0]+(m-o*(n[1][0]+n[0][0]))/2,G=+f[0][1]+(b-o*(n[1][1]+n[0][1]))/2;u.scale(150*o).translate([T,G])},r)}function Cn(u,f,r){return $r(u,[[0,0],f],r)}function On(u,f,r){return k5(u,function(n){let m=+f,b=m/(n[1][0]-n[0][0]),o=(m-b*(n[1][0]+n[0][0]))/2,T=-b*n[0][1];u.scale(150*b).translate([o,T])},r)}function Pn(u,f,r){return k5(u,function(n){let m=+f,b=m/(n[1][1]-n[0][1]),o=-b*n[0][0],T=(m-b*(n[1][1]+n[0][1]))/2;u.scale(150*b).translate([o,T])},r)}var nG=16,s$=_(30*p);function p6(u,f){return+f?uw(u,f):a$(u)}function a$(u){return Yf({point:function(f,r){let n=u(f,r);this.stream.point(n[0],n[1])}})}function uw(u,f){function r(n,m,b,o,T,G,M,I,D,S,E,O,$,P){let C=M-n,A=I-m,R=C*C+A*A;if(R>4*f&&$--){let w=o+S,Q=T+E,L=G+O,F=Tu(w*w+Q*Q+L*L),N=Eu(L/=F),H=x(x(L)-1)<h||x(b-D)<h?(b+D)/2:Pu(Q,w),K=u(H,N),B=K[0],V=K[1],W=B-n,Z=V-m,J=A*W-C*Z;if(J*J/R>f||x((C*W+A*Z)/R-0.5)>0.3||o*S+T*E+G*O<s$)r(n,m,b,o,T,G,B,V,H,w/=F,Q/=F,L,$,P),P.point(B,V),r(B,V,H,w,Q,L,M,I,D,S,E,O,$,P)}}return function(n){let m,b,o,T,G,M,I,D,S,E,O,$,P={point:C,lineStart:A,lineEnd:w,polygonStart:function(){n.polygonStart(),P.lineStart=Q},polygonEnd:function(){n.polygonEnd(),P.lineStart=A}};function C(N,H){let K=u(N,H);n.point(K[0],K[1])}function A(){D=NaN,P.point=R,n.lineStart()}function R(N,H){let K=$0([N,H]),B=u(N,H);r(D,S,I,E,O,$,D=B[0],S=B[1],I=N,E=K[0],O=K[1],$=K[2],nG,n),n.point(D,S)}function w(){P.point=C,n.lineEnd()}function Q(){A(),P.point=L,P.lineEnd=F}function L(N,H){R(m=N,H),b=D,o=S,T=E,G=O,M=$,P.point=R}function F(){r(D,S,I,E,O,$,b,o,m,T,G,M,nG,n),P.lineEnd=w,w()}return P}}var fw=Yf({point:function(u,f){this.stream.point(u*p,f*p)}});function rw(u){return Yf({point:function(f,r){let n=u(f,r);return this.stream.point(n[0],n[1])}})}function nw(u,f,r,n,m){function b(o,T){return o*=n,T*=m,[f+u*o,r-u*T]}return b.invert=function(o,T){return[(o-f)/u*n,(r-T)/u*m]},b}function mG(u,f,r,n,m,b){if(!b)return nw(u,f,r,n,m);let o=_(b),T=z(b),G=o*u,M=T*u,I=o/u,D=T/u,S=(T*r-o*f)/u,E=(T*f+o*r)/u;function O($,P){return $*=n,P*=m,[G*$-M*P+f,r-M*$-G*P]}return O.invert=function($,P){return[n*(I*$-D*P+S),m*(E-D*$-I*P)]},O}function Bu(u){return y6(function(){return u})()}function y6(u){let f,r=150,n=480,m=250,b=0,o=0,T=0,G=0,M=0,I,D=0,S=1,E=1,O=null,$=N6,P=null,C,A,R,w=If,Q=0.5,L,F,N,H,K;function B(J){return N(J[0]*p,J[1]*p)}function V(J){return J=N.invert(J[0],J[1]),J&&[J[0]*nu,J[1]*nu]}B.stream=function(J){return H&&K===J?H:H=fw(rw(I)($(L(w(K=J)))))},B.preclip=function(J){return arguments.length?($=J,O=void 0,Z()):$},B.postclip=function(J){return arguments.length?(w=J,P=C=A=R=null,Z()):w},B.clipAngle=function(J){return arguments.length?($=+J?H6(O=J*p):(O=null,N6),Z()):O*nu},B.clipExtent=function(J){return arguments.length?(w=J==null?(P=C=A=R=null,If):Vf(P=+J[0][0],C=+J[0][1],A=+J[1][0],R=+J[1][1]),Z()):P==null?null:[[P,C],[A,R]]},B.scale=function(J){return arguments.length?(r=+J,W()):r},B.translate=function(J){return arguments.length?(n=+J[0],m=+J[1],W()):[n,m]},B.center=function(J){return arguments.length?(b=J[0]%360*p,o=J[1]%360*p,W()):[b*nu,o*nu]},B.rotate=function(J){return arguments.length?(T=J[0]%360*p,G=J[1]%360*p,M=J.length>2?J[2]%360*p:0,W()):[T*nu,G*nu,M*nu]},B.angle=function(J){return arguments.length?(D=J%360*p,W()):D*nu},B.reflectX=function(J){return arguments.length?(S=J?-1:1,W()):S<0},B.reflectY=function(J){return arguments.length?(E=J?-1:1,W()):E<0},B.precision=function(J){return arguments.length?(L=p6(F,Q=J*J),Z()):Tu(Q)},B.fitExtent=function(J,U){return $r(B,J,U)},B.fitSize=function(J,U){return Cn(B,J,U)},B.fitWidth=function(J,U){return On(B,J,U)},B.fitHeight=function(J,U){return Pn(B,J,U)};function W(){let J=mG(r,0,0,S,E,D).apply(null,f(b,o)),U=mG(r,n-J[0],m-J[1],S,E,D);return I=Bm(T,G,M),F=Mn(f,U),N=Mn(I,F),L=p6(F,Q),Z()}function Z(){return H=K=null,B}return function(...J){f=u.apply(this,J);let U=B;return U.invert=f.invert&&V,W()}}function $n(u){let f=0,r=d/3,n=y6(u),m=n(f,r);return m.parallels=function(b){return arguments.length?n(f=b[0]*p,r=b[1]*p):[f*nu,r*nu]},m}function bG(u){let f=_(u);function r(n,m){return[n*f,z(m)/f]}return r.invert=function(n,m){return[n/f,Eu(m*f)]},r}function oG(u,f){let r=z(u),n=(r+z(f))/2;if(x(n)<h)return bG(u);let m=1+r*(2*n-r),b=Tu(m)/n;function o(T,G){let M=Tu(m-2*n*z(G))/n;return[M*z(T*=n),b-M*_(T)]}return o.invert=function(T,G){let M=b-G,I=Pu(T,x(M))*pu(M);if(M*n<0)return[(I-d*pu(T)*pu(M))/n,Eu((m-(T*T+M*M)*n*n)/(2*n))];return[I/n,Eu((m-(T*T+M*M)*n*n)/(2*n))]},o}function wr(){return $n(oG).scale(155.424).center([0,33.6442])}function t6(){return wr().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-0.6,38.7])}function mw(u){let f=u.length;return{point:function(r,n){let m=-1;while(++m<f)u[m].point(r,n)},sphere:function(){let r=-1;while(++r<f)u[r].sphere()},lineStart:function(){let r=-1;while(++r<f)u[r].lineStart()},lineEnd:function(){let r=-1;while(++r<f)u[r].lineEnd()},polygonStart:function(){let r=-1;while(++r<f)u[r].polygonStart()},polygonEnd:function(){let r=-1;while(++r<f)u[r].polygonEnd()}}}function TG(){let u,f,r=t6(),n,m=wr().rotate([154,0]).center([-2,58.5]).parallels([55,65]),b,o=wr().rotate([157,0]).center([-3,19.9]).parallels([8,18]),T,G,M={point:function(S,E){G=[S,E]},lineStart(){},lineEnd(){},polygonStart(){},polygonEnd(){}};function I(S){let E=S[0],O=S[1];return G=null,(n.point(E,O),G)||(b.point(E,O),G)||(T.point(E,O),G)}I.invert=function(S){let E=r.scale(),O=r.translate(),$=(S[0]-O[0])/E,P=(S[1]-O[1])/E;return(P>=0.12&&P<0.234&&$>=-0.425&&$<-0.214?m:P>=0.166&&P<0.234&&$>=-0.214&&$<-0.115?o:r).invert(S)},I.stream=function(S){return u&&f===S?u:u=mw([r.stream(f=S),m.stream(S),o.stream(S)])},I.precision=function(S){if(!arguments.length)return r.precision();return r.precision(S),m.precision(S),o.precision(S),D()},I.scale=function(S){if(!arguments.length)return r.scale();return r.scale(S),m.scale(S*0.35),o.scale(S),I.translate(r.translate())},I.translate=function(S){if(!arguments.length)return r.translate();let E=r.scale(),O=+S[0],$=+S[1];return n=r.translate(S).clipExtent([[O-0.455*E,$-0.238*E],[O+0.455*E,$+0.238*E]]).stream(M),b=m.translate([O-0.307*E,$+0.201*E]).clipExtent([[O-0.425*E+h,$+0.12*E+h],[O-0.214*E-h,$+0.234*E-h]]).stream(M),T=o.translate([O-0.205*E,$+0.212*E]).clipExtent([[O-0.214*E+h,$+0.166*E+h],[O-0.115*E-h,$+0.234*E-h]]).stream(M),D()},I.fitExtent=function(S,E){return $r(I,S,E)},I.fitSize=function(S,E){return Cn(I,S,E)},I.fitWidth=function(S,E){return On(I,S,E)},I.fitHeight=function(S,E){return Pn(I,S,E)};function D(){return u=f=null,I}return I.scale(1070)}function x6(u){return function(f,r){let n=_(f),m=_(r),b=u(n*m);if(b===1/0)return[2,0];return[b*m*z(f),b*z(r)]}}function y0(u){return function(f,r){let n=Tu(f*f+r*r),m=u(n),b=z(m),o=_(m);return[Pu(f*b,n*o),Eu(n&&r*b/n)]}}var _5=x6(function(u){return Tu(2/(1+u))});_5.invert=y0(function(u){return 2*Eu(u/2)});function MG(){return Bu(_5).scale(124.75).clipAngle(179.999)}var g5=x6(function(u){return(u=w6(u))&&u/z(u)});g5.invert=y0(function(u){return u});function GG(){return Bu(g5).scale(79.4188).clipAngle(179.999)}function wn(u,f){return[u,Sr(on((Du+f)/2))]}wn.invert=function(u,f){return[u,2*P0(O6(f))-Du]};function IG(){return c5(wn).scale(961/Ku)}function c5(u){let f=Bu(u),r=f.center,n=f.scale,m=f.translate,b=f.clipExtent,o=null,T,G,M;f.scale=function(D){return arguments.length?(n(D),I()):n()},f.translate=function(D){return arguments.length?(m(D),I()):m()},f.center=function(D){return arguments.length?(r(D),I()):r()},f.clipExtent=function(D){return arguments.length?(D==null?o=T=G=M=null:(o=+D[0][0],T=+D[0][1],G=+D[1][0],M=+D[1][1]),I()):o==null?null:[[o,T],[G,M]]};function I(){let D=d*n(),S=f(W6(f.rotate()).invert([0,0]));return b(o==null?[[S[0]-D,S[1]-D],[S[0]+D,S[1]+D]]:u===wn?[[Math.max(S[0]-D,o),T],[Math.min(S[0]+D,G),M]]:[[o,Math.max(S[1]-D,T)],[G,Math.min(S[1]+D,M)]])}return I()}function e6(u){return on((Du+u)/2)}function SG(u,f){let r=_(u),n=u===f?z(u):Sr(r/_(f))/Sr(e6(f)/e6(u)),m=r*$6(e6(u),n)/n;if(!n)return wn;function b(o,T){if(m>0){if(T<-Du+h)T=-Du+h}else if(T>Du-h)T=Du-h;let G=m/$6(e6(T),n);return[G*z(n*o),m-G*_(n*o)]}return b.invert=function(o,T){let G=m-T,M=pu(n)*Tu(o*o+G*G),I=Pu(o,x(G))*pu(G);if(G*n<0)I-=d*pu(o)*pu(G);return[I/n,2*P0($6(m/M,1/n))-Du]},b}function DG(){return $n(SG).scale(109.5).parallels([30,30])}function An(u,f){return[u,f]}An.invert=An;function EG(){return Bu(An).scale(152.63)}function CG(u,f){let r=_(u),n=u===f?z(u):(r-_(f))/(f-u),m=r/n+u;if(x(n)<h)return An;function b(o,T){let G=m-T,M=n*o;return[G*z(M),m-G*_(M)]}return b.invert=function(o,T){let G=m-T,M=Pu(o,x(G))*pu(G);if(G*n<0)M-=d*pu(o)*pu(G);return[M/n,m-pu(n)*Tu(o*o+G*G)]},b}function OG(){return $n(CG).scale(131.154).center([0,13.9389])}var cm=1.340264,hm=-0.081106,vm=0.000893,pm=0.003796,l6=Tu(3)/2,bw=12;function h5(u,f){let r=Eu(l6*z(f)),n=r*r,m=n*n*n;return[u*_(r)/(l6*(cm+3*hm*n+m*(7*vm+9*pm*n))),r*(cm+hm*n+m*(vm+pm*n))]}h5.invert=function(u,f){let r=f,n=r*r,m=n*n*n;for(let b=0,o,T,G;b<bw;++b)if(T=r*(cm+hm*n+m*(vm+pm*n))-f,G=cm+3*hm*n+m*(7*vm+9*pm*n),r-=o=T/G,n=r*r,m=n*n*n,x(o)<of)break;return[l6*u*(cm+3*hm*n+m*(7*vm+9*pm*n))/_(r),Eu(z(r)/l6)]};function PG(){return Bu(h5).scale(177.158)}function v5(u,f){let r=_(f),n=_(u)*r;return[r*z(u)/n,z(f)/n]}v5.invert=y0(P0);function $G(){return Bu(v5).scale(144.049).clipAngle(60)}function wG(){let u=1,f=0,r=0,n=1,m=1,b=0,o,T,G=null,M,I,D,S=1,E=1,O=Yf({point:function(w,Q){let L=R([w,Q]);this.stream.point(L[0],L[1])}}),$=If,P,C;function A(){return S=u*n,E=u*m,P=C=null,R}function R(w){let Q=w[0]*S,L=w[1]*E;if(b){let F=L*o-Q*T;Q=Q*o+L*T,L=F}return[Q+f,L+r]}return R.invert=function(w){let Q=w[0]-f,L=w[1]-r;if(b){let F=L*o+Q*T;Q=Q*o-L*T,L=F}return[Q/S,L/E]},R.stream=function(w){return P&&C===w?P:P=O($(C=w))},R.postclip=function(w){return arguments.length?($=w,G=M=I=D=null,A()):$},R.clipExtent=function(w){return arguments.length?($=w==null?(G=M=I=D=null,If):Vf(G=+w[0][0],M=+w[0][1],I=+w[1][0],D=+w[1][1]),A()):G==null?null:[[G,M],[I,D]]},R.scale=function(w){return arguments.length?(u=+w,A()):u},R.translate=function(w){return arguments.length?(f=+w[0],r=+w[1],A()):[f,r]},R.angle=function(w){return arguments.length?(b=w%360*p,T=z(b),o=_(b),A()):b*nu},R.reflectX=function(w){return arguments.length?(n=w?-1:1,A()):n<0},R.reflectY=function(w){return arguments.length?(m=w?-1:1,A()):m<0},R.fitExtent=function(w,Q){return $r(R,w,Q)},R.fitSize=function(w,Q){return Cn(R,w,Q)},R.fitWidth=function(w,Q){return On(R,w,Q)},R.fitHeight=function(w,Q){return Pn(R,w,Q)},R}function p5(u,f){let r=f*f,n=r*r;return[u*(0.8707-0.131979*r+n*(-0.013791+n*(0.003971*r-0.001529*n))),f*(1.007226+r*(0.015085+n*(-0.044475+0.028874*r-0.005916*n)))]}p5.invert=function(u,f){let r=f,n=25,m;do{let o=r*r,T=o*o;r-=m=(r*(1.007226+o*(0.015085+T*(-0.044475+0.028874*o-0.005916*T)))-f)/(1.007226+o*(0.045255+T*(-0.311325+0.259866*o-0.06507600000000001*T)))}while(x(m)>h&&--n>0);let b=r*r;return[u/(0.8707+b*(-0.131979+b*(-0.013791+b*b*b*(0.003971-0.001529*b)))),r]};function AG(){return Bu(p5).scale(175.295)}function y5(u,f){return[_(f)*z(u),z(f)]}y5.invert=y0(Eu);function RG(){return Bu(y5).scale(249.5).clipAngle(90+h)}function t5(u,f){let r=_(f),n=1+_(u)*r;return[r*z(u)/n,z(f)/n]}t5.invert=y0(function(u){return 2*P0(u)});function QG(){return Bu(t5).scale(250).clipAngle(142)}function x5(u,f){return[Sr(on((Du+f)/2)),-u]}x5.invert=function(u,f){return[-f,2*P0(O6(u))-Du]};function LG(){let u=c5(x5),f=u.center,r=u.rotate;return u.center=function(n){return arguments.length?f([-n[1],n[0]]):(n=f(),[n[1],-n[0]])},u.rotate=function(n){return arguments.length?r([n[0],n[1],n.length>2?n[2]+90:90]):(n=r(),[n[0],n[1],n[2]-90])},r([0,0,90]).scale(159.155)}function ow(u,f){return u.parent===f.parent?1:2}function Tw(u){return u.reduce(Mw,0)/u.length}function Mw(u,f){return u+f.x}function Gw(u){return 1+u.reduce(Iw,0)}function Iw(u,f){return Math.max(u,f.y)}function Sw(u){let f;while(f=u.children)u=f[0];return u}function Dw(u){let f;while(f=u.children)u=f[f.length-1];return u}function ZG(){let u=ow,f=1,r=1,n=!1;function m(b){let o,T=0;b.eachAfter(function(S){let E=S.children;if(E)S.x=Tw(E),S.y=Gw(E);else S.x=o?T+=u(S,o):0,S.y=0,o=S});let G=Sw(b),M=Dw(b),I=G.x-u(G,M)/2,D=M.x+u(M,G)/2;return b.eachAfter(n?function(S){S.x=(S.x-b.x)*f,S.y=(b.y-S.y)*r}:function(S){S.x=(S.x-I)/(D-I)*f,S.y=(1-(b.y?S.y/b.y:1))*r})}return m.separation=function(b){return arguments.length?(u=b,m):u},m.size=function(b){return arguments.length?(n=!1,f=+b[0],r=+b[1],m):n?null:[f,r]},m.nodeSize=function(b){return arguments.length?(n=!0,f=+b[0],r=+b[1],m):n?[f,r]:null},m}class Rn{data;depth;height;parent;constructor(u){this.data=u,this.depth=0,this.height=0,this.parent=null}count(){return this.eachAfter(Ew)}each(u,f){let r=-1;for(let n of this)u.call(f,n,++r,this);return this}eachAfter(u,f){let r=this,n=[r],m=[],b,o,T,G=-1;while(r=n.pop())if(m.push(r),b=r.children)for(o=0,T=b.length;o<T;++o)n.push(b[o]);while(r=m.pop())u.call(f,r,++G,this);return this}eachBefore(u,f){let r=this,n=[r],m,b,o=-1;while(r=n.pop())if(u.call(f,r,++o,this),m=r.children)for(b=m.length-1;b>=0;--b)n.push(m[b]);return this}find(u,f){let r=-1;for(let n of this)if(u.call(f,n,++r,this))return n;return}sum(u){return this.eachAfter(function(f){let r=+u(f.data)||0,n=f.children,m=n&&n.length;if(m)while(--m>=0)r+=n[m].value;f.value=r})}sort(u){return this.eachBefore(function(f){if(f.children)f.children.sort(u)})}path(u){let f=this,r=Cw(f,u),n=[f];while(f!==r)f=f.parent,n.push(f);let m=n.length;while(u!==r)n.splice(m,0,u),u=u.parent;return n}ancestors(){let u=this,f=[u];while(u=u.parent)f.push(u);return f}descendants(){return Array.from(this)}leaves(){let u=[];return this.eachBefore(function(f){if(!f.children)u.push(f)}),u}links(){let u=this,f=[];return u.each(function(r){if(r!==u)f.push({source:r.parent,target:r})}),f}copy(){return l5(this).eachBefore($w)}*[Symbol.iterator](){let u=this,f,r=[u],n,m,b;do{f=r.reverse(),r=[];while(u=f.pop())if(yield u,n=u.children)for(m=0,b=n.length;m<b;++m)r.push(n[m])}while(r.length)}}function Ew(u){let f=0,r=u.children,n=r&&r.length;if(!n)f=1;else while(--n>=0)f+=r[n].value;u.value=f}function Cw(u,f){if(u===f)return u;let r=u.ancestors(),n=f.ancestors(),m=null,b=r.pop(),o=n.pop();while(b===o)m=b,b=r.pop(),o=n.pop();return m}function Ow(u){return u.children}function Pw(u){return Array.isArray(u)?u[1]:null}function $w(u){if(u.data.value!==void 0)u.value=u.data.value;u.data=u.data.data}function e5(u){let f=0,r=u;do r.height=f;while((r=r.parent)&&r.height<++f)}function l5(u,f){if(u instanceof Map){if(u=[void 0,u],f===void 0)f=Pw}else if(f===void 0)f=Ow;let r=new Rn(u),n,m=[r],b,o,T,G;while(n=m.pop()){let M=f(n.data);if(M&&(o=Array.from(M))&&(G=o.length)){n.children=Array(G);for(T=G-1;T>=0;--T)m.push(b=n.children[T]=new Rn(o[T])),b.parent=n,b.depth=n.depth+1}}return r.eachBefore(e5)}function Qn(u){return u==null?null:d5(u)}function d5(u){if(typeof u!=="function")throw Error();return u}function Sf(){return 0}function Df(u){return function(){return u}}function Ar(){let u=1;return()=>(u=(1664525*u+1013904223)%4294967296)/4294967296}function i5(u){return typeof u==="object"&&"length"in u?Array.prototype.slice.call(u):Array.from(u)}function JG(u,f){let r=u.length,n,m;while(r)m=f()*r--|0,n=u[r],u[r]=u[m],u[m]=n;return u}function FG(u){return a5(u,Ar())}function a5(u,f){let r=0,n=(u=JG(Array.from(u),f)).length,m=[],b,o;while(r<n)if(b=u[r],o&&KG(o,b))++r;else o=Aw(m=ww(m,b)),r=0;return o}function ww(u,f){let r,n;if(s5(f,u))return[f];for(r=0;r<u.length;++r)if(d6(f,u[r])&&s5(ym(u[r],f),u))return[u[r],f];for(r=0;r<u.length-1;++r)for(n=r+1;n<u.length;++n)if(d6(ym(u[r],u[n]),f)&&d6(ym(u[r],f),u[n])&&d6(ym(u[n],f),u[r])&&s5(UG(u[r],u[n],f),u))return[u[r],u[n],f];throw Error()}function d6(u,f){let r=u.r-f.r,n=f.x-u.x,m=f.y-u.y;return r<0||r*r<n*n+m*m}function KG(u,f){let r=u.r-f.r+Math.max(u.r,f.r,1)*0.000000001,n=f.x-u.x,m=f.y-u.y;return r>0&&r*r>n*n+m*m}function s5(u,f){for(let r=0;r<f.length;++r)if(!KG(u,f[r]))return!1;return!0}function Aw(u){switch(u.length){case 1:return Rw(u[0]);case 2:return ym(u[0],u[1]);case 3:return UG(u[0],u[1],u[2]);default:throw Error()}}function Rw(u){return{x:u.x,y:u.y,r:u.r}}function ym(u,f){let{x:r,y:n,r:m}=u,b=f.x,o=f.y,T=f.r,G=b-r,M=o-n,I=T-m,D=Math.sqrt(G*G+M*M);return{x:(r+b+G/D*I)/2,y:(n+o+M/D*I)/2,r:(D+m+T)/2}}function UG(u,f,r){let{x:n,y:m,r:b}=u,o=f.x,T=f.y,G=f.r,M=r.x,I=r.y,D=r.r,S=n-o,E=n-M,O=m-T,$=m-I,P=G-b,C=D-b,A=n*n+m*m-b*b,R=A-o*o-T*T+G*G,w=A-M*M-I*I+D*D,Q=E*O-S*$,L=(O*w-$*R)/(Q*2)-n,F=($*P-O*C)/Q,N=(E*R-S*w)/(Q*2)-m,H=(S*C-E*P)/Q,K=F*F+H*H-1,B=2*(b+L*F+N*H),V=L*L+N*N-b*b,W=-(Math.abs(K)>0.000001?(B+Math.sqrt(B*B-4*K*V))/(2*K):V/B);return{x:n+L+F*W,y:m+N+H*W,r:W}}function BG(u,f,r){let n=u.x-f.x,m,b,o=u.y-f.y,T,G,M=n*n+o*o;if(M)if(b=f.r+r.r,b*=b,G=u.r+r.r,G*=G,b>G)m=(M+G-b)/(2*M),T=Math.sqrt(Math.max(0,G/M-m*m)),r.x=u.x-m*n-T*o,r.y=u.y-m*o+T*n;else m=(M+b-G)/(2*M),T=Math.sqrt(Math.max(0,b/M-m*m)),r.x=f.x+m*n-T*o,r.y=f.y+m*o+T*n;else r.x=f.x+r.r,r.y=f.y}function WG(u,f){let r=u.r+f.r-0.000001,n=f.x-u.x,m=f.y-u.y;return r>0&&r*r>n*n+m*m}function NG(u){let f=u._,r=u.next._,n=f.r+r.r,m=(f.x*r.r+r.x*f.r)/n,b=(f.y*r.r+r.y*f.r)/n;return m*m+b*b}function i6(u){return{_:u,next:null,previous:null}}function uo(u,f){let r=(u=i5(u)).length;if(!r)return 0;let n,m,b,o,T,G,M,I,D,S,E=u[0];if(E.x=0,E.y=0,!(r>1))return E.r;let O=u[1];if(E.x=-O.r,O.x=E.r,O.y=0,!(r>2))return E.r+O.r;BG(u[1],u[0],u[2]),n=i6(u[0]),m=i6(u[1]),b=i6(u[2]),n.next=b.previous=m,m.next=n.previous=b,b.next=m.previous=n;u:for(S=3;S<r;++S){BG(n._,m._,u[S]),b=i6(u[S]),o=m.next,T=n.previous,G=m._.r,M=n._.r;do if(G<=M){if(WG(o._,b._)){m=o,n.next=m,m.previous=n,--S;continue u}G+=o._.r,o=o.next}else{if(WG(T._,b._)){n=T,n.next=m,m.previous=n,--S;continue u}M+=T._.r,T=T.previous}while(o!==T.next);b.previous=n,b.next=m,n.next=m.previous=m=b,I=NG(n);while((b=b.next)!==m)if((D=NG(b))<I)n=b,I=D;m=n.next}let $=[m._],P=m;while((P=P.next)!==m)$.push(P._);let C=a5($,f);for(S=0;S<r;++S){let A=u[S];A.x-=C.x,A.y-=C.y}return C.r}function HG(u){return uo(u,Ar()),u}function Qw(u){return Math.sqrt(u.value)}function YG(){let u=null,f=1,r=1,n=Sf;function m(b){let o=Ar();if(b.x=f/2,b.y=r/2,u)b.eachBefore(VG(u)).eachAfter(fo(n,0.5,o)).eachBefore(XG(1));else b.eachBefore(VG(Qw)).eachAfter(fo(Sf,1,o)).eachAfter(fo(n,b.r/Math.min(f,r),o)).eachBefore(XG(Math.min(f,r)/(2*b.r)));return b}return m.radius=function(b){return arguments.length?(u=Qn(b),m):u},m.size=function(b){return arguments.length?(f=+b[0],r=+b[1],m):[f,r]},m.padding=function(b){return arguments.length?(n=typeof b==="function"?b:Df(+b),m):n},m}function VG(u){return function(f){if(!f.children)f.r=Math.max(0,+u(f)||0)}}function fo(u,f,r){return function(n){let m=n.children;if(m){let b,o=m.length,T=u(n)*f||0,G;if(T)for(b=0;b<o;++b)m[b].r+=T;if(G=uo(m,r),T)for(b=0;b<o;++b)m[b].r-=T;n.r=G+T}}}function XG(u){return function(f){let r=f.parent;if(f.r=f.r*u,r)f.x=r.x+u*f.x,f.y=r.y+u*f.y}}function tm(u){u.x0=Math.round(u.x0),u.y0=Math.round(u.y0),u.x1=Math.round(u.x1),u.y1=Math.round(u.y1)}function t0(u,f,r,n,m){let b=u.children,o,T=-1,G=b.length,M=u.value&&(n-f)/u.value;while(++T<G)o=b[T],o.y0=r,o.y1=m,o.x0=f,o.x1=f+=o.value*M}function qG(){let u=1,f=1,r=0,n=!1;function m(o){let T=o.height+1;if(o.x0=o.y0=r,o.x1=u,o.y1=f/T,o.eachBefore(b(f,T)),n)o.eachBefore(tm);return o}function b(o,T){return function(G){if(G.children)t0(G,G.x0,o*(G.depth+1)/T,G.x1,o*(G.depth+2)/T);let{x0:M,y0:I}=G,D=G.x1-r,S=G.y1-r;if(D<M)M=D=(M+D)/2;if(S<I)I=S=(I+S)/2;G.x0=M,G.y0=I,G.x1=D,G.y1=S}}return m.round=function(o){return arguments.length?(n=!!o,m):n},m.size=function(o){return arguments.length?(u=+o[0],f=+o[1],m):[u,f]},m.padding=function(o){return arguments.length?(r=+o,m):r},m}var Lw={depth:-1},zG={},ro={};function Zw(u){return u.id}function Jw(u){return u.parentId}function kG(){let u=Zw,f=Jw,r=null;function n(m){let b=Array.from(m),o=u,T=f,G,M,I,D,S,E,O,$,P=new Map;if(r!=null){let A=b.map((Q,L)=>Fw(r(Q,L,m))),R=A.map(jG),w=new Set(A).add("");for(let Q of R)if(!w.has(Q))w.add(Q),A.push(Q),R.push(jG(Q)),b.push(ro);o=(Q,L)=>A[L],T=(Q,L)=>R[L]}for(I=0,G=b.length;I<G;++I){if(M=b[I],E=b[I]=new Rn(M),(O=o(M,I,m))!=null&&(O+=""))$=E.id=O,P.set($,P.has($)?zG:E);if((O=T(M,I,m))!=null&&(O+=""))E.parent=O}for(I=0;I<G;++I)if(E=b[I],O=E.parent){if(S=P.get(O),!S)throw Error(`missing: ${O}`);if(S===zG)throw Error(`ambiguous: ${O}`);if(S.children)S.children.push(E);else S.children=[E];E.parent=S}else{if(D)throw Error("multiple roots");D=E}if(!D)throw Error("no root");if(r!=null){while(D.data===ro&&D.children.length===1)D=D.children[0],--G;for(let A=b.length-1;A>=0;--A){if(E=b[A],E.data!==ro)break;E.data=null}}let C=D;if(C.parent=Lw,D.eachBefore(function(A){A.depth=A.parent.depth+1,--G}).eachBefore(e5),C.parent=null,G>0)throw Error("cycle");return D}return n.id=function(m){return arguments.length?(u=Qn(m),n):u},n.parentId=function(m){return arguments.length?(f=Qn(m),n):f},n.path=function(m){return arguments.length?(r=Qn(m),n):r},n}function Fw(u){let f=`${u}`,r=f.length;if(no(f,r-1)&&!no(f,r-2))f=f.slice(0,-1);return f[0]==="/"?f:`/${f}`}function jG(u){let f=u.length;if(f<2)return"";while(--f>1)if(no(u,f))break;return u.slice(0,f)}function no(u,f){if(u[f]==="/"){let r=0;while(f>0&&u[--f]==="\\")++r;if((r&1)===0)return!0}return!1}function Kw(u,f){return u.parent===f.parent?1:2}function mo(u){let f=u.children;return f?f[0]:u.t}function bo(u){let f=u.children;return f?f[f.length-1]:u.t}function Uw(u,f,r){let n=r/(f.i-u.i);f.c-=n,f.s+=r,u.c+=n,f.z+=r,f.m+=r}function Bw(u){let f=0,r=0,n=u.children,m=n.length,b;while(--m>=0)b=n[m],b.z+=f,b.m+=f,f+=b.s+(r+=b.c)}function Ww(u,f,r){return u.a.parent===f.parent?u.a:r}class s6{_;parent;children;A;a;z;m;c;s;t;i;constructor(u,f){this._=u,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=f}eachAfter(u){let f=this,r=[f],n=[],m,b,o;while(f=r.pop())if(n.push(f),m=f.children)for(b=0,o=m.length;b<o;++b)r.push(m[b]);while(f=n.pop())u(f);return this}eachBefore(u){let f=this,r=[f],n,m;while(f=r.pop())if(u(f),n=f.children)for(m=n.length-1;m>=0;--m)r.push(n[m]);return this}}function Nw(u){let f=new s6(u,0),r,n=[f],m,b,o,T;while(r=n.pop())if(b=r._.children){r.children=Array(T=b.length);for(o=T-1;o>=0;--o)n.push(m=r.children[o]=new s6(b[o],o)),m.parent=r}return(f.parent=new s6(null,0)).children=[f],f}function _G(){let u=Kw,f=1,r=1,n=null;function m(M){let I=Nw(M);if(I.eachAfter(b),I.parent.m=-I.z,I.eachBefore(o),n)M.eachBefore(G);else{let D=M,S=M,E=M;M.eachBefore(function(A){if(A.x<D.x)D=A;if(A.x>S.x)S=A;if(A.depth>E.depth)E=A});let O=D===S?1:u(D,S)/2,$=O-D.x,P=f/(S.x+O+$),C=r/(E.depth||1);M.eachBefore(function(A){A.x=(A.x+$)*P,A.y=A.depth*C})}return M}function b(M){let I=M.children,D=M.parent.children,S=M.i?D[M.i-1]:null;if(I){Bw(M);let E=(I[0].z+I[I.length-1].z)/2;if(S)M.z=S.z+u(M._,S._),M.m=M.z-E;else M.z=E}else if(S)M.z=S.z+u(M._,S._);M.parent.A=T(M,S,M.parent.A||D[0])}function o(M){M._.x=M.z+M.parent.m,M.m+=M.parent.m}function T(M,I,D){if(I){let S=M,E=M,O=I,$=S.parent.children[0],P=S.m,C=E.m,A=O.m,R=$.m,w;while(O=bo(O),S=mo(S),O&&S){if($=mo($),E=bo(E),E.a=M,w=O.z+A-S.z-P+u(O._,S._),w>0)Uw(Ww(O,M,D),M,w),P+=w,C+=w;A+=O.m,P+=S.m,R+=$.m,C+=E.m}if(O&&!bo(E))E.t=O,E.m+=A-C;if(S&&!mo($))$.t=S,$.m+=P-R,D=M}return D}function G(M){M.x=M.x*f,M.y=M.depth*r}return m.separation=function(M){return arguments.length?(u=M,m):u},m.size=function(M){return arguments.length?(n=!1,f=+M[0],r=+M[1],m):n?null:[f,r]},m.nodeSize=function(M){return arguments.length?(n=!0,f=+M[0],r=+M[1],m):n?[f,r]:null},m}function qf(u,f,r,n,m){let b=u.children,o,T=-1,G=b.length,M=u.value&&(m-r)/u.value;while(++T<G)o=b[T],o.x0=f,o.x1=n,o.y0=r,o.y1=r+=o.value*M}var oo=(1+Math.sqrt(5))/2;function To(u,f,r,n,m,b){let o=[],T=f.children,G,M,I=0,D=0,S=T.length,E,O,$=f.value,P,C,A,R,w,Q,L;while(I<S){E=m-r,O=b-n;do P=T[D++].value;while(!P&&D<S);C=A=P,Q=Math.max(O/E,E/O)/($*u),L=P*P*Q,w=Math.max(A/L,L/C);for(;D<S;++D){if(P+=M=T[D].value,M<C)C=M;if(M>A)A=M;if(L=P*P*Q,R=Math.max(A/L,L/C),R>w){P-=M;break}w=R}if(o.push(G={value:P,dice:E<O,children:T.slice(I,D)}),G.dice)t0(G,r,n,m,$?n+=O*P/$:b);else qf(G,r,n,$?r+=E*P/$:m,b);$-=P,I=D}return o}var Hw=function u(f){function r(n,m,b,o,T){To(f,n,m,b,o,T)}return r.ratio=function(n){return u((n=+n)>1?n:1)},r}(oo),Mo=Hw;function gG(){let u=Mo,f=!1,r=1,n=1,m=[0],b=Sf,o=Sf,T=Sf,G=Sf,M=Sf;function I(S){if(S.x0=S.y0=0,S.x1=r,S.y1=n,S.eachBefore(D),m=[0],f)S.eachBefore(tm);return S}function D(S){let E=m[S.depth],O=S.x0+E,$=S.y0+E,P=S.x1-E,C=S.y1-E;if(P<O)O=P=(O+P)/2;if(C<$)$=C=($+C)/2;if(S.x0=O,S.y0=$,S.x1=P,S.y1=C,S.children){if(E=m[S.depth+1]=b(S)/2,O+=M(S)-E,$+=o(S)-E,P-=T(S)-E,C-=G(S)-E,P<O)O=P=(O+P)/2;if(C<$)$=C=($+C)/2;u(S,O,$,P,C)}}return I.round=function(S){return arguments.length?(f=!!S,I):f},I.size=function(S){return arguments.length?(r=+S[0],n=+S[1],I):[r,n]},I.tile=function(S){return arguments.length?(u=d5(S),I):u},I.padding=function(S){return arguments.length?I.paddingInner(S).paddingOuter(S):I.paddingInner()},I.paddingInner=function(S){return arguments.length?(b=typeof S==="function"?S:Df(+S),I):b},I.paddingOuter=function(S){return arguments.length?I.paddingTop(S).paddingRight(S).paddingBottom(S).paddingLeft(S):I.paddingTop()},I.paddingTop=function(S){return arguments.length?(o=typeof S==="function"?S:Df(+S),I):o},I.paddingRight=function(S){return arguments.length?(T=typeof S==="function"?S:Df(+S),I):T},I.paddingBottom=function(S){return arguments.length?(G=typeof S==="function"?S:Df(+S),I):G},I.paddingLeft=function(S){return arguments.length?(M=typeof S==="function"?S:Df(+S),I):M},I}function cG(u,f,r,n,m){let b=u.children,o=b.length,T,G=Array(o+1);G[0]=T=0;for(let I=0;I<o;++I)G[I+1]=T+=b[I].value;M(0,o,u.value,f,r,n,m);function M(I,D,S,E,O,$,P){if(I>=D-1){let F=b[I];F.x0=E,F.y0=O,F.x1=$,F.y1=P;return}let C=G[I],A=S/2+C,R=I+1,w=D-1;while(R<w){let F=R+w>>>1;if(G[F]<A)R=F+1;else w=F}if(A-G[R-1]<G[R]-A&&I+1<R)--R;let Q=G[R]-C,L=S-Q;if($-E>P-O){let F=S?(E*L+$*Q)/S:$;M(I,R,Q,E,O,F,P),M(R,D,L,F,O,$,P)}else{let F=S?(O*L+P*Q)/S:P;M(I,R,Q,E,O,$,F),M(R,D,L,E,F,$,P)}}}function hG(u,f,r,n,m){(u.depth&1?qf:t0)(u,f,r,n,m)}var Vw=function u(f){function r(n,m,b,o,T){let G;if((G=n._squarify)&&G.ratio===f){let M,I,D,S=-1,E,O=G.length,$=n.value;while(++S<O){M=G[S],I=M.children;for(D=M.value=0,E=I.length;D<E;++D)M.value+=I[D].value;if(M.dice)t0(M,m,b,o,$?b+=(T-b)*M.value/$:T);else qf(M,m,b,$?m+=(o-m)*M.value/$:o,T);$-=M.value}}else{let M=To(f,n,m,b,o,T);M.ratio=f,n._squarify=M}}return r.ratio=function(n){return u((n=+n)>1?n:1)},r}(oo),Xw=Vw;function vG(u){let f=-1,r=u.length,n,m=u[r-1],b=0;while(++f<r)n=m,m=u[f],b+=n[1]*m[0]-n[0]*m[1];return b/2}function pG(u){let f=-1,r=u.length,n=0,m=0,b,o=u[r-1],T,G=0;while(++f<r)b=o,o=u[f],G+=T=b[0]*o[1]-o[0]*b[1],n+=(b[0]+o[0])*T,m+=(b[1]+o[1])*T;return G*=3,[n/G,m/G]}function Go(u,f,r){return(f[0]-u[0])*(r[1]-u[1])-(f[1]-u[1])*(r[0]-u[0])}function Yw(u,f){return u[0]-f[0]||u[1]-f[1]}function yG(u){let f=u.length,r=[0,1],n=2;for(let m=2;m<f;++m){while(n>1&&Go(u[r[n-2]],u[r[n-1]],u[m])<=0)--n;r[n++]=m}return r.slice(0,n)}function tG(u){let f=u.length;if(f<3)return null;let r=Array(f),n=Array(f);for(let M=0;M<f;++M)r[M]=[+u[M][0],+u[M][1],M];r.sort(Yw);for(let M=0;M<f;++M)n[M]=[r[M][0],-r[M][1]];let m=yG(r),b=yG(n),o=b[0]===m[0],T=b[b.length-1]===m[m.length-1],G=[];for(let M=m.length-1;M>=0;--M)G.push(u[r[m[M]][2]]);for(let M=+o;M<b.length-+T;++M)G.push(u[r[b[M]][2]]);return G}function xG(u,f){let r=u.length,n=u[r-1],m=f[0],b=f[1],o=n[0],T=n[1],G,M,I=!1;for(let D=0;D<r;++D){if(n=u[D],G=n[0],M=n[1],M>b!==T>b&&m<(o-G)*(b-M)/(T-M)+G)I=!I;o=G,T=M}return I}function eG(u){let f=-1,r=u.length,n=u[r-1],m,b,o=n[0],T=n[1],G=0;while(++f<r)m=o,b=T,n=u[f],o=n[0],T=n[1],m-=o,b-=T,G+=Math.hypot(m,b);return G}var qw=Math.random,bu=qw;function lG(u){function f(r,n){let m=r==null?0:+r,b=n==null?1:+n;if(n===void 0){if(r!==void 0)b=m,m=0}else b-=m;return function(){return u()*b+m}}return f.source=lG,f}var zw=lG(bu),jw=zw;function dG(u){function f(r,n){let m,b;if(n===void 0)b=Math.floor(r),m=0;else m=Math.floor(r),b=Math.floor(n)-m;return function(){return Math.floor(u()*b+m)}}return f.source=dG,f}var kw=dG(bu),_w=kw;function iG(u){function f(r,n){let m,b,o=r==null?0:+r,T=n==null?1:+n;return function(){let G;if(m!=null)G=m,m=null;else do m=u()*2-1,G=u()*2-1,b=m*m+G*G;while(!b||b>1);return o+T*G*Math.sqrt(-2*Math.log(b)/b)}}return f.source=iG,f}var gw=iG(bu),xm=gw;function sG(u){let f=xm.source(u);function r(n,m){let b=f(n,m);return function(){return Math.exp(b())}}return r.source=sG,r}var cw=sG(bu),hw=cw;function aG(u){function f(r){let n=+r;if(n<=0)return()=>0;return function(){let m=0,b=n;for(;b>1;--b)m+=u();return m+b*u()}}return f.source=aG,f}var vw=aG(bu),Io=vw;function uI(u){let f=Io.source(u);function r(n){let m=+n;if(m===0)return u;let b=f(m);return function(){return b()/m}}return r.source=uI,r}var pw=uI(bu),yw=pw;function fI(u){function f(r){return function(){return-Math.log1p(-u())/r}}return f.source=fI,f}var tw=fI(bu),xw=tw;function rI(u){function f(r){let n=+r;if(n<0)throw RangeError("invalid alpha");return n=1/-n,function(){return Math.pow(1-u(),n)}}return f.source=rI,f}var ew=rI(bu),lw=ew;function nI(u){function f(r){let n=+r;if(n<0||n>1)throw RangeError("invalid p");return function(){return Math.floor(u()+n)}}return f.source=nI,f}var dw=nI(bu),iw=dw;function mI(u){function f(r){let n=+r;if(n<0||n>1)throw RangeError("invalid p");if(n===0)return()=>1/0;if(n===1)return()=>1;return n=Math.log1p(-n),function(){return 1+Math.floor(Math.log1p(-u())/n)}}return f.source=mI,f}var sw=mI(bu),So=sw;function bI(u){let f=xm.source(u)();function r(n,m){let b=+n;if(b<0)throw RangeError("invalid k");if(b===0)return()=>0;let o=m==null?1:+m;if(b===1)return()=>-Math.log1p(-u())*o;let T=(b<1?b+1:b)-0.3333333333333333,G=1/(3*Math.sqrt(T)),M=b<1?()=>Math.pow(u(),1/b):()=>1;return function(){let I,D,S;do{do I=f(),D=1+G*I;while(D<=0);D*=D*D,S=1-u()}while(S>=1-0.0331*I*I*I*I&&Math.log(S)>=0.5*I*I+T*(1-D+Math.log(D)));return T*D*M()*o}}return r.source=bI,r}var aw=bI(bu),em=aw;function oI(u){let f=em.source(u);function r(n,m){let b=f(n),o=f(m);return function(){let T=b();return T===0?0:T/(T+o())}}return r.source=oI,r}var uA=oI(bu),Do=uA;function TI(u){let f=So.source(u),r=Do.source(u);function n(m,b){let o=+m,T=+b;if(T>=1)return()=>o;if(T<=0)return()=>0;return function(){let G=0,M=o,I=T;while(M*I>16&&M*(1-I)>16){let P=Math.floor((M+1)*I),C=r(P,M-P+1)();if(C<=I)G+=P,M-=P,I=(I-C)/(1-C);else M=P-1,I/=C}let D=I<0.5,S=D?I:1-I,E=f(S),O=E(),$=0;for(;O<=M;++$)O+=E();return G+(D?$:M-$)}}return n.source=TI,n}var fA=TI(bu),Eo=fA;function MI(u){function f(r,n,m){let b,o=+r;if(o===0)b=(M)=>-Math.log(M);else o=1/o,b=(M)=>Math.pow(M,o);let T=n==null?0:+n,G=m==null?1:+m;return function(){return T+G*b(-Math.log1p(-u()))}}return f.source=MI,f}var rA=MI(bu),nA=rA;function GI(u){function f(r,n){let m=r==null?0:+r,b=n==null?1:+n;return function(){return m+b*Math.tan(Math.PI*u())}}return f.source=GI,f}var mA=GI(bu),bA=mA;function II(u){function f(r,n){let m=r==null?0:+r,b=n==null?1:+n;return function(){let o=u();return m+b*Math.log(o/(1-o))}}return f.source=II,f}var oA=II(bu),TA=oA;function SI(u){let f=em.source(u),r=Eo.source(u);function n(m){return function(){let b=0,o=m;while(o>16){let M=Math.floor(0.875*o),I=f(M)();if(I>o)return b+r(M-1,o/I)();b+=M,o-=I}let T=-Math.log1p(-u()),G=0;for(;T<=o;++G)T-=Math.log1p(-u());return b+G}}return n.source=SI,n}var MA=SI(bu),GA=MA;function DI(u=Math.random()){let f=(0<=u&&u<1?u/0.00000000023283064365386963:Math.abs(u))|0;return()=>(f=1664525*f+1013904223|0,0.00000000023283064365386963*(f>>>0))}function Ru(u,f){switch(arguments.length){case 0:break;case 1:this.range(u);break;default:this.range(f).domain(u);break}return this}function w0(u,f){switch(arguments.length){case 0:break;case 1:{if(typeof u==="function")this.interpolator(u);else this.range(u);break}default:{if(this.domain(u),typeof f==="function")this.interpolator(f);else this.range(f);break}}return this}var Co=Symbol("implicit");function lm(){let u=new i0,f=[],r=[],n=Co;function m(b){let o=u.get(b);if(o===void 0){if(n!==Co)return n;u.set(b,o=f.push(b)-1)}return r[o%r.length]}return m.domain=function(b){if(!arguments.length)return f.slice();f=[],u=new i0;for(let o of b){if(u.has(o))continue;u.set(o,f.push(o)-1)}return m},m.range=function(b){return arguments.length?(r=Array.from(b),m):r.slice()},m.unknown=function(b){return arguments.length?(n=b,m):n},m.copy=function(){return lm().domain(f).range(r).unknown(n)},Ru.apply(m,arguments),m}function a6(...u){let f=lm().unknown(void 0),r=f.domain,n=f.range,m=0,b=1,o,T,G=!1,M=0,I=0,D=0.5;delete f.unknown;function S(){let O=r().length,$=b<m,P=$?b:m,C=$?m:b,A=P;if(o=(C-A)/Math.max(1,O-M+I*2),G)o=Math.floor(o);if(A+=(C-A-o*(O-M))*D,T=o*(1-M),G)A=Math.round(A),T=Math.round(T);let R=J0(O).map(function(w){return A+o*w});return n($?R.reverse():R),f}let E=f;return E.domain=function(O){return arguments.length?(r(O),S()):r()},E.range=function(O){return arguments.length?([m,b]=Array.from(O),m=+m,b=+b,S()):[m,b]},E.rangeRound=function(O){return[m,b]=Array.from(O),m=+m,b=+b,G=!0,S()},E.bandwidth=function(){return T},E.step=function(){return o},E.round=function(O){return arguments.length?(G=!!O,S()):G},E.padding=function(O){return arguments.length?(M=Math.min(1,I=+O),S()):M},E.paddingInner=function(O){return arguments.length?(M=Math.min(1,+O),S()):M},E.paddingOuter=function(O){return arguments.length?(I=+O,S()):I},E.align=function(O){return arguments.length?(D=Math.max(0,Math.min(1,+O)),S()):D},E.copy=function(){let O=a6().domain(r()).range([m,b]);return O.round(G),O.paddingInner(M),O.paddingOuter(I),O.align(D),O},Ru.apply(S(),arguments)}function EI(u){let f=u.copy;return u.padding=u.paddingOuter,delete u.paddingInner,delete u.paddingOuter,u.copy=function(){return EI(f())},u}function IA(...u){return EI(a6.apply(null,arguments).paddingInner(1))}function Oo(u){return function(){return u}}function zf(u){return+u}var CI=[0,1];function Hu(u){return u}function Po(u,f){return(f-=u=+u)?function(r){return(r-u)/f}:Oo(isNaN(f)?NaN:0.5)}function SA(u,f){let r;if(u>f)r=u,u=f,f=r;return function(n){return Math.max(u,Math.min(f,n))}}function DA(u,f,r){let n=u[0],m=u[1],b=f[0],o=f[1],T,G;if(m<n)T=Po(m,n),G=r(o,b);else T=Po(n,m),G=r(b,o);return function(M){return G(T(M))}}function EA(u,f,r){let n=Math.min(u.length,f.length)-1,m=Array(n),b=Array(n),o=-1;if(u[n]<u[0])u=u.slice().reverse(),f=f.slice().reverse();while(++o<n)m[o]=Po(u[o],u[o+1]),b[o]=r(f[o],f[o+1]);return function(T){let G=n0(u,T,1,n)-1;return b[G](m[G](T))}}function x0(u,f){return f.domain(u.domain()).range(u.range()).interpolate(u.interpolate()).clamp(u.clamp()).unknown(u.unknown())}function Rr(){let u=CI,f=CI,r=cu,n,m,b,o=Hu,T,G,M;function I(){let S=Math.min(u.length,f.length);if(o!==Hu)o=SA(u[0],u[S-1]);return T=S>2?EA:DA,G=M=null,D}function D(S){return S==null||isNaN(S=+S)?b:(G||(G=T(u.map(n),f,r)))(n(o(S)))}return D.invert=function(S){return o(m((M||(M=T(f,u.map(n),Vu)))(S)))},D.domain=function(S){return arguments.length?(u=Array.from(S,zf),I()):u.slice()},D.range=function(S){return arguments.length?(f=Array.from(S),I()):f.slice()},D.rangeRound=function(S){return f=Array.from(S),r=Kf,I()},D.clamp=function(S){return arguments.length?(o=S?!0:Hu,I()):o!==Hu},D.interpolate=function(S){return arguments.length?(r=S,I()):r},D.unknown=function(S){return arguments.length?(b=S,D):b},function(S,E){return n=S,m=E,I()}}function Qr(){return Rr()(Hu,Hu)}function u8(u,f,r,n){let m=Vr(u,f,r),b,o=Wf(n==null?",f":n);switch(o.type){case"s":{let T=Math.max(Math.abs(u),Math.abs(f));if(o.precision==null&&!isNaN(b=E6(m,T)))o.precision=b;return S6(o.toString(),T)}case"":case"e":case"g":case"p":case"r":{if(o.precision==null&&!isNaN(b=C6(m,Math.max(Math.abs(u),Math.abs(f)))))o.precision=b-(o.type==="e"?1:0);break}case"f":case"%":{if(o.precision==null&&!isNaN(b=D6(m)))o.precision=b-(o.type==="%"?1:0)*2;break}}return mn(o.toString())}function u0(u){let f=u.domain;return u.ticks=function(r){let n=f();return m0(n[0],n[n.length-1],r==null?10:r)},u.tickFormat=function(r,n){let m=f();return u8(m[0],m[m.length-1],r==null?10:r,n)},u.nice=function(r){if(r==null)r=10;let n=f(),m=0,b=n.length-1,o=n[m],T=n[b],G,M,I=10;if(T<o)M=o,o=T,T=M,M=m,m=b,b=M;while(I-- >0){if(M=_0(o,T,r),M===G)return n[m]=o,n[b]=T,u.domain(n);else if(M>0)o=Math.floor(o/M)*M,T=Math.ceil(T/M)*M;else if(M<0)o=Math.ceil(o*M)/M,T=Math.floor(T*M)/M;else break;G=M}return u},u}function $o(...u){let f=Qr();return f.copy=function(){return x0(f,$o())},Ru.apply(f,arguments),u0(f)}function wo(u){let f,r;function n(m){return m==null||isNaN(m=+m)?f:m}return n.invert=n,n.domain=n.range=function(m){return arguments.length?(r=Array.from(m,zf),n):r.slice()},n.unknown=function(m){return arguments.length?(f=m,n):f},n.copy=function(){return wo(r).unknown(f)},r=arguments.length?Array.from(u,zf):[0,1],u0(n)}function dm(u,f){u=u.slice();let r=0,n=u.length-1,m=u[r],b=u[n],o;if(b<m)o=r,r=n,n=o,o=m,m=b,b=o;return u[r]=f.floor(m),u[n]=f.ceil(b),u}function OI(u){return Math.log(u)}function PI(u){return Math.exp(u)}function CA(u){return-Math.log(-u)}function OA(u){return-Math.exp(-u)}function PA(u){return isFinite(u)?+`1e${u}`:u<0?0:u}function $A(u){return u===10?PA:u===Math.E?Math.exp:(f)=>Math.pow(u,f)}function wA(u){return u===Math.E?Math.log:u===10&&Math.log10||u===2&&Math.log2||(u=Math.log(u),(f)=>Math.log(f)/u)}function $I(u){return(f,r)=>-u(-f,r)}function im(u){let f=u(OI,PI),r=f.domain,n=10,m,b;function o(){if(m=wA(n),b=$A(n),r()[0]<0)m=$I(m),b=$I(b),u(CA,OA);else u(OI,PI);return f}return f.base=function(T){return arguments.length?(n=+T,o()):n},f.domain=function(T){return arguments.length?(r(T),o()):r()},f.ticks=(T)=>{let G=r(),M=G[0],I=G[G.length-1],D=I<M;if(D)[M,I]=[I,M];let S=m(M),E=m(I),O,$,P=T==null?10:+T,C=[];if(!(n%1)&&E-S<P){if(S=Math.floor(S),E=Math.ceil(E),M>0)for(;S<=E;++S)for(O=1;O<n;++O){if($=S<0?O/b(-S):O*b(S),$<M)continue;if($>I)break;C.push($)}else for(;S<=E;++S)for(O=n-1;O>=1;--O){if($=S>0?O/b(-S):O*b(S),$<M)continue;if($>I)break;C.push($)}if(C.length*2<P)C=m0(M,I,P)}else C=m0(S,E,Math.min(E-S,P)).map(b);return D?C.reverse():C},f.tickFormat=(T,G)=>{if(T==null)T=10;let M;if(G==null)G=n===10?"s":",";if(typeof G!=="function"){let D=Wf(G);if(!(n%1)&&D.precision==null)D.trim=!0;M=mn(D.toString())}else M=G;if(T===1/0)return M;let I=Math.max(1,n*T/f.ticks().length);return(D)=>{let S=D/b(Math.round(m(D)));if(S*n<n-0.5)S*=n;return S<=I?M(D):""}},f.nice=()=>{return r(dm(r(),{floor:(T)=>b(Math.floor(m(T))),ceil:(T)=>b(Math.ceil(m(T)))}))},f}function Ao(){let u=im(Rr()).domain([1,10]);return u.copy=()=>x0(u,Ao()).base(u.base()),Ru.apply(u,arguments),u}function wI(u){return function(f){return Math.sign(f)*Math.log1p(Math.abs(f/u))}}function AI(u){return function(f){return Math.sign(f)*Math.expm1(Math.abs(f))*u}}function sm(u){let f=1,r=u(wI(f),AI(f));return r.constant=function(n){return arguments.length?u(wI(f=+n),AI(f)):f},u0(r)}function Ro(){let u=sm(Rr());return u.copy=function(){return x0(u,Ro()).constant(u.constant())},Ru.apply(u,arguments)}function RI(u){return function(f){return f<0?-Math.pow(-f,u):Math.pow(f,u)}}function AA(u){return u<0?-Math.sqrt(-u):Math.sqrt(u)}function RA(u){return u<0?-u*u:u*u}function am(u){let f=u(Hu,Hu),r=1;function n(){return r===1?u(Hu,Hu):r===0.5?u(AA,RA):u(RI(r),RI(1/r))}return f.exponent=function(m){return arguments.length?(r=+m,n()):r},u0(f)}function f8(){let u=am(Rr());return u.copy=function(){return x0(u,f8()).exponent(u.exponent())},Ru.apply(u,arguments),u}function QA(){return f8.apply(null,arguments).exponent(0.5)}function QI(u){return Math.sign(u)*u*u}function LA(u){return Math.sign(u)*Math.sqrt(Math.abs(u))}function Qo(...u){let f=Qr(),r=[0,1],n=!1,m;function b(o){let T=LA(f(o));return isNaN(T)?m:n?Math.round(T):T}return b.invert=function(o){return f.invert(QI(o))},b.domain=function(o){return arguments.length?(f.domain(o),b):f.domain()},b.range=function(o){return arguments.length?(f.range((r=Array.from(o,zf)).map(QI)),b):r.slice()},b.rangeRound=function(o){return b.range(o).round(!0)},b.round=function(o){return arguments.length?(n=!!o,b):n},b.clamp=function(o){return arguments.length?(f.clamp(o),b):f.clamp()},b.unknown=function(o){return arguments.length?(m=o,b):m},b.copy=function(){return Qo(f.domain(),r).round(n).clamp(f.clamp()).unknown(m)},Ru.apply(b,arguments),u0(b)}function Lo(){let u=[],f=[],r=[],n;function m(){let o=0,T=Math.max(1,f.length);r=Array(T-1);while(++o<T)r[o-1]=V8(u,o/T);return b}function b(o){return o==null||isNaN(o=+o)?n:f[n0(r,o)]}return b.invertExtent=function(o){let T=f.indexOf(o);return T<0?[NaN,NaN]:[T>0?r[T-1]:u[0],T<r.length?r[T]:u[u.length-1]]},b.domain=function(o){if(!arguments.length)return u.slice();u=[];for(let T of o)if(T!=null&&!isNaN(T=+T))u.push(T);return u.sort(ru),m()},b.range=function(o){return arguments.length?(f=Array.from(o),m()):f.slice()},b.unknown=function(o){return arguments.length?(n=o,b):n},b.quantiles=function(){return r.slice()},b.copy=function(){return Lo().domain(u).range(f).unknown(n)},Ru.apply(b,arguments)}function Zo(){let u=0,f=1,r=1,n=[0.5],m=[0,1],b;function o(G){return G!=null&&G<=G?m[n0(n,G,0,r)]:b}function T(){let G=-1;n=Array(r);while(++G<r)n[G]=((G+1)*f-(G-r)*u)/(r+1);return o}return o.domain=function(G){return arguments.length?([u,f]=Array.from(G),u=+u,f=+f,T()):[u,f]},o.range=function(G){return arguments.length?(r=(m=Array.from(G)).length-1,T()):m.slice()},o.invertExtent=function(G){let M=m.indexOf(G);return M<0?[NaN,NaN]:M<1?[u,n[0]]:M>=r?[n[r-1],f]:[n[M-1],n[M]]},o.unknown=function(G){return arguments.length?(b=G,o):o},o.thresholds=function(){return n.slice()},o.copy=function(){return Zo().domain([u,f]).range(m).unknown(b)},Ru.apply(u0(o),arguments)}function Jo(){let u=[0.5],f=[0,1],r,n=1;function m(b){return b!=null&&b<=b?f[n0(u,b,0,n)]:r}return m.domain=function(b){return arguments.length?(u=Array.from(b),n=Math.min(u.length,f.length-1),m):u.slice()},m.range=function(b){return arguments.length?(f=Array.from(b),n=Math.min(u.length,f.length-1),m):f.slice()},m.invertExtent=function(b){let o=f.indexOf(b);return[u[o-1],u[o]]},m.unknown=function(b){return arguments.length?(r=b,m):r},m.copy=function(){return Jo().domain(u).range(f).unknown(r)},Ru.apply(m,arguments)}var Fo=new Date,Ko=new Date;function Cu(u,f,r,n){function m(b){let o=b==null?new Date:new Date(+b);return u(o),o}if(m.floor=(b)=>{let o=new Date(+b);return u(o),o},m.ceil=(b)=>{let o=new Date(+b-1);return u(o),f(o,1),u(o),o},m.round=(b)=>{let o=m(b),T=m.ceil(b);return+b-+o<+T-+b?o:T},m.offset=(b,o)=>{let T=new Date(+b);return f(T,o==null?1:Math.floor(o)),T},m.range=(b,o,T)=>{let G=[],M=m.ceil(b),I=T==null?1:Math.floor(T);if(!(M<new Date(+o))||!(I>0))return G;let D;do D=new Date(+M),G.push(D),f(M,I),u(M);while(D<M&&M<new Date(+o));return G},m.filter=(b)=>{return Cu((o)=>{if(o>=o)while(u(o),!b(o))o.setTime(+o-1)},(o,T)=>{if(o>=o)if(T<0)while(++T<=0)while(f(o,-1),!b(o));else while(--T>=0)while(f(o,1),!b(o));})},r)m.count=(b,o)=>{return Fo.setTime(+b),Ko.setTime(+o),u(Fo),u(Ko),Math.floor(r(Fo,Ko))},m.every=(b)=>{return b=Math.floor(b),!isFinite(b)||!(b>0)?null:!(b>1)?m:m.filter(n?(o)=>n(o)%b===0:(o)=>m.count(0,o)%b===0)};return m}var Lr=Cu(()=>{},(u,f)=>{u.setTime(+u+f)},(u,f)=>{return+f-+u});Lr.every=(u)=>{if(u=Math.floor(u),!isFinite(u)||!(u>0))return null;if(!(u>1))return Lr;return Cu((f)=>{f.setTime(Math.floor(+f/u)*u)},(f,r)=>{f.setTime(+f+r*u)},(f,r)=>{return(+r-+f)/u})};var LI=Lr.range;var A0=1000,yu=60000,e0=3600000,jf=86400000,ub=604800000,Uo=2592000000,r8=31536000000;var R0=Cu((u)=>{u.setTime(+u-u.getMilliseconds())},(u,f)=>{u.setTime(+u+f*A0)},(u,f)=>{return(+f-+u)/A0},(u)=>{return u.getUTCSeconds()}),ZI=R0.range;var Ln=Cu((u)=>{u.setTime(+u-u.getMilliseconds()-u.getSeconds()*A0)},(u,f)=>{u.setTime(+u+f*yu)},(u,f)=>{return(+f-+u)/yu},(u)=>{return u.getMinutes()}),ZA=Ln.range,Zn=Cu((u)=>{u.setUTCSeconds(0,0)},(u,f)=>{u.setTime(+u+f*yu)},(u,f)=>{return(+f-+u)/yu},(u)=>{return u.getUTCMinutes()}),JA=Zn.range;var Jn=Cu((u)=>{u.setTime(+u-u.getMilliseconds()-u.getSeconds()*A0-u.getMinutes()*yu)},(u,f)=>{u.setTime(+u+f*e0)},(u,f)=>{return(+f-+u)/e0},(u)=>{return u.getHours()}),FA=Jn.range,Fn=Cu((u)=>{u.setUTCMinutes(0,0,0)},(u,f)=>{u.setTime(+u+f*e0)},(u,f)=>{return(+f-+u)/e0},(u)=>{return u.getUTCHours()}),KA=Fn.range;var Ef=Cu((u)=>{u.setHours(0,0,0,0)},(u,f)=>{u.setDate(u.getDate()+f)},(u,f)=>(+f-+u-(f.getTimezoneOffset()-u.getTimezoneOffset())*yu)/jf,(u)=>u.getDate()-1),UA=Ef.range,Zr=Cu((u)=>{u.setUTCHours(0,0,0,0)},(u,f)=>{u.setUTCDate(u.getUTCDate()+f)},(u,f)=>{return(+f-+u)/jf},(u)=>{return u.getUTCDate()-1}),BA=Zr.range,n8=Cu((u)=>{u.setUTCHours(0,0,0,0)},(u,f)=>{u.setUTCDate(u.getUTCDate()+f)},(u,f)=>{return(+f-+u)/jf},(u)=>{return Math.floor(+u/jf)}),WA=n8.range;function Jr(u){return Cu((f)=>{f.setDate(f.getDate()-(f.getDay()+7-u)%7),f.setHours(0,0,0,0)},(f,r)=>{f.setDate(f.getDate()+r*7)},(f,r)=>{return(+r-+f-(r.getTimezoneOffset()-f.getTimezoneOffset())*yu)/ub})}var Cf=Jr(0),Kn=Jr(1),JI=Jr(2),FI=Jr(3),kf=Jr(4),KI=Jr(5),UI=Jr(6),BI=Cf.range,NA=Kn.range,HA=JI.range,VA=FI.range,XA=kf.range,YA=KI.range,qA=UI.range;function Fr(u){return Cu((f)=>{f.setUTCDate(f.getUTCDate()-(f.getUTCDay()+7-u)%7),f.setUTCHours(0,0,0,0)},(f,r)=>{f.setUTCDate(f.getUTCDate()+r*7)},(f,r)=>{return(+r-+f)/ub})}var Of=Fr(0),Un=Fr(1),WI=Fr(2),NI=Fr(3),_f=Fr(4),HI=Fr(5),VI=Fr(6),XI=Of.range,zA=Un.range,jA=WI.range,kA=NI.range,_A=_f.range,gA=HI.range,cA=VI.range;var Bn=Cu((u)=>{u.setDate(1),u.setHours(0,0,0,0)},(u,f)=>{u.setMonth(u.getMonth()+f)},(u,f)=>{return f.getMonth()-u.getMonth()+(f.getFullYear()-u.getFullYear())*12},(u)=>{return u.getMonth()}),hA=Bn.range,Wn=Cu((u)=>{u.setUTCDate(1),u.setUTCHours(0,0,0,0)},(u,f)=>{u.setUTCMonth(u.getUTCMonth()+f)},(u,f)=>{return f.getUTCMonth()-u.getUTCMonth()+(f.getUTCFullYear()-u.getUTCFullYear())*12},(u)=>{return u.getUTCMonth()}),vA=Wn.range;var T0=Cu((u)=>{u.setMonth(0,1),u.setHours(0,0,0,0)},(u,f)=>{u.setFullYear(u.getFullYear()+f)},(u,f)=>{return f.getFullYear()-u.getFullYear()},(u)=>{return u.getFullYear()});T0.every=(u)=>{return u=Math.floor(u),!isFinite(u)||!(u>0)?null:Cu((f)=>{f.setFullYear(Math.floor(f.getFullYear()/u)*u),f.setMonth(0,1),f.setHours(0,0,0,0)},(f,r)=>{f.setFullYear(f.getFullYear()+r*u)})};var pA=T0.range,M0=Cu((u)=>{u.setUTCMonth(0,1),u.setUTCHours(0,0,0,0)},(u,f)=>{u.setUTCFullYear(u.getUTCFullYear()+f)},(u,f)=>{return f.getUTCFullYear()-u.getUTCFullYear()},(u)=>{return u.getUTCFullYear()});M0.every=(u)=>{return u=Math.floor(u),!isFinite(u)||!(u>0)?null:Cu((f)=>{f.setUTCFullYear(Math.floor(f.getUTCFullYear()/u)*u),f.setUTCMonth(0,1),f.setUTCHours(0,0,0,0)},(f,r)=>{f.setUTCFullYear(f.getUTCFullYear()+r*u)})};var yA=M0.range;function YI(u,f,r,n,m,b){let o=[[R0,1,A0],[R0,5,5*A0],[R0,15,15*A0],[R0,30,30*A0],[b,1,yu],[b,5,5*yu],[b,15,15*yu],[b,30,30*yu],[m,1,e0],[m,3,3*e0],[m,6,6*e0],[m,12,12*e0],[n,1,jf],[n,2,2*jf],[r,1,ub],[f,1,Uo],[f,3,3*Uo],[u,1,r8]];function T(M,I,D){let S=I<M;if(S)[M,I]=[I,M];let E=D&&typeof D.range==="function"?D:G(M,I,D),O=E?E.range(M,+I+1):[];return S?O.reverse():O}function G(M,I,D){let S=Math.abs(+I-+M)/D,E=vf(([,,P])=>P).right(o,S);if(E===o.length)return u.every(Vr(+M/r8,+I/r8,D));if(E===0)return Lr.every(Math.max(Vr(+M,+I,D),1));let[O,$]=o[S/o[E-1][2]<o[E][2]/S?E-1:E];return O.every($)}return[T,G]}var qI=YI(M0,Wn,Of,n8,Fn,Zn),zI=YI(T0,Bn,Cf,Ef,Jn,Ln),Bo=qI[0],Wo=qI[1],No=zI[0],Ho=zI[1];function Vo(u){if(0<=u.y&&u.y<100){let f=new Date(-1,u.m,u.d,u.H,u.M,u.S,u.L);return f.setFullYear(u.y),f}return new Date(u.y,u.m,u.d,u.H,u.M,u.S,u.L)}function Xo(u){if(0<=u.y&&u.y<100){let f=new Date(Date.UTC(-1,u.m,u.d,u.H,u.M,u.S,u.L));return f.setUTCFullYear(u.y),f}return new Date(Date.UTC(u.y,u.m,u.d,u.H,u.M,u.S,u.L))}function fb(u,f,r){return{y:u,m:f,d:r,H:0,M:0,S:0,L:0}}function m8(u){let{dateTime:f,date:r,time:n,periods:m,days:b,shortDays:o,months:T,shortMonths:G}=u,M=rb(m),I=nb(m),D=rb(b),S=nb(b),E=rb(o),O=nb(o),$=rb(T),P=nb(T),C=rb(G),A=nb(G),R={a:X,A:Y,b:j,B:k,c:null,d:hI,e:hI,f:CR,g:JR,G:KR,H:SR,I:DR,j:ER,L:xI,m:OR,M:PR,p:v,q:y,Q:yI,s:tI,S:$R,u:wR,U:AR,V:RR,w:QR,W:LR,x:null,X:null,y:ZR,Y:FR,Z:UR,"%":pI},w={a:i,A:a,b:Gu,B:Uu,c:null,d:vI,e:vI,f:HR,g:cR,G:vR,H:BR,I:WR,j:NR,L:lI,m:VR,M:XR,p:Su,q:gu,Q:yI,s:tI,S:YR,u:qR,U:zR,V:jR,w:kR,W:_R,x:null,X:null,y:gR,Y:hR,Z:pR,"%":pI},Q={a:K,A:B,b:V,B:W,c:Z,d:gI,e:gI,f:TR,g:_I,G:kI,H:cI,I:cI,j:nR,L:oR,m:rR,M:mR,p:H,q:fR,Q:GR,s:IR,S:bR,u:dA,U:iA,V:sA,w:lA,W:aA,x:J,X:U,y:_I,Y:kI,Z:uR,"%":MR};R.x=L(r,R),R.X=L(n,R),R.c=L(f,R),w.x=L(r,w),w.X=L(n,w),w.c=L(f,w);function L(c,uu){return function(fu){let q=[],Lu=-1,Iu=0,xu=c.length,eu,l,Zu;if(!(fu instanceof Date))fu=new Date(+fu);while(++Lu<xu)if(c.charCodeAt(Lu)===37){if(q.push(c.slice(Iu,Lu)),(l=jI[eu=c.charAt(++Lu)])!=null)eu=c.charAt(++Lu);else l=eu==="e"?" ":"0";if(Zu=uu[eu])eu=Zu(fu,l);q.push(eu),Iu=Lu+1}return q.push(c.slice(Iu,Lu)),q.join("")}}function F(c,uu){return function(fu){let q=fb(1900,void 0,1),Lu=N(q,c,fu+="",0),Iu,xu;if(Lu!=fu.length)return null;if("Q"in q)return new Date(q.Q);if("s"in q)return new Date(q.s*1000+("L"in q?q.L:0));if(uu&&!("Z"in q))q.Z=0;if("p"in q)q.H=q.H%12+q.p*12;if(q.m===void 0)q.m="q"in q?q.q:0;if("V"in q){if(q.V<1||q.V>53)return null;if(!("w"in q))q.w=1;if("Z"in q)Iu=Xo(fb(q.y,0,1)),xu=Iu.getUTCDay(),Iu=xu>4||xu===0?Un.ceil(Iu):Un(Iu),Iu=Zr.offset(Iu,(q.V-1)*7),q.y=Iu.getUTCFullYear(),q.m=Iu.getUTCMonth(),q.d=Iu.getUTCDate()+(q.w+6)%7;else Iu=Vo(fb(q.y,0,1)),xu=Iu.getDay(),Iu=xu>4||xu===0?Kn.ceil(Iu):Kn(Iu),Iu=Ef.offset(Iu,(q.V-1)*7),q.y=Iu.getFullYear(),q.m=Iu.getMonth(),q.d=Iu.getDate()+(q.w+6)%7}else if("W"in q||"U"in q){if(!("w"in q))q.w="u"in q?q.u%7:("W"in q)?1:0;xu="Z"in q?Xo(fb(q.y,0,1)).getUTCDay():Vo(fb(q.y,0,1)).getDay(),q.m=0,q.d="W"in q?(q.w+6)%7+q.W*7-(xu+5)%7:q.w+q.U*7-(xu+6)%7}if("Z"in q)return q.H+=q.Z/100|0,q.M+=q.Z%100,Xo(q);return Vo(q)}}function N(c,uu,fu,q){let Lu=0,Iu=uu.length,xu=fu.length,eu,l;while(Lu<Iu){if(q>=xu)return-1;if(eu=uu.charCodeAt(Lu++),eu===37){if(eu=uu.charAt(Lu++),l=Q[eu in jI?uu.charAt(Lu++):eu],!l||(q=l(c,fu,q))<0)return-1}else if(eu!=fu.charCodeAt(q++))return-1}return q}function H(c,uu,fu){let q=M.exec(uu.slice(fu));return q?(c.p=I.get(q[0].toLowerCase()),fu+q[0].length):-1}function K(c,uu,fu){let q=E.exec(uu.slice(fu));return q?(c.w=O.get(q[0].toLowerCase()),fu+q[0].length):-1}function B(c,uu,fu){let q=D.exec(uu.slice(fu));return q?(c.w=S.get(q[0].toLowerCase()),fu+q[0].length):-1}function V(c,uu,fu){let q=C.exec(uu.slice(fu));return q?(c.m=A.get(q[0].toLowerCase()),fu+q[0].length):-1}function W(c,uu,fu){let q=$.exec(uu.slice(fu));return q?(c.m=P.get(q[0].toLowerCase()),fu+q[0].length):-1}function Z(c,uu,fu){return N(c,f,uu,fu)}function J(c,uu,fu){return N(c,r,uu,fu)}function U(c,uu,fu){return N(c,n,uu,fu)}function X(c){return o[c.getDay()]}function Y(c){return b[c.getDay()]}function j(c){return G[c.getMonth()]}function k(c){return T[c.getMonth()]}function v(c){return m[+(c.getHours()>=12)]}function y(c){return 1+~~(c.getMonth()/3)}function i(c){return o[c.getUTCDay()]}function a(c){return b[c.getUTCDay()]}function Gu(c){return G[c.getUTCMonth()]}function Uu(c){return T[c.getUTCMonth()]}function Su(c){return m[+(c.getUTCHours()>=12)]}function gu(c){return 1+~~(c.getUTCMonth()/3)}return{format(c){let uu=L(c+="",R);return Object.assign(uu,{toString(){return c}})},parse(c){let uu=F(c+="",!1);return Object.assign(uu,{toString(){return c}})},utcFormat(c){let uu=L(c+="",w);return Object.assign(uu,{toString(){return c}})},utcParse(c){let uu=F(c+="",!0);return Object.assign(uu,{toString(){return c}})}}}var jI={"-":"",_:" ","0":"0"},qu=/^\s*\d+/,tA=/^%/,xA=/[\\^$*+?|[\]().{}]/g;function Mu(u,f,r){let n=u<0?"-":"",m=`${n?-u:u}`,b=m.length;return n+(b<r?Array(r-b+1).join(f)+m:m)}function eA(u){return u.replace(xA,"\\$&")}function rb(u){return new RegExp(`^(?:${u.map(eA).join("|")})`,"i")}function nb(u){return new Map(u.map((f,r)=>[f.toLowerCase(),r]))}function lA(u,f,r){let n=qu.exec(f.slice(r,r+1));return n?(u.w=+n[0],r+n[0].length):-1}function dA(u,f,r){let n=qu.exec(f.slice(r,r+1));return n?(u.u=+n[0],r+n[0].length):-1}function iA(u,f,r){let n=qu.exec(f.slice(r,r+2));return n?(u.U=+n[0],r+n[0].length):-1}function sA(u,f,r){let n=qu.exec(f.slice(r,r+2));return n?(u.V=+n[0],r+n[0].length):-1}function aA(u,f,r){let n=qu.exec(f.slice(r,r+2));return n?(u.W=+n[0],r+n[0].length):-1}function kI(u,f,r){let n=qu.exec(f.slice(r,r+4));return n?(u.y=+n[0],r+n[0].length):-1}function _I(u,f,r){let n=qu.exec(f.slice(r,r+2));return n?(u.y=+n[0]+(+n[0]>68?1900:2000),r+n[0].length):-1}function uR(u,f,r){let n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(f.slice(r,r+6));return n?(u.Z=n[1]?0:-+(n[2]+(n[3]||"00")),r+n[0].length):-1}function fR(u,f,r){let n=qu.exec(f.slice(r,r+1));return n?(u.q=+n[0]*3-3,r+n[0].length):-1}function rR(u,f,r){let n=qu.exec(f.slice(r,r+2));return n?(u.m=+n[0]-1,r+n[0].length):-1}function gI(u,f,r){let n=qu.exec(f.slice(r,r+2));return n?(u.d=+n[0],r+n[0].length):-1}function nR(u,f,r){let n=qu.exec(f.slice(r,r+3));return n?(u.m=0,u.d=+n[0],r+n[0].length):-1}function cI(u,f,r){let n=qu.exec(f.slice(r,r+2));return n?(u.H=+n[0],r+n[0].length):-1}function mR(u,f,r){let n=qu.exec(f.slice(r,r+2));return n?(u.M=+n[0],r+n[0].length):-1}function bR(u,f,r){let n=qu.exec(f.slice(r,r+2));return n?(u.S=+n[0],r+n[0].length):-1}function oR(u,f,r){let n=qu.exec(f.slice(r,r+3));return n?(u.L=+n[0],r+n[0].length):-1}function TR(u,f,r){let n=qu.exec(f.slice(r,r+6));return n?(u.L=Math.floor(+n[0]/1000),r+n[0].length):-1}function MR(u,f,r){let n=tA.exec(f.slice(r,r+1));return n?r+n[0].length:-1}function GR(u,f,r){let n=qu.exec(f.slice(r));return n?(u.Q=+n[0],r+n[0].length):-1}function IR(u,f,r){let n=qu.exec(f.slice(r));return n?(u.s=+n[0],r+n[0].length):-1}function hI(u,f){return Mu(u.getDate(),f,2)}function SR(u,f){return Mu(u.getHours(),f,2)}function DR(u,f){return Mu(u.getHours()%12||12,f,2)}function ER(u,f){return Mu(1+Ef.count(T0(u),u),f,3)}function xI(u,f){return Mu(u.getMilliseconds(),f,3)}function CR(u,f){return`${xI(u,f)}000`}function OR(u,f){return Mu(u.getMonth()+1,f,2)}function PR(u,f){return Mu(u.getMinutes(),f,2)}function $R(u,f){return Mu(u.getSeconds(),f,2)}function wR(u){let f=u.getDay();return f===0?7:f}function AR(u,f){return Mu(Cf.count(T0(u).getTime()-1,u),f,2)}function eI(u){let f=u.getDay();return f>=4||f===0?kf(u):kf.ceil(u)}function RR(u,f){return u=eI(u),Mu(kf.count(T0(u),u)+(T0(u).getDay()===4?1:0),f,2)}function QR(u){return u.getDay()}function LR(u,f){return Mu(Kn.count(T0(u).getTime()-1,u),f,2)}function ZR(u,f){return Mu(u.getFullYear()%100,f,2)}function JR(u,f){return u=eI(u),Mu(u.getFullYear()%100,f,2)}function FR(u,f){return Mu(u.getFullYear()%1e4,f,4)}function KR(u,f){let r=u.getDay();return u=r>=4||r===0?kf(u):kf.ceil(u),Mu(u.getFullYear()%1e4,f,4)}function UR(u){let f=u.getTimezoneOffset();return(f>0?"-":(f*=-1,"+"))+Mu(f/60|0,"0",2)+Mu(f%60,"0",2)}function vI(u,f){return Mu(u.getUTCDate(),f,2)}function BR(u,f){return Mu(u.getUTCHours(),f,2)}function WR(u,f){return Mu(u.getUTCHours()%12||12,f,2)}function NR(u,f){return Mu(1+Zr.count(M0(u),u),f,3)}function lI(u,f){return Mu(u.getUTCMilliseconds(),f,3)}function HR(u,f){return`${lI(u,f)}000`}function VR(u,f){return Mu(u.getUTCMonth()+1,f,2)}function XR(u,f){return Mu(u.getUTCMinutes(),f,2)}function YR(u,f){return Mu(u.getUTCSeconds(),f,2)}function qR(u){let f=u.getUTCDay();return f===0?7:f}function zR(u,f){return Mu(Of.count(M0(u).getTime()-1,u),f,2)}function dI(u){let f=u.getUTCDay();return f>=4||f===0?_f(u):_f.ceil(u)}function jR(u,f){return u=dI(u),Mu(_f.count(M0(u),u)+(M0(u).getUTCDay()===4?1:0),f,2)}function kR(u){return u.getUTCDay()}function _R(u,f){return Mu(Un.count(M0(u).getTime()-1,u),f,2)}function gR(u,f){return Mu(u.getUTCFullYear()%100,f,2)}function cR(u,f){return u=dI(u),Mu(u.getUTCFullYear()%100,f,2)}function hR(u,f){return Mu(u.getUTCFullYear()%1e4,f,4)}function vR(u,f){let r=u.getUTCDay();return u=r>=4||r===0?_f(u):_f.ceil(u),Mu(u.getUTCFullYear()%1e4,f,4)}function pR(){return"+0000"}function pI(){return"%"}function yI(u){return+u}function tI(u){return Math.floor(+u/1000)}var Nn,b8,iI,Hn,o8;Yo({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function Yo(u){return Nn=m8(u),b8=Nn.format,iI=Nn.parse,Hn=Nn.utcFormat,o8=Nn.utcParse,Nn}var T8="%Y-%m-%dT%H:%M:%S.%LZ";function yR(u){return u.toISOString()}var tR=typeof Date.prototype.toISOString==="function"?yR:Hn(T8),xR=tR;function eR(u){let f=new Date(u);return isNaN(+f)?null:f}var lR=+new Date("2000-01-01T00:00:00.000Z")?eR:o8(T8),dR=lR;function iR(u){return new Date(u)}function sR(u){return u instanceof Date?+u:+new Date(+u)}function M8(u,f,r,n,m,b,o,T,G,M){let I=Qr(),D=I.invert,S=I.domain,E=M(".%L"),O=M(":%S"),$=M("%I:%M"),P=M("%I %p"),C=M("%a %d"),A=M("%b %d"),R=M("%B"),w=M("%Y");function Q(L){return(G(L)<L?E:T(L)<L?O:o(L)<L?$:b(L)<L?P:n(L)<L?m(L)<L?C:A:r(L)<L?R:w)(L)}return I.invert=function(L){return new Date(D(L))},I.domain=function(L){return arguments.length?S(Array.from(L,sR)):S().map(iR)},I.ticks=function(L){let F=S();return u(F[0],F[F.length-1],L==null?10:L)},I.tickFormat=function(L,F){return F==null?Q:M(F)},I.nice=function(L){let F=S(),N=L;if(!N||typeof N.range!=="function")N=f(F[0],F[F.length-1],L==null?10:L);return N?S(dm(F,N)):I},I.copy=function(){return x0(I,M8(u,f,r,n,m,b,o,T,G,M))},I}function sI(){let f=M8(No,Ho,T0,Bn,Cf,Ef,Jn,Ln,R0,b8).domain([new Date(2000,0,1),new Date(2000,0,2)]);return Ru.apply(f,arguments)}function aI(){let f=M8(Bo,Wo,M0,Wn,Of,Zr,Fn,Zn,R0,Hn).domain([Date.UTC(2000,0,1),Date.UTC(2000,0,2)]);return Ru.apply(f,arguments)}function G8(){let u=0,f=1,r,n,m,b,o=Hu,T=!1,G;function M(D){return D==null||isNaN(D=+D)?G:o(m===0?0.5:(D=(b(D)-r)*m,T?Math.max(0,Math.min(1,D)):D))}M.domain=function(D){return arguments.length?([u,f]=Array.from(D),r=b(u=+u),n=b(f=+f),m=r===n?0:1/(n-r),M):[u,f]},M.clamp=function(D){return arguments.length?(T=!!D,M):T},M.interpolator=function(D){return arguments.length?(o=D,M):o};function I(D){return function(S){let E,O;return arguments.length?([E,O]=Array.from(S),o=D(E,O),M):[o(0),o(1)]}}return M.range=I(cu),M.rangeRound=I(Kf),M.unknown=function(D){return arguments.length?(G=D,M):G},function(D){return b=D,r=D(u),n=D(f),m=r===n?0:1/(n-r),M}}function Pf(u,f){let r=u,n=f;return n.domain(r.domain()),n.interpolator(r.interpolator()),n.clamp(r.clamp()),n.unknown(r.unknown()),f}function qo(){let u=u0(G8()(Hu));return u.copy=function(){return Pf(u,qo())},w0.apply(u,arguments)}function uS(){let u=im(G8()).domain([1,10]);return u.copy=function(){return Pf(u,uS()).base(u.base())},w0.apply(u,arguments)}function fS(){let u=sm(G8());return u.copy=function(){return Pf(u,fS()).constant(u.constant())},w0.apply(u,arguments)}function zo(){let u=am(G8());return u.copy=function(){return Pf(u,zo()).exponent(u.exponent())},w0.apply(u,arguments)}function aR(){return zo.apply(null,arguments).exponent(0.5)}function jo(){let u=[],f=Hu;function r(n){if(n!=null&&!isNaN(n=+n))return f((n0(u,n,1)-1)/(u.length-1))}return r.domain=function(n){if(!arguments.length)return u.slice();u=[];for(let m of n)if(m!=null&&!isNaN(m=+m))u.push(m);return u.sort(ru),r},r.interpolator=function(n){return arguments.length?(f=n,r):f},r.range=function(){return u.map((n,m)=>f(m/(u.length-1)))},r.quantiles=function(n){return Array.from({length:n+1},(m,b)=>uf(u,b/n))},r.copy=function(){return jo().interpolator(f).domain(u)},w0.apply(r,arguments)}function I8(){let u=0,f=0.5,r=1,n=1,m,b,o,T,G,M=Hu,I,D=!1,S;function E($){return isNaN($=+$)?S:($=0.5+(($=+I($))-b)*(n*$<n*b?T:G),M(D?Math.max(0,Math.min(1,$)):$))}E.domain=function($){return arguments.length?([u,f,r]=Array.from($),m=I(u=+u),b=I(f=+f),o=I(r=+r),T=m===b?0:0.5/(b-m),G=b===o?0:0.5/(o-b),n=b<m?-1:1,E):[u,f,r]},E.clamp=function($){return arguments.length?(D=!!$,E):D},E.interpolator=function($){return arguments.length?(M=$,E):M};function O($){return function(P){let C,A,R;return arguments.length?([C,A,R]=Array.from(P),M=hb($,[C,A,R]),E):[M(0),M(0.5),M(1)]}}return E.range=O(cu),E.rangeRound=O(Kf),E.unknown=function($){return arguments.length?(S=$,E):S},function($){return I=$,m=$(u),b=$(f),o=$(r),T=m===b?0:0.5/(b-m),G=b===o?0:0.5/(o-b),n=b<m?-1:1,E}}function ko(){let u=u0(I8()(Hu));return u.copy=function(){return Pf(u,ko())},w0.apply(u,arguments)}function rS(){let u=im(I8()).domain([0.1,1,10]);return u.copy=function(){return Pf(u,rS()).base(u.base())},w0.apply(u,arguments)}function nS(){let u=sm(I8());return u.copy=function(){return Pf(u,nS()).constant(u.constant())},w0.apply(u,arguments)}function _o(){let u=am(I8());return u.copy=function(){return Pf(u,_o()).exponent(u.exponent())},w0.apply(u,arguments)}function u3(){return _o.apply(null,arguments).exponent(0.5)}function g(u){let f=u.length/6|0,r=Array(f),n=0;while(n<f)r[n]=`#${u.slice(n*6,++n*6)}`;return r}var f3=g("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),r3=f3;var n3=g("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666"),m3=n3;var b3=g("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666"),o3=b3;var T3=g("4269d0efb118ff725c6cc5b03ca951ff8ab7a463f297bbf59c6b4e9498a0"),M3=T3;var G3=g("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"),I3=G3;var S3=g("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2"),D3=S3;var E3=g("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc"),C3=E3;var O3=g("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999"),P3=O3;var $3=g("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3"),w3=$3;var A3=g("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f"),R3=A3;var Q3=g("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab"),L3=Q3;function t(u){return i8(u[u.length-1])}var mS=[,,,].concat("d8b365f5f5f55ab4ac","a6611adfc27d80cdc1018571","a6611adfc27df5f5f580cdc1018571","8c510ad8b365f6e8c3c7eae55ab4ac01665e","8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e","8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e","8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e","5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30","5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(g),Z3=t(mS);var bS=[,,,].concat("af8dc3f7f7f77fbf7b","7b3294c2a5cfa6dba0008837","7b3294c2a5cff7f7f7a6dba0008837","762a83af8dc3e7d4e8d9f0d37fbf7b1b7837","762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837","762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837","762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837","40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b","40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(g),J3=t(bS);var oS=[,,,].concat("e9a3c9f7f7f7a1d76a","d01c8bf1b6dab8e1864dac26","d01c8bf1b6daf7f7f7b8e1864dac26","c51b7de9a3c9fde0efe6f5d0a1d76a4d9221","c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221","c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221","c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221","8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419","8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(g),F3=t(oS);var TS=[,,,].concat("998ec3f7f7f7f1a340","5e3c99b2abd2fdb863e66101","5e3c99b2abd2f7f7f7fdb863e66101","542788998ec3d8daebfee0b6f1a340b35806","542788998ec3d8daebf7f7f7fee0b6f1a340b35806","5427888073acb2abd2d8daebfee0b6fdb863e08214b35806","5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806","2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08","2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(g),K3=t(TS);var MS=[,,,].concat("ef8a62f7f7f767a9cf","ca0020f4a58292c5de0571b0","ca0020f4a582f7f7f792c5de0571b0","b2182bef8a62fddbc7d1e5f067a9cf2166ac","b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac","b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac","b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac","67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061","67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(g),U3=t(MS);var GS=[,,,].concat("ef8a62ffffff999999","ca0020f4a582bababa404040","ca0020f4a582ffffffbababa404040","b2182bef8a62fddbc7e0e0e09999994d4d4d","b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d","b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d","b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d","67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a","67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(g),B3=t(GS);var IS=[,,,].concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(g),W3=t(IS);var SS=[,,,].concat("fc8d59ffffbf91cf60","d7191cfdae61a6d96a1a9641","d7191cfdae61ffffbfa6d96a1a9641","d73027fc8d59fee08bd9ef8b91cf601a9850","d73027fc8d59fee08bffffbfd9ef8b91cf601a9850","d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850","d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850","a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837","a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(g),N3=t(SS);var DS=[,,,].concat("fc8d59ffffbf99d594","d7191cfdae61abdda42b83ba","d7191cfdae61ffffbfabdda42b83ba","d53e4ffc8d59fee08be6f59899d5943288bd","d53e4ffc8d59fee08bffffbfe6f59899d5943288bd","d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd","d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd","9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2","9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(g),H3=t(DS);var ES=[,,,].concat("e5f5f999d8c92ca25f","edf8fbb2e2e266c2a4238b45","edf8fbb2e2e266c2a42ca25f006d2c","edf8fbccece699d8c966c2a42ca25f006d2c","edf8fbccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(g),V3=t(ES);var CS=[,,,].concat("e0ecf49ebcda8856a7","edf8fbb3cde38c96c688419d","edf8fbb3cde38c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(g),X3=t(CS);var OS=[,,,].concat("e0f3dba8ddb543a2ca","f0f9e8bae4bc7bccc42b8cbe","f0f9e8bae4bc7bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(g),Y3=t(OS);var PS=[,,,].concat("fee8c8fdbb84e34a33","fef0d9fdcc8afc8d59d7301f","fef0d9fdcc8afc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(g),q3=t(PS);var $S=[,,,].concat("ece2f0a6bddb1c9099","f6eff7bdc9e167a9cf02818a","f6eff7bdc9e167a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(g),z3=t($S);var wS=[,,,].concat("ece7f2a6bddb2b8cbe","f1eef6bdc9e174a9cf0570b0","f1eef6bdc9e174a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(g),j3=t(wS);var AS=[,,,].concat("e7e1efc994c7dd1c77","f1eef6d7b5d8df65b0ce1256","f1eef6d7b5d8df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(g),k3=t(AS);var RS=[,,,].concat("fde0ddfa9fb5c51b8a","feebe2fbb4b9f768a1ae017e","feebe2fbb4b9f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(g),_3=t(RS);var QS=[,,,].concat("edf8b17fcdbb2c7fb8","ffffcca1dab441b6c4225ea8","ffffcca1dab441b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(g),g3=t(QS);var LS=[,,,].concat("f7fcb9addd8e31a354","ffffccc2e69978c679238443","ffffccc2e69978c67931a354006837","ffffccd9f0a3addd8e78c67931a354006837","ffffccd9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(g),c3=t(LS);var ZS=[,,,].concat("fff7bcfec44fd95f0e","ffffd4fed98efe9929cc4c02","ffffd4fed98efe9929d95f0e993404","ffffd4fee391fec44ffe9929d95f0e993404","ffffd4fee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(g),h3=t(ZS);var JS=[,,,].concat("ffeda0feb24cf03b20","ffffb2fecc5cfd8d3ce31a1c","ffffb2fecc5cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(g),v3=t(JS);var FS=[,,,].concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(g),p3=t(FS);var KS=[,,,].concat("e5f5e0a1d99b31a354","edf8e9bae4b374c476238b45","edf8e9bae4b374c47631a354006d2c","edf8e9c7e9c0a1d99b74c47631a354006d2c","edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(g),y3=t(KS);var US=[,,,].concat("f0f0f0bdbdbd636363","f7f7f7cccccc969696525252","f7f7f7cccccc969696636363252525","f7f7f7d9d9d9bdbdbd969696636363252525","f7f7f7d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(g),t3=t(US);var BS=[,,,].concat("efedf5bcbddc756bb1","f2f0f7cbc9e29e9ac86a51a3","f2f0f7cbc9e29e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(g),x3=t(BS);var WS=[,,,].concat("fee0d2fc9272de2d26","fee5d9fcae91fb6a4acb181d","fee5d9fcae91fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(g),e3=t(WS);var NS=[,,,].concat("fee6cefdae6be6550d","feeddefdbe85fd8d3cd94701","feeddefdbe85fd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(g),l3=t(NS);function HS(u){return u=Math.max(0,Math.min(1,u)),"rgb("+Math.max(0,Math.min(255,Math.round(-4.54-u*(35.34-u*(2381.73-u*(6402.7-u*(7024.72-u*2710.57)))))))+", "+Math.max(0,Math.min(255,Math.round(32.49+u*(170.73+u*(52.82-u*(131.46-u*(176.58-u*67.37)))))))+", "+Math.max(0,Math.min(255,Math.round(81.24+u*(442.36-u*(2482.43-u*(6167.24-u*(6614.94-u*2475.67)))))))+")"}var d3=tr(E0(300,0.5,0),E0(-240,0.5,1)),i3=d3;var s3=tr(E0(-100,0.75,0.35),E0(80,1.5,0.8)),a3=tr(E0(260,0.75,0.35),E0(80,1.5,0.8)),S8=new c0(0,0,0,1);function VS(u){if(u<0||u>1)u-=Math.floor(u);let f=Math.abs(u-0.5);return S8.h=360*u-100,S8.s=1.5-1.5*f,S8.l=0.8-0.9*f,`${S8}`}var D8=new wu(0,0,0,1),uQ=Math.PI/3,fQ=Math.PI*2/3;function XS(u){let f;return u=(0.5-u)*Math.PI,D8.r=255*(f=Math.sin(u))*f,D8.g=255*(f=Math.sin(u+uQ))*f,D8.b=255*(f=Math.sin(u+fQ))*f,`${D8}`}function YS(u){return u=Math.max(0,Math.min(1,u)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+u*(1172.33-u*(10793.56-u*(33300.12-u*(38394.49-u*14825.05)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+u*(557.33+u*(1225.33-u*(3574.96-u*(1073.77+u*707.56)))))))+", "+Math.max(0,Math.min(255,Math.round(27.2+u*(3211.1-u*(15327.97-u*(27814-u*(22569.18-u*6838.66)))))))+")"}function E8(u){let f=u.length;return function(r){return u[Math.max(0,Math.min(f-1,Math.floor(r*f)))]}}var rQ=E8(g("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),oQ=rQ,nQ=E8(g("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),mQ=E8(g("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),bQ=E8(g("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));function e(u){return function(){return u}}var{abs:go,atan2:_u,cos:Y0,max:qS,min:l0,sin:tu,sqrt:s}=Math,zu=0.000000000001,q0=Math.PI,mb=q0/2,Q0=2*q0;function zS(u){return u>1?0:u<-1?q0:Math.acos(u)}function co(u){return u>=1?mb:u<=-1?-mb:Math.asin(u)}function d0(u){let f=3;return u.digits=function(r){if(!arguments.length)return f;if(r==null)f=null;else{let n=Math.floor(r);if(!(n>=0))throw RangeError(`invalid digits: ${r}`);f=n}return u},()=>new br(f)}function TQ(u){return u.innerRadius}function MQ(u){return u.outerRadius}function GQ(u){return u.startAngle}function IQ(u){return u.endAngle}function SQ(u){return u&&u.padAngle}function DQ(u,f,r,n,m,b,o,T){let G=r-u,M=n-f,I=o-m,D=T-b,S=D*G-I*M;if(S*S<zu)return;return S=(I*(f-b)-D*(u-m))/S,[u+S*G,f+S*M]}function C8(u,f,r,n,m,b,o){let T=u-r,G=f-n,M=(o?b:-b)/s(T*T+G*G),I=M*G,D=-M*T,S=u+I,E=f+D,O=r+I,$=n+D,P=(S+O)/2,C=(E+$)/2,A=O-S,R=$-E,w=A*A+R*R,Q=m-b,L=S*$-O*E,F=(R<0?-1:1)*s(qS(0,Q*Q*w-L*L)),N=(L*R-A*F)/w,H=(-L*A-R*F)/w,K=(L*R+A*F)/w,B=(-L*A+R*F)/w,V=N-P,W=H-C,Z=K-P,J=B-C;if(V*V+W*W>Z*Z+J*J)N=K,H=B;return{cx:N,cy:H,x01:-I,y01:-D,x11:N*(m/Q-1),y11:H*(m/Q-1)}}function jS(){let u=TQ,f=MQ,r=e(0),n=null,m=GQ,b=IQ,o=SQ,T=null,G=d0(M);function M(){let I,D,S=+u.apply(this,arguments),E=+f.apply(this,arguments),O=m.apply(this,arguments)-mb,$=b.apply(this,arguments)-mb,P=go($-O),C=$>O;if(!T)T=I=G();if(E<S)D=E,E=S,S=D;if(!(E>zu))T.moveTo(0,0);else if(P>Q0-zu){if(T.moveTo(E*Y0(O),E*tu(O)),T.arc(0,0,E,O,$,!C),S>zu)T.moveTo(S*Y0($),S*tu($)),T.arc(0,0,S,$,O,C)}else{let A=O,R=$,w=O,Q=$,L=P,F=P,N=o.apply(this,arguments)/2,H=N>zu?n?+n.apply(this,arguments):s(S*S+E*E):0,K=l0(go(E-S)/2,+r.apply(this,arguments)),B=K,V=K,W,Z;if(H>zu){let i=co(H/S*tu(N)),a=co(H/E*tu(N));if((L-=i*2)>zu)i*=C?1:-1,w+=i,Q-=i;else L=0,w=Q=(O+$)/2;if((F-=a*2)>zu)a*=C?1:-1,A+=a,R-=a;else F=0,A=R=(O+$)/2}let J=E*Y0(A),U=E*tu(A),X=S*Y0(Q),Y=S*tu(Q),j=E*Y0(R),k=E*tu(R),v=S*Y0(w),y=S*tu(w);if(K>zu){let i;if(P<q0)if(i=DQ(J,U,v,y,j,k,X,Y)){let a=J-i[0],Gu=U-i[1],Uu=j-i[0],Su=k-i[1],gu=1/tu(zS((a*Uu+Gu*Su)/(s(a*a+Gu*Gu)*s(Uu*Uu+Su*Su)))/2),c=s(i[0]*i[0]+i[1]*i[1]);B=l0(K,(S-c)/(gu-1)),V=l0(K,(E-c)/(gu+1))}else B=V=0}if(!(F>zu))T.moveTo(J,U);else if(V>zu)if(W=C8(v,y,J,U,E,V,C),Z=C8(j,k,X,Y,E,V,C),T.moveTo(W.cx+W.x01,W.cy+W.y01),V<K)T.arc(W.cx,W.cy,V,_u(W.y01,W.x01),_u(Z.y01,Z.x01),!C);else T.arc(W.cx,W.cy,V,_u(W.y01,W.x01),_u(W.y11,W.x11),!C),T.arc(0,0,E,_u(W.cy+W.y11,W.cx+W.x11),_u(Z.cy+Z.y11,Z.cx+Z.x11),!C),T.arc(Z.cx,Z.cy,V,_u(Z.y11,Z.x11),_u(Z.y01,Z.x01),!C);else T.moveTo(J,U),T.arc(0,0,E,A,R,!C);if(!(S>zu)||!(L>zu))T.lineTo(X,Y);else if(B>zu)if(W=C8(X,Y,j,k,S,-B,C),Z=C8(J,U,v,y,S,-B,C),T.lineTo(W.cx+W.x01,W.cy+W.y01),B<K)T.arc(W.cx,W.cy,B,_u(W.y01,W.x01),_u(Z.y01,Z.x01),!C);else T.arc(W.cx,W.cy,B,_u(W.y01,W.x01),_u(W.y11,W.x11),!C),T.arc(0,0,S,_u(W.cy+W.y11,W.cx+W.x11),_u(Z.cy+Z.y11,Z.cx+Z.x11),C),T.arc(Z.cx,Z.cy,B,_u(Z.y11,Z.x11),_u(Z.y01,Z.x01),!C);else T.arc(0,0,S,Q,w,C)}if(T.closePath(),I)return T=null,I+""||null}return M.centroid=function(){let I=(+u.apply(this,arguments)+ +f.apply(this,arguments))/2,D=(+m.apply(this,arguments)+ +b.apply(this,arguments))/2-q0/2;return[Y0(D)*I,tu(D)*I]},M.innerRadius=function(I){return arguments.length?(u=typeof I==="function"?I:e(+I),M):u},M.outerRadius=function(I){return arguments.length?(f=typeof I==="function"?I:e(+I),M):f},M.cornerRadius=function(I){return arguments.length?(r=typeof I==="function"?I:e(+I),M):r},M.padRadius=function(I){return arguments.length?(n=I==null?null:typeof I==="function"?I:e(+I),M):n},M.startAngle=function(I){return arguments.length?(m=typeof I==="function"?I:e(+I),M):m},M.endAngle=function(I){return arguments.length?(b=typeof I==="function"?I:e(+I),M):b},M.padAngle=function(I){return arguments.length?(o=typeof I==="function"?I:e(+I),M):o},M.context=function(I){return arguments.length?(T=I==null?null:I,M):T},M}var kS=Array.prototype.slice;function $f(u){return typeof u==="object"&&"length"in u?u:Array.from(u)}function _S(u){this._context=u}_S.prototype={areaStart(){this._line=0},areaEnd(){this._line=NaN},lineStart(){this._point=0},lineEnd(){if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line},point(u,f){switch(u=+u,f=+f,this._point){case 0:this._point=1,this._line?this._context.lineTo(u,f):this._context.moveTo(u,f);break;case 1:this._point=2,this._context.lineTo(u,f);break;default:this._context.lineTo(u,f);break}}};function gf(u){return new _S(u)}function Vn(u){return u[0]}function Xn(u){return u[1]}function Yn(u,f){let r=e(!0),n=null,m=gf,b=null,o=d0(T);u=typeof u==="function"?u:u===void 0?Vn:e(u),f=typeof f==="function"?f:f===void 0?Xn:e(f);function T(G){let M,I=(G=$f(G)).length,D,S=!1,E;if(n==null)b=m(E=o());for(M=0;M<=I;++M){if(!(M<I&&r(D=G[M],M,G))===S)if(S=!S)b.lineStart();else b.lineEnd();if(S)b.point(+u(D,M,G),+f(D,M,G))}if(E)return b=null,E+""||null}return T.x=function(G){return arguments.length?(u=typeof G==="function"?G:e(+G),T):u},T.y=function(G){return arguments.length?(f=typeof G==="function"?G:e(+G),T):f},T.defined=function(G){return arguments.length?(r=typeof G==="function"?G:e(!!G),T):r},T.curve=function(G){return arguments.length?(m=G,n!=null&&(b=m(n)),T):m},T.context=function(G){return arguments.length?(G==null?n=b=null:b=m(n=G),T):n},T}function O8(u,f,r){let n=null,m=e(!0),b=null,o=gf,T=null,G=d0(M);u=typeof u==="function"?u:u===void 0?Vn:e(+u),f=typeof f==="function"?f:f===void 0?e(0):e(+f),r=typeof r==="function"?r:r===void 0?Xn:e(+r);function M(D){let S,E=0,O,$=(D=$f(D)).length,P,C=!1,A,R=Array($),w=Array($);if(b==null)T=o(A=G());for(S=0;S<=$;++S){if(!(S<$&&m(P=D[S],S,D))===C)if(C=!C)E=S,T.areaStart(),T.lineStart();else{T.lineEnd(),T.lineStart();for(O=S-1;O>=E;--O)T.point(R[O],w[O]);T.lineEnd(),T.areaEnd()}if(C)R[S]=+u(P,S,D),w[S]=+f(P,S,D),T.point(n?+n(P,S,D):R[S],r?+r(P,S,D):w[S])}if(A)return T=null,`${A}`||null}function I(){return Yn().defined(m).curve(o).context(b)}return M.x=function(D){return arguments.length?(u=typeof D==="function"?D:e(+D),n=null,M):u},M.x0=function(D){return arguments.length?(u=typeof D==="function"?D:e(+D),M):u},M.x1=function(D){return arguments.length?(n=D==null?null:typeof D==="function"?D:e(+D),M):n},M.y=function(D){return arguments.length?(f=typeof D==="function"?D:e(+D),r=null,M):f},M.y0=function(D){return arguments.length?(f=typeof D==="function"?D:e(+D),M):f},M.y1=function(D){return arguments.length?(r=D==null?null:typeof D==="function"?D:e(+D),M):r},M.lineX0=M.lineY0=function(){return I().x(u).y(f)},M.lineY1=function(){return I().x(u).y(r)},M.lineX1=function(){return I().x(n).y(f)},M.defined=function(D){return arguments.length?(m=typeof D==="function"?D:e(!!D),M):m},M.curve=function(D){return arguments.length?(o=D,b!=null&&(T=o(b)),M):o},M.context=function(D){return arguments.length?(D==null?b=T=null:T=o(b=D),M):b},M}function ho(u,f){return f<u?-1:f>u?1:f>=u?0:NaN}function vo(u){return u}function gS(){let u=vo,f=ho,r=null,n=e(0),m=e(Q0),b=e(0);function o(T){let G,M=(T=$f(T)).length,I,D,S=0,E=Array(M),O=Array(M),$=+n.apply(this,arguments),P=Math.min(Q0,Math.max(-Q0,m.apply(this,arguments)-$)),C,A=Math.min(Math.abs(P)/M,b.apply(this,arguments)),R=A*(P<0?-1:1),w;for(G=0;G<M;++G)if((w=O[E[G]=G]=+u(T[G],G,T))>0)S+=w;if(f!=null)E.sort(function(Q,L){return f(O[Q],O[L])});else if(r!=null)E.sort(function(Q,L){return r(T[Q],T[L])});for(G=0,D=S?(P-M*R)/S:0;G<M;++G,$=C)I=E[G],w=O[I],C=$+(w>0?w*D:0)+R,O[I]={data:T[I],index:G,value:w,startAngle:$,endAngle:C,padAngle:A};return O}return o.value=function(T){return arguments.length?(u=typeof T==="function"?T:e(+T),o):u},o.sortValues=function(T){return arguments.length?(f=T,r=null,o):f},o.sort=function(T){return arguments.length?(r=T,f=null,o):r},o.startAngle=function(T){return arguments.length?(n=typeof T==="function"?T:e(+T),o):n},o.endAngle=function(T){return arguments.length?(m=typeof T==="function"?T:e(+T),o):m},o.padAngle=function(T){return arguments.length?(b=typeof T==="function"?T:e(+T),o):b},o}function cS(u){this._curve=u}cS.prototype={areaStart(){this._curve.areaStart()},areaEnd(){this._curve.areaEnd()},lineStart(){this._curve.lineStart()},lineEnd(){this._curve.lineEnd()},point(u,f){this._curve.point(f*Math.sin(u),f*-Math.cos(u))}};function qn(u){function f(r){return new cS(u(r))}return f._curve=u,f}var P8=qn(gf);function zn(u){let f=u.curve;return u.angle=u.x,delete u.x,u.radius=u.y,delete u.y,u.curve=function(r){return arguments.length?f(qn(r)):f()._curve},u}function po(){return zn(Yn().curve(P8))}function yo(){let u=O8().curve(P8),f=u.curve,r=u.lineX0,n=u.lineX1,m=u.lineY0,b=u.lineY1;return u.angle=u.x,delete u.x,u.startAngle=u.x0,delete u.x0,u.endAngle=u.x1,delete u.x1,u.radius=u.y,delete u.y,u.innerRadius=u.y0,delete u.y0,u.outerRadius=u.y1,delete u.y1,u.lineStartAngle=function(){return zn(r())},delete u.lineX0,u.lineEndAngle=function(){return zn(n())},delete u.lineX1,u.lineInnerRadius=function(){return zn(m())},delete u.lineY0,u.lineOuterRadius=function(){return zn(b())},delete u.lineY1,u.curve=function(o){return arguments.length?f(qn(o)):f()._curve},u}function Kr(u,f){return[(f=+f)*Math.cos(u-=Math.PI/2),f*Math.sin(u)]}class to{_context;_x;_line;_point;_x0;_y0;constructor(u,f){this._context=u,this._x=f}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line}point(u,f){switch(u=+u,f=+f,this._point){case 0:{if(this._point=1,this._line)this._context.lineTo(u,f);else this._context.moveTo(u,f);break}case 1:{if(this._point=2,this._x)this._context.bezierCurveTo(this._x0=(this._x0+u)/2,this._y0,this._x0,f,u,f);else this._context.bezierCurveTo(this._x0,this._y0=(this._y0+f)/2,u,this._y0,u,f);break}default:{if(this._x)this._context.bezierCurveTo(this._x0=(this._x0+u)/2,this._y0,this._x0,f,u,f);else this._context.bezierCurveTo(this._x0,this._y0=(this._y0+f)/2,u,this._y0,u,f);break}}this._x0=u,this._y0=f}}class hS{_context;_point;_x0;_y0;constructor(u){this._context=u}lineStart(){this._point=0}lineEnd(){}point(u,f){if(u=+u,f=+f,this._point===0)this._point=1;else{let r=Kr(this._x0,this._y0),n=Kr(this._x0,this._y0=(this._y0+f)/2),m=Kr(u,this._y0),b=Kr(u,f);this._context.moveTo(...r),this._context.bezierCurveTo(...n,...m,...b)}this._x0=u,this._y0=f}}function xo(u){return new to(u,!0)}function eo(u){return new to(u,!1)}function vS(u){return new hS(u)}function EQ(u){return u.source}function CQ(u){return u.target}function $8(u){let f=EQ,r=CQ,n=Vn,m=Xn,b=null,o=null,T=d0(G);function G(){let M,I=kS.call(arguments),D=f.apply(this,I),S=r.apply(this,I);if(b==null)o=u(M=T());if(o.lineStart(),I[0]=D,o.point(+n.apply(this,I),+m.apply(this,I)),I[0]=S,o.point(+n.apply(this,I),+m.apply(this,I)),o.lineEnd(),M)return o=null,M+""||null}return G.source=function(M){return arguments.length?(f=M,G):f},G.target=function(M){return arguments.length?(r=M,G):r},G.x=function(M){return arguments.length?(n=typeof M==="function"?M:e(+M),G):n},G.y=function(M){return arguments.length?(m=typeof M==="function"?M:e(+M),G):m},G.context=function(M){return arguments.length?(M==null?b=o=null:o=u(b=M),G):b},G}function OQ(){return $8(xo)}function PQ(){return $8(eo)}function $Q(){let u=$8(vS);return u.angle=u.x,delete u.x,u.radius=u.y,delete u.y,u}var wQ=s(3),lo={draw(u,f){let r=s(f+l0(f/28,0.75))*0.59436,n=r/2,m=n*wQ;u.moveTo(0,r),u.lineTo(0,-r),u.moveTo(-m,-n),u.lineTo(m,n),u.moveTo(-m,n),u.lineTo(m,-n)}};var bb={draw(u,f){let r=s(f/q0);u.moveTo(r,0),u.arc(0,0,r,0,Q0)}};var io={draw(u,f){let r=s(f/5)/2;u.moveTo(-3*r,-r),u.lineTo(-r,-r),u.lineTo(-r,-3*r),u.lineTo(r,-3*r),u.lineTo(r,-r),u.lineTo(3*r,-r),u.lineTo(3*r,r),u.lineTo(r,r),u.lineTo(r,3*r),u.lineTo(-r,3*r),u.lineTo(-r,r),u.lineTo(-3*r,r),u.closePath()}};var pS=s(0.3333333333333333),AQ=pS*2,so={draw(u,f){let r=s(f/AQ),n=r*pS;u.moveTo(0,-r),u.lineTo(n,0),u.lineTo(0,r),u.lineTo(-n,0),u.closePath()}};var ao={draw(u,f){let r=s(f)*0.62625;u.moveTo(0,-r),u.lineTo(r,0),u.lineTo(0,r),u.lineTo(-r,0),u.closePath()}};var u4={draw(u,f){let r=s(f-l0(f/7,2))*0.87559;u.moveTo(-r,0),u.lineTo(r,0),u.moveTo(0,r),u.lineTo(0,-r)}};var f4={draw(u,f){let r=s(f),n=-r/2;u.rect(n,n,r,r)}};var r4={draw(u,f){let r=s(f)*0.4431;u.moveTo(r,r),u.lineTo(r,-r),u.lineTo(-r,-r),u.lineTo(-r,r),u.closePath()}};var RQ=0.8908130915292852,yS=tu(q0/10)/tu(7*q0/10),QQ=tu(Q0/10)*yS,LQ=-Y0(Q0/10)*yS,n4={draw(u,f){let r=s(f*RQ),n=QQ*r,m=LQ*r;u.moveTo(0,-r),u.lineTo(n,m);for(let b=1;b<5;++b){let o=Q0*b/5,T=Y0(o),G=tu(o);u.lineTo(G*r,-T*r),u.lineTo(T*n-G*m,G*n+T*m)}u.closePath()}};var m4=s(3),b4={draw(u,f){let r=-s(f/(m4*3));u.moveTo(0,r*2),u.lineTo(-m4*r,-r),u.lineTo(m4*r,-r),u.closePath()}};var ZQ=s(3),o4={draw(u,f){let r=s(f)*0.6824,n=r/2,m=r*ZQ/2;u.moveTo(0,-r),u.lineTo(m,n),u.lineTo(-m,n),u.closePath()}};var L0=-0.5,Z0=s(3)/2,T4=1/s(12),JQ=(T4/2+1)*3,M4={draw(u,f){let r=s(f/JQ),n=r/2,m=r*T4,b=n,o=r*T4+r,T=-b,G=o;u.moveTo(n,m),u.lineTo(b,o),u.lineTo(T,G),u.lineTo(L0*n-Z0*m,Z0*n+L0*m),u.lineTo(L0*b-Z0*o,Z0*b+L0*o),u.lineTo(L0*T-Z0*G,Z0*T+L0*G),u.lineTo(L0*n+Z0*m,L0*m-Z0*n),u.lineTo(L0*b+Z0*o,L0*o-Z0*b),u.lineTo(L0*T+Z0*G,L0*G-Z0*T),u.closePath()}};var w8={draw(u,f){let r=s(f-l0(f/6,1.7))*0.6189;u.moveTo(-r,-r),u.lineTo(r,r),u.moveTo(-r,r),u.lineTo(r,-r)}};var tS=[bb,io,so,f4,n4,b4,M4],FQ=[bb,u4,w8,o4,lo,r4,ao];function xS(u,f){let r=null,n=d0(m);u=typeof u==="function"?u:e(u||bb),f=typeof f==="function"?f:e(f===void 0?64:+f);function m(){let b;if(!r)r=b=n();if(u.apply(this,arguments).draw(r,+f.apply(this,arguments)),b)return r=null,b+""||null}return m.type=function(b){return arguments.length?(u=typeof b==="function"?b:e(b),m):u},m.size=function(b){return arguments.length?(f=typeof b==="function"?b:e(+b),m):f},m.context=function(b){return arguments.length?(r=b==null?null:b,m):r},m}function G0(){}function cf(u,f,r){u._context.bezierCurveTo((2*u._x0+u._x1)/3,(2*u._y0+u._y1)/3,(u._x0+2*u._x1)/3,(u._y0+2*u._y1)/3,(u._x0+4*u._x1+f)/6,(u._y0+4*u._y1+r)/6)}function ob(u){this._context=u}ob.prototype={areaStart(){this._line=0},areaEnd(){this._line=NaN},lineStart(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd(){switch(this._point){case 3:cf(this,this._x1,this._y1),this._context.lineTo(this._x1,this._y1);break;case 2:this._context.lineTo(this._x1,this._y1);break}if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line},point(u,f){switch(u=+u,f=+f,this._point){case 0:this._point=1,this._line?this._context.lineTo(u,f):this._context.moveTo(u,f);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6),cf(this,u,f);break;default:cf(this,u,f);break}this._x0=this._x1,this._x1=u,this._y0=this._y1,this._y1=f}};function eS(u){return new ob(u)}function lS(u){this._context=u}lS.prototype={areaStart:G0,areaEnd:G0,lineStart(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point(u,f){switch(u=+u,f=+f,this._point){case 0:this._point=1,this._x2=u,this._y2=f;break;case 1:this._point=2,this._x3=u,this._y3=f;break;case 2:this._point=3,this._x4=u,this._y4=f,this._context.moveTo((this._x0+4*this._x1+u)/6,(this._y0+4*this._y1+f)/6);break;default:cf(this,u,f);break}this._x0=this._x1,this._x1=u,this._y0=this._y1,this._y1=f}};function dS(u){return new lS(u)}function iS(u){this._context=u}iS.prototype={areaStart(){this._line=0},areaEnd(){this._line=NaN},lineStart(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd(){if(this._line||this._line!==0&&this._point===3)this._context.closePath();this._line=1-this._line},point(u,f){switch(u=+u,f=+f,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;{let r=(this._x0+4*this._x1+u)/6,n=(this._y0+4*this._y1+f)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break}case 3:this._point=4,cf(this,u,f);break;default:cf(this,u,f);break}this._x0=this._x1,this._x1=u,this._y0=this._y1,this._y1=f}};function sS(u){return new iS(u)}function aS(u,f){this._basis=new ob(u),this._beta=f}aS.prototype={lineStart(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd(){let u=this._x,f=this._y,r=u.length-1;if(r>0){let n=u[0],m=f[0],b=u[r]-n,o=f[r]-m,T=-1,G;while(++T<=r)G=T/r,this._basis.point(this._beta*u[T]+(1-this._beta)*(n+G*b),this._beta*f[T]+(1-this._beta)*(m+G*o))}this._x=this._y=null,this._basis.lineEnd()},point(u,f){this._x.push(+u),this._y.push(+f)}};var KQ=function u(f){function r(n){return f===1?new ob(n):new aS(n,f)}return r.beta=function(n){return u(+n)},r}(0.85);function hf(u,f,r){u._context.bezierCurveTo(u._x1+u._k*(u._x2-u._x0),u._y1+u._k*(u._y2-u._y0),u._x2+u._k*(u._x1-f),u._y2+u._k*(u._y1-r),u._x2,u._y2)}function A8(u,f){this._context=u,this._k=(1-f)/6}A8.prototype={areaStart(){this._line=0},areaEnd(){this._line=NaN},lineStart(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:hf(this,this._x1,this._y1);break}if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line},point(u,f){switch(u=+u,f=+f,this._point){case 0:this._point=1,this._line?this._context.lineTo(u,f):this._context.moveTo(u,f);break;case 1:this._point=2,this._x1=u,this._y1=f;break;case 2:this._point=3,hf(this,u,f);break;default:hf(this,u,f);break}this._x0=this._x1,this._x1=this._x2,this._x2=u,this._y0=this._y1,this._y1=this._y2,this._y2=f}};var UQ=function u(f){function r(n){return new A8(n,f)}return r.tension=function(n){return u(+n)},r}(0);function R8(u,f){this._context=u,this._k=(1-f)/6}R8.prototype={areaStart:G0,areaEnd:G0,lineStart(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point(u,f){switch(u=+u,f=+f,this._point){case 0:this._point=1,this._x3=u,this._y3=f;break;case 1:this._point=2,this._context.moveTo(this._x4=u,this._y4=f);break;case 2:this._point=3,this._x5=u,this._y5=f;break;default:hf(this,u,f);break}this._x0=this._x1,this._x1=this._x2,this._x2=u,this._y0=this._y1,this._y1=this._y2,this._y2=f}};var BQ=function u(f){function r(n){return new R8(n,f)}return r.tension=function(n){return u(+n)},r}(0);function Q8(u,f){this._context=u,this._k=(1-f)/6}Q8.prototype={areaStart(){this._line=0},areaEnd(){this._line=NaN},lineStart(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd(){if(this._line||this._line!==0&&this._point===3)this._context.closePath();this._line=1-this._line},point(u,f){switch(u=+u,f=+f,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4,hf(this,u,f);break;default:hf(this,u,f);break}this._x0=this._x1,this._x1=this._x2,this._x2=u,this._y0=this._y1,this._y1=this._y2,this._y2=f}};var WQ=function u(f){function r(n){return new Q8(n,f)}return r.tension=function(n){return u(+n)},r}(0);function Ur(u,f,r){let{_x1:n,_y1:m,_x2:b,_y2:o}=u;if(u._l01_a>zu){let T=2*u._l01_2a+3*u._l01_a*u._l12_a+u._l12_2a,G=3*u._l01_a*(u._l01_a+u._l12_a);n=(n*T-u._x0*u._l12_2a+u._x2*u._l01_2a)/G,m=(m*T-u._y0*u._l12_2a+u._y2*u._l01_2a)/G}if(u._l23_a>zu){let T=2*u._l23_2a+3*u._l23_a*u._l12_a+u._l12_2a,G=3*u._l23_a*(u._l23_a+u._l12_a);b=(b*T+u._x1*u._l23_2a-f*u._l12_2a)/G,o=(o*T+u._y1*u._l23_2a-r*u._l12_2a)/G}u._context.bezierCurveTo(n,m,b,o,u._x2,u._y2)}function uD(u,f){this._context=u,this._alpha=f}uD.prototype={areaStart(){this._line=0},areaEnd(){this._line=NaN},lineStart(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line},point(u,f){if(u=+u,f=+f,this._point){let r=this._x2-u,n=this._y2-f;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(u,f):this._context.moveTo(u,f);break;case 1:this._point=2;break;case 2:this._point=3,Ur(this,u,f);break;default:Ur(this,u,f);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=u,this._y0=this._y1,this._y1=this._y2,this._y2=f}};var NQ=function u(f){function r(n){return f?new uD(n,f):new A8(n,0)}return r.alpha=function(n){return u(+n)},r}(0.5);function fD(u,f){this._context=u,this._alpha=f}fD.prototype={areaStart:G0,areaEnd:G0,lineStart(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point(u,f){if(u=+u,f=+f,this._point){let r=this._x2-u,n=this._y2-f;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=u,this._y3=f;break;case 1:this._point=2,this._context.moveTo(this._x4=u,this._y4=f);break;case 2:this._point=3,this._x5=u,this._y5=f;break;default:Ur(this,u,f);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=u,this._y0=this._y1,this._y1=this._y2,this._y2=f}};var HQ=function u(f){function r(n){return f?new fD(n,f):new R8(n,0)}return r.alpha=function(n){return u(+n)},r}(0.5);function rD(u,f){this._context=u,this._alpha=f}rD.prototype={areaStart(){this._line=0},areaEnd(){this._line=NaN},lineStart(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd(){if(this._line||this._line!==0&&this._point===3)this._context.closePath();this._line=1-this._line},point(u,f){if(u=+u,f=+f,this._point){let r=this._x2-u,n=this._y2-f;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4,Ur(this,u,f);break;default:Ur(this,u,f);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=u,this._y0=this._y1,this._y1=this._y2,this._y2=f}};var VQ=function u(f){function r(n){return f?new rD(n,f):new Q8(n,0)}return r.alpha=function(n){return u(+n)},r}(0.5);function nD(u){this._context=u}nD.prototype={areaStart:G0,areaEnd:G0,lineStart(){this._point=0},lineEnd(){if(this._point)this._context.closePath()},point(u,f){if(u=+u,f=+f,this._point)this._context.lineTo(u,f);else this._point=1,this._context.moveTo(u,f)}};function mD(u){return new nD(u)}function bD(u){return u<0?-1:1}function oD(u,f,r){let n=u._x1-u._x0,m=f-u._x1,b=(u._y1-u._y0)/(n||(m<0?-0:0)),o=(r-u._y1)/(m||(n<0?-0:0)),T=(b*m+o*n)/(n+m);return(bD(b)+bD(o))*Math.min(Math.abs(b),Math.abs(o),0.5*Math.abs(T))||0}function TD(u,f){let r=u._x1-u._x0;return r?(3*(u._y1-u._y0)/r-f)/2:f}function G4(u,f,r){let{_x0:n,_y0:m,_x1:b,_y1:o}=u,T=(b-n)/3;u._context.bezierCurveTo(n+T,m+T*f,b-T,o-T*r,b,o)}function L8(u){this._context=u}L8.prototype={areaStart(){this._line=0},areaEnd(){this._line=NaN},lineStart(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:G4(this,this._t0,TD(this,this._t0));break}if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line},point(u,f){let r=NaN;if(u=+u,f=+f,u===this._x1&&f===this._y1)return;switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(u,f):this._context.moveTo(u,f);break;case 1:this._point=2;break;case 2:this._point=3,G4(this,TD(this,r=oD(this,u,f)),r);break;default:G4(this,this._t0,r=oD(this,u,f));break}this._x0=this._x1,this._x1=u,this._y0=this._y1,this._y1=f,this._t0=r}};function I4(u){this._context=new MD(u)}I4.prototype=Object.create(L8.prototype);I4.prototype.point=function(u,f){L8.prototype.point.call(this,f,u)};function MD(u){this._context=u}MD.prototype={moveTo(u,f){this._context.moveTo(f,u)},closePath(){this._context.closePath()},lineTo(u,f){this._context.lineTo(f,u)},bezierCurveTo(u,f,r,n,m,b){this._context.bezierCurveTo(f,u,n,r,b,m)}};function XQ(u){return new L8(u)}function YQ(u){return new I4(u)}function ID(u){this._context=u}ID.prototype={areaStart(){this._line=0},areaEnd(){this._line=NaN},lineStart(){this._x=[],this._y=[]},lineEnd(){let u=this._x,f=this._y,r=u.length;if(r)if(this._line?this._context.lineTo(u[0],f[0]):this._context.moveTo(u[0],f[0]),r===2)this._context.lineTo(u[1],f[1]);else{let n=GD(u),m=GD(f);for(let b=0,o=1;o<r;++b,++o)this._context.bezierCurveTo(n[0][b],m[0][b],n[1][b],m[1][b],u[o],f[o])}if(this._line||this._line!==0&&r===1)this._context.closePath();this._line=1-this._line,this._x=this._y=null},point(u,f){this._x.push(+u),this._y.push(+f)}};function GD(u){let f,r=u.length-1,n,m=Array(r),b=Array(r),o=Array(r);m[0]=0,b[0]=2,o[0]=u[0]+2*u[1];for(f=1;f<r-1;++f)m[f]=1,b[f]=4,o[f]=4*u[f]+2*u[f+1];m[r-1]=2,b[r-1]=7,o[r-1]=8*u[r-1]+u[r];for(f=1;f<r;++f)n=m[f]/b[f-1],b[f]-=n,o[f]-=n*o[f-1];m[r-1]=o[r-1]/b[r-1];for(f=r-2;f>=0;--f)m[f]=(o[f]-m[f+1])/b[f];b[r-1]=(u[r]+m[r-1])/2;for(f=0;f<r-1;++f)b[f]=2*u[f+1]-m[f+1];return[m,b]}function SD(u){return new ID(u)}function Z8(u,f){this._context=u,this._t=f}Z8.prototype={areaStart(){this._line=0},areaEnd(){this._line=NaN},lineStart(){this._x=this._y=NaN,this._point=0},lineEnd(){if(0<this._t&&this._t<1&&this._point===2)this._context.lineTo(this._x,this._y);if(this._line||this._line!==0&&this._point===1)this._context.closePath();if(this._line>=0)this._t=1-this._t,this._line=1-this._line},point(u,f){switch(u=+u,f=+f,this._point){case 0:this._point=1,this._line?this._context.lineTo(u,f):this._context.moveTo(u,f);break;case 1:{if(this._point=2,this._t<=0)this._context.lineTo(this._x,f),this._context.lineTo(u,f);else{let r=this._x*(1-this._t)+u*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,f)}break}default:{if(this._t<=0)this._context.lineTo(this._x,f),this._context.lineTo(u,f);else{let r=this._x*(1-this._t)+u*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,f)}break}}this._x=u,this._y=f}};function DD(u){return new Z8(u,0.5)}function qQ(u){return new Z8(u,0)}function zQ(u){return new Z8(u,1)}function z0(u,f){let r;if(!((r=u.length)>1))return;for(let n=1,m,b=u[f[0]],o=b.length;n<r;++n){m=b,b=u[f[n]];for(let T=0;T<o;++T)b[T][1]+=b[T][0]=isNaN(m[T][1])?m[T][0]:m[T][1]}}function j0(u){let f=u.length,r=Array(f),n=f;while(--n>=0)r[n]=n;return r}function jQ(u,f){return u[f]}function kQ(u){let f=[];return f.key=u,f}function ED(){let u=e([]),f=j0,r=z0,n=jQ;function m(b){let o=Array.from(u.apply(this,arguments),kQ),T,G=o.length,M=-1,I;for(let D of b)for(T=0,++M;T<G;++T)(o[T][M]=[0,+n(D,o[T].key,M,b)]).data=D;for(T=0,I=$f(f(o));T<G;++T)o[I[T]].index=T;return r(o,I),o}return m.keys=function(b){return arguments.length?(u=typeof b==="function"?b:e(Array.from(b)),m):u},m.value=function(b){return arguments.length?(n=typeof b==="function"?b:e(+b),m):n},m.order=function(b){return arguments.length?(f=b==null?j0:typeof b==="function"?b:e(Array.from(b)),m):f},m.offset=function(b){return arguments.length?(r=b==null?z0:b,m):r},m}function CD(u,f){let r;if(!((r=u.length)>0))return;for(let n,m=0,b=u[0].length,o;m<b;++m){for(o=n=0;n<r;++n)o+=u[n][m][1]||0;if(o)for(n=0;n<r;++n)u[n][m][1]/=o}z0(u,f)}function OD(u,f){let r;if(!((r=u.length)>0))return;for(let n,m=0,b,o,T,G,M=u[f[0]].length;m<M;++m)for(T=G=0,n=0;n<r;++n)if((o=(b=u[f[n]][m])[1]-b[0])>0)b[0]=T,b[1]=T+=o;else if(o<0)b[1]=G,b[0]=G+=o;else b[0]=0,b[1]=o}function PD(u,f){let r;if(!((r=u.length)>0))return;for(let n=0,m=u[f[0]],b=m.length;n<b;++n){let o=0;for(let T=0;T<r;++T)o+=u[T][n][1]||0;m[n][1]+=m[n][0]=-o/2}z0(u,f)}function $D(u,f){let r,n,m;if(!((r=u.length)>0)||!((n=(m=u[f[0]]).length)>0))return;let b=0,o=1;for(;o<n;++o){let T=0,G=0;for(let M=0;M<r;++M){let I=u[f[M]],D=I[o][1]||0,S=I[o-1][1]||0,E=(D-S)/2;for(let O=0;O<M;++O){let $=u[f[O]],P=$[o][1]||0,C=$[o-1][1]||0;E+=P-C}T+=D,G+=E*D}if(m[o-1][1]+=m[o-1][0]=b,T)b-=G/T}m[o-1][1]+=m[o-1][0]=b,z0(u,f)}function J8(u){let f=u.map(_Q);return j0(u).sort(function(r,n){return f[r]-f[n]})}function _Q(u){let f=-1,r=0,n=u.length,m,b=-1/0;while(++f<n)if((m=+u[f][1])>b)b=m,r=f;return r}function F8(u){let f=u.map(S4);return j0(u).sort(function(r,n){return f[r]-f[n]})}function S4(u){let f=0,r=-1,n=u.length,m;while(++r<n)if(m=+u[r][1])f+=m;return f}function wD(u){return F8(u).reverse()}function AD(u){let f=u.length,r,n,m=u.map(S4),b=J8(u),o=0,T=0,G=[],M=[];for(r=0;r<f;++r)if(n=b[r],o<T)o+=m[n],G.push(n);else T+=m[n],M.push(n);return M.reverse().concat(G)}function RD(u){return j0(u).reverse()}function jn(u){return()=>u}function D4(u,{sourceEvent:f,target:r,transform:n,dispatch:m}){Object.defineProperties(this,{type:{value:u,enumerable:!0,configurable:!0},sourceEvent:{value:f,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},transform:{value:n,enumerable:!0,configurable:!0},_:{value:m}})}function k0(u,f,r){this.k=u,this.x=f,this.y=r}k0.prototype={constructor:k0,scale(u){return u===1?this:new k0(this.k*u,this.x,this.y)},translate(u,f){return u===0&&f===0?this:new k0(this.k,this.x+this.k*u,this.y+this.k*f)},apply(u){return[u[0]*this.k+this.x,u[1]*this.k+this.y]},applyX(u){return u*this.k+this.x},applyY(u){return u*this.k+this.y},invert(u){return[(u[0]-this.x)/this.k,(u[1]-this.y)/this.k]},invertX(u){return(u-this.x)/this.k},invertY(u){return(u-this.y)/this.k},rescaleX(u){return u.copy().domain(u.range().map(this.invertX,this).map(u.invert,u))},rescaleY(u){return u.copy().domain(u.range().map(this.invertY,this).map(u.invert,u))},toString(){return`translate(${this.x},${this.y}) scale(${this.k})`}};var Tb=new k0(1,0,0),gQ=Object.assign(function(f){while(!f.__zoom)if(!(f=f.parentNode))return Tb;return f.__zoom},{prototype:k0.prototype}),cQ=gQ;function K8(u){u.stopImmediatePropagation()}function Br(u){u.preventDefault(),u.stopImmediatePropagation()}function hQ(u){return(!u.ctrlKey||u.type==="wheel")&&!u.button}function vQ(){let u=this;if(typeof SVGElement<"u"&&u instanceof SVGElement){if(u=u.ownerSVGElement||u,u.hasAttribute("viewBox"))return u=u.viewBox.baseVal,[[u.x,u.y],[u.x+u.width,u.y+u.height]];return[[0,0],[u.width.baseVal.value,u.height.baseVal.value]]}return[[0,0],[u.clientWidth||0,u.clientHeight||0]]}function QD(){return this.__zoom||Tb}function pQ(u){return-u.deltaY*(u.deltaMode===1?0.05:u.deltaMode?1:0.002)*(u.ctrlKey?10:1)}function yQ(){return!!(navigator.maxTouchPoints||("ontouchstart"in this))}function tQ(u,f,r){let n=u.invertX(f[0][0])-r[0][0],m=u.invertX(f[1][0])-r[1][0],b=u.invertY(f[0][1])-r[0][1],o=u.invertY(f[1][1])-r[1][1];return u.translate(m>n?(n+m)/2:Math.min(0,n)||Math.max(0,m),o>b?(b+o)/2:Math.min(0,b)||Math.max(0,o))}function LD(){let u=hQ,f=vQ,r=tQ,n=pQ,m=yQ,b=[0,1/0],o=[[-1/0,-1/0],[1/0,1/0]],T=250,G=n7,M=F0("start","zoom","end"),I,D,S,E=500,O=150,$=0,P=10;function C(Z){Z.property("__zoom",QD).on("wheel.zoom",N,{passive:!1}).on("mousedown.zoom",H).on("dblclick.zoom",K).filter(m).on("touchstart.zoom",B).on("touchmove.zoom",V).on("touchend.zoom touchcancel.zoom",W).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}C.transform=function(Z,J,U,X){let Y=Z.selection?Z.selection():Z;if(Y.property("__zoom",QD),Z!==Y)Q(Z,J,U,X);else Y.interrupt().each(function(){L(this,arguments).event(X).start().zoom(null,typeof J==="function"?J.apply(this,arguments):J).end()})},C.scaleBy=function(Z,J,U,X){C.scaleTo(Z,function(){let Y=this.__zoom.k,j=typeof J==="function"?J.apply(this,arguments):J;return Y*j},U,X)},C.scaleTo=function(Z,J,U,X){C.transform(Z,function(){let Y=f.apply(this,arguments),j=this.__zoom,k=U==null?w(Y):typeof U==="function"?U.apply(this,arguments):U,v=j.invert(k),y=typeof J==="function"?J.apply(this,arguments):J;return r(R(A(j,y),k,v),Y,o)},U,X)},C.translateBy=function(Z,J,U,X){C.transform(Z,function(){return r(this.__zoom.translate(typeof J==="function"?J.apply(this,arguments):J,typeof U==="function"?U.apply(this,arguments):U),f.apply(this,arguments),o)},null,X)},C.translateTo=function(Z,J,U,X,Y){C.transform(Z,function(){let j=f.apply(this,arguments),k=this.__zoom,v=X==null?w(j):typeof X==="function"?X.apply(this,arguments):X;return r(Tb.translate(v[0],v[1]).scale(k.k).translate(typeof J==="function"?-J.apply(this,arguments):-J,typeof U==="function"?-U.apply(this,arguments):-U),j,o)},X,Y)};function A(Z,J){return J=Math.max(b[0],Math.min(b[1],J)),J===Z.k?Z:new k0(J,Z.x,Z.y)}function R(Z,J,U){let X=J[0]-U[0]*Z.k,Y=J[1]-U[1]*Z.k;return X===Z.x&&Y===Z.y?Z:new k0(Z.k,X,Y)}function w(Z){return[(+Z[0][0]+ +Z[1][0])/2,(+Z[0][1]+ +Z[1][1])/2]}function Q(Z,J,U,X){Z.on("start.zoom",function(){L(this,arguments).event(X).start()}).on("interrupt.zoom end.zoom",function(){L(this,arguments).event(X).end()}).tween("zoom",function(){let Y=this,j=arguments,k=L(Y,j).event(X),v=f.apply(Y,j),y=U==null?w(v):typeof U==="function"?U.apply(Y,j):U,i=Math.max(v[1][0]-v[0][0],v[1][1]-v[0][1]),a=Y.__zoom,Gu=typeof J==="function"?J.apply(Y,j):J,Uu=G(a.invert(y).concat(i/a.k),Gu.invert(y).concat(i/Gu.k));return function(Su){if(Su===1)Su=Gu;else{let gu=Uu(Su),c=i/gu[2];Su=new k0(c,y[0]-gu[0]*c,y[1]-gu[1]*c)}k.zoom(null,Su)}})}function L(Z,J,U){return!U&&Z.__zooming||new F(Z,J)}function F(Z,J){this.that=Z,this.args=J,this.active=0,this.sourceEvent=null,this.extent=f.apply(Z,J),this.taps=0}F.prototype={event(Z){if(Z)this.sourceEvent=Z;return this},start(){if(++this.active===1)this.that.__zooming=this,this.emit("start");return this},zoom(Z,J){if(this.mouse&&Z!=="mouse")this.mouse[1]=J.invert(this.mouse[0]);if(this.touch0&&Z!=="touch")this.touch0[1]=J.invert(this.touch0[0]);if(this.touch1&&Z!=="touch")this.touch1[1]=J.invert(this.touch1[0]);return this.that.__zoom=J,this.emit("zoom"),this},end(){if(--this.active===0)delete this.that.__zooming,this.emit("end");return this},emit(Z){let J=Ju(this.that).datum();M.call(Z,this.that,new D4(Z,{sourceEvent:this.sourceEvent,target:C,type:Z,transform:this.that.__zoom,dispatch:M}),J)}};function N(Z,...J){if(!u.apply(this,arguments))return;let U=L(this,J).event(Z),X=this.__zoom,Y=Math.max(b[0],Math.min(b[1],X.k*Math.pow(2,n.apply(this,arguments)))),j=Wu(Z);if(U.wheel){if(U.mouse[0][0]!==j[0]||U.mouse[0][1]!==j[1])U.mouse[1]=X.invert(U.mouse[0]=j);clearTimeout(U.wheel)}else if(X.k===Y)return;else U.mouse=[j,X.invert(j)],U0(this),U.start();Br(Z),U.wheel=setTimeout(k,O),U.zoom("mouse",r(R(A(X,Y),U.mouse[0],U.mouse[1]),U.extent,o));function k(){U.wheel=null,U.end()}}function H(Z,...J){if(S||!u.apply(this,arguments))return;let U=Z.currentTarget,X=L(this,J,!0).event(Z),Y=Ju(Z.view).on("mousemove.zoom",y,!0).on("mouseup.zoom",i,!0),j=Wu(Z,U),k=Z.clientX,v=Z.clientY;Zf(Z.view),K8(Z),X.mouse=[j,this.__zoom.invert(j)],U0(this),X.start();function y(a){if(Br(a),!X.moved){let Gu=a.clientX-k,Uu=a.clientY-v;X.moved=Gu*Gu+Uu*Uu>$}X.event(a).zoom("mouse",r(R(X.that.__zoom,X.mouse[0]=Wu(a,U),X.mouse[1]),X.extent,o))}function i(a){Y.on("mousemove.zoom mouseup.zoom",null),lf(a.view,X.moved),Br(a),X.event(a).end()}}function K(Z,...J){if(!u.apply(this,arguments))return;let U=this.__zoom,X=Wu(Z.changedTouches?Z.changedTouches[0]:Z,this),Y=U.invert(X),j=U.k*(Z.shiftKey?0.5:2),k=r(R(A(U,j),X,Y),f.apply(this,J),o);if(Br(Z),T>0)Ju(this).transition().duration(T).call(Q,k,X,Z);else Ju(this).call(C.transform,k,X,Z)}function B(Z,...J){if(!u.apply(this,arguments))return;let U=Z.touches,X=U.length,Y=L(this,J,Z.changedTouches.length===X).event(Z),j,k,v,y;K8(Z);for(k=0;k<X;++k)if(v=U[k],y=Wu(v,this),y=[y,this.__zoom.invert(y),v.identifier],!Y.touch0)Y.touch0=y,j=!0,Y.taps=1+ +!!I;else if(!Y.touch1&&Y.touch0[2]!==y[2])Y.touch1=y,Y.taps=0;if(I)clearTimeout(I),I=null;if(j){if(Y.taps<2)D=y[0],I=setTimeout(()=>{I=null},E);U0(this),Y.start()}}function V(Z,...J){if(!this.__zooming)return;let U=L(this,J).event(Z),X=Z.changedTouches,Y=X.length,j,k,v,y;Br(Z);for(j=0;j<Y;++j)if(k=X[j],v=Wu(k,this),U.touch0&&U.touch0[2]===k.identifier)U.touch0[0]=v;else if(U.touch1&&U.touch1[2]===k.identifier)U.touch1[0]=v;if(k=U.that.__zoom,U.touch1){let i=U.touch0[0],a=U.touch0[1],Gu=U.touch1[0],Uu=U.touch1[1],Su=(Gu[0]-i[0])**2+(Gu[1]-i[1])**2,gu=(Uu[0]-a[0])**2+(Uu[1]-a[1])**2;k=A(k,Math.sqrt(Su/gu)),v=[(i[0]+Gu[0])/2,(i[1]+Gu[1])/2],y=[(a[0]+Uu[0])/2,(a[1]+Uu[1])/2]}else if(U.touch0)v=U.touch0[0],y=U.touch0[1];else return;U.zoom("touch",r(R(k,v,y),U.extent,o))}function W(Z,...J){if(!this.__zooming)return;let U=L(this,J).event(Z),X=Z.changedTouches,Y=X.length,j,k;if(K8(Z),S)clearTimeout(S);S=setTimeout(()=>{S=null},E);for(j=0;j<Y;++j)if(k=X[j],U.touch0&&U.touch0[2]===k.identifier)delete U.touch0;else if(U.touch1&&U.touch1[2]===k.identifier)delete U.touch1;if(U.touch1&&!U.touch0)U.touch0=U.touch1,delete U.touch1;if(U.touch0)U.touch0[1]=this.__zoom.invert(U.touch0[0]);else if(U.end(),U.taps===2){if(k=Wu(k,this),Math.hypot(D[0]-k[0],D[1]-k[1])<P){let v=Ju(this).on("dblclick.zoom");if(v)v.apply(this,arguments)}}}return C.wheelDelta=function(Z){return arguments.length?(n=typeof Z==="function"?Z:jn(+Z),C):n},C.filter=function(Z){return arguments.length?(u=typeof Z==="function"?Z:jn(!!Z),C):u},C.touchable=function(Z){return arguments.length?(m=typeof Z==="function"?Z:jn(!!Z),C):m},C.extent=function(Z){return arguments.length?(f=typeof Z==="function"?Z:jn([[+Z[0][0],+Z[0][1]],[+Z[1][0],+Z[1][1]]]),C):f},C.scaleExtent=function(Z){return arguments.length?(b[0]=+Z[0],b[1]=+Z[1],C):[b[0],b[1]]},C.translateExtent=function(Z){return arguments.length?(o[0][0]=+Z[0][0],o[1][0]=+Z[1][0],o[0][1]=+Z[0][1],o[1][1]=+Z[1][1],C):[[o[0][0],o[0][1]],[o[1][0],o[1][1]]]},C.constrain=function(Z){return arguments.length?(r=Z,C):r},C.duration=function(Z){return arguments.length?(T=+Z,C):T},C.interpolate=function(Z){return arguments.length?(G=Z,C):G},C.on=function(...Z){let J=M.on.apply(M,arguments);return J===M?C:J},C.clickDistance=function(Z){return arguments.length?($=(Z=+Z)*Z,C):Math.sqrt($)},C.tapDistance=function(Z){return arguments.length?(P=+Z,C):P},C}export{cQ as zoomTransform,Tb as zoomIdentity,LD as zoom,c4 as zip,o$ as xml,yn as window,Gb as variance,yA as utcYears,M0 as utcYear,XI as utcWeeks,Of as utcWeek,kA as utcWednesdays,NI as utcWednesday,jA as utcTuesdays,WI as utcTuesday,Bo as utcTicks,Wo as utcTickInterval,_A as utcThursdays,_f as utcThursday,XI as utcSundays,Of as utcSunday,ZI as utcSeconds,R0 as utcSecond,cA as utcSaturdays,VI as utcSaturday,o8 as utcParse,vA as utcMonths,Wn as utcMonth,zA as utcMondays,Un as utcMonday,JA as utcMinutes,Zn as utcMinute,LI as utcMilliseconds,Lr as utcMillisecond,KA as utcHours,Fn as utcHour,gA as utcFridays,HI as utcFriday,Hn as utcFormat,BA as utcDays,Zr as utcDay,WA as unixDays,n8 as unixDay,a4 as union,pP as tsvParseRows,d7 as tsvParse,lP as tsvFormatValue,xP as tsvFormatRows,eP as tsvFormatRow,tP as tsvFormatBody,yP as tsvFormat,f$ as tsv,Mo as treemapSquarify,hG as treemapSliceDice,qf as treemapSlice,Xw as treemapResquarify,t0 as treemapDice,cG as treemapBinary,gG as treemap,_G as tree,Pb as transpose,$O as transition,l9 as timerFlush,om as timer,Tm as timeout,pA as timeYears,T0 as timeYear,BI as timeWeeks,Cf as timeWeek,VA as timeWednesdays,FI as timeWednesday,HA as timeTuesdays,JI as timeTuesday,No as timeTicks,Ho as timeTickInterval,XA as timeThursdays,kf as timeThursday,BI as timeSundays,Cf as timeSunday,ZI as timeSeconds,R0 as timeSecond,qA as timeSaturdays,UI as timeSaturday,iI as timeParse,hA as timeMonths,Bn as timeMonth,NA as timeMondays,Kn as timeMonday,ZA as timeMinutes,Ln as timeMinute,LI as timeMilliseconds,Lr as timeMillisecond,Cu as timeInterval,FA as timeHours,Jn as timeHour,YA as timeFridays,KI as timeFriday,m8 as timeFormatLocale,Yo as timeFormatDefaultLocale,b8 as timeFormat,UA as timeDays,Ef as timeDay,m0 as ticks,Vr as tickStep,_0 as tickIncrement,u8 as tickFormat,Yr as thresholdSturges,N4 as thresholdScott,W4 as thresholdFreedmanDiaconis,Gr as text,FQ as symbolsStroke,tS as symbolsFill,tS as symbols,w8 as symbolX,M4 as symbolWye,o4 as symbolTriangle2,b4 as symbolTriangle,w8 as symbolTimes,n4 as symbolStar,r4 as symbolSquare2,f4 as symbolSquare,u4 as symbolPlus,ao as symbolDiamond2,so as symbolDiamond,io as symbolCross,bb as symbolCircle,lo as symbolAsterisk,xS as symbol,b$ as svg,$b as superset,g4 as sum,s4 as subset,Lf as style,kG as stratify,RD as stackOrderReverse,j0 as stackOrderNone,AD as stackOrderInsideOut,wD as stackOrderDescending,F8 as stackOrderAscending,J8 as stackOrderAppearance,$D as stackOffsetWiggle,PD as stackOffsetSilhouette,z0 as stackOffsetNone,CD as stackOffsetExpand,OD as stackOffsetDiverging,ED as stack,_n as sort,v4 as some,_4 as shuffler,xD as shuffle,_r as selectorAll,xf as selector,Lb as selection,I9 as selectAll,Ju as select,JS as schemeYlOrRd,ZS as schemeYlOrBr,QS as schemeYlGnBu,LS as schemeYlGn,L3 as schemeTableau10,DS as schemeSpectral,R3 as schemeSet3,w3 as schemeSet2,P3 as schemeSet1,WS as schemeReds,SS as schemeRdYlGn,IS as schemeRdYlBu,RS as schemeRdPu,GS as schemeRdGy,MS as schemeRdBu,BS as schemePurples,AS as schemePuRd,TS as schemePuOr,$S as schemePuBuGn,wS as schemePuBu,oS as schemePiYG,C3 as schemePastel2,D3 as schemePastel1,I3 as schemePaired,bS as schemePRGn,NS as schemeOranges,PS as schemeOrRd,M3 as schemeObservable10,US as schemeGreys,KS as schemeGreens,OS as schemeGnBu,o3 as schemeDark2,r3 as schemeCategory10,CS as schemeBuPu,ES as schemeBuGn,mS as schemeBrBG,FS as schemeBlues,m3 as schemeAccent,k4 as scan,aI as scaleUtc,sI as scaleTime,Jo as scaleThreshold,Ro as scaleSymlog,QA as scaleSqrt,fS as scaleSequentialSymlog,aR as scaleSequentialSqrt,jo as scaleSequentialQuantile,zo as scaleSequentialPow,uS as scaleSequentialLog,qo as scaleSequential,Qo as scaleRadial,Zo as scaleQuantize,Lo as scaleQuantile,f8 as scalePow,IA as scalePoint,lm as scaleOrdinal,Ao as scaleLog,$o as scaleLinear,Co as scaleImplicit,wo as scaleIdentity,nS as scaleDivergingSymlog,u3 as scaleDivergingSqrt,_o as scaleDivergingPow,rS as scaleDivergingLog,ko as scaleDiverging,a6 as scaleBand,J4 as rollups,N8 as rollup,MP as ribbonArrow,ZT as ribbon,um as rgb,x4 as reverse,t4 as reduce,q4 as rank,J0 as range,nA as randomWeibull,jw as randomUniform,GA as randomPoisson,lw as randomPareto,xm as randomNormal,TA as randomLogistic,hw as randomLogNormal,DI as randomLcg,Io as randomIrwinHall,_w as randomInt,So as randomGeometric,em as randomGamma,xw as randomExponential,bA as randomCauchy,Eo as randomBinomial,Do as randomBeta,iw as randomBernoulli,yw as randomBates,po as radialLine,yo as radialArea,jr as quickselect,y9 as quantize,V8 as quantileSorted,X8 as quantileIndex,uf as quantile,Rm as quadtree,C6 as precisionRound,E6 as precisionPrefix,D6 as precisionFixed,eG as polygonLength,tG as polygonHull,xG as polygonContains,pG as polygonCentroid,vG as polygonArea,G9 as pointers,Wu as pointer,Kr as pointRadial,hb as piecewise,gS as pie,Db as permute,fP as pathRound,f6 as path,qG as partition,Y4 as pairs,HG as packSiblings,FG as packEnclose,YG as pack,fr as now,Xr as nice,Qb as namespaces,g0 as namespace,X4 as mode,zr as minIndex,yf as min,kr as merge,vD as medianIndex,V4 as median,H4 as mean,qr as maxIndex,Qf as max,gr as matcher,y4 as map,M9 as local,PQ as linkVertical,$Q as linkRadial,OQ as linkHorizontal,$8 as link,po as lineRadial,Yn as line,Ob as leastIndex,z4 as least,wC as lch,Hb as lab,_T as json,T8 as isoSpecifier,dR as isoParse,xR as isoFormat,d9 as interval,d4 as intersection,U0 as interrupt,n7 as interpolateZoom,v3 as interpolateYlOrRd,h3 as interpolateYlOrBr,g3 as interpolateYlGnBu,c3 as interpolateYlGn,s3 as interpolateWarm,oQ as interpolateViridis,YS as interpolateTurbo,r7 as interpolateTransformSvg,f7 as interpolateTransformCss,yr as interpolateString,H3 as interpolateSpectral,XS as interpolateSinebow,Kf as interpolateRound,LC as interpolateRgbBasisClosed,i8 as interpolateRgbBasis,af as interpolateRgb,e3 as interpolateReds,N3 as interpolateRdYlGn,W3 as interpolateRdYlBu,_3 as interpolateRdPu,B3 as interpolateRdGy,U3 as interpolateRdBu,VS as interpolateRainbow,x3 as interpolatePurples,k3 as interpolatePuRd,K3 as interpolatePuOr,z3 as interpolatePuBuGn,j3 as interpolatePuBu,bQ as interpolatePlasma,F3 as interpolatePiYG,J3 as interpolatePRGn,l3 as interpolateOranges,q3 as interpolateOrRd,kb as interpolateObject,pr as interpolateNumberArray,Vu as interpolateNumber,nQ as interpolateMagma,h9 as interpolateLab,mQ as interpolateInferno,q9 as interpolateHue,BC as interpolateHslLong,UC as interpolateHsl,NC as interpolateHclLong,WC as interpolateHcl,t3 as interpolateGreys,y3 as interpolateGreens,Y3 as interpolateGnBu,Y9 as interpolateDiscrete,jb as interpolateDate,tr as interpolateCubehelixLong,i3 as interpolateCubehelixDefault,HC as interpolateCubehelix,a3 as interpolateCool,HS as interpolateCividis,X3 as interpolateBuPu,V3 as interpolateBuGn,Z3 as interpolateBrBG,p3 as interpolateBlues,qb as interpolateBasisClosed,Yb as interpolateBasis,X9 as interpolateArray,cu as interpolate,_D as indexes,kD as index,kT as image,m$ as html,Ub as hsl,H8 as histogram,l5 as hierarchy,Vb as hcl,L4 as groups,K4 as groupSort,Sb as group,j4 as greatestIndex,Cb as greatest,$C as gray,x5 as geoTransverseMercatorRaw,LG as geoTransverseMercator,rG as geoTransform,Yu as geoStream,t5 as geoStereographicRaw,QG as geoStereographic,W6 as geoRotation,y6 as geoProjectionMutator,Bu as geoProjection,fG as geoPath,y5 as geoOrthographicRaw,RG as geoOrthographic,p5 as geoNaturalEarth1Raw,AG as geoNaturalEarth1,wn as geoMercatorRaw,IG as geoMercator,q6 as geoLength,_M as geoInterpolate,wG as geoIdentity,_$ as geoGraticule10,Z5 as geoGraticule,v5 as geoGnomonicRaw,$G as geoGnomonic,An as geoEquirectangularRaw,EG as geoEquirectangular,h5 as geoEqualEarthRaw,PG as geoEqualEarth,In as geoDistance,zM as geoContains,CG as geoConicEquidistantRaw,OG as geoConicEquidistant,oG as geoConicEqualAreaRaw,wr as geoConicEqualArea,SG as geoConicConformalRaw,DG as geoConicConformal,Vf as geoClipRectangle,WM as geoClipExtent,H6 as geoClipCircle,N6 as geoClipAntimeridian,UM as geoCircle,LM as geoCentroid,PM as geoBounds,g5 as geoAzimuthalEquidistantRaw,GG as geoAzimuthalEquidistant,_5 as geoAzimuthalEqualAreaRaw,MG as geoAzimuthalEqualArea,MM as geoArea,TG as geoAlbersUsa,t6 as geoAlbers,YD as fsum,Wf as formatSpecifier,S6 as formatPrefix,G6 as formatLocale,b5 as formatDefaultLocale,mn as format,sT as forceY,iT as forceX,eT as forceSimulation,dT as forceRadial,lT as forceManyBody,yT as forceLink,vT as forceCollide,gT as forceCenter,jD as flatRollup,zD as flatGroup,p4 as filter,qD as fcumsum,Rf as extent,h4 as every,KO as easeSinOut,mT as easeSinInOut,FO as easeSinIn,mT as easeSin,RO as easeQuadOut,uT as easeQuadInOut,AO as easeQuadIn,uT as easeQuad,JO as easePolyOut,fT as easePolyInOut,ZO as easePolyIn,fT as easePoly,wO as easeLinear,BO as easeExpOut,bT as easeExpInOut,UO as easeExpIn,bT as easeExp,MT as easeElasticOut,zO as easeElasticInOut,qO as easeElasticIn,MT as easeElastic,LO as easeCubicOut,ib as easeCubicInOut,QO as easeCubicIn,ib as easeCubic,NO as easeCircleOut,oT as easeCircleInOut,WO as easeCircleIn,oT as easeCircle,Sm as easeBounceOut,VO as easeBounceInOut,HO as easeBounceIn,Sm as easeBounce,YO as easeBackOut,TT as easeBackInOut,XO as easeBackIn,TT as easeBack,Bf as dsvFormat,jT as dsv,lf as dragEnable,Zf as dragDisable,D9 as drag,F0 as dispatch,l4 as disjoint,e4 as difference,Ib as deviation,Mb as descending,qQ as curveStepBefore,zQ as curveStepAfter,DD as curveStep,SD as curveNatural,YQ as curveMonotoneY,XQ as curveMonotoneX,mD as curveLinearClosed,gf as curveLinear,VQ as curveCatmullRomOpen,HQ as curveCatmullRomClosed,NQ as curveCatmullRom,WQ as curveCardinalOpen,BQ as curveCardinalClosed,UQ as curveCardinal,KQ as curveBundle,eo as curveBumpY,xo as curveBumpX,sS as curveBasisOpen,dS as curveBasisClosed,eS as curveBasis,w4 as cumsum,E0 as cubehelix,kP as csvParseRows,l7 as csvParse,vP as csvFormatValue,cP as csvFormatRows,hP as csvFormatRow,gP as csvFormatBody,_P as csvFormat,u$ as csv,$4 as cross,tf as creator,T9 as create,Af as count,Pm as contours,FT as contourDensity,Jf as color,ZG as cluster,iO as chordTranspose,sO as chordDirected,wT as chord,qT as buffer,lO as brushY,eO as brushX,xO as brushSelection,PT as brush,UD as blurImage,U8 as blur2,KD as blur,YT as blob,vf as bisector,O4 as bisectRight,JD as bisectLeft,FD as bisectCenter,n0 as bisect,H8 as bin,fE as axisTop,rE as axisRight,mE as axisLeft,nE as axisBottom,XT as autoType,ru as ascending,yo as areaRadial,O8 as area,jS as arc,GT as active,k0 as ZoomTransform,Am as Voronoi,Xu as Transition,rr as Timer,ou as Selection,wu as Rgb,b6 as Quadtree,br as Path,g8 as Local,D0 as Lab,I0 as InternSet,i0 as InternMap,S0 as Hsl,Rn as HierarchyNode,K0 as Hcl,o6 as FormatSpecifier,en as EnterNode,pn as Dispatch,m6 as Delaunay,c0 as Cubehelix,lu as Color,Ou as Adder};
|
package/package.json
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@ts-charts/charts",
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "A complete TypeScript rewrite of D3.js โ umbrella package re-exporting all sub-packages.",
|
|
6
|
+
"author": "Chris Breuer <chris@stacksjs.com>",
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"homepage": "https://github.com/stacksjs/ts-charts#readme",
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "git+https://github.com/stacksjs/ts-charts.git"
|
|
12
|
+
},
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/stacksjs/ts-charts/issues"
|
|
15
|
+
},
|
|
16
|
+
"keywords": [
|
|
17
|
+
"d3",
|
|
18
|
+
"charts",
|
|
19
|
+
"visualization",
|
|
20
|
+
"typescript",
|
|
21
|
+
"bun"
|
|
22
|
+
],
|
|
23
|
+
"exports": {
|
|
24
|
+
".": {
|
|
25
|
+
"types": "./dist/index.d.ts",
|
|
26
|
+
"import": "./src/index.ts"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"module": "./src/index.ts",
|
|
30
|
+
"types": "./dist/index.d.ts",
|
|
31
|
+
"files": [
|
|
32
|
+
"dist"
|
|
33
|
+
],
|
|
34
|
+
"scripts": {
|
|
35
|
+
"build": "bun --bun build.ts",
|
|
36
|
+
"prepublishOnly": "bun --bun run build",
|
|
37
|
+
"test": "bun test"
|
|
38
|
+
},
|
|
39
|
+
"dependencies": {
|
|
40
|
+
"@ts-charts/array": "0.1.1",
|
|
41
|
+
"@ts-charts/axis": "0.1.1",
|
|
42
|
+
"@ts-charts/brush": "0.1.1",
|
|
43
|
+
"@ts-charts/chord": "0.1.1",
|
|
44
|
+
"@ts-charts/color": "0.1.1",
|
|
45
|
+
"@ts-charts/contour": "0.1.1",
|
|
46
|
+
"@ts-charts/delaunay": "0.1.1",
|
|
47
|
+
"@ts-charts/dispatch": "0.1.1",
|
|
48
|
+
"@ts-charts/drag": "0.1.1",
|
|
49
|
+
"@ts-charts/dsv": "0.1.1",
|
|
50
|
+
"@ts-charts/ease": "0.1.1",
|
|
51
|
+
"@ts-charts/fetch": "0.1.1",
|
|
52
|
+
"@ts-charts/force": "0.1.1",
|
|
53
|
+
"@ts-charts/format": "0.1.1",
|
|
54
|
+
"@ts-charts/geo": "0.1.1",
|
|
55
|
+
"@ts-charts/hierarchy": "0.1.1",
|
|
56
|
+
"@ts-charts/interpolate": "0.1.1",
|
|
57
|
+
"@ts-charts/path": "0.1.1",
|
|
58
|
+
"@ts-charts/polygon": "0.1.1",
|
|
59
|
+
"@ts-charts/quadtree": "0.1.1",
|
|
60
|
+
"@ts-charts/random": "0.1.1",
|
|
61
|
+
"@ts-charts/scale": "0.1.1",
|
|
62
|
+
"@ts-charts/scale-chromatic": "0.1.1",
|
|
63
|
+
"@ts-charts/selection": "0.1.1",
|
|
64
|
+
"@ts-charts/shape": "0.1.1",
|
|
65
|
+
"@ts-charts/time": "0.1.1",
|
|
66
|
+
"@ts-charts/time-format": "0.1.1",
|
|
67
|
+
"@ts-charts/timer": "0.1.1",
|
|
68
|
+
"@ts-charts/transition": "0.1.1",
|
|
69
|
+
"@ts-charts/zoom": "0.1.1"
|
|
70
|
+
}
|
|
71
|
+
}
|