http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/b61a1def/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>