stratos-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ga...@apache.org
Subject [35/51] [abbrv] [partial] stratos git commit: Restructing das extension repository
Date Tue, 13 Oct 2015 10:05:26 GMT
http://git-wip-us.apache.org/repos/asf/stratos/blob/53c98dd9/extensions/das/metering-service/capps/stratos-metering-service/Gadget_Member_Information/Member_Information/js/d3.geomap.dependencies.min.js
----------------------------------------------------------------------
diff --git a/extensions/das/metering-service/capps/stratos-metering-service/Gadget_Member_Information/Member_Information/js/d3.geomap.dependencies.min.js b/extensions/das/metering-service/capps/stratos-metering-service/Gadget_Member_Information/Member_Information/js/d3.geomap.dependencies.min.js
deleted file mode 100644
index 390b86f..0000000
--- a/extensions/das/metering-service/capps/stratos-metering-service/Gadget_Member_Information/Member_Information/js/d3.geomap.dependencies.min.js
+++ /dev/null
@@ -1,8235 +0,0 @@
-/*!
- * d3.geomap
- * https://github.com/yaph/d3-geomap/blob/master/LICENSE
- * MIT licensed
- * Copyright (C) 2015 by Ramiro Gómez (http://ramiro.org/)
- */
-!function () {
-    function n(n) {
-        return n && (n.ownerDocument || n.document || n).documentElement
-    }
-
-    function t(n) {
-        return n && (n.ownerDocument && n.ownerDocument.defaultView || n.document && n || n.defaultView)
-    }
-
-    function e(n, t) {
-        return t > n ? -1 : n > t ? 1 : n >= t ? 0 : 0 / 0
-    }
-
-    function r(n) {
-        return null === n ? 0 / 0 : +n
-    }
-
-    function u(n) {
-        return !isNaN(n)
-    }
-
-    function i(n) {
-        return {
-            left: function (t, e, r, u) {
-                for (arguments.length < 3 && (r = 0), arguments.length < 4 && (u = t.length); u > r;) {
-                    var i = r + u >>> 1;
-                    n(t[i], e) < 0 ? r = i + 1 : u = i
-                }
-                return r
-            }, right: function (t, e, r, u) {
-                for (arguments.length < 3 && (r = 0), arguments.length < 4 && (u = t.length); u > r;) {
-                    var i = r + u >>> 1;
-                    n(t[i], e) > 0 ? u = i : r = i + 1
-                }
-                return r
-            }
-        }
-    }
-
-    function o(n) {
-        return n.length
-    }
-
-    function a(n) {
-        for (var t = 1; n * t % 1;)t *= 10;
-        return t
-    }
-
-    function c(n, t) {
-        for (var e in t)Object.defineProperty(n.prototype, e, {value: t[e], enumerable: !1})
-    }
-
-    function l() {
-        this._ = Object.create(null)
-    }
-
-    function s(n) {
-        return (n += "") === pa || n[0] === va ? va + n : n
-    }
-
-    function f(n) {
-        return (n += "")[0] === va ? n.slice(1) : n
-    }
-
-    function h(n) {
-        return s(n)in this._
-    }
-
-    function g(n) {
-        return (n = s(n))in this._ && delete this._[n]
-    }
-
-    function p() {
-        var n = [];
-        for (var t in this._)n.push(f(t));
-        return n
-    }
-
-    function v() {
-        var n = 0;
-        for (var t in this._)++n;
-        return n
-    }
-
-    function d() {
-        for (var n in this._)return !1;
-        return !0
-    }
-
-    function m() {
-        this._ = Object.create(null)
-    }
-
-    function y(n) {
-        return n
-    }
-
-    function M(n, t, e) {
-        return function () {
-            var r = e.apply(t, arguments);
-            return r === t ? n : r
-        }
-    }
-
-    function x(n, t) {
-        if (t in n)return t;
-        t = t.charAt(0).toUpperCase() + t.slice(1);
-        for (var e = 0, r = da.length; r > e; ++e) {
-            var u = da[e] + t;
-            if (u in n)return u
-        }
-    }
-
-    function b() {
-    }
-
-    function _() {
-    }
-
-    function w(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 l;
-        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 S() {
-        ta.event.preventDefault()
-    }
-
-    function k() {
-        for (var n, t = ta.event; n = t.sourceEvent;)t = n;
-        return t
-    }
-
-    function E(n) {
-        for (var t = new _, e = 0, r = arguments.length; ++e < r;)t[arguments[e]] = w(t);
-        return t.of = function (e, r) {
-            return function (u) {
-                try {
-                    var i = u.sourceEvent = ta.event;
-                    u.target = n, ta.event = u, t[u.type].apply(e, r)
-                } finally {
-                    ta.event = i
-                }
-            }
-        }, t
-    }
-
-    function A(n) {
-        return ya(n, _a), n
-    }
-
-    function N(n) {
-        return "function" == typeof n ? n : function () {
-            return Ma(n, this)
-        }
-    }
-
-    function C(n) {
-        return "function" == typeof n ? n : function () {
-            return xa(n, this)
-        }
-    }
-
-    function z(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 = ta.ns.qualify(n), null == t ? n.local ? r : e : "function" == typeof t ? n.local ? a : o : n.local ? i : u
-    }
-
-    function q(n) {
-        return n.trim().replace(/\s+/g, " ")
-    }
-
-    function L(n) {
-        return new RegExp("(?:^|\\s+)" + ta.requote(n) + "(?:\\s+|$)", "g")
-    }
-
-    function T(n) {
-        return (n + "").trim().split(/^|\s+/)
-    }
-
-    function R(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 = T(n).map(D);
-        var u = n.length;
-        return "function" == typeof t ? r : e
-    }
-
-    function D(n) {
-        var t = L(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", q(u + " " + n))) : e.setAttribute("class", q(u.replace(t, " ")))
-        }
-    }
-
-    function P(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 U(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 j(n) {
-        function t() {
-            var t = this.ownerDocument, e = this.namespaceURI;
-            return e ? t.createElementNS(e, n) : t.createElement(n)
-        }
-
-        function e() {
-            return this.ownerDocument.createElementNS(n.space, n.local)
-        }
-
-        return "function" == typeof n ? n : (n = ta.ns.qualify(n)).local ? e : t
-    }
-
-    function F() {
-        var n = this.parentNode;
-        n && n.removeChild(this)
-    }
-
-    function H(n) {
-        return {__data__: n}
-    }
-
-    function O(n) {
-        return function () {
-            return ba(this, n)
-        }
-    }
-
-    function I(n) {
-        return arguments.length || (n = e), function (t, e) {
-            return t && e ? n(t.__data__, e.__data__) : !t - !e
-        }
-    }
-
-    function Y(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 Z(n) {
-        return ya(n, Sa), n
-    }
-
-    function V(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 X(n, t, e) {
-        function r() {
-            var t = this[o];
-            t && (this.removeEventListener(n, t, t.$), delete this[o])
-        }
-
-        function u() {
-            var u = c(t, ra(arguments));
-            r.call(this), this.addEventListener(n, this[o] = u, u.$ = e), u._ = t
-        }
-
-        function i() {
-            var t, e = new RegExp("^__on([^.]+)" + ta.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("."), c = $;
-        a > 0 && (n = n.slice(0, a));
-        var l = ka.get(n);
-        return l && (n = l, c = B), a ? t ? u : r : t ? b : i
-    }
-
-    function $(n, t) {
-        return function (e) {
-            var r = ta.event;
-            ta.event = e, t[0] = this.__data__;
-            try {
-                n.apply(this, t)
-            } finally {
-                ta.event = r
-            }
-        }
-    }
-
-    function B(n, t) {
-        var e = $(n, t);
-        return function (n) {
-            var t = this, r = n.relatedTarget;
-            r && (r === t || 8 & r.compareDocumentPosition(t)) || e.call(t, n)
-        }
-    }
-
-    function W(e) {
-        var r = ".dragsuppress-" + ++Aa, u = "click" + r, i = ta.select(t(e)).on("touchmove" + r, S).on("dragstart" + r, S).on("selectstart" + r, S);
-        if (null == Ea && (Ea = "onselectstart"in e ? !1 : x(e.style, "userSelect")), Ea) {
-            var o = n(e).style, a = o[Ea];
-            o[Ea] = "none"
-        }
-        return function (n) {
-            if (i.on(r, null), Ea && (o[Ea] = a), n) {
-                var t = function () {
-                    i.on(u, null)
-                };
-                i.on(u, function () {
-                    S(), t()
-                }, !0), setTimeout(t, 0)
-            }
-        }
-    }
-
-    function J(n, e) {
-        e.changedTouches && (e = e.changedTouches[0]);
-        var r = n.ownerSVGElement || n;
-        if (r.createSVGPoint) {
-            var u = r.createSVGPoint();
-            if (0 > Na) {
-                var i = t(n);
-                if (i.scrollX || i.scrollY) {
-                    r = ta.select("body").append("svg").style({
-                        position: "absolute",
-                        top: 0,
-                        left: 0,
-                        margin: 0,
-                        padding: 0,
-                        border: "none"
-                    }, "important");
-                    var o = r[0][0].getScreenCTM();
-                    Na = !(o.f || o.e), r.remove()
-                }
-            }
-            return Na ? (u.x = e.pageX, u.y = e.pageY) : (u.x = e.clientX, u.y = e.clientY), u = u.matrixTransform(n.getScreenCTM().inverse()), [u.x, u.y]
-        }
-        var a = n.getBoundingClientRect();
-        return [e.clientX - a.left - n.clientLeft, e.clientY - a.top - n.clientTop]
-    }
-
-    function G() {
-        return ta.event.changedTouches[0].identifier
-    }
-
-    function K(n) {
-        return n > 0 ? 1 : 0 > n ? -1 : 0
-    }
-
-    function Q(n, t, e) {
-        return (t[0] - n[0]) * (e[1] - n[1]) - (t[1] - n[1]) * (e[0] - n[0])
-    }
-
-    function nt(n) {
-        return n > 1 ? 0 : -1 > n ? qa : Math.acos(n)
-    }
-
-    function tt(n) {
-        return n > 1 ? Ra : -1 > n ? -Ra : Math.asin(n)
-    }
-
-    function et(n) {
-        return ((n = Math.exp(n)) - 1 / n) / 2
-    }
-
-    function rt(n) {
-        return ((n = Math.exp(n)) + 1 / n) / 2
-    }
-
-    function ut(n) {
-        return ((n = Math.exp(2 * n)) - 1) / (n + 1)
-    }
-
-    function it(n) {
-        return (n = Math.sin(n / 2)) * n
-    }
-
-    function ot() {
-    }
-
-    function at(n, t, e) {
-        return this instanceof at ? (this.h = +n, this.s = +t, void(this.l = +e)) : arguments.length < 2 ? n instanceof at ? new at(n.h, n.s, n.l) : bt("" + n, _t, at) : new at(n, t, e)
-    }
-
-    function ct(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, new mt(u(n + 120), u(n), u(n - 120))
-    }
-
-    function lt(n, t, e) {
-        return this instanceof lt ? (this.h = +n, this.c = +t, void(this.l = +e)) : arguments.length < 2 ? n instanceof lt ? new lt(n.h, n.c, n.l) : n instanceof ft ? gt(n.l, n.a, n.b) : gt((n = wt((n = ta.rgb(n)).r, n.g, n.b)).l, n.a, n.b) : new lt(n, t, e)
-    }
-
-    function st(n, t, e) {
-        return isNaN(n) && (n = 0), isNaN(t) && (t = 0), new ft(e, Math.cos(n *= Da) * t, Math.sin(n) * t)
-    }
-
-    function ft(n, t, e) {
-        return this instanceof ft ? (this.l = +n, this.a = +t, void(this.b = +e)) : arguments.length < 2 ? n instanceof ft ? new ft(n.l, n.a, n.b) : n instanceof lt ? st(n.h, n.c, n.l) : wt((n = mt(n)).r, n.g, n.b) : new ft(n, t, e)
-    }
-
-    function ht(n, t, e) {
-        var r = (n + 16) / 116, u = r + t / 500, i = r - e / 200;
-        return u = pt(u) * Xa, r = pt(r) * $a, i = pt(i) * Ba, new mt(dt(3.2404542 * u - 1.5371385 * r - .4985314 * i), dt(-.969266 * u + 1.8760108 * r + .041556 * i), dt(.0556434 * u - .2040259 * r + 1.0572252 * i))
-    }
-
-    function gt(n, t, e) {
-        return n > 0 ? new lt(Math.atan2(e, t) * Pa, Math.sqrt(t * t + e * e), n) : new lt(0 / 0, 0 / 0, n)
-    }
-
-    function pt(n) {
-        return n > .206893034 ? n * n * n : (n - 4 / 29) / 7.787037
-    }
-
-    function vt(n) {
-        return n > .008856 ? Math.pow(n, 1 / 3) : 7.787037 * n + 4 / 29
-    }
-
-    function dt(n) {
-        return Math.round(255 * (.00304 >= n ? 12.92 * n : 1.055 * Math.pow(n, 1 / 2.4) - .055))
-    }
-
-    function mt(n, t, e) {
-        return this instanceof mt ? (this.r = ~~n, this.g = ~~t, void(this.b = ~~e)) : arguments.length < 2 ? n instanceof mt ? new mt(n.r, n.g, n.b) : bt("" + n, mt, ct) : new mt(n, t, e)
-    }
-
-    function yt(n) {
-        return new mt(n >> 16, n >> 8 & 255, 255 & n)
-    }
-
-    function Mt(n) {
-        return yt(n) + ""
-    }
-
-    function xt(n) {
-        return 16 > n ? "0" + Math.max(0, n).toString(16) : Math.min(255, n).toString(16)
-    }
-
-    function bt(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(kt(u[0]), kt(u[1]), kt(u[2]))
-        }
-        return (i = Ga.get(n.toLowerCase())) ? t(i.r, i.g, i.b) : (null == n || "#" !== n.charAt(0) || isNaN(i = parseInt(n.slice(1), 16)) || (4 === n.length ? (o = (3840 & i) >> 4, o = o >> 4 | o, a = 240 & i, a = a >> 4 | a, c = 15 & i, c = c << 4 | c) : 7 === n.length && (o = (16711680 & i) >> 16, a = (65280 & i) >> 8, c = 255 & i)), t(o, a, c))
-    }
-
-    function _t(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), new at(r, u, c)
-    }
-
-    function wt(n, t, e) {
-        n = St(n), t = St(t), e = St(e);
-        var r = vt((.4124564 * n + .3575761 * t + .1804375 * e) / Xa), u = vt((.2126729 * n + .7151522 * t + .072175 * e) / $a), i = vt((.0193339 * n + .119192 * t + .9503041 * e) / Ba);
-        return ft(116 * u - 16, 500 * (r - u), 200 * (u - i))
-    }
-
-    function St(n) {
-        return (n /= 255) <= .04045 ? n / 12.92 : Math.pow((n + .055) / 1.055, 2.4)
-    }
-
-    function kt(n) {
-        var t = parseFloat(n);
-        return "%" === n.charAt(n.length - 1) ? Math.round(2.55 * t) : t
-    }
-
-    function Et(n) {
-        return "function" == typeof n ? n : function () {
-            return n
-        }
-    }
-
-    function At(n) {
-        return function (t, e, r) {
-            return 2 === arguments.length && "function" == typeof e && (r = e, e = null), Nt(t, e, n, r)
-        }
-    }
-
-    function Nt(n, t, e, r) {
-        function u() {
-            var n, t = c.status;
-            if (!t && zt(c) || t >= 200 && 300 > t || 304 === t) {
-                try {
-                    n = e.call(i, c)
-                } catch (r) {
-                    return void o.error.call(i, r)
-                }
-                o.load.call(i, n)
-            } else o.error.call(i, c)
-        }
-
-        var i = {}, o = ta.dispatch("beforesend", "progress", "load", "error"), a = {}, c = new XMLHttpRequest, l = null;
-        return !this.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 = ta.event;
-            ta.event = n;
-            try {
-                o.progress.call(i, c)
-            } finally {
-                ta.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(ra(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
-        }, ta.rebind(i, o, "on"), null == r ? i : i.get(Ct(r))
-    }
-
-    function Ct(n) {
-        return 1 === n.length ? function (t, e) {
-            n(null == t ? e : null)
-        } : n
-    }
-
-    function zt(n) {
-        var t = n.responseType;
-        return t && "text" !== t ? n.response : n.responseText
-    }
-
-    function qt() {
-        var n = Lt(), t = Tt() - n;
-        t > 24 ? (isFinite(t) && (clearTimeout(tc), tc = setTimeout(qt, t)), nc = 0) : (nc = 1, rc(qt))
-    }
-
-    function Lt() {
-        var n = Date.now();
-        for (ec = Ka; ec;)n >= ec.t && (ec.f = ec.c(n - ec.t)), ec = ec.n;
-        return n
-    }
-
-    function Tt() {
-        for (var n, t = Ka, e = 1 / 0; t;)t.f ? t = n ? n.n = t.n : Ka = t.n : (t.t < e && (e = t.t), t = (n = t).n);
-        return Qa = n, e
-    }
-
-    function Rt(n, t) {
-        return t - (n ? Math.ceil(Math.log(n) / Math.LN10) : 1)
-    }
-
-    function Dt(n, t) {
-        var e = Math.pow(10, 3 * ga(8 - t));
-        return {
-            scale: t > 8 ? function (n) {
-                return n / e
-            } : function (n) {
-                return n * e
-            }, symbol: n
-        }
-    }
-
-    function Pt(n) {
-        var t = n.decimal, e = n.thousands, r = n.grouping, u = n.currency, i = r && e ? function (n, t) {
-            for (var u = n.length, i = [], o = 0, a = r[0], c = 0; u > 0 && a > 0 && (c + a + 1 > t && (a = Math.max(1, t - c)), i.push(n.substring(u -= a, u + a)), !((c += a + 1) > t));)a = r[o = (o + 1) % r.length];
-            return i.reverse().join(e)
-        } : y;
-        return function (n) {
-            var e = ic.exec(n), r = e[1] || " ", o = e[2] || ">", a = e[3] || "-", c = e[4] || "", l = e[5], s = +e[6], f = e[7], h = e[8], g = e[9], p = 1, v = "", d = "", m = !1, y = !0;
-            switch (h && (h = +h.substring(1)), (l || "0" === r && "=" === o) && (l = r = "0", o = "="), g) {
-                case"n":
-                    f = !0, g = "g";
-                    break;
-                case"%":
-                    p = 100, d = "%", g = "f";
-                    break;
-                case"p":
-                    p = 100, d = "%", g = "r";
-                    break;
-                case"b":
-                case"o":
-                case"x":
-                case"X":
-                    "#" === c && (v = "0" + g.toLowerCase());
-                case"c":
-                    y = !1;
-                case"d":
-                    m = !0, h = 0;
-                    break;
-                case"s":
-                    p = -1, g = "r"
-            }
-            "$" === c && (v = u[0], d = u[1]), "r" != g || h || (g = "g"), null != h && ("g" == g ? h = Math.max(1, Math.min(21, h)) : ("e" == g || "f" == g) && (h = Math.max(0, Math.min(20, h)))), g = oc.get(g) || Ut;
-            var M = l && f;
-            return function (n) {
-                var e = d;
-                if (m && n % 1)return "";
-                var u = 0 > n || 0 === n && 0 > 1 / n ? (n = -n, "-") : "-" === a ? "" : a;
-                if (0 > p) {
-                    var c = ta.formatPrefix(n, h);
-                    n = c.scale(n), e = c.symbol + d
-                } else n *= p;
-                n = g(n, h);
-                var x, b, _ = n.lastIndexOf(".");
-                if (0 > _) {
-                    var w = y ? n.lastIndexOf("e") : -1;
-                    0 > w ? (x = n, b = "") : (x = n.substring(0, w), b = n.substring(w))
-                } else x = n.substring(0, _), b = t + n.substring(_ + 1);
-                !l && f && (x = i(x, 1 / 0));
-                var S = v.length + x.length + b.length + (M ? 0 : u.length), k = s > S ? new Array(S = s - S + 1).join(r) : "";
-                return M && (x = i(k + x, k.length ? s - b.length : 1 / 0)), u += v, n = x + b, ("<" === o ? u + n + k : ">" === o ? k + u + n : "^" === o ? k.substring(0, S >>= 1) + u + n + k.substring(S) : u + (M ? n : k + n)) + e
-            }
-        }
-    }
-
-    function Ut(n) {
-        return n + ""
-    }
-
-    function jt() {
-        this._ = new Date(arguments.length > 1 ? Date.UTC.apply(this, arguments) : arguments[0])
-    }
-
-    function Ft(n, t, e) {
-        function r(t) {
-            var e = n(t), r = i(e, 1);
-            return r - t > t - e ? e : r
-        }
-
-        function u(e) {
-            return t(e = n(new cc(e - 1)), 1), e
-        }
-
-        function i(n, e) {
-            return t(n = new cc(+n), e), n
-        }
-
-        function o(n, r, i) {
-            var o = u(n), a = [];
-            if (i > 1)for (; r > o;)e(o) % i || a.push(new Date(+o)), t(o, 1); else for (; r > o;)a.push(new Date(+o)), t(o, 1);
-            return a
-        }
-
-        function a(n, t, e) {
-            try {
-                cc = jt;
-                var r = new jt;
-                return r._ = n, o(r, t, e)
-            } finally {
-                cc = Date
-            }
-        }
-
-        n.floor = n, n.round = r, n.ceil = u, n.offset = i, n.range = o;
-        var c = n.utc = Ht(n);
-        return c.floor = c, c.round = Ht(r), c.ceil = Ht(u), c.offset = Ht(i), c.range = a, n
-    }
-
-    function Ht(n) {
-        return function (t, e) {
-            try {
-                cc = jt;
-                var r = new jt;
-                return r._ = t, n(r, e)._
-            } finally {
-                cc = Date
-            }
-        }
-    }
-
-    function Ot(n) {
-        function t(n) {
-            function t(t) {
-                for (var e, u, i, o = [], a = -1, c = 0; ++a < r;)37 === n.charCodeAt(a) && (o.push(n.slice(c, a)), null != (u = sc[e = n.charAt(++a)]) && (e = n.charAt(++a)), (i = N[e]) && (e = i(t, null == u ? "e" === e ? " " : "0" : u)), o.push(e), c = a + 1);
-                return o.push(n.slice(c, a)), o.join("")
-            }
-
-            var r = n.length;
-            return t.parse = function (t) {
-                var r = {y: 1900, m: 0, d: 1, H: 0, M: 0, S: 0, L: 0, Z: null}, u = e(r, n, t, 0);
-                if (u != t.length)return null;
-                "p"in r && (r.H = r.H % 12 + 12 * r.p);
-                var i = null != r.Z && cc !== jt, o = new (i ? jt : cc);
-                return "j"in r ? o.setFullYear(r.y, 0, r.j) : "w"in r && ("W"in r || "U"in r) ? (o.setFullYear(r.y, 0, 1), o.setFullYear(r.y, 0, "W"in r ? (r.w + 6) % 7 + 7 * r.W - (o.getDay() + 5) % 7 : r.w + 7 * r.U - (o.getDay() + 6) % 7)) : o.setFullYear(r.y, r.m, r.d), o.setHours(r.H + (r.Z / 100 | 0), r.M + r.Z % 100, r.S, r.L), i ? o._ : o
-            }, t.toString = function () {
-                return n
-            }, t
-        }
-
-        function e(n, t, e, r) {
-            for (var u, i, o, a = 0, c = t.length, l = e.length; c > a;) {
-                if (r >= l)return -1;
-                if (u = t.charCodeAt(a++), 37 === u) {
-                    if (o = t.charAt(a++), i = C[o in sc ? t.charAt(a++) : o], !i || (r = i(n, e, r)) < 0)return -1
-                } else if (u != e.charCodeAt(r++))return -1
-            }
-            return r
-        }
-
-        function r(n, t, e) {
-            _.lastIndex = 0;
-            var r = _.exec(t.slice(e));
-            return r ? (n.w = w.get(r[0].toLowerCase()), e + r[0].length) : -1
-        }
-
-        function u(n, t, e) {
-            x.lastIndex = 0;
-            var r = x.exec(t.slice(e));
-            return r ? (n.w = b.get(r[0].toLowerCase()), e + r[0].length) : -1
-        }
-
-        function i(n, t, e) {
-            E.lastIndex = 0;
-            var r = E.exec(t.slice(e));
-            return r ? (n.m = A.get(r[0].toLowerCase()), e + r[0].length) : -1
-        }
-
-        function o(n, t, e) {
-            S.lastIndex = 0;
-            var r = S.exec(t.slice(e));
-            return r ? (n.m = k.get(r[0].toLowerCase()), e + r[0].length) : -1
-        }
-
-        function a(n, t, r) {
-            return e(n, N.c.toString(), t, r)
-        }
-
-        function c(n, t, r) {
-            return e(n, N.x.toString(), t, r)
-        }
-
-        function l(n, t, r) {
-            return e(n, N.X.toString(), t, r)
-        }
-
-        function s(n, t, e) {
-            var r = M.get(t.slice(e, e += 2).toLowerCase());
-            return null == r ? -1 : (n.p = r, e)
-        }
-
-        var f = n.dateTime, h = n.date, g = n.time, p = n.periods, v = n.days, d = n.shortDays, m = n.months, y = n.shortMonths;
-        t.utc = function (n) {
-            function e(n) {
-                try {
-                    cc = jt;
-                    var t = new cc;
-                    return t._ = n, r(t)
-                } finally {
-                    cc = Date
-                }
-            }
-
-            var r = t(n);
-            return e.parse = function (n) {
-                try {
-                    cc = jt;
-                    var t = r.parse(n);
-                    return t && t._
-                } finally {
-                    cc = Date
-                }
-            }, e.toString = r.toString, e
-        }, t.multi = t.utc.multi = ae;
-        var M = ta.map(), x = Yt(v), b = Zt(v), _ = Yt(d), w = Zt(d), S = Yt(m), k = Zt(m), E = Yt(y), A = Zt(y);
-        p.forEach(function (n, t) {
-            M.set(n.toLowerCase(), t)
-        });
-        var N = {
-            a: function (n) {
-                return d[n.getDay()]
-            }, A: function (n) {
-                return v[n.getDay()]
-            }, b: function (n) {
-                return y[n.getMonth()]
-            }, B: function (n) {
-                return m[n.getMonth()]
-            }, c: t(f), d: function (n, t) {
-                return It(n.getDate(), t, 2)
-            }, e: function (n, t) {
-                return It(n.getDate(), t, 2)
-            }, H: function (n, t) {
-                return It(n.getHours(), t, 2)
-            }, I: function (n, t) {
-                return It(n.getHours() % 12 || 12, t, 2)
-            }, j: function (n, t) {
-                return It(1 + ac.dayOfYear(n), t, 3)
-            }, L: function (n, t) {
-                return It(n.getMilliseconds(), t, 3)
-            }, m: function (n, t) {
-                return It(n.getMonth() + 1, t, 2)
-            }, M: function (n, t) {
-                return It(n.getMinutes(), t, 2)
-            }, p: function (n) {
-                return p[+(n.getHours() >= 12)]
-            }, S: function (n, t) {
-                return It(n.getSeconds(), t, 2)
-            }, U: function (n, t) {
-                return It(ac.sundayOfYear(n), t, 2)
-            }, w: function (n) {
-                return n.getDay()
-            }, W: function (n, t) {
-                return It(ac.mondayOfYear(n), t, 2)
-            }, x: t(h), X: t(g), y: function (n, t) {
-                return It(n.getFullYear() % 100, t, 2)
-            }, Y: function (n, t) {
-                return It(n.getFullYear() % 1e4, t, 4)
-            }, Z: ie, "%": function () {
-                return "%"
-            }
-        }, C = {
-            a: r,
-            A: u,
-            b: i,
-            B: o,
-            c: a,
-            d: Qt,
-            e: Qt,
-            H: te,
-            I: te,
-            j: ne,
-            L: ue,
-            m: Kt,
-            M: ee,
-            p: s,
-            S: re,
-            U: Xt,
-            w: Vt,
-            W: $t,
-            x: c,
-            X: l,
-            y: Wt,
-            Y: Bt,
-            Z: Jt,
-            "%": oe
-        };
-        return t
-    }
-
-    function It(n, t, e) {
-        var r = 0 > n ? "-" : "", u = (r ? -n : n) + "", i = u.length;
-        return r + (e > i ? new Array(e - i + 1).join(t) + u : u)
-    }
-
-    function Yt(n) {
-        return new RegExp("^(?:" + n.map(ta.requote).join("|") + ")", "i")
-    }
-
-    function Zt(n) {
-        for (var t = new l, e = -1, r = n.length; ++e < r;)t.set(n[e].toLowerCase(), e);
-        return t
-    }
-
-    function Vt(n, t, e) {
-        fc.lastIndex = 0;
-        var r = fc.exec(t.slice(e, e + 1));
-        return r ? (n.w = +r[0], e + r[0].length) : -1
-    }
-
-    function Xt(n, t, e) {
-        fc.lastIndex = 0;
-        var r = fc.exec(t.slice(e));
-        return r ? (n.U = +r[0], e + r[0].length) : -1
-    }
-
-    function $t(n, t, e) {
-        fc.lastIndex = 0;
-        var r = fc.exec(t.slice(e));
-        return r ? (n.W = +r[0], e + r[0].length) : -1
-    }
-
-    function Bt(n, t, e) {
-        fc.lastIndex = 0;
-        var r = fc.exec(t.slice(e, e + 4));
-        return r ? (n.y = +r[0], e + r[0].length) : -1
-    }
-
-    function Wt(n, t, e) {
-        fc.lastIndex = 0;
-        var r = fc.exec(t.slice(e, e + 2));
-        return r ? (n.y = Gt(+r[0]), e + r[0].length) : -1
-    }
-
-    function Jt(n, t, e) {
-        return /^[+-]\d{4}$/.test(t = t.slice(e, e + 5)) ? (n.Z = -t, e + 5) : -1
-    }
-
-    function Gt(n) {
-        return n + (n > 68 ? 1900 : 2e3)
-    }
-
-    function Kt(n, t, e) {
-        fc.lastIndex = 0;
-        var r = fc.exec(t.slice(e, e + 2));
-        return r ? (n.m = r[0] - 1, e + r[0].length) : -1
-    }
-
-    function Qt(n, t, e) {
-        fc.lastIndex = 0;
-        var r = fc.exec(t.slice(e, e + 2));
-        return r ? (n.d = +r[0], e + r[0].length) : -1
-    }
-
-    function ne(n, t, e) {
-        fc.lastIndex = 0;
-        var r = fc.exec(t.slice(e, e + 3));
-        return r ? (n.j = +r[0], e + r[0].length) : -1
-    }
-
-    function te(n, t, e) {
-        fc.lastIndex = 0;
-        var r = fc.exec(t.slice(e, e + 2));
-        return r ? (n.H = +r[0], e + r[0].length) : -1
-    }
-
-    function ee(n, t, e) {
-        fc.lastIndex = 0;
-        var r = fc.exec(t.slice(e, e + 2));
-        return r ? (n.M = +r[0], e + r[0].length) : -1
-    }
-
-    function re(n, t, e) {
-        fc.lastIndex = 0;
-        var r = fc.exec(t.slice(e, e + 2));
-        return r ? (n.S = +r[0], e + r[0].length) : -1
-    }
-
-    function ue(n, t, e) {
-        fc.lastIndex = 0;
-        var r = fc.exec(t.slice(e, e + 3));
-        return r ? (n.L = +r[0], e + r[0].length) : -1
-    }
-
-    function ie(n) {
-        var t = n.getTimezoneOffset(), e = t > 0 ? "-" : "+", r = ga(t) / 60 | 0, u = ga(t) % 60;
-        return e + It(r, "0", 2) + It(u, "0", 2)
-    }
-
-    function oe(n, t, e) {
-        hc.lastIndex = 0;
-        var r = hc.exec(t.slice(e, e + 1));
-        return r ? e + r[0].length : -1
-    }
-
-    function ae(n) {
-        for (var t = n.length, e = -1; ++e < t;)n[e][0] = this(n[e][0]);
-        return function (t) {
-            for (var e = 0, r = n[e]; !r[1](t);)r = n[++e];
-            return r[0](t)
-        }
-    }
-
-    function ce() {
-    }
-
-    function le(n, t, e) {
-        var r = e.s = n + t, u = r - n, i = r - u;
-        e.t = n - i + (t - u)
-    }
-
-    function se(n, t) {
-        n && dc.hasOwnProperty(n.type) && dc[n.type](n, t)
-    }
-
-    function fe(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 he(n, t) {
-        var e = -1, r = n.length;
-        for (t.polygonStart(); ++e < r;)fe(n[e], t, 1);
-        t.polygonEnd()
-    }
-
-    function ge() {
-        function n(n, t) {
-            n *= Da, t = t * Da / 2 + qa / 4;
-            var e = n - r, o = e >= 0 ? 1 : -1, a = o * e, c = Math.cos(t), l = Math.sin(t), s = i * l, f = u * c + s * Math.cos(a), h = s * o * Math.sin(a);
-            yc.add(Math.atan2(h, f)), r = n, u = c, i = l
-        }
-
-        var t, e, r, u, i;
-        Mc.point = function (o, a) {
-            Mc.point = n, r = (t = o) * Da, u = Math.cos(a = (e = a) * Da / 2 + qa / 4), i = Math.sin(a)
-        }, Mc.lineEnd = function () {
-            n(t, e)
-        }
-    }
-
-    function pe(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 ve(n, t) {
-        return n[0] * t[0] + n[1] * t[1] + n[2] * t[2]
-    }
-
-    function de(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 me(n, t) {
-        n[0] += t[0], n[1] += t[1], n[2] += t[2]
-    }
-
-    function ye(n, t) {
-        return [n[0] * t, n[1] * t, n[2] * t]
-    }
-
-    function Me(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 xe(n) {
-        return [Math.atan2(n[1], n[0]), tt(n[2])]
-    }
-
-    function be(n, t) {
-        return ga(n[0] - t[0]) < Ca && ga(n[1] - t[1]) < Ca
-    }
-
-    function _e(n, t) {
-        n *= Da;
-        var e = Math.cos(t *= Da);
-        we(e * Math.cos(n), e * Math.sin(n), Math.sin(t))
-    }
-
-    function we(n, t, e) {
-        ++xc, _c += (n - _c) / xc, wc += (t - wc) / xc, Sc += (e - Sc) / xc
-    }
-
-    function Se() {
-        function n(n, u) {
-            n *= Da;
-            var i = Math.cos(u *= Da), 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);
-            bc += l, kc += l * (t + (t = o)), Ec += l * (e + (e = a)), Ac += l * (r + (r = c)), we(t, e, r)
-        }
-
-        var t, e, r;
-        qc.point = function (u, i) {
-            u *= Da;
-            var o = Math.cos(i *= Da);
-            t = o * Math.cos(u), e = o * Math.sin(u), r = Math.sin(i), qc.point = n, we(t, e, r)
-        }
-    }
-
-    function ke() {
-        qc.point = _e
-    }
-
-    function Ee() {
-        function n(n, t) {
-            n *= Da;
-            var e = Math.cos(t *= Da), 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 && -nt(g) / h, v = Math.atan2(h, g);
-            Nc += p * l, Cc += p * s, zc += p * f, bc += v, kc += v * (r + (r = o)), Ec += v * (u + (u = a)), Ac += v * (i + (i = c)), we(r, u, i)
-        }
-
-        var t, e, r, u, i;
-        qc.point = function (o, a) {
-            t = o, e = a, qc.point = n, o *= Da;
-            var c = Math.cos(a *= Da);
-            r = c * Math.cos(o), u = c * Math.sin(o), i = Math.sin(a), we(r, u, i)
-        }, qc.lineEnd = function () {
-            n(t, e), qc.lineEnd = ke, qc.point = _e
-        }
-    }
-
-    function Ae(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 Ne() {
-        return !0
-    }
-
-    function Ce(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 (be(e, r)) {
-                        u.lineStart();
-                        for (var a = 0; t > a; ++a)u.point((e = n[a])[0], e[1]);
-                        return void u.lineEnd()
-                    }
-                    var c = new qe(e, n, null, !0), l = new qe(e, null, c, !1);
-                    c.o = l, i.push(c), o.push(l), c = new qe(r, n, null, !1), l = new qe(r, null, c, !0), c.o = l, i.push(c), o.push(l)
-                }
-            }), o.sort(t), ze(i), ze(o), i.length) {
-            for (var a = 0, c = e, l = o.length; l > a; ++a)o[a].e = c = !c;
-            for (var s, f, h = i[0]; ;) {
-                for (var g = h, p = !0; g.v;)if ((g = g.n) === h)return;
-                s = g.z, u.lineStart();
-                do {
-                    if (g.v = g.o.v = !0, g.e) {
-                        if (p)for (var a = 0, l = s.length; l > a; ++a)u.point((f = s[a])[0], f[1]); else r(g.x, g.n.x, 1, u);
-                        g = g.n
-                    } else {
-                        if (p) {
-                            s = g.p.z;
-                            for (var a = s.length - 1; a >= 0; --a)u.point((f = s[a])[0], f[1])
-                        } else r(g.x, g.p.x, -1, u);
-                        g = g.p
-                    }
-                    g = g.o, s = g.z, p = !p
-                } while (!g.v);
-                u.lineEnd()
-            }
-        }
-    }
-
-    function ze(n) {
-        if (t = n.length) {
-            for (var t, e, r = 0, u = n[0]; ++r < t;)u.n = e = n[r], e.p = u, u = e;
-            u.n = e = n[0], e.p = u
-        }
-    }
-
-    function qe(n, t, e, r) {
-        this.x = n, this.z = t, this.o = e, this.e = r, this.v = !1, this.n = this.p = null
-    }
-
-    function Le(n, t, e, r) {
-        return function (u, i) {
-            function o(t, e) {
-                var r = u(t, e);
-                n(t = r[0], e = r[1]) && i.point(t, e)
-            }
-
-            function a(n, t) {
-                var e = u(n, t);
-                d.point(e[0], e[1])
-            }
-
-            function c() {
-                y.point = a, d.lineStart()
-            }
-
-            function l() {
-                y.point = o, d.lineEnd()
-            }
-
-            function s(n, t) {
-                v.push([n, t]);
-                var e = u(n, t);
-                x.point(e[0], e[1])
-            }
-
-            function f() {
-                x.lineStart(), v = []
-            }
-
-            function h() {
-                s(v[0][0], v[0][1]), x.lineEnd();
-                var n, t = x.clean(), e = M.buffer(), r = e.length;
-                if (v.pop(), p.push(v), v = null, r)if (1 & t) {
-                    n = e[0];
-                    var u, r = n.length - 1, o = -1;
-                    if (r > 0) {
-                        for (b || (i.polygonStart(), b = !0), i.lineStart(); ++o < r;)i.point((u = n[o])[0], u[1]);
-                        i.lineEnd()
-                    }
-                } else r > 1 && 2 & t && e.push(e.pop().concat(e.shift())), g.push(e.filter(Te))
-            }
-
-            var g, p, v, d = t(i), m = u.invert(r[0], r[1]), y = {
-                point: o,
-                lineStart: c,
-                lineEnd: l,
-                polygonStart: function () {
-                    y.point = s, y.lineStart = f, y.lineEnd = h, g = [], p = []
-                },
-                polygonEnd: function () {
-                    y.point = o, y.lineStart = c, y.lineEnd = l, g = ta.merge(g);
-                    var n = Fe(m, p);
-                    g.length ? (b || (i.polygonStart(), b = !0), Ce(g, De, n, e, i)) : n && (b || (i.polygonStart(), b = !0), i.lineStart(), e(null, null, 1, i), i.lineEnd()), b && (i.polygonEnd(), b = !1), g = p = null
-                },
-                sphere: function () {
-                    i.polygonStart(), i.lineStart(), e(null, null, 1, i), i.lineEnd(), i.polygonEnd()
-                }
-            }, M = Re(), x = t(M), b = !1;
-            return y
-        }
-    }
-
-    function Te(n) {
-        return n.length > 1
-    }
-
-    function Re() {
-        var n, t = [];
-        return {
-            lineStart: function () {
-                t.push(n = [])
-            }, point: function (t, e) {
-                n.push([t, e])
-            }, lineEnd: b, buffer: function () {
-                var e = t;
-                return t = [], n = null, e
-            }, rejoin: function () {
-                t.length > 1 && t.push(t.pop().concat(t.shift()))
-            }
-        }
-    }
-
-    function De(n, t) {
-        return ((n = n.x)[0] < 0 ? n[1] - Ra - Ca : Ra - n[1]) - ((t = t.x)[0] < 0 ? t[1] - Ra - Ca : Ra - t[1])
-    }
-
-    function Pe(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 ? qa : -qa, c = ga(i - e);
-                ga(c - qa) < Ca ? (n.point(e, r = (r + o) / 2 > 0 ? Ra : -Ra), n.point(u, r), n.lineEnd(), n.lineStart(), n.point(a, r), n.point(i, r), t = 0) : u !== a && c >= qa && (ga(e - u) < Ca && (e -= u * Ca), ga(i - a) < Ca && (i -= a * Ca), r = Ue(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 Ue(n, t, e, r) {
-        var u, i, o = Math.sin(n - e);
-        return ga(o) > Ca ? 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 je(n, t, e, r) {
-        var u;
-        if (null == n)u = e * Ra, r.point(-qa, u), r.point(0, u), r.point(qa, u), r.point(qa, 0), r.point(qa, -u), r.point(0, -u), r.point(-qa, -u), r.point(-qa, 0), r.point(-qa, u); else if (ga(n[0] - t[0]) > Ca) {
-            var i = n[0] < t[0] ? qa : -qa;
-            u = e * i / 2, r.point(-i, u), r.point(0, u), r.point(i, u)
-        } else r.point(t[0], t[1])
-    }
-
-    function Fe(n, t) {
-        var e = n[0], r = n[1], u = [Math.sin(e), -Math.cos(e), 0], i = 0, o = 0;
-        yc.reset();
-        for (var a = 0, c = t.length; c > a; ++a) {
-            var l = t[a], s = l.length;
-            if (s)for (var f = l[0], h = f[0], g = f[1] / 2 + qa / 4, p = Math.sin(g), v = Math.cos(g), d = 1; ;) {
-                d === s && (d = 0), n = l[d];
-                var m = n[0], y = n[1] / 2 + qa / 4, M = Math.sin(y), x = Math.cos(y), b = m - h, _ = b >= 0 ? 1 : -1, w = _ * b, S = w > qa, k = p * M;
-                if (yc.add(Math.atan2(k * _ * Math.sin(w), v * x + k * Math.cos(w))), i += S ? b + _ * La : b, S ^ h >= e ^ m >= e) {
-                    var E = de(pe(f), pe(n));
-                    Me(E);
-                    var A = de(u, E);
-                    Me(A);
-                    var N = (S ^ b >= 0 ? -1 : 1) * tt(A[2]);
-                    (r > N || r === N && (E[0] || E[1])) && (o += S ^ b >= 0 ? 1 : -1)
-                }
-                if (!d++)break;
-                h = m, p = M, v = x, f = n
-            }
-        }
-        return (-Ca > i || Ca > i && 0 > yc) ^ 1 & o
-    }
-
-    function He(n) {
-        function t(n, t) {
-            return Math.cos(n) * Math.cos(t) > i
-        }
-
-        function e(n) {
-            var e, i, c, l, s;
-            return {
-                lineStart: function () {
-                    l = c = !1, s = 1
-                }, point: function (f, h) {
-                    var g, p = [f, h], v = t(f, h), d = o ? v ? 0 : u(f, h) : v ? u(f + (0 > f ? qa : -qa), h) : 0;
-                    if (!e && (l = c = v) && n.lineStart(), v !== c && (g = r(e, p), (be(e, g) || be(p, g)) && (p[0] += Ca, p[1] += Ca, v = t(p[0], p[1]))), v !== c)s = 0, v ? (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 (a && e && o ^ v) {
-                        var m;
-                        d & i || !(m = r(p, e, !0)) || (s = 0, o ? (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])))
-                    }
-                    !v || e && be(e, p) || n.point(p[0], p[1]), e = p, c = v, i = d
-                }, lineEnd: function () {
-                    c && n.lineEnd(), e = null
-                }, clean: function () {
-                    return s | (l && c) << 1
-                }
-            }
-        }
-
-        function r(n, t, e) {
-            var r = pe(n), u = pe(t), o = [1, 0, 0], a = de(r, u), c = ve(a, a), l = a[0], s = c - l * l;
-            if (!s)return !e && n;
-            var f = i * c / s, h = -i * l / s, g = de(o, a), p = ye(o, f), v = ye(a, h);
-            me(p, v);
-            var d = g, m = ve(p, d), y = ve(d, d), M = m * m - y * (ve(p, p) - 1);
-            if (!(0 > M)) {
-                var x = Math.sqrt(M), b = ye(d, (-m - x) / y);
-                if (me(b, p), b = xe(b), !e)return b;
-                var _, w = n[0], S = t[0], k = n[1], E = t[1];
-                w > S && (_ = w, w = S, S = _);
-                var A = S - w, N = ga(A - qa) < Ca, C = N || Ca > A;
-                if (!N && k > E && (_ = k, k = E, E = _), C ? N ? k + E > 0 ^ b[1] < (ga(b[0] - w) < Ca ? k : E) : k <= b[1] && b[1] <= E : A > qa ^ (w <= b[0] && b[0] <= S)) {
-                    var z = ye(d, (-m + x) / y);
-                    return me(z, p), [b, xe(z)]
-                }
-            }
-        }
-
-        function u(t, e) {
-            var r = o ? n : qa - n, u = 0;
-            return -r > t ? u |= 1 : t > r && (u |= 2), -r > e ? u |= 4 : e > r && (u |= 8), u
-        }
-
-        var i = Math.cos(n), o = i > 0, a = ga(i) > Ca, c = gr(n, 6 * Da);
-        return Le(t, e, c, o ? [0, -n] : [-qa, n - qa])
-    }
-
-    function Oe(n, t, e, r) {
-        return function (u) {
-            var i, o = u.a, a = u.b, c = o.x, l = o.y, s = a.x, f = a.y, h = 0, g = 1, p = s - c, v = f - l;
-            if (i = n - c, p || !(i > 0)) {
-                if (i /= p, 0 > p) {
-                    if (h > i)return;
-                    g > i && (g = i)
-                } else if (p > 0) {
-                    if (i > g)return;
-                    i > h && (h = i)
-                }
-                if (i = e - c, p || !(0 > i)) {
-                    if (i /= p, 0 > p) {
-                        if (i > g)return;
-                        i > h && (h = i)
-                    } else if (p > 0) {
-                        if (h > i)return;
-                        g > i && (g = i)
-                    }
-                    if (i = t - l, v || !(i > 0)) {
-                        if (i /= v, 0 > v) {
-                            if (h > i)return;
-                            g > i && (g = i)
-                        } else if (v > 0) {
-                            if (i > g)return;
-                            i > h && (h = i)
-                        }
-                        if (i = r - l, v || !(0 > i)) {
-                            if (i /= v, 0 > v) {
-                                if (i > g)return;
-                                i > h && (h = i)
-                            } else if (v > 0) {
-                                if (h > i)return;
-                                g > i && (g = i)
-                            }
-                            return h > 0 && (u.a = {x: c + h * p, y: l + h * v}), 1 > g && (u.b = {
-                                x: c + g * p,
-                                y: l + g * v
-                            }), u
-                        }
-                    }
-                }
-            }
-        }
-    }
-
-    function Ie(n, t, e, r) {
-        function u(r, u) {
-            return ga(r[0] - n) < Ca ? u > 0 ? 0 : 3 : ga(r[0] - e) < Ca ? u > 0 ? 2 : 1 : ga(r[1] - t) < Ca ? u > 0 ? 1 : 0 : u > 0 ? 3 : 2
-        }
-
-        function i(n, t) {
-            return o(n.x, t.x)
-        }
-
-        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]
-        }
-
-        return function (a) {
-            function c(n) {
-                for (var t = 0, e = d.length, r = n[1], u = 0; e > u; ++u)for (var i, o = 1, a = d[u], c = a.length, l = a[0]; c > o; ++o)i = a[o], l[1] <= r ? i[1] > r && Q(l, i, n) > 0 && ++t : i[1] <= r && Q(l, i, n) < 0 && --t, l = i;
-                return 0 !== t
-            }
-
-            function l(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 s(u, i) {
-                return u >= n && e >= u && i >= t && r >= i
-            }
-
-            function f(n, t) {
-                s(n, t) && a.point(n, t)
-            }
-
-            function h() {
-                C.point = p, d && d.push(m = []), S = !0, w = !1, b = _ = 0 / 0
-            }
-
-            function g() {
-                v && (p(y, M), x && w && A.rejoin(), v.push(A.buffer())), C.point = f, w && a.lineEnd()
-            }
-
-            function p(n, t) {
-                n = Math.max(-Tc, Math.min(Tc, n)), t = Math.max(-Tc, Math.min(Tc, t));
-                var e = s(n, t);
-                if (d && m.push([n, t]), S)y = n, M = t, x = e, S = !1, e && (a.lineStart(), a.point(n, t)); else if (e && w)a.point(n, t); else {
-                    var r = {a: {x: b, y: _}, b: {x: n, y: t}};
-                    N(r) ? (w || (a.lineStart(), a.point(r.a.x, r.a.y)), a.point(r.b.x, r.b.y), e || a.lineEnd(), k = !1) : e && (a.lineStart(), a.point(n, t), k = !1)
-                }
-                b = n, _ = t, w = e
-            }
-
-            var v, d, m, y, M, x, b, _, w, S, k, E = a, A = Re(), N = Oe(n, t, e, r), C = {
-                point: f,
-                lineStart: h,
-                lineEnd: g,
-                polygonStart: function () {
-                    a = A, v = [], d = [], k = !0
-                },
-                polygonEnd: function () {
-                    a = E, v = ta.merge(v);
-                    var t = c([n, r]), e = k && t, u = v.length;
-                    (e || u) && (a.polygonStart(), e && (a.lineStart(), l(null, null, 1, a), a.lineEnd()), u && Ce(v, i, t, l, a), a.polygonEnd()), v = d = m = null
-                }
-            };
-            return C
-        }
-    }
-
-    function Ye(n) {
-        var t = 0, e = qa / 3, r = ir(n), u = r(t, e);
-        return u.parallels = function (n) {
-            return arguments.length ? r(t = n[0] * qa / 180, e = n[1] * qa / 180) : [t / qa * 180, e / qa * 180]
-        }, u
-    }
-
-    function Ze(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, tt((i - (n * n + e * e) * u * u) / (2 * u))]
-        }, e
-    }
-
-    function Ve() {
-        function n(n, t) {
-            Dc += u * n - r * t, r = n, u = t
-        }
-
-        var t, e, r, u;
-        Hc.point = function (i, o) {
-            Hc.point = n, t = r = i, e = u = o
-        }, Hc.lineEnd = function () {
-            n(t, e)
-        }
-    }
-
-    function Xe(n, t) {
-        Pc > n && (Pc = n), n > jc && (jc = n), Uc > t && (Uc = t), t > Fc && (Fc = t)
-    }
-
-    function $e() {
-        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 = Be(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 = Be(n), a
-            }, result: function () {
-                if (o.length) {
-                    var n = o.join("");
-                    return o = [], n
-                }
-            }
-        };
-        return a
-    }
-
-    function Be(n) {
-        return "m0," + n + "a" + n + "," + n + " 0 1,1 0," + -2 * n + "a" + n + "," + n + " 0 1,1 0," + 2 * n + "z"
-    }
-
-    function We(n, t) {
-        _c += n, wc += t, ++Sc
-    }
-
-    function Je() {
-        function n(n, r) {
-            var u = n - t, i = r - e, o = Math.sqrt(u * u + i * i);
-            kc += o * (t + n) / 2, Ec += o * (e + r) / 2, Ac += o, We(t = n, e = r)
-        }
-
-        var t, e;
-        Ic.point = function (r, u) {
-            Ic.point = n, We(t = r, e = u)
-        }
-    }
-
-    function Ge() {
-        Ic.point = We
-    }
-
-    function Ke() {
-        function n(n, t) {
-            var e = n - r, i = t - u, o = Math.sqrt(e * e + i * i);
-            kc += o * (r + n) / 2, Ec += o * (u + t) / 2, Ac += o, o = u * n - r * t, Nc += o * (r + n), Cc += o * (u + t), zc += 3 * o, We(r = n, u = t)
-        }
-
-        var t, e, r, u;
-        Ic.point = function (i, o) {
-            Ic.point = n, We(t = r = i, e = u = o)
-        }, Ic.lineEnd = function () {
-            n(t, e)
-        }
-    }
-
-    function Qe(n) {
-        function t(t, e) {
-            n.moveTo(t + o, e), n.arc(t, e, o, 0, La)
-        }
-
-        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: b
-        };
-        return a
-    }
-
-    function nr(n) {
-        function t(n) {
-            return (a ? r : e)(n)
-        }
-
-        function e(t) {
-            return rr(t, function (e, r) {
-                e = n(e, r), t.point(e[0], e[1])
-            })
-        }
-
-        function r(t) {
-            function e(e, r) {
-                e = n(e, r), t.point(e[0], e[1])
-            }
-
-            function r() {
-                M = 0 / 0, S.point = i, t.lineStart()
-            }
-
-            function i(e, r) {
-                var i = pe([e, r]), o = n(e, r);
-                u(M, x, y, b, _, w, M = o[0], x = o[1], y = e, b = i[0], _ = i[1], w = i[2], a, t), t.point(M, x)
-            }
-
-            function o() {
-                S.point = e, t.lineEnd()
-            }
-
-            function c() {
-                r(), S.point = l, S.lineEnd = s
-            }
-
-            function l(n, t) {
-                i(f = n, h = t), g = M, p = x, v = b, d = _, m = w, S.point = i
-            }
-
-            function s() {
-                u(M, x, y, b, _, w, g, p, f, v, d, m, a, t), S.lineEnd = o, o()
-            }
-
-            var f, h, g, p, v, d, m, y, M, x, b, _, w, S = {
-                point: e, lineStart: r, lineEnd: o, polygonStart: function () {
-                    t.polygonStart(), S.lineStart = c
-                }, polygonEnd: function () {
-                    t.polygonEnd(), S.lineStart = r
-                }
-            };
-            return S
-        }
-
-        function u(t, e, r, a, c, l, s, f, h, g, p, v, d, m) {
-            var y = s - t, M = f - e, x = y * y + M * M;
-            if (x > 4 * i && d--) {
-                var b = a + g, _ = c + p, w = l + v, S = Math.sqrt(b * b + _ * _ + w * w), k = Math.asin(w /= S), E = ga(ga(w) - 1) < Ca || ga(r - h) < Ca ? (r + h) / 2 : Math.atan2(_, b), A = n(E, k), N = A[0], C = A[1], z = N - t, q = C - e, L = M * z - y * q;
-                (L * L / x > i || ga((y * z + M * q) / x - .5) > .3 || o > a * g + c * p + l * v) && (u(t, e, r, a, c, l, N, C, E, b /= S, _ /= S, w, d, m), m.point(N, C), u(N, C, E, b, _, w, s, f, h, g, p, v, d, m))
-            }
-        }
-
-        var i = .5, o = Math.cos(30 * Da), a = 16;
-        return t.precision = function (n) {
-            return arguments.length ? (a = (i = n * n) > 0 && 16, t) : Math.sqrt(i)
-        }, t
-    }
-
-    function tr(n) {
-        var t = nr(function (t, e) {
-            return n([t * Pa, e * Pa])
-        });
-        return function (n) {
-            return or(t(n))
-        }
-    }
-
-    function er(n) {
-        this.stream = n
-    }
-
-    function rr(n, t) {
-        return {
-            point: t, sphere: function () {
-                n.sphere()
-            }, lineStart: function () {
-                n.lineStart()
-            }, lineEnd: function () {
-                n.lineEnd()
-            }, polygonStart: function () {
-                n.polygonStart()
-            }, polygonEnd: function () {
-                n.polygonEnd()
-            }
-        }
-    }
-
-    function ur(n) {
-        return ir(function () {
-            return n
-        })()
-    }
-
-    function ir(n) {
-        function t(n) {
-            return n = a(n[0] * Da, n[1] * Da), [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] * Pa, n[1] * Pa]
-        }
-
-        function r() {
-            a = Ae(o = lr(m, M, x), i);
-            var n = i(v, d);
-            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 = nr(function (n, t) {
-            return n = i(n, t), [n[0] * h + c, l - n[1] * h]
-        }), h = 150, g = 480, p = 250, v = 0, d = 0, m = 0, M = 0, x = 0, b = Lc, _ = y, w = null, S = null;
-        return t.stream = function (n) {
-            return s && (s.valid = !1), s = or(b(o, f(_(n)))), s.valid = !0, s
-        }, t.clipAngle = function (n) {
-            return arguments.length ? (b = null == n ? (w = n, Lc) : He((w = +n) * Da), u()) : w
-        }, t.clipExtent = function (n) {
-            return arguments.length ? (S = n, _ = n ? Ie(n[0][0], n[0][1], n[1][0], n[1][1]) : y, u()) : S
-        }, 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 ? (v = n[0] % 360 * Da, d = n[1] % 360 * Da, r()) : [v * Pa, d * Pa]
-        }, t.rotate = function (n) {
-            return arguments.length ? (m = n[0] % 360 * Da, M = n[1] % 360 * Da, x = n.length > 2 ? n[2] % 360 * Da : 0, r()) : [m * Pa, M * Pa, x * Pa]
-        }, ta.rebind(t, f, "precision"), function () {
-            return i = n.apply(this, arguments), t.invert = i.invert && e, r()
-        }
-    }
-
-    function or(n) {
-        return rr(n, function (t, e) {
-            n.point(t * Da, e * Da)
-        })
-    }
-
-    function ar(n, t) {
-        return [n, t]
-    }
-
-    function cr(n, t) {
-        return [n > qa ? n - La : -qa > n ? n + La : n, t]
-    }
-
-    function lr(n, t, e) {
-        return n ? t || e ? Ae(fr(n), hr(t, e)) : fr(n) : t || e ? hr(t, e) : cr
-    }
-
-    function sr(n) {
-        return function (t, e) {
-            return t += n, [t > qa ? t - La : -qa > t ? t + La : t, e]
-        }
-    }
-
-    function fr(n) {
-        var t = sr(n);
-        return t.invert = sr(-n), t
-    }
-
-    function hr(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), tt(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), tt(s * r - a * u)]
-        }, e
-    }
-
-    function gr(n, t) {
-        var e = Math.cos(n), r = Math.sin(n);
-        return function (u, i, o, a) {
-            var c = o * t;
-            null != u ? (u = pr(e, u), i = pr(e, i), (o > 0 ? i > u : u > i) && (u += o * La)) : (u = n + o * La, i = n - .5 * c);
-            for (var l, s = u; o > 0 ? s > i : i > s; s -= c)a.point((l = xe([e, -r * Math.cos(s), -r * Math.sin(s)]))[0], l[1])
-        }
-    }
-
-    function pr(n, t) {
-        var e = pe(t);
-        e[0] -= n, Me(e);
-        var r = nt(-e[1]);
-        return ((-e[2] < 0 ? -r : r) + 2 * Math.PI - Ca) % (2 * Math.PI)
-    }
-
-    function vr(n, t, e) {
-        var r = ta.range(n, t - Ca, e).concat(t);
-        return function (n) {
-            return r.map(function (t) {
-                return [n, t]
-            })
-        }
-    }
-
-    function dr(n, t, e) {
-        var r = ta.range(n, t - Ca, e).concat(t);
-        return function (n) {
-            return r.map(function (t) {
-                return [t, n]
-            })
-        }
-    }
-
-    function mr(n) {
-        return n.source
-    }
-
-    function yr(n) {
-        return n.target
-    }
-
-    function Mr(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(it(r - t) + u * o * it(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) * Pa, Math.atan2(o, Math.sqrt(r * r + u * u)) * Pa]
-        } : function () {
-            return [n * Pa, t * Pa]
-        };
-        return p.distance = h, p
-    }
-
-    function xr() {
-        function n(n, u) {
-            var i = Math.sin(u *= Da), o = Math.cos(u), a = ga((n *= Da) - t), c = Math.cos(a);
-            Yc += 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;
-        Zc.point = function (u, i) {
-            t = u * Da, e = Math.sin(i *= Da), r = Math.cos(i), Zc.point = n
-        }, Zc.lineEnd = function () {
-            Zc.point = Zc.lineEnd = b
-        }
-    }
-
-    function br(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 _r(n, t) {
-        function e(n, t) {
-            o > 0 ? -Ra + Ca > t && (t = -Ra + Ca) : t > Ra - Ca && (t = Ra - Ca);
-            var e = 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(qa / 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 = K(i) * Math.sqrt(n * n + e * e);
-            return [Math.atan2(n, e) / i, 2 * Math.atan(Math.pow(o / r, 1 / i)) - Ra]
-        }, e) : Sr
-    }
-
-    function wr(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 ga(u) < Ca ? ar : (e.invert = function (n, t) {
-            var e = i - t;
-            return [Math.atan2(n, e) / u, i - K(u) * Math.sqrt(n * n + e * e)]
-        }, e)
-    }
-
-    function Sr(n, t) {
-        return [n, Math.log(Math.tan(qa / 4 + t / 2))]
-    }
-
-    function kr(n) {
-        var t, e = ur(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 = qa * 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 Er(n, t) {
-        return [Math.log(Math.tan(qa / 4 + t / 2)), -n]
-    }
-
-    function Ar(n) {
-        return n[0]
-    }
-
-    function Nr(n) {
-        return n[1]
-    }
-
-    function Cr(n) {
-        for (var t = n.length, e = [0, 1], r = 2, u = 2; t > u; u++) {
-            for (; r > 1 && Q(n[e[r - 2]], n[e[r - 1]], n[u]) <= 0;)--r;
-            e[r++] = u
-        }
-        return e.slice(0, r)
-    }
-
-    function zr(n, t) {
-        return n[0] - t[0] || n[1] - t[1]
-    }
-
-    function qr(n, t, e) {
-        return (e[0] - t[0]) * (n[1] - t[1]) < (e[1] - t[1]) * (n[0] - t[0])
-    }
-
-    function Lr(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 Tr(n) {
-        var t = n[0], e = n[n.length - 1];
-        return !(t[0] - e[0] || t[1] - e[1])
-    }
-
-    function Rr() {
-        tu(this), this.edge = this.site = this.circle = null
-    }
-
-    function Dr(n) {
-        var t = el.pop() || new Rr;
-        return t.site = n, t
-    }
-
-    function Pr(n) {
-        Xr(n), Qc.remove(n), el.push(n), tu(n)
-    }
-
-    function Ur(n) {
-        var t = n.circle, e = t.x, r = t.cy, u = {x: e, y: r}, i = n.P, o = n.N, a = [n];
-        Pr(n);
-        for (var c = i; c.circle && ga(e - c.circle.x) < Ca && ga(r - c.circle.cy) < Ca;)i = c.P, a.unshift(c), Pr(c), c = i;
-        a.unshift(c), Xr(c);
-        for (var l = o; l.circle && ga(e - l.circle.x) < Ca && ga(r - l.circle.cy) < Ca;)o = l.N, a.push(l), Pr(l), l = o;
-        a.push(l), Xr(l);
-        var s, f = a.length;
-        for (s = 1; f > s; ++s)l = a[s], c = a[s - 1], Kr(l.edge, c.site, l.site, u);
-        c = a[0], l = a[f - 1], l.edge = Jr(c.site, l.site, null, u), Vr(c), Vr(l)
-    }
-
-    function jr(n) {
-        for (var t, e, r, u, i = n.x, o = n.y, a = Qc._; a;)if (r = Fr(a, o) - i, r > Ca)a = a.L; else {
-            if (u = i - Hr(a, o), !(u > Ca)) {
-                r > -Ca ? (t = a.P, e = a) : u > -Ca ? (t = a, e = a.N) : t = e = a;
-                break
-            }
-            if (!a.R) {
-                t = a;
-                break
-            }
-            a = a.R
-        }
-        var c = Dr(n);
-        if (Qc.insert(t, c), t || e) {
-            if (t === e)return Xr(t), e = Dr(t.site), Qc.insert(c, e), c.edge = e.edge = Jr(t.site, c.site), Vr(t), void Vr(e);
-            if (!e)return void(c.edge = Jr(t.site, c.site));
-            Xr(t), Xr(e);
-            var l = t.site, s = l.x, f = l.y, h = n.x - s, g = n.y - f, p = e.site, v = p.x - s, d = p.y - f, m = 2 * (h * d - g * v), y = h * h + g * g, M = v * v + d * d, x = {
-                x: (d * y - g * M) / m + s,
-                y: (h * M - v * y) / m + f
-            };
-            Kr(e.edge, l, p, x), c.edge = Jr(l, n, null, x), e.edge = Jr(n, p, null, x), Vr(t), Vr(e)
-        }
-    }
-
-    function Fr(n, t) {
-        var e = n.site, r = e.x, u = e.y, i = u - t;
-        if (!i)return r;
-        var o = n.P;
-        if (!o)return -1 / 0;
-        e = o.site;
-        var a = e.x, c = e.y, l = c - t;
-        if (!l)return a;
-        var s = a - r, f = 1 / i - 1 / l, h = s / l;
-        return f ? (-h + Math.sqrt(h * h - 2 * f * (s * s / (-2 * l) - c + l / 2 + u - i / 2))) / f + r : (r + a) / 2
-    }
-
-    function Hr(n, t) {
-        var e = n.N;
-        if (e)return Fr(e, t);
-        var r = n.site;
-        return r.y === t ? r.x : 1 / 0
-    }
-
-    function Or(n) {
-        this.site = n, this.edges = []
-    }
-
-    function Ir(n) {
-        for (var t, e, r, u, i, o, a, c, l, s, f = n[0][0], h = n[1][0], g = n[0][1], p = n[1][1], v = Kc, d = v.length; d--;)if (i = v[d], i && i.prepare())for (a = i.edges, c = a.length, o = 0; c > o;)s = a[o].end(), r = s.x, u = s.y, l = a[++o % c].start(), t = l.x, e = l.y, (ga(r - t) > Ca || ga(u - e) > Ca) && (a.splice(o, 0, new Qr(Gr(i.site, s, ga(r - f) < Ca && p - u > Ca ? {
-            x: f,
-            y: ga(t - f) < Ca ? e : p
-        } : ga(u - p) < Ca && h - r > Ca ? {x: ga(e - p) < Ca ? t : h, y: p} : ga(r - h) < Ca && u - g > Ca ? {
-            x: h,
-            y: ga(t - h) < Ca ? e : g
-        } : ga(u - g) < Ca && r - f > Ca ? {x: ga(e - g) < Ca ? t : f, y: g} : null), i.site, null)), ++c)
-    }
-
-    function Yr(n, t) {
-        return t.angle - n.angle
-    }
-
-    function Zr() {
-        tu(this), this.x = this.y = this.arc = this.site = this.cy = null
-    }
-
-    function Vr(n) {
-        var t = n.P, e = n.N;
-        if (t && e) {
-            var r = t.site, u = n.site, i = e.site;
-            if (r !== i) {
-                var o = u.x, a = u.y, c = r.x - o, l = r.y - a, s = i.x - o, f = i.y - a, h = 2 * (c * f - l * s);
-                if (!(h >= -za)) {
-                    var g = c * c + l * l, p = s * s + f * f, v = (f * g - l * p) / h, d = (c * p - s * g) / h, f = d + a, m = rl.pop() || new Zr;
-                    m.arc = n, m.site = u, m.x = v + o, m.y = f + Math.sqrt(v * v + d * d), m.cy = f, n.circle = m;
-                    for (var y = null, M = tl._; M;)if (m.y < M.y || m.y === M.y && m.x <= M.x) {
-                        if (!M.L) {
-                            y = M.P;
-                            break
-                        }
-                        M = M.L
-                    } else {
-                        if (!M.R) {
-                            y = M;
-                            break
-                        }
-                        M = M.R
-                    }
-                    tl.insert(y, m), y || (nl = m)
-                }
-            }
-        }
-    }
-
-    function Xr(n) {
-        var t = n.circle;
-        t && (t.P || (nl = t.N), tl.remove(t), rl.push(t), tu(t), n.circle = null)
-    }
-
-    function $r(n) {
-        for (var t, e = Gc, r = Oe(n[0][0], n[0][1], n[1][0], n[1][1]), u = e.length; u--;)t = e[u], (!Br(t, n) || !r(t) || ga(t.a.x - t.b.x) < Ca && ga(t.a.y - t.b.y) < Ca) && (t.a = t.b = null, e.splice(u, 1))
-    }
-
-    function Br(n, t) {
-        var e = n.b;
-        if (e)return !0;
-        var r, u, i = n.a, o = t[0][0], a = t[1][0], c = t[0][1], l = t[1][1], s = n.l, f = n.r, h = s.x, g = s.y, p = f.x, v = f.y, d = (h + p) / 2, m = (g + v) / 2;
-        if (v === g) {
-            if (o > d || d >= a)return;
-            if (h > p) {
-                if (i) {
-                    if (i.y >= l)return
-                } else i = {x: d, y: c};
-                e = {x: d, y: l}
-            } else {
-                if (i) {
-                    if (i.y < c)return
-                } else i = {x: d, y: l};
-                e = {x: d, y: c}
-            }
-        } else if (r = (h - p) / (v - g), u = m - r * d, -1 > r || r > 1)if (h > p) {
-            if (i) {
-                if (i.y >= l)return
-            } else i = {x: (c - u) / r, y: c};
-            e = {x: (l - u) / r, y: l}
-        } else {
-            if (i) {
-                if (i.y < c)return
-            } else i = {x: (l - u) / r, y: l};
-            e = {x: (c - u) / r, y: c}
-        } else if (v > g) {
-            if (i) {
-                if (i.x >= a)return
-            } else i = {x: o, y: r * o + u};
-            e = {x: a, y: r * a + u}
-        } else {
-            if (i) {
-                if (i.x < o)return
-            } else i = {x: a, y: r * a + u};
-            e = {x: o, y: r * o + u}
-        }
-        return n.a = i, n.b = e, !0
-    }
-
-    function Wr(n, t) {
-        this.l = n, this.r = t, this.a = this.b = null
-    }
-
-    function Jr(n, t, e, r) {
-        var u = new Wr(n, t);
-        return Gc.push(u), e && Kr(u, n, t, e), r && Kr(u, t, n, r), Kc[n.i].edges.push(new Qr(u, n, t)), Kc[t.i].edges.push(new Qr(u, t, n)), u
-    }
-
-    function Gr(n, t, e) {
-        var r = new Wr(n, null);
-        return r.a = t, r.b = e, Gc.push(r), r
-    }
-
-    function Kr(n, t, e, r) {
-        n.a || n.b ? n.l === e ? n.b = r : n.a = r : (n.a = r, n.l = t, n.r = e)
-    }
-
-    function Qr(n, t, e) {
-        var r = n.a, u = n.b;
-        this.edge = n, this.site = t, this.angle = e ? Math.atan2(e.y - t.y, e.x - t.x) : n.l === t ? Math.atan2(u.x - r.x, r.y - u.y) : Math.atan2(r.x - u.x, u.y - r.y)
-    }
-
-    function nu() {
-        this._ = null
-    }
-
-    function tu(n) {
-        n.U = n.C = n.L = n.R = n.P = n.N = null
-    }
-
-    function eu(n, t) {
-        var e = t, r = t.R, u = e.U;
-        u ? u.L === e ? u.L = r : u.R = r : n._ = r, r.U = u, e.U = r, e.R = r.L, e.R && (e.R.U = e), r.L = e
-    }
-
-    function ru(n, t) {
-        var e = t, r = t.L, u = e.U;
-        u ? u.L === e ? u.L = r : u.R = r : n._ = r, r.U = u, e.U = r, e.L = r.R, e.L && (e.L.U = e), r.R = e
-    }
-
-    function uu(n) {
-        for (; n.L;)n = n.L;
-        return n
-    }
-
-    function iu(n, t) {
-        var e, r, u, i = n.sort(ou).pop();
-        for (Gc = [], Kc = new Array(n.length), Qc = new nu, tl = new nu; ;)if (u = nl, i && (!u || i.y < u.y || i.y === u.y && i.x < u.x))(i.x !== e || i.y !== r) && (Kc[i.i] = new Or(i), jr(i), e = i.x, r = i.y), i = n.pop(); else {
-            if (!u)break;
-            Ur(u.arc)
-        }
-        t && ($r(t), Ir(t));
-        var o = {cells: Kc, edges: Gc};
-        return Qc = tl = Gc = Kc = null, o
-    }
-
-    function ou(n, t) {
-        return t.y - n.y || t.x - n.x
-    }
-
-    function au(n, t, e) {
-        return (n.x - e.x) * (t.y - n.y) - (n.x - t.x) * (e.y - n.y)
-    }
-
-    function cu(n) {
-        return n.x
-    }
-
-    function lu(n) {
-        return n.y
-    }
-
-    function su() {
-        return {leaf: !0, nodes: [], point: null, x: null, y: null}
-    }
-
-    function fu(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] && fu(n, c[0], e, r, o, a), c[1] && fu(n, c[1], o, r, u, a), c[2] && fu(n, c[2], e, a, o, i), c[3] && fu(n, c[3], o, a, u, i)
-        }
-    }
-
-    function hu(n, t, e, r, u, i, o) {
-        var a, c = 1 / 0;
-        return function l(n, s, f, h, g) {
-            if (!(s > i || f > o || r > h || u > g)) {
-                if (p = n.point) {
-                    var p, v = t - n.x, d = e - n.y, m = v * v + d * d;
-                    if (c > m) {
-                        var y = Math.sqrt(c = m);
-                        r = t - y, u = e - y, i = t + y, o = e + y, a = p
-                    }
-                }
-                for (var M = n.nodes, x = .5 * (s + h), b = .5 * (f + g), _ = t >= x, w = e >= b, S = w << 1 | _, k = S + 4; k > S; ++S)if (n = M[3 & S])switch (3 & S) {
-                    case 0:
-                        l(n, s, f, x, b);
-                        break;
-                    case 1:
-                        l(n, x, f, h, b);
-                        break;
-                    case 2:
-                        l(n, s, b, x, g);
-                        break;
-                    case 3:
-                        l(n, x, b, h, g)
-                }
-            }
-        }(n, r, u, i, o), a
-    }
-
-    function gu(n, t) {
-        n = ta.rgb(n), t = ta.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 "#" + xt(Math.round(e + i * n)) + xt(Math.round(r + o * n)) + xt(Math.round(u + a * n))
-        }
-    }
-
-    function pu(n, t) {
-        var e, r = {}, u = {};
-        for (e in n)e in t ? r[e] = mu(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 vu(n, t) {
-        return n = +n, t = +t, function (e) {
-            return n * (1 - e) + t * e
-        }
-    }
-
-    function du(n, t) {
-        var e, r, u, i = il.lastIndex = ol.lastIndex = 0, o = -1, a = [], c = [];
-        for (n += "", t += ""; (e = il.exec(n)) && (r = ol.exec(t));)(u = r.index) > i && (u = t.slice(i, u), a[o] ? a[o] += u : a[++o] = u), (e = e[0]) === (r = r[0]) ? a[o] ? a[o] += r : a[++o] = r : (a[++o] = null, c.push({
-            i: o,
-            x: vu(e, r)
-        })), i = ol.lastIndex;
-        return i < t.length && (u = t.slice(i), a[o] ? a[o] += u : a[++o] = u), a.length < 2 ? c[0] ? (t = c[0].x, function (n) {
-            return t(n) + ""
-        }) : function () {
-            return t
-        } : (t = c.length, function (n) {
-            for (var e, r = 0; t > r; ++r)a[(e = c[r]).i] = e.x(n);
-            return a.join("")
-        })
-    }
-
-    function mu(n, t) {
-        for (var e, r = ta.interpolators.length; --r >= 0 && !(e = ta.interpolators[r](n, t)););
-        return e
-    }
-
-    function yu(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(mu(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 Mu(n) {
-        return function (t) {
-            return 0 >= t ? 0 : t >= 1 ? 1 : n(t)
-        }
-    }
-
-    function xu(n) {
-        return function (t) {
-            return 1 - n(1 - t)
-        }
-    }
-
-    function bu(n) {
-        return function (t) {
-            return .5 * (.5 > t ? n(2 * t) : 2 - n(2 - 2 * t))
-        }
-    }
-
-    function _u(n) {
-        return n * n
-    }
-
-    function wu(n) {
-        return n * n * n
-    }
-
-    function Su(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 ku(n) {
-        return function (t) {
-            return Math.pow(t, n)
-        }
-    }
-
-    function Eu(n) {
-        return 1 - Math.cos(n * Ra)
-    }
-
-    function Au(n) {
-        return Math.pow(2, 10 * (n - 1))
-    }
-
-    function Nu(n) {
-        return 1 - Math.sqrt(1 - n * n)
-    }
-
-    function Cu(n, t) {
-        var e;
-        return arguments.length < 2 && (t = .45), arguments.length ? e = t / La * Math.asin(1 / n) : (n = 1, e = t / 4), function (r) {
-            return 1 + n * Math.pow(2, -10 * r) * Math.sin((r - e) * La / t)
-        }
-    }
-
-    function zu(n) {
-        return n || (n = 1.70158), function (t) {
-            return t * t * ((n + 1) * t - n)
-        }
-    }
-
-    function qu(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 Lu(n, t) {
-        n = ta.hcl(n), t = ta.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 st(e + i * n, r + o * n, u + a * n) + ""
-        }
-    }
-
-    function Tu(n, t) {
-        n = ta.hsl(n), t = ta.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 ct(e + i * n, r + o * n, u + a * n) + ""
-        }
-    }
-
-    function Ru(n, t) {
-        n = ta.lab(n), t = ta.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 ht(e + i * n, r + o * n, u + a * n) + ""
-        }
-    }
-
-    function Du(n, t) {
-        return t -= n, function (e) {
-            return Math.round(n + t * e)
-        }
-    }
-
-    function Pu(n) {
-        var t = [n.a, n.b], e = [n.c, n.d], r = ju(t), u = Uu(t, e), i = ju(Fu(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])) * Pa, this.translate = [n.e, n.f], this.scale = [r, i], this.skew = i ? Math.atan2(u, i) * Pa : 0
-    }
-
-    function Uu(n, t) {
-        return n[0] * t[0] + n[1] * t[1]
-    }
-
-    function ju(n) {
-        var t = Math.sqrt(Uu(n, n));
-        return t && (n[0] /= t, n[1] /= t), t
-    }
-
-    function Fu(n, t, e) {
-        return n[0] += e * t[0], n[1] += e * t[1], n
-    }
-
-    function Hu(n, t) {
-        var e, r = [], u = [], i = ta.transform(n), o = ta.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: vu(a[0], c[0])
-        }, {
-            i: 3,
-            x: vu(a[1], c[1])
-        })) : r.push(c[0] || c[1] ? "translate(" + c + ")" : ""), l != s ? (l - s > 180 ? s += 360 : s - l > 180 && (l += 360), u.push({
-            i: r.push(r.pop() + "rotate(", null, ")") - 2,
-            x: vu(l, s)
-        })) : s && r.push(r.pop() + "rotate(" + s + ")"), f != h ? u.push({
-            i: r.push(r.pop() + "skewX(", null, ")") - 2,
-            x: vu(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: vu(g[0], p[0])
-        }, {
-            i: e - 2,
-            x: vu(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 Ou(n, t) {
-        return t = (t -= n = +n) || 1 / t, function (e) {
-            return (e - n) / t
-        }
-    }
-
-    function Iu(n, t) {
-        return t = (t -= n = +n) || 1 / t, function (e) {
-            return Math.max(0, Math.min(1, (e - n) / t))
-        }
-    }
-
-    function Yu(n) {
-        for (var t = n.source, e = n.target, r = Vu(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 Zu(n) {
-        for (var t = [], e = n.parent; null != e;)t.push(n), n = e, e = e.parent;
-        return t.push(n), t
-    }
-
-    function Vu(n, t) {
-        if (n === t)return n;
-        for (var e = Zu(n), r = Zu(t), u = e.pop(), i = r.pop(), o = null; u === i;)o = u, u = e.pop(), i = r.pop();
-        return o
-    }
-
-    function Xu(n) {
-        n.fixed |= 2
-    }
-
-    function $u(n) {
-        n.fixed &= -7
-    }
-
-    function Bu(n) {
-        n.fixed |= 4, n.px = n.x, n.py = n.y
-    }
-
-    function Wu(n) {
-        n.fixed &= -5
-    }
-
-    function Ju(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 && (Ju(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 Gu(n, t) {
-        return ta.rebind(n, t, "sort", "children", "value"), n.nodes = n, n.links = ri, n
-    }
-
-    function Ku(n, t) {
-        for (var e = [n]; null != (n = e.pop());)if (t(n), (u = n.children) && (r = u.length))for (var r, u; --r >= 0;)e.push(u[r])
-    }
-
-    function Qu(n, t) {
-        for (var e = [n], r = []; null != (n = e.pop());)if (r.push(n), (i = n.children) && (u = i.length))for (var u, i, o = -1; ++o < u;)e.push(i[o]);
-        for (; null != (n = r.pop());)t(n)
-    }
-
-    function ni(n) {
-        return n.children
-    }
-
-    function ti(n) {
-        return n.value
-    }
-
-    function ei(n, t) {
-        return t.value - n.value
-    }
-
-    function ri(n) {
-        return ta.merge(n.map(function (n) {
-            return (n.children || []).map(function (t) {
-                return

<TRUNCATED>

Mime
View raw message