@undp/data-viz 2.2.2 → 2.3.0
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/dist/AreaChart.cjs +1 -1
- package/dist/AreaChart.js +1 -1
- package/dist/Axis-D56Gy0se.js +31 -0
- package/dist/Axis-D56Gy0se.js.map +1 -0
- package/dist/Axis-Jt_tmhxS.cjs +2 -0
- package/dist/Axis-Jt_tmhxS.cjs.map +1 -0
- package/dist/BarGraph.cjs +1 -1
- package/dist/BarGraph.cjs.map +1 -1
- package/dist/BarGraph.d.ts +6 -0
- package/dist/BarGraph.js +1759 -1750
- package/dist/BarGraph.js.map +1 -1
- package/dist/BeeSwarmChart.cjs +1 -1
- package/dist/BeeSwarmChart.cjs.map +1 -1
- package/dist/BeeSwarmChart.d.ts +2 -0
- package/dist/BeeSwarmChart.js +270 -267
- package/dist/BeeSwarmChart.js.map +1 -1
- package/dist/BiVariateChoroplethMap.cjs +1 -1
- package/dist/BiVariateChoroplethMap.cjs.map +1 -1
- package/dist/BiVariateChoroplethMap.d.ts +4 -0
- package/dist/BiVariateChoroplethMap.js +328 -401
- package/dist/BiVariateChoroplethMap.js.map +1 -1
- package/dist/BulletChart.cjs +1 -1
- package/dist/BulletChart.cjs.map +1 -1
- package/dist/BulletChart.d.ts +2 -0
- package/dist/BulletChart.js +544 -542
- package/dist/BulletChart.js.map +1 -1
- package/dist/ButterflyChart.cjs +1 -1
- package/dist/ButterflyChart.cjs.map +1 -1
- package/dist/ButterflyChart.d.ts +2 -0
- package/dist/ButterflyChart.js +332 -330
- package/dist/ButterflyChart.js.map +1 -1
- package/dist/ChoroplethMap.cjs +1 -1
- package/dist/ChoroplethMap.cjs.map +1 -1
- package/dist/ChoroplethMap.d.ts +4 -0
- package/dist/ChoroplethMap.js +341 -416
- package/dist/ChoroplethMap.js.map +1 -1
- package/dist/Data/01.json +4042 -0
- package/dist/Data/mapData.json +4543 -0
- package/dist/Data/testMap.json +361 -0
- package/dist/DifferenceLineChart.cjs +1 -1
- package/dist/DifferenceLineChart.js +1 -1
- package/dist/DotDensityMap.cjs +1 -1
- package/dist/DotDensityMap.cjs.map +1 -1
- package/dist/DotDensityMap.d.ts +4 -0
- package/dist/DotDensityMap.js +297 -311
- package/dist/DotDensityMap.js.map +1 -1
- package/dist/DualAxisLineChart.cjs +1 -1
- package/dist/DualAxisLineChart.js +1 -1
- package/dist/DumbbellChart.cjs +1 -1
- package/dist/DumbbellChart.cjs.map +1 -1
- package/dist/DumbbellChart.d.ts +2 -0
- package/dist/DumbbellChart.js +537 -536
- package/dist/DumbbellChart.js.map +1 -1
- package/dist/{GraphEl-DcNr5JzH.js → GraphEl-L5hNe7wJ.js} +84 -67
- package/dist/GraphEl-L5hNe7wJ.js.map +1 -0
- package/dist/GraphEl-ic8C5Ksc.cjs +2 -0
- package/dist/GraphEl-ic8C5Ksc.cjs.map +1 -0
- package/dist/GriddedGraphs.cjs +1 -1
- package/dist/GriddedGraphs.d.ts +3 -0
- package/dist/GriddedGraphs.js +1 -1
- package/dist/GriddedGraphsFromConfig.d.ts +3 -0
- package/dist/Histogram.cjs +1 -1
- package/dist/Histogram.cjs.map +1 -1
- package/dist/Histogram.d.ts +2 -0
- package/dist/Histogram.js +50 -49
- package/dist/Histogram.js.map +1 -1
- package/dist/HybridMap.cjs +1 -1
- package/dist/HybridMap.cjs.map +1 -1
- package/dist/HybridMap.d.ts +4 -0
- package/dist/HybridMap.js +368 -418
- package/dist/HybridMap.js.map +1 -1
- package/dist/LineChartWithConfidenceInterval.cjs +1 -1
- package/dist/LineChartWithConfidenceInterval.js +1 -1
- package/dist/MultiGraphDashboard.d.ts +3 -0
- package/dist/MultiGraphDashboardFromConfig.d.ts +3 -0
- package/dist/MultiLineAltChart.cjs +1 -1
- package/dist/MultiLineAltChart.js +1 -1
- package/dist/MultiLineChart.cjs +1 -1
- package/dist/MultiLineChart.js +1 -1
- package/dist/ParetoChart.cjs +1 -1
- package/dist/ParetoChart.js +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboard.d.ts +3 -0
- package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.d.ts +3 -0
- package/dist/PerformanceIntensiveScrollStory.d.ts +3 -0
- package/dist/ScatterPlot.cjs +1 -1
- package/dist/ScatterPlot.js +1 -1
- package/dist/ScrollStory.d.ts +3 -0
- package/dist/SimpleLineChart.cjs +1 -1
- package/dist/SimpleLineChart.js +1 -1
- package/dist/SingleGraphDashboard.cjs +1 -1
- package/dist/SingleGraphDashboard.d.ts +3 -0
- package/dist/SingleGraphDashboard.js +1 -1
- package/dist/SingleGraphDashboardFromConfig.d.ts +3 -0
- package/dist/SingleGraphDashboardGeoHubMaps.d.ts +3 -0
- package/dist/SingleGraphDashboardGeoHubMapsFromConfig.d.ts +3 -0
- package/dist/SingleGraphDashboardThreeDGraphs.d.ts +3 -0
- package/dist/SingleGraphDashboardThreeDGraphsFromConfig.d.ts +3 -0
- package/dist/SlopeChart.cjs +1 -1
- package/dist/SlopeChart.js +1 -1
- package/dist/Types.d.ts +3 -0
- package/dist/WaterfallChart.cjs +1 -1
- package/dist/WaterfallChart.cjs.map +1 -1
- package/dist/WaterfallChart.d.ts +2 -0
- package/dist/WaterfallChart.js +263 -261
- package/dist/WaterfallChart.js.map +1 -1
- package/dist/index-DLFt97gy.cjs +2 -0
- package/dist/index-DLFt97gy.cjs.map +1 -0
- package/dist/index-Dp_SfsUA.js +2344 -0
- package/dist/index-Dp_SfsUA.js.map +1 -0
- package/dist/index.d.ts +37 -0
- package/package.json +2 -1
- package/readme.md +0 -7
- package/dist/Axis-DoOqnt6g.js +0 -32
- package/dist/Axis-DoOqnt6g.js.map +0 -1
- package/dist/Axis-Dtjn-EgM.cjs +0 -2
- package/dist/Axis-Dtjn-EgM.cjs.map +0 -1
- package/dist/GraphEl-CAjJLOGk.cjs +0 -2
- package/dist/GraphEl-CAjJLOGk.cjs.map +0 -1
- package/dist/GraphEl-DcNr5JzH.js.map +0 -1
- package/dist/zoom-5AkJSuWO.js +0 -1864
- package/dist/zoom-5AkJSuWO.js.map +0 -1
- package/dist/zoom-ChcvXFIz.cjs +0 -2
- package/dist/zoom-ChcvXFIz.cjs.map +0 -1
|
@@ -0,0 +1,2344 @@
|
|
|
1
|
+
import { c as ei } from "./index-DCsFBfJ_.js";
|
|
2
|
+
import { T as ii, d as me, t as ri, n as oi } from "./timer-B39XOBYL.js";
|
|
3
|
+
import { i as pt, a as qn, b as ui, d as Vn } from "./string-C_xJ4Wg4.js";
|
|
4
|
+
import { s as vt, n as we, m as ai, a as li, b as ci, c as rn, d as It } from "./select-DKy99ogv.js";
|
|
5
|
+
import { p as ht } from "./pointer-CWRWOsrb.js";
|
|
6
|
+
class gt {
|
|
7
|
+
constructor() {
|
|
8
|
+
this._partials = new Float64Array(32), this._n = 0;
|
|
9
|
+
}
|
|
10
|
+
add(n) {
|
|
11
|
+
const e = this._partials;
|
|
12
|
+
let i = 0;
|
|
13
|
+
for (let r = 0; r < this._n && r < 32; r++) {
|
|
14
|
+
const u = e[r], o = n + u, l = Math.abs(n) < Math.abs(u) ? n - (o - u) : u - (o - n);
|
|
15
|
+
l && (e[i++] = l), n = o;
|
|
16
|
+
}
|
|
17
|
+
return e[i] = n, this._n = i + 1, this;
|
|
18
|
+
}
|
|
19
|
+
valueOf() {
|
|
20
|
+
const n = this._partials;
|
|
21
|
+
let e = this._n, i, r, u, o = 0;
|
|
22
|
+
if (e > 0) {
|
|
23
|
+
for (o = n[--e]; e > 0 && (i = o, r = n[--e], o = i + r, u = r - (o - i), !u); )
|
|
24
|
+
;
|
|
25
|
+
e > 0 && (u < 0 && n[e - 1] < 0 || u > 0 && n[e - 1] > 0) && (r = u * 2, i = o + r, r == i - o && (o = i));
|
|
26
|
+
}
|
|
27
|
+
return o;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
function* si(t) {
|
|
31
|
+
for (const n of t)
|
|
32
|
+
yield* n;
|
|
33
|
+
}
|
|
34
|
+
function _e(t) {
|
|
35
|
+
return Array.from(si(t));
|
|
36
|
+
}
|
|
37
|
+
var Bn = 180 / Math.PI, pn = {
|
|
38
|
+
translateX: 0,
|
|
39
|
+
translateY: 0,
|
|
40
|
+
rotate: 0,
|
|
41
|
+
skewX: 0,
|
|
42
|
+
scaleX: 1,
|
|
43
|
+
scaleY: 1
|
|
44
|
+
};
|
|
45
|
+
function Ee(t, n, e, i, r, u) {
|
|
46
|
+
var o, l, p;
|
|
47
|
+
return (o = Math.sqrt(t * t + n * n)) && (t /= o, n /= o), (p = t * e + n * i) && (e -= t * p, i -= n * p), (l = Math.sqrt(e * e + i * i)) && (e /= l, i /= l, p /= l), t * i < n * e && (t = -t, n = -n, p = -p, o = -o), {
|
|
48
|
+
translateX: r,
|
|
49
|
+
translateY: u,
|
|
50
|
+
rotate: Math.atan2(n, t) * Bn,
|
|
51
|
+
skewX: Math.atan(p) * Bn,
|
|
52
|
+
scaleX: o,
|
|
53
|
+
scaleY: l
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
var Xt;
|
|
57
|
+
function fi(t) {
|
|
58
|
+
const n = new (typeof DOMMatrix == "function" ? DOMMatrix : WebKitCSSMatrix)(t + "");
|
|
59
|
+
return n.isIdentity ? pn : Ee(n.a, n.b, n.c, n.d, n.e, n.f);
|
|
60
|
+
}
|
|
61
|
+
function hi(t) {
|
|
62
|
+
return t == null || (Xt || (Xt = document.createElementNS("http://www.w3.org/2000/svg", "g")), Xt.setAttribute("transform", t), !(t = Xt.transform.baseVal.consolidate())) ? pn : (t = t.matrix, Ee(t.a, t.b, t.c, t.d, t.e, t.f));
|
|
63
|
+
}
|
|
64
|
+
function Se(t, n, e, i) {
|
|
65
|
+
function r(s) {
|
|
66
|
+
return s.length ? s.pop() + " " : "";
|
|
67
|
+
}
|
|
68
|
+
function u(s, a, f, c, h, y) {
|
|
69
|
+
if (s !== f || a !== c) {
|
|
70
|
+
var m = h.push("translate(", null, n, null, e);
|
|
71
|
+
y.push({ i: m - 4, x: pt(s, f) }, { i: m - 2, x: pt(a, c) });
|
|
72
|
+
} else (f || c) && h.push("translate(" + f + n + c + e);
|
|
73
|
+
}
|
|
74
|
+
function o(s, a, f, c) {
|
|
75
|
+
s !== a ? (s - a > 180 ? a += 360 : a - s > 180 && (s += 360), c.push({ i: f.push(r(f) + "rotate(", null, i) - 2, x: pt(s, a) })) : a && f.push(r(f) + "rotate(" + a + i);
|
|
76
|
+
}
|
|
77
|
+
function l(s, a, f, c) {
|
|
78
|
+
s !== a ? c.push({ i: f.push(r(f) + "skewX(", null, i) - 2, x: pt(s, a) }) : a && f.push(r(f) + "skewX(" + a + i);
|
|
79
|
+
}
|
|
80
|
+
function p(s, a, f, c, h, y) {
|
|
81
|
+
if (s !== f || a !== c) {
|
|
82
|
+
var m = h.push(r(h) + "scale(", null, ",", null, ")");
|
|
83
|
+
y.push({ i: m - 4, x: pt(s, f) }, { i: m - 2, x: pt(a, c) });
|
|
84
|
+
} else (f !== 1 || c !== 1) && h.push(r(h) + "scale(" + f + "," + c + ")");
|
|
85
|
+
}
|
|
86
|
+
return function(s, a) {
|
|
87
|
+
var f = [], c = [];
|
|
88
|
+
return s = t(s), a = t(a), u(s.translateX, s.translateY, a.translateX, a.translateY, f, c), o(s.rotate, a.rotate, f, c), l(s.skewX, a.skewX, f, c), p(s.scaleX, s.scaleY, a.scaleX, a.scaleY, f, c), s = a = null, function(h) {
|
|
89
|
+
for (var y = -1, m = c.length, _; ++y < m; ) f[(_ = c[y]).i] = _.x(h);
|
|
90
|
+
return f.join("");
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
var pi = Se(fi, "px, ", "px)", "deg)"), vi = Se(hi, ", ", ")", ")"), gi = 1e-12;
|
|
95
|
+
function Un(t) {
|
|
96
|
+
return ((t = Math.exp(t)) + 1 / t) / 2;
|
|
97
|
+
}
|
|
98
|
+
function di(t) {
|
|
99
|
+
return ((t = Math.exp(t)) - 1 / t) / 2;
|
|
100
|
+
}
|
|
101
|
+
function yi(t) {
|
|
102
|
+
return ((t = Math.exp(2 * t)) - 1) / (t + 1);
|
|
103
|
+
}
|
|
104
|
+
const mi = (function t(n, e, i) {
|
|
105
|
+
function r(u, o) {
|
|
106
|
+
var l = u[0], p = u[1], s = u[2], a = o[0], f = o[1], c = o[2], h = a - l, y = f - p, m = h * h + y * y, _, w;
|
|
107
|
+
if (m < gi)
|
|
108
|
+
w = Math.log(c / s) / n, _ = function(I) {
|
|
109
|
+
return [
|
|
110
|
+
l + I * h,
|
|
111
|
+
p + I * y,
|
|
112
|
+
s * Math.exp(n * I * w)
|
|
113
|
+
];
|
|
114
|
+
};
|
|
115
|
+
else {
|
|
116
|
+
var M = Math.sqrt(m), P = (c * c - s * s + i * m) / (2 * s * e * M), S = (c * c - s * s - i * m) / (2 * c * e * M), N = Math.log(Math.sqrt(P * P + 1) - P), T = Math.log(Math.sqrt(S * S + 1) - S);
|
|
117
|
+
w = (T - N) / n, _ = function(I) {
|
|
118
|
+
var F = I * w, $ = Un(N), G = s / (e * M) * ($ * yi(n * F + N) - di(N));
|
|
119
|
+
return [
|
|
120
|
+
l + G * h,
|
|
121
|
+
p + G * y,
|
|
122
|
+
s * $ / Un(n * F + N)
|
|
123
|
+
];
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
return _.duration = w * 1e3 * n / Math.SQRT2, _;
|
|
127
|
+
}
|
|
128
|
+
return r.rho = function(u) {
|
|
129
|
+
var o = Math.max(1e-3, +u), l = o * o, p = l * l;
|
|
130
|
+
return t(o, l, p);
|
|
131
|
+
}, r;
|
|
132
|
+
})(Math.SQRT2, 2, 4);
|
|
133
|
+
function Hn(t, n, e) {
|
|
134
|
+
var i = new ii();
|
|
135
|
+
return n = n == null ? 0 : +n, i.restart((r) => {
|
|
136
|
+
i.stop(), t(r + n);
|
|
137
|
+
}, n, e), i;
|
|
138
|
+
}
|
|
139
|
+
function wi(t, n = {}) {
|
|
140
|
+
if (t.bbox != null && n.recompute !== !0)
|
|
141
|
+
return t.bbox;
|
|
142
|
+
const e = [1 / 0, 1 / 0, -1 / 0, -1 / 0];
|
|
143
|
+
return ei(t, (i) => {
|
|
144
|
+
e[0] > i[0] && (e[0] = i[0]), e[1] > i[1] && (e[1] = i[1]), e[2] < i[0] && (e[2] = i[0]), e[3] < i[1] && (e[3] = i[1]);
|
|
145
|
+
}), e;
|
|
146
|
+
}
|
|
147
|
+
var Fo = wi, C = 1e-6, Me = 1e-12, k = Math.PI, K = k / 2, Wn = k / 4, J = k * 2, Z = 180 / k, B = k / 180, O = Math.abs, ze = Math.atan, dt = Math.atan2, Y = Math.cos, _i = Math.exp, Ei = Math.log, D = Math.sin, qt = Math.sign || function(t) {
|
|
148
|
+
return t > 0 ? 1 : t < 0 ? -1 : 0;
|
|
149
|
+
}, tt = Math.sqrt, Si = Math.tan;
|
|
150
|
+
function Mi(t) {
|
|
151
|
+
return t > 1 ? 0 : t < -1 ? k : Math.acos(t);
|
|
152
|
+
}
|
|
153
|
+
function nt(t) {
|
|
154
|
+
return t > 1 ? K : t < -1 ? -K : Math.asin(t);
|
|
155
|
+
}
|
|
156
|
+
function b() {
|
|
157
|
+
}
|
|
158
|
+
function Zt(t, n) {
|
|
159
|
+
t && Kn.hasOwnProperty(t.type) && Kn[t.type](t, n);
|
|
160
|
+
}
|
|
161
|
+
var Zn = {
|
|
162
|
+
Feature: function(t, n) {
|
|
163
|
+
Zt(t.geometry, n);
|
|
164
|
+
},
|
|
165
|
+
FeatureCollection: function(t, n) {
|
|
166
|
+
for (var e = t.features, i = -1, r = e.length; ++i < r; ) Zt(e[i].geometry, n);
|
|
167
|
+
}
|
|
168
|
+
}, Kn = {
|
|
169
|
+
Sphere: function(t, n) {
|
|
170
|
+
n.sphere();
|
|
171
|
+
},
|
|
172
|
+
Point: function(t, n) {
|
|
173
|
+
t = t.coordinates, n.point(t[0], t[1], t[2]);
|
|
174
|
+
},
|
|
175
|
+
MultiPoint: function(t, n) {
|
|
176
|
+
for (var e = t.coordinates, i = -1, r = e.length; ++i < r; ) t = e[i], n.point(t[0], t[1], t[2]);
|
|
177
|
+
},
|
|
178
|
+
LineString: function(t, n) {
|
|
179
|
+
vn(t.coordinates, n, 0);
|
|
180
|
+
},
|
|
181
|
+
MultiLineString: function(t, n) {
|
|
182
|
+
for (var e = t.coordinates, i = -1, r = e.length; ++i < r; ) vn(e[i], n, 0);
|
|
183
|
+
},
|
|
184
|
+
Polygon: function(t, n) {
|
|
185
|
+
Jn(t.coordinates, n);
|
|
186
|
+
},
|
|
187
|
+
MultiPolygon: function(t, n) {
|
|
188
|
+
for (var e = t.coordinates, i = -1, r = e.length; ++i < r; ) Jn(e[i], n);
|
|
189
|
+
},
|
|
190
|
+
GeometryCollection: function(t, n) {
|
|
191
|
+
for (var e = t.geometries, i = -1, r = e.length; ++i < r; ) Zt(e[i], n);
|
|
192
|
+
}
|
|
193
|
+
};
|
|
194
|
+
function vn(t, n, e) {
|
|
195
|
+
var i = -1, r = t.length - e, u;
|
|
196
|
+
for (n.lineStart(); ++i < r; ) u = t[i], n.point(u[0], u[1], u[2]);
|
|
197
|
+
n.lineEnd();
|
|
198
|
+
}
|
|
199
|
+
function Jn(t, n) {
|
|
200
|
+
var e = -1, i = t.length;
|
|
201
|
+
for (n.polygonStart(); ++e < i; ) vn(t[e], n, 1);
|
|
202
|
+
n.polygonEnd();
|
|
203
|
+
}
|
|
204
|
+
function mt(t, n) {
|
|
205
|
+
t && Zn.hasOwnProperty(t.type) ? Zn[t.type](t, n) : Zt(t, n);
|
|
206
|
+
}
|
|
207
|
+
function gn(t) {
|
|
208
|
+
return [dt(t[1], t[0]), nt(t[2])];
|
|
209
|
+
}
|
|
210
|
+
function _t(t) {
|
|
211
|
+
var n = t[0], e = t[1], i = Y(e);
|
|
212
|
+
return [i * Y(n), i * D(n), D(e)];
|
|
213
|
+
}
|
|
214
|
+
function kt(t, n) {
|
|
215
|
+
return t[0] * n[0] + t[1] * n[1] + t[2] * n[2];
|
|
216
|
+
}
|
|
217
|
+
function Kt(t, n) {
|
|
218
|
+
return [t[1] * n[2] - t[2] * n[1], t[2] * n[0] - t[0] * n[2], t[0] * n[1] - t[1] * n[0]];
|
|
219
|
+
}
|
|
220
|
+
function ln(t, n) {
|
|
221
|
+
t[0] += n[0], t[1] += n[1], t[2] += n[2];
|
|
222
|
+
}
|
|
223
|
+
function Dt(t, n) {
|
|
224
|
+
return [t[0] * n, t[1] * n, t[2] * n];
|
|
225
|
+
}
|
|
226
|
+
function dn(t) {
|
|
227
|
+
var n = tt(t[0] * t[0] + t[1] * t[1] + t[2] * t[2]);
|
|
228
|
+
t[0] /= n, t[1] /= n, t[2] /= n;
|
|
229
|
+
}
|
|
230
|
+
function yn(t, n) {
|
|
231
|
+
function e(i, r) {
|
|
232
|
+
return i = t(i, r), n(i[0], i[1]);
|
|
233
|
+
}
|
|
234
|
+
return t.invert && n.invert && (e.invert = function(i, r) {
|
|
235
|
+
return i = n.invert(i, r), i && t.invert(i[0], i[1]);
|
|
236
|
+
}), e;
|
|
237
|
+
}
|
|
238
|
+
function mn(t, n) {
|
|
239
|
+
return O(t) > k && (t -= Math.round(t / J) * J), [t, n];
|
|
240
|
+
}
|
|
241
|
+
mn.invert = mn;
|
|
242
|
+
function Pe(t, n, e) {
|
|
243
|
+
return (t %= J) ? n || e ? yn(bn(t), jn(n, e)) : bn(t) : n || e ? jn(n, e) : mn;
|
|
244
|
+
}
|
|
245
|
+
function Qn(t) {
|
|
246
|
+
return function(n, e) {
|
|
247
|
+
return n += t, O(n) > k && (n -= Math.round(n / J) * J), [n, e];
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
function bn(t) {
|
|
251
|
+
var n = Qn(t);
|
|
252
|
+
return n.invert = Qn(-t), n;
|
|
253
|
+
}
|
|
254
|
+
function jn(t, n) {
|
|
255
|
+
var e = Y(t), i = D(t), r = Y(n), u = D(n);
|
|
256
|
+
function o(l, p) {
|
|
257
|
+
var s = Y(p), a = Y(l) * s, f = D(l) * s, c = D(p), h = c * e + a * i;
|
|
258
|
+
return [
|
|
259
|
+
dt(f * r - h * u, a * e - c * i),
|
|
260
|
+
nt(h * r + f * u)
|
|
261
|
+
];
|
|
262
|
+
}
|
|
263
|
+
return o.invert = function(l, p) {
|
|
264
|
+
var s = Y(p), a = Y(l) * s, f = D(l) * s, c = D(p), h = c * r - f * u;
|
|
265
|
+
return [
|
|
266
|
+
dt(f * r + c * u, a * e + h * i),
|
|
267
|
+
nt(h * e - a * i)
|
|
268
|
+
];
|
|
269
|
+
}, o;
|
|
270
|
+
}
|
|
271
|
+
function zi(t) {
|
|
272
|
+
t = Pe(t[0] * B, t[1] * B, t.length > 2 ? t[2] * B : 0);
|
|
273
|
+
function n(e) {
|
|
274
|
+
return e = t(e[0] * B, e[1] * B), e[0] *= Z, e[1] *= Z, e;
|
|
275
|
+
}
|
|
276
|
+
return n.invert = function(e) {
|
|
277
|
+
return e = t.invert(e[0] * B, e[1] * B), e[0] *= Z, e[1] *= Z, e;
|
|
278
|
+
}, n;
|
|
279
|
+
}
|
|
280
|
+
function Pi(t, n, e, i, r, u) {
|
|
281
|
+
if (e) {
|
|
282
|
+
var o = Y(n), l = D(n), p = i * e;
|
|
283
|
+
r == null ? (r = n + i * J, u = n - p / 2) : (r = te(o, r), u = te(o, u), (i > 0 ? r < u : r > u) && (r += i * J));
|
|
284
|
+
for (var s, a = r; i > 0 ? a > u : a < u; a -= p)
|
|
285
|
+
s = gn([o, -l * Y(a), -l * D(a)]), t.point(s[0], s[1]);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
function te(t, n) {
|
|
289
|
+
n = _t(n), n[0] -= t, dn(n);
|
|
290
|
+
var e = Mi(-n[1]);
|
|
291
|
+
return ((-n[2] < 0 ? -e : e) + J - C) % J;
|
|
292
|
+
}
|
|
293
|
+
function Te() {
|
|
294
|
+
var t = [], n;
|
|
295
|
+
return {
|
|
296
|
+
point: function(e, i, r) {
|
|
297
|
+
n.push([e, i, r]);
|
|
298
|
+
},
|
|
299
|
+
lineStart: function() {
|
|
300
|
+
t.push(n = []);
|
|
301
|
+
},
|
|
302
|
+
lineEnd: b,
|
|
303
|
+
rejoin: function() {
|
|
304
|
+
t.length > 1 && t.push(t.pop().concat(t.shift()));
|
|
305
|
+
},
|
|
306
|
+
result: function() {
|
|
307
|
+
var e = t;
|
|
308
|
+
return t = [], n = null, e;
|
|
309
|
+
}
|
|
310
|
+
};
|
|
311
|
+
}
|
|
312
|
+
function Vt(t, n) {
|
|
313
|
+
return O(t[0] - n[0]) < C && O(t[1] - n[1]) < C;
|
|
314
|
+
}
|
|
315
|
+
function Gt(t, n, e, i) {
|
|
316
|
+
this.x = t, this.z = n, this.o = e, this.e = i, this.v = !1, this.n = this.p = null;
|
|
317
|
+
}
|
|
318
|
+
function Ae(t, n, e, i, r) {
|
|
319
|
+
var u = [], o = [], l, p;
|
|
320
|
+
if (t.forEach(function(y) {
|
|
321
|
+
if (!((m = y.length - 1) <= 0)) {
|
|
322
|
+
var m, _ = y[0], w = y[m], M;
|
|
323
|
+
if (Vt(_, w)) {
|
|
324
|
+
if (!_[2] && !w[2]) {
|
|
325
|
+
for (r.lineStart(), l = 0; l < m; ++l) r.point((_ = y[l])[0], _[1]);
|
|
326
|
+
r.lineEnd();
|
|
327
|
+
return;
|
|
328
|
+
}
|
|
329
|
+
w[0] += 2 * C;
|
|
330
|
+
}
|
|
331
|
+
u.push(M = new Gt(_, y, null, !0)), o.push(M.o = new Gt(_, null, M, !1)), u.push(M = new Gt(w, y, null, !1)), o.push(M.o = new Gt(w, null, M, !0));
|
|
332
|
+
}
|
|
333
|
+
}), !!u.length) {
|
|
334
|
+
for (o.sort(n), ne(u), ne(o), l = 0, p = o.length; l < p; ++l)
|
|
335
|
+
o[l].e = e = !e;
|
|
336
|
+
for (var s = u[0], a, f; ; ) {
|
|
337
|
+
for (var c = s, h = !0; c.v; ) if ((c = c.n) === s) return;
|
|
338
|
+
a = c.z, r.lineStart();
|
|
339
|
+
do {
|
|
340
|
+
if (c.v = c.o.v = !0, c.e) {
|
|
341
|
+
if (h)
|
|
342
|
+
for (l = 0, p = a.length; l < p; ++l) r.point((f = a[l])[0], f[1]);
|
|
343
|
+
else
|
|
344
|
+
i(c.x, c.n.x, 1, r);
|
|
345
|
+
c = c.n;
|
|
346
|
+
} else {
|
|
347
|
+
if (h)
|
|
348
|
+
for (a = c.p.z, l = a.length - 1; l >= 0; --l) r.point((f = a[l])[0], f[1]);
|
|
349
|
+
else
|
|
350
|
+
i(c.x, c.p.x, -1, r);
|
|
351
|
+
c = c.p;
|
|
352
|
+
}
|
|
353
|
+
c = c.o, a = c.z, h = !h;
|
|
354
|
+
} while (!c.v);
|
|
355
|
+
r.lineEnd();
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
function ne(t) {
|
|
360
|
+
if (n = t.length) {
|
|
361
|
+
for (var n, e = 0, i = t[0], r; ++e < n; )
|
|
362
|
+
i.n = r = t[e], r.p = i, i = r;
|
|
363
|
+
i.n = r = t[0], r.p = i;
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
function cn(t) {
|
|
367
|
+
return O(t[0]) <= k ? t[0] : qt(t[0]) * ((O(t[0]) + k) % J - k);
|
|
368
|
+
}
|
|
369
|
+
function Ti(t, n) {
|
|
370
|
+
var e = cn(n), i = n[1], r = D(i), u = [D(e), -Y(e), 0], o = 0, l = 0, p = new gt();
|
|
371
|
+
r === 1 ? i = K + C : r === -1 && (i = -K - C);
|
|
372
|
+
for (var s = 0, a = t.length; s < a; ++s)
|
|
373
|
+
if (c = (f = t[s]).length)
|
|
374
|
+
for (var f, c, h = f[c - 1], y = cn(h), m = h[1] / 2 + Wn, _ = D(m), w = Y(m), M = 0; M < c; ++M, y = S, _ = T, w = I, h = P) {
|
|
375
|
+
var P = f[M], S = cn(P), N = P[1] / 2 + Wn, T = D(N), I = Y(N), F = S - y, $ = F >= 0 ? 1 : -1, G = $ * F, R = G > k, W = _ * T;
|
|
376
|
+
if (p.add(dt(W * $ * D(G), w * I + W * Y(G))), o += R ? F + $ * J : F, R ^ y >= e ^ S >= e) {
|
|
377
|
+
var q = Kt(_t(h), _t(P));
|
|
378
|
+
dn(q);
|
|
379
|
+
var v = Kt(u, q);
|
|
380
|
+
dn(v);
|
|
381
|
+
var g = (R ^ F >= 0 ? -1 : 1) * nt(v[2]);
|
|
382
|
+
(i > g || i === g && (q[0] || q[1])) && (l += R ^ F >= 0 ? 1 : -1);
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
return (o < -C || o < C && p < -Me) ^ l & 1;
|
|
386
|
+
}
|
|
387
|
+
function Ne(t, n, e, i) {
|
|
388
|
+
return function(r) {
|
|
389
|
+
var u = n(r), o = Te(), l = n(o), p = !1, s, a, f, c = {
|
|
390
|
+
point: h,
|
|
391
|
+
lineStart: m,
|
|
392
|
+
lineEnd: _,
|
|
393
|
+
polygonStart: function() {
|
|
394
|
+
c.point = w, c.lineStart = M, c.lineEnd = P, a = [], s = [];
|
|
395
|
+
},
|
|
396
|
+
polygonEnd: function() {
|
|
397
|
+
c.point = h, c.lineStart = m, c.lineEnd = _, a = _e(a);
|
|
398
|
+
var S = Ti(s, i);
|
|
399
|
+
a.length ? (p || (r.polygonStart(), p = !0), Ae(a, Ni, S, e, r)) : S && (p || (r.polygonStart(), p = !0), r.lineStart(), e(null, null, 1, r), r.lineEnd()), p && (r.polygonEnd(), p = !1), a = s = null;
|
|
400
|
+
},
|
|
401
|
+
sphere: function() {
|
|
402
|
+
r.polygonStart(), r.lineStart(), e(null, null, 1, r), r.lineEnd(), r.polygonEnd();
|
|
403
|
+
}
|
|
404
|
+
};
|
|
405
|
+
function h(S, N) {
|
|
406
|
+
t(S, N) && r.point(S, N);
|
|
407
|
+
}
|
|
408
|
+
function y(S, N) {
|
|
409
|
+
u.point(S, N);
|
|
410
|
+
}
|
|
411
|
+
function m() {
|
|
412
|
+
c.point = y, u.lineStart();
|
|
413
|
+
}
|
|
414
|
+
function _() {
|
|
415
|
+
c.point = h, u.lineEnd();
|
|
416
|
+
}
|
|
417
|
+
function w(S, N) {
|
|
418
|
+
f.push([S, N]), l.point(S, N);
|
|
419
|
+
}
|
|
420
|
+
function M() {
|
|
421
|
+
l.lineStart(), f = [];
|
|
422
|
+
}
|
|
423
|
+
function P() {
|
|
424
|
+
w(f[0][0], f[0][1]), l.lineEnd();
|
|
425
|
+
var S = l.clean(), N = o.result(), T, I = N.length, F, $, G;
|
|
426
|
+
if (f.pop(), s.push(f), f = null, !!I) {
|
|
427
|
+
if (S & 1) {
|
|
428
|
+
if ($ = N[0], (F = $.length - 1) > 0) {
|
|
429
|
+
for (p || (r.polygonStart(), p = !0), r.lineStart(), T = 0; T < F; ++T) r.point((G = $[T])[0], G[1]);
|
|
430
|
+
r.lineEnd();
|
|
431
|
+
}
|
|
432
|
+
return;
|
|
433
|
+
}
|
|
434
|
+
I > 1 && S & 2 && N.push(N.pop().concat(N.shift())), a.push(N.filter(Ai));
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
return c;
|
|
438
|
+
};
|
|
439
|
+
}
|
|
440
|
+
function Ai(t) {
|
|
441
|
+
return t.length > 1;
|
|
442
|
+
}
|
|
443
|
+
function Ni(t, n) {
|
|
444
|
+
return ((t = t.x)[0] < 0 ? t[1] - K - C : K - t[1]) - ((n = n.x)[0] < 0 ? n[1] - K - C : K - n[1]);
|
|
445
|
+
}
|
|
446
|
+
const ee = Ne(
|
|
447
|
+
function() {
|
|
448
|
+
return !0;
|
|
449
|
+
},
|
|
450
|
+
Ri,
|
|
451
|
+
Ci,
|
|
452
|
+
[-k, -K]
|
|
453
|
+
);
|
|
454
|
+
function Ri(t) {
|
|
455
|
+
var n = NaN, e = NaN, i = NaN, r;
|
|
456
|
+
return {
|
|
457
|
+
lineStart: function() {
|
|
458
|
+
t.lineStart(), r = 1;
|
|
459
|
+
},
|
|
460
|
+
point: function(u, o) {
|
|
461
|
+
var l = u > 0 ? k : -k, p = O(u - n);
|
|
462
|
+
O(p - k) < C ? (t.point(n, e = (e + o) / 2 > 0 ? K : -K), t.point(i, e), t.lineEnd(), t.lineStart(), t.point(l, e), t.point(u, e), r = 0) : i !== l && p >= k && (O(n - i) < C && (n -= i * C), O(u - l) < C && (u -= l * C), e = xi(n, e, u, o), t.point(i, e), t.lineEnd(), t.lineStart(), t.point(l, e), r = 0), t.point(n = u, e = o), i = l;
|
|
463
|
+
},
|
|
464
|
+
lineEnd: function() {
|
|
465
|
+
t.lineEnd(), n = e = NaN;
|
|
466
|
+
},
|
|
467
|
+
clean: function() {
|
|
468
|
+
return 2 - r;
|
|
469
|
+
}
|
|
470
|
+
};
|
|
471
|
+
}
|
|
472
|
+
function xi(t, n, e, i) {
|
|
473
|
+
var r, u, o = D(t - e);
|
|
474
|
+
return O(o) > C ? ze((D(n) * (u = Y(i)) * D(e) - D(i) * (r = Y(n)) * D(t)) / (r * u * o)) : (n + i) / 2;
|
|
475
|
+
}
|
|
476
|
+
function Ci(t, n, e, i) {
|
|
477
|
+
var r;
|
|
478
|
+
if (t == null)
|
|
479
|
+
r = e * K, i.point(-k, r), i.point(0, r), i.point(k, r), i.point(k, 0), i.point(k, -r), i.point(0, -r), i.point(-k, -r), i.point(-k, 0), i.point(-k, r);
|
|
480
|
+
else if (O(t[0] - n[0]) > C) {
|
|
481
|
+
var u = t[0] < n[0] ? k : -k;
|
|
482
|
+
r = e * u / 2, i.point(-u, r), i.point(0, r), i.point(u, r);
|
|
483
|
+
} else
|
|
484
|
+
i.point(n[0], n[1]);
|
|
485
|
+
}
|
|
486
|
+
function Ii(t) {
|
|
487
|
+
var n = Y(t), e = 2 * B, i = n > 0, r = O(n) > C;
|
|
488
|
+
function u(a, f, c, h) {
|
|
489
|
+
Pi(h, t, e, c, a, f);
|
|
490
|
+
}
|
|
491
|
+
function o(a, f) {
|
|
492
|
+
return Y(a) * Y(f) > n;
|
|
493
|
+
}
|
|
494
|
+
function l(a) {
|
|
495
|
+
var f, c, h, y, m;
|
|
496
|
+
return {
|
|
497
|
+
lineStart: function() {
|
|
498
|
+
y = h = !1, m = 1;
|
|
499
|
+
},
|
|
500
|
+
point: function(_, w) {
|
|
501
|
+
var M = [_, w], P, S = o(_, w), N = i ? S ? 0 : s(_, w) : S ? s(_ + (_ < 0 ? k : -k), w) : 0;
|
|
502
|
+
if (!f && (y = h = S) && a.lineStart(), S !== h && (P = p(f, M), (!P || Vt(f, P) || Vt(M, P)) && (M[2] = 1)), S !== h)
|
|
503
|
+
m = 0, S ? (a.lineStart(), P = p(M, f), a.point(P[0], P[1])) : (P = p(f, M), a.point(P[0], P[1], 2), a.lineEnd()), f = P;
|
|
504
|
+
else if (r && f && i ^ S) {
|
|
505
|
+
var T;
|
|
506
|
+
!(N & c) && (T = p(M, f, !0)) && (m = 0, i ? (a.lineStart(), a.point(T[0][0], T[0][1]), a.point(T[1][0], T[1][1]), a.lineEnd()) : (a.point(T[1][0], T[1][1]), a.lineEnd(), a.lineStart(), a.point(T[0][0], T[0][1], 3)));
|
|
507
|
+
}
|
|
508
|
+
S && (!f || !Vt(f, M)) && a.point(M[0], M[1]), f = M, h = S, c = N;
|
|
509
|
+
},
|
|
510
|
+
lineEnd: function() {
|
|
511
|
+
h && a.lineEnd(), f = null;
|
|
512
|
+
},
|
|
513
|
+
// Rejoin first and last segments if there were intersections and the first
|
|
514
|
+
// and last points were visible.
|
|
515
|
+
clean: function() {
|
|
516
|
+
return m | (y && h) << 1;
|
|
517
|
+
}
|
|
518
|
+
};
|
|
519
|
+
}
|
|
520
|
+
function p(a, f, c) {
|
|
521
|
+
var h = _t(a), y = _t(f), m = [1, 0, 0], _ = Kt(h, y), w = kt(_, _), M = _[0], P = w - M * M;
|
|
522
|
+
if (!P) return !c && a;
|
|
523
|
+
var S = n * w / P, N = -n * M / P, T = Kt(m, _), I = Dt(m, S), F = Dt(_, N);
|
|
524
|
+
ln(I, F);
|
|
525
|
+
var $ = T, G = kt(I, $), R = kt($, $), W = G * G - R * (kt(I, I) - 1);
|
|
526
|
+
if (!(W < 0)) {
|
|
527
|
+
var q = tt(W), v = Dt($, (-G - q) / R);
|
|
528
|
+
if (ln(v, I), v = gn(v), !c) return v;
|
|
529
|
+
var g = a[0], d = f[0], E = a[1], z = f[1], A;
|
|
530
|
+
d < g && (A = g, g = d, d = A);
|
|
531
|
+
var x = d - g, X = O(x - k) < C, L = X || x < C;
|
|
532
|
+
if (!X && z < E && (A = E, E = z, z = A), L ? X ? E + z > 0 ^ v[1] < (O(v[0] - g) < C ? E : z) : E <= v[1] && v[1] <= z : x > k ^ (g <= v[0] && v[0] <= d)) {
|
|
533
|
+
var U = Dt($, (-G + q) / R);
|
|
534
|
+
return ln(U, I), [v, gn(U)];
|
|
535
|
+
}
|
|
536
|
+
}
|
|
537
|
+
}
|
|
538
|
+
function s(a, f) {
|
|
539
|
+
var c = i ? t : k - t, h = 0;
|
|
540
|
+
return a < -c ? h |= 1 : a > c && (h |= 2), f < -c ? h |= 4 : f > c && (h |= 8), h;
|
|
541
|
+
}
|
|
542
|
+
return Ne(o, l, u, i ? [0, -t] : [-k, t - k]);
|
|
543
|
+
}
|
|
544
|
+
function Fi(t, n, e, i, r, u) {
|
|
545
|
+
var o = t[0], l = t[1], p = n[0], s = n[1], a = 0, f = 1, c = p - o, h = s - l, y;
|
|
546
|
+
if (y = e - o, !(!c && y > 0)) {
|
|
547
|
+
if (y /= c, c < 0) {
|
|
548
|
+
if (y < a) return;
|
|
549
|
+
y < f && (f = y);
|
|
550
|
+
} else if (c > 0) {
|
|
551
|
+
if (y > f) return;
|
|
552
|
+
y > a && (a = y);
|
|
553
|
+
}
|
|
554
|
+
if (y = r - o, !(!c && y < 0)) {
|
|
555
|
+
if (y /= c, c < 0) {
|
|
556
|
+
if (y > f) return;
|
|
557
|
+
y > a && (a = y);
|
|
558
|
+
} else if (c > 0) {
|
|
559
|
+
if (y < a) return;
|
|
560
|
+
y < f && (f = y);
|
|
561
|
+
}
|
|
562
|
+
if (y = i - l, !(!h && y > 0)) {
|
|
563
|
+
if (y /= h, h < 0) {
|
|
564
|
+
if (y < a) return;
|
|
565
|
+
y < f && (f = y);
|
|
566
|
+
} else if (h > 0) {
|
|
567
|
+
if (y > f) return;
|
|
568
|
+
y > a && (a = y);
|
|
569
|
+
}
|
|
570
|
+
if (y = u - l, !(!h && y < 0)) {
|
|
571
|
+
if (y /= h, h < 0) {
|
|
572
|
+
if (y > f) return;
|
|
573
|
+
y > a && (a = y);
|
|
574
|
+
} else if (h > 0) {
|
|
575
|
+
if (y < a) return;
|
|
576
|
+
y < f && (f = y);
|
|
577
|
+
}
|
|
578
|
+
return a > 0 && (t[0] = o + a * c, t[1] = l + a * h), f < 1 && (n[0] = o + f * c, n[1] = l + f * h), !0;
|
|
579
|
+
}
|
|
580
|
+
}
|
|
581
|
+
}
|
|
582
|
+
}
|
|
583
|
+
}
|
|
584
|
+
var Mt = 1e9, Lt = -Mt;
|
|
585
|
+
function $i(t, n, e, i) {
|
|
586
|
+
function r(s, a) {
|
|
587
|
+
return t <= s && s <= e && n <= a && a <= i;
|
|
588
|
+
}
|
|
589
|
+
function u(s, a, f, c) {
|
|
590
|
+
var h = 0, y = 0;
|
|
591
|
+
if (s == null || (h = o(s, f)) !== (y = o(a, f)) || p(s, a) < 0 ^ f > 0)
|
|
592
|
+
do
|
|
593
|
+
c.point(h === 0 || h === 3 ? t : e, h > 1 ? i : n);
|
|
594
|
+
while ((h = (h + f + 4) % 4) !== y);
|
|
595
|
+
else
|
|
596
|
+
c.point(a[0], a[1]);
|
|
597
|
+
}
|
|
598
|
+
function o(s, a) {
|
|
599
|
+
return O(s[0] - t) < C ? a > 0 ? 0 : 3 : O(s[0] - e) < C ? a > 0 ? 2 : 1 : O(s[1] - n) < C ? a > 0 ? 1 : 0 : a > 0 ? 3 : 2;
|
|
600
|
+
}
|
|
601
|
+
function l(s, a) {
|
|
602
|
+
return p(s.x, a.x);
|
|
603
|
+
}
|
|
604
|
+
function p(s, a) {
|
|
605
|
+
var f = o(s, 1), c = o(a, 1);
|
|
606
|
+
return f !== c ? f - c : f === 0 ? a[1] - s[1] : f === 1 ? s[0] - a[0] : f === 2 ? s[1] - a[1] : a[0] - s[0];
|
|
607
|
+
}
|
|
608
|
+
return function(s) {
|
|
609
|
+
var a = s, f = Te(), c, h, y, m, _, w, M, P, S, N, T, I = {
|
|
610
|
+
point: F,
|
|
611
|
+
lineStart: W,
|
|
612
|
+
lineEnd: q,
|
|
613
|
+
polygonStart: G,
|
|
614
|
+
polygonEnd: R
|
|
615
|
+
};
|
|
616
|
+
function F(g, d) {
|
|
617
|
+
r(g, d) && a.point(g, d);
|
|
618
|
+
}
|
|
619
|
+
function $() {
|
|
620
|
+
for (var g = 0, d = 0, E = h.length; d < E; ++d)
|
|
621
|
+
for (var z = h[d], A = 1, x = z.length, X = z[0], L, U, V = X[0], H = X[1]; A < x; ++A)
|
|
622
|
+
L = V, U = H, X = z[A], V = X[0], H = X[1], U <= i ? H > i && (V - L) * (i - U) > (H - U) * (t - L) && ++g : H <= i && (V - L) * (i - U) < (H - U) * (t - L) && --g;
|
|
623
|
+
return g;
|
|
624
|
+
}
|
|
625
|
+
function G() {
|
|
626
|
+
a = f, c = [], h = [], T = !0;
|
|
627
|
+
}
|
|
628
|
+
function R() {
|
|
629
|
+
var g = $(), d = T && g, E = (c = _e(c)).length;
|
|
630
|
+
(d || E) && (s.polygonStart(), d && (s.lineStart(), u(null, null, 1, s), s.lineEnd()), E && Ae(c, l, g, u, s), s.polygonEnd()), a = s, c = h = y = null;
|
|
631
|
+
}
|
|
632
|
+
function W() {
|
|
633
|
+
I.point = v, h && h.push(y = []), N = !0, S = !1, M = P = NaN;
|
|
634
|
+
}
|
|
635
|
+
function q() {
|
|
636
|
+
c && (v(m, _), w && S && f.rejoin(), c.push(f.result())), I.point = F, S && a.lineEnd();
|
|
637
|
+
}
|
|
638
|
+
function v(g, d) {
|
|
639
|
+
var E = r(g, d);
|
|
640
|
+
if (h && y.push([g, d]), N)
|
|
641
|
+
m = g, _ = d, w = E, N = !1, E && (a.lineStart(), a.point(g, d));
|
|
642
|
+
else if (E && S) a.point(g, d);
|
|
643
|
+
else {
|
|
644
|
+
var z = [M = Math.max(Lt, Math.min(Mt, M)), P = Math.max(Lt, Math.min(Mt, P))], A = [g = Math.max(Lt, Math.min(Mt, g)), d = Math.max(Lt, Math.min(Mt, d))];
|
|
645
|
+
Fi(z, A, t, n, e, i) ? (S || (a.lineStart(), a.point(z[0], z[1])), a.point(A[0], A[1]), E || a.lineEnd(), T = !1) : E && (a.lineStart(), a.point(g, d), T = !1);
|
|
646
|
+
}
|
|
647
|
+
M = g, P = d, S = E;
|
|
648
|
+
}
|
|
649
|
+
return I;
|
|
650
|
+
};
|
|
651
|
+
}
|
|
652
|
+
const wn = (t) => t;
|
|
653
|
+
var sn = new gt(), _n = new gt(), Re, xe, En, Sn, ct = {
|
|
654
|
+
point: b,
|
|
655
|
+
lineStart: b,
|
|
656
|
+
lineEnd: b,
|
|
657
|
+
polygonStart: function() {
|
|
658
|
+
ct.lineStart = Xi, ct.lineEnd = Di;
|
|
659
|
+
},
|
|
660
|
+
polygonEnd: function() {
|
|
661
|
+
ct.lineStart = ct.lineEnd = ct.point = b, sn.add(O(_n)), _n = new gt();
|
|
662
|
+
},
|
|
663
|
+
result: function() {
|
|
664
|
+
var t = sn / 2;
|
|
665
|
+
return sn = new gt(), t;
|
|
666
|
+
}
|
|
667
|
+
};
|
|
668
|
+
function Xi() {
|
|
669
|
+
ct.point = ki;
|
|
670
|
+
}
|
|
671
|
+
function ki(t, n) {
|
|
672
|
+
ct.point = Ce, Re = En = t, xe = Sn = n;
|
|
673
|
+
}
|
|
674
|
+
function Ce(t, n) {
|
|
675
|
+
_n.add(Sn * t - En * n), En = t, Sn = n;
|
|
676
|
+
}
|
|
677
|
+
function Di() {
|
|
678
|
+
Ce(Re, xe);
|
|
679
|
+
}
|
|
680
|
+
var Et = 1 / 0, Jt = Et, Ft = -Et, Qt = Ft, bt = {
|
|
681
|
+
point: Gi,
|
|
682
|
+
lineStart: b,
|
|
683
|
+
lineEnd: b,
|
|
684
|
+
polygonStart: b,
|
|
685
|
+
polygonEnd: b,
|
|
686
|
+
result: function() {
|
|
687
|
+
var t = [[Et, Jt], [Ft, Qt]];
|
|
688
|
+
return Ft = Qt = -(Jt = Et = 1 / 0), t;
|
|
689
|
+
}
|
|
690
|
+
};
|
|
691
|
+
function Gi(t, n) {
|
|
692
|
+
t < Et && (Et = t), t > Ft && (Ft = t), n < Jt && (Jt = n), n > Qt && (Qt = n);
|
|
693
|
+
}
|
|
694
|
+
var Mn = 0, zn = 0, zt = 0, jt = 0, tn = 0, wt = 0, Pn = 0, Tn = 0, Pt = 0, Ie, Fe, it, rt, Q = {
|
|
695
|
+
point: yt,
|
|
696
|
+
lineStart: ie,
|
|
697
|
+
lineEnd: re,
|
|
698
|
+
polygonStart: function() {
|
|
699
|
+
Q.lineStart = Oi, Q.lineEnd = qi;
|
|
700
|
+
},
|
|
701
|
+
polygonEnd: function() {
|
|
702
|
+
Q.point = yt, Q.lineStart = ie, Q.lineEnd = re;
|
|
703
|
+
},
|
|
704
|
+
result: function() {
|
|
705
|
+
var t = Pt ? [Pn / Pt, Tn / Pt] : wt ? [jt / wt, tn / wt] : zt ? [Mn / zt, zn / zt] : [NaN, NaN];
|
|
706
|
+
return Mn = zn = zt = jt = tn = wt = Pn = Tn = Pt = 0, t;
|
|
707
|
+
}
|
|
708
|
+
};
|
|
709
|
+
function yt(t, n) {
|
|
710
|
+
Mn += t, zn += n, ++zt;
|
|
711
|
+
}
|
|
712
|
+
function ie() {
|
|
713
|
+
Q.point = Li;
|
|
714
|
+
}
|
|
715
|
+
function Li(t, n) {
|
|
716
|
+
Q.point = Yi, yt(it = t, rt = n);
|
|
717
|
+
}
|
|
718
|
+
function Yi(t, n) {
|
|
719
|
+
var e = t - it, i = n - rt, r = tt(e * e + i * i);
|
|
720
|
+
jt += r * (it + t) / 2, tn += r * (rt + n) / 2, wt += r, yt(it = t, rt = n);
|
|
721
|
+
}
|
|
722
|
+
function re() {
|
|
723
|
+
Q.point = yt;
|
|
724
|
+
}
|
|
725
|
+
function Oi() {
|
|
726
|
+
Q.point = Vi;
|
|
727
|
+
}
|
|
728
|
+
function qi() {
|
|
729
|
+
$e(Ie, Fe);
|
|
730
|
+
}
|
|
731
|
+
function Vi(t, n) {
|
|
732
|
+
Q.point = $e, yt(Ie = it = t, Fe = rt = n);
|
|
733
|
+
}
|
|
734
|
+
function $e(t, n) {
|
|
735
|
+
var e = t - it, i = n - rt, r = tt(e * e + i * i);
|
|
736
|
+
jt += r * (it + t) / 2, tn += r * (rt + n) / 2, wt += r, r = rt * t - it * n, Pn += r * (it + t), Tn += r * (rt + n), Pt += r * 3, yt(it = t, rt = n);
|
|
737
|
+
}
|
|
738
|
+
function Xe(t) {
|
|
739
|
+
this._context = t;
|
|
740
|
+
}
|
|
741
|
+
Xe.prototype = {
|
|
742
|
+
_radius: 4.5,
|
|
743
|
+
pointRadius: function(t) {
|
|
744
|
+
return this._radius = t, this;
|
|
745
|
+
},
|
|
746
|
+
polygonStart: function() {
|
|
747
|
+
this._line = 0;
|
|
748
|
+
},
|
|
749
|
+
polygonEnd: function() {
|
|
750
|
+
this._line = NaN;
|
|
751
|
+
},
|
|
752
|
+
lineStart: function() {
|
|
753
|
+
this._point = 0;
|
|
754
|
+
},
|
|
755
|
+
lineEnd: function() {
|
|
756
|
+
this._line === 0 && this._context.closePath(), this._point = NaN;
|
|
757
|
+
},
|
|
758
|
+
point: function(t, n) {
|
|
759
|
+
switch (this._point) {
|
|
760
|
+
case 0: {
|
|
761
|
+
this._context.moveTo(t, n), this._point = 1;
|
|
762
|
+
break;
|
|
763
|
+
}
|
|
764
|
+
case 1: {
|
|
765
|
+
this._context.lineTo(t, n);
|
|
766
|
+
break;
|
|
767
|
+
}
|
|
768
|
+
default: {
|
|
769
|
+
this._context.moveTo(t + this._radius, n), this._context.arc(t, n, this._radius, 0, J);
|
|
770
|
+
break;
|
|
771
|
+
}
|
|
772
|
+
}
|
|
773
|
+
},
|
|
774
|
+
result: b
|
|
775
|
+
};
|
|
776
|
+
var An = new gt(), fn, ke, De, Tt, At, $t = {
|
|
777
|
+
point: b,
|
|
778
|
+
lineStart: function() {
|
|
779
|
+
$t.point = Bi;
|
|
780
|
+
},
|
|
781
|
+
lineEnd: function() {
|
|
782
|
+
fn && Ge(ke, De), $t.point = b;
|
|
783
|
+
},
|
|
784
|
+
polygonStart: function() {
|
|
785
|
+
fn = !0;
|
|
786
|
+
},
|
|
787
|
+
polygonEnd: function() {
|
|
788
|
+
fn = null;
|
|
789
|
+
},
|
|
790
|
+
result: function() {
|
|
791
|
+
var t = +An;
|
|
792
|
+
return An = new gt(), t;
|
|
793
|
+
}
|
|
794
|
+
};
|
|
795
|
+
function Bi(t, n) {
|
|
796
|
+
$t.point = Ge, ke = Tt = t, De = At = n;
|
|
797
|
+
}
|
|
798
|
+
function Ge(t, n) {
|
|
799
|
+
Tt -= t, At -= n, An.add(tt(Tt * Tt + At * At)), Tt = t, At = n;
|
|
800
|
+
}
|
|
801
|
+
let oe, nn, ue, ae;
|
|
802
|
+
class le {
|
|
803
|
+
constructor(n) {
|
|
804
|
+
this._append = n == null ? Le : Ui(n), this._radius = 4.5, this._ = "";
|
|
805
|
+
}
|
|
806
|
+
pointRadius(n) {
|
|
807
|
+
return this._radius = +n, this;
|
|
808
|
+
}
|
|
809
|
+
polygonStart() {
|
|
810
|
+
this._line = 0;
|
|
811
|
+
}
|
|
812
|
+
polygonEnd() {
|
|
813
|
+
this._line = NaN;
|
|
814
|
+
}
|
|
815
|
+
lineStart() {
|
|
816
|
+
this._point = 0;
|
|
817
|
+
}
|
|
818
|
+
lineEnd() {
|
|
819
|
+
this._line === 0 && (this._ += "Z"), this._point = NaN;
|
|
820
|
+
}
|
|
821
|
+
point(n, e) {
|
|
822
|
+
switch (this._point) {
|
|
823
|
+
case 0: {
|
|
824
|
+
this._append`M${n},${e}`, this._point = 1;
|
|
825
|
+
break;
|
|
826
|
+
}
|
|
827
|
+
case 1: {
|
|
828
|
+
this._append`L${n},${e}`;
|
|
829
|
+
break;
|
|
830
|
+
}
|
|
831
|
+
default: {
|
|
832
|
+
if (this._append`M${n},${e}`, this._radius !== ue || this._append !== nn) {
|
|
833
|
+
const i = this._radius, r = this._;
|
|
834
|
+
this._ = "", this._append`m0,${i}a${i},${i} 0 1,1 0,${-2 * i}a${i},${i} 0 1,1 0,${2 * i}z`, ue = i, nn = this._append, ae = this._, this._ = r;
|
|
835
|
+
}
|
|
836
|
+
this._ += ae;
|
|
837
|
+
break;
|
|
838
|
+
}
|
|
839
|
+
}
|
|
840
|
+
}
|
|
841
|
+
result() {
|
|
842
|
+
const n = this._;
|
|
843
|
+
return this._ = "", n.length ? n : null;
|
|
844
|
+
}
|
|
845
|
+
}
|
|
846
|
+
function Le(t) {
|
|
847
|
+
let n = 1;
|
|
848
|
+
this._ += t[0];
|
|
849
|
+
for (const e = t.length; n < e; ++n)
|
|
850
|
+
this._ += arguments[n] + t[n];
|
|
851
|
+
}
|
|
852
|
+
function Ui(t) {
|
|
853
|
+
const n = Math.floor(t);
|
|
854
|
+
if (!(n >= 0)) throw new RangeError(`invalid digits: ${t}`);
|
|
855
|
+
if (n > 15) return Le;
|
|
856
|
+
if (n !== oe) {
|
|
857
|
+
const e = 10 ** n;
|
|
858
|
+
oe = n, nn = function(r) {
|
|
859
|
+
let u = 1;
|
|
860
|
+
this._ += r[0];
|
|
861
|
+
for (const o = r.length; u < o; ++u)
|
|
862
|
+
this._ += Math.round(arguments[u] * e) / e + r[u];
|
|
863
|
+
};
|
|
864
|
+
}
|
|
865
|
+
return nn;
|
|
866
|
+
}
|
|
867
|
+
function $o(t, n) {
|
|
868
|
+
let e = 3, i = 4.5, r, u;
|
|
869
|
+
function o(l) {
|
|
870
|
+
return l && (typeof i == "function" && u.pointRadius(+i.apply(this, arguments)), mt(l, r(u))), u.result();
|
|
871
|
+
}
|
|
872
|
+
return o.area = function(l) {
|
|
873
|
+
return mt(l, r(ct)), ct.result();
|
|
874
|
+
}, o.measure = function(l) {
|
|
875
|
+
return mt(l, r($t)), $t.result();
|
|
876
|
+
}, o.bounds = function(l) {
|
|
877
|
+
return mt(l, r(bt)), bt.result();
|
|
878
|
+
}, o.centroid = function(l) {
|
|
879
|
+
return mt(l, r(Q)), Q.result();
|
|
880
|
+
}, o.projection = function(l) {
|
|
881
|
+
return arguments.length ? (r = l == null ? (t = null, wn) : (t = l).stream, o) : t;
|
|
882
|
+
}, o.context = function(l) {
|
|
883
|
+
return arguments.length ? (u = l == null ? (n = null, new le(e)) : new Xe(n = l), typeof i != "function" && u.pointRadius(i), o) : n;
|
|
884
|
+
}, o.pointRadius = function(l) {
|
|
885
|
+
return arguments.length ? (i = typeof l == "function" ? l : (u.pointRadius(+l), +l), o) : i;
|
|
886
|
+
}, o.digits = function(l) {
|
|
887
|
+
if (!arguments.length) return e;
|
|
888
|
+
if (l == null) e = null;
|
|
889
|
+
else {
|
|
890
|
+
const p = Math.floor(l);
|
|
891
|
+
if (!(p >= 0)) throw new RangeError(`invalid digits: ${l}`);
|
|
892
|
+
e = p;
|
|
893
|
+
}
|
|
894
|
+
return n === null && (u = new le(e)), o;
|
|
895
|
+
}, o.projection(t).digits(e).context(n);
|
|
896
|
+
}
|
|
897
|
+
function Xn(t) {
|
|
898
|
+
return function(n) {
|
|
899
|
+
var e = new Nn();
|
|
900
|
+
for (var i in t) e[i] = t[i];
|
|
901
|
+
return e.stream = n, e;
|
|
902
|
+
};
|
|
903
|
+
}
|
|
904
|
+
function Nn() {
|
|
905
|
+
}
|
|
906
|
+
Nn.prototype = {
|
|
907
|
+
constructor: Nn,
|
|
908
|
+
point: function(t, n) {
|
|
909
|
+
this.stream.point(t, n);
|
|
910
|
+
},
|
|
911
|
+
sphere: function() {
|
|
912
|
+
this.stream.sphere();
|
|
913
|
+
},
|
|
914
|
+
lineStart: function() {
|
|
915
|
+
this.stream.lineStart();
|
|
916
|
+
},
|
|
917
|
+
lineEnd: function() {
|
|
918
|
+
this.stream.lineEnd();
|
|
919
|
+
},
|
|
920
|
+
polygonStart: function() {
|
|
921
|
+
this.stream.polygonStart();
|
|
922
|
+
},
|
|
923
|
+
polygonEnd: function() {
|
|
924
|
+
this.stream.polygonEnd();
|
|
925
|
+
}
|
|
926
|
+
};
|
|
927
|
+
function kn(t, n, e) {
|
|
928
|
+
var i = t.clipExtent && t.clipExtent();
|
|
929
|
+
return t.scale(150).translate([0, 0]), i != null && t.clipExtent(null), mt(e, t.stream(bt)), n(bt.result()), i != null && t.clipExtent(i), t;
|
|
930
|
+
}
|
|
931
|
+
function Dn(t, n, e) {
|
|
932
|
+
return kn(t, function(i) {
|
|
933
|
+
var r = n[1][0] - n[0][0], u = n[1][1] - n[0][1], o = Math.min(r / (i[1][0] - i[0][0]), u / (i[1][1] - i[0][1])), l = +n[0][0] + (r - o * (i[1][0] + i[0][0])) / 2, p = +n[0][1] + (u - o * (i[1][1] + i[0][1])) / 2;
|
|
934
|
+
t.scale(150 * o).translate([l, p]);
|
|
935
|
+
}, e);
|
|
936
|
+
}
|
|
937
|
+
function Ye(t, n, e) {
|
|
938
|
+
return Dn(t, [[0, 0], n], e);
|
|
939
|
+
}
|
|
940
|
+
function Oe(t, n, e) {
|
|
941
|
+
return kn(t, function(i) {
|
|
942
|
+
var r = +n, u = r / (i[1][0] - i[0][0]), o = (r - u * (i[1][0] + i[0][0])) / 2, l = -u * i[0][1];
|
|
943
|
+
t.scale(150 * u).translate([o, l]);
|
|
944
|
+
}, e);
|
|
945
|
+
}
|
|
946
|
+
function qe(t, n, e) {
|
|
947
|
+
return kn(t, function(i) {
|
|
948
|
+
var r = +n, u = r / (i[1][1] - i[0][1]), o = -u * i[0][0], l = (r - u * (i[1][1] + i[0][1])) / 2;
|
|
949
|
+
t.scale(150 * u).translate([o, l]);
|
|
950
|
+
}, e);
|
|
951
|
+
}
|
|
952
|
+
var ce = 16, Hi = Y(30 * B);
|
|
953
|
+
function se(t, n) {
|
|
954
|
+
return +n ? Zi(t, n) : Wi(t);
|
|
955
|
+
}
|
|
956
|
+
function Wi(t) {
|
|
957
|
+
return Xn({
|
|
958
|
+
point: function(n, e) {
|
|
959
|
+
n = t(n, e), this.stream.point(n[0], n[1]);
|
|
960
|
+
}
|
|
961
|
+
});
|
|
962
|
+
}
|
|
963
|
+
function Zi(t, n) {
|
|
964
|
+
function e(i, r, u, o, l, p, s, a, f, c, h, y, m, _) {
|
|
965
|
+
var w = s - i, M = a - r, P = w * w + M * M;
|
|
966
|
+
if (P > 4 * n && m--) {
|
|
967
|
+
var S = o + c, N = l + h, T = p + y, I = tt(S * S + N * N + T * T), F = nt(T /= I), $ = O(O(T) - 1) < C || O(u - f) < C ? (u + f) / 2 : dt(N, S), G = t($, F), R = G[0], W = G[1], q = R - i, v = W - r, g = M * q - w * v;
|
|
968
|
+
(g * g / P > n || O((w * q + M * v) / P - 0.5) > 0.3 || o * c + l * h + p * y < Hi) && (e(i, r, u, o, l, p, R, W, $, S /= I, N /= I, T, m, _), _.point(R, W), e(R, W, $, S, N, T, s, a, f, c, h, y, m, _));
|
|
969
|
+
}
|
|
970
|
+
}
|
|
971
|
+
return function(i) {
|
|
972
|
+
var r, u, o, l, p, s, a, f, c, h, y, m, _ = {
|
|
973
|
+
point: w,
|
|
974
|
+
lineStart: M,
|
|
975
|
+
lineEnd: S,
|
|
976
|
+
polygonStart: function() {
|
|
977
|
+
i.polygonStart(), _.lineStart = N;
|
|
978
|
+
},
|
|
979
|
+
polygonEnd: function() {
|
|
980
|
+
i.polygonEnd(), _.lineStart = M;
|
|
981
|
+
}
|
|
982
|
+
};
|
|
983
|
+
function w(F, $) {
|
|
984
|
+
F = t(F, $), i.point(F[0], F[1]);
|
|
985
|
+
}
|
|
986
|
+
function M() {
|
|
987
|
+
f = NaN, _.point = P, i.lineStart();
|
|
988
|
+
}
|
|
989
|
+
function P(F, $) {
|
|
990
|
+
var G = _t([F, $]), R = t(F, $);
|
|
991
|
+
e(f, c, a, h, y, m, f = R[0], c = R[1], a = F, h = G[0], y = G[1], m = G[2], ce, i), i.point(f, c);
|
|
992
|
+
}
|
|
993
|
+
function S() {
|
|
994
|
+
_.point = w, i.lineEnd();
|
|
995
|
+
}
|
|
996
|
+
function N() {
|
|
997
|
+
M(), _.point = T, _.lineEnd = I;
|
|
998
|
+
}
|
|
999
|
+
function T(F, $) {
|
|
1000
|
+
P(r = F, $), u = f, o = c, l = h, p = y, s = m, _.point = P;
|
|
1001
|
+
}
|
|
1002
|
+
function I() {
|
|
1003
|
+
e(f, c, a, h, y, m, u, o, r, l, p, s, ce, i), _.lineEnd = S, S();
|
|
1004
|
+
}
|
|
1005
|
+
return _;
|
|
1006
|
+
};
|
|
1007
|
+
}
|
|
1008
|
+
var Ki = Xn({
|
|
1009
|
+
point: function(t, n) {
|
|
1010
|
+
this.stream.point(t * B, n * B);
|
|
1011
|
+
}
|
|
1012
|
+
});
|
|
1013
|
+
function Ji(t) {
|
|
1014
|
+
return Xn({
|
|
1015
|
+
point: function(n, e) {
|
|
1016
|
+
var i = t(n, e);
|
|
1017
|
+
return this.stream.point(i[0], i[1]);
|
|
1018
|
+
}
|
|
1019
|
+
});
|
|
1020
|
+
}
|
|
1021
|
+
function Qi(t, n, e, i, r) {
|
|
1022
|
+
function u(o, l) {
|
|
1023
|
+
return o *= i, l *= r, [n + t * o, e - t * l];
|
|
1024
|
+
}
|
|
1025
|
+
return u.invert = function(o, l) {
|
|
1026
|
+
return [(o - n) / t * i, (e - l) / t * r];
|
|
1027
|
+
}, u;
|
|
1028
|
+
}
|
|
1029
|
+
function fe(t, n, e, i, r, u) {
|
|
1030
|
+
if (!u) return Qi(t, n, e, i, r);
|
|
1031
|
+
var o = Y(u), l = D(u), p = o * t, s = l * t, a = o / t, f = l / t, c = (l * e - o * n) / t, h = (l * n + o * e) / t;
|
|
1032
|
+
function y(m, _) {
|
|
1033
|
+
return m *= i, _ *= r, [p * m - s * _ + n, e - s * m - p * _];
|
|
1034
|
+
}
|
|
1035
|
+
return y.invert = function(m, _) {
|
|
1036
|
+
return [i * (a * m - f * _ + c), r * (h - f * m - a * _)];
|
|
1037
|
+
}, y;
|
|
1038
|
+
}
|
|
1039
|
+
function on(t) {
|
|
1040
|
+
return Ve(function() {
|
|
1041
|
+
return t;
|
|
1042
|
+
})();
|
|
1043
|
+
}
|
|
1044
|
+
function Ve(t) {
|
|
1045
|
+
var n, e = 150, i = 480, r = 250, u = 0, o = 0, l = 0, p = 0, s = 0, a, f = 0, c = 1, h = 1, y = null, m = ee, _ = null, w, M, P, S = wn, N = 0.5, T, I, F, $, G;
|
|
1046
|
+
function R(g) {
|
|
1047
|
+
return F(g[0] * B, g[1] * B);
|
|
1048
|
+
}
|
|
1049
|
+
function W(g) {
|
|
1050
|
+
return g = F.invert(g[0], g[1]), g && [g[0] * Z, g[1] * Z];
|
|
1051
|
+
}
|
|
1052
|
+
R.stream = function(g) {
|
|
1053
|
+
return $ && G === g ? $ : $ = Ki(Ji(a)(m(T(S(G = g)))));
|
|
1054
|
+
}, R.preclip = function(g) {
|
|
1055
|
+
return arguments.length ? (m = g, y = void 0, v()) : m;
|
|
1056
|
+
}, R.postclip = function(g) {
|
|
1057
|
+
return arguments.length ? (S = g, _ = w = M = P = null, v()) : S;
|
|
1058
|
+
}, R.clipAngle = function(g) {
|
|
1059
|
+
return arguments.length ? (m = +g ? Ii(y = g * B) : (y = null, ee), v()) : y * Z;
|
|
1060
|
+
}, R.clipExtent = function(g) {
|
|
1061
|
+
return arguments.length ? (S = g == null ? (_ = w = M = P = null, wn) : $i(_ = +g[0][0], w = +g[0][1], M = +g[1][0], P = +g[1][1]), v()) : _ == null ? null : [[_, w], [M, P]];
|
|
1062
|
+
}, R.scale = function(g) {
|
|
1063
|
+
return arguments.length ? (e = +g, q()) : e;
|
|
1064
|
+
}, R.translate = function(g) {
|
|
1065
|
+
return arguments.length ? (i = +g[0], r = +g[1], q()) : [i, r];
|
|
1066
|
+
}, R.center = function(g) {
|
|
1067
|
+
return arguments.length ? (u = g[0] % 360 * B, o = g[1] % 360 * B, q()) : [u * Z, o * Z];
|
|
1068
|
+
}, R.rotate = function(g) {
|
|
1069
|
+
return arguments.length ? (l = g[0] % 360 * B, p = g[1] % 360 * B, s = g.length > 2 ? g[2] % 360 * B : 0, q()) : [l * Z, p * Z, s * Z];
|
|
1070
|
+
}, R.angle = function(g) {
|
|
1071
|
+
return arguments.length ? (f = g % 360 * B, q()) : f * Z;
|
|
1072
|
+
}, R.reflectX = function(g) {
|
|
1073
|
+
return arguments.length ? (c = g ? -1 : 1, q()) : c < 0;
|
|
1074
|
+
}, R.reflectY = function(g) {
|
|
1075
|
+
return arguments.length ? (h = g ? -1 : 1, q()) : h < 0;
|
|
1076
|
+
}, R.precision = function(g) {
|
|
1077
|
+
return arguments.length ? (T = se(I, N = g * g), v()) : tt(N);
|
|
1078
|
+
}, R.fitExtent = function(g, d) {
|
|
1079
|
+
return Dn(R, g, d);
|
|
1080
|
+
}, R.fitSize = function(g, d) {
|
|
1081
|
+
return Ye(R, g, d);
|
|
1082
|
+
}, R.fitWidth = function(g, d) {
|
|
1083
|
+
return Oe(R, g, d);
|
|
1084
|
+
}, R.fitHeight = function(g, d) {
|
|
1085
|
+
return qe(R, g, d);
|
|
1086
|
+
};
|
|
1087
|
+
function q() {
|
|
1088
|
+
var g = fe(e, 0, 0, c, h, f).apply(null, n(u, o)), d = fe(e, i - g[0], r - g[1], c, h, f);
|
|
1089
|
+
return a = Pe(l, p, s), I = yn(n, d), F = yn(a, I), T = se(I, N), v();
|
|
1090
|
+
}
|
|
1091
|
+
function v() {
|
|
1092
|
+
return $ = G = null, R;
|
|
1093
|
+
}
|
|
1094
|
+
return function() {
|
|
1095
|
+
return n = t.apply(this, arguments), R.invert = n.invert && W, q();
|
|
1096
|
+
};
|
|
1097
|
+
}
|
|
1098
|
+
function bi(t) {
|
|
1099
|
+
var n = 0, e = k / 3, i = Ve(t), r = i(n, e);
|
|
1100
|
+
return r.parallels = function(u) {
|
|
1101
|
+
return arguments.length ? i(n = u[0] * B, e = u[1] * B) : [n * Z, e * Z];
|
|
1102
|
+
}, r;
|
|
1103
|
+
}
|
|
1104
|
+
function ji(t) {
|
|
1105
|
+
var n = Y(t);
|
|
1106
|
+
function e(i, r) {
|
|
1107
|
+
return [i * n, D(r) / n];
|
|
1108
|
+
}
|
|
1109
|
+
return e.invert = function(i, r) {
|
|
1110
|
+
return [i / n, nt(r * n)];
|
|
1111
|
+
}, e;
|
|
1112
|
+
}
|
|
1113
|
+
function tr(t, n) {
|
|
1114
|
+
var e = D(t), i = (e + D(n)) / 2;
|
|
1115
|
+
if (O(i) < C) return ji(t);
|
|
1116
|
+
var r = 1 + e * (2 * i - e), u = tt(r) / i;
|
|
1117
|
+
function o(l, p) {
|
|
1118
|
+
var s = tt(r - 2 * i * D(p)) / i;
|
|
1119
|
+
return [s * D(l *= i), u - s * Y(l)];
|
|
1120
|
+
}
|
|
1121
|
+
return o.invert = function(l, p) {
|
|
1122
|
+
var s = u - p, a = dt(l, O(s)) * qt(s);
|
|
1123
|
+
return s * i < 0 && (a -= k * qt(l) * qt(s)), [a / i, nt((r - (l * l + s * s) * i * i) / (2 * i))];
|
|
1124
|
+
}, o;
|
|
1125
|
+
}
|
|
1126
|
+
function Rn() {
|
|
1127
|
+
return bi(tr).scale(155.424).center([0, 33.6442]);
|
|
1128
|
+
}
|
|
1129
|
+
function nr() {
|
|
1130
|
+
return Rn().parallels([29.5, 45.5]).scale(1070).translate([480, 250]).rotate([96, 0]).center([-0.6, 38.7]);
|
|
1131
|
+
}
|
|
1132
|
+
function er(t) {
|
|
1133
|
+
var n = t.length;
|
|
1134
|
+
return {
|
|
1135
|
+
point: function(e, i) {
|
|
1136
|
+
for (var r = -1; ++r < n; ) t[r].point(e, i);
|
|
1137
|
+
},
|
|
1138
|
+
sphere: function() {
|
|
1139
|
+
for (var e = -1; ++e < n; ) t[e].sphere();
|
|
1140
|
+
},
|
|
1141
|
+
lineStart: function() {
|
|
1142
|
+
for (var e = -1; ++e < n; ) t[e].lineStart();
|
|
1143
|
+
},
|
|
1144
|
+
lineEnd: function() {
|
|
1145
|
+
for (var e = -1; ++e < n; ) t[e].lineEnd();
|
|
1146
|
+
},
|
|
1147
|
+
polygonStart: function() {
|
|
1148
|
+
for (var e = -1; ++e < n; ) t[e].polygonStart();
|
|
1149
|
+
},
|
|
1150
|
+
polygonEnd: function() {
|
|
1151
|
+
for (var e = -1; ++e < n; ) t[e].polygonEnd();
|
|
1152
|
+
}
|
|
1153
|
+
};
|
|
1154
|
+
}
|
|
1155
|
+
function Xo() {
|
|
1156
|
+
var t, n, e = nr(), i, r = Rn().rotate([154, 0]).center([-2, 58.5]).parallels([55, 65]), u, o = Rn().rotate([157, 0]).center([-3, 19.9]).parallels([8, 18]), l, p, s = { point: function(c, h) {
|
|
1157
|
+
p = [c, h];
|
|
1158
|
+
} };
|
|
1159
|
+
function a(c) {
|
|
1160
|
+
var h = c[0], y = c[1];
|
|
1161
|
+
return p = null, i.point(h, y), p || (u.point(h, y), p) || (l.point(h, y), p);
|
|
1162
|
+
}
|
|
1163
|
+
a.invert = function(c) {
|
|
1164
|
+
var h = e.scale(), y = e.translate(), m = (c[0] - y[0]) / h, _ = (c[1] - y[1]) / h;
|
|
1165
|
+
return (_ >= 0.12 && _ < 0.234 && m >= -0.425 && m < -0.214 ? r : _ >= 0.166 && _ < 0.234 && m >= -0.214 && m < -0.115 ? o : e).invert(c);
|
|
1166
|
+
}, a.stream = function(c) {
|
|
1167
|
+
return t && n === c ? t : t = er([e.stream(n = c), r.stream(c), o.stream(c)]);
|
|
1168
|
+
}, a.precision = function(c) {
|
|
1169
|
+
return arguments.length ? (e.precision(c), r.precision(c), o.precision(c), f()) : e.precision();
|
|
1170
|
+
}, a.scale = function(c) {
|
|
1171
|
+
return arguments.length ? (e.scale(c), r.scale(c * 0.35), o.scale(c), a.translate(e.translate())) : e.scale();
|
|
1172
|
+
}, a.translate = function(c) {
|
|
1173
|
+
if (!arguments.length) return e.translate();
|
|
1174
|
+
var h = e.scale(), y = +c[0], m = +c[1];
|
|
1175
|
+
return i = e.translate(c).clipExtent([[y - 0.455 * h, m - 0.238 * h], [y + 0.455 * h, m + 0.238 * h]]).stream(s), u = r.translate([y - 0.307 * h, m + 0.201 * h]).clipExtent([[y - 0.425 * h + C, m + 0.12 * h + C], [y - 0.214 * h - C, m + 0.234 * h - C]]).stream(s), l = o.translate([y - 0.205 * h, m + 0.212 * h]).clipExtent([[y - 0.214 * h + C, m + 0.166 * h + C], [y - 0.115 * h - C, m + 0.234 * h - C]]).stream(s), f();
|
|
1176
|
+
}, a.fitExtent = function(c, h) {
|
|
1177
|
+
return Dn(a, c, h);
|
|
1178
|
+
}, a.fitSize = function(c, h) {
|
|
1179
|
+
return Ye(a, c, h);
|
|
1180
|
+
}, a.fitWidth = function(c, h) {
|
|
1181
|
+
return Oe(a, c, h);
|
|
1182
|
+
}, a.fitHeight = function(c, h) {
|
|
1183
|
+
return qe(a, c, h);
|
|
1184
|
+
};
|
|
1185
|
+
function f() {
|
|
1186
|
+
return t = n = null, a;
|
|
1187
|
+
}
|
|
1188
|
+
return a.scale(1070);
|
|
1189
|
+
}
|
|
1190
|
+
function ir(t) {
|
|
1191
|
+
return function(n, e) {
|
|
1192
|
+
var i = tt(n * n + e * e), r = t(i), u = D(r), o = Y(r);
|
|
1193
|
+
return [
|
|
1194
|
+
dt(n * u, i * o),
|
|
1195
|
+
nt(i && e * u / i)
|
|
1196
|
+
];
|
|
1197
|
+
};
|
|
1198
|
+
}
|
|
1199
|
+
function Gn(t, n) {
|
|
1200
|
+
return [t, Ei(Si((K + n) / 2))];
|
|
1201
|
+
}
|
|
1202
|
+
Gn.invert = function(t, n) {
|
|
1203
|
+
return [t, 2 * ze(_i(n)) - K];
|
|
1204
|
+
};
|
|
1205
|
+
function ko() {
|
|
1206
|
+
return rr(Gn).scale(961 / J);
|
|
1207
|
+
}
|
|
1208
|
+
function rr(t) {
|
|
1209
|
+
var n = on(t), e = n.center, i = n.scale, r = n.translate, u = n.clipExtent, o = null, l, p, s;
|
|
1210
|
+
n.scale = function(f) {
|
|
1211
|
+
return arguments.length ? (i(f), a()) : i();
|
|
1212
|
+
}, n.translate = function(f) {
|
|
1213
|
+
return arguments.length ? (r(f), a()) : r();
|
|
1214
|
+
}, n.center = function(f) {
|
|
1215
|
+
return arguments.length ? (e(f), a()) : e();
|
|
1216
|
+
}, n.clipExtent = function(f) {
|
|
1217
|
+
return arguments.length ? (f == null ? o = l = p = s = null : (o = +f[0][0], l = +f[0][1], p = +f[1][0], s = +f[1][1]), a()) : o == null ? null : [[o, l], [p, s]];
|
|
1218
|
+
};
|
|
1219
|
+
function a() {
|
|
1220
|
+
var f = k * i(), c = n(zi(n.rotate()).invert([0, 0]));
|
|
1221
|
+
return u(o == null ? [[c[0] - f, c[1] - f], [c[0] + f, c[1] + f]] : t === Gn ? [[Math.max(c[0] - f, o), l], [Math.min(c[0] + f, p), s]] : [[o, Math.max(c[1] - f, l)], [p, Math.min(c[1] + f, s)]]);
|
|
1222
|
+
}
|
|
1223
|
+
return a();
|
|
1224
|
+
}
|
|
1225
|
+
var Nt = 1.340264, Rt = -0.081106, xt = 893e-6, Ct = 3796e-6, en = tt(3) / 2, or = 12;
|
|
1226
|
+
function Be(t, n) {
|
|
1227
|
+
var e = nt(en * D(n)), i = e * e, r = i * i * i;
|
|
1228
|
+
return [
|
|
1229
|
+
t * Y(e) / (en * (Nt + 3 * Rt * i + r * (7 * xt + 9 * Ct * i))),
|
|
1230
|
+
e * (Nt + Rt * i + r * (xt + Ct * i))
|
|
1231
|
+
];
|
|
1232
|
+
}
|
|
1233
|
+
Be.invert = function(t, n) {
|
|
1234
|
+
for (var e = n, i = e * e, r = i * i * i, u = 0, o, l, p; u < or && (l = e * (Nt + Rt * i + r * (xt + Ct * i)) - n, p = Nt + 3 * Rt * i + r * (7 * xt + 9 * Ct * i), e -= o = l / p, i = e * e, r = i * i * i, !(O(o) < Me)); ++u)
|
|
1235
|
+
;
|
|
1236
|
+
return [
|
|
1237
|
+
en * t * (Nt + 3 * Rt * i + r * (7 * xt + 9 * Ct * i)) / Y(e),
|
|
1238
|
+
nt(D(e) / en)
|
|
1239
|
+
];
|
|
1240
|
+
};
|
|
1241
|
+
function Do() {
|
|
1242
|
+
return on(Be).scale(177.158);
|
|
1243
|
+
}
|
|
1244
|
+
function Ue(t, n) {
|
|
1245
|
+
var e = n * n, i = e * e;
|
|
1246
|
+
return [
|
|
1247
|
+
t * (0.8707 - 0.131979 * e + i * (-0.013791 + i * (3971e-6 * e - 1529e-6 * i))),
|
|
1248
|
+
n * (1.007226 + e * (0.015085 + i * (-0.044475 + 0.028874 * e - 5916e-6 * i)))
|
|
1249
|
+
];
|
|
1250
|
+
}
|
|
1251
|
+
Ue.invert = function(t, n) {
|
|
1252
|
+
var e = n, i = 25, r;
|
|
1253
|
+
do {
|
|
1254
|
+
var u = e * e, o = u * u;
|
|
1255
|
+
e -= r = (e * (1.007226 + u * (0.015085 + o * (-0.044475 + 0.028874 * u - 5916e-6 * o))) - n) / (1.007226 + u * (0.015085 * 3 + o * (-0.044475 * 7 + 0.028874 * 9 * u - 5916e-6 * 11 * o)));
|
|
1256
|
+
} while (O(r) > C && --i > 0);
|
|
1257
|
+
return [
|
|
1258
|
+
t / (0.8707 + (u = e * e) * (-0.131979 + u * (-0.013791 + u * u * u * (3971e-6 - 1529e-6 * u)))),
|
|
1259
|
+
e
|
|
1260
|
+
];
|
|
1261
|
+
};
|
|
1262
|
+
function Go() {
|
|
1263
|
+
return on(Ue).scale(175.295);
|
|
1264
|
+
}
|
|
1265
|
+
function He(t, n) {
|
|
1266
|
+
return [Y(n) * D(t), D(n)];
|
|
1267
|
+
}
|
|
1268
|
+
He.invert = ir(nt);
|
|
1269
|
+
function Lo() {
|
|
1270
|
+
return on(He).scale(249.5).clipAngle(90 + C);
|
|
1271
|
+
}
|
|
1272
|
+
const xn = { capture: !0, passive: !1 };
|
|
1273
|
+
function Cn(t) {
|
|
1274
|
+
t.preventDefault(), t.stopImmediatePropagation();
|
|
1275
|
+
}
|
|
1276
|
+
function ur(t) {
|
|
1277
|
+
var n = t.document.documentElement, e = vt(t).on("dragstart.drag", Cn, xn);
|
|
1278
|
+
"onselectstart" in n ? e.on("selectstart.drag", Cn, xn) : (n.__noselect = n.style.MozUserSelect, n.style.MozUserSelect = "none");
|
|
1279
|
+
}
|
|
1280
|
+
function ar(t, n) {
|
|
1281
|
+
var e = t.document.documentElement, i = vt(t).on("dragstart.drag", null);
|
|
1282
|
+
n && (i.on("click.drag", Cn, xn), setTimeout(function() {
|
|
1283
|
+
i.on("click.drag", null);
|
|
1284
|
+
}, 0)), "onselectstart" in e ? i.on("selectstart.drag", null) : (e.style.MozUserSelect = e.__noselect, delete e.__noselect);
|
|
1285
|
+
}
|
|
1286
|
+
var lr = me("start", "end", "cancel", "interrupt"), cr = [], We = 0, he = 1, In = 2, Bt = 3, pe = 4, Fn = 5, Ut = 6;
|
|
1287
|
+
function un(t, n, e, i, r, u) {
|
|
1288
|
+
var o = t.__transition;
|
|
1289
|
+
if (!o) t.__transition = {};
|
|
1290
|
+
else if (e in o) return;
|
|
1291
|
+
sr(t, e, {
|
|
1292
|
+
name: n,
|
|
1293
|
+
index: i,
|
|
1294
|
+
// For context during callback.
|
|
1295
|
+
group: r,
|
|
1296
|
+
// For context during callback.
|
|
1297
|
+
on: lr,
|
|
1298
|
+
tween: cr,
|
|
1299
|
+
time: u.time,
|
|
1300
|
+
delay: u.delay,
|
|
1301
|
+
duration: u.duration,
|
|
1302
|
+
ease: u.ease,
|
|
1303
|
+
timer: null,
|
|
1304
|
+
state: We
|
|
1305
|
+
});
|
|
1306
|
+
}
|
|
1307
|
+
function Ln(t, n) {
|
|
1308
|
+
var e = et(t, n);
|
|
1309
|
+
if (e.state > We) throw new Error("too late; already scheduled");
|
|
1310
|
+
return e;
|
|
1311
|
+
}
|
|
1312
|
+
function ot(t, n) {
|
|
1313
|
+
var e = et(t, n);
|
|
1314
|
+
if (e.state > Bt) throw new Error("too late; already running");
|
|
1315
|
+
return e;
|
|
1316
|
+
}
|
|
1317
|
+
function et(t, n) {
|
|
1318
|
+
var e = t.__transition;
|
|
1319
|
+
if (!e || !(e = e[n])) throw new Error("transition not found");
|
|
1320
|
+
return e;
|
|
1321
|
+
}
|
|
1322
|
+
function sr(t, n, e) {
|
|
1323
|
+
var i = t.__transition, r;
|
|
1324
|
+
i[n] = e, e.timer = ri(u, 0, e.time);
|
|
1325
|
+
function u(s) {
|
|
1326
|
+
e.state = he, e.timer.restart(o, e.delay, e.time), e.delay <= s && o(s - e.delay);
|
|
1327
|
+
}
|
|
1328
|
+
function o(s) {
|
|
1329
|
+
var a, f, c, h;
|
|
1330
|
+
if (e.state !== he) return p();
|
|
1331
|
+
for (a in i)
|
|
1332
|
+
if (h = i[a], h.name === e.name) {
|
|
1333
|
+
if (h.state === Bt) return Hn(o);
|
|
1334
|
+
h.state === pe ? (h.state = Ut, h.timer.stop(), h.on.call("interrupt", t, t.__data__, h.index, h.group), delete i[a]) : +a < n && (h.state = Ut, h.timer.stop(), h.on.call("cancel", t, t.__data__, h.index, h.group), delete i[a]);
|
|
1335
|
+
}
|
|
1336
|
+
if (Hn(function() {
|
|
1337
|
+
e.state === Bt && (e.state = pe, e.timer.restart(l, e.delay, e.time), l(s));
|
|
1338
|
+
}), e.state = In, e.on.call("start", t, t.__data__, e.index, e.group), e.state === In) {
|
|
1339
|
+
for (e.state = Bt, r = new Array(c = e.tween.length), a = 0, f = -1; a < c; ++a)
|
|
1340
|
+
(h = e.tween[a].value.call(t, t.__data__, e.index, e.group)) && (r[++f] = h);
|
|
1341
|
+
r.length = f + 1;
|
|
1342
|
+
}
|
|
1343
|
+
}
|
|
1344
|
+
function l(s) {
|
|
1345
|
+
for (var a = s < e.duration ? e.ease.call(null, s / e.duration) : (e.timer.restart(p), e.state = Fn, 1), f = -1, c = r.length; ++f < c; )
|
|
1346
|
+
r[f].call(t, a);
|
|
1347
|
+
e.state === Fn && (e.on.call("end", t, t.__data__, e.index, e.group), p());
|
|
1348
|
+
}
|
|
1349
|
+
function p() {
|
|
1350
|
+
e.state = Ut, e.timer.stop(), delete i[n];
|
|
1351
|
+
for (var s in i) return;
|
|
1352
|
+
delete t.__transition;
|
|
1353
|
+
}
|
|
1354
|
+
}
|
|
1355
|
+
function Ht(t, n) {
|
|
1356
|
+
var e = t.__transition, i, r, u = !0, o;
|
|
1357
|
+
if (e) {
|
|
1358
|
+
n = n == null ? null : n + "";
|
|
1359
|
+
for (o in e) {
|
|
1360
|
+
if ((i = e[o]).name !== n) {
|
|
1361
|
+
u = !1;
|
|
1362
|
+
continue;
|
|
1363
|
+
}
|
|
1364
|
+
r = i.state > In && i.state < Fn, i.state = Ut, i.timer.stop(), i.on.call(r ? "interrupt" : "cancel", t, t.__data__, i.index, i.group), delete e[o];
|
|
1365
|
+
}
|
|
1366
|
+
u && delete t.__transition;
|
|
1367
|
+
}
|
|
1368
|
+
}
|
|
1369
|
+
function fr(t) {
|
|
1370
|
+
return this.each(function() {
|
|
1371
|
+
Ht(this, t);
|
|
1372
|
+
});
|
|
1373
|
+
}
|
|
1374
|
+
function hr(t, n) {
|
|
1375
|
+
var e, i;
|
|
1376
|
+
return function() {
|
|
1377
|
+
var r = ot(this, t), u = r.tween;
|
|
1378
|
+
if (u !== e) {
|
|
1379
|
+
i = e = u;
|
|
1380
|
+
for (var o = 0, l = i.length; o < l; ++o)
|
|
1381
|
+
if (i[o].name === n) {
|
|
1382
|
+
i = i.slice(), i.splice(o, 1);
|
|
1383
|
+
break;
|
|
1384
|
+
}
|
|
1385
|
+
}
|
|
1386
|
+
r.tween = i;
|
|
1387
|
+
};
|
|
1388
|
+
}
|
|
1389
|
+
function pr(t, n, e) {
|
|
1390
|
+
var i, r;
|
|
1391
|
+
if (typeof e != "function") throw new Error();
|
|
1392
|
+
return function() {
|
|
1393
|
+
var u = ot(this, t), o = u.tween;
|
|
1394
|
+
if (o !== i) {
|
|
1395
|
+
r = (i = o).slice();
|
|
1396
|
+
for (var l = { name: n, value: e }, p = 0, s = r.length; p < s; ++p)
|
|
1397
|
+
if (r[p].name === n) {
|
|
1398
|
+
r[p] = l;
|
|
1399
|
+
break;
|
|
1400
|
+
}
|
|
1401
|
+
p === s && r.push(l);
|
|
1402
|
+
}
|
|
1403
|
+
u.tween = r;
|
|
1404
|
+
};
|
|
1405
|
+
}
|
|
1406
|
+
function vr(t, n) {
|
|
1407
|
+
var e = this._id;
|
|
1408
|
+
if (t += "", arguments.length < 2) {
|
|
1409
|
+
for (var i = et(this.node(), e).tween, r = 0, u = i.length, o; r < u; ++r)
|
|
1410
|
+
if ((o = i[r]).name === t)
|
|
1411
|
+
return o.value;
|
|
1412
|
+
return null;
|
|
1413
|
+
}
|
|
1414
|
+
return this.each((n == null ? hr : pr)(e, t, n));
|
|
1415
|
+
}
|
|
1416
|
+
function Yn(t, n, e) {
|
|
1417
|
+
var i = t._id;
|
|
1418
|
+
return t.each(function() {
|
|
1419
|
+
var r = ot(this, i);
|
|
1420
|
+
(r.value || (r.value = {}))[n] = e.apply(this, arguments);
|
|
1421
|
+
}), function(r) {
|
|
1422
|
+
return et(r, i).value[n];
|
|
1423
|
+
};
|
|
1424
|
+
}
|
|
1425
|
+
function Ze(t, n) {
|
|
1426
|
+
var e;
|
|
1427
|
+
return (typeof n == "number" ? pt : n instanceof Vn ? qn : (e = Vn(n)) ? (n = e, qn) : ui)(t, n);
|
|
1428
|
+
}
|
|
1429
|
+
function gr(t) {
|
|
1430
|
+
return function() {
|
|
1431
|
+
this.removeAttribute(t);
|
|
1432
|
+
};
|
|
1433
|
+
}
|
|
1434
|
+
function dr(t) {
|
|
1435
|
+
return function() {
|
|
1436
|
+
this.removeAttributeNS(t.space, t.local);
|
|
1437
|
+
};
|
|
1438
|
+
}
|
|
1439
|
+
function yr(t, n, e) {
|
|
1440
|
+
var i, r = e + "", u;
|
|
1441
|
+
return function() {
|
|
1442
|
+
var o = this.getAttribute(t);
|
|
1443
|
+
return o === r ? null : o === i ? u : u = n(i = o, e);
|
|
1444
|
+
};
|
|
1445
|
+
}
|
|
1446
|
+
function mr(t, n, e) {
|
|
1447
|
+
var i, r = e + "", u;
|
|
1448
|
+
return function() {
|
|
1449
|
+
var o = this.getAttributeNS(t.space, t.local);
|
|
1450
|
+
return o === r ? null : o === i ? u : u = n(i = o, e);
|
|
1451
|
+
};
|
|
1452
|
+
}
|
|
1453
|
+
function wr(t, n, e) {
|
|
1454
|
+
var i, r, u;
|
|
1455
|
+
return function() {
|
|
1456
|
+
var o, l = e(this), p;
|
|
1457
|
+
return l == null ? void this.removeAttribute(t) : (o = this.getAttribute(t), p = l + "", o === p ? null : o === i && p === r ? u : (r = p, u = n(i = o, l)));
|
|
1458
|
+
};
|
|
1459
|
+
}
|
|
1460
|
+
function _r(t, n, e) {
|
|
1461
|
+
var i, r, u;
|
|
1462
|
+
return function() {
|
|
1463
|
+
var o, l = e(this), p;
|
|
1464
|
+
return l == null ? void this.removeAttributeNS(t.space, t.local) : (o = this.getAttributeNS(t.space, t.local), p = l + "", o === p ? null : o === i && p === r ? u : (r = p, u = n(i = o, l)));
|
|
1465
|
+
};
|
|
1466
|
+
}
|
|
1467
|
+
function Er(t, n) {
|
|
1468
|
+
var e = we(t), i = e === "transform" ? vi : Ze;
|
|
1469
|
+
return this.attrTween(t, typeof n == "function" ? (e.local ? _r : wr)(e, i, Yn(this, "attr." + t, n)) : n == null ? (e.local ? dr : gr)(e) : (e.local ? mr : yr)(e, i, n));
|
|
1470
|
+
}
|
|
1471
|
+
function Sr(t, n) {
|
|
1472
|
+
return function(e) {
|
|
1473
|
+
this.setAttribute(t, n.call(this, e));
|
|
1474
|
+
};
|
|
1475
|
+
}
|
|
1476
|
+
function Mr(t, n) {
|
|
1477
|
+
return function(e) {
|
|
1478
|
+
this.setAttributeNS(t.space, t.local, n.call(this, e));
|
|
1479
|
+
};
|
|
1480
|
+
}
|
|
1481
|
+
function zr(t, n) {
|
|
1482
|
+
var e, i;
|
|
1483
|
+
function r() {
|
|
1484
|
+
var u = n.apply(this, arguments);
|
|
1485
|
+
return u !== i && (e = (i = u) && Mr(t, u)), e;
|
|
1486
|
+
}
|
|
1487
|
+
return r._value = n, r;
|
|
1488
|
+
}
|
|
1489
|
+
function Pr(t, n) {
|
|
1490
|
+
var e, i;
|
|
1491
|
+
function r() {
|
|
1492
|
+
var u = n.apply(this, arguments);
|
|
1493
|
+
return u !== i && (e = (i = u) && Sr(t, u)), e;
|
|
1494
|
+
}
|
|
1495
|
+
return r._value = n, r;
|
|
1496
|
+
}
|
|
1497
|
+
function Tr(t, n) {
|
|
1498
|
+
var e = "attr." + t;
|
|
1499
|
+
if (arguments.length < 2) return (e = this.tween(e)) && e._value;
|
|
1500
|
+
if (n == null) return this.tween(e, null);
|
|
1501
|
+
if (typeof n != "function") throw new Error();
|
|
1502
|
+
var i = we(t);
|
|
1503
|
+
return this.tween(e, (i.local ? zr : Pr)(i, n));
|
|
1504
|
+
}
|
|
1505
|
+
function Ar(t, n) {
|
|
1506
|
+
return function() {
|
|
1507
|
+
Ln(this, t).delay = +n.apply(this, arguments);
|
|
1508
|
+
};
|
|
1509
|
+
}
|
|
1510
|
+
function Nr(t, n) {
|
|
1511
|
+
return n = +n, function() {
|
|
1512
|
+
Ln(this, t).delay = n;
|
|
1513
|
+
};
|
|
1514
|
+
}
|
|
1515
|
+
function Rr(t) {
|
|
1516
|
+
var n = this._id;
|
|
1517
|
+
return arguments.length ? this.each((typeof t == "function" ? Ar : Nr)(n, t)) : et(this.node(), n).delay;
|
|
1518
|
+
}
|
|
1519
|
+
function xr(t, n) {
|
|
1520
|
+
return function() {
|
|
1521
|
+
ot(this, t).duration = +n.apply(this, arguments);
|
|
1522
|
+
};
|
|
1523
|
+
}
|
|
1524
|
+
function Cr(t, n) {
|
|
1525
|
+
return n = +n, function() {
|
|
1526
|
+
ot(this, t).duration = n;
|
|
1527
|
+
};
|
|
1528
|
+
}
|
|
1529
|
+
function Ir(t) {
|
|
1530
|
+
var n = this._id;
|
|
1531
|
+
return arguments.length ? this.each((typeof t == "function" ? xr : Cr)(n, t)) : et(this.node(), n).duration;
|
|
1532
|
+
}
|
|
1533
|
+
function Fr(t, n) {
|
|
1534
|
+
if (typeof n != "function") throw new Error();
|
|
1535
|
+
return function() {
|
|
1536
|
+
ot(this, t).ease = n;
|
|
1537
|
+
};
|
|
1538
|
+
}
|
|
1539
|
+
function $r(t) {
|
|
1540
|
+
var n = this._id;
|
|
1541
|
+
return arguments.length ? this.each(Fr(n, t)) : et(this.node(), n).ease;
|
|
1542
|
+
}
|
|
1543
|
+
function Xr(t, n) {
|
|
1544
|
+
return function() {
|
|
1545
|
+
var e = n.apply(this, arguments);
|
|
1546
|
+
if (typeof e != "function") throw new Error();
|
|
1547
|
+
ot(this, t).ease = e;
|
|
1548
|
+
};
|
|
1549
|
+
}
|
|
1550
|
+
function kr(t) {
|
|
1551
|
+
if (typeof t != "function") throw new Error();
|
|
1552
|
+
return this.each(Xr(this._id, t));
|
|
1553
|
+
}
|
|
1554
|
+
function Dr(t) {
|
|
1555
|
+
typeof t != "function" && (t = ai(t));
|
|
1556
|
+
for (var n = this._groups, e = n.length, i = new Array(e), r = 0; r < e; ++r)
|
|
1557
|
+
for (var u = n[r], o = u.length, l = i[r] = [], p, s = 0; s < o; ++s)
|
|
1558
|
+
(p = u[s]) && t.call(p, p.__data__, s, u) && l.push(p);
|
|
1559
|
+
return new ft(i, this._parents, this._name, this._id);
|
|
1560
|
+
}
|
|
1561
|
+
function Gr(t) {
|
|
1562
|
+
if (t._id !== this._id) throw new Error();
|
|
1563
|
+
for (var n = this._groups, e = t._groups, i = n.length, r = e.length, u = Math.min(i, r), o = new Array(i), l = 0; l < u; ++l)
|
|
1564
|
+
for (var p = n[l], s = e[l], a = p.length, f = o[l] = new Array(a), c, h = 0; h < a; ++h)
|
|
1565
|
+
(c = p[h] || s[h]) && (f[h] = c);
|
|
1566
|
+
for (; l < i; ++l)
|
|
1567
|
+
o[l] = n[l];
|
|
1568
|
+
return new ft(o, this._parents, this._name, this._id);
|
|
1569
|
+
}
|
|
1570
|
+
function Lr(t) {
|
|
1571
|
+
return (t + "").trim().split(/^|\s+/).every(function(n) {
|
|
1572
|
+
var e = n.indexOf(".");
|
|
1573
|
+
return e >= 0 && (n = n.slice(0, e)), !n || n === "start";
|
|
1574
|
+
});
|
|
1575
|
+
}
|
|
1576
|
+
function Yr(t, n, e) {
|
|
1577
|
+
var i, r, u = Lr(n) ? Ln : ot;
|
|
1578
|
+
return function() {
|
|
1579
|
+
var o = u(this, t), l = o.on;
|
|
1580
|
+
l !== i && (r = (i = l).copy()).on(n, e), o.on = r;
|
|
1581
|
+
};
|
|
1582
|
+
}
|
|
1583
|
+
function Or(t, n) {
|
|
1584
|
+
var e = this._id;
|
|
1585
|
+
return arguments.length < 2 ? et(this.node(), e).on.on(t) : this.each(Yr(e, t, n));
|
|
1586
|
+
}
|
|
1587
|
+
function qr(t) {
|
|
1588
|
+
return function() {
|
|
1589
|
+
var n = this.parentNode;
|
|
1590
|
+
for (var e in this.__transition) if (+e !== t) return;
|
|
1591
|
+
n && n.removeChild(this);
|
|
1592
|
+
};
|
|
1593
|
+
}
|
|
1594
|
+
function Vr() {
|
|
1595
|
+
return this.on("end.remove", qr(this._id));
|
|
1596
|
+
}
|
|
1597
|
+
function Br(t) {
|
|
1598
|
+
var n = this._name, e = this._id;
|
|
1599
|
+
typeof t != "function" && (t = li(t));
|
|
1600
|
+
for (var i = this._groups, r = i.length, u = new Array(r), o = 0; o < r; ++o)
|
|
1601
|
+
for (var l = i[o], p = l.length, s = u[o] = new Array(p), a, f, c = 0; c < p; ++c)
|
|
1602
|
+
(a = l[c]) && (f = t.call(a, a.__data__, c, l)) && ("__data__" in a && (f.__data__ = a.__data__), s[c] = f, un(s[c], n, e, c, s, et(a, e)));
|
|
1603
|
+
return new ft(u, this._parents, n, e);
|
|
1604
|
+
}
|
|
1605
|
+
function Ur(t) {
|
|
1606
|
+
var n = this._name, e = this._id;
|
|
1607
|
+
typeof t != "function" && (t = ci(t));
|
|
1608
|
+
for (var i = this._groups, r = i.length, u = [], o = [], l = 0; l < r; ++l)
|
|
1609
|
+
for (var p = i[l], s = p.length, a, f = 0; f < s; ++f)
|
|
1610
|
+
if (a = p[f]) {
|
|
1611
|
+
for (var c = t.call(a, a.__data__, f, p), h, y = et(a, e), m = 0, _ = c.length; m < _; ++m)
|
|
1612
|
+
(h = c[m]) && un(h, n, e, m, c, y);
|
|
1613
|
+
u.push(c), o.push(a);
|
|
1614
|
+
}
|
|
1615
|
+
return new ft(u, o, n, e);
|
|
1616
|
+
}
|
|
1617
|
+
var Hr = rn.prototype.constructor;
|
|
1618
|
+
function Wr() {
|
|
1619
|
+
return new Hr(this._groups, this._parents);
|
|
1620
|
+
}
|
|
1621
|
+
function Zr(t, n) {
|
|
1622
|
+
var e, i, r;
|
|
1623
|
+
return function() {
|
|
1624
|
+
var u = It(this, t), o = (this.style.removeProperty(t), It(this, t));
|
|
1625
|
+
return u === o ? null : u === e && o === i ? r : r = n(e = u, i = o);
|
|
1626
|
+
};
|
|
1627
|
+
}
|
|
1628
|
+
function Ke(t) {
|
|
1629
|
+
return function() {
|
|
1630
|
+
this.style.removeProperty(t);
|
|
1631
|
+
};
|
|
1632
|
+
}
|
|
1633
|
+
function Kr(t, n, e) {
|
|
1634
|
+
var i, r = e + "", u;
|
|
1635
|
+
return function() {
|
|
1636
|
+
var o = It(this, t);
|
|
1637
|
+
return o === r ? null : o === i ? u : u = n(i = o, e);
|
|
1638
|
+
};
|
|
1639
|
+
}
|
|
1640
|
+
function Jr(t, n, e) {
|
|
1641
|
+
var i, r, u;
|
|
1642
|
+
return function() {
|
|
1643
|
+
var o = It(this, t), l = e(this), p = l + "";
|
|
1644
|
+
return l == null && (p = l = (this.style.removeProperty(t), It(this, t))), o === p ? null : o === i && p === r ? u : (r = p, u = n(i = o, l));
|
|
1645
|
+
};
|
|
1646
|
+
}
|
|
1647
|
+
function Qr(t, n) {
|
|
1648
|
+
var e, i, r, u = "style." + n, o = "end." + u, l;
|
|
1649
|
+
return function() {
|
|
1650
|
+
var p = ot(this, t), s = p.on, a = p.value[u] == null ? l || (l = Ke(n)) : void 0;
|
|
1651
|
+
(s !== e || r !== a) && (i = (e = s).copy()).on(o, r = a), p.on = i;
|
|
1652
|
+
};
|
|
1653
|
+
}
|
|
1654
|
+
function br(t, n, e) {
|
|
1655
|
+
var i = (t += "") == "transform" ? pi : Ze;
|
|
1656
|
+
return n == null ? this.styleTween(t, Zr(t, i)).on("end.style." + t, Ke(t)) : typeof n == "function" ? this.styleTween(t, Jr(t, i, Yn(this, "style." + t, n))).each(Qr(this._id, t)) : this.styleTween(t, Kr(t, i, n), e).on("end.style." + t, null);
|
|
1657
|
+
}
|
|
1658
|
+
function jr(t, n, e) {
|
|
1659
|
+
return function(i) {
|
|
1660
|
+
this.style.setProperty(t, n.call(this, i), e);
|
|
1661
|
+
};
|
|
1662
|
+
}
|
|
1663
|
+
function to(t, n, e) {
|
|
1664
|
+
var i, r;
|
|
1665
|
+
function u() {
|
|
1666
|
+
var o = n.apply(this, arguments);
|
|
1667
|
+
return o !== r && (i = (r = o) && jr(t, o, e)), i;
|
|
1668
|
+
}
|
|
1669
|
+
return u._value = n, u;
|
|
1670
|
+
}
|
|
1671
|
+
function no(t, n, e) {
|
|
1672
|
+
var i = "style." + (t += "");
|
|
1673
|
+
if (arguments.length < 2) return (i = this.tween(i)) && i._value;
|
|
1674
|
+
if (n == null) return this.tween(i, null);
|
|
1675
|
+
if (typeof n != "function") throw new Error();
|
|
1676
|
+
return this.tween(i, to(t, n, e ?? ""));
|
|
1677
|
+
}
|
|
1678
|
+
function eo(t) {
|
|
1679
|
+
return function() {
|
|
1680
|
+
this.textContent = t;
|
|
1681
|
+
};
|
|
1682
|
+
}
|
|
1683
|
+
function io(t) {
|
|
1684
|
+
return function() {
|
|
1685
|
+
var n = t(this);
|
|
1686
|
+
this.textContent = n ?? "";
|
|
1687
|
+
};
|
|
1688
|
+
}
|
|
1689
|
+
function ro(t) {
|
|
1690
|
+
return this.tween("text", typeof t == "function" ? io(Yn(this, "text", t)) : eo(t == null ? "" : t + ""));
|
|
1691
|
+
}
|
|
1692
|
+
function oo(t) {
|
|
1693
|
+
return function(n) {
|
|
1694
|
+
this.textContent = t.call(this, n);
|
|
1695
|
+
};
|
|
1696
|
+
}
|
|
1697
|
+
function uo(t) {
|
|
1698
|
+
var n, e;
|
|
1699
|
+
function i() {
|
|
1700
|
+
var r = t.apply(this, arguments);
|
|
1701
|
+
return r !== e && (n = (e = r) && oo(r)), n;
|
|
1702
|
+
}
|
|
1703
|
+
return i._value = t, i;
|
|
1704
|
+
}
|
|
1705
|
+
function ao(t) {
|
|
1706
|
+
var n = "text";
|
|
1707
|
+
if (arguments.length < 1) return (n = this.tween(n)) && n._value;
|
|
1708
|
+
if (t == null) return this.tween(n, null);
|
|
1709
|
+
if (typeof t != "function") throw new Error();
|
|
1710
|
+
return this.tween(n, uo(t));
|
|
1711
|
+
}
|
|
1712
|
+
function lo() {
|
|
1713
|
+
for (var t = this._name, n = this._id, e = Je(), i = this._groups, r = i.length, u = 0; u < r; ++u)
|
|
1714
|
+
for (var o = i[u], l = o.length, p, s = 0; s < l; ++s)
|
|
1715
|
+
if (p = o[s]) {
|
|
1716
|
+
var a = et(p, n);
|
|
1717
|
+
un(p, t, e, s, o, {
|
|
1718
|
+
time: a.time + a.delay + a.duration,
|
|
1719
|
+
delay: 0,
|
|
1720
|
+
duration: a.duration,
|
|
1721
|
+
ease: a.ease
|
|
1722
|
+
});
|
|
1723
|
+
}
|
|
1724
|
+
return new ft(i, this._parents, t, e);
|
|
1725
|
+
}
|
|
1726
|
+
function co() {
|
|
1727
|
+
var t, n, e = this, i = e._id, r = e.size();
|
|
1728
|
+
return new Promise(function(u, o) {
|
|
1729
|
+
var l = { value: o }, p = { value: function() {
|
|
1730
|
+
--r === 0 && u();
|
|
1731
|
+
} };
|
|
1732
|
+
e.each(function() {
|
|
1733
|
+
var s = ot(this, i), a = s.on;
|
|
1734
|
+
a !== t && (n = (t = a).copy(), n._.cancel.push(l), n._.interrupt.push(l), n._.end.push(p)), s.on = n;
|
|
1735
|
+
}), r === 0 && u();
|
|
1736
|
+
});
|
|
1737
|
+
}
|
|
1738
|
+
var so = 0;
|
|
1739
|
+
function ft(t, n, e, i) {
|
|
1740
|
+
this._groups = t, this._parents = n, this._name = e, this._id = i;
|
|
1741
|
+
}
|
|
1742
|
+
function Je() {
|
|
1743
|
+
return ++so;
|
|
1744
|
+
}
|
|
1745
|
+
var lt = rn.prototype;
|
|
1746
|
+
ft.prototype = {
|
|
1747
|
+
constructor: ft,
|
|
1748
|
+
select: Br,
|
|
1749
|
+
selectAll: Ur,
|
|
1750
|
+
selectChild: lt.selectChild,
|
|
1751
|
+
selectChildren: lt.selectChildren,
|
|
1752
|
+
filter: Dr,
|
|
1753
|
+
merge: Gr,
|
|
1754
|
+
selection: Wr,
|
|
1755
|
+
transition: lo,
|
|
1756
|
+
call: lt.call,
|
|
1757
|
+
nodes: lt.nodes,
|
|
1758
|
+
node: lt.node,
|
|
1759
|
+
size: lt.size,
|
|
1760
|
+
empty: lt.empty,
|
|
1761
|
+
each: lt.each,
|
|
1762
|
+
on: Or,
|
|
1763
|
+
attr: Er,
|
|
1764
|
+
attrTween: Tr,
|
|
1765
|
+
style: br,
|
|
1766
|
+
styleTween: no,
|
|
1767
|
+
text: ro,
|
|
1768
|
+
textTween: ao,
|
|
1769
|
+
remove: Vr,
|
|
1770
|
+
tween: vr,
|
|
1771
|
+
delay: Rr,
|
|
1772
|
+
duration: Ir,
|
|
1773
|
+
ease: $r,
|
|
1774
|
+
easeVarying: kr,
|
|
1775
|
+
end: co,
|
|
1776
|
+
[Symbol.iterator]: lt[Symbol.iterator]
|
|
1777
|
+
};
|
|
1778
|
+
function fo(t) {
|
|
1779
|
+
return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;
|
|
1780
|
+
}
|
|
1781
|
+
var ho = {
|
|
1782
|
+
time: null,
|
|
1783
|
+
// Set on use.
|
|
1784
|
+
delay: 0,
|
|
1785
|
+
duration: 250,
|
|
1786
|
+
ease: fo
|
|
1787
|
+
};
|
|
1788
|
+
function po(t, n) {
|
|
1789
|
+
for (var e; !(e = t.__transition) || !(e = e[n]); )
|
|
1790
|
+
if (!(t = t.parentNode))
|
|
1791
|
+
throw new Error(`transition ${n} not found`);
|
|
1792
|
+
return e;
|
|
1793
|
+
}
|
|
1794
|
+
function vo(t) {
|
|
1795
|
+
var n, e;
|
|
1796
|
+
t instanceof ft ? (n = t._id, t = t._name) : (n = Je(), (e = ho).time = oi(), t = t == null ? null : t + "");
|
|
1797
|
+
for (var i = this._groups, r = i.length, u = 0; u < r; ++u)
|
|
1798
|
+
for (var o = i[u], l = o.length, p, s = 0; s < l; ++s)
|
|
1799
|
+
(p = o[s]) && un(p, t, n, s, o, e || po(p, n));
|
|
1800
|
+
return new ft(i, this._parents, t, n);
|
|
1801
|
+
}
|
|
1802
|
+
rn.prototype.interrupt = fr;
|
|
1803
|
+
rn.prototype.transition = vo;
|
|
1804
|
+
const Yt = (t) => () => t;
|
|
1805
|
+
function go(t, {
|
|
1806
|
+
sourceEvent: n,
|
|
1807
|
+
target: e,
|
|
1808
|
+
transform: i,
|
|
1809
|
+
dispatch: r
|
|
1810
|
+
}) {
|
|
1811
|
+
Object.defineProperties(this, {
|
|
1812
|
+
type: { value: t, enumerable: !0, configurable: !0 },
|
|
1813
|
+
sourceEvent: { value: n, enumerable: !0, configurable: !0 },
|
|
1814
|
+
target: { value: e, enumerable: !0, configurable: !0 },
|
|
1815
|
+
transform: { value: i, enumerable: !0, configurable: !0 },
|
|
1816
|
+
_: { value: r }
|
|
1817
|
+
});
|
|
1818
|
+
}
|
|
1819
|
+
function st(t, n, e) {
|
|
1820
|
+
this.k = t, this.x = n, this.y = e;
|
|
1821
|
+
}
|
|
1822
|
+
st.prototype = {
|
|
1823
|
+
constructor: st,
|
|
1824
|
+
scale: function(t) {
|
|
1825
|
+
return t === 1 ? this : new st(this.k * t, this.x, this.y);
|
|
1826
|
+
},
|
|
1827
|
+
translate: function(t, n) {
|
|
1828
|
+
return t === 0 & n === 0 ? this : new st(this.k, this.x + this.k * t, this.y + this.k * n);
|
|
1829
|
+
},
|
|
1830
|
+
apply: function(t) {
|
|
1831
|
+
return [t[0] * this.k + this.x, t[1] * this.k + this.y];
|
|
1832
|
+
},
|
|
1833
|
+
applyX: function(t) {
|
|
1834
|
+
return t * this.k + this.x;
|
|
1835
|
+
},
|
|
1836
|
+
applyY: function(t) {
|
|
1837
|
+
return t * this.k + this.y;
|
|
1838
|
+
},
|
|
1839
|
+
invert: function(t) {
|
|
1840
|
+
return [(t[0] - this.x) / this.k, (t[1] - this.y) / this.k];
|
|
1841
|
+
},
|
|
1842
|
+
invertX: function(t) {
|
|
1843
|
+
return (t - this.x) / this.k;
|
|
1844
|
+
},
|
|
1845
|
+
invertY: function(t) {
|
|
1846
|
+
return (t - this.y) / this.k;
|
|
1847
|
+
},
|
|
1848
|
+
rescaleX: function(t) {
|
|
1849
|
+
return t.copy().domain(t.range().map(this.invertX, this).map(t.invert, t));
|
|
1850
|
+
},
|
|
1851
|
+
rescaleY: function(t) {
|
|
1852
|
+
return t.copy().domain(t.range().map(this.invertY, this).map(t.invert, t));
|
|
1853
|
+
},
|
|
1854
|
+
toString: function() {
|
|
1855
|
+
return "translate(" + this.x + "," + this.y + ") scale(" + this.k + ")";
|
|
1856
|
+
}
|
|
1857
|
+
};
|
|
1858
|
+
var Qe = new st(1, 0, 0);
|
|
1859
|
+
st.prototype;
|
|
1860
|
+
function hn(t) {
|
|
1861
|
+
t.stopImmediatePropagation();
|
|
1862
|
+
}
|
|
1863
|
+
function St(t) {
|
|
1864
|
+
t.preventDefault(), t.stopImmediatePropagation();
|
|
1865
|
+
}
|
|
1866
|
+
function yo(t) {
|
|
1867
|
+
return (!t.ctrlKey || t.type === "wheel") && !t.button;
|
|
1868
|
+
}
|
|
1869
|
+
function mo() {
|
|
1870
|
+
var t = this;
|
|
1871
|
+
return t instanceof SVGElement ? (t = t.ownerSVGElement || t, t.hasAttribute("viewBox") ? (t = t.viewBox.baseVal, [[t.x, t.y], [t.x + t.width, t.y + t.height]]) : [[0, 0], [t.width.baseVal.value, t.height.baseVal.value]]) : [[0, 0], [t.clientWidth, t.clientHeight]];
|
|
1872
|
+
}
|
|
1873
|
+
function ve() {
|
|
1874
|
+
return this.__zoom || Qe;
|
|
1875
|
+
}
|
|
1876
|
+
function wo(t) {
|
|
1877
|
+
return -t.deltaY * (t.deltaMode === 1 ? 0.05 : t.deltaMode ? 1 : 2e-3) * (t.ctrlKey ? 10 : 1);
|
|
1878
|
+
}
|
|
1879
|
+
function _o() {
|
|
1880
|
+
return navigator.maxTouchPoints || "ontouchstart" in this;
|
|
1881
|
+
}
|
|
1882
|
+
function Eo(t, n, e) {
|
|
1883
|
+
var i = t.invertX(n[0][0]) - e[0][0], r = t.invertX(n[1][0]) - e[1][0], u = t.invertY(n[0][1]) - e[0][1], o = t.invertY(n[1][1]) - e[1][1];
|
|
1884
|
+
return t.translate(
|
|
1885
|
+
r > i ? (i + r) / 2 : Math.min(0, i) || Math.max(0, r),
|
|
1886
|
+
o > u ? (u + o) / 2 : Math.min(0, u) || Math.max(0, o)
|
|
1887
|
+
);
|
|
1888
|
+
}
|
|
1889
|
+
function Yo() {
|
|
1890
|
+
var t = yo, n = mo, e = Eo, i = wo, r = _o, u = [0, 1 / 0], o = [[-1 / 0, -1 / 0], [1 / 0, 1 / 0]], l = 250, p = mi, s = me("start", "zoom", "end"), a, f, c, h = 500, y = 150, m = 0, _ = 10;
|
|
1891
|
+
function w(v) {
|
|
1892
|
+
v.property("__zoom", ve).on("wheel.zoom", F, { passive: !1 }).on("mousedown.zoom", $).on("dblclick.zoom", G).filter(r).on("touchstart.zoom", R).on("touchmove.zoom", W).on("touchend.zoom touchcancel.zoom", q).style("-webkit-tap-highlight-color", "rgba(0,0,0,0)");
|
|
1893
|
+
}
|
|
1894
|
+
w.transform = function(v, g, d, E) {
|
|
1895
|
+
var z = v.selection ? v.selection() : v;
|
|
1896
|
+
z.property("__zoom", ve), v !== z ? N(v, g, d, E) : z.interrupt().each(function() {
|
|
1897
|
+
T(this, arguments).event(E).start().zoom(null, typeof g == "function" ? g.apply(this, arguments) : g).end();
|
|
1898
|
+
});
|
|
1899
|
+
}, w.scaleBy = function(v, g, d, E) {
|
|
1900
|
+
w.scaleTo(v, function() {
|
|
1901
|
+
var z = this.__zoom.k, A = typeof g == "function" ? g.apply(this, arguments) : g;
|
|
1902
|
+
return z * A;
|
|
1903
|
+
}, d, E);
|
|
1904
|
+
}, w.scaleTo = function(v, g, d, E) {
|
|
1905
|
+
w.transform(v, function() {
|
|
1906
|
+
var z = n.apply(this, arguments), A = this.__zoom, x = d == null ? S(z) : typeof d == "function" ? d.apply(this, arguments) : d, X = A.invert(x), L = typeof g == "function" ? g.apply(this, arguments) : g;
|
|
1907
|
+
return e(P(M(A, L), x, X), z, o);
|
|
1908
|
+
}, d, E);
|
|
1909
|
+
}, w.translateBy = function(v, g, d, E) {
|
|
1910
|
+
w.transform(v, function() {
|
|
1911
|
+
return e(this.__zoom.translate(
|
|
1912
|
+
typeof g == "function" ? g.apply(this, arguments) : g,
|
|
1913
|
+
typeof d == "function" ? d.apply(this, arguments) : d
|
|
1914
|
+
), n.apply(this, arguments), o);
|
|
1915
|
+
}, null, E);
|
|
1916
|
+
}, w.translateTo = function(v, g, d, E, z) {
|
|
1917
|
+
w.transform(v, function() {
|
|
1918
|
+
var A = n.apply(this, arguments), x = this.__zoom, X = E == null ? S(A) : typeof E == "function" ? E.apply(this, arguments) : E;
|
|
1919
|
+
return e(Qe.translate(X[0], X[1]).scale(x.k).translate(
|
|
1920
|
+
typeof g == "function" ? -g.apply(this, arguments) : -g,
|
|
1921
|
+
typeof d == "function" ? -d.apply(this, arguments) : -d
|
|
1922
|
+
), A, o);
|
|
1923
|
+
}, E, z);
|
|
1924
|
+
};
|
|
1925
|
+
function M(v, g) {
|
|
1926
|
+
return g = Math.max(u[0], Math.min(u[1], g)), g === v.k ? v : new st(g, v.x, v.y);
|
|
1927
|
+
}
|
|
1928
|
+
function P(v, g, d) {
|
|
1929
|
+
var E = g[0] - d[0] * v.k, z = g[1] - d[1] * v.k;
|
|
1930
|
+
return E === v.x && z === v.y ? v : new st(v.k, E, z);
|
|
1931
|
+
}
|
|
1932
|
+
function S(v) {
|
|
1933
|
+
return [(+v[0][0] + +v[1][0]) / 2, (+v[0][1] + +v[1][1]) / 2];
|
|
1934
|
+
}
|
|
1935
|
+
function N(v, g, d, E) {
|
|
1936
|
+
v.on("start.zoom", function() {
|
|
1937
|
+
T(this, arguments).event(E).start();
|
|
1938
|
+
}).on("interrupt.zoom end.zoom", function() {
|
|
1939
|
+
T(this, arguments).event(E).end();
|
|
1940
|
+
}).tween("zoom", function() {
|
|
1941
|
+
var z = this, A = arguments, x = T(z, A).event(E), X = n.apply(z, A), L = d == null ? S(X) : typeof d == "function" ? d.apply(z, A) : d, U = Math.max(X[1][0] - X[0][0], X[1][1] - X[0][1]), V = z.__zoom, H = typeof g == "function" ? g.apply(z, A) : g, ut = p(V.invert(L).concat(U / V.k), H.invert(L).concat(U / H.k));
|
|
1942
|
+
return function(j) {
|
|
1943
|
+
if (j === 1) j = H;
|
|
1944
|
+
else {
|
|
1945
|
+
var at = ut(j), an = U / at[2];
|
|
1946
|
+
j = new st(an, L[0] - at[0] * an, L[1] - at[1] * an);
|
|
1947
|
+
}
|
|
1948
|
+
x.zoom(null, j);
|
|
1949
|
+
};
|
|
1950
|
+
});
|
|
1951
|
+
}
|
|
1952
|
+
function T(v, g, d) {
|
|
1953
|
+
return !d && v.__zooming || new I(v, g);
|
|
1954
|
+
}
|
|
1955
|
+
function I(v, g) {
|
|
1956
|
+
this.that = v, this.args = g, this.active = 0, this.sourceEvent = null, this.extent = n.apply(v, g), this.taps = 0;
|
|
1957
|
+
}
|
|
1958
|
+
I.prototype = {
|
|
1959
|
+
event: function(v) {
|
|
1960
|
+
return v && (this.sourceEvent = v), this;
|
|
1961
|
+
},
|
|
1962
|
+
start: function() {
|
|
1963
|
+
return ++this.active === 1 && (this.that.__zooming = this, this.emit("start")), this;
|
|
1964
|
+
},
|
|
1965
|
+
zoom: function(v, g) {
|
|
1966
|
+
return this.mouse && v !== "mouse" && (this.mouse[1] = g.invert(this.mouse[0])), this.touch0 && v !== "touch" && (this.touch0[1] = g.invert(this.touch0[0])), this.touch1 && v !== "touch" && (this.touch1[1] = g.invert(this.touch1[0])), this.that.__zoom = g, this.emit("zoom"), this;
|
|
1967
|
+
},
|
|
1968
|
+
end: function() {
|
|
1969
|
+
return --this.active === 0 && (delete this.that.__zooming, this.emit("end")), this;
|
|
1970
|
+
},
|
|
1971
|
+
emit: function(v) {
|
|
1972
|
+
var g = vt(this.that).datum();
|
|
1973
|
+
s.call(
|
|
1974
|
+
v,
|
|
1975
|
+
this.that,
|
|
1976
|
+
new go(v, {
|
|
1977
|
+
sourceEvent: this.sourceEvent,
|
|
1978
|
+
target: w,
|
|
1979
|
+
transform: this.that.__zoom,
|
|
1980
|
+
dispatch: s
|
|
1981
|
+
}),
|
|
1982
|
+
g
|
|
1983
|
+
);
|
|
1984
|
+
}
|
|
1985
|
+
};
|
|
1986
|
+
function F(v, ...g) {
|
|
1987
|
+
if (!t.apply(this, arguments)) return;
|
|
1988
|
+
var d = T(this, g).event(v), E = this.__zoom, z = Math.max(u[0], Math.min(u[1], E.k * Math.pow(2, i.apply(this, arguments)))), A = ht(v);
|
|
1989
|
+
if (d.wheel)
|
|
1990
|
+
(d.mouse[0][0] !== A[0] || d.mouse[0][1] !== A[1]) && (d.mouse[1] = E.invert(d.mouse[0] = A)), clearTimeout(d.wheel);
|
|
1991
|
+
else {
|
|
1992
|
+
if (E.k === z) return;
|
|
1993
|
+
d.mouse = [A, E.invert(A)], Ht(this), d.start();
|
|
1994
|
+
}
|
|
1995
|
+
St(v), d.wheel = setTimeout(x, y), d.zoom("mouse", e(P(M(E, z), d.mouse[0], d.mouse[1]), d.extent, o));
|
|
1996
|
+
function x() {
|
|
1997
|
+
d.wheel = null, d.end();
|
|
1998
|
+
}
|
|
1999
|
+
}
|
|
2000
|
+
function $(v, ...g) {
|
|
2001
|
+
if (c || !t.apply(this, arguments)) return;
|
|
2002
|
+
var d = v.currentTarget, E = T(this, g, !0).event(v), z = vt(v.view).on("mousemove.zoom", L, !0).on("mouseup.zoom", U, !0), A = ht(v, d), x = v.clientX, X = v.clientY;
|
|
2003
|
+
ur(v.view), hn(v), E.mouse = [A, this.__zoom.invert(A)], Ht(this), E.start();
|
|
2004
|
+
function L(V) {
|
|
2005
|
+
if (St(V), !E.moved) {
|
|
2006
|
+
var H = V.clientX - x, ut = V.clientY - X;
|
|
2007
|
+
E.moved = H * H + ut * ut > m;
|
|
2008
|
+
}
|
|
2009
|
+
E.event(V).zoom("mouse", e(P(E.that.__zoom, E.mouse[0] = ht(V, d), E.mouse[1]), E.extent, o));
|
|
2010
|
+
}
|
|
2011
|
+
function U(V) {
|
|
2012
|
+
z.on("mousemove.zoom mouseup.zoom", null), ar(V.view, E.moved), St(V), E.event(V).end();
|
|
2013
|
+
}
|
|
2014
|
+
}
|
|
2015
|
+
function G(v, ...g) {
|
|
2016
|
+
if (t.apply(this, arguments)) {
|
|
2017
|
+
var d = this.__zoom, E = ht(v.changedTouches ? v.changedTouches[0] : v, this), z = d.invert(E), A = d.k * (v.shiftKey ? 0.5 : 2), x = e(P(M(d, A), E, z), n.apply(this, g), o);
|
|
2018
|
+
St(v), l > 0 ? vt(this).transition().duration(l).call(N, x, E, v) : vt(this).call(w.transform, x, E, v);
|
|
2019
|
+
}
|
|
2020
|
+
}
|
|
2021
|
+
function R(v, ...g) {
|
|
2022
|
+
if (t.apply(this, arguments)) {
|
|
2023
|
+
var d = v.touches, E = d.length, z = T(this, g, v.changedTouches.length === E).event(v), A, x, X, L;
|
|
2024
|
+
for (hn(v), x = 0; x < E; ++x)
|
|
2025
|
+
X = d[x], L = ht(X, this), L = [L, this.__zoom.invert(L), X.identifier], z.touch0 ? !z.touch1 && z.touch0[2] !== L[2] && (z.touch1 = L, z.taps = 0) : (z.touch0 = L, A = !0, z.taps = 1 + !!a);
|
|
2026
|
+
a && (a = clearTimeout(a)), A && (z.taps < 2 && (f = L[0], a = setTimeout(function() {
|
|
2027
|
+
a = null;
|
|
2028
|
+
}, h)), Ht(this), z.start());
|
|
2029
|
+
}
|
|
2030
|
+
}
|
|
2031
|
+
function W(v, ...g) {
|
|
2032
|
+
if (this.__zooming) {
|
|
2033
|
+
var d = T(this, g).event(v), E = v.changedTouches, z = E.length, A, x, X, L;
|
|
2034
|
+
for (St(v), A = 0; A < z; ++A)
|
|
2035
|
+
x = E[A], X = ht(x, this), d.touch0 && d.touch0[2] === x.identifier ? d.touch0[0] = X : d.touch1 && d.touch1[2] === x.identifier && (d.touch1[0] = X);
|
|
2036
|
+
if (x = d.that.__zoom, d.touch1) {
|
|
2037
|
+
var U = d.touch0[0], V = d.touch0[1], H = d.touch1[0], ut = d.touch1[1], j = (j = H[0] - U[0]) * j + (j = H[1] - U[1]) * j, at = (at = ut[0] - V[0]) * at + (at = ut[1] - V[1]) * at;
|
|
2038
|
+
x = M(x, Math.sqrt(j / at)), X = [(U[0] + H[0]) / 2, (U[1] + H[1]) / 2], L = [(V[0] + ut[0]) / 2, (V[1] + ut[1]) / 2];
|
|
2039
|
+
} else if (d.touch0) X = d.touch0[0], L = d.touch0[1];
|
|
2040
|
+
else return;
|
|
2041
|
+
d.zoom("touch", e(P(x, X, L), d.extent, o));
|
|
2042
|
+
}
|
|
2043
|
+
}
|
|
2044
|
+
function q(v, ...g) {
|
|
2045
|
+
if (this.__zooming) {
|
|
2046
|
+
var d = T(this, g).event(v), E = v.changedTouches, z = E.length, A, x;
|
|
2047
|
+
for (hn(v), c && clearTimeout(c), c = setTimeout(function() {
|
|
2048
|
+
c = null;
|
|
2049
|
+
}, h), A = 0; A < z; ++A)
|
|
2050
|
+
x = E[A], d.touch0 && d.touch0[2] === x.identifier ? delete d.touch0 : d.touch1 && d.touch1[2] === x.identifier && delete d.touch1;
|
|
2051
|
+
if (d.touch1 && !d.touch0 && (d.touch0 = d.touch1, delete d.touch1), d.touch0) d.touch0[1] = this.__zoom.invert(d.touch0[0]);
|
|
2052
|
+
else if (d.end(), d.taps === 2 && (x = ht(x, this), Math.hypot(f[0] - x[0], f[1] - x[1]) < _)) {
|
|
2053
|
+
var X = vt(this).on("dblclick.zoom");
|
|
2054
|
+
X && X.apply(this, arguments);
|
|
2055
|
+
}
|
|
2056
|
+
}
|
|
2057
|
+
}
|
|
2058
|
+
return w.wheelDelta = function(v) {
|
|
2059
|
+
return arguments.length ? (i = typeof v == "function" ? v : Yt(+v), w) : i;
|
|
2060
|
+
}, w.filter = function(v) {
|
|
2061
|
+
return arguments.length ? (t = typeof v == "function" ? v : Yt(!!v), w) : t;
|
|
2062
|
+
}, w.touchable = function(v) {
|
|
2063
|
+
return arguments.length ? (r = typeof v == "function" ? v : Yt(!!v), w) : r;
|
|
2064
|
+
}, w.extent = function(v) {
|
|
2065
|
+
return arguments.length ? (n = typeof v == "function" ? v : Yt([[+v[0][0], +v[0][1]], [+v[1][0], +v[1][1]]]), w) : n;
|
|
2066
|
+
}, w.scaleExtent = function(v) {
|
|
2067
|
+
return arguments.length ? (u[0] = +v[0], u[1] = +v[1], w) : [u[0], u[1]];
|
|
2068
|
+
}, w.translateExtent = function(v) {
|
|
2069
|
+
return arguments.length ? (o[0][0] = +v[0][0], o[1][0] = +v[1][0], o[0][1] = +v[0][1], o[1][1] = +v[1][1], w) : [[o[0][0], o[0][1]], [o[1][0], o[1][1]]];
|
|
2070
|
+
}, w.constrain = function(v) {
|
|
2071
|
+
return arguments.length ? (e = v, w) : e;
|
|
2072
|
+
}, w.duration = function(v) {
|
|
2073
|
+
return arguments.length ? (l = +v, w) : l;
|
|
2074
|
+
}, w.interpolate = function(v) {
|
|
2075
|
+
return arguments.length ? (p = v, w) : p;
|
|
2076
|
+
}, w.on = function() {
|
|
2077
|
+
var v = s.on.apply(s, arguments);
|
|
2078
|
+
return v === s ? w : v;
|
|
2079
|
+
}, w.clickDistance = function(v) {
|
|
2080
|
+
return arguments.length ? (m = (v = +v) * v, w) : Math.sqrt(m);
|
|
2081
|
+
}, w.tapDistance = function(v) {
|
|
2082
|
+
return arguments.length ? (_ = +v, w) : _;
|
|
2083
|
+
}, w;
|
|
2084
|
+
}
|
|
2085
|
+
function So(t) {
|
|
2086
|
+
if (!t)
|
|
2087
|
+
throw new Error("geojson is required");
|
|
2088
|
+
switch (t.type) {
|
|
2089
|
+
case "Feature":
|
|
2090
|
+
return be(t);
|
|
2091
|
+
case "FeatureCollection":
|
|
2092
|
+
return Mo(t);
|
|
2093
|
+
case "Point":
|
|
2094
|
+
case "LineString":
|
|
2095
|
+
case "Polygon":
|
|
2096
|
+
case "MultiPoint":
|
|
2097
|
+
case "MultiLineString":
|
|
2098
|
+
case "MultiPolygon":
|
|
2099
|
+
case "GeometryCollection":
|
|
2100
|
+
return On(t);
|
|
2101
|
+
default:
|
|
2102
|
+
throw new Error("unknown GeoJSON type");
|
|
2103
|
+
}
|
|
2104
|
+
}
|
|
2105
|
+
function be(t) {
|
|
2106
|
+
const n = { type: "Feature" };
|
|
2107
|
+
return Object.keys(t).forEach((e) => {
|
|
2108
|
+
switch (e) {
|
|
2109
|
+
case "type":
|
|
2110
|
+
case "properties":
|
|
2111
|
+
case "geometry":
|
|
2112
|
+
return;
|
|
2113
|
+
default:
|
|
2114
|
+
n[e] = t[e];
|
|
2115
|
+
}
|
|
2116
|
+
}), n.properties = je(t.properties), t.geometry == null ? n.geometry = null : n.geometry = On(t.geometry), n;
|
|
2117
|
+
}
|
|
2118
|
+
function je(t) {
|
|
2119
|
+
const n = {};
|
|
2120
|
+
return t && Object.keys(t).forEach((e) => {
|
|
2121
|
+
const i = t[e];
|
|
2122
|
+
typeof i == "object" ? i === null ? n[e] = null : Array.isArray(i) ? n[e] = i.map((r) => r) : n[e] = je(i) : n[e] = i;
|
|
2123
|
+
}), n;
|
|
2124
|
+
}
|
|
2125
|
+
function Mo(t) {
|
|
2126
|
+
const n = { type: "FeatureCollection" };
|
|
2127
|
+
return Object.keys(t).forEach((e) => {
|
|
2128
|
+
switch (e) {
|
|
2129
|
+
case "type":
|
|
2130
|
+
case "features":
|
|
2131
|
+
return;
|
|
2132
|
+
default:
|
|
2133
|
+
n[e] = t[e];
|
|
2134
|
+
}
|
|
2135
|
+
}), n.features = t.features.map((e) => be(e)), n;
|
|
2136
|
+
}
|
|
2137
|
+
function On(t) {
|
|
2138
|
+
const n = { type: t.type };
|
|
2139
|
+
return t.bbox && (n.bbox = t.bbox), t.type === "GeometryCollection" ? (n.geometries = t.geometries.map((e) => On(e)), n) : (n.coordinates = ti(t.coordinates), n);
|
|
2140
|
+
}
|
|
2141
|
+
function ti(t) {
|
|
2142
|
+
const n = t;
|
|
2143
|
+
return typeof n[0] != "object" ? n.slice() : n.map((e) => ti(e));
|
|
2144
|
+
}
|
|
2145
|
+
function zo(t) {
|
|
2146
|
+
if (Array.isArray(t))
|
|
2147
|
+
return t;
|
|
2148
|
+
if (t.type === "Feature") {
|
|
2149
|
+
if (t.geometry !== null)
|
|
2150
|
+
return t.geometry.coordinates;
|
|
2151
|
+
} else if (t.coordinates)
|
|
2152
|
+
return t.coordinates;
|
|
2153
|
+
throw new Error(
|
|
2154
|
+
"coords must be GeoJSON Feature, Geometry Object or an Array"
|
|
2155
|
+
);
|
|
2156
|
+
}
|
|
2157
|
+
function $n(t) {
|
|
2158
|
+
const n = zo(t);
|
|
2159
|
+
let e = 0, i = 1, r, u;
|
|
2160
|
+
for (; i < n.length; )
|
|
2161
|
+
r = u || n[0], u = n[i], e += (u[0] - r[0]) * (u[1] + r[1]), i++;
|
|
2162
|
+
return e > 0;
|
|
2163
|
+
}
|
|
2164
|
+
function Po(t, n = {}) {
|
|
2165
|
+
const e = { type: "FeatureCollection" };
|
|
2166
|
+
return n.id && (e.id = n.id), n.bbox && (e.bbox = n.bbox), e.features = t, e;
|
|
2167
|
+
}
|
|
2168
|
+
function To(t) {
|
|
2169
|
+
return t !== null && typeof t == "object" && !Array.isArray(t);
|
|
2170
|
+
}
|
|
2171
|
+
function ge(t, n) {
|
|
2172
|
+
if (t.type === "Feature")
|
|
2173
|
+
n(t, 0);
|
|
2174
|
+
else if (t.type === "FeatureCollection")
|
|
2175
|
+
for (var e = 0; e < t.features.length && n(t.features[e], e) !== !1; e++)
|
|
2176
|
+
;
|
|
2177
|
+
}
|
|
2178
|
+
function ni(t, n) {
|
|
2179
|
+
var e, i, r, u, o, l, p, s, a, f, c = 0, h = t.type === "FeatureCollection", y = t.type === "Feature", m = h ? t.features.length : 1;
|
|
2180
|
+
for (e = 0; e < m; e++) {
|
|
2181
|
+
for (l = h ? (
|
|
2182
|
+
// @ts-expect-error: Known type conflict
|
|
2183
|
+
t.features[e].geometry
|
|
2184
|
+
) : y ? (
|
|
2185
|
+
// @ts-expect-error: Known type conflict
|
|
2186
|
+
t.geometry
|
|
2187
|
+
) : t, s = h ? (
|
|
2188
|
+
// @ts-expect-error: Known type conflict
|
|
2189
|
+
t.features[e].properties
|
|
2190
|
+
) : y ? (
|
|
2191
|
+
// @ts-expect-error: Known type conflict
|
|
2192
|
+
t.properties
|
|
2193
|
+
) : {}, a = h ? (
|
|
2194
|
+
// @ts-expect-error: Known type conflict
|
|
2195
|
+
t.features[e].bbox
|
|
2196
|
+
) : y ? (
|
|
2197
|
+
// @ts-expect-error: Known type conflict
|
|
2198
|
+
t.bbox
|
|
2199
|
+
) : void 0, f = h ? (
|
|
2200
|
+
// @ts-expect-error: Known type conflict
|
|
2201
|
+
t.features[e].id
|
|
2202
|
+
) : y ? (
|
|
2203
|
+
// @ts-expect-error: Known type conflict
|
|
2204
|
+
t.id
|
|
2205
|
+
) : void 0, p = l ? l.type === "GeometryCollection" : !1, o = p ? l.geometries.length : 1, r = 0; r < o; r++) {
|
|
2206
|
+
if (u = p ? l.geometries[r] : l, u === null) {
|
|
2207
|
+
if (
|
|
2208
|
+
// @ts-expect-error: Known type conflict
|
|
2209
|
+
n(
|
|
2210
|
+
// @ts-expect-error: Known type conflict
|
|
2211
|
+
null,
|
|
2212
|
+
c,
|
|
2213
|
+
s,
|
|
2214
|
+
a,
|
|
2215
|
+
f
|
|
2216
|
+
) === !1
|
|
2217
|
+
)
|
|
2218
|
+
return !1;
|
|
2219
|
+
continue;
|
|
2220
|
+
}
|
|
2221
|
+
switch (u.type) {
|
|
2222
|
+
case "Point":
|
|
2223
|
+
case "LineString":
|
|
2224
|
+
case "MultiPoint":
|
|
2225
|
+
case "Polygon":
|
|
2226
|
+
case "MultiLineString":
|
|
2227
|
+
case "MultiPolygon": {
|
|
2228
|
+
if (
|
|
2229
|
+
// @ts-expect-error: Known type conflict
|
|
2230
|
+
n(
|
|
2231
|
+
u,
|
|
2232
|
+
c,
|
|
2233
|
+
s,
|
|
2234
|
+
a,
|
|
2235
|
+
f
|
|
2236
|
+
) === !1
|
|
2237
|
+
)
|
|
2238
|
+
return !1;
|
|
2239
|
+
break;
|
|
2240
|
+
}
|
|
2241
|
+
case "GeometryCollection": {
|
|
2242
|
+
for (i = 0; i < u.geometries.length; i++)
|
|
2243
|
+
if (
|
|
2244
|
+
// @ts-expect-error: Known type conflict
|
|
2245
|
+
n(
|
|
2246
|
+
u.geometries[i],
|
|
2247
|
+
c,
|
|
2248
|
+
s,
|
|
2249
|
+
a,
|
|
2250
|
+
f
|
|
2251
|
+
) === !1
|
|
2252
|
+
)
|
|
2253
|
+
return !1;
|
|
2254
|
+
break;
|
|
2255
|
+
}
|
|
2256
|
+
default:
|
|
2257
|
+
throw new Error("Unknown Geometry Type");
|
|
2258
|
+
}
|
|
2259
|
+
}
|
|
2260
|
+
c++;
|
|
2261
|
+
}
|
|
2262
|
+
}
|
|
2263
|
+
function Ot(t) {
|
|
2264
|
+
if (Array.isArray(t))
|
|
2265
|
+
return t;
|
|
2266
|
+
if (t.type === "Feature") {
|
|
2267
|
+
if (t.geometry !== null)
|
|
2268
|
+
return t.geometry.coordinates;
|
|
2269
|
+
} else if (t.coordinates)
|
|
2270
|
+
return t.coordinates;
|
|
2271
|
+
throw new Error(
|
|
2272
|
+
"coords must be GeoJSON Feature, Geometry Object or an Array"
|
|
2273
|
+
);
|
|
2274
|
+
}
|
|
2275
|
+
function Ao(t, n = {}) {
|
|
2276
|
+
var e, i;
|
|
2277
|
+
if (n = n || {}, !To(n)) throw new Error("options is invalid");
|
|
2278
|
+
const r = (e = n.mutate) != null ? e : !1, u = (i = n.reverse) != null ? i : !1;
|
|
2279
|
+
if (!t) throw new Error("<geojson> is required");
|
|
2280
|
+
if (typeof u != "boolean")
|
|
2281
|
+
throw new Error("<reverse> must be a boolean");
|
|
2282
|
+
if (typeof r != "boolean")
|
|
2283
|
+
throw new Error("<mutate> must be a boolean");
|
|
2284
|
+
!r && t.type !== "Point" && t.type !== "MultiPoint" && (t = So(t));
|
|
2285
|
+
const o = [];
|
|
2286
|
+
switch (t.type) {
|
|
2287
|
+
case "GeometryCollection":
|
|
2288
|
+
return ni(t, function(l) {
|
|
2289
|
+
Wt(l, u);
|
|
2290
|
+
}), t;
|
|
2291
|
+
case "FeatureCollection":
|
|
2292
|
+
return ge(t, function(l) {
|
|
2293
|
+
const p = Wt(l, u);
|
|
2294
|
+
ge(p, function(s) {
|
|
2295
|
+
o.push(s);
|
|
2296
|
+
});
|
|
2297
|
+
}), Po(o);
|
|
2298
|
+
}
|
|
2299
|
+
return Wt(t, u);
|
|
2300
|
+
}
|
|
2301
|
+
function Wt(t, n) {
|
|
2302
|
+
switch (t.type === "Feature" ? t.geometry.type : t.type) {
|
|
2303
|
+
case "GeometryCollection":
|
|
2304
|
+
return ni(t, function(i) {
|
|
2305
|
+
Wt(i, n);
|
|
2306
|
+
}), t;
|
|
2307
|
+
case "LineString":
|
|
2308
|
+
return de(Ot(t), n), t;
|
|
2309
|
+
case "Polygon":
|
|
2310
|
+
return ye(Ot(t), n), t;
|
|
2311
|
+
case "MultiLineString":
|
|
2312
|
+
return Ot(t).forEach(function(i) {
|
|
2313
|
+
de(i, n);
|
|
2314
|
+
}), t;
|
|
2315
|
+
case "MultiPolygon":
|
|
2316
|
+
return Ot(t).forEach(function(i) {
|
|
2317
|
+
ye(i, n);
|
|
2318
|
+
}), t;
|
|
2319
|
+
case "Point":
|
|
2320
|
+
case "MultiPoint":
|
|
2321
|
+
return t;
|
|
2322
|
+
}
|
|
2323
|
+
}
|
|
2324
|
+
function de(t, n) {
|
|
2325
|
+
$n(t) === n && t.reverse();
|
|
2326
|
+
}
|
|
2327
|
+
function ye(t, n) {
|
|
2328
|
+
$n(t[0]) !== n && t[0].reverse();
|
|
2329
|
+
for (let e = 1; e < t.length; e++)
|
|
2330
|
+
$n(t[e]) === n && t[e].reverse();
|
|
2331
|
+
}
|
|
2332
|
+
var Oo = Ao;
|
|
2333
|
+
export {
|
|
2334
|
+
Fo as a,
|
|
2335
|
+
Do as b,
|
|
2336
|
+
Go as c,
|
|
2337
|
+
Lo as d,
|
|
2338
|
+
Xo as e,
|
|
2339
|
+
$o as f,
|
|
2340
|
+
ko as g,
|
|
2341
|
+
Oo as i,
|
|
2342
|
+
Yo as z
|
|
2343
|
+
};
|
|
2344
|
+
//# sourceMappingURL=index-Dp_SfsUA.js.map
|