You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by mc...@apache.org on 2014/12/16 18:37:02 UTC
[16/50] [abbrv] incubator-nifi git commit: NIFI-27: - Latest version
of D3.
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/8a0e2cee/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/d3/d3.min.js
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/d3/d3.min.js b/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/d3/d3.min.js
old mode 100755
new mode 100644
index 862fcb2..ddaf546
--- a/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/d3/d3.min.js
+++ b/nar-bundles/framework-bundle/framework/web/nifi-web-ui/src/main/webapp/js/d3/d3.min.js
@@ -1,5385 +1,5 @@
-d3 = function () {
- function n(n) {
- return null != n && !isNaN(n)
- }
- function t(n) {
- return n.length
- }
- function e(n) {
- for (var t = 1; n * t % 1; )
- t *= 10;
- return t
- }
- function r(n, t) {
- try {
- for (var e in t)
- Object.defineProperty(n.prototype, e, {value: t[e], enumerable: !1})
- } catch (r) {
- n.prototype = t
- }
- }
- function u() {
- }
- function i() {
- }
- function o(n, t, e) {
- return function () {
- var r = e.apply(t, arguments);
- return r === t ? n : r
- }
- }
- function a(n, t) {
- if (t in n)
- return t;
- t = t.charAt(0).toUpperCase() + t.substring(1);
- for (var e = 0, r = Co.length; r > e; ++e) {
- var u = Co[e] + t;
- if (u in n)
- return u
- }
- }
- function c() {
- }
- function l() {
- }
- function s(n) {
- function t() {
- for (var t, r = e, u = -1, i = r.length; ++u < i; )
- (t = r[u].on) && t.apply(this, arguments);
- return n
- }
- var e = [], r = new u;
- return t.on = function (t, u) {
- var i, o = r.get(t);
- return arguments.length < 2 ? o && o.on : (o && (o.on = null, e = e.slice(0, i = e.indexOf(o)).concat(e.slice(i + 1)), r.remove(t)), u && e.push(r.set(t, {on: u})), n)
- }, t
- }
- function f() {
- vo.event.preventDefault()
- }
- function h() {
- for (var n, t = vo.event; n = t.sourceEvent; )
- t = n;
- return t
- }
- function g(n) {
- for (var t = new l, e = 0, r = arguments.length; ++e < r; )
- t[arguments[e]] = s(t);
- return t.of = function (e, r) {
- return function (u) {
- try {
- var i = u.sourceEvent = vo.event;
- u.target = n, vo.event = u, t[u.type].apply(e, r)
- } finally {
- vo.event = i
- }
- }
- }, t
- }
- function p(n) {
- return jo(n, Oo), n
- }
- function d(n) {
- return"function" == typeof n ? n : function () {
- return Lo(n, this)
- }
- }
- function v(n) {
- return"function" == typeof n ? n : function () {
- return Ho(n, this)
- }
- }
- function m(n, t) {
- function e() {
- this.removeAttribute(n)
- }
- function r() {
- this.removeAttributeNS(n.space, n.local)
- }
- function u() {
- this.setAttribute(n, t)
- }
- function i() {
- this.setAttributeNS(n.space, n.local, t)
- }
- function o() {
- var e = t.apply(this, arguments);
- null == e ? this.removeAttribute(n) : this.setAttribute(n, e)
- }
- function a() {
- var e = t.apply(this, arguments);
- null == e ? this.removeAttributeNS(n.space, n.local) : this.setAttributeNS(n.space, n.local, e)
- }
- return n = vo.ns.qualify(n), null == t ? n.local ? r : e : "function" == typeof t ? n.local ? a : o : n.local ? i : u
- }
- function y(n) {
- return n.trim().replace(/\s+/g, " ")
- }
- function M(n) {
- return new RegExp("(?:^|\\s+)" + vo.requote(n) + "(?:\\s+|$)", "g")
- }
- function x(n, t) {
- function e() {
- for (var e = -1; ++e < u; )
- n[e](this, t)
- }
- function r() {
- for (var e = -1, r = t.apply(this, arguments); ++e < u; )
- n[e](this, r)
- }
- n = n.trim().split(/\s+/).map(b);
- var u = n.length;
- return"function" == typeof t ? r : e
- }
- function b(n) {
- var t = M(n);
- return function (e, r) {
- if (u = e.classList)
- return r ? u.add(n) : u.remove(n);
- var u = e.getAttribute("class") || "";
- r ? (t.lastIndex = 0, t.test(u) || e.setAttribute("class", y(u + " " + n))) : e.setAttribute("class", y(u.replace(t, " ")))
- }
- }
- function _(n, t, e) {
- function r() {
- this.style.removeProperty(n)
- }
- function u() {
- this.style.setProperty(n, t, e)
- }
- function i() {
- var r = t.apply(this, arguments);
- null == r ? this.style.removeProperty(n) : this.style.setProperty(n, r, e)
- }
- return null == t ? r : "function" == typeof t ? i : u
- }
- function w(n, t) {
- function e() {
- delete this[n]
- }
- function r() {
- this[n] = t
- }
- function u() {
- var e = t.apply(this, arguments);
- null == e ? delete this[n] : this[n] = e
- }
- return null == t ? e : "function" == typeof t ? u : r
- }
- function S(n) {
- return"function" == typeof n ? n : (n = vo.ns.qualify(n)).local ? function () {
- return Mo.createElementNS(n.space, n.local)
- } : function () {
- return Mo.createElementNS(this.namespaceURI, n)
- }
- }
- function E(n) {
- return{__data__: n}
- }
- function k(n) {
- return function () {
- return Po(this, n)
- }
- }
- function A(n) {
- return arguments.length || (n = vo.ascending), function (t, e) {
- return t && e ? n(t.__data__, e.__data__) : !t - !e
- }
- }
- function N(n, t) {
- for (var e = 0, r = n.length; r > e; e++)
- for (var u, i = n[e], o = 0, a = i.length; a > o; o++)
- (u = i[o]) && t(u, o, e);
- return n
- }
- function q(n) {
- return jo(n, Yo), n
- }
- function T(n) {
- var t, e;
- return function (r, u, i) {
- var o, a = n[i].update, c = a.length;
- for (i != e && (e = i, t = 0), u >= t && (t = u + 1); !(o = a[t]) && ++t < c; )
- ;
- return o
- }
- }
- function z() {
- var n = this.__transition__;
- n && ++n.active
- }
- function C(n, t, e) {
- function r() {
- var t = this[o];
- t && (this.removeEventListener(n, t, t.$), delete this[o])
- }
- function u() {
- var u = l(t, yo(arguments));
- r.call(this), this.addEventListener(n, this[o] = u, u.$ = e), u._ = t
- }
- function i() {
- var t, e = new RegExp("^__on([^.]+)" + vo.requote(n) + "$");
- for (var r in this)
- if (t = r.match(e)) {
- var u = this[r];
- this.removeEventListener(t[1], u, u.$), delete this[r]
- }
- }
- var o = "__on" + n, a = n.indexOf("."), l = D;
- a > 0 && (n = n.substring(0, a));
- var s = Uo.get(n);
- return s && (n = s, l = j), a ? t ? u : r : t ? c : i
- }
- function D(n, t) {
- return function (e) {
- var r = vo.event;
- vo.event = e, t[0] = this.__data__;
- try {
- n.apply(this, t)
- } finally {
- vo.event = r
- }
- }
- }
- function j(n, t) {
- var e = D(n, t);
- return function (n) {
- var t = this, r = n.relatedTarget;
- r && (r === t || 8 & r.compareDocumentPosition(t)) || e.call(t, n)
- }
- }
- function L() {
- var n = ".dragsuppress-" + ++Zo, t = "touchmove" + n, e = "selectstart" + n, r = "dragstart" + n, u = "click" + n, i = vo.select(bo).on(t, f).on(e, f).on(r, f), o = xo.style, a = o[Vo];
- return o[Vo] = "none", function (t) {
- function e() {
- i.on(u, null)
- }
- i.on(n, null), o[Vo] = a, t && (i.on(u, function () {
- f(), e()
- }, !0), setTimeout(e, 0))
- }
- }
- function H(n, t) {
- var e = n.ownerSVGElement || n;
- if (e.createSVGPoint) {
- var r = e.createSVGPoint();
- if (0 > Xo && (bo.scrollX || bo.scrollY)) {
- e = vo.select("body").append("svg").style({position: "absolute", top: 0, left: 0, margin: 0, padding: 0, border: "none"}, "important");
- var u = e[0][0].getScreenCTM();
- Xo = !(u.f || u.e), e.remove()
- }
- return Xo ? (r.x = t.pageX, r.y = t.pageY) : (r.x = t.clientX, r.y = t.clientY), r = r.matrixTransform(n.getScreenCTM().inverse()), [r.x, r.y]
- }
- var i = n.getBoundingClientRect();
- return[t.clientX - i.left - n.clientLeft, t.clientY - i.top - n.clientTop]
- }
- function F(n) {
- return n > 0 ? 1 : 0 > n ? -1 : 0
- }
- function P(n) {
- return n > 1 ? 0 : -1 > n ? Bo : Math.acos(n)
- }
- function O(n) {
- return n > 1 ? Bo / 2 : -1 > n ? -Bo / 2 : Math.asin(n)
- }
- function R(n) {
- return(Math.exp(n) - Math.exp(-n)) / 2
- }
- function Y(n) {
- return(Math.exp(n) + Math.exp(-n)) / 2
- }
- function I(n) {
- return R(n) / Y(n)
- }
- function U(n) {
- return(n = Math.sin(n / 2)) * n
- }
- function V() {
- }
- function Z(n, t, e) {
- return new X(n, t, e)
- }
- function X(n, t, e) {
- this.h = n, this.s = t, this.l = e
- }
- function B(n, t, e) {
- function r(n) {
- return n > 360 ? n -= 360 : 0 > n && (n += 360), 60 > n ? i + (o - i) * n / 60 : 180 > n ? o : 240 > n ? i + (o - i) * (240 - n) / 60 : i
- }
- function u(n) {
- return Math.round(255 * r(n))
- }
- var i, o;
- return n = isNaN(n) ? 0 : (n %= 360) < 0 ? n + 360 : n, t = isNaN(t) ? 0 : 0 > t ? 0 : t > 1 ? 1 : t, e = 0 > e ? 0 : e > 1 ? 1 : e, o = .5 >= e ? e * (1 + t) : e + t - e * t, i = 2 * e - o, ot(u(n + 120), u(n), u(n - 120))
- }
- function $(n, t, e) {
- return new W(n, t, e)
- }
- function W(n, t, e) {
- this.h = n, this.c = t, this.l = e
- }
- function J(n, t, e) {
- return isNaN(n) && (n = 0), isNaN(t) && (t = 0), G(e, Math.cos(n *= Jo) * t, Math.sin(n) * t)
- }
- function G(n, t, e) {
- return new K(n, t, e)
- }
- function K(n, t, e) {
- this.l = n, this.a = t, this.b = e
- }
- function Q(n, t, e) {
- var r = (n + 16) / 116, u = r + t / 500, i = r - e / 200;
- return u = tt(u) * aa, r = tt(r) * ca, i = tt(i) * la, ot(rt(3.2404542 * u - 1.5371385 * r - .4985314 * i), rt(-.969266 * u + 1.8760108 * r + .041556 * i), rt(.0556434 * u - .2040259 * r + 1.0572252 * i))
- }
- function nt(n, t, e) {
- return n > 0 ? $(Math.atan2(e, t) * Go, Math.sqrt(t * t + e * e), n) : $(0 / 0, 0 / 0, n)
- }
- function tt(n) {
- return n > .206893034 ? n * n * n : (n - 4 / 29) / 7.787037
- }
- function et(n) {
- return n > .008856 ? Math.pow(n, 1 / 3) : 7.787037 * n + 4 / 29
- }
- function rt(n) {
- return Math.round(255 * (.00304 >= n ? 12.92 * n : 1.055 * Math.pow(n, 1 / 2.4) - .055))
- }
- function ut(n) {
- return ot(n >> 16, 255 & n >> 8, 255 & n)
- }
- function it(n) {
- return ut(n) + ""
- }
- function ot(n, t, e) {
- return new at(n, t, e)
- }
- function at(n, t, e) {
- this.r = n, this.g = t, this.b = e
- }
- function ct(n) {
- return 16 > n ? "0" + Math.max(0, n).toString(16) : Math.min(255, n).toString(16)
- }
- function lt(n, t, e) {
- var r, u, i, o = 0, a = 0, c = 0;
- if (r = /([a-z]+)\((.*)\)/i.exec(n))
- switch (u = r[2].split(","), r[1]) {
- case"hsl":
- return e(parseFloat(u[0]), parseFloat(u[1]) / 100, parseFloat(u[2]) / 100);
- case"rgb":
- return t(gt(u[0]), gt(u[1]), gt(u[2]))
- }
- return(i = ha.get(n)) ? t(i.r, i.g, i.b) : (null != n && "#" === n.charAt(0) && (4 === n.length ? (o = n.charAt(1), o += o, a = n.charAt(2), a += a, c = n.charAt(3), c += c) : 7 === n.length && (o = n.substring(1, 3), a = n.substring(3, 5), c = n.substring(5, 7)), o = parseInt(o, 16), a = parseInt(a, 16), c = parseInt(c, 16)), t(o, a, c))
- }
- function st(n, t, e) {
- var r, u, i = Math.min(n /= 255, t /= 255, e /= 255), o = Math.max(n, t, e), a = o - i, c = (o + i) / 2;
- return a ? (u = .5 > c ? a / (o + i) : a / (2 - o - i), r = n == o ? (t - e) / a + (e > t ? 6 : 0) : t == o ? (e - n) / a + 2 : (n - t) / a + 4, r *= 60) : (r = 0 / 0, u = c > 0 && 1 > c ? 0 : r), Z(r, u, c)
- }
- function ft(n, t, e) {
- n = ht(n), t = ht(t), e = ht(e);
- var r = et((.4124564 * n + .3575761 * t + .1804375 * e) / aa), u = et((.2126729 * n + .7151522 * t + .072175 * e) / ca), i = et((.0193339 * n + .119192 * t + .9503041 * e) / la);
- return G(116 * u - 16, 500 * (r - u), 200 * (u - i))
- }
- function ht(n) {
- return(n /= 255) <= .04045 ? n / 12.92 : Math.pow((n + .055) / 1.055, 2.4)
- }
- function gt(n) {
- var t = parseFloat(n);
- return"%" === n.charAt(n.length - 1) ? Math.round(2.55 * t) : t
- }
- function pt(n) {
- return"function" == typeof n ? n : function () {
- return n
- }
- }
- function dt(n) {
- return n
- }
- function vt(n) {
- return function (t, e, r) {
- return 2 === arguments.length && "function" == typeof e && (r = e, e = null), mt(t, e, n, r)
- }
- }
- function mt(n, t, e, r) {
- function u() {
- var n, t = c.status;
- if (!t && c.responseText || t >= 200 && 300 > t || 304 === t) {
- try {
- n = e.call(i, c)
- } catch (r) {
- return o.error.call(i, r), void 0
- }
- o.load.call(i, n)
- } else
- o.error.call(i, c)
- }
- var i = {}, o = vo.dispatch("beforesend", "progress", "load", "error"), a = {}, c = new XMLHttpRequest, l = null;
- return!bo.XDomainRequest || "withCredentials"in c || !/^(http(s)?:)?\/\//.test(n) || (c = new XDomainRequest), "onload"in c ? c.onload = c.onerror = u : c.onreadystatechange = function () {
- c.readyState > 3 && u()
- }, c.onprogress = function (n) {
- var t = vo.event;
- vo.event = n;
- try {
- o.progress.call(i, c)
- } finally {
- vo.event = t
- }
- }, i.header = function (n, t) {
- return n = (n + "").toLowerCase(), arguments.length < 2 ? a[n] : (null == t ? delete a[n] : a[n] = t + "", i)
- }, i.mimeType = function (n) {
- return arguments.length ? (t = null == n ? null : n + "", i) : t
- }, i.responseType = function (n) {
- return arguments.length ? (l = n, i) : l
- }, i.response = function (n) {
- return e = n, i
- }, ["get", "post"].forEach(function (n) {
- i[n] = function () {
- return i.send.apply(i, [n].concat(yo(arguments)))
- }
- }), i.send = function (e, r, u) {
- if (2 === arguments.length && "function" == typeof r && (u = r, r = null), c.open(e, n, !0), null == t || "accept"in a || (a.accept = t + ",*/*"), c.setRequestHeader)
- for (var s in a)
- c.setRequestHeader(s, a[s]);
- return null != t && c.overrideMimeType && c.overrideMimeType(t), null != l && (c.responseType = l), null != u && i.on("error", u).on("load", function (n) {
- u(null, n)
- }), o.beforesend.call(i, c), c.send(null == r ? null : r), i
- }, i.abort = function () {
- return c.abort(), i
- }, vo.rebind(i, o, "on"), null == r ? i : i.get(yt(r))
- }
- function yt(n) {
- return 1 === n.length ? function (t, e) {
- n(null == t ? e : null)
- } : n
- }
- function Mt() {
- var n = bt(), t = _t() - n;
- t > 24 ? (isFinite(t) && (clearTimeout(va), va = setTimeout(Mt, t)), da = 0) : (da = 1, ya(Mt))
- }
- function xt(n, t, e) {
- var r = arguments.length;
- 2 > r && (t = 0), 3 > r && (e = Date.now()), ma.callback = n, ma.time = e + t
- }
- function bt() {
- var n = Date.now();
- for (ma = ga; ma; )
- n >= ma.time && (ma.flush = ma.callback(n - ma.time)), ma = ma.next;
- return n
- }
- function _t() {
- for (var n, t = ga, e = 1 / 0; t; )
- t.flush ? t = n ? n.next = t.next : ga = t.next : (t.time < e && (e = t.time), t = (n = t).next);
- return pa = n, e
- }
- function wt(n, t) {
- var e = Math.pow(10, 3 * Math.abs(8 - t));
- return{scale: t > 8 ? function (n) {
- return n / e
- } : function (n) {
- return n * e
- }, symbol: n}
- }
- function St(n, t) {
- return t - (n ? Math.ceil(Math.log(n) / Math.LN10) : 1)
- }
- function Et(n) {
- return n + ""
- }
- function kt() {
- }
- function At(n, t, e) {
- var r = e.s = n + t, u = r - n, i = r - u;
- e.t = n - i + (t - u)
- }
- function Nt(n, t) {
- n && Ta.hasOwnProperty(n.type) && Ta[n.type](n, t)
- }
- function qt(n, t, e) {
- var r, u = -1, i = n.length - e;
- for (t.lineStart(); ++u < i; )
- r = n[u], t.point(r[0], r[1], r[2]);
- t.lineEnd()
- }
- function Tt(n, t) {
- var e = -1, r = n.length;
- for (t.polygonStart(); ++e < r; )
- qt(n[e], t, 1);
- t.polygonEnd()
- }
- function zt() {
- function n(n, t) {
- n *= Jo, t = t * Jo / 2 + Bo / 4;
- var e = n - r, o = Math.cos(t), a = Math.sin(t), c = i * a, l = u * o + c * Math.cos(e), s = c * Math.sin(e);
- Ca.add(Math.atan2(s, l)), r = n, u = o, i = a
- }
- var t, e, r, u, i;
- Da.point = function (o, a) {
- Da.point = n, r = (t = o) * Jo, u = Math.cos(a = (e = a) * Jo / 2 + Bo / 4), i = Math.sin(a)
- }, Da.lineEnd = function () {
- n(t, e)
- }
- }
- function Ct(n) {
- var t = n[0], e = n[1], r = Math.cos(e);
- return[r * Math.cos(t), r * Math.sin(t), Math.sin(e)]
- }
- function Dt(n, t) {
- return n[0] * t[0] + n[1] * t[1] + n[2] * t[2]
- }
- function jt(n, t) {
- return[n[1] * t[2] - n[2] * t[1], n[2] * t[0] - n[0] * t[2], n[0] * t[1] - n[1] * t[0]]
- }
- function Lt(n, t) {
- n[0] += t[0], n[1] += t[1], n[2] += t[2]
- }
- function Ht(n, t) {
- return[n[0] * t, n[1] * t, n[2] * t]
- }
- function Ft(n) {
- var t = Math.sqrt(n[0] * n[0] + n[1] * n[1] + n[2] * n[2]);
- n[0] /= t, n[1] /= t, n[2] /= t
- }
- function Pt(n) {
- return[Math.atan2(n[1], n[0]), O(n[2])]
- }
- function Ot(n, t) {
- return Math.abs(n[0] - t[0]) < $o && Math.abs(n[1] - t[1]) < $o
- }
- function Rt(n, t) {
- n *= Jo;
- var e = Math.cos(t *= Jo);
- Yt(e * Math.cos(n), e * Math.sin(n), Math.sin(t))
- }
- function Yt(n, t, e) {
- ++ja, Ha += (n - Ha) / ja, Fa += (t - Fa) / ja, Pa += (e - Pa) / ja
- }
- function It() {
- function n(n, u) {
- n *= Jo;
- var i = Math.cos(u *= Jo), o = i * Math.cos(n), a = i * Math.sin(n), c = Math.sin(u), l = Math.atan2(Math.sqrt((l = e * c - r * a) * l + (l = r * o - t * c) * l + (l = t * a - e * o) * l), t * o + e * a + r * c);
- La += l, Oa += l * (t + (t = o)), Ra += l * (e + (e = a)), Ya += l * (r + (r = c)), Yt(t, e, r)
- }
- var t, e, r;
- Za.point = function (u, i) {
- u *= Jo;
- var o = Math.cos(i *= Jo);
- t = o * Math.cos(u), e = o * Math.sin(u), r = Math.sin(i), Za.point = n, Yt(t, e, r)
- }
- }
- function Ut() {
- Za.point = Rt
- }
- function Vt() {
- function n(n, t) {
- n *= Jo;
- var e = Math.cos(t *= Jo), o = e * Math.cos(n), a = e * Math.sin(n), c = Math.sin(t), l = u * c - i * a, s = i * o - r * c, f = r * a - u * o, h = Math.sqrt(l * l + s * s + f * f), g = r * o + u * a + i * c, p = h && -P(g) / h, d = Math.atan2(h, g);
- Ia += p * l, Ua += p * s, Va += p * f, La += d, Oa += d * (r + (r = o)), Ra += d * (u + (u = a)), Ya += d * (i + (i = c)), Yt(r, u, i)
- }
- var t, e, r, u, i;
- Za.point = function (o, a) {
- t = o, e = a, Za.point = n, o *= Jo;
- var c = Math.cos(a *= Jo);
- r = c * Math.cos(o), u = c * Math.sin(o), i = Math.sin(a), Yt(r, u, i)
- }, Za.lineEnd = function () {
- n(t, e), Za.lineEnd = Ut, Za.point = Rt
- }
- }
- function Zt() {
- return!0
- }
- function Xt(n, t, e, r, u) {
- var i = [], o = [];
- if (n.forEach(function (n) {
- if (!((t = n.length - 1) <= 0)) {
- var t, e = n[0], r = n[t];
- if (Ot(e, r)) {
- u.lineStart();
- for (var a = 0; t > a; ++a)
- u.point((e = n[a])[0], e[1]);
- return u.lineEnd(), void 0
- }
- var c = {point: e, points: n, other: null, visited: !1, entry: !0, subject: !0}, l = {point: e, points: [e], other: c, visited: !1, entry: !1, subject: !1};
- c.other = l, i.push(c), o.push(l), c = {point: r, points: [r], other: null, visited: !1, entry: !1, subject: !0}, l = {point: r, points: [r], other: c, visited: !1, entry: !0, subject: !1}, c.other = l, i.push(c), o.push(l)
- }
- }), o.sort(t), Bt(i), Bt(o), i.length) {
- if (e)
- for (var a = 1, c = !e(o[0].point), l = o.length; l > a; ++a)
- o[a].entry = c = !c;
- for (var s, f, h, g = i[0]; ; ) {
- for (s = g; s.visited; )
- if ((s = s.next) === g)
- return;
- f = s.points, u.lineStart();
- do {
- if (s.visited = s.other.visited = !0, s.entry) {
- if (s.subject)
- for (var a = 0; a < f.length; a++)
- u.point((h = f[a])[0], h[1]);
- else
- r(s.point, s.next.point, 1, u);
- s = s.next
- } else {
- if (s.subject) {
- f = s.prev.points;
- for (var a = f.length; --a >= 0; )
- u.point((h = f[a])[0], h[1])
- } else
- r(s.point, s.prev.point, -1, u);
- s = s.prev
- }
- s = s.other, f = s.points
- } while (!s.visited);
- u.lineEnd()
- }
- }
- }
- function Bt(n) {
- if (t = n.length) {
- for (var t, e, r = 0, u = n[0]; ++r < t; )
- u.next = e = n[r], e.prev = u, u = e;
- u.next = e = n[0], e.prev = u
- }
- }
- function $t(n, t, e, r) {
- return function (u) {
- function i(t, e) {
- n(t, e) && u.point(t, e)
- }
- function o(n, t) {
- d.point(n, t)
- }
- function a() {
- v.point = o, d.lineStart()
- }
- function c() {
- v.point = i, d.lineEnd()
- }
- function l(n, t) {
- y.point(n, t), p.push([n, t])
- }
- function s() {
- y.lineStart(), p = []
- }
- function f() {
- l(p[0][0], p[0][1]), y.lineEnd();
- var n, t = y.clean(), e = m.buffer(), r = e.length;
- if (p.pop(), g.push(p), p = null, r) {
- if (1 & t) {
- n = e[0];
- var i, r = n.length - 1, o = -1;
- for (u.lineStart(); ++o < r; )
- u.point((i = n[o])[0], i[1]);
- return u.lineEnd(), void 0
- }
- r > 1 && 2 & t && e.push(e.pop().concat(e.shift())), h.push(e.filter(Wt))
- }
- }
- var h, g, p, d = t(u), v = {point: i, lineStart: a, lineEnd: c, polygonStart: function () {
- v.point = l, v.lineStart = s, v.lineEnd = f, h = [], g = [], u.polygonStart()
- }, polygonEnd: function () {
- v.point = i, v.lineStart = a, v.lineEnd = c, h = vo.merge(h), h.length ? Xt(h, Gt, null, e, u) : r(g) && (u.lineStart(), e(null, null, 1, u), u.lineEnd()), u.polygonEnd(), h = g = null
- }, sphere: function () {
- u.polygonStart(), u.lineStart(), e(null, null, 1, u), u.lineEnd(), u.polygonEnd()
- }}, m = Jt(), y = t(m);
- return v
- }
- }
- function Wt(n) {
- return n.length > 1
- }
- function Jt() {
- var n, t = [];
- return{lineStart: function () {
- t.push(n = [])
- }, point: function (t, e) {
- n.push([t, e])
- }, lineEnd: c, buffer: function () {
- var e = t;
- return t = [], n = null, e
- }, rejoin: function () {
- t.length > 1 && t.push(t.pop().concat(t.shift()))
- }}
- }
- function Gt(n, t) {
- return((n = n.point)[0] < 0 ? n[1] - Bo / 2 - $o : Bo / 2 - n[1]) - ((t = t.point)[0] < 0 ? t[1] - Bo / 2 - $o : Bo / 2 - t[1])
- }
- function Kt(n, t) {
- var e = n[0], r = n[1], u = [Math.sin(e), -Math.cos(e), 0], i = 0, o = !1, a = !1, c = 0;
- Ca.reset();
- for (var l = 0, s = t.length; s > l; ++l) {
- var f = t[l], h = f.length;
- if (h) {
- for (var g = f[0], p = g[0], d = g[1] / 2 + Bo / 4, v = Math.sin(d), m = Math.cos(d), y = 1; ; ) {
- y === h && (y = 0), n = f[y];
- var M = n[0], x = n[1] / 2 + Bo / 4, b = Math.sin(x), _ = Math.cos(x), w = M - p, S = Math.abs(w) > Bo, E = v * b;
- if (Ca.add(Math.atan2(E * Math.sin(w), m * _ + E * Math.cos(w))), Math.abs(x) < $o && (a = !0), i += S ? w + (w >= 0 ? 2 : -2) * Bo : w, S ^ p >= e ^ M >= e) {
- var k = jt(Ct(g), Ct(n));
- Ft(k);
- var A = jt(u, k);
- Ft(A);
- var N = (S ^ w >= 0 ? -1 : 1) * O(A[2]);
- r > N && (c += S ^ w >= 0 ? 1 : -1)
- }
- if (!y++)
- break;
- p = M, v = b, m = _, g = n
- }
- Math.abs(i) > $o && (o = !0)
- }
- }
- return(!a && !o && 0 > Ca || -$o > i) ^ 1 & c
- }
- function Qt(n) {
- var t, e = 0 / 0, r = 0 / 0, u = 0 / 0;
- return{lineStart: function () {
- n.lineStart(), t = 1
- }, point: function (i, o) {
- var a = i > 0 ? Bo : -Bo, c = Math.abs(i - e);
- Math.abs(c - Bo) < $o ? (n.point(e, r = (r + o) / 2 > 0 ? Bo / 2 : -Bo / 2), n.point(u, r), n.lineEnd(), n.lineStart(), n.point(a, r), n.point(i, r), t = 0) : u !== a && c >= Bo && (Math.abs(e - u) < $o && (e -= u * $o), Math.abs(i - a) < $o && (i -= a * $o), r = ne(e, r, i, o), n.point(u, r), n.lineEnd(), n.lineStart(), n.point(a, r), t = 0), n.point(e = i, r = o), u = a
- }, lineEnd: function () {
- n.lineEnd(), e = r = 0 / 0
- }, clean: function () {
- return 2 - t
- }}
- }
- function ne(n, t, e, r) {
- var u, i, o = Math.sin(n - e);
- return Math.abs(o) > $o ? Math.atan((Math.sin(t) * (i = Math.cos(r)) * Math.sin(e) - Math.sin(r) * (u = Math.cos(t)) * Math.sin(n)) / (u * i * o)) : (t + r) / 2
- }
- function te(n, t, e, r) {
- var u;
- if (null == n)
- u = e * Bo / 2, r.point(-Bo, u), r.point(0, u), r.point(Bo, u), r.point(Bo, 0), r.point(Bo, -u), r.point(0, -u), r.point(-Bo, -u), r.point(-Bo, 0), r.point(-Bo, u);
- else if (Math.abs(n[0] - t[0]) > $o) {
- var i = (n[0] < t[0] ? 1 : -1) * Bo;
- u = e * i / 2, r.point(-i, u), r.point(0, u), r.point(i, u)
- } else
- r.point(t[0], t[1])
- }
- function ee(n) {
- return Kt(Ba, n)
- }
- function re(n) {
- function t(n, t) {
- return Math.cos(n) * Math.cos(t) > o
- }
- function e(n) {
- var e, i, o, c, s;
- return{lineStart: function () {
- c = o = !1, s = 1
- }, point: function (f, h) {
- var g, p = [f, h], d = t(f, h), v = a ? d ? 0 : u(f, h) : d ? u(f + (0 > f ? Bo : -Bo), h) : 0;
- if (!e && (c = o = d) && n.lineStart(), d !== o && (g = r(e, p), (Ot(e, g) || Ot(p, g)) && (p[0] += $o, p[1] += $o, d = t(p[0], p[1]))), d !== o)
- s = 0, d ? (n.lineStart(), g = r(p, e), n.point(g[0], g[1])) : (g = r(e, p), n.point(g[0], g[1]), n.lineEnd()), e = g;
- else if (l && e && a ^ d) {
- var m;
- v & i || !(m = r(p, e, !0)) || (s = 0, a ? (n.lineStart(), n.point(m[0][0], m[0][1]), n.point(m[1][0], m[1][1]), n.lineEnd()) : (n.point(m[1][0], m[1][1]), n.lineEnd(), n.lineStart(), n.point(m[0][0], m[0][1])))
- }
- !d || e && Ot(e, p) || n.point(p[0], p[1]), e = p, o = d, i = v
- }, lineEnd: function () {
- o && n.lineEnd(), e = null
- }, clean: function () {
- return s | (c && o) << 1
- }}
- }
- function r(n, t, e) {
- var r = Ct(n), u = Ct(t), i = [1, 0, 0], a = jt(r, u), c = Dt(a, a), l = a[0], s = c - l * l;
- if (!s)
- return!e && n;
- var f = o * c / s, h = -o * l / s, g = jt(i, a), p = Ht(i, f), d = Ht(a, h);
- Lt(p, d);
- var v = g, m = Dt(p, v), y = Dt(v, v), M = m * m - y * (Dt(p, p) - 1);
- if (!(0 > M)) {
- var x = Math.sqrt(M), b = Ht(v, (-m - x) / y);
- if (Lt(b, p), b = Pt(b), !e)
- return b;
- var _, w = n[0], S = t[0], E = n[1], k = t[1];
- w > S && (_ = w, w = S, S = _);
- var A = S - w, N = Math.abs(A - Bo) < $o, q = N || $o > A;
- if (!N && E > k && (_ = E, E = k, k = _), q ? N ? E + k > 0 ^ b[1] < (Math.abs(b[0] - w) < $o ? E : k) : E <= b[1] && b[1] <= k : A > Bo ^ (w <= b[0] && b[0] <= S)) {
- var T = Ht(v, (-m + x) / y);
- return Lt(T, p), [b, Pt(T)]
- }
- }
- }
- function u(t, e) {
- var r = a ? n : Bo - n, u = 0;
- return-r > t ? u |= 1 : t > r && (u |= 2), -r > e ? u |= 4 : e > r && (u |= 8), u
- }
- function i(n) {
- return Kt(c, n)
- }
- var o = Math.cos(n), a = o > 0, c = [n, 0], l = Math.abs(o) > $o, s = qe(n, 6 * Jo);
- return $t(t, e, s, i)
- }
- function ue(n, t, e, r) {
- function u(r, u) {
- return Math.abs(r[0] - n) < $o ? u > 0 ? 0 : 3 : Math.abs(r[0] - e) < $o ? u > 0 ? 2 : 1 : Math.abs(r[1] - t) < $o ? u > 0 ? 1 : 0 : u > 0 ? 3 : 2
- }
- function i(n, t) {
- return o(n.point, t.point)
- }
- function o(n, t) {
- var e = u(n, 1), r = u(t, 1);
- return e !== r ? e - r : 0 === e ? t[1] - n[1] : 1 === e ? n[0] - t[0] : 2 === e ? n[1] - t[1] : t[0] - n[0]
- }
- function a(u, i) {
- var o = i[0] - u[0], a = i[1] - u[1], c = [0, 1];
- return Math.abs(o) < $o && Math.abs(a) < $o ? n <= u[0] && u[0] <= e && t <= u[1] && u[1] <= r : ie(n - u[0], o, c) && ie(u[0] - e, -o, c) && ie(t - u[1], a, c) && ie(u[1] - r, -a, c) ? (c[1] < 1 && (i[0] = u[0] + c[1] * o, i[1] = u[1] + c[1] * a), c[0] > 0 && (u[0] += c[0] * o, u[1] += c[0] * a), !0) : !1
- }
- return function (c) {
- function l(i) {
- var o = u(i, -1), a = s([0 === o || 3 === o ? n : e, o > 1 ? r : t]);
- return a
- }
- function s(n) {
- for (var t = 0, e = M.length, r = n[1], u = 0; e > u; ++u)
- for (var i, o = 1, a = M[u], c = a.length, l = a[0]; c > o; ++o)
- i = a[o], l[1] <= r ? i[1] > r && f(l, i, n) > 0 && ++t : i[1] <= r && f(l, i, n) < 0 && --t, l = i;
- return 0 !== t
- }
- function f(n, t, e) {
- return(t[0] - n[0]) * (e[1] - n[1]) - (e[0] - n[0]) * (t[1] - n[1])
- }
- function h(i, a, c, l) {
- var s = 0, f = 0;
- if (null == i || (s = u(i, c)) !== (f = u(a, c)) || o(i, a) < 0 ^ c > 0) {
- do
- l.point(0 === s || 3 === s ? n : e, s > 1 ? r : t);
- while ((s = (s + c + 4) % 4) !== f)
- } else
- l.point(a[0], a[1])
- }
- function g(u, i) {
- return u >= n && e >= u && i >= t && r >= i
- }
- function p(n, t) {
- g(n, t) && c.point(n, t)
- }
- function d() {
- T.point = m, M && M.push(x = []), A = !0, k = !1, S = E = 0 / 0
- }
- function v() {
- y && (m(b, _), w && k && q.rejoin(), y.push(q.buffer())), T.point = p, k && c.lineEnd()
- }
- function m(n, t) {
- n = Math.max(-$a, Math.min($a, n)), t = Math.max(-$a, Math.min($a, t));
- var e = g(n, t);
- if (M && x.push([n, t]), A)
- b = n, _ = t, w = e, A = !1, e && (c.lineStart(), c.point(n, t));
- else if (e && k)
- c.point(n, t);
- else {
- var r = [S, E], u = [n, t];
- a(r, u) ? (k || (c.lineStart(), c.point(r[0], r[1])), c.point(u[0], u[1]), e || c.lineEnd()) : e && (c.lineStart(), c.point(n, t))
- }
- S = n, E = t, k = e
- }
- var y, M, x, b, _, w, S, E, k, A, N = c, q = Jt(), T = {point: p, lineStart: d, lineEnd: v, polygonStart: function () {
- c = q, y = [], M = []
- }, polygonEnd: function () {
- c = N, (y = vo.merge(y)).length ? (c.polygonStart(), Xt(y, i, l, h, c), c.polygonEnd()) : s([n, t]) && (c.polygonStart(), c.lineStart(), h(null, null, 1, c), c.lineEnd(), c.polygonEnd()), y = M = x = null
- }};
- return T
- }
- }
- function ie(n, t, e) {
- if (Math.abs(t) < $o)
- return 0 >= n;
- var r = n / t;
- if (t > 0) {
- if (r > e[1])
- return!1;
- r > e[0] && (e[0] = r)
- } else {
- if (r < e[0])
- return!1;
- r < e[1] && (e[1] = r)
- }
- return!0
- }
- function oe(n, t) {
- function e(e, r) {
- return e = n(e, r), t(e[0], e[1])
- }
- return n.invert && t.invert && (e.invert = function (e, r) {
- return e = t.invert(e, r), e && n.invert(e[0], e[1])
- }), e
- }
- function ae(n) {
- var t = 0, e = Bo / 3, r = _e(n), u = r(t, e);
- return u.parallels = function (n) {
- return arguments.length ? r(t = n[0] * Bo / 180, e = n[1] * Bo / 180) : [180 * (t / Bo), 180 * (e / Bo)]
- }, u
- }
- function ce(n, t) {
- function e(n, t) {
- var e = Math.sqrt(i - 2 * u * Math.sin(t)) / u;
- return[e * Math.sin(n *= u), o - e * Math.cos(n)]
- }
- var r = Math.sin(n), u = (r + Math.sin(t)) / 2, i = 1 + r * (2 * u - r), o = Math.sqrt(i) / u;
- return e.invert = function (n, t) {
- var e = o - t;
- return[Math.atan2(n, e) / u, O((i - (n * n + e * e) * u * u) / (2 * u))]
- }, e
- }
- function le() {
- function n(n, t) {
- Ja += u * n - r * t, r = n, u = t
- }
- var t, e, r, u;
- tc.point = function (i, o) {
- tc.point = n, t = r = i, e = u = o
- }, tc.lineEnd = function () {
- n(t, e)
- }
- }
- function se(n, t) {
- Ga > n && (Ga = n), n > Qa && (Qa = n), Ka > t && (Ka = t), t > nc && (nc = t)
- }
- function fe() {
- function n(n, t) {
- o.push("M", n, ",", t, i)
- }
- function t(n, t) {
- o.push("M", n, ",", t), a.point = e
- }
- function e(n, t) {
- o.push("L", n, ",", t)
- }
- function r() {
- a.point = n
- }
- function u() {
- o.push("Z")
- }
- var i = he(4.5), o = [], a = {point: n, lineStart: function () {
- a.point = t
- }, lineEnd: r, polygonStart: function () {
- a.lineEnd = u
- }, polygonEnd: function () {
- a.lineEnd = r, a.point = n
- }, pointRadius: function (n) {
- return i = he(n), a
- }, result: function () {
- if (o.length) {
- var n = o.join("");
- return o = [], n
- }
- }};
- return a
- }
- function he(n) {
- return"m0," + n + "a" + n + "," + n + " 0 1,1 0," + -2 * n + "a" + n + "," + n + " 0 1,1 0," + 2 * n + "z"
- }
- function ge(n, t) {
- Ha += n, Fa += t, ++Pa
- }
- function pe() {
- function n(n, r) {
- var u = n - t, i = r - e, o = Math.sqrt(u * u + i * i);
- Oa += o * (t + n) / 2, Ra += o * (e + r) / 2, Ya += o, ge(t = n, e = r)
- }
- var t, e;
- rc.point = function (r, u) {
- rc.point = n, ge(t = r, e = u)
- }
- }
- function de() {
- rc.point = ge
- }
- function ve() {
- function n(n, t) {
- var e = n - r, i = t - u, o = Math.sqrt(e * e + i * i);
- Oa += o * (r + n) / 2, Ra += o * (u + t) / 2, Ya += o, o = u * n - r * t, Ia += o * (r + n), Ua += o * (u + t), Va += 3 * o, ge(r = n, u = t)
- }
- var t, e, r, u;
- rc.point = function (i, o) {
- rc.point = n, ge(t = r = i, e = u = o)
- }, rc.lineEnd = function () {
- n(t, e)
- }
- }
- function me(n) {
- function t(t, e) {
- n.moveTo(t, e), n.arc(t, e, o, 0, 2 * Bo)
- }
- function e(t, e) {
- n.moveTo(t, e), a.point = r
- }
- function r(t, e) {
- n.lineTo(t, e)
- }
- function u() {
- a.point = t
- }
- function i() {
- n.closePath()
- }
- var o = 4.5, a = {point: t, lineStart: function () {
- a.point = e
- }, lineEnd: u, polygonStart: function () {
- a.lineEnd = i
- }, polygonEnd: function () {
- a.lineEnd = u, a.point = t
- }, pointRadius: function (n) {
- return o = n, a
- }, result: c};
- return a
- }
- function ye(n) {
- function t(t) {
- function r(e, r) {
- e = n(e, r), t.point(e[0], e[1])
- }
- function u() {
- M = 0 / 0, S.point = o, t.lineStart()
- }
- function o(r, u) {
- var o = Ct([r, u]), a = n(r, u);
- e(M, x, y, b, _, w, M = a[0], x = a[1], y = r, b = o[0], _ = o[1], w = o[2], i, t), t.point(M, x)
- }
- function a() {
- S.point = r, t.lineEnd()
- }
- function c() {
- u(), S.point = l, S.lineEnd = s
- }
- function l(n, t) {
- o(f = n, h = t), g = M, p = x, d = b, v = _, m = w, S.point = o
- }
- function s() {
- e(M, x, y, b, _, w, g, p, f, d, v, m, i, t), S.lineEnd = a, a()
- }
- var f, h, g, p, d, v, m, y, M, x, b, _, w, S = {point: r, lineStart: u, lineEnd: a, polygonStart: function () {
- t.polygonStart(), S.lineStart = c
- }, polygonEnd: function () {
- t.polygonEnd(), S.lineStart = u
- }};
- return S
- }
- function e(t, i, o, a, c, l, s, f, h, g, p, d, v, m) {
- var y = s - t, M = f - i, x = y * y + M * M;
- if (x > 4 * r && v--) {
- var b = a + g, _ = c + p, w = l + d, S = Math.sqrt(b * b + _ * _ + w * w), E = Math.asin(w /= S), k = Math.abs(Math.abs(w) - 1) < $o ? (o + h) / 2 : Math.atan2(_, b), A = n(k, E), N = A[0], q = A[1], T = N - t, z = q - i, C = M * T - y * z;
- (C * C / x > r || Math.abs((y * T + M * z) / x - .5) > .3 || u > a * g + c * p + l * d) && (e(t, i, o, a, c, l, N, q, k, b /= S, _ /= S, w, v, m), m.point(N, q), e(N, q, k, b, _, w, s, f, h, g, p, d, v, m))
- }
- }
- var r = .5, u = Math.cos(30 * Jo), i = 16;
- return t.precision = function (n) {
- return arguments.length ? (i = (r = n * n) > 0 && 16, t) : Math.sqrt(r)
- }, t
- }
- function Me(n) {
- this.stream = n
- }
- function xe(n) {
- var t = ye(function (t, e) {
- return n([t * Go, e * Go])
- });
- return function (n) {
- var e = new Me(n = t(n));
- return e.point = function (t, e) {
- n.point(t * Jo, e * Jo)
- }, e
- }
- }
- function be(n) {
- return _e(function () {
- return n
- })()
- }
- function _e(n) {
- function t(n) {
- return n = a(n[0] * Jo, n[1] * Jo), [n[0] * h + c, l - n[1] * h]
- }
- function e(n) {
- return n = a.invert((n[0] - c) / h, (l - n[1]) / h), n && [n[0] * Go, n[1] * Go]
- }
- function r() {
- a = oe(o = Ee(m, y, M), i);
- var n = i(d, v);
- return c = g - n[0] * h, l = p + n[1] * h, u()
- }
- function u() {
- return s && (s.valid = !1, s = null), t
- }
- var i, o, a, c, l, s, f = ye(function (n, t) {
- return n = i(n, t), [n[0] * h + c, l - n[1] * h]
- }), h = 150, g = 480, p = 250, d = 0, v = 0, m = 0, y = 0, M = 0, x = Xa, b = dt, _ = null, w = null;
- return t.stream = function (n) {
- return s && (s.valid = !1), s = we(o, x(f(b(n)))), s.valid = !0, s
- }, t.clipAngle = function (n) {
- return arguments.length ? (x = null == n ? (_ = n, Xa) : re((_ = +n) * Jo), u()) : _
- }, t.clipExtent = function (n) {
- return arguments.length ? (w = n, b = n ? ue(n[0][0], n[0][1], n[1][0], n[1][1]) : dt, u()) : w
- }, t.scale = function (n) {
- return arguments.length ? (h = +n, r()) : h
- }, t.translate = function (n) {
- return arguments.length ? (g = +n[0], p = +n[1], r()) : [g, p]
- }, t.center = function (n) {
- return arguments.length ? (d = n[0] % 360 * Jo, v = n[1] % 360 * Jo, r()) : [d * Go, v * Go]
- }, t.rotate = function (n) {
- return arguments.length ? (m = n[0] % 360 * Jo, y = n[1] % 360 * Jo, M = n.length > 2 ? n[2] % 360 * Jo : 0, r()) : [m * Go, y * Go, M * Go]
- }, vo.rebind(t, f, "precision"), function () {
- return i = n.apply(this, arguments), t.invert = i.invert && e, r()
- }
- }
- function we(n, t) {
- var e = new Me(t);
- return e.point = function (e, r) {
- r = n(e * Jo, r * Jo), e = r[0], t.point(e > Bo ? e - 2 * Bo : -Bo > e ? e + 2 * Bo : e, r[1])
- }, e
- }
- function Se(n, t) {
- return[n, t]
- }
- function Ee(n, t, e) {
- return n ? t || e ? oe(Ae(n), Ne(t, e)) : Ae(n) : t || e ? Ne(t, e) : Se
- }
- function ke(n) {
- return function (t, e) {
- return t += n, [t > Bo ? t - 2 * Bo : -Bo > t ? t + 2 * Bo : t, e]
- }
- }
- function Ae(n) {
- var t = ke(n);
- return t.invert = ke(-n), t
- }
- function Ne(n, t) {
- function e(n, t) {
- var e = Math.cos(t), a = Math.cos(n) * e, c = Math.sin(n) * e, l = Math.sin(t), s = l * r + a * u;
- return[Math.atan2(c * i - s * o, a * r - l * u), O(s * i + c * o)]
- }
- var r = Math.cos(n), u = Math.sin(n), i = Math.cos(t), o = Math.sin(t);
- return e.invert = function (n, t) {
- var e = Math.cos(t), a = Math.cos(n) * e, c = Math.sin(n) * e, l = Math.sin(t), s = l * i - c * o;
- return[Math.atan2(c * i + l * o, a * r + s * u), O(s * r - a * u)]
- }, e
- }
- function qe(n, t) {
- var e = Math.cos(n), r = Math.sin(n);
- return function (u, i, o, a) {
- var c = o * t;
- null != u ? (u = Te(e, u), i = Te(e, i), (o > 0 ? i > u : u > i) && (u += 2 * o * Bo)) : (u = n + 2 * o * Bo, i = n - .5 * c);
- for (var l, s = u; o > 0?s > i:i > s; s -= c)
- a.point((l = Pt([e, -r * Math.cos(s), -r * Math.sin(s)]))[0], l[1])
- }
- }
- function Te(n, t) {
- var e = Ct(t);
- e[0] -= n, Ft(e);
- var r = P(-e[1]);
- return((-e[2] < 0 ? -r : r) + 2 * Math.PI - $o) % (2 * Math.PI)
- }
- function ze(n, t, e) {
- var r = vo.range(n, t - $o, e).concat(t);
- return function (n) {
- return r.map(function (t) {
- return[n, t]
- })
- }
- }
- function Ce(n, t, e) {
- var r = vo.range(n, t - $o, e).concat(t);
- return function (n) {
- return r.map(function (t) {
- return[t, n]
- })
- }
- }
- function De(n) {
- return n.source
- }
- function je(n) {
- return n.target
- }
- function Le(n, t, e, r) {
- var u = Math.cos(t), i = Math.sin(t), o = Math.cos(r), a = Math.sin(r), c = u * Math.cos(n), l = u * Math.sin(n), s = o * Math.cos(e), f = o * Math.sin(e), h = 2 * Math.asin(Math.sqrt(U(r - t) + u * o * U(e - n))), g = 1 / Math.sin(h), p = h ? function (n) {
- var t = Math.sin(n *= h) * g, e = Math.sin(h - n) * g, r = e * c + t * s, u = e * l + t * f, o = e * i + t * a;
- return[Math.atan2(u, r) * Go, Math.atan2(o, Math.sqrt(r * r + u * u)) * Go]
- } : function () {
- return[n * Go, t * Go]
- };
- return p.distance = h, p
- }
- function He() {
- function n(n, u) {
- var i = Math.sin(u *= Jo), o = Math.cos(u), a = Math.abs((n *= Jo) - t), c = Math.cos(a);
- uc += Math.atan2(Math.sqrt((a = o * Math.sin(a)) * a + (a = r * i - e * o * c) * a), e * i + r * o * c), t = n, e = i, r = o
- }
- var t, e, r;
- ic.point = function (u, i) {
- t = u * Jo, e = Math.sin(i *= Jo), r = Math.cos(i), ic.point = n
- }, ic.lineEnd = function () {
- ic.point = ic.lineEnd = c
- }
- }
- function Fe(n, t) {
- function e(t, e) {
- var r = Math.cos(t), u = Math.cos(e), i = n(r * u);
- return[i * u * Math.sin(t), i * Math.sin(e)]
- }
- return e.invert = function (n, e) {
- var r = Math.sqrt(n * n + e * e), u = t(r), i = Math.sin(u), o = Math.cos(u);
- return[Math.atan2(n * i, r * o), Math.asin(r && e * i / r)]
- }, e
- }
- function Pe(n, t) {
- function e(n, t) {
- var e = Math.abs(Math.abs(t) - Bo / 2) < $o ? 0 : o / Math.pow(u(t), i);
- return[e * Math.sin(i * n), o - e * Math.cos(i * n)]
- }
- var r = Math.cos(n), u = function (n) {
- return Math.tan(Bo / 4 + n / 2)
- }, i = n === t ? Math.sin(n) : Math.log(r / Math.cos(t)) / Math.log(u(t) / u(n)), o = r * Math.pow(u(n), i) / i;
- return i ? (e.invert = function (n, t) {
- var e = o - t, r = F(i) * Math.sqrt(n * n + e * e);
- return[Math.atan2(n, e) / i, 2 * Math.atan(Math.pow(o / r, 1 / i)) - Bo / 2]
- }, e) : Re
- }
- function Oe(n, t) {
- function e(n, t) {
- var e = i - t;
- return[e * Math.sin(u * n), i - e * Math.cos(u * n)]
- }
- var r = Math.cos(n), u = n === t ? Math.sin(n) : (r - Math.cos(t)) / (t - n), i = r / u + n;
- return Math.abs(u) < $o ? Se : (e.invert = function (n, t) {
- var e = i - t;
- return[Math.atan2(n, e) / u, i - F(u) * Math.sqrt(n * n + e * e)]
- }, e)
- }
- function Re(n, t) {
- return[n, Math.log(Math.tan(Bo / 4 + t / 2))]
- }
- function Ye(n) {
- var t, e = be(n), r = e.scale, u = e.translate, i = e.clipExtent;
- return e.scale = function () {
- var n = r.apply(e, arguments);
- return n === e ? t ? e.clipExtent(null) : e : n
- }, e.translate = function () {
- var n = u.apply(e, arguments);
- return n === e ? t ? e.clipExtent(null) : e : n
- }, e.clipExtent = function (n) {
- var o = i.apply(e, arguments);
- if (o === e) {
- if (t = null == n) {
- var a = Bo * r(), c = u();
- i([[c[0] - a, c[1] - a], [c[0] + a, c[1] + a]])
- }
- } else
- t && (o = null);
- return o
- }, e.clipExtent(null)
- }
- function Ie(n, t) {
- var e = Math.cos(t) * Math.sin(n);
- return[Math.log((1 + e) / (1 - e)) / 2, Math.atan2(Math.tan(t), Math.cos(n))]
- }
- function Ue(n) {
- function t(t) {
- function o() {
- l.push("M", i(n(s), a))
- }
- for (var c, l = [], s = [], f = -1, h = t.length, g = pt(e), p = pt(r); ++f < h; )
- u.call(this, c = t[f], f) ? s.push([+g.call(this, c, f), +p.call(this, c, f)]) : s.length && (o(), s = []);
- return s.length && o(), l.length ? l.join("") : null
- }
- var e = Ve, r = Ze, u = Zt, i = Xe, o = i.key, a = .7;
- return t.x = function (n) {
- return arguments.length ? (e = n, t) : e
- }, t.y = function (n) {
- return arguments.length ? (r = n, t) : r
- }, t.defined = function (n) {
- return arguments.length ? (u = n, t) : u
- }, t.interpolate = function (n) {
- return arguments.length ? (o = "function" == typeof n ? i = n : (i = fc.get(n) || Xe).key, t) : o
- }, t.tension = function (n) {
- return arguments.length ? (a = n, t) : a
- }, t
- }
- function Ve(n) {
- return n[0]
- }
- function Ze(n) {
- return n[1]
- }
- function Xe(n) {
- return n.join("L")
- }
- function Be(n) {
- return Xe(n) + "Z"
- }
- function $e(n) {
- for (var t = 0, e = n.length, r = n[0], u = [r[0], ",", r[1]]; ++t < e; )
- u.push("H", (r[0] + (r = n[t])[0]) / 2, "V", r[1]);
- return e > 1 && u.push("H", r[0]), u.join("")
- }
- function We(n) {
- for (var t = 0, e = n.length, r = n[0], u = [r[0], ",", r[1]]; ++t < e; )
- u.push("V", (r = n[t])[1], "H", r[0]);
- return u.join("")
- }
- function Je(n) {
- for (var t = 0, e = n.length, r = n[0], u = [r[0], ",", r[1]]; ++t < e; )
- u.push("H", (r = n[t])[0], "V", r[1]);
- return u.join("")
- }
- function Ge(n, t) {
- return n.length < 4 ? Xe(n) : n[1] + nr(n.slice(1, n.length - 1), tr(n, t))
- }
- function Ke(n, t) {
- return n.length < 3 ? Xe(n) : n[0] + nr((n.push(n[0]), n), tr([n[n.length - 2]].concat(n, [n[1]]), t))
- }
- function Qe(n, t) {
- return n.length < 3 ? Xe(n) : n[0] + nr(n, tr(n, t))
- }
- function nr(n, t) {
- if (t.length < 1 || n.length != t.length && n.length != t.length + 2)
- return Xe(n);
- var e = n.length != t.length, r = "", u = n[0], i = n[1], o = t[0], a = o, c = 1;
- if (e && (r += "Q" + (i[0] - 2 * o[0] / 3) + "," + (i[1] - 2 * o[1] / 3) + "," + i[0] + "," + i[1], u = n[1], c = 2), t.length > 1) {
- a = t[1], i = n[c], c++, r += "C" + (u[0] + o[0]) + "," + (u[1] + o[1]) + "," + (i[0] - a[0]) + "," + (i[1] - a[1]) + "," + i[0] + "," + i[1];
- for (var l = 2; l < t.length; l++, c++)
- i = n[c], a = t[l], r += "S" + (i[0] - a[0]) + "," + (i[1] - a[1]) + "," + i[0] + "," + i[1]
- }
- if (e) {
- var s = n[c];
- r += "Q" + (i[0] + 2 * a[0] / 3) + "," + (i[1] + 2 * a[1] / 3) + "," + s[0] + "," + s[1]
- }
- return r
- }
- function tr(n, t) {
- for (var e, r = [], u = (1 - t) / 2, i = n[0], o = n[1], a = 1, c = n.length; ++a < c; )
- e = i, i = o, o = n[a], r.push([u * (o[0] - e[0]), u * (o[1] - e[1])]);
- return r
- }
- function er(n) {
- if (n.length < 3)
- return Xe(n);
- var t = 1, e = n.length, r = n[0], u = r[0], i = r[1], o = [u, u, u, (r = n[1])[0]], a = [i, i, i, r[1]], c = [u, ",", i, "L", or(pc, o), ",", or(pc, a)];
- for (n.push(n[e - 1]); ++t <= e; )
- r = n[t], o.shift(), o.push(r[0]), a.shift(), a.push(r[1]), ar(c, o, a);
- return n.pop(), c.push("L", r), c.join("")
- }
- function rr(n) {
- if (n.length < 4)
- return Xe(n);
- for (var t, e = [], r = -1, u = n.length, i = [0], o = [0]; ++r < 3; )
- t = n[r], i.push(t[0]), o.push(t[1]);
- for (e.push(or(pc, i) + "," + or(pc, o)), --r; ++r < u; )
- t = n[r], i.shift(), i.push(t[0]), o.shift(), o.push(t[1]), ar(e, i, o);
- return e.join("")
- }
- function ur(n) {
- for (var t, e, r = -1, u = n.length, i = u + 4, o = [], a = []; ++r < 4; )
- e = n[r % u], o.push(e[0]), a.push(e[1]);
- for (t = [or(pc, o), ",", or(pc, a)], --r; ++r < i; )
- e = n[r % u], o.shift(), o.push(e[0]), a.shift(), a.push(e[1]), ar(t, o, a);
- return t.join("")
- }
- function ir(n, t) {
- var e = n.length - 1;
- if (e)
- for (var r, u, i = n[0][0], o = n[0][1], a = n[e][0] - i, c = n[e][1] - o, l = -1; ++l <= e; )
- r = n[l], u = l / e, r[0] = t * r[0] + (1 - t) * (i + u * a), r[1] = t * r[1] + (1 - t) * (o + u * c);
- return er(n)
- }
- function or(n, t) {
- return n[0] * t[0] + n[1] * t[1] + n[2] * t[2] + n[3] * t[3]
- }
- function ar(n, t, e) {
- n.push("C", or(hc, t), ",", or(hc, e), ",", or(gc, t), ",", or(gc, e), ",", or(pc, t), ",", or(pc, e))
- }
- function cr(n, t) {
- return(t[1] - n[1]) / (t[0] - n[0])
- }
- function lr(n) {
- for (var t = 0, e = n.length - 1, r = [], u = n[0], i = n[1], o = r[0] = cr(u, i); ++t < e; )
- r[t] = (o + (o = cr(u = i, i = n[t + 1]))) / 2;
- return r[t] = o, r
- }
- function sr(n) {
- for (var t, e, r, u, i = [], o = lr(n), a = -1, c = n.length - 1; ++a < c; )
- t = cr(n[a], n[a + 1]), Math.abs(t) < 1e-6 ? o[a] = o[a + 1] = 0 : (e = o[a] / t, r = o[a + 1] / t, u = e * e + r * r, u > 9 && (u = 3 * t / Math.sqrt(u), o[a] = u * e, o[a + 1] = u * r));
- for (a = - 1; ++a <= c; )
- u = (n[Math.min(c, a + 1)][0] - n[Math.max(0, a - 1)][0]) / (6 * (1 + o[a] * o[a])), i.push([u || 0, o[a] * u || 0]);
- return i
- }
- function fr(n) {
- return n.length < 3 ? Xe(n) : n[0] + nr(n, sr(n))
- }
- function hr(n, t, e, r) {
- var u, i, o, a, c, l, s;
- return u = r[n], i = u[0], o = u[1], u = r[t], a = u[0], c = u[1], u = r[e], l = u[0], s = u[1], (s - o) * (a - i) - (c - o) * (l - i) > 0
- }
- function gr(n, t, e) {
- return(e[0] - t[0]) * (n[1] - t[1]) < (e[1] - t[1]) * (n[0] - t[0])
- }
- function pr(n, t, e, r) {
- var u = n[0], i = e[0], o = t[0] - u, a = r[0] - i, c = n[1], l = e[1], s = t[1] - c, f = r[1] - l, h = (a * (c - l) - f * (u - i)) / (f * o - a * s);
- return[u + h * o, c + h * s]
- }
- function dr(n) {
- var t = n[0], e = n[n.length - 1];
- return!(t[0] - e[0] || t[1] - e[1])
- }
- function vr(n, t) {
- var e = {list: n.map(function (n, t) {
- return{index: t, x: n[0], y: n[1]}
- }).sort(function (n, t) {
- return n.y < t.y ? -1 : n.y > t.y ? 1 : n.x < t.x ? -1 : n.x > t.x ? 1 : 0
- }), bottomSite: null}, r = {list: [], leftEnd: null, rightEnd: null, init: function () {
- r.leftEnd = r.createHalfEdge(null, "l"), r.rightEnd = r.createHalfEdge(null, "l"), r.leftEnd.r = r.rightEnd, r.rightEnd.l = r.leftEnd, r.list.unshift(r.leftEnd, r.rightEnd)
- }, createHalfEdge: function (n, t) {
- return{edge: n, side: t, vertex: null, l: null, r: null}
- }, insert: function (n, t) {
- t.l = n, t.r = n.r, n.r.l = t, n.r = t
- }, leftBound: function (n) {
- var t = r.leftEnd;
- do
- t = t.r;
- while (t != r.rightEnd && u.rightOf(t, n));
- return t = t.l
- }, del: function (n) {
- n.l.r = n.r, n.r.l = n.l, n.edge = null
- }, right: function (n) {
- return n.r
- }, left: function (n) {
- return n.l
- }, leftRegion: function (n) {
- return null == n.edge ? e.bottomSite : n.edge.region[n.side]
- }, rightRegion: function (n) {
- return null == n.edge ? e.bottomSite : n.edge.region[vc[n.side]]
- }}, u = {bisect: function (n, t) {
- var e = {region: {l: n, r: t}, ep: {l: null, r: null}}, r = t.x - n.x, u = t.y - n.y, i = r > 0 ? r : -r, o = u > 0 ? u : -u;
- return e.c = n.x * r + n.y * u + .5 * (r * r + u * u), i > o ? (e.a = 1, e.b = u / r, e.c /= r) : (e.b = 1, e.a = r / u, e.c /= u), e
- }, intersect: function (n, t) {
- var e = n.edge, r = t.edge;
- if (!e || !r || e.region.r == r.region.r)
- return null;
- var u = e.a * r.b - e.b * r.a;
- if (Math.abs(u) < 1e-10)
- return null;
- var i, o, a = (e.c * r.b - r.c * e.b) / u, c = (r.c * e.a - e.c * r.a) / u, l = e.region.r, s = r.region.r;
- l.y < s.y || l.y == s.y && l.x < s.x ? (i = n, o = e) : (i = t, o = r);
- var f = a >= o.region.r.x;
- return f && "l" === i.side || !f && "r" === i.side ? null : {x: a, y: c}
- }, rightOf: function (n, t) {
- var e = n.edge, r = e.region.r, u = t.x > r.x;
- if (u && "l" === n.side)
- return 1;
- if (!u && "r" === n.side)
- return 0;
- if (1 === e.a) {
- var i = t.y - r.y, o = t.x - r.x, a = 0, c = 0;
- if (!u && e.b < 0 || u && e.b >= 0 ? c = a = i >= e.b * o : (c = t.x + t.y * e.b > e.c, e.b < 0 && (c = !c), c || (a = 1)), !a) {
- var l = r.x - e.region.l.x;
- c = e.b * (o * o - i * i) < l * i * (1 + 2 * o / l + e.b * e.b), e.b < 0 && (c = !c)
- }
- } else {
- var s = e.c - e.a * t.x, f = t.y - s, h = t.x - r.x, g = s - r.y;
- c = f * f > h * h + g * g
- }
- return"l" === n.side ? c : !c
- }, endPoint: function (n, e, r) {
- n.ep[e] = r, n.ep[vc[e]] && t(n)
- }, distance: function (n, t) {
- var e = n.x - t.x, r = n.y - t.y;
- return Math.sqrt(e * e + r * r)
- }}, i = {list: [], insert: function (n, t, e) {
- n.vertex = t, n.ystar = t.y + e;
- for (var r = 0, u = i.list, o = u.length; o > r; r++) {
- var a = u[r];
- if (!(n.ystar > a.ystar || n.ystar == a.ystar && t.x > a.vertex.x))
- break
- }
- u.splice(r, 0, n)
- }, del: function (n) {
- for (var t = 0, e = i.list, r = e.length; r > t && e[t] != n; ++t)
- ;
- e.splice(t, 1)
- }, empty: function () {
- return 0 === i.list.length
- }, nextEvent: function (n) {
- for (var t = 0, e = i.list, r = e.length; r > t; ++t)
- if (e[t] == n)
- return e[t + 1];
- return null
- }, min: function () {
- var n = i.list[0];
- return{x: n.vertex.x, y: n.ystar}
- }, extractMin: function () {
- return i.list.shift()
- }};
- r.init(), e.bottomSite = e.list.shift();
- for (var o, a, c, l, s, f, h, g, p, d, v, m, y, M = e.list.shift(); ; )
- if (i.empty() || (o = i.min()), M && (i.empty() || M.y < o.y || M.y == o.y && M.x < o.x))
- a = r.leftBound(M), c = r.right(a), h = r.rightRegion(a), m = u.bisect(h, M), f = r.createHalfEdge(m, "l"), r.insert(a, f), d = u.intersect(a, f), d && (i.del(a), i.insert(a, d, u.distance(d, M))), a = f, f = r.createHalfEdge(m, "r"), r.insert(a, f), d = u.intersect(f, c), d && i.insert(f, d, u.distance(d, M)), M = e.list.shift();
- else {
- if (i.empty())
- break;
- a = i.extractMin(), l = r.left(a), c = r.right(a), s = r.right(c), h = r.leftRegion(a), g = r.rightRegion(c), v = a.vertex, u.endPoint(a.edge, a.side, v), u.endPoint(c.edge, c.side, v), r.del(a), i.del(c), r.del(c), y = "l", h.y > g.y && (p = h, h = g, g = p, y = "r"), m = u.bisect(h, g), f = r.createHalfEdge(m, y), r.insert(l, f), u.endPoint(m, vc[y], v), d = u.intersect(l, f), d && (i.del(l), i.insert(l, d, u.distance(d, h))), d = u.intersect(f, s), d && i.insert(f, d, u.distance(d, h))
- }
- for (a = r.right(r.leftEnd); a != r.rightEnd; a = r.right(a))
- t(a.edge)
- }
- function mr(n) {
- return n.x
- }
- function yr(n) {
- return n.y
- }
- function Mr() {
- return{leaf: !0, nodes: [], point: null, x: null, y: null}
- }
- function xr(n, t, e, r, u, i) {
- if (!n(t, e, r, u, i)) {
- var o = .5 * (e + u), a = .5 * (r + i), c = t.nodes;
- c[0] && xr(n, c[0], e, r, o, a), c[1] && xr(n, c[1], o, r, u, a), c[2] && xr(n, c[2], e, a, o, i), c[3] && xr(n, c[3], o, a, u, i)
- }
- }
- function br(n, t) {
- n = vo.rgb(n), t = vo.rgb(t);
- var e = n.r, r = n.g, u = n.b, i = t.r - e, o = t.g - r, a = t.b - u;
- return function (n) {
- return"#" + ct(Math.round(e + i * n)) + ct(Math.round(r + o * n)) + ct(Math.round(u + a * n))
- }
- }
- function _r(n, t) {
- var e, r = {}, u = {};
- for (e in n)
- e in t ? r[e] = Er(n[e], t[e]) : u[e] = n[e];
- for (e in t)
- e in n || (u[e] = t[e]);
- return function (n) {
- for (e in r)
- u[e] = r[e](n);
- return u
- }
- }
- function wr(n, t) {
- return t -= n = +n, function (e) {
- return n + t * e
- }
- }
- function Sr(n, t) {
- var e, r, u, i, o, a = 0, c = 0, l = [], s = [];
- for (n += "", t += "", mc.lastIndex = 0, r = 0; e = mc.exec(t); ++r)
- e.index && l.push(t.substring(a, c = e.index)), s.push({i: l.length, x: e[0]}), l.push(null), a = mc.lastIndex;
- for (a < t.length && l.push(t.substring(a)), r = 0, i = s.length; (e = mc.exec(n)) && i > r; ++r)
- if (o = s[r], o.x == e[0]) {
- if (o.i)
- if (null == l[o.i + 1])
- for (l[o.i - 1] += o.x, l.splice(o.i, 1), u = r + 1; i > u; ++u)
- s[u].i--;
- else
- for (l[o.i - 1] += o.x + l[o.i + 1], l.splice(o.i, 2), u = r + 1; i > u; ++u)
- s[u].i -= 2;
- else if (null == l[o.i + 1])
- l[o.i] = o.x;
- else
- for (l[o.i] = o.x + l[o.i + 1], l.splice(o.i + 1, 1), u = r + 1; i > u; ++u)
- s[u].i--;
- s.splice(r, 1), i--, r--
- } else
- o.x = wr(parseFloat(e[0]), parseFloat(o.x));
- for (; i > r; )
- o = s.pop(), null == l[o.i + 1] ? l[o.i] = o.x : (l[o.i] = o.x + l[o.i + 1], l.splice(o.i + 1, 1)), i--;
- return 1 === l.length ? null == l[0] ? (o = s[0].x, function (n) {
- return o(n) + ""
- }) : function () {
- return t
- } : function (n) {
- for (r = 0; i > r; ++r)
- l[(o = s[r]).i] = o.x(n);
- return l.join("")
- }
- }
- function Er(n, t) {
- for (var e, r = vo.interpolators.length; --r >= 0 && !(e = vo.interpolators[r](n, t)); )
- ;
- return e
- }
- function kr(n, t) {
- var e, r = [], u = [], i = n.length, o = t.length, a = Math.min(n.length, t.length);
- for (e = 0; a > e; ++e)
- r.push(Er(n[e], t[e]));
- for (; i > e; ++e)
- u[e] = n[e];
- for (; o > e; ++e)
- u[e] = t[e];
- return function (n) {
- for (e = 0; a > e; ++e)
- u[e] = r[e](n);
- return u
- }
- }
- function Ar(n) {
- return function (t) {
- return 0 >= t ? 0 : t >= 1 ? 1 : n(t)
- }
- }
- function Nr(n) {
- return function (t) {
- return 1 - n(1 - t)
- }
- }
- function qr(n) {
- return function (t) {
- return.5 * (.5 > t ? n(2 * t) : 2 - n(2 - 2 * t))
- }
- }
- function Tr(n) {
- return n * n
- }
- function zr(n) {
- return n * n * n
- }
- function Cr(n) {
- if (0 >= n)
- return 0;
- if (n >= 1)
- return 1;
- var t = n * n, e = t * n;
- return 4 * (.5 > n ? e : 3 * (n - t) + e - .75)
- }
- function Dr(n) {
- return function (t) {
- return Math.pow(t, n)
- }
- }
- function jr(n) {
- return 1 - Math.cos(n * Bo / 2)
- }
- function Lr(n) {
- return Math.pow(2, 10 * (n - 1))
- }
- function Hr(n) {
- return 1 - Math.sqrt(1 - n * n)
- }
- function Fr(n, t) {
- var e;
- return arguments.length < 2 && (t = .45), arguments.length ? e = t / (2 * Bo) * Math.asin(1 / n) : (n = 1, e = t / 4), function (r) {
- return 1 + n * Math.pow(2, 10 * -r) * Math.sin(2 * (r - e) * Bo / t)
- }
- }
- function Pr(n) {
- return n || (n = 1.70158), function (t) {
- return t * t * ((n + 1) * t - n)
- }
- }
- function Or(n) {
- return 1 / 2.75 > n ? 7.5625 * n * n : 2 / 2.75 > n ? 7.5625 * (n -= 1.5 / 2.75) * n + .75 : 2.5 / 2.75 > n ? 7.5625 * (n -= 2.25 / 2.75) * n + .9375 : 7.5625 * (n -= 2.625 / 2.75) * n + .984375
- }
- function Rr(n, t) {
- n = vo.hcl(n), t = vo.hcl(t);
- var e = n.h, r = n.c, u = n.l, i = t.h - e, o = t.c - r, a = t.l - u;
- return isNaN(o) && (o = 0, r = isNaN(r) ? t.c : r), isNaN(i) ? (i = 0, e = isNaN(e) ? t.h : e) : i > 180 ? i -= 360 : -180 > i && (i += 360), function (n) {
- return J(e + i * n, r + o * n, u + a * n) + ""
- }
- }
- function Yr(n, t) {
- n = vo.hsl(n), t = vo.hsl(t);
- var e = n.h, r = n.s, u = n.l, i = t.h - e, o = t.s - r, a = t.l - u;
- return isNaN(o) && (o = 0, r = isNaN(r) ? t.s : r), isNaN(i) ? (i = 0, e = isNaN(e) ? t.h : e) : i > 180 ? i -= 360 : -180 > i && (i += 360), function (n) {
- return B(e + i * n, r + o * n, u + a * n) + ""
- }
- }
- function Ir(n, t) {
- n = vo.lab(n), t = vo.lab(t);
- var e = n.l, r = n.a, u = n.b, i = t.l - e, o = t.a - r, a = t.b - u;
- return function (n) {
- return Q(e + i * n, r + o * n, u + a * n) + ""
- }
- }
- function Ur(n, t) {
- return t -= n, function (e) {
- return Math.round(n + t * e)
- }
- }
- function Vr(n) {
- var t = [n.a, n.b], e = [n.c, n.d], r = Xr(t), u = Zr(t, e), i = Xr(Br(e, t, -u)) || 0;
- t[0] * e[1] < e[0] * t[1] && (t[0] *= -1, t[1] *= -1, r *= -1, u *= -1), this.rotate = (r ? Math.atan2(t[1], t[0]) : Math.atan2(-e[0], e[1])) * Go, this.translate = [n.e, n.f], this.scale = [r, i], this.skew = i ? Math.atan2(u, i) * Go : 0
- }
- function Zr(n, t) {
- return n[0] * t[0] + n[1] * t[1]
- }
- function Xr(n) {
- var t = Math.sqrt(Zr(n, n));
- return t && (n[0] /= t, n[1] /= t), t
- }
- function Br(n, t, e) {
- return n[0] += e * t[0], n[1] += e * t[1], n
- }
- function $r(n, t) {
- var e, r = [], u = [], i = vo.transform(n), o = vo.transform(t), a = i.translate, c = o.translate, l = i.rotate, s = o.rotate, f = i.skew, h = o.skew, g = i.scale, p = o.scale;
- return a[0] != c[0] || a[1] != c[1] ? (r.push("translate(", null, ",", null, ")"), u.push({i: 1, x: wr(a[0], c[0])}, {i: 3, x: wr(a[1], c[1])})) : c[0] || c[1] ? r.push("translate(" + c + ")") : r.push(""), l != s ? (l - s > 180 ? s += 360 : s - l > 180 && (l += 360), u.push({i: r.push(r.pop() + "rotate(", null, ")") - 2, x: wr(l, s)})) : s && r.push(r.pop() + "rotate(" + s + ")"), f != h ? u.push({i: r.push(r.pop() + "skewX(", null, ")") - 2, x: wr(f, h)}) : h && r.push(r.pop() + "skewX(" + h + ")"), g[0] != p[0] || g[1] != p[1] ? (e = r.push(r.pop() + "scale(", null, ",", null, ")"), u.push({i: e - 4, x: wr(g[0], p[0])}, {i: e - 2, x: wr(g[1], p[1])})) : (1 != p[0] || 1 != p[1]) && r.push(r.pop() + "scale(" + p + ")"), e = u.length, function (n) {
- for (var t, i = -1; ++i < e; )
- r[(t = u[i]).i] = t.x(n);
- return r.join("")
- }
- }
- function Wr(n, t) {
- return t = t - (n = +n) ? 1 / (t - n) : 0, function (e) {
- return(e - n) * t
- }
- }
- function Jr(n, t) {
- return t = t - (n = +n) ? 1 / (t - n) : 0, function (e) {
- return Math.max(0, Math.min(1, (e - n) * t))
- }
- }
- function Gr(n) {
- for (var t = n.source, e = n.target, r = Qr(t, e), u = [t]; t !== r; )
- t = t.parent, u.push(t);
- for (var i = u.length; e !== r; )
- u.splice(i, 0, e), e = e.parent;
- return u
- }
- function Kr(n) {
- for (var t = [], e = n.parent; null != e; )
- t.push(n), n = e, e = e.parent;
- return t.push(n), t
- }
- function Qr(n, t) {
- if (n === t)
- return n;
- for (var e = Kr(n), r = Kr(t), u = e.pop(), i = r.pop(), o = null; u === i; )
- o = u, u = e.pop(), i = r.pop();
- return o
- }
- function nu(n) {
- n.fixed |= 2
- }
- function tu(n) {
- n.fixed &= -7
- }
- function eu(n) {
- n.fixed |= 4, n.px = n.x, n.py = n.y
- }
- function ru(n) {
- n.fixed &= -5
- }
- function uu(n, t, e) {
- var r = 0, u = 0;
- if (n.charge = 0, !n.leaf)
- for (var i, o = n.nodes, a = o.length, c = -1; ++c < a; )
- i = o[c], null != i && (uu(i, t, e), n.charge += i.charge, r += i.charge * i.cx, u += i.charge * i.cy);
- if (n.point) {
- n.leaf || (n.point.x += Math.random() - .5, n.point.y += Math.random() - .5);
- var l = t * e[n.point.index];
- n.charge += n.pointCharge = l, r += l * n.point.x, u += l * n.point.y
- }
- n.cx = r / n.charge, n.cy = u / n.charge
- }
- function iu(n, t) {
- return vo.rebind(n, t, "sort", "children", "value"), n.nodes = n, n.links = lu, n
- }
- function ou(n) {
- return n.children
- }
- function au(n) {
- return n.value
- }
- function cu(n, t) {
- return t.value - n.value
- }
- function lu(n) {
- return vo.merge(n.map(function (n) {
- return(n.children || []).map(function (t) {
- return{source: n, target: t}
- })
- }))
- }
- function su(n) {
- return n.x
- }
- function fu(n) {
- return n.y
- }
- function hu(n, t, e) {
- n.y0 = t, n.y = e
- }
- function gu(n) {
- return vo.range(n.length)
- }
- function pu(n) {
- for (var t = -1, e = n[0].length, r = []; ++t < e; )
- r[t] = 0;
- return r
- }
- function du(n) {
- for (var t, e = 1, r = 0, u = n[0][1], i = n.length; i > e; ++e)
- (t = n[e][1]) > u && (r = e, u = t);
- return r
- }
- function vu(n) {
- return n.reduce(mu, 0)
- }
- function mu(n, t) {
- return n + t[1]
- }
- function yu(n, t) {
- return Mu(n, Math.ceil(Math.log(t.length) / Math.LN2 + 1))
- }
- function Mu(n, t) {
- for (var e = -1, r = +n[0], u = (n[1] - r) / t, i = []; ++e <= t; )
- i[e] = u * e + r;
- return i
- }
- function xu(n) {
- return[vo.min(n), vo.max(n)]
- }
- function bu(n, t) {
- return n.parent == t.parent ? 1 : 2
- }
- function _u(n) {
- var t = n.children;
- return t && t.length ? t[0] : n._tree.thread
- }
- function wu(n) {
- var t, e = n.children;
- return e && (t = e.length) ? e[t - 1] : n._tree.thread
- }
- function Su(n, t) {
- var e = n.children;
- if (e && (u = e.length))
- for (var r, u, i = -1; ++i < u; )
- t(r = Su(e[i], t), n) > 0 && (n = r);
- return n
- }
- function Eu(n, t) {
- return n.x - t.x
- }
- function ku(n, t) {
- return t.x - n.x
- }
- function Au(n, t) {
- return n.depth - t.depth
- }
- function Nu(n, t) {
- function e(n, r) {
- var u = n.children;
- if (u && (o = u.length))
- for (var i, o, a = null, c = -1; ++c < o; )
- i = u[c], e(i, a), a = i;
- t(n, r)
- }
- e(n, null)
- }
- function qu(n) {
- for (var t, e = 0, r = 0, u = n.children, i = u.length; --i >= 0; )
- t = u[i]._tree, t.prelim += e, t.mod += e, e += t.shift + (r += t.change)
- }
- function Tu(n, t, e) {
- n = n._tree, t = t._tree;
- var r = e / (t.number - n.number);
- n.change += r, t.change -= r, t.shift += e, t.prelim += e, t.mod += e
- }
- function zu(n, t, e) {
- return n._tree.ancestor.parent == t.parent ? n._tree.ancestor : e
- }
- function Cu(n, t) {
- return n.value - t.value
- }
- function Du(n, t) {
- var e = n._pack_next;
- n._pack_next = t, t._pack_prev = n, t._pack_next = e, e._pack_prev = t
- }
- function ju(n, t) {
- n._pack_next = t, t._pack_prev = n
- }
- function Lu(n, t) {
- var e = t.x - n.x, r = t.y - n.y, u = n.r + t.r;
- return.999 * u * u > e * e + r * r
- }
- function Hu(n) {
- function t(n) {
- s = Math.min(n.x - n.r, s), f = Math.max(n.x + n.r, f), h = Math.min(n.y - n.r, h), g = Math.max(n.y + n.r, g)
- }
- if ((e = n.children) && (l = e.length)) {
- var e, r, u, i, o, a, c, l, s = 1 / 0, f = -1 / 0, h = 1 / 0, g = -1 / 0;
- if (e.forEach(Fu), r = e[0], r.x = -r.r, r.y = 0, t(r), l > 1 && (u = e[1], u.x = u.r, u.y = 0, t(u), l > 2))
- for (i = e[2], Ru(r, u, i), t(i), Du(r, i), r._pack_prev = i, Du(i, u), u = r._pack_next, o = 3; l > o; o++) {
- Ru(r, u, i = e[o]);
- var p = 0, d = 1, v = 1;
- for (a = u._pack_next; a !== u; a = a._pack_next, d++)
- if (Lu(a, i)) {
- p = 1;
- break
- }
- if (1 == p)
- for (c = r._pack_prev; c !== a._pack_prev && !Lu(c, i); c = c._pack_prev, v++)
- ;
- p ? (v > d || d == v && u.r < r.r ? ju(r, u = a) : ju(r = c, u), o--) : (Du(r, i), u = i, t(i))
- }
- var m = (s + f) / 2, y = (h + g) / 2, M = 0;
- for (o = 0; l > o; o++)
- i = e[o], i.x -= m, i.y -= y, M = Math.max(M, i.r + Math.sqrt(i.x * i.x + i.y * i.y));
- n.r = M, e.forEach(Pu)
- }
- }
- function Fu(n) {
- n._pack_next = n._pack_prev = n
- }
- function Pu(n) {
- delete n._pack_next, delete n._pack_prev
- }
- function Ou(n, t, e, r) {
- var u = n.children;
- if (n.x = t += r * n.x, n.y = e += r * n.y, n.r *= r, u)
- for (var i = -1, o = u.length; ++i < o; )
- Ou(u[i], t, e, r)
- }
- function Ru(n, t, e) {
- var r = n.r + e.r, u = t.x - n.x, i = t.y - n.y;
- if (r && (u || i)) {
- var o = t.r + e.r, a = u * u + i * i;
- o *= o, r *= r;
- var c = .5 + (r - o) / (2 * a), l = Math.sqrt(Math.max(0, 2 * o * (r + a) - (r -= a) * r - o * o)) / (2 * a);
- e.x = n.x + c * u + l * i, e.y = n.y + c * i - l * u
- } else
- e.x = n.x + r, e.y = n.y
- }
- function Yu(n) {
- return 1 + vo.max(n, function (n) {
- return n.y
- })
- }
- function Iu(n) {
- return n.reduce(function (n, t) {
- return n + t.x
- }, 0) / n.length
- }
- function Uu(n) {
- var t = n.children;
- return t && t.length ? Uu(t[0]) : n
- }
- function Vu(n) {
- var t, e = n.children;
- return e && (t = e.length) ? Vu(e[t - 1]) : n
- }
- function Zu(n) {
- return{x: n.x, y: n.y, dx: n.dx, dy: n.dy}
- }
- function Xu(n, t) {
- var e = n.x + t[3], r = n.y + t[0], u = n.dx - t[1] - t[3], i = n.dy - t[0] - t[2];
- return 0 > u && (e += u / 2, u = 0), 0 > i && (r += i / 2, i = 0), {x: e, y: r, dx: u, dy: i}
- }
- function Bu(n) {
- var t = n[0], e = n[n.length - 1];
- return e > t ? [t, e] : [e, t]
- }
- function $u(n) {
- return n.rangeExtent ? n.rangeExtent() : Bu(n.range())
- }
- function Wu(n, t, e, r) {
- var u = e(n[0], n[1]), i = r(t[0], t[1]);
- return function (n) {
- return i(u(n))
- }
- }
- function Ju(n, t) {
- var e, r = 0, u = n.length - 1, i = n[r], o = n[u];
- return i > o && (e = r, r = u, u = e, e = i, i = o, o = e), n[r] = t.floor(i), n[u] = t.ceil(o), n
- }
- function Gu(n) {
- return n ? {floor: function (t) {
- return Math.floor(t / n) * n
- }, ceil: function (t) {
- return Math.ceil(t / n) * n
- }} : Ac
- }
- function Ku(n, t, e, r) {
- var u = [], i = [], o = 0, a = Math.min(n.length, t.length) - 1;
- for (n[a] < n[0] && (n = n.slice().reverse(), t = t.slice().reverse()); ++o <= a; )
- u.push(e(n[o - 1], n[o])), i.push(r(t[o - 1], t[o]));
- return function (t) {
- var e = vo.bisect(n, t, 1, a) - 1;
- return i[e](u[e](t))
- }
- }
- function Qu(n, t, e, r) {
- function u() {
- var u = Math.min(n.length, t.length) > 2 ? Ku : Wu, c = r ? Jr : Wr;
- return o = u(n, t, c, e), a = u(t, n, c, Er), i
- }
- function i(n) {
- return o(n)
- }
- var o, a;
- return i.invert = function (n) {
- return a(n)
- }, i.domain = function (t) {
- return arguments.length ? (n = t.map(Number), u()) : n
- }, i.range = function (n) {
- return arguments.length ? (t = n, u()) : t
- }, i.rangeRound = function (n) {
- return i.range(n).interpolate(Ur)
- }, i.clamp = function (n) {
- return arguments.length ? (r = n, u()) : r
- }, i.interpolate = function (n) {
- return arguments.length ? (e = n, u()) : e
- }, i.ticks = function (t) {
- return ri(n, t)
- }, i.tickFormat = function (t, e) {
- return ui(n, t, e)
- }, i.nice = function (t) {
- return ti(n, t), u()
- }, i.copy = function () {
- return Qu(n, t, e, r)
- }, u()
- }
- function ni(n, t) {
- return vo.rebind(n, t, "range", "rangeRound", "interpolate", "clamp")
- }
- function ti(n, t) {
- return Ju(n, Gu(ei(n, t)[2]))
- }
- function ei(n, t) {
- null == t && (t = 10);
- var e = Bu(n), r = e[1] - e[0], u = Math.pow(10, Math.floor(Math.log(r / t) / Math.LN10)), i = t / r * u;
- return.15 >= i ? u *= 10 : .35 >= i ? u *= 5 : .75 >= i && (u *= 2), e[0] = Math.ceil(e[0] / u) * u, e[1] = Math.floor(e[1] / u) * u + .5 * u, e[2] = u, e
- }
- function ri(n, t) {
- return vo.range.apply(vo, ei(n, t))
- }
- function ui(n, t, e) {
- var r = -Math.floor(Math.log(ei(n, t)[2]) / Math.LN10 + .01);
- return vo.format(e ? e.replace(Sa, function (n, t, e, u, i, o, a, c, l, s) {
- return[t, e, u, i, o, a, c, l || "." + (r - 2 * ("%" === s)), s].join("")
- }) : ",." + r + "f")
- }
- function ii(n, t, e, r) {
- function u(n) {
- return(e ? Math.log(0 > n ? 0 : n) : -Math.log(n > 0 ? 0 : -n)) / Math.log(t)
- }
- function i(n) {
- return e ? Math.pow(t, n) : -Math.pow(t, -n)
- }
- function o(t) {
- return n(u(t))
- }
- return o.invert = function (t) {
- return i(n.invert(t))
- }, o.domain = function (t) {
- return arguments.length ? (e = t[0] >= 0, n.domain((r = t.map(Number)).map(u)), o) : r
- }, o.base = function (e) {
- return arguments.length ? (t = +e, n.domain(r.map(u)), o) : t
- }, o.nice = function () {
- var t = Ju(r.map(u), e ? Math : qc);
- return n.domain(t), r = t.map(i), o
- }, o.ticks = function () {
- var n = Bu(r), o = [], a = n[0], c = n[1], l = Math.floor(u(a)), s = Math.ceil(u(c)), f = t % 1 ? 2 : t;
- if (isFinite(s - l)) {
- if (e) {
- for (; s > l; l++)
- for (var h = 1; f > h; h++)
- o.push(i(l) * h);
- o.push(i(l))
- } else
- for (o.push(i(l)); l++ < s; )
- for (var h = f - 1; h > 0; h--)
- o.push(i(l) * h);
- for (l = 0; o[l] < a; l++)
- ;
- for (s = o.length; o[s - 1] > c; s--)
- ;
- o = o.slice(l, s)
- }
- return o
- }, o.tickFormat = function (n, t) {
- if (!arguments.length)
- return Nc;
- arguments.length < 2 ? t = Nc : "function" != typeof t && (t = vo.format(t));
- var r, a = Math.max(.1, n / o.ticks().length), c = e ? (r = 1e-12, Math.ceil) : (r = -1e-12, Math.floor);
- return function (n) {
- return n / i(c(u(n) + r)) <= a ? t(n) : ""
- }
- }, o.copy = function () {
- return ii(n.copy(), t, e, r)
- }, ni(o, n)
- }
- function oi(n, t, e) {
- function r(t) {
- return n(u(t))
- }
- var u = ai(t), i = ai(1 / t);
- return r.invert = function (t) {
- return i(n.invert(t))
- }, r.domain = function (t) {
- return arguments.length ? (n.domain((e = t.map(Number)).map(u)), r) : e
- }, r.ticks = function (n) {
- return ri(e, n)
- }, r.tickFormat = function (n, t) {
- return ui(e, n, t)
- }, r.nice = function (n) {
- return r.domain(ti(e, n))
- }, r.exponent = function (o) {
- return arguments.length ? (u = ai(t = o), i = ai(1 / t), n.domain(e.map(u)), r) : t
- }, r.copy = function () {
- return oi(n.copy(), t, e)
- }, ni(r, n)
- }
- function ai(n) {
- return function (t) {
- return 0 > t ? -Math.pow(-t, n) : Math.pow(t, n)
- }
- }
- function ci(n, t) {
- function e(t) {
- return o[((i.get(t) || i.set(t, n.push(t))) - 1) % o.length]
- }
- function r(t, e) {
- return vo.range(n.length).map(function (n) {
- return t + e * n
- })
- }
- var i, o, a;
- return e.domain = function (r) {
- if (!arguments.length)
- return n;
- n = [], i = new u;
- for (var o, a = -1, c = r.length; ++a < c; )
- i.has(o = r[a]) || i.set(o, n.push(o));
- return e[t.t].apply(e, t.a)
- }, e.range = function (n) {
- return arguments.length ? (o = n, a = 0, t = {t: "range", a: arguments}, e) : o
- }, e.rangePoints = function (u, i) {
- arguments.length < 2 && (i = 0);
- var c = u[0], l = u[1], s = (l - c) / (Math.max(1, n.length - 1) + i);
- return o = r(n.length < 2 ? (c + l) / 2 : c + s * i / 2, s), a = 0, t = {t: "rangePoints", a: arguments}, e
- }, e.rangeBands = function (u, i, c) {
- arguments.length < 2 && (i = 0), arguments.length < 3 && (c = i);
- var l = u[1] < u[0], s = u[l - 0], f = u[1 - l], h = (f - s) / (n.length - i + 2 * c);
- return o = r(s + h * c, h), l && o.reverse(), a = h * (1 - i), t = {t: "rangeBands", a: arguments}, e
- }, e.rangeRoundBands = function (u, i, c) {
- arguments.length < 2 && (i = 0), arguments.length < 3 && (c = i);
- var l = u[1] < u[0], s = u[l - 0], f = u[1 - l], h = Math.floor((f - s) / (n.length - i + 2 * c)), g = f - s - (n.length - i) * h;
- return o = r(s + Math.round(g / 2), h), l && o.reverse(), a = Math.round(h * (1 - i)), t = {t: "rangeRoundBands", a: arguments}, e
- }, e.rangeBand = function () {
- return a
- }, e.rangeExtent = function () {
- return Bu(t.a[0])
- }, e.copy = function () {
- return ci(n, t)
- }, e.domain(n)
- }
- function li(n, t) {
- function e() {
- var e = 0, i = t.length;
- for (u = []; ++e < i; )
- u[e - 1] = vo.quantile(n, e / i);
- return r
- }
- function r(n) {
- return isNaN(n = +n) ? void 0 : t[vo.bisect(u, n)]
- }
- var u;
- return r.domain = function (t) {
- return arguments.length ? (n = t.filter(function (n) {
- return!isNaN(n)
- }).sort(vo.ascending), e()) : n
- }, r.range = function (n) {
- return arguments.length ? (t = n, e()) : t
- }, r.quantiles = function () {
- return u
- }, r.invertExtent = function (e) {
- return e = t.indexOf(e), 0 > e ? [0 / 0, 0 / 0] : [e > 0 ? u[e - 1] : n[0], e < u.length ? u[e] : n[n.length - 1]]
- }, r.copy = function () {
- return li(n, t)
- }, e()
- }
- function si(n, t, e) {
- function r(t) {
-
<TRUNCATED>