Overview

URL www.nepremicnine.net/nepremicnine.html?id=6507190
IP91.235.242.143
ASNUNISTAR LC do.o.
Location Slovenia
Report completed2022-10-02 16:27:36 UTC
StatusLoading report..
urlquery Alerts No alerts detected


Settings

UserAgentMozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Referer


Intrusion Detection Systems

Suricata /w Emerging Threats Pro  No alerts detected


Blocklists

OpenPhish  No alerts detected
PhishTank  No alerts detected
Fortinet's Web Filter  No alerts detected
mnemonic secure dns  No alerts detected
Quad9 DNS  No alerts detected


Files

No files detected



Passive DNS (20)

Passive DNS Source Fully Qualifying Domain Name Rank First Seen Last Seen IP Comment
mnemonic passive DNS nepremicnine.click (7) 0 2017-11-23 15:31:04 UTC 2022-09-28 06:55:43 UTC 91.235.242.139 Unknown ranking
mnemonic passive DNS push.services.mozilla.com (1) 2140 2015-09-03 10:29:36 UTC 2022-10-02 10:20:02 UTC 54.148.77.40
mnemonic passive DNS stats.g.doubleclick.net (1) 96 2013-06-02 22:47:44 UTC 2022-10-02 11:34:04 UTC 74.125.131.154
mnemonic passive DNS www.facebook.com (1) 99 2017-01-30 05:00:00 UTC 2022-10-02 04:45:21 UTC 157.240.221.35
mnemonic passive DNS firefox.settings.services.mozilla.com (2) 867 2020-05-27 20:08:30 UTC 2022-10-02 08:03:17 UTC 18.165.201.103
mnemonic passive DNS contile.services.mozilla.com (1) 1114 2021-05-27 18:32:35 UTC 2022-10-02 04:45:21 UTC 34.117.237.239
mnemonic passive DNS ocsp.pki.goog (4) 175 2017-06-14 07:23:31 UTC 2022-10-02 05:01:45 UTC 142.250.74.3
mnemonic passive DNS img-getpocket.cdn.mozilla.net (6) 1631 2017-09-01 03:40:57 UTC 2022-10-02 05:30:03 UTC 34.120.237.76
mnemonic passive DNS fonts.googleapis.com (1) 8877 2013-06-10 20:14:26 UTC 2022-10-02 09:28:40 UTC 142.250.74.10
mnemonic passive DNS r3.o.lencr.org (6) 344 2020-12-02 08:52:13 UTC 2022-10-02 05:33:45 UTC 23.36.76.226
mnemonic passive DNS ocsp.sectigo.com (3) 487 2018-12-17 11:31:55 UTC 2022-10-02 07:22:57 UTC 172.64.155.188
mnemonic passive DNS cdnjs.cloudflare.com (1) 235 2020-10-20 10:17:36 UTC 2022-10-02 06:52:02 UTC 104.17.24.14
mnemonic passive DNS ocsp.digicert.com (3) 86 2012-05-21 07:02:23 UTC 2022-10-02 10:21:36 UTC 93.184.220.29
mnemonic passive DNS img.onnepremicnine.net (2) 0 2022-06-05 16:04:39 UTC 2022-08-12 10:36:33 UTC 104.26.1.132 Unknown ranking
mnemonic passive DNS content-signature-2.cdn.mozilla.net (1) 1152 2020-11-03 12:26:46 UTC 2022-10-02 05:00:42 UTC 108.156.28.39
mnemonic passive DNS code.jquery.com (2) 634 2012-05-21 17:28:02 UTC 2022-10-02 05:26:46 UTC 69.16.175.10
mnemonic passive DNS www.nepremicnine.net (25) 931212 2012-10-15 16:51:52 UTC 2022-09-20 09:35:37 UTC 91.235.242.143
mnemonic passive DNS si.hit.gemius.pl (5) 244933 2017-01-29 21:16:51 UTC 2022-09-27 09:50:35 UTC 37.59.140.178
mnemonic passive DNS ssl.google-analytics.com (1) 275 2012-10-03 00:55:57 UTC 2022-10-02 09:39:07 UTC 142.250.74.40
mnemonic passive DNS connect.facebook.net (1) 139 2012-05-22 02:51:28 UTC 2022-10-02 11:18:54 UTC 157.240.221.16


Recent reports on same IP/ASN/Domain/Screenshot

Last 1 reports on IP: 91.235.242.143

Date UQ / IDS / BL URL IP
2022-10-02 16:27:36 +0000
0 - 0 - 0 www.nepremicnine.net/nepremicnine.html?id=6507190 91.235.242.143

Last 1 reports on ASN: UNISTAR LC do.o.

Date UQ / IDS / BL URL IP
2022-10-02 16:27:36 +0000
0 - 0 - 0 www.nepremicnine.net/nepremicnine.html?id=6507190 91.235.242.143

Last 1 reports on domain: nepremicnine.net

Date UQ / IDS / BL URL IP
2022-10-02 16:27:36 +0000
0 - 0 - 0 www.nepremicnine.net/nepremicnine.html?id=6507190 91.235.242.143

No other reports with similar screenshot



JavaScript

Executed Scripts (31)


Executed Evals (2)

#1 JavaScript::Eval (size: 151725, repeated: 1) - SHA256: 76c39718d1c0a3fb321676b3b7e29306c0907919a5716d5728bd1b08ae0169e7

                                        ! 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 : NaN
    }

    function r(n) {
        return null === n ? NaN : +n
    }

    function i(n) {
        return !isNaN(n)
    }

    function u(n) {
        return {
            left: function(t, e, r, i) {
                for (arguments.length < 3 && (r = 0), arguments.length < 4 && (i = t.length); i > r;) {
                    var u = r + i >>> 1;
                    n(t[u], e) < 0 ? r = u + 1 : i = u
                }
                return r
            },
            right: function(t, e, r, i) {
                for (arguments.length < 3 && (r = 0), arguments.length < 4 && (i = t.length); i > r;) {
                    var u = r + i >>> 1;
                    n(t[u], e) > 0 ? i = u : r = u + 1
                }
                return r
            }
        }
    }

    function o(n) {
        return n.length
    }

    function a(n) {
        for (var t = 1; n * t % 1;) t *= 10;
        return t
    }

    function l(n, t) {
        for (var e in t) Object.defineProperty(n.prototype, e, {
            value: t[e],
            enumerable: !1
        })
    }

    function c() {
        this._ = Object.create(null)
    }

    function f(n) {
        return (n += "") === bo || n[0] === _o ? _o + n : n
    }

    function s(n) {
        return (n += "")[0] === _o ? n.slice(1) : n
    }

    function h(n) {
        return f(n) in this._
    }

    function p(n) {
        return (n = f(n)) in this._ && delete this._[n]
    }

    function g() {
        var n = [];
        for (var t in this._) n.push(s(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 y() {
        this._ = Object.create(null)
    }

    function m(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 = wo.length; r > e; ++e) {
            var i = wo[e] + t;
            if (i in n) return i
        }
    }

    function b() {}

    function _() {}

    function w(n) {
        function t() {
            for (var t, r = e, i = -1, u = r.length; ++i < u;)(t = r[i].on) && t.apply(this, arguments);
            return n
        }
        var e = [],
            r = new c;
        return t.on = function(t, i) {
            var u, o = r.get(t);
            return arguments.length < 2 ? o && o.on : (o && (o.on = null, e = e.slice(0, u = e.indexOf(o)).concat(e.slice(u + 1)), r.remove(t)), i && e.push(r.set(t, {
                on: i
            })), n)
        }, t
    }

    function S() {
        ao.event.preventDefault()
    }

    function k() {
        for (var n, t = ao.event; n = t.sourceEvent;) t = n;
        return t
    }

    function N(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(i) {
                try {
                    var u = i.sourceEvent = ao.event;
                    i.target = n, ao.event = i, t[i.type].apply(e, r)
                } finally {
                    ao.event = u
                }
            }
        }, t
    }

    function E(n) {
        return ko(n, Co), n
    }

    function A(n) {
        return "function" == typeof n ? n : function() {
            return No(n, this)
        }
    }

    function C(n) {
        return "function" == typeof n ? n : function() {
            return Eo(n, this)
        }
    }

    function z(n, t) {
        function e() {
            this.removeAttribute(n)
        }

        function r() {
            this.removeAttributeNS(n.space, n.local)
        }

        function i() {
            this.setAttribute(n, t)
        }

        function u() {
            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 = ao.ns.qualify(n), null == t ? n.local ? r : e : "function" == typeof t ? n.local ? a : o : n.local ? u : i
    }

    function L(n) {
        return n.trim().replace(/\s+/g, " ")
    }

    function q(n) {
        return new RegExp("(?:^|\\s+)" + ao.requote(n) + "(?:\\s+|$)", "g")
    }

    function T(n) {
        return (n + "").trim().split(/^|\s+/)
    }

    function R(n, t) {
        function e() {
            for (var e = -1; ++e < i;) n[e](this, t)
        }

        function r() {
            for (var e = -1, r = t.apply(this, arguments); ++e < i;) n[e](this, r)
        }
        n = T(n).map(D);
        var i = n.length;
        return "function" == typeof t ? r : e
    }

    function D(n) {
        var t = q(n);
        return function(e, r) {
            if (i = e.classList) return r ? i.add(n) : i.remove(n);
            var i = e.getAttribute("class") || "";
            r ? (t.lastIndex = 0, t.test(i) || e.setAttribute("class", L(i + " " + n))) : e.setAttribute("class", L(i.replace(t, " ")))
        }
    }

    function P(n, t, e) {
        function r() {
            this.style.removeProperty(n)
        }

        function i() {
            this.style.setProperty(n, t, e)
        }

        function u() {
            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 ? u : i
    }

    function U(n, t) {
        function e() {
            delete this[n]
        }

        function r() {
            this[n] = t
        }

        function i() {
            var e = t.apply(this, arguments);
            null == e ? delete this[n] : this[n] = e
        }
        return null == t ? e : "function" == typeof t ? i : r
    }

    function j(n) {
        function t() {
            var t = this.ownerDocument,
                e = this.namespaceURI;
            return e === zo && t.documentElement.namespaceURI === zo ? t.createElement(n) : t.createElementNS(e, n)
        }

        function e() {
            return this.ownerDocument.createElementNS(n.space, n.local)
        }
        return "function" == typeof n ? n : (n = ao.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 Ao(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 i, u = n[e], o = 0, a = u.length; a > o; o++)(i = u[o]) && t(i, o, e);
        return n
    }

    function Z(n) {
        return ko(n, qo), n
    }

    function V(n) {
        var t, e;
        return function(r, i, u) {
            var o, a = n[u].update,
                l = a.length;
            for (u != e && (e = u, t = 0), i >= t && (t = i + 1); !(o = a[t]) && ++t < l;);
            return o
        }
    }

    function X(n, t, e) {
        function r() {
            var t = this[o];
            t && (this.removeEventListener(n, t, t.$), delete this[o])
        }

        function i() {
            var i = l(t, co(arguments));
            r.call(this), this.addEventListener(n, this[o] = i, i.$ = e), i._ = t
        }

        function u() {
            var t, e = new RegExp("^__on([^.]+)" + ao.requote(n) + "$");
            for (var r in this)
                if (t = r.match(e)) {
                    var i = this[r];
                    this.removeEventListener(t[1], i, i.$), delete this[r]
                }
        }
        var o = "__on" + n,
            a = n.indexOf("."),
            l = $;
        a > 0 && (n = n.slice(0, a));
        var c = To.get(n);
        return c && (n = c, l = B), a ? t ? i : r : t ? b : u
    }

    function $(n, t) {
        return function(e) {
            var r = ao.event;
            ao.event = e, t[0] = this.__data__;
            try {
                n.apply(this, t)
            } finally {
                ao.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-" + ++Do,
            i = "click" + r,
            u = ao.select(t(e)).on("touchmove" + r, S).on("dragstart" + r, S).on("selectstart" + r, S);
        if (null == Ro && (Ro = "onselectstart" in e ? !1 : x(e.style, "userSelect")), Ro) {
            var o = n(e).style,
                a = o[Ro];
            o[Ro] = "none"
        }
        return function(n) {
            if (u.on(r, null), Ro && (o[Ro] = a), n) {
                var t = function() {
                    u.on(i, null)
                };
                u.on(i, 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 i = r.createSVGPoint();
            if (0 > Po) {
                var u = t(n);
                if (u.scrollX || u.scrollY) {
                    r = ao.select("body").append("svg").style({
                        position: "absolute",
                        top: 0,
                        left: 0,
                        margin: 0,
                        padding: 0,
                        border: "none"
                    }, "important");
                    var o = r[0][0].getScreenCTM();
                    Po = !(o.f || o.e), r.remove()
                }
            }
            return Po ? (i.x = e.pageX, i.y = e.pageY) : (i.x = e.clientX, i.y = e.clientY), i = i.matrixTransform(n.getScreenCTM().inverse()), [i.x, i.y]
        }
        var a = n.getBoundingClientRect();
        return [e.clientX - a.left - n.clientLeft, e.clientY - a.top - n.clientTop]
    }

    function G() {
        return ao.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 nn(n) {
        return n > 1 ? 0 : -1 > n ? Fo : Math.acos(n)
    }

    function tn(n) {
        return n > 1 ? Io : -1 > n ? -Io : Math.asin(n)
    }

    function en(n) {
        return ((n = Math.exp(n)) - 1 / n) / 2
    }

    function rn(n) {
        return ((n = Math.exp(n)) + 1 / n) / 2
    }

    function un(n) {
        return ((n = Math.exp(2 * n)) - 1) / (n + 1)
    }

    function on(n) {
        return (n = Math.sin(n / 2)) * n
    }

    function an() {}

    function ln(n, t, e) {
        return this instanceof ln ? (this.h = +n, this.s = +t, void(this.l = +e)) : arguments.length < 2 ? n instanceof ln ? new ln(n.h, n.s, n.l) : _n("" + n, wn, ln) : new ln(n, t, e)
    }

    function cn(n, t, e) {
        function r(n) {
            return n > 360 ? n -= 360 : 0 > n && (n += 360), 60 > n ? u + (o - u) * n / 60 : 180 > n ? o : 240 > n ? u + (o - u) * (240 - n) / 60 : u
        }

        function i(n) {
            return Math.round(255 * r(n))
        }
        var u, 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, u = 2 * e - o, new mn(i(n + 120), i(n), i(n - 120))
    }

    function fn(n, t, e) {
        return this instanceof fn ? (this.h = +n, this.c = +t, void(this.l = +e)) : arguments.length < 2 ? n instanceof fn ? new fn(n.h, n.c, n.l) : n instanceof hn ? gn(n.l, n.a, n.b) : gn((n = Sn((n = ao.rgb(n)).r, n.g, n.b)).l, n.a, n.b) : new fn(n, t, e)
    }

    function sn(n, t, e) {
        return isNaN(n) && (n = 0), isNaN(t) && (t = 0), new hn(e, Math.cos(n *= Yo) * t, Math.sin(n) * t)
    }

    function hn(n, t, e) {
        return this instanceof hn ? (this.l = +n, this.a = +t, void(this.b = +e)) : arguments.length < 2 ? n instanceof hn ? new hn(n.l, n.a, n.b) : n instanceof fn ? sn(n.h, n.c, n.l) : Sn((n = mn(n)).r, n.g, n.b) : new hn(n, t, e)
    }

    function pn(n, t, e) {
        var r = (n + 16) / 116,
            i = r + t / 500,
            u = r - e / 200;
        return i = vn(i) * na, r = vn(r) * ta, u = vn(u) * ea, new mn(yn(3.2404542 * i - 1.5371385 * r - .4985314 * u), yn(-.969266 * i + 1.8760108 * r + .041556 * u), yn(.0556434 * i - .2040259 * r + 1.0572252 * u))
    }

    function gn(n, t, e) {
        return n > 0 ? new fn(Math.atan2(e, t) * Zo, Math.sqrt(t * t + e * e), n) : new fn(NaN, NaN, n)
    }

    function vn(n) {
        return n > .206893034 ? n * n * n : (n - 4 / 29) / 7.787037
    }

    function dn(n) {
        return n > .008856 ? Math.pow(n, 1 / 3) : 7.787037 * n + 4 / 29
    }

    function yn(n) {
        return Math.round(255 * (.00304 >= n ? 12.92 * n : 1.055 * Math.pow(n, 1 / 2.4) - .055))
    }

    function mn(n, t, e) {
        return this instanceof mn ? (this.r = ~~n, this.g = ~~t, void(this.b = ~~e)) : arguments.length < 2 ? n instanceof mn ? new mn(n.r, n.g, n.b) : _n("" + n, mn, cn) : new mn(n, t, e)
    }

    function Mn(n) {
        return new mn(n >> 16, n >> 8 & 255, 255 & n)
    }

    function xn(n) {
        return Mn(n) + ""
    }

    function bn(n) {
        return 16 > n ? "0" + Math.max(0, n).toString(16) : Math.min(255, n).toString(16)
    }

    function _n(n, t, e) {
        var r, i, u, o = 0,
            a = 0,
            l = 0;
        if (r = /([a-z]+)\((.*)\)/.exec(n = n.toLowerCase())) switch (i = r[2].split(","), r[1]) {
            case "hsl":
                return e(parseFloat(i[0]), parseFloat(i[1]) / 100, parseFloat(i[2]) / 100);
            case "rgb":
                return t(Nn(i[0]), Nn(i[1]), Nn(i[2]))
        }
        return (u = ua.get(n)) ? t(u.r, u.g, u.b) : (null == n || "#" !== n.charAt(0) || isNaN(u = parseInt(n.slice(1), 16)) || (4 === n.length ? (o = (3840 & u) >> 4, o = o >> 4 | o, a = 240 & u, a = a >> 4 | a, l = 15 & u, l = l << 4 | l) : 7 === n.length && (o = (16711680 & u) >> 16, a = (65280 & u) >> 8, l = 255 & u)), t(o, a, l))
    }

    function wn(n, t, e) {
        var r, i, u = Math.min(n /= 255, t /= 255, e /= 255),
            o = Math.max(n, t, e),
            a = o - u,
            l = (o + u) / 2;
        return a ? (i = .5 > l ? a / (o + u) : a / (2 - o - u), r = n == o ? (t - e) / a + (e > t ? 6 : 0) : t == o ? (e - n) / a + 2 : (n - t) / a + 4, r *= 60) : (r = NaN, i = l > 0 && 1 > l ? 0 : r), new ln(r, i, l)
    }

    function Sn(n, t, e) {
        n = kn(n), t = kn(t), e = kn(e);
        var r = dn((.4124564 * n + .3575761 * t + .1804375 * e) / na),
            i = dn((.2126729 * n + .7151522 * t + .072175 * e) / ta),
            u = dn((.0193339 * n + .119192 * t + .9503041 * e) / ea);
        return hn(116 * i - 16, 500 * (r - i), 200 * (i - u))
    }

    function kn(n) {
        return (n /= 255) <= .04045 ? n / 12.92 : Math.pow((n + .055) / 1.055, 2.4)
    }

    function Nn(n) {
        var t = parseFloat(n);
        return "%" === n.charAt(n.length - 1) ? Math.round(2.55 * t) : t
    }

    function En(n) {
        return "function" == typeof n ? n : function() {
            return n
        }
    }

    function An(n) {
        return function(t, e, r) {
            return 2 === arguments.length && "function" == typeof e && (r = e, e = null), Cn(t, e, n, r)
        }
    }

    function Cn(n, t, e, r) {
        function i() {
            var n, t = l.status;
            if (!t && Ln(l) || t >= 200 && 300 > t || 304 === t) {
                try {
                    n = e.call(u, l)
                } catch (r) {
                    return void o.error.call(u, r)
                }
                o.load.call(u, n)
            } else o.error.call(u, l)
        }
        var u = {},
            o = ao.dispatch("beforesend", "progress", "load", "error"),
            a = {},
            l = new XMLHttpRequest,
            c = null;
        return !this.XDomainRequest || "withCredentials" in l || !/^(http(s)?:)?\/\//.test(n) || (l = new XDomainRequest), "onload" in l ? l.onload = l.onerror = i : l.onreadystatechange = function() {
            l.readyState > 3 && i()
        }, l.onprogress = function(n) {
            var t = ao.event;
            ao.event = n;
            try {
                o.progress.call(u, l)
            } finally {
                ao.event = t
            }
        }, u.header = function(n, t) {
            return n = (n + "").toLowerCase(), arguments.length < 2 ? a[n] : (null == t ? delete a[n] : a[n] = t + "", u)
        }, u.mimeType = function(n) {
            return arguments.length ? (t = null == n ? null : n + "", u) : t
        }, u.responseType = function(n) {
            return arguments.length ? (c = n, u) : c
        }, u.response = function(n) {
            return e = n, u
        }, ["get", "post"].forEach(function(n) {
            u[n] = function() {
                return u.send.apply(u, [n].concat(co(arguments)))
            }
        }), u.send = function(e, r, i) {
            if (2 === arguments.length && "function" == typeof r && (i = r, r = null), l.open(e, n, !0), null == t || "accept" in a || (a.accept = t + ",*/*"), l.setRequestHeader)
                for (var f in a) l.setRequestHeader(f, a[f]);
            return null != t && l.overrideMimeType && l.overrideMimeType(t), null != c && (l.responseType = c), null != i && u.on("error", i).on("load", function(n) {
                i(null, n)
            }), o.beforesend.call(u, l), l.send(null == r ? null : r), u
        }, u.abort = function() {
            return l.abort(), u
        }, ao.rebind(u, o, "on"), null == r ? u : u.get(zn(r))
    }

    function zn(n) {
        return 1 === n.length ? function(t, e) {
            n(null == t ? e : null)
        } : n
    }

    function Ln(n) {
        var t = n.responseType;
        return t && "text" !== t ? n.response : n.responseText
    }

    function qn(n, t, e) {
        var r = arguments.length;
        2 > r && (t = 0), 3 > r && (e = Date.now());
        var i = e + t,
            u = {
                c: n,
                t: i,
                n: null
            };
        return aa ? aa.n = u : oa = u, aa = u, la || (ca = clearTimeout(ca), la = 1, fa(Tn)), u
    }

    function Tn() {
        var n = Rn(),
            t = Dn() - n;
        t > 24 ? (isFinite(t) && (clearTimeout(ca), ca = setTimeout(Tn, t)), la = 0) : (la = 1, fa(Tn))
    }

    function Rn() {
        for (var n = Date.now(), t = oa; t;) n >= t.t && t.c(n - t.t) && (t.c = null), t = t.n;
        return n
    }

    function Dn() {
        for (var n, t = oa, e = 1 / 0; t;) t.c ? (t.t < e && (e = t.t), t = (n = t).n) : t = n ? n.n = t.n : oa = t.n;
        return aa = n, e
    }

    function Pn(n, t) {
        return t - (n ? Math.ceil(Math.log(n) / Math.LN10) : 1)
    }

    function Un(n, t) {
        var e = Math.pow(10, 3 * xo(8 - t));
        return {
            scale: t > 8 ? function(n) {
                return n / e
            } : function(n) {
                return n * e
            },
            symbol: n
        }
    }

    function jn(n) {
        var t = n.decimal,
            e = n.thousands,
            r = n.grouping,
            i = n.currency,
            u = r && e ? function(n, t) {
                for (var i = n.length, u = [], o = 0, a = r[0], l = 0; i > 0 && a > 0 && (l + a + 1 > t && (a = Math.max(1, t - l)), u.push(n.substring(i -= a, i + a)), !((l += a + 1) > t));) a = r[o = (o + 1) % r.length];
                return u.reverse().join(e)
            } : m;
        return function(n) {
            var e = ha.exec(n),
                r = e[1] || " ",
                o = e[2] || ">",
                a = e[3] || "-",
                l = e[4] || "",
                c = e[5],
                f = +e[6],
                s = e[7],
                h = e[8],
                p = e[9],
                g = 1,
                v = "",
                d = "",
                y = !1,
                m = !0;
            switch (h && (h = +h.substring(1)), (c || "0" === r && "=" === o) && (c = r = "0", o = "="), p) {
                case "n":
                    s = !0, p = "g";
                    break;
                case "%":
                    g = 100, d = "%", p = "f";
                    break;
                case "p":
                    g = 100, d = "%", p = "r";
                    break;
                case "b":
                case "o":
                case "x":
                case "X":
                    "#" === l && (v = "0" + p.toLowerCase());
                case "c":
                    m = !1;
                case "d":
                    y = !0, h = 0;
                    break;
                case "s":
                    g = -1, p = "r"
            }
            "$" === l && (v = i[0], d = i[1]), "r" != p || h || (p = "g"), null != h && ("g" == p ? h = Math.max(1, Math.min(21, h)) : "e" != p && "f" != p || (h = Math.max(0, Math.min(20, h)))), p = pa.get(p) || Fn;
            var M = c && s;
            return function(n) {
                var e = d;
                if (y && n % 1) return "";
                var i = 0 > n || 0 === n && 0 > 1 / n ? (n = -n, "-") : "-" === a ? "" : a;
                if (0 > g) {
                    var l = ao.formatPrefix(n, h);
                    n = l.scale(n), e = l.symbol + d
                } else n *= g;
                n = p(n, h);
                var x, b, _ = n.lastIndexOf(".");
                if (0 > _) {
                    var w = m ? 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);
                !c && s && (x = u(x, 1 / 0));
                var S = v.length + x.length + b.length + (M ? 0 : i.length),
                    k = f > S ? new Array(S = f - S + 1).join(r) : "";
                return M && (x = u(k + x, k.length ? f - b.length : 1 / 0)), i += v, n = x + b, ("<" === o ? i + n + k : ">" === o ? k + i + n : "^" === o ? k.substring(0, S >>= 1) + i + n + k.substring(S) : i + (M ? n : k + n)) + e
            }
        }
    }

    function Fn(n) {
        return n + ""
    }

    function Hn() {
        this._ = new Date(arguments.length > 1 ? Date.UTC.apply(this, arguments) : arguments[0])
    }

    function On(n, t, e) {
        function r(t) {
            var e = n(t),
                r = u(e, 1);
            return r - t > t - e ? e : r
        }

        function i(e) {
            return t(e = n(new va(e - 1)), 1), e
        }

        function u(n, e) {
            return t(n = new va(+n), e), n
        }

        function o(n, r, u) {
            var o = i(n),
                a = [];
            if (u > 1)
                for (; r > o;) e(o) % u || 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 {
                va = Hn;
                var r = new Hn;
                return r._ = n, o(r, t, e)
            } finally {
                va = Date
            }
        }
        n.floor = n, n.round = r, n.ceil = i, n.offset = u, n.range = o;
        var l = n.utc = In(n);
        return l.floor = l, l.round = In(r), l.ceil = In(i), l.offset = In(u), l.range = a, n
    }

    function In(n) {
        return function(t, e) {
            try {
                va = Hn;
                var r = new Hn;
                return r._ = t, n(r, e)._
            } finally {
                va = Date
            }
        }
    }

    function Yn(n) {
        function t(n) {
            function t(t) {
                for (var e, i, u, o = [], a = -1, l = 0; ++a < r;) 37 === n.charCodeAt(a) && (o.push(n.slice(l, a)), null != (i = ya[e = n.charAt(++a)]) && (e = n.charAt(++a)), (u = A[e]) && (e = u(t, null == i ? "e" === e ? " " : "0" : i)), o.push(e), l = a + 1);
                return o.push(n.slice(l, 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
                    },
                    i = e(r, n, t, 0);
                if (i != t.length) return null;
                "p" in r && (r.H = r.H % 12 + 12 * r.p);
                var u = null != r.Z && va !== Hn,
                    o = new(u ? Hn : va);
                return "j" in r ? o.setFullYear(r.y, 0, r.j) : "W" in r || "U" in r ? ("w" in r || (r.w = "W" in r ? 1 : 0), 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), u ? o._ : o
            }, t.toString = function() {
                return n
            }, t
        }

        function e(n, t, e, r) {
            for (var i, u, o, a = 0, l = t.length, c = e.length; l > a;) {
                if (r >= c) return -1;
                if (i = t.charCodeAt(a++), 37 === i) {
                    if (o = t.charAt(a++), u = C[o in ya ? t.charAt(a++) : o], !u || (r = u(n, e, r)) < 0) return -1
                } else if (i != 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 i(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 u(n, t, e) {
            N.lastIndex = 0;
            var r = N.exec(t.slice(e));
            return r ? (n.m = E.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, A.c.toString(), t, r)
        }

        function l(n, t, r) {
            return e(n, A.x.toString(), t, r)
        }

        function c(n, t, r) {
            return e(n, A.X.toString(), t, r)
        }

        function f(n, t, e) {
            var r = M.get(t.slice(e, e += 2).toLowerCase());
            return null == r ? -1 : (n.p = r, e)
        }
        var s = n.dateTime,
            h = n.date,
            p = n.time,
            g = n.periods,
            v = n.days,
            d = n.shortDays,
            y = n.months,
            m = n.shortMonths;
        t.utc = function(n) {
            function e(n) {
                try {
                    va = Hn;
                    var t = new va;
                    return t._ = n, r(t)
                } finally {
                    va = Date
                }
            }
            var r = t(n);
            return e.parse = function(n) {
                try {
                    va = Hn;
                    var t = r.parse(n);
                    return t && t._
                } finally {
                    va = Date
                }
            }, e.toString = r.toString, e
        }, t.multi = t.utc.multi = ct;
        var M = ao.map(),
            x = Vn(v),
            b = Xn(v),
            _ = Vn(d),
            w = Xn(d),
            S = Vn(y),
            k = Xn(y),
            N = Vn(m),
            E = Xn(m);
        g.forEach(function(n, t) {
            M.set(n.toLowerCase(), t)
        });
        var A = {
                a: function(n) {
                    return d[n.getDay()]
                },
                A: function(n) {
                    return v[n.getDay()]
                },
                b: function(n) {
                    return m[n.getMonth()]
                },
                B: function(n) {
                    return y[n.getMonth()]
                },
                c: t(s),
                d: function(n, t) {
                    return Zn(n.getDate(), t, 2)
                },
                e: function(n, t) {
                    return Zn(n.getDate(), t, 2)
                },
                H: function(n, t) {
                    return Zn(n.getHours(), t, 2)
                },
                I: function(n, t) {
                    return Zn(n.getHours() % 12 || 12, t, 2)
                },
                j: function(n, t) {
                    return Zn(1 + ga.dayOfYear(n), t, 3)
                },
                L: function(n, t) {
                    return Zn(n.getMilliseconds(), t, 3)
                },
                m: function(n, t) {
                    return Zn(n.getMonth() + 1, t, 2)
                },
                M: function(n, t) {
                    return Zn(n.getMinutes(), t, 2)
                },
                p: function(n) {
                    return g[+(n.getHours() >= 12)]
                },
                S: function(n, t) {
                    return Zn(n.getSeconds(), t, 2)
                },
                U: function(n, t) {
                    return Zn(ga.sundayOfYear(n), t, 2)
                },
                w: function(n) {
                    return n.getDay()
                },
                W: function(n, t) {
                    return Zn(ga.mondayOfYear(n), t, 2)
                },
                x: t(h),
                X: t(p),
                y: function(n, t) {
                    return Zn(n.getFullYear() % 100, t, 2)
                },
                Y: function(n, t) {
                    return Zn(n.getFullYear() % 1e4, t, 4)
                },
                Z: at,
                "%": function() {
                    return "%"
                }
            },
            C = {
                a: r,
                A: i,
                b: u,
                B: o,
                c: a,
                d: tt,
                e: tt,
                H: rt,
                I: rt,
                j: et,
                L: ot,
                m: nt,
                M: it,
                p: f,
                S: ut,
                U: Bn,
                w: $n,
                W: Wn,
                x: l,
                X: c,
                y: Gn,
                Y: Jn,
                Z: Kn,
                "%": lt
            };
        return t
    }

    function Zn(n, t, e) {
        var r = 0 > n ? "-" : "",
            i = (r ? -n : n) + "",
            u = i.length;
        return r + (e > u ? new Array(e - u + 1).join(t) + i : i)
    }

    function Vn(n) {
        return new RegExp("^(?:" + n.map(ao.requote).join("|") + ")", "i")
    }

    function Xn(n) {
        for (var t = new c, e = -1, r = n.length; ++e < r;) t.set(n[e].toLowerCase(), e);
        return t
    }

    function $n(n, t, e) {
        ma.lastIndex = 0;
        var r = ma.exec(t.slice(e, e + 1));
        return r ? (n.w = +r[0], e + r[0].length) : -1
    }

    function Bn(n, t, e) {
        ma.lastIndex = 0;
        var r = ma.exec(t.slice(e));
        return r ? (n.U = +r[0], e + r[0].length) : -1
    }

    function Wn(n, t, e) {
        ma.lastIndex = 0;
        var r = ma.exec(t.slice(e));
        return r ? (n.W = +r[0], e + r[0].length) : -1
    }

    function Jn(n, t, e) {
        ma.lastIndex = 0;
        var r = ma.exec(t.slice(e, e + 4));
        return r ? (n.y = +r[0], e + r[0].length) : -1
    }

    function Gn(n, t, e) {
        ma.lastIndex = 0;
        var r = ma.exec(t.slice(e, e + 2));
        return r ? (n.y = Qn(+r[0]), e + r[0].length) : -1
    }

    function Kn(n, t, e) {
        return /^[+-]\d{4}$/.test(t = t.slice(e, e + 5)) ? (n.Z = -t, e + 5) : -1
    }

    function Qn(n) {
        return n + (n > 68 ? 1900 : 2e3)
    }

    function nt(n, t, e) {
        ma.lastIndex = 0;
        var r = ma.exec(t.slice(e, e + 2));
        return r ? (n.m = r[0] - 1, e + r[0].length) : -1
    }

    function tt(n, t, e) {
        ma.lastIndex = 0;
        var r = ma.exec(t.slice(e, e + 2));
        return r ? (n.d = +r[0], e + r[0].length) : -1
    }

    function et(n, t, e) {
        ma.lastIndex = 0;
        var r = ma.exec(t.slice(e, e + 3));
        return r ? (n.j = +r[0], e + r[0].length) : -1
    }

    function rt(n, t, e) {
        ma.lastIndex = 0;
        var r = ma.exec(t.slice(e, e + 2));
        return r ? (n.H = +r[0], e + r[0].length) : -1
    }

    function it(n, t, e) {
        ma.lastIndex = 0;
        var r = ma.exec(t.slice(e, e + 2));
        return r ? (n.M = +r[0], e + r[0].length) : -1
    }

    function ut(n, t, e) {
        ma.lastIndex = 0;
        var r = ma.exec(t.slice(e, e + 2));
        return r ? (n.S = +r[0], e + r[0].length) : -1
    }

    function ot(n, t, e) {
        ma.lastIndex = 0;
        var r = ma.exec(t.slice(e, e + 3));
        return r ? (n.L = +r[0], e + r[0].length) : -1
    }

    function at(n) {
        var t = n.getTimezoneOffset(),
            e = t > 0 ? "-" : "+",
            r = xo(t) / 60 | 0,
            i = xo(t) % 60;
        return e + Zn(r, "0", 2) + Zn(i, "0", 2)
    }

    function lt(n, t, e) {
        Ma.lastIndex = 0;
        var r = Ma.exec(t.slice(e, e + 1));
        return r ? e + r[0].length : -1
    }

    function ct(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 ft() {}

    function st(n, t, e) {
        var r = e.s = n + t,
            i = r - n,
            u = r - i;
        e.t = n - u + (t - i)
    }

    function ht(n, t) {
        n && wa.hasOwnProperty(n.type) && wa[n.type](n, t)
    }

    function pt(n, t, e) {
        var r, i = -1,
            u = n.length - e;
        for (t.lineStart(); ++i < u;) r = n[i], t.point(r[0], r[1], r[2]);
        t.lineEnd()
    }

    function gt(n, t) {
        var e = -1,
            r = n.length;
        for (t.polygonStart(); ++e < r;) pt(n[e], t, 1);
        t.polygonEnd()
    }

    function vt() {
        function n(n, t) {
            n *= Yo, t = t * Yo / 2 + Fo / 4;
            var e = n - r,
                o = e >= 0 ? 1 : -1,
                a = o * e,
                l = Math.cos(t),
                c = Math.sin(t),
                f = u * c,
                s = i * l + f * Math.cos(a),
                h = f * o * Math.sin(a);
            ka.add(Math.atan2(h, s)), r = n, i = l, u = c
        }
        var t, e, r, i, u;
        Na.point = function(o, a) {
            Na.point = n, r = (t = o) * Yo, i = Math.cos(a = (e = a) * Yo / 2 + Fo / 4), u = Math.sin(a)
        }, Na.lineEnd = function() {
            n(t, e)
        }
    }

    function dt(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 yt(n, t) {
        return n[0] * t[0] + n[1] * t[1] + n[2] * t[2]
    }

    function mt(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 Mt(n, t) {
        n[0] += t[0], n[1] += t[1], n[2] += t[2]
    }

    function xt(n, t) {
        return [n[0] * t, n[1] * t, n[2] * t]
    }

    function bt(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 _t(n) {
        return [Math.atan2(n[1], n[0]), tn(n[2])]
    }

    function wt(n, t) {
        return xo(n[0] - t[0]) < Uo && xo(n[1] - t[1]) < Uo
    }

    function St(n, t) {
        n *= Yo;
        var e = Math.cos(t *= Yo);
        kt(e * Math.cos(n), e * Math.sin(n), Math.sin(t))
    }

    function kt(n, t, e) {
        ++Ea, Ca += (n - Ca) / Ea, za += (t - za) / Ea, La += (e - La) / Ea
    }

    function Nt() {
        function n(n, i) {
            n *= Yo;
            var u = Math.cos(i *= Yo),
                o = u * Math.cos(n),
                a = u * Math.sin(n),
                l = Math.sin(i),
                c = Math.atan2(Math.sqrt((c = e * l - r * a) * c + (c = r * o - t * l) * c + (c = t * a - e * o) * c), t * o + e * a + r * l);
            Aa += c, qa += c * (t + (t = o)), Ta += c * (e + (e = a)), Ra += c * (r + (r = l)), kt(t, e, r)
        }
        var t, e, r;
        ja.point = function(i, u) {
            i *= Yo;
            var o = Math.cos(u *= Yo);
            t = o * Math.cos(i), e = o * Math.sin(i), r = Math.sin(u), ja.point = n, kt(t, e, r)
        }
    }

    function Et() {
        ja.point = St
    }

    function At() {
        function n(n, t) {
            n *= Yo;
            var e = Math.cos(t *= Yo),
                o = e * Math.cos(n),
                a = e * Math.sin(n),
                l = Math.sin(t),
                c = i * l - u * a,
                f = u * o - r * l,
                s = r * a - i * o,
                h = Math.sqrt(c * c + f * f + s * s),
                p = r * o + i * a + u * l,
                g = h && -nn(p) / h,
                v = Math.atan2(h, p);
            Da += g * c, Pa += g * f, Ua += g * s, Aa += v, qa += v * (r + (r = o)), Ta += v * (i + (i = a)), Ra += v * (u + (u = l)), kt(r, i, u)
        }
        var t, e, r, i, u;
        ja.point = function(o, a) {
            t = o, e = a, ja.point = n, o *= Yo;
            var l = Math.cos(a *= Yo);
            r = l * Math.cos(o), i = l * Math.sin(o), u = Math.sin(a), kt(r, i, u)
        }, ja.lineEnd = function() {
            n(t, e), ja.lineEnd = Et, ja.point = St
        }
    }

    function Ct(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 zt() {
        return !0
    }

    function Lt(n, t, e, r, i) {
        var u = [],
            o = [];
        if (n.forEach(function(n) {
                if (!((t = n.length - 1) <= 0)) {
                    var t, e = n[0],
                        r = n[t];
                    if (wt(e, r)) {
                        i.lineStart();
                        for (var a = 0; t > a; ++a) i.point((e = n[a])[0], e[1]);
                        return void i.lineEnd()
                    }
                    var l = new Tt(e, n, null, !0),
                        c = new Tt(e, null, l, !1);
                    l.o = c, u.push(l), o.push(c), l = new Tt(r, n, null, !1), c = new Tt(r, null, l, !0), l.o = c, u.push(l), o.push(c)
                }
            }), o.sort(t), qt(u), qt(o), u.length) {
            for (var a = 0, l = e, c = o.length; c > a; ++a) o[a].e = l = !l;
            for (var f, s, h = u[0];;) {
                for (var p = h, g = !0; p.v;)
                    if ((p = p.n) === h) return;
                f = p.z, i.lineStart();
                do {
                    if (p.v = p.o.v = !0, p.e) {
                        if (g)
                            for (var a = 0, c = f.length; c > a; ++a) i.point((s = f[a])[0], s[1]);
                        else r(p.x, p.n.x, 1, i);
                        p = p.n
                    } else {
                        if (g) {
                            f = p.p.z;
                            for (var a = f.length - 1; a >= 0; --a) i.point((s = f[a])[0], s[1])
                        } else r(p.x, p.p.x, -1, i);
                        p = p.p
                    }
                    p = p.o, f = p.z, g = !g
                } while (!p.v);
                i.lineEnd()
            }
        }
    }

    function qt(n) {
        if (t = n.length) {
            for (var t, e, r = 0, i = n[0]; ++r < t;) i.n = e = n[r], e.p = i, i = e;
            i.n = e = n[0], e.p = i
        }
    }

    function Tt(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 Rt(n, t, e, r) {
        return function(i, u) {
            function o(t, e) {
                var r = i(t, e);
                n(t = r[0], e = r[1]) && u.point(t, e)
            }

            function a(n, t) {
                var e = i(n, t);
                d.point(e[0], e[1])
            }

            function l() {
                m.point = a, d.lineStart()
            }

            function c() {
                m.point = o, d.lineEnd()
            }

            function f(n, t) {
                v.push([n, t]);
                var e = i(n, t);
                x.point(e[0], e[1])
            }

            function s() {
                x.lineStart(), v = []
            }

            function h() {
                f(v[0][0], v[0][1]), x.lineEnd();
                var n, t = x.clean(),
                    e = M.buffer(),
                    r = e.length;
                if (v.pop(), g.push(v), v = null, r)
                    if (1 & t) {
                        n = e[0];
                        var i, r = n.length - 1,
                            o = -1;
                        if (r > 0) {
                            for (b || (u.polygonStart(), b = !0), u.lineStart(); ++o < r;) u.point((i = n[o])[0], i[1]);
                            u.lineEnd()
                        }
                    } else r > 1 && 2 & t && e.push(e.pop().concat(e.shift())), p.push(e.filter(Dt))
            }
            var p, g, v, d = t(u),
                y = i.invert(r[0], r[1]),
                m = {
                    point: o,
                    lineStart: l,
                    lineEnd: c,
                    polygonStart: function() {
                        m.point = f, m.lineStart = s, m.lineEnd = h, p = [], g = []
                    },
                    polygonEnd: function() {
                        m.point = o, m.lineStart = l, m.lineEnd = c, p = ao.merge(p);
                        var n = Ot(y, g);
                        p.length ? (b || (u.polygonStart(), b = !0), Lt(p, Ut, n, e, u)) : n && (b || (u.polygonStart(), b = !0), u.lineStart(), e(null, null, 1, u), u.lineEnd()), b && (u.polygonEnd(), b = !1), p = g = null
                    },
                    sphere: function() {
                        u.polygonStart(), u.lineStart(), e(null, null, 1, u), u.lineEnd(), u.polygonEnd()
                    }
                },
                M = Pt(),
                x = t(M),
                b = !1;
            return m
        }
    }

    function Dt(n) {
        return n.length > 1
    }

    function Pt() {
        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 Ut(n, t) {
        return ((n = n.x)[0] < 0 ? n[1] - Io - Uo : Io - n[1]) - ((t = t.x)[0] < 0 ? t[1] - Io - Uo : Io - t[1])
    }

    function jt(n) {
        var t, e = NaN,
            r = NaN,
            i = NaN;
        return {
            lineStart: function() {
                n.lineStart(), t = 1
            },
            point: function(u, o) {
                var a = u > 0 ? Fo : -Fo,
                    l = xo(u - e);
                xo(l - Fo) < Uo ? (n.point(e, r = (r + o) / 2 > 0 ? Io : -Io), n.point(i, r), n.lineEnd(), n.lineStart(), n.point(a, r), n.point(u, r), t = 0) : i !== a && l >= Fo && (xo(e - i) < Uo && (e -= i * Uo), xo(u - a) < Uo && (u -= a * Uo), r = Ft(e, r, u, o), n.point(i, r), n.lineEnd(), n.lineStart(), n.point(a, r), t = 0), n.point(e = u, r = o), i = a
            },
            lineEnd: function() {
                n.lineEnd(), e = r = NaN
            },
            clean: function() {
                return 2 - t
            }
        }
    }

    function Ft(n, t, e, r) {
        var i, u, o = Math.sin(n - e);
        return xo(o) > Uo ? Math.atan((Math.sin(t) * (u = Math.cos(r)) * Math.sin(e) - Math.sin(r) * (i = Math.cos(t)) * Math.sin(n)) / (i * u * o)) : (t + r) / 2
    }

    function Ht(n, t, e, r) {
        var i;
        if (null == n) i = e * Io, r.point(-Fo, i), r.point(0, i), r.point(Fo, i), r.point(Fo, 0), r.point(Fo, -i), r.point(0, -i), r.point(-Fo, -i), r.point(-Fo, 0), r.point(-Fo, i);
        else if (xo(n[0] - t[0]) > Uo) {
            var u = n[0] < t[0] ? Fo : -Fo;
            i = e * u / 2, r.point(-u, i), r.point(0, i), r.point(u, i)
        } else r.point(t[0], t[1])
    }

    function Ot(n, t) {
        var e = n[0],
            r = n[1],
            i = [Math.sin(e), -Math.cos(e), 0],
            u = 0,
            o = 0;
        ka.reset();
        for (var a = 0, l = t.length; l > a; ++a) {
            var c = t[a],
                f = c.length;
            if (f)
                for (var s = c[0], h = s[0], p = s[1] / 2 + Fo / 4, g = Math.sin(p), v = Math.cos(p), d = 1;;) {
                    d === f && (d = 0), n = c[d];
                    var y = n[0],
                        m = n[1] / 2 + Fo / 4,
                        M = Math.sin(m),
                        x = Math.cos(m),
                        b = y - h,
                        _ = b >= 0 ? 1 : -1,
                        w = _ * b,
                        S = w > Fo,
                        k = g * M;
                    if (ka.add(Math.atan2(k * _ * Math.sin(w), v * x + k * Math.cos(w))), u += S ? b + _ * Ho : b, S ^ h >= e ^ y >= e) {
                        var N = mt(dt(s), dt(n));
                        bt(N);
                        var E = mt(i, N);
                        bt(E);
                        var A = (S ^ b >= 0 ? -1 : 1) * tn(E[2]);
                        (r > A || r === A && (N[0] || N[1])) && (o += S ^ b >= 0 ? 1 : -1)
                    }
                    if (!d++) break;
                    h = y, g = M, v = x, s = n
                }
        }
        return (-Uo > u || Uo > u && -Uo > ka) ^ 1 & o
    }

    function It(n) {
        function t(n, t) {
            return Math.cos(n) * Math.cos(t) > u
        }

        function e(n) {
            var e, u, l, c, f;
            return {
                lineStart: function() {
                    c = l = !1, f = 1
                },
                point: function(s, h) {
                    var p, g = [s, h],
                        v = t(s, h),
                        d = o ? v ? 0 : i(s, h) : v ? i(s + (0 > s ? Fo : -Fo), h) : 0;
                    if (!e && (c = l = v) && n.lineStart(), v !== l && (p = r(e, g), (wt(e, p) || wt(g, p)) && (g[0] += Uo, g[1] += Uo, v = t(g[0], g[1]))), v !== l) f = 0, v ? (n.lineStart(), p = r(g, e), n.point(p[0], p[1])) : (p = r(e, g), n.point(p[0], p[1]), n.lineEnd()), e = p;
                    else if (a && e && o ^ v) {
                        var y;
                        d & u || !(y = r(g, e, !0)) || (f = 0, o ? (n.lineStart(), n.point(y[0][0], y[0][1]), n.point(y[1][0], y[1][1]), n.lineEnd()) : (n.point(y[1][0], y[1][1]), n.lineEnd(), n.lineStart(), n.point(y[0][0], y[0][1])))
                    }!v || e && wt(e, g) || n.point(g[0], g[1]), e = g, l = v, u = d
                },
                lineEnd: function() {
                    l && n.lineEnd(), e = null
                },
                clean: function() {
                    return f | (c && l) << 1
                }
            }
        }

        function r(n, t, e) {
            var r = dt(n),
                i = dt(t),
                o = [1, 0, 0],
                a = mt(r, i),
                l = yt(a, a),
                c = a[0],
                f = l - c * c;
            if (!f) return !e && n;
            var s = u * l / f,
                h = -u * c / f,
                p = mt(o, a),
                g = xt(o, s),
                v = xt(a, h);
            Mt(g, v);
            var d = p,
                y = yt(g, d),
                m = yt(d, d),
                M = y * y - m * (yt(g, g) - 1);
            if (!(0 > M)) {
                var x = Math.sqrt(M),
                    b = xt(d, (-y - x) / m);
                if (Mt(b, g), b = _t(b), !e) return b;
                var _, w = n[0],
                    S = t[0],
                    k = n[1],
                    N = t[1];
                w > S && (_ = w, w = S, S = _);
                var E = S - w,
                    A = xo(E - Fo) < Uo,
                    C = A || Uo > E;
                if (!A && k > N && (_ = k, k = N, N = _), C ? A ? k + N > 0 ^ b[1] < (xo(b[0] - w) < Uo ? k : N) : k <= b[1] && b[1] <= N : E > Fo ^ (w <= b[0] && b[0] <= S)) {
                    var z = xt(d, (-y + x) / m);
                    return Mt(z, g), [b, _t(z)]
                }
            }
        }

        function i(t, e) {
            var r = o ? n : Fo - n,
                i = 0;
            return -r > t ? i |= 1 : t > r && (i |= 2), -r > e ? i |= 4 : e > r && (i |= 8), i
        }
        var u = Math.cos(n),
            o = u > 0,
            a = xo(u) > Uo,
            l = ve(n, 6 * Yo);
        return Rt(t, e, l, o ? [0, -n] : [-Fo, n - Fo])
    }

    function Yt(n, t, e, r) {
        return function(i) {
            var u, o = i.a,
                a = i.b,
                l = o.x,
                c = o.y,
                f = a.x,
                s = a.y,
                h = 0,
                p = 1,
                g = f - l,
                v = s - c;
            if (u = n - l, g || !(u > 0)) {
                if (u /= g, 0 > g) {
                    if (h > u) return;
                    p > u && (p = u)
                } else if (g > 0) {
                    if (u > p) return;
                    u > h && (h = u)
                }
                if (u = e - l, g || !(0 > u)) {
                    if (u /= g, 0 > g) {
                        if (u > p) return;
                        u > h && (h = u)
                    } else if (g > 0) {
                        if (h > u) return;
                        p > u && (p = u)
                    }
                    if (u = t - c, v || !(u > 0)) {
                        if (u /= v, 0 > v) {
                            if (h > u) return;
                            p > u && (p = u)
                        } else if (v > 0) {
                            if (u > p) return;
                            u > h && (h = u)
                        }
                        if (u = r - c, v || !(0 > u)) {
                            if (u /= v, 0 > v) {
                                if (u > p) return;
                                u > h && (h = u)
                            } else if (v > 0) {
                                if (h > u) return;
                                p > u && (p = u)
                            }
                            return h > 0 && (i.a = {
                                x: l + h * g,
                                y: c + h * v
                            }), 1 > p && (i.b = {
                                x: l + p * g,
                                y: c + p * v
                            }), i
                        }
                    }
                }
            }
        }
    }

    function Zt(n, t, e, r) {
        function i(r, i) {
            return xo(r[0] - n) < Uo ? i > 0 ? 0 : 3 : xo(r[0] - e) < Uo ? i > 0 ? 2 : 1 : xo(r[1] - t) < Uo ? i > 0 ? 1 : 0 : i > 0 ? 3 : 2
        }

        function u(n, t) {
            return o(n.x, t.x)
        }

        function o(n, t) {
            var e = i(n, 1),
                r = i(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 l(n) {
                for (var t = 0, e = d.length, r = n[1], i = 0; e > i; ++i)
                    for (var u, o = 1, a = d[i], l = a.length, c = a[0]; l > o; ++o) u = a[o], c[1] <= r ? u[1] > r && Q(c, u, n) > 0 && ++t : u[1] <= r && Q(c, u, n) < 0 && --t, c = u;
                return 0 !== t
            }

            function c(u, a, l, c) {
                var f = 0,
                    s = 0;
                if (null == u || (f = i(u, l)) !== (s = i(a, l)) || o(u, a) < 0 ^ l > 0) {
                    do c.point(0 === f || 3 === f ? n : e, f > 1 ? r : t); while ((f = (f + l + 4) % 4) !== s)
                } else c.point(a[0], a[1])
            }

            function f(i, u) {
                return i >= n && e >= i && u >= t && r >= u
            }

            function s(n, t) {
                f(n, t) && a.point(n, t)
            }

            function h() {
                C.point = g, d && d.push(y = []), S = !0, w = !1, b = _ = NaN
            }

            function p() {
                v && (g(m, M), x && w && E.rejoin(), v.push(E.buffer())), C.point = s, w && a.lineEnd()
            }

            function g(n, t) {
                n = Math.max(-Ha, Math.min(Ha, n)), t = Math.max(-Ha, Math.min(Ha, t));
                var e = f(n, t);
                if (d && y.push([n, t]), S) m = 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
                        }
                    };
                    A(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, y, m, M, x, b, _, w, S, k, N = a,
                E = Pt(),
                A = Yt(n, t, e, r),
                C = {
                    point: s,
                    lineStart: h,
                    lineEnd: p,
                    polygonStart: function() {
                        a = E, v = [], d = [], k = !0
                    },
                    polygonEnd: function() {
                        a = N, v = ao.merge(v);
                        var t = l([n, r]),
                            e = k && t,
                            i = v.length;
                        (e || i) && (a.polygonStart(), e && (a.lineStart(), c(null, null, 1, a), a.lineEnd()), i && Lt(v, u, t, c, a), a.polygonEnd()), v = d = y = null
                    }
                };
            return C
        }
    }

    function Vt(n) {
        var t = 0,
            e = Fo / 3,
            r = ae(n),
            i = r(t, e);
        return i.parallels = function(n) {
            return arguments.length ? r(t = n[0] * Fo / 180, e = n[1] * Fo / 180) : [t / Fo * 180, e / Fo * 180]
        }, i
    }

    function Xt(n, t) {
        function e(n, t) {
            var e = Math.sqrt(u - 2 * i * Math.sin(t)) / i;
            return [e * Math.sin(n *= i), o - e * Math.cos(n)]
        }
        var r = Math.sin(n),
            i = (r + Math.sin(t)) / 2,
            u = 1 + r * (2 * i - r),
            o = Math.sqrt(u) / i;
        return e.invert = function(n, t) {
            var e = o - t;
            return [Math.atan2(n, e) / i, tn((u - (n * n + e * e) * i * i) / (2 * i))]
        }, e
    }

    function $t() {
        function n(n, t) {
            Ia += i * n - r * t, r = n, i = t
        }
        var t, e, r, i;
        $a.point = function(u, o) {
            $a.point = n, t = r = u, e = i = o
        }, $a.lineEnd = function() {
            n(t, e)
        }
    }

    function Bt(n, t) {
        Ya > n && (Ya = n), n > Va && (Va = n), Za > t && (Za = t), t > Xa && (Xa = t)
    }

    function Wt() {
        function n(n, t) {
            o.push("M", n, ",", t, u)
        }

        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 i() {
            o.push("Z")
        }
        var u = Jt(4.5),
            o = [],
            a = {
                point: n,
                lineStart: function() {
                    a.point = t
                },
                lineEnd: r,
                polygonStart: function() {
                    a.lineEnd = i
                },
                polygonEnd: function() {
                    a.lineEnd = r, a.point = n
                },
                pointRadius: function(n) {
                    return u = Jt(n), a
                },
                result: function() {
                    if (o.length) {
                        var n = o.join("");
                        return o = [], n
                    }
                }
            };
        return a
    }

    function Jt(n) {
        return "m0," + n + "a" + n + "," + n + " 0 1,1 0," + -2 * n + "a" + n + "," + n + " 0 1,1 0," + 2 * n + "z"
    }

    function Gt(n, t) {
        Ca += n, za += t, ++La
    }

    function Kt() {
        function n(n, r) {
            var i = n - t,
                u = r - e,
                o = Math.sqrt(i * i + u * u);
            qa += o * (t + n) / 2, Ta += o * (e + r) / 2, Ra += o, Gt(t = n, e = r)
        }
        var t, e;
        Wa.point = function(r, i) {
            Wa.point = n, Gt(t = r, e = i)
        }
    }

    function Qt() {
        Wa.point = Gt
    }

    function ne() {
        function n(n, t) {
            var e = n - r,
                u = t - i,
                o = Math.sqrt(e * e + u * u);
            qa += o * (r + n) / 2, Ta += o * (i + t) / 2, Ra += o, o = i * n - r * t, Da += o * (r + n), Pa += o * (i + t), Ua += 3 * o, Gt(r = n, i = t)
        }
        var t, e, r, i;
        Wa.point = function(u, o) {
            Wa.point = n, Gt(t = r = u, e = i = o)
        }, Wa.lineEnd = function() {
            n(t, e)
        }
    }

    function te(n) {
        function t(t, e) {
            n.moveTo(t + o, e), n.arc(t, e, o, 0, Ho)
        }

        function e(t, e) {
            n.moveTo(t, e), a.point = r
        }

        function r(t, e) {
            n.lineTo(t, e)
        }

        function i() {
            a.point = t
        }

        function u() {
            n.closePath()
        }
        var o = 4.5,
            a = {
                point: t,
                lineStart: function() {
                    a.point = e
                },
                lineEnd: i,
                polygonStart: function() {
                    a.lineEnd = u
                },
                polygonEnd: function() {
                    a.lineEnd = i, a.point = t
                },
                pointRadius: function(n) {
                    return o = n, a
                },
                result: b
            };
        return a
    }

    function ee(n) {
        function t(n) {
            return (a ? r : e)(n)
        }

        function e(t) {
            return ue(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 = NaN, S.point = u, t.lineStart()
            }

            function u(e, r) {
                var u = dt([e, r]),
                    o = n(e, r);
                i(M, x, m, b, _, w, M = o[0], x = o[1], m = e, b = u[0], _ = u[1], w = u[2], a, t), t.point(M, x)
            }

            function o() {
                S.point = e, t.lineEnd()
            }

            function l() {
                r(), S.point = c, S.lineEnd = f
            }

            function c(n, t) {
                u(s = n, h = t), p = M, g = x, v = b, d = _, y = w, S.point = u
            }

            function f() {
                i(M, x, m, b, _, w, p, g, s, v, d, y, a, t), S.lineEnd = o, o()
            }
            var s, h, p, g, v, d, y, m, M, x, b, _, w, S = {
                point: e,
                lineStart: r,
                lineEnd: o,
                polygonStart: function() {
                    t.polygonStart(), S.lineStart = l
                },
                polygonEnd: function() {
                    t.polygonEnd(), S.lineStart = r
                }
            };
            return S
        }

        function i(t, e, r, a, l, c, f, s, h, p, g, v, d, y) {
            var m = f - t,
                M = s - e,
                x = m * m + M * M;
            if (x > 4 * u && d--) {
                var b = a + p,
                    _ = l + g,
                    w = c + v,
                    S = Math.sqrt(b * b + _ * _ + w * w),
                    k = Math.asin(w /= S),
                    N = xo(xo(w) - 1) < Uo || xo(r - h) < Uo ? (r + h) / 2 : Math.atan2(_, b),
                    E = n(N, k),
                    A = E[0],
                    C = E[1],
                    z = A - t,
                    L = C - e,
                    q = M * z - m * L;
                (q * q / x > u || xo((m * z + M * L) / x - .5) > .3 || o > a * p + l * g + c * v) && (i(t, e, r, a, l, c, A, C, N, b /= S, _ /= S, w, d, y), y.point(A, C), i(A, C, N, b, _, w, f, s, h, p, g, v, d, y))
            }
        }
        var u = .5,
            o = Math.cos(30 * Yo),
            a = 16;
        return t.precision = function(n) {
            return arguments.length ? (a = (u = n * n) > 0 && 16, t) : Math.sqrt(u)
        }, t
    }

    function re(n) {
        var t = ee(function(t, e) {
            return n([t * Zo, e * Zo])
        });
        return function(n) {
            return le(t(n))
        }
    }

    function ie(n) {
        this.stream = n
    }

    function ue(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 oe(n) {
        return ae(function() {
            return n
        })()
    }

    function ae(n) {
        function t(n) {
            return n = a(n[0] * Yo, n[1] * Yo), [n[0] * h + l, c - n[1] * h]
        }

        function e(n) {
            return n = a.invert((n[0] - l) / h, (c - n[1]) / h), n && [n[0] * Zo, n[1] * Zo]
        }

        function r() {
            a = Ct(o = se(y, M, x), u);
            var n = u(v, d);
            return l = p - n[0] * h, c = g + n[1] * h, i()
        }

        function i() {
            return f && (f.valid = !1, f = null), t
        }
        var u, o, a, l, c, f, s = ee(function(n, t) {
                return n = u(n, t), [n[0] * h + l, c - n[1] * h]
            }),
            h = 150,
            p = 480,
            g = 250,
            v = 0,
            d = 0,
            y = 0,
            M = 0,
            x = 0,
            b = Fa,
            _ = m,
            w = null,
            S = null;
        return t.stream = function(n) {
                return f && (f.valid = !1), f = le(b(o, s(_(n)))), f.valid = !0, f
            }, t.clipAngle = function(n) {
                return arguments.length ? (b = null == n ? (w = n, Fa) : It((w = +n) * Yo), i()) : w
            }, t.clipExtent = function(n) {
                return arguments.length ? (S = n, _ = n ? Zt(n[0][0], n[0][1], n[1][0], n[1][1]) : m, i()) : S
            }, t.scale = function(n) {
                return arguments.length ? (h = +n, r()) : h
            }, t.translate = function(n) {
                return arguments.length ? (p = +n[0], g = +n[1], r()) : [p, g]
            }, t.center = function(n) {
                return arguments.length ? (v = n[0] % 360 * Yo, d = n[1] % 360 * Yo, r()) : [v * Zo, d * Zo]
            }, t.rotate = function(n) {
                return arguments.length ? (y = n[0] % 360 * Yo, M = n[1] % 360 * Yo, x = n.length > 2 ? n[2] % 360 * Yo : 0, r()) : [y * Zo, M * Zo, x * Zo]
            }, ao.rebind(t, s, "precision"),
            function() {
                return u = n.apply(this, arguments), t.invert = u.invert && e, r()
            }
    }

    function le(n) {
        return ue(n, function(t, e) {
            n.point(t * Yo, e * Yo)
        })
    }

    function ce(n, t) {
        return [n, t]
    }

    function fe(n, t) {
        return [n > Fo ? n - Ho : -Fo > n ? n + Ho : n, t]
    }

    function se(n, t, e) {
        return n ? t || e ? Ct(pe(n), ge(t, e)) : pe(n) : t || e ? ge(t, e) : fe
    }

    function he(n) {
        return function(t, e) {
            return t += n, [t > Fo ? t - Ho : -Fo > t ? t + Ho : t, e]
        }
    }

    function pe(n) {
        var t = he(n);
        return t.invert = he(-n), t
    }

    function ge(n, t) {
        function e(n, t) {
            var e = Math.cos(t),
                a = Math.cos(n) * e,
                l = Math.sin(n) * e,
                c = Math.sin(t),
                f = c * r + a * i;
            return [Math.atan2(l * u - f * o, a * r - c * i), tn(f * u + l * o)]
        }
        var r = Math.cos(n),
            i = Math.sin(n),
            u = Math.cos(t),
            o = Math.sin(t);
        return e.invert = function(n, t) {
            var e = Math.cos(t),
                a = Math.cos(n) * e,
                l = Math.sin(n) * e,
                c = Math.sin(t),
                f = c * u - l * o;
            return [Math.atan2(l * u + c * o, a * r + f * i), tn(f * r - a * i)]
        }, e
    }

    function ve(n, t) {
        var e = Math.cos(n),
            r = Math.sin(n);
        return function(i, u, o, a) {
            var l = o * t;
            null != i ? (i = de(e, i), u = de(e, u), (o > 0 ? u > i : i > u) && (i += o * Ho)) : (i = n + o * Ho, u = n - .5 * l);
            for (var c, f = i; o > 0 ? f > u : u > f; f -= l) a.point((c = _t([e, -r * Math.cos(f), -r * Math.sin(f)]))[0], c[1])
        }
    }

    function de(n, t) {
        var e = dt(t);
        e[0] -= n, bt(e);
        var r = nn(-e[1]);
        return ((-e[2] < 0 ? -r : r) + 2 * Math.PI - Uo) % (2 * Math.PI)
    }

    function ye(n, t, e) {
        var r = ao.range(n, t - Uo, e).concat(t);
        return function(n) {
            return r.map(function(t) {
                return [n, t]
            })
        }
    }

    function me(n, t, e) {
        var r = ao.range(n, t - Uo, e).concat(t);
        return function(n) {
            return r.map(function(t) {
                return [t, n]
            })
        }
    }

    function Me(n) {
        return n.source
    }

    function xe(n) {
        return n.target
    }

    function be(n, t, e, r) {
        var i = Math.cos(t),
            u = Math.sin(t),
            o = Math.cos(r),
            a = Math.sin(r),
            l = i * Math.cos(n),
            c = i * Math.sin(n),
            f = o * Math.cos(e),
            s = o * Math.sin(e),
            h = 2 * Math.asin(Math.sqrt(on(r - t) + i * o * on(e - n))),
            p = 1 / Math.sin(h),
            g = h ? function(n) {
                var t = Math.sin(n *= h) * p,
                    e = Math.sin(h - n) * p,
                    r = e * l + t * f,
                    i = e * c + t * s,
                    o = e * u + t * a;
                return [Math.atan2(i, r) * Zo, Math.atan2(o, Math.sqrt(r * r + i * i)) * Zo]
            } : function() {
                return [n * Zo, t * Zo]
            };
        return g.distance = h, g
    }

    function _e() {
        function n(n, i) {
            var u = Math.sin(i *= Yo),
                o = Math.cos(i),
                a = xo((n *= Yo) - t),
                l = Math.cos(a);
            Ja += Math.atan2(Math.sqrt((a = o * Math.sin(a)) * a + (a = r * u - e * o * l) * a), e * u + r * o * l), t = n, e = u, r = o
        }
        var t, e, r;
        Ga.point = function(i, u) {
            t = i * Yo, e = Math.sin(u *= Yo), r = Math.cos(u), Ga.point = n
        }, Ga.lineEnd = function() {
            Ga.point = Ga.lineEnd = b
        }
    }

    function we(n, t) {
        function e(t, e) {
            var r = Math.cos(t),
                i = Math.cos(e),
                u = n(r * i);
            return [u * i * Math.sin(t), u * Math.sin(e)]
        }
        return e.invert = function(n, e) {
            var r = Math.sqrt(n * n + e * e),
                i = t(r),
                u = Math.sin(i),
                o = Math.cos(i);
            return [Math.atan2(n * u, r * o), Math.asin(r && e * u / r)]
        }, e
    }

    function Se(n, t) {
        function e(n, t) {
            o > 0 ? -Io + Uo > t && (t = -Io + Uo) : t > Io - Uo && (t = Io - Uo);
            var e = o / Math.pow(i(t), u);
            return [e * Math.sin(u * n), o - e * Math.cos(u * n)]
        }
        var r = Math.cos(n),
            i = function(n) {
                return Math.tan(Fo / 4 + n / 2)
            },
            u = n === t ? Math.sin(n) : Math.log(r / Math.cos(t)) / Math.log(i(t) / i(n)),
            o = r * Math.pow(i(n), u) / u;
        return u ? (e.invert = function(n, t) {
            var e = o - t,
                r = K(u) * Math.sqrt(n * n + e * e);
            return [Math.atan2(n, e) / u, 2 * Math.atan(Math.pow(o / r, 1 / u)) - Io]
        }, e) : Ne
    }

    function ke(n, t) {
        function e(n, t) {
            var e = u - t;
            return [e * Math.sin(i * n), u - e * Math.cos(i * n)]
        }
        var r = Math.cos(n),
            i = n === t ? Math.sin(n) : (r - Math.cos(t)) / (t - n),
            u = r / i + n;
        return xo(i) < Uo ? ce : (e.invert = function(n, t) {
            var e = u - t;
            return [Math.atan2(n, e) / i, u - K(i) * Math.sqrt(n * n + e * e)]
        }, e)
    }

    function Ne(n, t) {
        return [n, Math.log(Math.tan(Fo / 4 + t / 2))]
    }

    function Ee(n) {
        var t, e = oe(n),
            r = e.scale,
            i = e.translate,
            u = 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 = i.apply(e, arguments);
            return n === e ? t ? e.clipExtent(null) : e : n
        }, e.clipExtent = function(n) {
            var o = u.apply(e, arguments);
            if (o === e) {
                if (t = null == n) {
                    var a = Fo * r(),
                        l = i();
                    u([
                        [l[0] - a, l[1] - a],
                        [l[0] + a, l[1] + a]
                    ])
                }
            } else t && (o = null);
            return o
        }, e.clipExtent(null)
    }

    function Ae(n, t) {
        return [Math.log(Math.tan(Fo / 4 + t / 2)), -n]
    }

    function Ce(n) {
        return n[0]
    }

    function ze(n) {
        return n[1]
    }

    function Le(n) {
        for (var t = n.length, e = [0, 1], r = 2, i = 2; t > i; i++) {
            for (; r > 1 && Q(n[e[r - 2]], n[e[r - 1]], n[i]) <= 0;) --r;
            e[r++] = i
        }
        return e.slice(0, r)
    }

    function qe(n, t) {
        return n[0] - t[0] || n[1] - t[1]
    }

    function Te(n, t, e) {
        return (e[0] - t[0]) * (n[1] - t[1]) < (e[1] - t[1]) * (n[0] - t[0])
    }

    function Re(n, t, e, r) {
        var i = n[0],
            u = e[0],
            o = t[0] - i,
            a = r[0] - u,
            l = n[1],
            c = e[1],
            f = t[1] - l,
            s = r[1] - c,
            h = (a * (l - c) - s * (i - u)) / (s * o - a * f);
        return [i + h * o, l + h * f]
    }

    function De(n) {
        var t = n[0],
            e = n[n.length - 1];
        return !(t[0] - e[0] || t[1] - e[1])
    }

    function Pe() {
        rr(this), this.edge = this.site = this.circle = null
    }

    function Ue(n) {
        var t = cl.pop() || new Pe;
        return t.site = n, t
    }

    function je(n) {
        Be(n), ol.remove(n), cl.push(n), rr(n)
    }

    function Fe(n) {
        var t = n.circle,
            e = t.x,
            r = t.cy,
            i = {
                x: e,
                y: r
            },
            u = n.P,
            o = n.N,
            a = [n];
        je(n);
        for (var l = u; l.circle && xo(e - l.circle.x) < Uo && xo(r - l.circle.cy) < Uo;) u = l.P, a.unshift(l), je(l), l = u;
        a.unshift(l), Be(l);
        for (var c = o; c.circle && xo(e - c.circle.x) < Uo && xo(r - c.circle.cy) < Uo;) o = c.N, a.push(c), je(c), c = o;
        a.push(c), Be(c);
        var f, s = a.length;
        for (f = 1; s > f; ++f) c = a[f], l = a[f - 1], nr(c.edge, l.site, c.site, i);
        l = a[0], c = a[s - 1], c.edge = Ke(l.site, c.site, null, i), $e(l), $e(c)
    }

    function He(n) {
        for (var t, e, r, i, u = n.x, o = n.y, a = ol._; a;)
            if (r = Oe(a, o) - u, r > Uo) a = a.L;
            else {
                if (i = u - Ie(a, o), !(i > Uo)) {
                    r > -Uo ? (t = a.P, e = a) : i > -Uo ? (t = a, e = a.N) : t = e = a;
                    break
                }
                if (!a.R) {
                    t = a;
                    break
                }
                a = a.R
            }
        var l = Ue(n);
        if (ol.insert(t, l), t || e) {
            if (t === e) return Be(t), e = Ue(t.site), ol.insert(l, e), l.edge = e.edge = Ke(t.site, l.site), $e(t), void $e(e);
            if (!e) return void(l.edge = Ke(t.site, l.site));
            Be(t), Be(e);
            var c = t.site,
                f = c.x,
                s = c.y,
                h = n.x - f,
                p = n.y - s,
                g = e.site,
                v = g.x - f,
                d = g.y - s,
                y = 2 * (h * d - p * v),
                m = h * h + p * p,
                M = v * v + d * d,
                x = {
                    x: (d * m - p * M) / y + f,
                    y: (h * M - v * m) / y + s
                };
            nr(e.edge, c, g, x), l.edge = Ke(c, n, null, x), e.edge = Ke(n, g, null, x), $e(t), $e(e)
        }
    }

    function Oe(n, t) {
        var e = n.site,
            r = e.x,
            i = e.y,
            u = i - t;
        if (!u) return r;
        var o = n.P;
        if (!o) return -(1 / 0);
        e = o.site;
        var a = e.x,
            l = e.y,
            c = l - t;
        if (!c) return a;
        var f = a - r,
            s = 1 / u - 1 / c,
            h = f / c;
        return s ? (-h + Math.sqrt(h * h - 2 * s * (f * f / (-2 * c) - l + c / 2 + i - u / 2))) / s + r : (r + a) / 2
    }

    function Ie(n, t) {
        var e = n.N;
        if (e) return Oe(e, t);
        var r = n.site;
        return r.y === t ? r.x : 1 / 0
    }

    function Ye(n) {
        this.site = n, this.edges = []
    }

    function Ze(n) {
        for (var t, e, r, i, u, o, a, l, c, f, s = n[0][0], h = n[1][0], p = n[0][1], g = n[1][1], v = ul, d = v.length; d--;)
            if (u = v[d], u && u.prepare())
                for (a = u.edges, l = a.length, o = 0; l > o;) f = a[o].end(), r = f.x, i = f.y, c = a[++o % l].start(), t = c.x, e = c.y, (xo(r - t) > Uo || xo(i - e) > Uo) && (a.splice(o, 0, new tr(Qe(u.site, f, xo(r - s) < Uo && g - i > Uo ? {
                    x: s,
                    y: xo(t - s) < Uo ? e : g
                } : xo(i - g) < Uo && h - r > Uo ? {
                    x: xo(e - g) < Uo ? t : h,
                    y: g
                } : xo(r - h) < Uo && i - p > Uo ? {
                    x: h,
                    y: xo(t - h) < Uo ? e : p
                } : xo(i - p) < Uo && r - s > Uo ? {
                    x: xo(e - p) < Uo ? t : s,
                    y: p
                } : null), u.site, null)), ++l)
    }

    function Ve(n, t) {
        return t.angle - n.angle
    }

    function Xe() {
        rr(this), this.x = this.y = this.arc = this.site = this.cy = null
    }

    function $e(n) {
        var t = n.P,
            e = n.N;
        if (t && e) {
            var r = t.site,
                i = n.site,
                u = e.site;
            if (r !== u) {
                var o = i.x,
                    a = i.y,
                    l = r.x - o,
                    c = r.y - a,
                    f = u.x - o,
                    s = u.y - a,
                    h = 2 * (l * s - c * f);
                if (!(h >= -jo)) {
                    var p = l * l + c * c,
                        g = f * f + s * s,
                        v = (s * p - c * g) / h,
                        d = (l * g - f * p) / h,
                        s = d + a,
                        y = fl.pop() || new Xe;
                    y.arc = n, y.site = i, y.x = v + o, y.y = s + Math.sqrt(v * v + d * d), y.cy = s, n.circle = y;
                    for (var m = null, M = ll._; M;)
                        if (y.y < M.y || y.y === M.y && y.x <= M.x) {
                            if (!M.L) {
                                m = M.P;
                                break
                            }
                            M = M.L
                        } else {
                            if (!M.R) {
                                m = M;
                                break
                            }
                            M = M.R
                        }
                    ll.insert(m, y), m || (al = y)
                }
            }
        }
    }

    function Be(n) {
        var t = n.circle;
        t && (t.P || (al = t.N), ll.remove(t), fl.push(t), rr(t), n.circle = null)
    }

    function We(n) {
        for (var t, e = il, r = Yt(n[0][0], n[0][1], n[1][0], n[1][1]), i = e.length; i--;) t = e[i], (!Je(t, n) || !r(t) || xo(t.a.x - t.b.x) < Uo && xo(t.a.y - t.b.y) < Uo) && (t.a = t.b = null, e.splice(i, 1))
    }

    function Je(n, t) {
        var e = n.b;
        if (e) return !0;
        var r, i, u = n.a,
            o = t[0][0],
            a = t[1][0],
            l = t[0][1],
            c = t[1][1],
            f = n.l,
            s = n.r,
            h = f.x,
            p = f.y,
            g = s.x,
            v = s.y,
            d = (h + g) / 2,
            y = (p + v) / 2;
        if (v === p) {
            if (o > d || d >= a) return;
            if (h > g) {
                if (u) {
                    if (u.y >= c) return
                } else u = {
                    x: d,
                    y: l
                };
                e = {
                    x: d,
                    y: c
                }
            } else {
                if (u) {
                    if (u.y < l) return
                } else u = {
                    x: d,
                    y: c
                };
                e = {
                    x: d,
                    y: l
                }
            }
        } else if (r = (h - g) / (v - p), i = y - r * d, -1 > r || r > 1)
            if (h > g) {
                if (u) {
                    if (u.y >= c) return
                } else u = {
                    x: (l - i) / r,
                    y: l
                };
                e = {
                    x: (c - i) / r,
                    y: c
                }
            } else {
                if (u) {
                    if (u.y < l) return
                } else u = {
                    x: (c - i) / r,
                    y: c
                };
                e = {
                    x: (l - i) / r,
                    y: l
                }
            } else if (v > p) {
            if (u) {
                if (u.x >= a) return
            } else u = {
                x: o,
                y: r * o + i
            };
            e = {
                x: a,
                y: r * a + i
            }
        } else {
            if (u) {
                if (u.x < o) return
            } else u = {
                x: a,
                y: r * a + i
            };
            e = {
                x: o,
                y: r * o + i
            }
        }
        return n.a = u, n.b = e, !0
    }

    function Ge(n, t) {
        this.l = n, this.r = t, this.a = this.b = null
    }

    function Ke(n, t, e, r) {
        var i = new Ge(n, t);
        return il.push(i), e && nr(i, n, t, e), r && nr(i, t, n, r), ul[n.i].edges.push(new tr(i, n, t)), ul[t.i].edges.push(new tr(i, t, n)), i
    }

    function Qe(n, t, e) {
        var r = new Ge(n, null);
        return r.a = t, r.b = e, il.push(r), r
    }

    function nr(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 tr(n, t, e) {
        var r = n.a,
            i = 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(i.x - r.x, r.y - i.y) : Math.atan2(r.x - i.x, i.y - r.y)
    }

    function er() {
        this._ = null
    }

    function rr(n) {
        n.U = n.C = n.L = n.R = n.P = n.N = null
    }

    function ir(n, t) {
        var e = t,
            r = t.R,
            i = e.U;
        i ? i.L === e ? i.L = r : i.R = r : n._ = r, r.U = i, e.U = r, e.R = r.L, e.R && (e.R.U = e), r.L = e
    }

    function ur(n, t) {
        var e = t,
            r = t.L,
            i = e.U;
        i ? i.L === e ? i.L = r : i.R = r : n._ = r, r.U = i, e.U = r, e.L = r.R, e.L && (e.L.U = e), r.R = e
    }

    function or(n) {
        for (; n.L;) n = n.L;
        return n
    }

    function ar(n, t) {
        var e, r, i, u = n.sort(lr).pop();
        for (il = [], ul = new Array(n.length), ol = new er, ll = new er;;)
            if (i = al, u && (!i || u.y < i.y || u.y === i.y && u.x < i.x)) u.x === e && u.y === r || (ul[u.i] = new Ye(u), He(u), e = u.x, r = u.y), u = n.pop();
            else {
                if (!i) break;
                Fe(i.arc)
            }
        t && (We(t), Ze(t));
        var o = {
            cells: ul,
            edges: il
        };
        return ol = ll = il = ul = null, o
    }

    function lr(n, t) {
        return t.y - n.y || t.x - n.x
    }

    function cr(n, t, e) {
        return (n.x - e.x) * (t.y - n.y) - (n.x - t.x) * (e.y - n.y)
    }

    function fr(n) {
        return n.x
    }

    function sr(n) {
        return n.y
    }

    function hr() {
        return {
            leaf: !0,
            nodes: [],
            point: null,
            x: null,
            y: null
        }
    }

    function pr(n, t, e, r, i, u) {
        if (!n(t, e, r, i, u)) {
            var o = .5 * (e + i),
                a = .5 * (r + u),
                l = t.nodes;
            l[0] && pr(n, l[0], e, r, o, a), l[1] && pr(n, l[1], o, r, i, a), l[2] && pr(n, l[2], e, a, o, u), l[3] && pr(n, l[3], o, a, i, u)
        }
    }

    function gr(n, t, e, r, i, u, o) {
        var a, l = 1 / 0;
        return function c(n, f, s, h, p) {
            if (!(f > u || s > o || r > h || i > p)) {
                if (g = n.point) {
                    var g, v = t - n.x,
                        d = e - n.y,
                        y = v * v + d * d;
                    if (l > y) {
                        var m = Math.sqrt(l = y);
                        r = t - m, i = e - m, u = t + m, o = e + m, a = g
                    }
                }
                for (var M = n.nodes, x = .5 * (f + h), b = .5 * (s + p), _ = t >= x, w = e >= b, S = w << 1 | _, k = S + 4; k > S; ++S)
                    if (n = M[3 & S]) switch (3 & S) {
                        case 0:
                            c(n, f, s, x, b);
                            break;
                        case 1:
                            c(n, x, s, h, b);
                            break;
                        case 2:
                            c(n, f, b, x, p);
                            break;
                        case 3:
                            c(n, x, b, h, p)
                    }
            }
        }(n, r, i, u, o), a
    }

    function vr(n, t) {
        n = ao.rgb(n), t = ao.rgb(t);
        var e = n.r,
            r = n.g,
            i = n.b,
            u = t.r - e,
            o = t.g - r,
            a = t.b - i;
        return function(n) {
            return "#" + bn(Math.round(e + u * n)) + bn(Math.round(r + o * n)) + bn(Math.round(i + a * n))
        }
    }

    function dr(n, t) {
        var e, r = {},
            i = {};
        for (e in n) e in t ? r[e] = Mr(n[e], t[e]) : i[e] = n[e];
        for (e in t) e in n || (i[e] = t[e]);
        return function(n) {
            for (e in r) i[e] = r[e](n);
            return i
        }
    }

    function yr(n, t) {
        return n = +n, t = +t,
            function(e) {
                return n * (1 - e) + t * e
            }
    }

    function mr(n, t) {
        var e, r, i, u = hl.lastIndex = pl.lastIndex = 0,
            o = -1,
            a = [],
            l = [];
        for (n += "", t += "";
            (e = hl.exec(n)) && (r = pl.exec(t));)(i = r.index) > u && (i = t.slice(u, i), a[o] ? a[o] += i : a[++o] = i), (e = e[0]) === (r = r[0]) ? a[o] ? a[o] += r : a[++o] = r : (a[++o] = null, l.push({
            i: o,
            x: yr(e, r)
        })), u = pl.lastIndex;
        return u < t.length && (i = t.slice(u), a[o] ? a[o] += i : a[++o] = i), a.length < 2 ? l[0] ? (t = l[0].x, function(n) {
            return t(n) + ""
        }) : function() {
            return t
        } : (t = l.length, function(n) {
            for (var e, r = 0; t > r; ++r) a[(e = l[r]).i] = e.x(n);
            return a.join("")
        })
    }

    function Mr(n, t) {
        for (var e, r = ao.interpolators.length; --r >= 0 && !(e = ao.interpolators[r](n, t)););
        return e
    }

    function xr(n, t) {
        var e, r = [],
            i = [],
            u = n.length,
            o = t.length,
            a = Math.min(n.length, t.length);
        for (e = 0; a > e; ++e) r.push(Mr(n[e], t[e]));
        for (; u > e; ++e) i[e] = n[e];
        for (; o > e; ++e) i[e] = t[e];
        return function(n) {
            for (e = 0; a > e; ++e) i[e] = r[e](n);
            return i
        }
    }

    function br(n) {
        return function(t) {
            return 0 >= t ? 0 : t >= 1 ? 1 : n(t)
        }
    }

    function _r(n) {
        return function(t) {
            return 1 - n(1 - t)
        }
    }

    function wr(n) {
        return function(t) {
            return .5 * (.5 > t ? n(2 * t) : 2 - n(2 - 2 * t))
        }
    }

    function Sr(n) {
        return n * n
    }

    function kr(n) {
        return n * n * n
    }

    function Nr(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 Er(n) {
        return function(t) {
            return Math.pow(t, n)
        }
    }

    function Ar(n) {
        return 1 - Math.cos(n * Io)
    }

    function Cr(n) {
        return Math.pow(2, 10 * (n - 1))
    }

    function zr(n) {
        return 1 - Math.sqrt(1 - n * n)
    }

    function Lr(n, t) {
        var e;
        return arguments.length < 2 && (t = .45), arguments.length ? e = t / Ho * Math.asin(1 / n) : (n = 1, e = t / 4),
            function(r) {
                return 1 + n * Math.pow(2, -10 * r) * Math.sin((r - e) * Ho / t)
            }
    }

    function qr(n) {
        return n || (n = 1.70158),
            function(t) {
                return t * t * ((n + 1) * t - n)
            }
    }

    function Tr(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 = ao.hcl(n), t = ao.hcl(t);
        var e = n.h,
            r = n.c,
            i = n.l,
            u = t.h - e,
            o = t.c - r,
            a = t.l - i;
        return isNaN(o) && (o = 0, r = isNaN(r) ? t.c : r), isNaN(u) ? (u = 0, e = isNaN(e) ? t.h : e) : u > 180 ? u -= 360 : -180 > u && (u += 360),
            function(n) {
                return sn(e + u * n, r + o * n, i + a * n) + ""
            }
    }

    function Dr(n, t) {
        n = ao.hsl(n), t = ao.hsl(t);
        var e = n.h,
            r = n.s,
            i = n.l,
            u = t.h - e,
            o = t.s - r,
            a = t.l - i;
        return isNaN(o) && (o = 0, r = isNaN(r) ? t.s : r), isNaN(u) ? (u = 0, e = isNaN(e) ? t.h : e) : u > 180 ? u -= 360 : -180 > u && (u += 360),
            function(n) {
                return cn(e + u * n, r + o * n, i + a * n) + ""
            }
    }

    function Pr(n, t) {
        n = ao.lab(n), t = ao.lab(t);
        var e = n.l,
            r = n.a,
            i = n.b,
            u = t.l - e,
            o = t.a - r,
            a = t.b - i;
        return function(n) {
            return pn(e + u * n, r + o * n, i + a * n) + ""
        }
    }

    function Ur(n, t) {
        return t -= n,
            function(e) {
                return Math.round(n + t * e)
            }
    }

    function jr(n) {
        var t = [n.a, n.b],
            e = [n.c, n.d],
            r = Hr(t),
            i = Fr(t, e),
            u = Hr(Or(e, t, -i)) || 0;
        t[0] * e[1] < e[0] * t[1] && (t[0] *= -1, t[1] *= -1, r *= -1, i *= -1), this.rotate = (r ? Math.atan2(t[1], t[0]) : Math.atan2(-e[0], e[1])) * Zo, this.translate = [n.e, n.f], this.scale = [r, u], this.skew = u ? Math.atan2(i, u) * Zo : 0
    }

    function Fr(n, t) {
        return n[0] * t[0] + n[1] * t[1]
    }

    function Hr(n) {
        var t = Math.sqrt(Fr(n, n));
        return t && (n[0] /= t, n[1] /= t), t
    }

    function Or(n, t, e) {
        return n[0] += e * t[0], n[1] += e * t[1], n
    }

    function Ir(n) {
        return n.length ? n.pop() + "," : ""
    }

    function Yr(n, t, e, r) {
        if (n[0] !== t[0] || n[1] !== t[1]) {
            var i = e.push("translate(", null, ",", null, ")");
            r.push({
                i: i - 4,
                x: yr(n[0], t[0])
            }, {
                i: i - 2,
                x: yr(n[1], t[1])
            })
        } else(t[0] || t[1]) && e.push("translate(" + t + ")")
    }

    function Zr(n, t, e, r) {
        n !== t ? (n - t > 180 ? t += 360 : t - n > 180 && (n += 360), r.push({
            i: e.push(Ir(e) + "rotate(", null, ")") - 2,
            x: yr(n, t)
        })) : t && e.push(Ir(e) + "rotate(" + t + ")")
    }

    function Vr(n, t, e, r) {
        n !== t ? r.push({
            i: e.push(Ir(e) + "skewX(", null, ")") - 2,
            x: yr(n, t)
        }) : t && e.push(Ir(e) + "skewX(" + t + ")")
    }

    function Xr(n, t, e, r) {
        if (n[0] !== t[0] || n[1] !== t[1]) {
            var i = e.push(Ir(e) + "scale(", null, ",", null, ")");
            r.push({
                i: i - 4,
                x: yr(n[0], t[0])
            }, {
                i: i - 2,
                x: yr(n[1], t[1])
            })
        } else 1 === t[0] && 1 === t[1] || e.push(Ir(e) + "scale(" + t + ")")
    }

    function $r(n, t) {
        var e = [],
            r = [];
        return n = ao.transform(n), t = ao.transform(t), Yr(n.translate, t.translate, e, r), Zr(n.rotate, t.rotate, e, r), Vr(n.skew, t.skew, e, r), Xr(n.scale, t.scale, e, r), n = t = null,
            function(n) {
                for (var t, i = -1, u = r.length; ++i < u;) e[(t = r[i]).i] = t.x(n);
                return e.join("")
            }
    }

    function Br(n, t) {
        return t = (t -= n = +n) || 1 / t,
            function(e) {
                return (e - n) / t
            }
    }

    function Wr(n, t) {
        return t = (t -= n = +n) || 1 / t,
            function(e) {
                return Math.max(0, Math.min(1, (e - n) / t))
            }
    }

    function Jr(n) {
        for (var t = n.source, e = n.target, r = Kr(t, e), i = [t]; t !== r;) t = t.parent, i.push(t);
        for (var u = i.length; e !== r;) i.splice(u, 0, e), e = e.parent;
        return i
    }

    function Gr(n) {
        for (var t = [], e = n.parent; null != e;) t.push(n), n = e, e = e.parent;
        return t.push(n), t
    }

    function Kr(n, t) {
        if (n === t) return n;
        for (var e = Gr(n), r = Gr(t), i = e.pop(), u = r.pop(), o = null; i === u;) o = i, i = e.pop(), u = r.pop();
        return o
    }

    function Qr(n) {
        n.fixed |= 2
    }

    function ni(n) {
        n.fixed &= -7
    }

    function ti(n) {
        n.fixed |= 4, n.px = n.x, n.py = n.y
    }

    function ei(n) {
        n.fixed &= -5
    }

    function ri(n, t, e) {
        var r = 0,
            i = 0;
        if (n.charge = 0, !n.leaf)
            for (var u, o = n.nodes, a = o.length, l = -1; ++l < a;) u = o[l], null != u && (ri(u, t, e), n.charge += u.charge, r += u.charge * u.cx, i += u.charge * u.cy);
        if (n.point) {
            n.leaf || (n.point.x += Math.random() - .5, n.point.y += Math.random() - .5);
            var c = t * e[n.point.index];
            n.charge += n.pointCharge = c, r += c * n.point.x, i += c * n.point.y
        }
        n.cx = r / n.charge, n.cy = i / n.charge
    }

    function ii(n, t) {
        return ao.rebind(n, t, "sort", "children", "value"), n.nodes = n, n.links = fi, n
    }

    function ui(n, t) {
        for (var e = [n]; null != (n = e.pop());)
            if (t(n), (i = n.children) && (r = i.length))
                for (var r, i; --r >= 0;) e.push(i[r])
    }

    function oi(n, t) {
        for (var e = [n], r = []; null != (n = e.pop());)
            if (r.push(n), (u = n.children) && (i = u.length))
                for (var i, u, o = -1; ++o < i;) e.push(u[o]);
        for (; null != (n = r.pop());) t(n)
    }

    function ai(n) {
        return n.children
    }

    function li(n) {
        return n.value
    }

    function ci(n, t) {
        return t.value - n.value
    }

    function fi(n) {
        return ao.merge(n.map(function(n) {
            return (n.children || []).map(function(t) {
                return {
                    source: n,
                    target: t
                }
            })
        }))
    }

    function si(n) {
        return n.x
    }

    function hi(n) {
        return n.y
    }

    function pi(n, t, e) {
        n.y0 = t, n.y = e
    }

    function gi(n) {
        return ao.range(n.length)
    }

    function vi(n) {
        for (var t = -1, e = n[0].length, r = []; ++t < e;) r[t] = 0;
        return r
    }

    function di(n) {
        for (var t, e = 1, r = 0, i = n[0][1], u = n.length; u > e; ++e)(t = n[e][1]) > i && (r = e, i = t);
        return r
    }

    function yi(n) {
        return n.reduce(mi, 0)
    }

    function mi(n, t) {
        return n + t[1]
    }

    function Mi(n, t) {
        return xi(n, Math.ceil(Math.log(t.length) / Math.LN2 + 1))
    }

    function xi(n, t) {
        for (var e = -1, r = +n[0], i = (n[1] - r) / t, u = []; ++e <= t;) u[e] = i * e + r;
        return u
    }

    function bi(n) {
        return [ao.min(n), ao.max(n)]
    }

    function _i(n, t) {
        return n.value - t.value
    }

    function wi(n, t) {
        var e = n._pack_next;
        n._pack_next = t, t._pack_prev = n, t._pack_next = e, e._pack_prev = t
    }

    function Si(n, t) {
        n._pack_next = t, t._pack_prev = n
    }

    function ki(n, t) {
        var e = t.x - n.x,
            r = t.y - n.y,
            i = n.r + t.r;
        return .999 * i * i > e * e + r * r
    }

    function Ni(n) {
        function t(n) {
            f = Math.min(n.x - n.r, f), s = Math.max(n.x + n.r, s), h = Math.min(n.y - n.r, h), p = Math.max(n.y + n.r, p)
        }
        if ((e = n.children) && (c = e.length)) {
            var e, r, i, u, o, a, l, c, f = 1 / 0,
                s = -(1 / 0),
                h = 1 / 0,
                p = -(1 / 0);
            if (e.forEach(Ei), r = e[0], r.x = -r.r, r.y = 0, t(r), c > 1 && (i = e[1], i.x = i.r, i.y = 0, t(i), c > 2))
                for (u = e[2], zi(r, i, u), t(u), wi(r, u), r._pack_prev = u, wi(u, i), i = r._pack_next, o = 3; c > o; o++) {
                    zi(r, i, u = e[o]);
                    var g = 0,
                        v = 1,
                        d = 1;
                    for (a = i._pack_next; a !== i; a = a._pack_next, v++)
                        if (ki(a, u)) {
                            g = 1;
                            break
                        }
                    if (1 == g)
                        for (l = r._pack_prev; l !== a._pack_prev && !ki(l, u); l = l._pack_prev, d++);
                    g ? (d > v || v == d && i.r < r.r ? Si(r, i = a) : Si(r = l, i), o--) : (wi(r, u), i = u, t(u))
                }
            var y = (f + s) / 2,
                m = (h + p) / 2,
                M = 0;
            for (o = 0; c > o; o++) u = e[o], u.x -= y, u.y -= m, M = Math.max(M, u.r + Math.sqrt(u.x * u.x + u.y * u.y));
            n.r = M, e.forEach(Ai)
        }
    }

    function Ei(n) {
        n._pack_next = n._pack_prev = n
    }

    function Ai(n) {
        delete n._pack_next, delete n._pack_prev
    }

    function Ci(n, t, e, r) {
        var i = n.children;
        if (n.x = t += r * n.x, n.y = e += r * n.y, n.r *= r, i)
            for (var u = -1, o = i.length; ++u < o;) Ci(i[u], t, e, r)
    }

    function zi(n, t, e) {
        var r = n.r + e.r,
            i = t.x - n.x,
            u = t.y - n.y;
        if (r && (i || u)) {
            var o = t.r + e.r,
                a = i * i + u * u;
            o *= o, r *= r;
            var l = .5 + (r - o) / (2 * a),
                c = Math.sqrt(Math.max(0, 2 * o * (r + a) - (r -= a) * r - o * o)) / (2 * a);
            e.x = n.x + l * i + c * u, e.y = n.y + l * u - c * i
        } else e.x = n.x + r, e.y = n.y
    }

    function Li(n, t) {
        return n.parent == t.parent ? 1 : 2
    }

    function qi(n) {
        var t = n.children;
        return t.length ? t[0] : n.t
    }

    function Ti(n) {
        var t, e = n.children;
        return (t = e.length) ? e[t - 1] : n.t
    }

    function Ri(n, t, e) {
        var r = e / (t.i - n.i);
        t.c -= r, t.s += e, n.c += r, t.z += e, t.m += e
    }

    function Di(n) {
        for (var t, e = 0, r = 0, i = n.children, u = i.length; --u >= 0;) t = i[u], t.z += e, t.m += e, e += t.s + (r += t.c)
    }

    function Pi(n, t, e) {
        return n.a.parent === t.parent ? n.a : e
    }

    function Ui(n) {
        return 1 + ao.max(n, function(n) {
            return n.y
        })
    }

    function ji(n) {
        return n.reduce(function(n, t) {
            return n + t.x
        }, 0) / n.length
    }

    function Fi(n) {
        var t = n.children;
        return t && t.length ? Fi(t[0]) : n
    }

    function Hi(n) {
        var t, e = n.children;
        return e && (t = e.length) ? Hi(e[t - 1]) : n
    }

    function Oi(n) {
        return {
            x: n.x,
            y: n.y,
            dx: n.dx,
            dy: n.dy
        }
    }

    function Ii(n, t) {
        var e = n.x + t[3],
            r = n.y + t[0],
            i = n.dx - t[1] - t[3],
            u = n.dy - t[0] - t[2];
        return 0 > i && (e += i / 2, i = 0), 0 > u && (r += u / 2, u = 0), {
            x: e,
            y: r,
            dx: i,
            dy: u
        }
    }

    function Yi(n) {
        var t = n[0],
            e = n[n.length - 1];
        return e > t ? [t, e] : [e, t]
    }

    function Zi(n) {
        return n.rangeExtent ? n.rangeExtent() : Yi(n.range())
    }

    function Vi(n, t, e, r) {
        var i = e(n[0], n[1]),
            u = r(t[0], t[1]);
        return function(n) {
            return u(i(n))
        }
    }

    function Xi(n, t) {
        var e, r = 0,
            i = n.length - 1,
            u = n[r],
            o = n[i];
        return u > o && (e = r, r = i, i = e, e = u, u = o, o = e), n[r] = t.floor(u), n[i] = t.ceil(o), n
    }

    function $i(n) {
        return n ? {
            floor: function(t) {
                return Math.floor(t / n) * n
            },
            ceil: function(t) {
                return Math.ceil(t / n) * n
            }
        } : Sl
    }

    function Bi(n, t, e, r) {
        var i = [],
            u = [],
            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;) i.push(e(n[o - 1], n[o])), u.push(r(t[o - 1], t[o]));
        return function(t) {
            var e = ao.bisect(n, t, 1, a) - 1;
            return u[e](i[e](t))
        }
    }

    function Wi(n, t, e, r) {
        function i() {
            var i = Math.min(n.length, t.length) > 2 ? Bi : Vi,
                l = r ? Wr : Br;
            return o = i(n, t, l, e), a = i(t, n, l, Mr), u
        }

        function u(n) {
            return o(n)
        }
        var o, a;
        return u.invert = function(n) {
            return a(n)
        }, u.domain = function(t) {
            return arguments.length ? (n = t.map(Number), i()) : n
        }, u.range = function(n) {
            return arguments.length ? (t = n, i()) : t
        }, u.rangeRound = function(n) {
            return u.range(n).interpolate(Ur)
        }, u.clamp = function(n) {
            return arguments.length ? (r = n, i()) : r
        }, u.interpolate = function(n) {
            return arguments.length ? (e = n, i()) : e
        }, u.ticks = function(t) {
            return Qi(n, t)
        }, u.tickFormat = function(t, e) {
            return nu(n, t, e)
        }, u.nice = function(t) {
            return Gi(n, t), i()
        }, u.copy = function() {
            return Wi(n, t, e, r)
        }, i()
    }

    function Ji(n, t) {
        return ao.rebind(n, t, "range", "rangeRound", "interpolate", "clamp")
    }

    function Gi(n, t) {
        return Xi(n, $i(Ki(n, t)[2])), Xi(n, $i(Ki(n, t)[2])), n
    }

    function Ki(n, t) {
        null == t && (t = 10);
        var e = Yi(n),
            r = e[1] - e[0],
            i = Math.pow(10, Math.floor(Math.log(r / t) / Math.LN10)),
            u = t / r * i;
        return .15 >= u ? i *= 10 : .35 >= u ? i *= 5 : .75 >= u && (i *= 2), e[0] = Math.ceil(e[0] / i) * i, e[1] = Math.floor(e[1] / i) * i + .5 * i, e[2] = i, e
    }

    function Qi(n, t) {
        return ao.range.apply(ao, Ki(n, t))
    }

    function nu(n, t, e) {
        var r = Ki(n, t);
        if (e) {
            var i = ha.exec(e);
            if (i.shift(), "s" === i[8]) {
                var u = ao.formatPrefix(Math.max(xo(r[0]), xo(r[1])));
                return i[7] || (i[7] = "." + tu(u.scale(r[2]))), i[8] = "f", e = ao.format(i.join("")),
                    function(n) {
                        return e(u.scale(n)) + u.symbol
                    }
            }
            i[7] || (i[7] = "." + eu(i[8], r)), e = i.join("")
        } else e = ",." + tu(r[2]) + "f";
        return ao.format(e)
    }

    function tu(n) {
        return -Math.floor(Math.log(n) / Math.LN10 + .01)
    }

    function eu(n, t) {
        var e = tu(t[2]);
        return n in kl ? Math.abs(e - tu(Math.max(xo(t[0]), xo(t[1])))) + +("e" !== n) : e - 2 * ("%" === n)
    }

    function ru(n, t, e, r) {
        function i(n) {
            return (e ? Math.log(0 > n ? 0 : n) : -Math.log(n > 0 ? 0 : -n)) / Math.log(t)
        }

        function u(n) {
            return e ? Math.pow(t, n) : -Math.pow(t, -n)
        }

        function o(t) {
            return n(i(t))
        }
        return o.invert = function(t) {
            return u(n.invert(t))
        }, o.domain = function(t) {
            return arguments.length ? (e = t[0] >= 0, n.domain((r = t.map(Number)).map(i)), o) : r
        }, o.base = function(e) {
            return arguments.length ? (t = +e, n.domain(r.map(i)), o) : t
        }, o.nice = function() {
            var t = Xi(r.map(i), e ? Math : El);
            return n.domain(t), r = t.map(u), o
        }, o.ticks = function() {
            var n = Yi(r),
                o = [],
                a = n[0],
                l = n[1],
                c = Math.floor(i(a)),
                f = Math.ceil(i(l)),
                s = t % 1 ? 2 : t;
            if (isFinite(f - c)) {
                if (e) {
                    for (; f > c; c++)
                        for (var h = 1; s > h; h++) o.push(u(c) * h);
                    o.push(u(c))
                } else
                    for (o.push(u(c)); c++ < f;)
                        for (var h = s - 1; h > 0; h--) o.push(u(c) * h);
                for (c = 0; o[c] < a; c++);
                for (f = o.length; o[f - 1] > l; f--);
                o = o.slice(c, f)
            }
            return o
        }, o.tickFormat = function(n, e) {
            if (!arguments.length) return Nl;
            arguments.length < 2 ? e = Nl : "function" != typeof e && (e = ao.format(e));
            var r = Math.max(1, t * n / o.ticks().length);
            return function(n) {
                var o = n / u(Math.round(i(n)));
                return t - .5 > o * t && (o *= t), r >= o ? e(n) : ""
            }
        }, o.copy = function() {
            return ru(n.copy(), t, e, r)
        }, Ji(o, n)
    }

    function iu(n, t, e) {
        function r(t) {
            return n(i(t))
        }
        var i = uu(t),
            u = uu(1 / t);
        return r.invert = function(t) {
            return u(n.invert(t))
        }, r.domain = function(t) {
            return arguments.length ? (n.domain((e = t.map(Number)).map(i)), r) : e
        }, r.ticks = function(n) {
            return Qi(e, n)
        }, r.tickFormat = function(n, t) {
            return nu(e, n, t)
        }, r.nice = function(n) {
            return r.domain(Gi(e, n))
        }, r.exponent = function(o) {
            return arguments.length ? (i = uu(t = o), u = uu(1 / t), n.domain(e.map(i)), r) : t
        }, r.copy = function() {
            return iu(n.copy(), t, e)
        }, Ji(r, n)
    }

    function uu(n) {
        return function(t) {
            return 0 > t ? -Math.pow(-t, n) : Math.pow(t, n)
        }
    }

    function ou(n, t) {
        function e(e) {
            return u[((i.get(e) || ("range" === t.t ? i.set(e, n.push(e)) : NaN)) - 1) % u.length]
        }

        function r(t, e) {
            return ao.range(n.length).map(function(n) {
                return t + e * n
            })
        }
        var i, u, o;
        return e.domain = function(r) {
            if (!arguments.length) return n;
            n = [], i = new c;
            for (var u, o = -1, a = r.length; ++o < a;) i.has(u = r[o]) || i.set(u, n.push(u));
            return e[t.t].apply(e, t.a)
        }, e.range = function(n) {
            return arguments.length ? (u = n, o = 0, t = {
                t: "range",
                a: arguments
            }, e) : u
        }, e.rangePoints = function(i, a) {
            arguments.length < 2 && (a = 0);
            var l = i[0],
                c = i[1],
                f = n.length < 2 ? (l = (l + c) / 2, 0) : (c - l) / (n.length - 1 + a);
            return u = r(l + f * a / 2, f), o = 0, t = {
                t: "rangePoints",
                a: arguments
            }, e
        }, e.rangeRoundPoints = function(i, a) {
            arguments.length < 2 && (a = 0);
            var l = i[0],
                c = i[1],
                f = n.length < 2 ? (l = c = Math.round((l + c) / 2), 0) : (c - l) / (n.length - 1 + a) | 0;
            return u = r(l + Math.round(f * a / 2 + (c - l - (n.length - 1 + a) * f) / 2), f), o = 0, t = {
                t: "rangeRoundPoints",
                a: arguments
            }, e
        }, e.rangeBands = function(i, a, l) {
            arguments.length < 2 && (a = 0), arguments.length < 3 && (l = a);
            var c = i[1] < i[0],
                f = i[c - 0],
                s = i[1 - c],
                h = (s - f) / (n.length - a + 2 * l);
            return u = r(f + h * l, h), c && u.reverse(), o = h * (1 - a), t = {
                t: "rangeBands",
                a: arguments
            }, e
        }, e.rangeRoundBands = function(i, a, l) {
            arguments.length < 2 && (a = 0), arguments.length < 3 && (l = a);
            var c = i[1] < i[0],
                f = i[c - 0],
                s = i[1 - c],
                h = Math.floor((s - f) / (n.length - a + 2 * l));
            return u = r(f + Math.round((s - f - (n.length - a) * h) / 2), h), c && u.reverse(), o = Math.round(h * (1 - a)), t = {
                t: "rangeRoundBands",
                a: arguments
            }, e
        }, e.rangeBand = function() {
            return o
        }, e.rangeExtent = function() {
            return Yi(t.a[0])
        }, e.copy = function() {
            return ou(n, t)
        }, e.domain(n)
    }

    function au(n, t) {
        function u() {
            var e = 0,
                r = t.length;
            for (a = []; ++e < r;) a[e - 1] = ao.quantile(n, e / r);
            return o
        }

        function o(n) {
            return isNaN(n = +n) ? void 0 : t[ao.bisect(a, n)]
        }
        var a;
        return o.domain = function(t) {
            return arguments.length ? (n = t.map(r).filter(i).sort(e), u()) : n
        }, o.range = function(n) {
            return arguments.length ? (t = n, u()) : t
        }, o.quantiles = function() {
            return a
        }, o.invertExtent = function(e) {
            return e = t.indexOf(e), 0 > e ? [NaN, NaN] : [e > 0 ? a[e - 1] : n[0], e < a.length ? a[e] : n[n.length - 1]]
        }, o.copy = function() {
            return au(n, t)
        }, u()
    }

    function lu(n, t, e) {
        function r(t) {
            return e[Math.max(0, Math.min(o, Math.floor(u * (t - n))))]
        }

        function i() {
            return u = e.length / (t - n), o = e.length - 1, r
        }
        var u, o;
        return r.domain = function(e) {
            return arguments.length ? (n = +e[0], t = +e[e.length - 1], i()) : [n, t]
        }, r.range = function(n) {
            return arguments.length ? (e = n, i()) : e
        }, r.invertExtent = function(t) {
            return t = e.indexOf(t), t = 0 > t ? NaN : t / u + n, [t, t + 1 / u]
        }, r.copy = function() {
            return lu(n, t, e)
        }, i()
    }

    function cu(n, t) {
        function e(e) {
            return e >= e ? t[ao.bisect(n, e)] : void 0
        }
        return e.domain = function(t) {
            return arguments.length ? (n = t, e) : n
        }, e.range = function(n) {
            return arguments.length ? (t = n, e) : t
        }, e.invertExtent = function(e) {
            return e = t.indexOf(e), [n[e - 1], n[e]]
        }, e.copy = function() {
            return cu(n, t)
        }, e
    }

    function fu(n) {
        function t(n) {
            return +n
        }
        return t.invert = t, t.domain = t.range = function(e) {
            return arguments.length ? (n = e.map(t), t) : n
        }, t.ticks = function(t) {
            return Qi(n, t)
        }, t.tickFormat = function(t, e) {
            return nu(n, t, e)
        }, t.copy = function() {
            return fu(n)
        }, t
    }

    function su() {
        return 0
    }

    function hu(n) {
        return n.innerRadius
    }

    function pu(n) {
        return n.outerRadius
    }

    function gu(n) {
        return n.startAngle
    }

    function vu(n) {
        return n.endAngle
    }

    function du(n) {
        return n && n.padAngle
    }

    function yu(n, t, e, r) {
        return (n - e) * t - (t - r) * n > 0 ? 0 : 1
    }

    function mu(n, t, e, r, i) {
        var u = n[0] - t[0],
            o = n[1] - t[1],
            a = (i ? r : -r) / Math.sqrt(u * u + o * o),
            l = a * o,
            c = -a * u,
            f = n[0] + l,
            s = n[1] + c,
            h = t[0] + l,
            p = t[1] + c,
            g = (f + h) / 2,
            v = (s + p) / 2,
            d = h - f,
            y = p - s,
            m = d * d + y * y,
            M = e - r,
            x = f * p - h * s,
            b = (0 > y ? -1 : 1) * Math.sqrt(Math.max(0, M * M * m - x * x)),
            _ = (x * y - d * b) / m,
            w = (-x * d - y * b) / m,
            S = (x * y + d * b) / m,
            k = (-x * d + y * b) / m,
            N = _ - g,
            E = w - v,
            A = S - g,
            C = k - v;
        return N * N + E * E > A * A + C * C && (_ = S, w = k), [
            [_ - l, w - c],
            [_ * e / M, w * e / M]
        ]
    }

    function Mu(n) {
        function t(t) {
            function o() {
                c.push("M", u(n(f), a))
            }
            for (var l, c = [], f = [], s = -1, h = t.length, p = En(e), g = En(r); ++s < h;) i.call(this, l = t[s], s) ? f.push([+p.call(this, l, s), +g.call(this, l, s)]) : f.length && (o(), f = []);
            return f.length && o(), c.length ? c.join("") : null
        }
        var e = Ce,
            r = ze,
            i = zt,
            u = xu,
            o = u.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 ? (i = n, t) : i
        }, t.interpolate = function(n) {
            return arguments.length ? (o = "function" == typeof n ? u = n : (u = Tl.get(n) || xu).key, t) : o
        }, t.tension = function(n) {
            return arguments.length ? (a = n, t) : a
        }, t
    }

    function xu(n) {
        return n.length > 1 ? n.join("L") : n + "Z"
    }

    function bu(n) {
        return n.join("L") + "Z"
    }

    function _u(n) {
        for (var t = 0, e = n.length, r = n[0], i = [r[0], ",", r[1]]; ++t < e;) i.push("H", (r[0] + (r = n[t])[0]) / 2, "V", r[1]);
        return e > 1 && i.push("H", r[0]), i.join("")
    }

    function wu(n) {
        for (var t = 0, e = n.length, r = n[0], i = [r[0], ",", r[1]]; ++t < e;) i.push("V", (r = n[t])[1], "H", r[0]);
        return i.join("")
    }

    function Su(n) {
        for (var t = 0, e = n.length, r = n[0], i = [r[0], ",", r[1]]; ++t < e;) i.push("H", (r = n[t])[0], "V", r[1]);
        return i.join("")
    }

    function ku(n, t) {
        return n.length < 4 ? xu(n) : n[1] + Au(n.slice(1, -1), Cu(n, t))
    }

    function Nu(n, t) {
        return n.length < 3 ? bu(n) : n[0] + Au((n.push(n[0]), n), Cu([n[n.length - 2]].concat(n, [n[1]]), t))
    }

    function Eu(n, t) {
        return n.length < 3 ? xu(n) : n[0] + Au(n, Cu(n, t))
    }

    function Au(n, t) {
        if (t.length < 1 || n.length != t.length && n.length != t.length + 2) return xu(n);
        var e = n.length != t.length,
            r = "",
            i = n[0],
            u = n[1],
            o = t[0],
            a = o,
            l = 1;
        if (e && (r += "Q" + (u[0] - 2 * o[0] / 3) + "," + (u[1] - 2 * o[1] / 3) + "," + u[0] + "," + u[1], i = n[1], l = 2), t.length > 1) {
            a = t[1], u = n[l], l++, r += "C" + (i[0] + o[0]) + "," + (i[1] + o[1]) + "," + (u[0] - a[0]) + "," + (u[1] - a[1]) + "," + u[0] + "," + u[1];
            for (var c = 2; c < t.length; c++, l++) u = n[l], a = t[c], r += "S" + (u[0] - a[0]) + "," + (u[1] - a[1]) + "," + u[0] + "," + u[1]
        }
        if (e) {
            var f = n[l];
            r += "Q" + (u[0] + 2 * a[0] / 3) + "," + (u[1] + 2 * a[1] / 3) + "," + f[0] + "," + f[1]
        }
        return r
    }

    function Cu(n, t) {
        for (var e, r = [], i = (1 - t) / 2, u = n[0], o = n[1], a = 1, l = n.length; ++a < l;) e = u, u = o, o = n[a], r.push([i * (o[0] - e[0]), i * (o[1] - e[1])]);
        return r
    }

    function zu(n) {
        if (n.length < 3) return xu(n);
        var t = 1,
            e = n.length,
            r = n[0],
            i = r[0],
            u = r[1],
            o = [i, i, i, (r = n[1])[0]],
            a = [u, u, u, r[1]],
            l = [i, ",", u, "L", Ru(Pl, o), ",", Ru(Pl, a)];
        for (n.push(n[e - 1]); ++t <= e;) r = n[t], o.shift(), o.push(r[0]), a.shift(), a.push(r[1]), Du(l, o, a);
        return n.pop(), l.push("L", r), l.join("")
    }

    function Lu(n) {
        if (n.length < 4) return xu(n);
        for (var t, e = [], r = -1, i = n.length, u = [0], o = [0]; ++r < 3;) t = n[r], u.push(t[0]), o.push(t[1]);
        for (e.push(Ru(Pl, u) + "," + Ru(Pl, o)), --r; ++r < i;) t = n[r], u.shift(), u.push(t[0]), o.shift(), o.push(t[1]), Du(e, u, o);
        return e.join("")
    }

    function qu(n) {
        for (var t, e, r = -1, i = n.length, u = i + 4, o = [], a = []; ++r < 4;) e = n[r % i], o.push(e[0]), a.push(e[1]);
        for (t = [Ru(Pl, o), ",", Ru(Pl, a)], --r; ++r < u;) e = n[r % i], o.shift(), o.push(e[0]), a.shift(), a.push(e[1]), Du(t, o, a);
        return t.join("")
    }

    function Tu(n, t) {
        var e = n.length - 1;
        if (e)
            for (var r, i, u = n[0][0], o = n[0][1], a = n[e][0] - u, l = n[e][1] - o, c = -1; ++c <= e;) r = n[c], i = c / e, r[0] = t * r[0] + (1 - t) * (u + i * a), r[1] = t * r[1] + (1 - t) * (o + i * l);
        return zu(n)
    }

    function Ru(n, t) {
        return n[0] * t[0] + n[1] * t[1] + n[2] * t[2] + n[3] * t[3]
    }

    function Du(n, t, e) {
        n.push("C", Ru(Rl, t), ",", Ru(Rl, e), ",", Ru(Dl, t), ",", Ru(Dl, e), ",", Ru(Pl, t), ",", Ru(Pl, e))
    }

    function Pu(n, t) {
        return (t[1] - n[1]) / (t[0] - n[0])
    }

    function Uu(n) {
        for (var t = 0, e = n.length - 1, r = [], i = n[0], u = n[1], o = r[0] = Pu(i, u); ++t < e;) r[t] = (o + (o = Pu(i = u, u = n[t + 1]))) / 2;
        return r[t] = o, r
    }

    function ju(n) {
        for (var t, e, r, i, u = [], o = Uu(n), a = -1, l = n.length - 1; ++a < l;) t = Pu(n[a], n[a + 1]), xo(t) < Uo ? o[a] = o[a + 1] = 0 : (e = o[a] / t, r = o[a + 1] / t, i = e * e + r * r, i > 9 && (i = 3 * t / Math.sqrt(i), o[a] = i * e, o[a + 1] = i * r));
        for (a = -1; ++a <= l;) i = (n[Math.min(l, a + 1)][0] - n[Math.max(0, a - 1)][0]) / (6 * (1 + o[a] * o[a])), u.push([i || 0, o[a] * i || 0]);
        return u
    }

    function Fu(n) {
        return n.length < 3 ? xu(n) : n[0] + Au(n, ju(n))
    }

    function Hu(n) {
        for (var t, e, r, i = -1, u = n.length; ++i < u;) t = n[i], e = t[0], r = t[1] - Io, t[0] = e * Math.cos(r), t[1] = e * Math.sin(r);
        return n
    }

    function Ou(n) {
        function t(t) {
            function l() {
                v.push("M", a(n(y), s), f, c(n(d.reverse()), s), "Z")
            }
            for (var h, p, g, v = [], d = [], y = [], m = -1, M = t.length, x = En(e), b = En(i), _ = e === r ? function() {
                    return p
                } : En(r), w = i === u ? function() {
                    return g
                } : En(u); ++m < M;) o.call(this, h = t[m], m) ? (d.push([p = +x.call(this, h, m), g = +b.call(this, h, m)]), y.push([+_.call(this, h, m), +w.call(this, h, m)])) : d.length && (l(), d = [], y = []);
            return d.length && l(), v.length ? v.join("") : null
        }
        var e = Ce,
            r = Ce,
            i = 0,
            u = ze,
            o = zt,
            a = xu,
            l = a.key,
            c = a,
            f = "L",
            s = .7;
        return t.x = function(n) {
            return arguments.length ? (e = r = n, t) : r
        }, t.x0 = function(n) {
            return arguments.length ? (e = n, t) : e
        }, t.x1 = function(n) {
            return arguments.length ? (r = n, t) : r
        }, t.y = function(n) {
            return arguments.length ? (i = u = n, t) : u
        }, t.y0 = function(n) {
            return arguments.length ? (i = n, t) : i
        }, t.y1 = function(n) {
            return arguments.length ? (u = n, t) : u
        }, t.defined = function(n) {
            return arguments.length ? (o = n, t) : o
        }, t.interpolate = function(n) {
            return arguments.length ? (l = "function" == typeof n ? a = n : (a = Tl.get(n) || xu).key, c = a.reverse || a, f = a.closed ? "M" : "L", t) : l
        }, t.tension = function(n) {
            return arguments.length ? (s = n, t) : s
        }, t
    }

    function Iu(n) {
        return n.radius
    }

    function Yu(n) {
        return [n.x, n.y]
    }

    function Zu(n) {
        return function() {
            var t = n.apply(this, arguments),
                e = t[0],
                r = t[1] - Io;
            return [e * Math.cos(r), e * Math.sin(r)]
        }
    }

    function Vu() {
        return 64
    }

    function Xu() {
        return "circle"
    }

    function $u(n) {
        var t = Math.sqrt(n / Fo);
        return "M0," + t + "A" + t + "," + t + " 0 1,1 0," + -t + "A" + t + "," + t + " 0 1,1 0," + t + "Z"
    }

    function Bu(n) {
        return function() {
            var t, e, r;
            (t = this[n]) && (r = t[e = t.active]) && (r.timer.c = null, r.timer.t = NaN, --t.count ? delete t[e] : delete this[n], t.active += .5, r.event && r.event.interrupt.call(this, this.__data__, r.index))
        }
    }

    function Wu(n, t, e) {
        return ko(n, Yl), n.namespace = t, n.id = e, n
    }

    function Ju(n, t, e, r) {
        var i = n.id,
            u = n.namespace;
        return Y(n, "function" == typeof e ? function(n, o, a) {
            n[u][i].tween.set(t, r(e.call(n, n.__data__, o, a)))
        } : (e = r(e), function(n) {
            n[u][i].tween.set(t, e)
        }))
    }

    function Gu(n) {
        return null == n && (n = ""),
            function() {
                this.textContent = n
            }
    }

    function Ku(n) {
        return null == n ? "__transition__" : "__transition_" + n + "__"
    }

    function Qu(n, t, e, r, i) {
        function u(n) {
            var t = v.delay;
            return f.t = t + l, n >= t ? o(n - t) : void(f.c = o)
        }

        function o(e) {
            var i = g.active,
                u = g[i];
            u && (u.timer.c = null, u.timer.t = NaN, --g.count, delete g[i], u.event && u.event.interrupt.call(n, n.__data__, u.index));
            for (var o in g)
                if (r > +o) {
                    var c = g[o];
                    c.timer.c = null, c.timer.t = NaN, --g.count, delete g[o]
                }
            f.c = a, qn(function() {
                return f.c && a(e || 1) && (f.c = null, f.t = NaN), 1
            }, 0, l), g.active = r, v.event && v.event.start.call(n, n.__data__, t), p = [], v.tween.forEach(function(e, r) {
                (r = r.call(n, n.__data__, t)) && p.push(r)
            }), h = v.ease, s = v.duration
        }

        function a(i) {
            for (var u = i / s, o = h(u), a = p.length; a > 0;) p[--a].call(n, o);
            return u >= 1 ? (v.event && v.event.end.call(n, n.__data__, t), --g.count ? delete g[r] : delete n[e], 1) : void 0
        }
        var l, f, s, h, p, g = n[e] || (n[e] = {
                active: 0,
                count: 0
            }),
            v = g[r];
        v || (l = i.time, f = qn(u, 0, l), v = g[r] = {
            tween: new c,
            time: l,
            timer: f,
            delay: i.delay,
            duration: i.duration,
            ease: i.ease,
            index: t
        }, i = null, ++g.count)
    }

    function no(n, t, e) {
        n.attr("transform", function(n) {
            var r = t(n);
            return "translate(" + (isFinite(r) ? r : e(n)) + ",0)"
        })
    }

    function to(n, t, e) {
        n.attr("transform", function(n) {
            var r = t(n);
            return "translate(0," + (isFinite(r) ? r : e(n)) + ")"
        })
    }

    function eo(n) {
        return n.toISOString()
    }

    function ro(n, t, e) {
        function r(t) {
            return n(t)
        }

        function i(n, e) {
            var r = n[1] - n[0],
                i = r / e,
                u = ao.bisect(Kl, i);
            return u == Kl.length ? [t.year, Ki(n.map(function(n) {
                return n / 31536e6
            }), e)[2]] : u ? t[i / Kl[u - 1] < Kl[u] / i ? u - 1 : u] : [tc, Ki(n, e)[2]]
        }
        return r.invert = function(t) {
            return io(n.invert(t))
        }, r.domain = function(t) {
            return arguments.length ? (n.domain(t), r) : n.domain().map(io)
        }, r.nice = function(n, t) {
            function e(e) {
                return !isNaN(e) && !n.range(e, io(+e + 1), t).length
            }
            var u = r.domain(),
                o = Yi(u),
                a = null == n ? i(o, 10) : "number" == typeof n && i(o, n);
            return a && (n = a[0], t = a[1]), r.domain(Xi(u, t > 1 ? {
                floor: function(t) {
                    for (; e(t = n.floor(t));) t = io(t - 1);
                    return t
                },
                ceil: function(t) {
                    for (; e(t = n.ceil(t));) t = io(+t + 1);
                    return t
                }
            } : n))
        }, r.ticks = function(n, t) {
            var e = Yi(r.domain()),
                u = null == n ? i(e, 10) : "number" == typeof n ? i(e, n) : !n.range && [{
                    range: n
                }, t];
            return u && (n = u[0], t = u[1]), n.range(e[0], io(+e[1] + 1), 1 > t ? 1 : t)
        }, r.tickFormat = function() {
            return e
        }, r.copy = function() {
            return ro(n.copy(), t, e)
        }, Ji(r, n)
    }

    function io(n) {
        return new Date(n)
    }

    function uo(n) {
        return JSON.parse(n.responseText)
    }

    function oo(n) {
        var t = fo.createRange();
        return t.selectNode(fo.body), t.createContextualFragment(n.responseText)
    }
    var ao = {
            version: "3.5.17"
        },
        lo = [].slice,
        co = function(n) {
            return lo.call(n)
        },
        fo = this.document;
    if (fo) try {
        co(fo.documentElement.childNodes)[0].nodeType
    } catch (so) {
        co = function(n) {
            for (var t = n.length, e = new Array(t); t--;) e[t] = n[t];
            return e
        }
    }
    if (Date.now || (Date.now = function() {
            return +new Date
        }), fo) try {
        fo.createElement("DIV").style.setProperty("opacity", 0, "")
    } catch (ho) {
        var po = this.Element.prototype,
            go = po.setAttribute,
            vo = po.setAttributeNS,
            yo = this.CSSStyleDeclaration.prototype,
            mo = yo.setProperty;
        po.setAttribute = function(n, t) {
            go.call(this, n, t + "")
        }, po.setAttributeNS = function(n, t, e) {
            vo.call(this, n, t, e + "")
        }, yo.setProperty = function(n, t, e) {
            mo.call(this, n, t + "", e)
        }
    }
    ao.ascending = e, ao.descending = function(n, t) {
        return n > t ? -1 : t > n ? 1 : t >= n ? 0 : NaN
    }, ao.min = function(n, t) {
        var e, r, i = -1,
            u = n.length;
        if (1 === arguments.length) {
            for (; ++i < u;)
                if (null != (r = n[i]) && r >= r) {
                    e = r;
                    break
                }
            for (; ++i < u;) null != (r = n[i]) && e > r && (e = r)
        } else {
            for (; ++i < u;)
                if (null != (r = t.call(n, n[i], i)) && r >= r) {
                    e = r;
                    break
                }
            for (; ++i < u;) null != (r = t.call(n, n[i], i)) && e > r && (e = r)
        }
        return e
    }, ao.max = function(n, t) {
        var e, r, i = -1,
            u = n.length;
        if (1 === arguments.length) {
            for (; ++i < u;)
                if (null != (r = n[i]) && r >= r) {
                    e = r;
                    break
                }
            for (; ++i < u;) null != (r = n[i]) && r > e && (e = r)
        } else {
            for (; ++i < u;)
                if (null != (r = t.call(n, n[i], i)) && r >= r) {
                    e = r;
                    break
                }
            for (; ++i < u;) null != (r = t.call(n, n[i], i)) && r > e && (e = r)
        }
        return e
    }, ao.extent = function(n, t) {
        var e, r, i, u = -1,
            o = n.length;
        if (1 === arguments.length) {
            for (; ++u < o;)
                if (null != (r = n[u]) && r >= r) {
                    e = i = r;
                    break
                }
            for (; ++u < o;) null != (r = n[u]) && (e > r && (e = r), r > i && (i = r))
        } else {
            for (; ++u < o;)
                if (null != (r = t.call(n, n[u], u)) && r >= r) {
                    e = i = r;
                    break
                }
            for (; ++u < o;) null != (r = t.call(n, n[u], u)) && (e > r && (e = r), r > i && (i = r))
        }
        return [e, i]
    }, ao.sum = function(n, t) {
        var e, r = 0,
            u = n.length,
            o = -1;
        if (1 === arguments.length)
            for (; ++o < u;) i(e = +n[o]) && (r += e);
        else
            for (; ++o < u;) i(e = +t.call(n, n[o], o)) && (r += e);
        return r
    }, ao.mean = function(n, t) {
        var e, u = 0,
            o = n.length,
            a = -1,
            l = o;
        if (1 === arguments.length)
            for (; ++a < o;) i(e = r(n[a])) ? u += e : --l;
        else
            for (; ++a < o;) i(e = r(t.call(n, n[a], a))) ? u += e : --l;
        return l ? u / l : void 0
    }, ao.quantile = function(n, t) {
        var e = (n.length - 1) * t + 1,
            r = Math.floor(e),
            i = +n[r - 1],
            u = e - r;
        return u ? i + u * (n[r] - i) : i
    }, ao.median = function(n, t) {
        var u, o = [],
            a = n.length,
            l = -1;
        if (1 === arguments.length)
            for (; ++l < a;) i(u = r(n[l])) && o.push(u);
        else
            for (; ++l < a;) i(u = r(t.call(n, n[l], l))) && o.push(u);
        return o.length ? ao.quantile(o.sort(e), .5) : void 0
    }, ao.variance = function(n, t) {
        var e, u, o = n.length,
            a = 0,
            l = 0,
            c = -1,
            f = 0;
        if (1 === arguments.length)
            for (; ++c < o;) i(e = r(n[c])) && (u = e - a, a += u / ++f, l += u * (e - a));
        else
            for (; ++c < o;) i(e = r(t.call(n, n[c], c))) && (u = e - a, a += u / ++f, l += u * (e - a));
        return f > 1 ? l / (f - 1) : void 0
    }, ao.deviation = function() {
        var n = ao.variance.apply(this, arguments);
        return n ? Math.sqrt(n) : n
    };
    var Mo = u(e);
    ao.bisectLeft = Mo.left, ao.bisect = ao.bisectRight = Mo.right, ao.bisector = function(n) {
        return u(1 === n.length ? function(t, r) {
            return e(n(t), r)
        } : n)
    }, ao.shuffle = function(n, t, e) {
        (u = arguments.length) < 3 && (e = n.length, 2 > u && (t = 0));
        for (var r, i, u = e - t; u;) i = Math.random() * u-- | 0, r = n[u + t], n[u + t] = n[i + t], n[i + t] = r;
        return n
    }, ao.permute = function(n, t) {
        for (var e = t.length, r = new Array(e); e--;) r[e] = n[t[e]];
        return r
    }, ao.pairs = function(n) {
        for (var t, e = 0, r = n.length - 1, i = n[0], u = new Array(0 > r ? 0 : r); r > e;) u[e] = [t = i, i = n[++e]];
        return u
    }, ao.transpose = function(n) {
        if (!(i = n.length)) return [];
        for (var t = -1, e = ao.min(n, o), r = new Array(e); ++t < e;)
            for (var i, u = -1, a = r[t] = new Array(i); ++u < i;) a[u] = n[u][t];
        return r
    }, ao.zip = function() {
        return ao.transpose(arguments)
    }, ao.keys = function(n) {
        var t = [];
        for (var e in n) t.push(e);
        return t
    }, ao.values = function(n) {
        var t = [];
        for (var e in n) t.push(n[e]);
        return t
    }, ao.entries = function(n) {
        var t = [];
        for (var e in n) t.push({
            key: e,
            value: n[e]
        });
        return t
    }, ao.merge = function(n) {
        for (var t, e, r, i = n.length, u = -1, o = 0; ++u < i;) o += n[u].length;
        for (e = new Array(o); --i >= 0;)
            for (r = n[i], t = r.length; --t >= 0;) e[--o] = r[t];
        return e
    };
    var xo = Math.abs;
    ao.range = function(n, t, e) {
        if (arguments.length < 3 && (e = 1, arguments.length < 2 && (t = n, n = 0)), (t - n) / e === 1 / 0) throw new Error("infinite range");
        var r, i = [],
            u = a(xo(e)),
            o = -1;
        if (n *= u, t *= u, e *= u, 0 > e)
            for (;
                (r = n + e * ++o) > t;) i.push(r / u);
        else
            for (;
                (r = n + e * ++o) < t;) i.push(r / u);
        return i
    }, ao.map = function(n, t) {
        var e = new c;
        if (n instanceof c) n.forEach(function(n, t) {
            e.set(n, t)
        });
        else if (Array.isArray(n)) {
            var r, i = -1,
                u = n.length;
            if (1 === arguments.length)
                for (; ++i < u;) e.set(i, n[i]);
            else
                for (; ++i < u;) e.set(t.call(n, r = n[i], i), r)
        } else
            for (var o in n) e.set(o, n[o]);
        return e
    };
    var bo = "__proto__",
        _o = "\x00";
    l(c, {
        has: h,
        get: function(n) {
            return this._[f(n)]
        },
        set: function(n, t) {
            return this._[f(n)] = t
        },
        remove: p,
        keys: g,
        values: function() {
            var n = [];
            for (var t in this._) n.push(this._[t]);
            return n
        },
        entries: function() {
            var n = [];
            for (var t in this._) n.push({
                key: s(t),
                value: this._[t]
            });
            return n
        },
        size: v,
        empty: d,
        forEach: function(n) {
            for (var t in this._) n.call(this, s(t), this._[t])
        }
    }), ao.nest = function() {
        function n(t, o, a) {
            if (a >= u.length) return r ? r.call(i, o) : e ? o.sort(e) : o;
            for (var l, f, s, h, p = -1, g = o.length, v = u[a++], d = new c; ++p < g;)(h = d.get(l = v(f = o[p]))) ? h.push(f) : d.set(l, [f]);
            return t ? (f = t(), s = function(e, r) {
                f.set(e, n(t, r, a))
            }) : (f = {}, s = function(e, r) {
                f[e] = n(t, r, a)
            }), d.forEach(s), f
        }

        function t(n, e) {
            if (e >= u.length) return n;
            var r = [],
                i = o[e++];
            return n.forEach(function(n, i) {
                r.push({
                    key: n,
                    values: t(i, e)
                })
            }), i ? r.sort(function(n, t) {
                return i(n.key, t.key)
            }) : r
        }
        var e, r, i = {},
            u = [],
            o = [];
        return i.map = function(t, e) {
            return n(e, t, 0)
        }, i.entries = function(e) {
            return t(n(ao.map, e, 0), 0)
        }, i.key = function(n) {
            return u.push(n), i
        }, i.sortKeys = function(n) {
            return o[u.length - 1] = n, i
        }, i.sortValues = function(n) {
            return e = n, i
        }, i.rollup = function(n) {
            return r = n, i
        }, i
    }, ao.set = function(n) {
        var t = new y;
        if (n)
            for (var e = 0, r = n.length; r > e; ++e) t.add(n[e]);
        return t
    }, l(y, {
        has: h,
        add: function(n) {
            return this._[f(n += "")] = !0, n
        },
        remove: p,
        values: g,
        size: v,
        empty: d,
        forEach: function(n) {
            for (var t in this._) n.call(this, s(t))
        }
    }), ao.behavior = {}, ao.rebind = function(n, t) {
        for (var e, r = 1, i = arguments.length; ++r < i;) n[e = arguments[r]] = M(n, t, t[e]);
        return n
    };
    var wo = ["webkit", "ms", "moz", "Moz", "o", "O"];
    ao.dispatch = function() {
        for (var n = new _, t = -1, e = arguments.length; ++t < e;) n[arguments[t]] = w(n);
        return n
    }, _.prototype.on = function(n, t) {
        var e = n.indexOf("."),
            r = "";
        if (e >= 0 && (r = n.slice(e + 1), n = n.slice(0, e)), n) return arguments.length < 2 ? this[n].on(r) : this[n].on(r, t);
        if (2 === arguments.length) {
            if (null == t)
                for (n in this) this.hasOwnProperty(n) && this[n].on(r, null);
            return this
        }
    }, ao.event = null, ao.requote = function(n) {
        return n.replace(So, "\\$&")
    };
    var So = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,
        ko = {}.__proto__ ? function(n, t) {
            n.__proto__ = t
        } : function(n, t) {
            for (var e in t) n[e] = t[e]
        },
        No = function(n, t) {
            return t.querySelector(n)
        },
        Eo = function(n, t) {
            return t.querySelectorAll(n)
        },
        Ao = function(n, t) {
            var e = n.matches || n[x(n, "matchesSelector")];
            return (Ao = function(n, t) {
                return e.call(n, t)
            })(n, t)
        };
    "function" == typeof Sizzle && (No = function(n, t) {
        return Sizzle(n, t)[0] || null
    }, Eo = Sizzle, Ao = Sizzle.matchesSelector), ao.selection = function() {
        return ao.select(fo.documentElement)
    };
    var Co = ao.selection.prototype = [];
    Co.select = function(n) {
        var t, e, r, i, u = [];
        n = A(n);
        for (var o = -1, a = this.length; ++o < a;) {
            u.push(t = []), t.parentNode = (r = this[o]).parentNode;
            for (var l = -1, c = r.length; ++l < c;)(i = r[l]) ? (t.push(e = n.call(i, i.__data__, l, o)), e && "__data__" in i && (e.__data__ = i.__data__)) : t.push(null)
        }
        return E(u)
    }, Co.selectAll = function(n) {
        var t, e, r = [];
        n = C(n);
        for (var i = -1, u = this.length; ++i < u;)
            for (var o = this[i], a = -1, l = o.length; ++a < l;)(e = o[a]) && (r.push(t = co(n.call(e, e.__data__, a, i))), t.parentNode = e);
        return E(r)
    };
    var zo = "http://www.w3.org/1999/xhtml",
        Lo = {
            svg: "http://www.w3.org/2000/svg",
            xhtml: zo,
            xlink: "http://www.w3.org/1999/xlink",
            xml: "http://www.w3.org/XML/1998/namespace",
            xmlns: "http://www.w3.org/2000/xmlns/"
        };
    ao.ns = {
        prefix: Lo,
        qualify: function(n) {
            var t = n.indexOf(":"),
                e = n;
            return t >= 0 && "xmlns" !== (e = n.slice(0, t)) && (n = n.slice(t + 1)), Lo.hasOwnProperty(e) ? {
                space: Lo[e],
                local: n
            } : n
        }
    }, Co.attr = function(n, t) {
        if (arguments.length < 2) {
            if ("string" == typeof n) {
                var e = this.node();
                return n = ao.ns.qualify(n), n.local ? e.getAttributeNS(n.space, n.local) : e.getAttribute(n)
            }
            for (t in n) this.each(z(t, n[t]));
            return this
        }
        return this.each(z(n, t))
    }, Co.classed = function(n, t) {
        if (arguments.length < 2) {
            if ("string" == typeof n) {
                var e = this.node(),
                    r = (n = T(n)).length,
                    i = -1;
                if (t = e.classList) {
                    for (; ++i < r;)
                        if (!t.contains(n[i])) return !1
                } else
                    for (t = e.getAttribute("class"); ++i < r;)
                        if (!q(n[i]).test(t)) return !1; return !0
            }
            for (t in n) this.each(R(t, n[t]));
            return this
        }
        return this.each(R(n, t))
    }, Co.style = function(n, e, r) {
        var i = arguments.length;
        if (3 > i) {
            if ("string" != typeof n) {
                2 > i && (e = "");
                for (r in n) this.each(P(r, n[r], e));
                return this
            }
            if (2 > i) {
                var u = this.node();
                return t(u).getComputedStyle(u, null).getPropertyValue(n)
            }
            r = ""
        }
        return this.each(P(n, e, r))
    }, Co.property = function(n, t) {
        if (arguments.length < 2) {
            if ("string" == typeof n) return this.node()[n];
            for (t in n) this.each(U(t, n[t]));
            return this
        }
        return this.each(U(n, t))
    }, Co.text = function(n) {
        return arguments.length ? this.each("function" == typeof n ? function() {
            var t = n.apply(this, arguments);
            this.textContent = null == t ? "" : t
        } : null == n ? function() {
            this.textContent = ""
        } : function() {
            this.textContent = n
        }) : this.node().textContent
    }, Co.html = function(n) {
        return arguments.length ? this.each("function" == typeof n ? function() {
            var t = n.apply(this, arguments);
            this.innerHTML = null == t ? "" : t
        } : null == n ? function() {
            this.innerHTML = ""
        } : function() {
            this.innerHTML = n
        }) : this.node().innerHTML
    }, Co.append = function(n) {
        return n = j(n), this.select(function() {
            return this.appendChild(n.apply(this, arguments))
        })
    }, Co.insert = function(n, t) {
        return n = j(n), t = A(t), this.select(function() {
            return this.insertBefore(n.apply(this, arguments), t.apply(this, arguments) || null)
        })
    }, Co.remove = function() {
        return this.each(F)
    }, Co.data = function(n, t) {
        function e(n, e) {
            var r, i, u, o = n.length,
                s = e.length,
                h = Math.min(o, s),
                p = new Array(s),
                g = new Array(s),
                v = new Array(o);
            if (t) {
                var d, y = new c,
                    m = new Array(o);
                for (r = -1; ++r < o;)(i = n[r]) && (y.has(d = t.call(i, i.__data__, r)) ? v[r] = i : y.set(d, i), m[r] = d);
                for (r = -1; ++r < s;)(i = y.get(d = t.call(e, u = e[r], r))) ? i !== !0 && (p[r] = i, i.__data__ = u) : g[r] = H(u), y.set(d, !0);
                for (r = -1; ++r < o;) r in m && y.get(m[r]) !== !0 && (v[r] = n[r])
            } else {
                for (r = -1; ++r < h;) i = n[r], u = e[r], i ? (i.__data__ = u, p[r] = i) : g[r] = H(u);
                for (; s > r; ++r) g[r] = H(e[r]);
                for (; o > r; ++r) v[r] = n[r]
            }
            g.update = p, g.parentNode = p.parentNode = v.parentNode = n.parentNode, a.push(g), l.push(p), f.push(v)
        }
        var r, i, u = -1,
            o = this.length;
        if (!arguments.length) {
            for (n = new Array(o = (r = this[0]).length); ++u < o;)(i = r[u]) && (n[u] = i.__data__);
            return n
        }
        var a = Z([]),
            l = E([]),
            f = E([]);
        if ("function" == typeof n)
            for (; ++u < o;) e(r = this[u], n.call(r, r.parentNode.__data__, u));
        else
            for (; ++u < o;) e(r = this[u], n);
        return l.enter = function() {
            return a
        }, l.exit = function() {
            return f
        }, l
    }, Co.datum = function(n) {
        return arguments.length ? this.property("__data__", n) : this.property("__data__")
    }, Co.filter = function(n) {
        var t, e, r, i = [];
        "function" != typeof n && (n = O(n));
        for (var u = 0, o = this.length; o > u; u++) {
            i.push(t = []), t.parentNode = (e = this[u]).parentNode;
            for (var a = 0, l = e.length; l > a; a++)(r = e[a]) && n.call(r, r.__data__, a, u) && t.push(r)
        }
        return E(i)
    }, Co.order = function() {
        for (var n = -1, t = this.length; ++n < t;)
            for (var e, r = this[n], i = r.length - 1, u = r[i]; --i >= 0;)(e = r[i]) && (u && u !== e.nextSibling && u.parentNode.insertBefore(e, u), u = e);
        return this
    }, Co.sort = function(n) {
        n = I.apply(this, arguments);
        for (var t = -1, e = this.length; ++t < e;) this[t].sort(n);
        return this.order()
    }, Co.each = function(n) {
        return Y(this, function(t, e, r) {
            n.call(t, t.__data__, e, r)
        })
    }, Co.call = function(n) {
        var t = co(arguments);
        return n.apply(t[0] = this, t), this
    }, Co.empty = function() {
        return !this.node()
    }, Co.node = function() {
        for (var n = 0, t = this.length; t > n; n++)
            for (var e = this[n], r = 0, i = e.length; i > r; r++) {
                var u = e[r];
                if (u) return u
            }
        return null
    }, Co.size = function() {
        var n = 0;
        return Y(this, function() {
            ++n
        }), n
    };
    var qo = [];
    ao.selection.enter = Z, ao.selection.enter.prototype = qo, qo.append = Co.append, qo.empty = Co.empty, qo.node = Co.node, qo.call = Co.call, qo.size = Co.size, qo.select = function(n) {
        for (var t, e, r, i, u, o = [], a = -1, l = this.length; ++a < l;) {
            r = (i = this[a]).update, o.push(t = []), t.parentNode = i.parentNode;
            for (var c = -1, f = i.length; ++c < f;)(u = i[c]) ? (t.push(r[c] = e = n.call(i.parentNode, u.__data__, c, a)), e.__data__ = u.__data__) : t.push(null)
        }
        return E(o)
    }, qo.insert = function(n, t) {
        return arguments.length < 2 && (t = V(this)), Co.insert.call(this, n, t)
    }, ao.select = function(t) {
        var e;
        return "string" == typeof t ? (e = [No(t, fo)], e.parentNode = fo.documentElement) : (e = [t], e.parentNode = n(t)), E([e])
    }, ao.selectAll = function(n) {
        var t;
        return "string" == typeof n ? (t = co(Eo(n, fo)), t.parentNode = fo.documentElement) : (t = co(n), t.parentNode = null), E([t])
    }, Co.on = function(n, t, e) {
        var r = arguments.length;
        if (3 > r) {
            if ("string" != typeof n) {
                2 > r && (t = !1);
                for (e in n) this.each(X(e, n[e], t));
                return this
            }
            if (2 > r) return (r = this.node()["__on" + n]) && r._;
            e = !1
        }
        return this.each(X(n, t, e))
    };
    var To = ao.map({
        mouseenter: "mouseover",
        mouseleave: "mouseout"
    });
    fo && To.forEach(function(n) {
        "on" + n in fo && To.remove(n)
    });
    var Ro, Do = 0;
    ao.mouse = function(n) {
        return J(n, k())
    };
    var Po = this.navigator && /WebKit/.test(this.navigator.userAgent) ? -1 : 0;
    ao.touch = function(n, t, e) {
        if (arguments.length < 3 && (e = t, t = k().changedTouches), t)
            for (var r, i = 0, u = t.length; u > i; ++i)
                if ((r = t[i]).identifier === e) return J(n, r)
    }, ao.behavior.drag = function() {
        function n() {
            this.on("mousedown.drag", u).on("touchstart.drag", o)
        }

        function e(n, t, e, u, o) {
            return function() {
                function a() {
                    var n, e, r = t(h, v);
                    r && (n = r[0] - M[0], e = r[1] - M[1], g |= n | e, M = r, p({
                        type: "drag",
                        x: r[0] + c[0],
                        y: r[1] + c[1],
                        dx: n,
                        dy: e
                    }))
                }

                function l() {
                    t(h, v) && (y.on(u + d, null).on(o + d, null), m(g), p({
                        type: "dragend"
                    }))
                }
                var c, f = this,
                    s = ao.event.target.correspondingElement || ao.event.target,
                    h = f.parentNode,
                    p = r.of(f, arguments),
                    g = 0,
                    v = n(),
                    d = ".drag" + (null == v ? "" : "-" + v),
                    y = ao.select(e(s)).on(u + d, a).on(o + d, l),
                    m = W(s),
                    M = t(h, v);
                i ? (c = i.apply(f, arguments), c = [c.x - M[0], c.y - M[1]]) : c = [0, 0], p({
                    type: "dragstart"
                })
            }
        }
        var r = N(n, "drag", "dragstart", "dragend"),
            i = null,
            u = e(b, ao.mouse, t, "mousemove", "mouseup"),
            o = e(G, ao.touch, m, "touchmove", "touchend");
        return n.origin = function(t) {
            return arguments.length ? (i = t, n) : i
        }, ao.rebind(n, r, "on")
    }, ao.touches = function(n, t) {
        return arguments.length < 2 && (t = k().touches), t ? co(t).map(function(t) {
            var e = J(n, t);
            return e.identifier = t.identifier, e
        }) : []
    };
    var Uo = 1e-6,
        jo = Uo * Uo,
        Fo = Math.PI,
        Ho = 2 * Fo,
        Oo = Ho - Uo,
        Io = Fo / 2,
        Yo = Fo / 180,
        Zo = 180 / Fo,
        Vo = Math.SQRT2,
        Xo = 2,
        $o = 4;
    ao.interpolateZoom = function(n, t) {
        var e, r, i = n[0],
            u = n[1],
            o = n[2],
            a = t[0],
            l = t[1],
            c = t[2],
            f = a - i,
            s = l - u,
            h = f * f + s * s;
        if (jo > h) r = Math.log(c / o) / Vo, e = function(n) {
            return [i + n * f, u + n * s, o * Math.exp(Vo * n * r)]
        };
        else {
            var p = Math.sqrt(h),
                g = (c * c - o * o + $o * h) / (2 * o * Xo * p),
                v = (c * c - o * o - $o * h) / (2 * c * Xo * p),
                d = Math.log(Math.sqrt(g * g + 1) - g),
                y = Math.log(Math.sqrt(v * v + 1) - v);
            r = (y - d) / Vo, e = function(n) {
                var t = n * r,
                    e = rn(d),
                    a = o / (Xo * p) * (e * un(Vo * t + d) - en(d));
                return [i + a * f, u + a * s, o * e / rn(Vo * t + d)]
            }
        }
        return e.duration = 1e3 * r, e
    }, ao.behavior.zoom = function() {
        function n(n) {
            n.on(L, s).on(Wo + ".zoom", p).on("dblclick.zoom", g).on(R, h)
        }

        function e(n) {
            return [(n[0] - k.x) / k.k, (n[1] - k.y) / k.k]
        }

        function r(n) {
            return [n[0] * k.k + k.x, n[1] * k.k + k.y]
        }

        function i(n) {
            k.k = Math.max(A[0], Math.min(A[1], n))
        }

        function u(n, t) {
            t = r(t), k.x += n[0] - t[0], k.y += n[1] - t[1]
        }

        function o(t, e, r, o) {
            t.__chart__ = {
                x: k.x,
                y: k.y,
                k: k.k
            }, i(Math.pow(2, o)), u(d = e, r), t = ao.select(t), C > 0 && (t = t.transition().duration(C)), t.call(n.event)
        }

        function a() {
            b && b.domain(x.range().map(function(n) {
                return (n - k.x) / k.k
            }).map(x.invert)), w && w.domain(_.range().map(function(n) {
                return (n - k.y) / k.k
            }).map(_.invert))
        }

        function l(n) {
            z++ || n({
                type: "zoomstart"
            })
        }

        function c(n) {
            a(), n({
                type: "zoom",
                scale: k.k,
                translate: [k.x, k.y]
            })
        }

        function f(n) {
            --z || (n({
                type: "zoomend"
            }), d = null)
        }

        function s() {
            function n() {
                a = 1, u(ao.mouse(i), h), c(o)
            }

            function r() {
                s.on(q, null).on(T, null), p(a), f(o)
            }
            var i = this,
                o = D.of(i, arguments),
                a = 0,
                s = ao.select(t(i)).on(q, n).on(T, r),
                h = e(ao.mouse(i)),
                p = W(i);
            Il.call(i), l(o)
        }

        function h() {
            function n() {
                var n = ao.touches(g);
                return p = k.k, n.forEach(function(n) {
                    n.identifier in d && (d[n.identifier] = e(n))
                }), n
            }

            function t() {
                var t = ao.event.target;
                ao.select(t).on(x, r).on(b, a), _.push(t);
                for (var e = ao.event.changedTouches, i = 0, u = e.length; u > i; ++i) d[e[i].identifier] = null;
                var l = n(),
                    c = Date.now();
                if (1 === l.length) {
                    if (500 > c - M) {
                        var f = l[0];
                        o(g, f, d[f.identifier], Math.floor(Math.log(k.k) / Math.LN2) + 1), S()
                    }
                    M = c
                } else if (l.length > 1) {
                    var f = l[0],
                        s = l[1],
                        h = f[0] - s[0],
                        p = f[1] - s[1];
                    y = h * h + p * p
                }
            }

            function r() {
                var n, t, e, r, o = ao.touches(g);
                Il.call(g);
                for (var a = 0, l = o.length; l > a; ++a, r = null)
                    if (e = o[a], r = d[e.identifier]) {
                        if (t) break;
                        n = e, t = r
                    }
                if (r) {
                    var f = (f = e[0] - n[0]) * f + (f = e[1] - n[1]) * f,
                        s = y && Math.sqrt(f / y);
                    n = [(n[0] + e[0]) / 2, (n[1] + e[1]) / 2], t = [(t[0] + r[0]) / 2, (t[1] + r[1]) / 2], i(s * p)
                }
                M = null, u(n, t), c(v)
            }

            function a() {
                if (ao.event.touches.length) {
                    for (var t = ao.event.changedTouches, e = 0, r = t.length; r > e; ++e) delete d[t[e].identifier];
                    for (var i in d) return void n()
                }
                ao.selectAll(_).on(m, null), w.on(L, s).on(R, h), N(), f(v)
            }
            var p, g = this,
                v = D.of(g, arguments),
                d = {},
                y = 0,
                m = ".zoom-" + ao.event.changedTouches[0].identifier,
                x = "touchmove" + m,
                b = "touchend" + m,
                _ = [],
                w = ao.select(g),
                N = W(g);
            t(), l(v), w.on(L, null).on(R, t)
        }

        function p() {
            var n = D.of(this, arguments);
            m ? clearTimeout(m) : (Il.call(this), v = e(d = y || ao.mouse(this)), l(n)), m = setTimeout(function() {
                m = null, f(n)
            }, 50), S(), i(Math.pow(2, .002 * Bo()) * k.k), u(d, v), c(n)
        }

        function g() {
            var n = ao.mouse(this),
                t = Math.log(k.k) / Math.LN2;
            o(this, n, e(n), ao.event.shiftKey ? Math.ceil(t) - 1 : Math.floor(t) + 1)
        }
        var v, d, y, m, M, x, b, _, w, k = {
                x: 0,
                y: 0,
                k: 1
            },
            E = [960, 500],
            A = Jo,
            C = 250,
            z = 0,
            L = "mousedown.zoom",
            q = "mousemove.zoom",
            T = "mouseup.zoom",
            R = "touchstart.zoom",
            D = N(n, "zoomstart", "zoom", "zoomend");
        return Wo || (Wo = "onwheel" in fo ? (Bo = function() {
            return -ao.event.deltaY * (ao.event.deltaMode ? 120 : 1)
        }, "wheel") : "onmousewheel" in fo ? (Bo = function() {
            return ao.event.wheelDelta
        }, "mousewheel") : (Bo = function() {
            return -ao.event.detail
        }, "MozMousePixelScroll")), n.event = function(n) {
            n.each(function() {
                var n = D.of(this, arguments),
                    t = k;
                Hl ? ao.select(this).transition().each("start.zoom", function() {
                    k = this.__chart__ || {
                        x: 0,
                        y: 0,
                        k: 1
                    }, l(n)
                }).tween("zoom:zoom", function() {
                    var e = E[0],
                        r = E[1],
                        i = d ? d[0] : e / 2,
                        u = d ? d[1] : r / 2,
                        o = ao.interpolateZoom([(i - k.x) / k.k, (u - k.y) / k.k, e / k.k], [(i - t.x) / t.k, (u - t.y) / t.k, e / t.k]);
                    return function(t) {
                        var r = o(t),
                            a = e / r[2];
                        this.__chart__ = k = {
                            x: i - r[0] * a,
                            y: u - r[1] * a,
                            k: a
                        }, c(n)
                    }
                }).each("interrupt.zoom", function() {
                    f(n)
                }).each("end.zoom", function() {
                    f(n)
                }) : (this.__chart__ = k, l(n), c(n), f(n))
            })
        }, n.translate = function(t) {
            return arguments.length ? (k = {
                x: +t[0],
                y: +t[1],
                k: k.k
            }, a(), n) : [k.x, k.y]
        }, n.scale = function(t) {
            return arguments.length ? (k = {
                x: k.x,
                y: k.y,
                k: null
            }, i(+t), a(), n) : k.k
        }, n.scaleExtent = function(t) {
            return arguments.length ? (A = null == t ? Jo : [+t[0], +t[1]], n) : A
        }, n.center = function(t) {
            return arguments.length ? (y = t && [+t[0], +t[1]], n) : y
        }, n.size = function(t) {
            return arguments.length ? (E = t && [+t[0], +t[1]], n) : E
        }, n.duration = function(t) {
            return arguments.length ? (C = +t, n) : C
        }, n.x = function(t) {
            return arguments.length ? (b = t, x = t.copy(), k = {
                x: 0,
                y: 0,
                k: 1
            }, n) : b
        }, n.y = function(t) {
            return arguments.length ? (w = t, _ = t.copy(), k = {
                x: 0,
                y: 0,
                k: 1
            }, n) : w
        }, ao.rebind(n, D, "on")
    };
    var Bo, Wo, Jo = [0, 1 / 0];
    ao.color = an, an.prototype.toString = function() {
        return this.rgb() + ""
    }, ao.hsl = ln;
    var Go = ln.prototype = new an;
    Go.brighter = function(n) {
        return n = Math.pow(.7, arguments.length ? n : 1), new ln(this.h, this.s, this.l / n)
    }, Go.darker = function(n) {
        return n = Math.pow(.7, arguments.length ? n : 1), new ln(this.h, this.s, n * this.l)
    }, Go.rgb = function() {
        return cn(this.h, this.s, this.l)
    }, ao.hcl = fn;
    var Ko = fn.prototype = new an;
    Ko.brighter = function(n) {
        return new fn(this.h, this.c, Math.min(100, this.l + Qo * (arguments.length ? n : 1)))
    }, Ko.darker = function(n) {
        return new fn(this.h, this.c, Math.max(0, this.l - Qo * (arguments.length ? n : 1)))
    }, Ko.rgb = function() {
        return sn(this.h, this.c, this.l).rgb()
    }, ao.lab = hn;
    var Qo = 18,
        na = .95047,
        ta = 1,
        ea = 1.08883,
        ra = hn.prototype = new an;
    ra.brighter = function(n) {
        return new hn(Math.min(100, this.l + Qo * (arguments.length ? n : 1)), this.a, this.b)
    }, ra.darker = function(n) {
        return new hn(Math.max(0, this.l - Qo * (arguments.length ? n : 1)), this.a, this.b)
    }, ra.rgb = function() {
        return pn(this.l, this.a, this.b)
    }, ao.rgb = mn;
    var ia = mn.prototype = new an;
    ia.brighter = function(n) {
        n = Math.pow(.7, arguments.length ? n : 1);
        var t = this.r,
            e = this.g,
            r = this.b,
            i = 30;
        return t || e || r ? (t && i > t && (t = i), e && i > e && (e = i), r && i > r && (r = i), new mn(Math.min(255, t / n), Math.min(255, e / n), Math.min(255, r / n))) : new mn(i, i, i)
    }, ia.darker = function(n) {
        return n = Math.pow(.7, arguments.length ? n : 1), new mn(n * this.r, n * this.g, n * this.b)
    }, ia.hsl = function() {
        return wn(this.r, this.g, this.b)
    }, ia.toString = function() {
        return "#" + bn(this.r) + bn(this.g) + bn(this.b)
    };
    var ua = ao.map({
        aliceblue: 15792383,
        antiquewhite: 16444375,
        aqua: 65535,
        aquamarine: 8388564,
        azure: 15794175,
        beige: 16119260,
        bisque: 16770244,
        black: 0,
        blanchedalmond: 16772045,
        blue: 255,
        blueviolet: 9055202,
        brown: 10824234,
        burlywood: 14596231,
        cadetblue: 6266528,
        chartreuse: 8388352,
        chocolate: 13789470,
        coral: 16744272,
        cornflowerblue: 6591981,
        cornsilk: 16775388,
        crimson: 14423100,
        cyan: 65535,
        darkblue: 139,
        darkcyan: 35723,
        darkgoldenrod: 12092939,
        darkgray: 11119017,
        darkgreen: 25600,
        darkgrey: 11119017,
        darkkhaki: 12433259,
        darkmagenta: 9109643,
        darkolivegreen: 5597999,
        darkorange: 16747520,
        darkorchid: 10040012,
        darkred: 9109504,
        darksalmon: 15308410,
        darkseagreen: 9419919,
        darkslateblue: 4734347,
        darkslategray: 3100495,
        darkslategrey: 3100495,
        darkturquoise: 52945,
        darkviolet: 9699539,
        deeppink: 16716947,
        deepskyblue: 49151,
        dimgray: 6908265,
        dimgrey: 6908265,
        dodgerblue: 2003199,
        firebrick: 11674146,
        floralwhite: 16775920,
        forestgreen: 2263842,
        fuchsia: 16711935,
        gainsboro: 14474460,
        ghostwhite: 16316671,
        gold: 16766720,
        goldenrod: 14329120,
        gray: 8421504,
        green: 32768,
        greenyellow: 11403055,
        grey: 8421504,
        honeydew: 15794160,
        hotpink: 16738740,
        indianred: 13458524,
        indigo: 4915330,
        ivory: 16777200,
        khaki: 15787660,
        lavender: 15132410,
        lavenderblush: 16773365,
        lawngreen: 8190976,
        lemonchiffon: 16775885,
        lightblue: 11393254,
        lightcoral: 15761536,
        lightcyan: 14745599,
        lightgoldenrodyellow: 16448210,
        lightgray: 13882323,
        lightgreen: 9498256,
        lightgrey: 13882323,
        lightpink: 16758465,
        lightsalmon: 16752762,
        lightseagreen: 2142890,
        lightskyblue: 8900346,
        lightslategray: 7833753,
        lightslategrey: 7833753,
        lightsteelblue: 11584734,
        lightyellow: 16777184,
        lime: 65280,
        limegreen: 3329330,
        linen: 16445670,
        magenta: 16711935,
        maroon: 8388608,
        mediumaquamarine: 6737322,
        mediumblue: 205,
        mediumorchid: 12211667,
        mediumpurple: 9662683,
        mediumseagreen: 3978097,
        mediumslateblue: 8087790,
        mediumspringgreen: 64154,
        mediumturquoise: 4772300,
        mediumvioletred: 13047173,
        midnightblue: 1644912,
        mintcream: 16121850,
        mistyrose: 16770273,
        moccasin: 16770229,
        navajowhite: 16768685,
        navy: 128,
        oldlace: 16643558,
        olive: 8421376,
        olivedrab: 7048739,
        orange: 16753920,
        orangered: 16729344,
        orchid: 14315734,
        palegoldenrod: 15657130,
        palegreen: 10025880,
        paleturquoise: 11529966,
        palevioletred: 14381203,
        papayawhip: 16773077,
        peachpuff: 16767673,
        peru: 13468991,
        pink: 16761035,
        plum: 14524637,
        powderblue: 11591910,
        purple: 8388736,
        rebeccapurple: 6697881,
        red: 16711680,
        rosybrown: 12357519,
        royalblue: 4286945,
        saddlebrown: 9127187,
        salmon: 16416882,
        sandybrown: 16032864,
        seagreen: 3050327,
        seashell: 16774638,
        sienna: 10506797,
        silver: 12632256,
        skyblue: 8900331,
        slateblue: 6970061,
        slategray: 7372944,
        slategrey: 7372944,
        snow: 16775930,
        springgreen: 65407,
        steelblue: 4620980,
        tan: 13808780,
        teal: 32896,
        thistle: 14204888,
        tomato: 16737095,
        turquoise: 4251856,
        violet: 15631086,
        wheat: 16113331,
        white: 16777215,
        whitesmoke: 16119285,
        yellow: 16776960,
        yellowgreen: 10145074
    });
    ua.forEach(function(n, t) {
        ua.set(n, Mn(t))
    }), ao.functor = En, ao.xhr = An(m), ao.dsv = function(n, t) {
        function e(n, e, u) {
            arguments.length < 3 && (u = e, e = null);
            var o = Cn(n, t, null == e ? r : i(e), u);
            return o.row = function(n) {
                return arguments.length ? o.response(null == (e = n) ? r : i(n)) : e
            }, o
        }

        function r(n) {
            return e.parse(n.responseText)
        }

        function i(n) {
            return function(t) {
                return e.parse(t.responseText, n)
            }
        }

        function u(t) {
            return t.map(o).join(n)
        }

        function o(n) {
            return a.test(n) ? '"' + n.replace(/\"/g, '""') + '"' : n
        }
        var a = new RegExp('["' + n + "\n]"),
            l = n.charCodeAt(0);
        return e.parse = function(n, t) {
            var r;
            return e.parseRows(n, function(n, e) {
                if (r) return r(n, e - 1);
                var i = new Function("d", "return {" + n.map(function(n, t) {
                    return JSON.stringify(n) + ": d[" + t + "]"
                }).join(",") + "}");
                r = t ? function(n, e) {
                    return t(i(n), e)
                } : i
            })
        }, e.parseRows = function(n, t) {
            function e() {
                if (f >= c) return o;
                if (i) return i = !1, u;
                var t = f;
                if (34 === n.charCodeAt(t)) {
                    for (var e = t; e++ < c;)
                        if (34 === n.charCodeAt(e)) {
                            if (34 !== n.charCodeAt(e + 1)) break;
                            ++e
                        }
                    f = e + 2;
                    var r = n.charCodeAt(e + 1);
                    return 13 === r ? (i = !0, 10 === n.charCodeAt(e + 2) && ++f) : 10 === r && (i = !0), n.slice(t + 1, e).replace(/""/g, '"')
                }
                for (; c > f;) {
                    var r = n.charCodeAt(f++),
                        a = 1;
                    if (10 === r) i = !0;
                    else if (13 === r) i = !0, 10 === n.charCodeAt(f) && (++f, ++a);
                    else if (r !== l) continue;
                    return n.slice(t, f - a)
                }
                return n.slice(t)
            }
            for (var r, i, u = {}, o = {}, a = [], c = n.length, f = 0, s = 0;
                (r = e()) !== o;) {
                for (var h = []; r !== u && r !== o;) h.push(r), r = e();
                t && null == (h = t(h, s++)) || a.push(h)
            }
            return a
        }, e.format = function(t) {
            if (Array.isArray(t[0])) return e.formatRows(t);
            var r = new y,
                i = [];
            return t.forEach(function(n) {
                for (var t in n) r.has(t) || i.push(r.add(t))
            }), [i.map(o).join(n)].concat(t.map(function(t) {
                return i.map(function(n) {
                    return o(t[n])
                }).join(n)
            })).join("\n")
        }, e.formatRows = function(n) {
            return n.map(u).join("\n")
        }, e
    }, ao.csv = ao.dsv(",", "text/csv"), ao.tsv = ao.dsv("	", "text/tab-separated-values");
    var oa, aa, la, ca, fa = this[x(this, "requestAnimationFrame")] || function(n) {
        setTimeout(n, 17)
    };
    ao.timer = function() {
        qn.apply(this, arguments)
    }, ao.timer.flush = function() {
        Rn(), Dn()
    }, ao.round = function(n, t) {
        return t ? Math.round(n * (t = Math.pow(10, t))) / t : Math.round(n)
    };
    var sa = ["y", "z", "a", "f", "p", "n", "\xb5", "m", "", "k", "M", "G", "T", "P", "E", "Z", "Y"].map(Un);
    ao.formatPrefix = function(n, t) {
        var e = 0;
        return (n = +n) && (0 > n && (n *= -1), t && (n = ao.round(n, Pn(n, t))), e = 1 + Math.floor(1e-12 + Math.log(n) / Math.LN10), e = Math.max(-24, Math.min(24, 3 * Math.floor((e - 1) / 3)))), sa[8 + e / 3]
    };
    var ha = /(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,
        pa = ao.map({
            b: function(n) {
                return n.toString(2)
            },
            c: function(n) {
                return String.fromCharCode(n)
            },
            o: function(n) {
                return n.toString(8)
            },
            x: function(n) {
                return n.toString(16)
            },
            X: function(n) {
                return n.toString(16).toUpperCase()
            },
            g: function(n, t) {
                return n.toPrecision(t)
            },
            e: function(n, t) {
                return n.toExponential(t)
            },
            f: function(n, t) {
                return n.toFixed(t)
            },
            r: function(n, t) {
                return (n = ao.round(n, Pn(n, t))).toFixed(Math.max(0, Math.min(20, Pn(n * (1 + 1e-15), t))))
            }
        }),
        ga = ao.time = {},
        va = Date;
    Hn.prototype = {
        getDate: function() {
            return this._.getUTCDate()
        },
        getDay: function() {
            return this._.getUTCDay()
        },
        getFullYear: function() {
            return this._.getUTCFullYear()
        },
        getHours: function() {
            return this._.getUTCHours()
        },
        getMilliseconds: function() {
            return this._.getUTCMilliseconds()
        },
        getMinutes: function() {
            return this._.getUTCMinutes()
        },
        getMonth: function() {
            return this._.getUTCMonth()
        },
        getSeconds: function() {
            return this._.getUTCSeconds()
        },
        getTime: function() {
            return this._.getTime()
        },
        getTimezoneOffset: function() {
            return 0
        },
        valueOf: function() {
            return this._.valueOf()
        },
        setDate: function() {
            da.setUTCDate.apply(this._, arguments)
        },
        setDay: function() {
            da.setUTCDay.apply(this._, arguments)
        },
        setFullYear: function() {
            da.setUTCFullYear.apply(this._, arguments)
        },
        setHours: function() {
            da.setUTCHours.apply(this._, arguments)
        },
        setMilliseconds: function() {
            da.setUTCMilliseconds.apply(this._, arguments)
        },
        setMinutes: function() {
            da.setUTCMinutes.apply(this._, arguments)
        },
        setMonth: function() {
            da.setUTCMonth.apply(this._, arguments)
        },
        setSeconds: function() {
            da.setUTCSeconds.apply(this._, arguments)
        },
        setTime: function() {
            da.setTime.apply(this._, arguments)
        }
    };
    var da = Date.prototype;
    ga.year = On(function(n) {
        return n = ga.day(n), n.setMonth(0, 1), n
    }, function(n, t) {
        n.setFullYear(n.getFullYear() + t)
    }, function(n) {
        return n.getFullYear()
    }), ga.years = ga.year.range, ga.years.utc = ga.year.utc.range, ga.day = On(function(n) {
        var t = new va(2e3, 0);
        return t.setFullYear(n.getFullYear(), n.getMonth(), n.getDate()), t
    }, function(n, t) {
        n.setDate(n.getDate() + t)
    }, function(n) {
        return n.getDate() - 1
    }), ga.days = ga.day.range, ga.days.utc = ga.day.utc.range, ga.dayOfYear = function(n) {
        var t = ga.year(n);
        return Math.floor((n - t - 6e4 * (n.getTimezoneOffset() - t.getTimezoneOffset())) / 864e5)
    }, ["sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"].forEach(function(n, t) {
        t = 7 - t;
        var e = ga[n] = On(function(n) {
            return (n = ga.day(n)).setDate(n.getDate() - (n.getDay() + t) % 7), n
        }, function(n, t) {
            n.setDate(n.getDate() + 7 * Math.floor(t))
        }, function(n) {
            var e = ga.year(n).getDay();
            return Math.floor((ga.dayOfYear(n) + (e + t) % 7) / 7) - (e !== t)
        });
        ga[n + "s"] = e.range, ga[n + "s"].utc = e.utc.range, ga[n + "OfYear"] = function(n) {
            var e = ga.year(n).getDay();
            return Math.floor((ga.dayOfYear(n) + (e + t) % 7) / 7)
        }
    }), ga.week = ga.sunday, ga.weeks = ga.sunday.range, ga.weeks.utc = ga.sunday.utc.range, ga.weekOfYear = ga.sundayOfYear;
    var ya = {
            "-": "",
            _: " ",
            0: "0"
        },
        ma = /^\s*\d+/,
        Ma = /^%/;
    ao.locale = function(n) {
        return {
            numberFormat: jn(n),
            timeFormat: Yn(n)
        }
    };
    var xa = ao.locale({
        decimal: ".",
        thousands: ",",
        grouping: [3],
        currency: ["$", ""],
        dateTime: "%a %b %e %X %Y",
        date: "%m/%d/%Y",
        time: "%H:%M:%S",
        periods: ["AM", "PM"],
        days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
        shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
        months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
        shortMonths: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
    });
    ao.format = xa.numberFormat, ao.geo = {}, ft.prototype = {
        s: 0,
        t: 0,
        add: function(n) {
            st(n, this.t, ba), st(ba.s, this.s, this), this.s ? this.t += ba.t : this.s = ba.t
        },
        reset: function() {
            this.s = this.t = 0
        },
        valueOf: function() {
            return this.s
        }
    };
    var ba = new ft;
    ao.geo.stream = function(n, t) {
        n && _a.hasOwnProperty(n.type) ? _a[n.type](n, t) : ht(n, t)
    };
    var _a = {
            Feature: function(n, t) {
                ht(n.geometry, t)
            },
            FeatureCollection: function(n, t) {
                for (var e = n.features, r = -1, i = e.length; ++r < i;) ht(e[r].geometry, t)
            }
        },
        wa = {
            Sphere: function(n, t) {
                t.sphere()
            },
            Point: function(n, t) {
                n = n.coordinates, t.point(n[0], n[1], n[2])
            },
            MultiPoint: function(n, t) {
                for (var e = n.coordinates, r = -1, i = e.length; ++r < i;) n = e[r], t.point(n[0], n[1], n[2])
            },
            LineString: function(n, t) {
                pt(n.coordinates, t, 0)
            },
            MultiLineString: function(n, t) {
                for (var e = n.coordinates, r = -1, i = e.length; ++r < i;) pt(e[r], t, 0)
            },
            Polygon: function(n, t) {
                gt(n.coordinates, t)
            },
            MultiPolygon: function(n, t) {
                for (var e = n.coordinates, r = -1, i = e.length; ++r < i;) gt(e[r], t)
            },
            GeometryCollection: function(n, t) {
                for (var e = n.geometries, r = -1, i = e.length; ++r < i;) ht(e[r], t)
            }
        };
    ao.geo.area = function(n) {
        return Sa = 0, ao.geo.stream(n, Na), Sa
    };
    var Sa, ka = new ft,
        Na = {
            sphere: function() {
                Sa += 4 * Fo
            },
            point: b,
            lineStart: b,
            lineEnd: b,
            polygonStart: function() {
                ka.reset(), Na.lineStart = vt
            },
            polygonEnd: function() {
                var n = 2 * ka;
                Sa += 0 > n ? 4 * Fo + n : n, Na.lineStart = Na.lineEnd = Na.point = b
            }
        };
    ao.geo.bounds = function() {
        function n(n, t) {
            M.push(x = [f = n, h = n]), s > t && (s = t), t > p && (p = t)
        }

        function t(t, e) {
            var r = dt([t * Yo, e * Yo]);
            if (y) {
                var i = mt(y, r),
                    u = [i[1], -i[0], 0],
                    o = mt(u, i);
                bt(o), o = _t(o);
                var l = t - g,
                    c = l > 0 ? 1 : -1,
                    v = o[0] * Zo * c,
                    d = xo(l) > 180;
                if (d ^ (v > c * g && c * t > v)) {
                    var m = o[1] * Zo;
                    m > p && (p = m)
                } else if (v = (v + 360) % 360 - 180, d ^ (v > c * g && c * t > v)) {
                    var m = -o[1] * Zo;
                    s > m && (s = m)
                } else s > e && (s = e), e > p && (p = e);
                d ? g > t ? a(f, t) > a(f, h) && (h = t) : a(t, h) > a(f, h) && (f = t) : h >= f ? (f > t && (f = t), t > h && (h = t)) : t > g ? a(f, t) > a(f, h) && (h = t) : a(t, h) > a(f, h) && (f = t)
            } else n(t, e);
            y = r, g = t
        }

        function e() {
            b.point = t
        }

        function r() {
            x[0] = f, x[1] = h, b.point = n, y = null
        }

        function i(n, e) {
            if (y) {
                var r = n - g;
                m += xo(r) > 180 ? r + (r > 0 ? 360 : -360) : r
            } else v = n, d = e;
            Na.point(n, e), t(n, e)
        }

        function u() {
            Na.lineStart()
        }

        function o() {
            i(v, d), Na.lineEnd(), xo(m) > Uo && (f = -(h = 180)), x[0] = f, x[1] = h, y = null
        }

        function a(n, t) {
            return (t -= n) < 0 ? t + 360 : t
        }

        function l(n, t) {
            return n[0] - t[0]
        }

        function c(n, t) {
            return t[0] <= t[1] ? t[0] <= n && n <= t[1] : n < t[0] || t[1] < n
        }
        var f, s, h, p, g, v, d, y, m, M, x, b = {
            point: n,
            lineStart: e,
            lineEnd: r,
            polygonStart: function() {
                b.point = i, b.lineStart = u, b.lineEnd = o, m = 0, Na.polygonStart()
            },
            polygonEnd: function() {
                Na.polygonEnd(), b.point = n, b.lineStart = e, b.lineEnd = r, 0 > ka ? (f = -(h = 180), s = -(p = 90)) : m > Uo ? p = 90 : -Uo > m && (s = -90), x[0] = f, x[1] = h
            }
        };
        return function(n) {
            p = h = -(f = s = 1 / 0), M = [], ao.geo.stream(n, b);
            var t = M.length;
            if (t) {
                M.sort(l);
                for (var e, r = 1, i = M[0], u = [i]; t > r; ++r) e = M[r], c(e[0], i) || c(e[1], i) ? (a(i[0], e[1]) > a(i[0], i[1]) && (i[1] = e[1]), a(e[0], i[1]) > a(i[0], i[1]) && (i[0] = e[0])) : u.push(i = e);
                for (var o, e, g = -(1 / 0), t = u.length - 1, r = 0, i = u[t]; t >= r; i = e, ++r) e = u[r], (o = a(i[1], e[0])) > g && (g = o, f = e[0], h = i[1])
            }
            return M = x = null, f === 1 / 0 || s === 1 / 0 ? [
                [NaN, NaN],
                [NaN, NaN]
            ] : [
                [f, s],
                [h, p]
            ]
        }
    }(), ao.geo.centroid = function(n) {
        Ea = Aa = Ca = za = La = qa = Ta = Ra = Da = Pa = Ua = 0, ao.geo.stream(n, ja);
        var t = Da,
            e = Pa,
            r = Ua,
            i = t * t + e * e + r * r;
        return jo > i && (t = qa, e = Ta, r = Ra, Uo > Aa && (t = Ca, e = za, r = La), i = t * t + e * e + r * r, jo > i) ? [NaN, NaN] : [Math.atan2(e, t) * Zo, tn(r / Math.sqrt(i)) * Zo]
    };
    var Ea, Aa, Ca, za, La, qa, Ta, Ra, Da, Pa, Ua, ja = {
            sphere: b,
            point: St,
            lineStart: Nt,
            lineEnd: Et,
            polygonStart: function() {
                ja.lineStart = At
            },
            polygonEnd: function() {
                ja.lineStart = Nt
            }
        },
        Fa = Rt(zt, jt, Ht, [-Fo, -Fo / 2]),
        Ha = 1e9;
    ao.geo.clipExtent = function() {
        var n, t, e, r, i, u, o = {
            stream: function(n) {
                return i && (i.valid = !1), i = u(n), i.valid = !0, i
            },
            extent: function(a) {
                return arguments.length ? (u = Zt(n = +a[0][0], t = +a[0][1], e = +a[1][0], r = +a[1][1]), i && (i.valid = !1, i = null), o) : [
                    [n, t],
                    [e, r]
                ]
            }
        };
        return o.extent([
            [0, 0],
            [960, 500]
        ])
    }, (ao.geo.conicEqualArea = function() {
        return Vt(Xt)
    }).raw = Xt, ao.geo.albers = function() {
        return ao.geo.conicEqualArea().rotate([96, 0]).center([-.6, 38.7]).parallels([29.5, 45.5]).scale(1070)
    }, ao.geo.albersUsa = function() {
        function n(n) {
            var u = n[0],
                o = n[1];
            return t = null, e(u, o), t || (r(u, o), t) || i(u, o), t
        }
        var t, e, r, i, u = ao.geo.albers(),
            o = ao.geo.conicEqualArea().rotate([154, 0]).center([-2, 58.5]).parallels([55, 65]),
            a = ao.geo.conicEqualArea().rotate([157, 0]).center([-3, 19.9]).parallels([8, 18]),
            l = {
                point: function(n, e) {
                    t = [n, e]
                }
            };
        return n.invert = function(n) {
            var t = u.scale(),
                e = u.translate(),
                r = (n[0] - e[0]) / t,
                i = (n[1] - e[1]) / t;
            return (i >= .12 && .234 > i && r >= -.425 && -.214 > r ? o : i >= .166 && .234 > i && r >= -.214 && -.115 > r ? a : u).invert(n)
        }, n.stream = function(n) {
            var t = u.stream(n),
                e = o.stream(n),
                r = a.stream(n);
            return {
                point: function(n, i) {
                    t.point(n, i), e.point(n, i), r.point(n, i)
                },
                sphere: function() {
                    t.sphere(), e.sphere(), r.sphere()
                },
                lineStart: function() {
                    t.lineStart(), e.lineStart(), r.lineStart()
                },
                lineEnd: function() {
                    t.lineEnd(), e.lineEnd(), r.lineEnd()
                },
                polygonStart: function() {
                    t.polygonStart(), e.polygonStart(), r.polygonStart()
                },
                polygonEnd: function() {
                    t.polygonEnd(), e.polygonEnd(), r.polygonEnd()
                }
            }
        }, n.precision = function(t) {
            return arguments.length ? (u.precision(t), o.precision(t), a.precision(t), n) : u.precision()
        }, n.scale = function(t) {
            return arguments.length ? (u.scale(t), o.scale(.35 * t), a.scale(t), n.translate(u.translate())) : u.scale()
        }, n.translate = function(t) {
            if (!arguments.length) return u.translate();
            var c = u.scale(),
                f = +t[0],
                s = +t[1];
            return e = u.translate(t).clipExtent([
                [f - .455 * c, s - .238 * c],
                [f + .455 * c, s + .238 * c]
            ]).stream(l).point, r = o.translate([f - .307 * c, s + .201 * c]).clipExtent([
                [f - .425 * c + Uo, s + .12 * c + Uo],
                [f - .214 * c - Uo, s + .234 * c - Uo]
            ]).stream(l).point, i = a.translate([f - .205 * c, s + .212 * c]).clipExtent([
                [f - .214 * c + Uo, s + .166 * c + Uo],
                [f - .115 * c - Uo, s + .234 * c - Uo]
            ]).stream(l).point, n
        }, n.scale(1070)
    };
    var Oa, Ia, Ya, Za, Va, Xa, $a = {
            point: b,
            lineStart: b,
            lineEnd: b,
            polygonStart: function() {
                Ia = 0, $a.lineStart = $t
            },
            polygonEnd: function() {
                $a.lineStart = $a.lineEnd = $a.point = b, Oa += xo(Ia / 2)
            }
        },
        Ba = {
            point: Bt,
            lineStart: b,
            lineEnd: b,
            polygonStart: b,
            polygonEnd: b
        },
        Wa = {
            point: Gt,
            lineStart: Kt,
            lineEnd: Qt,
            polygonStart: function() {
                Wa.lineStart = ne
            },
            polygonEnd: function() {
                Wa.point = Gt, Wa.lineStart = Kt, Wa.lineEnd = Qt
            }
        };
    ao.geo.path = function() {
        function n(n) {
            return n && ("function" == typeof a && u.pointRadius(+a.apply(this, arguments)), o && o.valid || (o = i(u)), ao.geo.stream(n, o)), u.result()
        }

        function t() {
            return o = null, n
        }
        var e, r, i, u, o, a = 4.5;
        return n.area = function(n) {
            return Oa = 0, ao.geo.stream(n, i($a)), Oa
        }, n.centroid = function(n) {
            return Ca = za = La = qa = Ta = Ra = Da = Pa = Ua = 0, ao.geo.stream(n, i(Wa)), Ua ? [Da / Ua, Pa / Ua] : Ra ? [qa / Ra, Ta / Ra] : La ? [Ca / La, za / La] : [NaN, NaN]
        }, n.bounds = function(n) {
            return Va = Xa = -(Ya = Za = 1 / 0), ao.geo.stream(n, i(Ba)), [
                [Ya, Za],
                [Va, Xa]
            ]
        }, n.projection = function(n) {
            return arguments.length ? (i = (e = n) ? n.stream || re(n) : m, t()) : e
        }, n.context = function(n) {
            return arguments.length ? (u = null == (r = n) ? new Wt : new te(n), "function" != typeof a && u.pointRadius(a), t()) : r
        }, n.pointRadius = function(t) {
            return arguments.length ? (a = "function" == typeof t ? t : (u.pointRadius(+t), +t), n) : a
        }, n.projection(ao.geo.albersUsa()).context(null)
    }, ao.geo.transform = function(n) {
        return {
            stream: function(t) {
                var e = new ie(t);
                for (var r in n) e[r] = n[r];
                return e
            }
        }
    }, ie.prototype = {
        point: function(n, t) {
            this.stream.point(n, t)
        },
        sphere: function() {
            this.stream.sphere()
        },
        lineStart: function() {
            this.stream.lineStart()
        },
        lineEnd: function() {
            this.stream.lineEnd()
        },
        polygonStart: function() {
            this.stream.polygonStart()
        },
        polygonEnd: function() {
            this.stream.polygonEnd()
        }
    }, ao.geo.projection = oe, ao.geo.projectionMutator = ae, (ao.geo.equirectangular = function() {
        return oe(ce)
    }).raw = ce.invert = ce, ao.geo.rotation = function(n) {
        function t(t) {
            return t = n(t[0] * Yo, t[1] * Yo), t[0] *= Zo, t[1] *= Zo, t
        }
        return n = se(n[0] % 360 * Yo, n[1] * Yo, n.length > 2 ? n[2] * Yo : 0), t.invert = function(t) {
            return t = n.invert(t[0] * Yo, t[1] * Yo), t[0] *= Zo, t[1] *= Zo, t
        }, t
    }, fe.invert = ce, ao.geo.circle = function() {
        function n() {
            var n = "function" == typeof r ? r.apply(this, arguments) : r,
                t = se(-n[0] * Yo, -n[1] * Yo, 0).invert,
                i = [];
            return e(null, null, 1, {
                point: function(n, e) {
                    i.push(n = t(n, e)), n[0] *= Zo, n[1] *= Zo
                }
            }), {
                type: "Polygon",
                coordinates: [i]
            }
        }
        var t, e, r = [0, 0],
            i = 6;
        return n.origin = function(t) {
            return arguments.length ? (r = t, n) : r
        }, n.angle = function(r) {
            return arguments.length ? (e = ve((t = +r) * Yo, i * Yo), n) : t
        }, n.precision = function(r) {
            return arguments.length ? (e = ve(t * Yo, (i = +r) * Yo), n) : i
        }, n.angle(90)
    }, ao.geo.distance = function(n, t) {
        var e, r = (t[0] - n[0]) * Yo,
            i = n[1] * Yo,
            u = t[1] * Yo,
            o = Math.sin(r),
            a = Math.cos(r),
            l = Math.sin(i),
            c = Math.cos(i),
            f = Math.sin(u),
            s = Math.cos(u);
        return Math.atan2(Math.sqrt((e = s * o) * e + (e = c * f - l * s * a) * e), l * f + c * s * a)
    }, ao.geo.graticule = function() {
        function n() {
            return {
                type: "MultiLineString",
                coordinates: t()
            }
        }

        function t() {
            return ao.range(Math.ceil(u / d) * d, i, d).map(h).concat(ao.range(Math.ceil(c / y) * y, l, y).map(p)).concat(ao.range(Math.ceil(r / g) * g, e, g).filter(function(n) {
                return xo(n % d) > Uo
            }).map(f)).concat(ao.range(Math.ceil(a / v) * v, o, v).filter(function(n) {
                return xo(n % y) > Uo
            }).map(s))
        }
        var e, r, i, u, o, a, l, c, f, s, h, p, g = 10,
            v = g,
            d = 90,
            y = 360,
            m = 2.5;
        return n.lines = function() {
            return t().map(function(n) {
                return {
                    type: "LineString",
                    coordinates: n
                }
            })
        }, n.outline = function() {
            return {
                type: "Polygon",
                coordinates: [h(u).concat(p(l).slice(1), h(i).reverse().slice(1), p(c).reverse().slice(1))]
            }
        }, n.extent = function(t) {
            return arguments.length ? n.majorExtent(t).minorExtent(t) : n.minorExtent()
        }, n.majorExtent = function(t) {
            return arguments.length ? (u = +t[0][0], i = +t[1][0], c = +t[0][1], l = +t[1][1], u > i && (t = u, u = i, i = t), c > l && (t = c, c = l, l = t), n.precision(m)) : [
                [u, c],
                [i, l]
            ]
        }, n.minorExtent = function(t) {
            return arguments.length ? (r = +t[0][0], e = +t[1][0], a = +t[0][1], o = +t[1][1], r > e && (t = r, r = e, e = t), a > o && (t = a, a = o, o = t), n.precision(m)) : [
                [r, a],
                [e, o]
            ]
        }, n.step = function(t) {
            return arguments.length ? n.majorStep(t).minorStep(t) : n.minorStep()
        }, n.majorStep = function(t) {
            return arguments.length ? (d = +t[0], y = +t[1], n) : [d, y]
        }, n.minorStep = function(t) {
            return arguments.length ? (g = +t[0], v = +t[1], n) : [g, v]
        }, n.precision = function(t) {
            return arguments.length ? (m = +t, f = ye(a, o, 90), s = me(r, e, m), h = ye(c, l, 90), p = me(u, i, m), n) : m
        }, n.majorExtent([
            [-180, -90 + Uo],
            [180, 90 - Uo]
        ]).minorExtent([
            [-180, -80 - Uo],
            [180, 80 + Uo]
        ])
    }, ao.geo.greatArc = function() {
        function n() {
            return {
                type: "LineString",
                coordinates: [t || r.apply(this, arguments), e || i.apply(this, arguments)]
            }
        }
        var t, e, r = Me,
            i = xe;
        return n.distance = function() {
            return ao.geo.distance(t || r.apply(this, arguments), e || i.apply(this, arguments))
        }, n.source = function(e) {
            return arguments.length ? (r = e, t = "function" == typeof e ? null : e, n) : r
        }, n.target = function(t) {
            return arguments.length ? (i = t, e = "function" == typeof t ? null : t, n) : i
        }, n.precision = function() {
            return arguments.length ? n : 0
        }, n
    }, ao.geo.interpolate = function(n, t) {
        return be(n[0] * Yo, n[1] * Yo, t[0] * Yo, t[1] * Yo)
    }, ao.geo.length = function(n) {
        return Ja = 0, ao.geo.stream(n, Ga), Ja
    };
    var Ja, Ga = {
            sphere: b,
            point: b,
            lineStart: _e,
            lineEnd: b,
            polygonStart: b,
            polygonEnd: b
        },
        Ka = we(function(n) {
            return Math.sqrt(2 / (1 + n))
        }, function(n) {
            return 2 * Math.asin(n / 2)
        });
    (ao.geo.azimuthalEqualArea = function() {
        return oe(Ka)
    }).raw = Ka;
    var Qa = we(function(n) {
        var t = Math.acos(n);
        return t && t / Math.sin(t)
    }, m);
    (ao.geo.azimuthalEquidistant = function() {
        return oe(Qa)
    }).raw = Qa, (ao.geo.conicConformal = function() {
        return Vt(Se)
    }).raw = Se, (ao.geo.conicEquidistant = function() {
        return Vt(ke)
    }).raw = ke;
    var nl = we(function(n) {
        return 1 / n
    }, Math.atan);
    (ao.geo.gnomonic = function() {
        return oe(nl)
    }).raw = nl, Ne.invert = function(n, t) {
        return [n, 2 * Math.atan(Math.exp(t)) - Io]
    }, (ao.geo.mercator = function() {
        return Ee(Ne)
    }).raw = Ne;
    var tl = we(function() {
        return 1
    }, Math.asin);
    (ao.geo.orthographic = function() {
        return oe(tl)
    }).raw = tl;
    var el = we(function(n) {
        return 1 / (1 + n)
    }, function(n) {
        return 2 * Math.atan(n)
    });
    (ao.geo.stereographic = function() {
        return oe(el)
    }).raw = el, Ae.invert = function(n, t) {
        return [-t, 2 * Math.atan(Math.exp(n)) - Io]
    }, (ao.geo.transverseMercator = function() {
        var n = Ee(Ae),
            t = n.center,
            e = n.rotate;
        return n.center = function(n) {
            return n ? t([-n[1], n[0]]) : (n = t(), [n[1], -n[0]])
        }, n.rotate = function(n) {
            return n ? e([n[0], n[1], n.length > 2 ? n[2] + 90 : 90]) : (n = e(), [n[0], n[1], n[2] - 90])
        }, e([0, 0, 90])
    }).raw = Ae, ao.geom = {}, ao.geom.hull = function(n) {
        function t(n) {
            if (n.length < 3) return [];
            var t, i = En(e),
                u = En(r),
                o = n.length,
                a = [],
                l = [];
            for (t = 0; o > t; t++) a.push([+i.call(this, n[t], t), +u.call(this, n[t], t), t]);
            for (a.sort(qe), t = 0; o > t; t++) l.push([a[t][0], -a[t][1]]);
            var c = Le(a),
                f = Le(l),
                s = f[0] === c[0],
                h = f[f.length - 1] === c[c.length - 1],
                p = [];
            for (t = c.length - 1; t >= 0; --t) p.push(n[a[c[t]][2]]);
            for (t = +s; t < f.length - h; ++t) p.push(n[a[f[t]][2]]);
            return p
        }
        var e = Ce,
            r = ze;
        return arguments.length ? t(n) : (t.x = function(n) {
            return arguments.length ? (e = n, t) : e
        }, t.y = function(n) {
            return arguments.length ? (r = n, t) : r
        }, t)
    }, ao.geom.polygon = function(n) {
        return ko(n, rl), n
    };
    var rl = ao.geom.polygon.prototype = [];
    rl.area = function() {
        for (var n, t = -1, e = this.length, r = this[e - 1], i = 0; ++t < e;) n = r, r = this[t], i += n[1] * r[0] - n[0] * r[1];
        return .5 * i
    }, rl.centroid = function(n) {
        var t, e, r = -1,
            i = this.length,
            u = 0,
            o = 0,
            a = this[i - 1];
        for (arguments.length || (n = -1 / (6 * this.area())); ++r < i;) t = a, a = this[r], e = t[0] * a[1] - a[0] * t[1], u += (t[0] + a[0]) * e, o += (t[1] + a[1]) * e;
        return [u * n, o * n]
    }, rl.clip = function(n) {
        for (var t, e, r, i, u, o, a = De(n), l = -1, c = this.length - De(this), f = this[c - 1]; ++l < c;) {
            for (t = n.slice(), n.length = 0, i = this[l], u = t[(r = t.length - a) - 1], e = -1; ++e < r;) o = t[e], Te(o, f, i) ? (Te(u, f, i) || n.push(Re(u, o, f, i)), n.push(o)) : Te(u, f, i) && n.push(Re(u, o, f, i)), u = o;
            a && n.push(n[0]), f = i
        }
        return n
    };
    var il, ul, ol, al, ll, cl = [],
        fl = [];
    Ye.prototype.prepare = function() {
        for (var n, t = this.edges, e = t.length; e--;) n = t[e].edge, n.b && n.a || t.splice(e, 1);
        return t.sort(Ve), t.length
    }, tr.prototype = {
        start: function() {
            return this.edge.l === this.site ? this.edge.a : this.edge.b
        },
        end: function() {
            return this.edge.l === this.site ? this.edge.b : this.edge.a
        }
    }, er.prototype = {
        insert: function(n, t) {
            var e, r, i;
            if (n) {
                if (t.P = n, t.N = n.N, n.N && (n.N.P = t), n.N = t, n.R) {
                    for (n = n.R; n.L;) n = n.L;
                    n.L = t
                } else n.R = t;
                e = n
            } else this._ ? (n = or(this._), t.P = null, t.N = n, n.P = n.L = t, e = n) : (t.P = t.N = null, this._ = t, e = null);
            for (t.L = t.R = null, t.U = e, t.C = !0, n = t; e && e.C;) r = e.U, e === r.L ? (i = r.R, i && i.C ? (e.C = i.C = !1, r.C = !0, n = r) : (n === e.R && (ir(this, e), n = e, e = n.U), e.C = !1, r.C = !0, ur(this, r))) : (i = r.L, i && i.C ? (e.C = i.C = !1, r.C = !0, n = r) : (n === e.L && (ur(this, e), n = e, e = n.U), e.C = !1, r.C = !0, ir(this, r))), e = n.U;
            this._.C = !1
        },
        remove: function(n) {
            n.N && (n.N.P = n.P), n.P && (n.P.N = n.N), n.N = n.P = null;
            var t, e, r, i = n.U,
                u = n.L,
                o = n.R;
            if (e = u ? o ? or(o) : u : o, i ? i.L === n ? i.L = e : i.R = e : this._ = e, u && o ? (r = e.C, e.C = n.C, e.L = u, u.U = e, e !== o ? (i = e.U, e.U = n.U, n = e.R, i.L = n, e.R = o, o.U = e) : (e.U = i, i = e, n = e.R)) : (r = n.C, n = e), n && (n.U = i), !r) {
                if (n && n.C) return void(n.C = !1);
                do {
                    if (n === this._) break;
                    if (n === i.L) {
                        if (t = i.R, t.C && (t.C = !1, i.C = !0, ir(this, i), t = i.R), t.L && t.L.C || t.R && t.R.C) {
                            t.R && t.R.C || (t.L.C = !1, t.C = !0, ur(this, t), t = i.R), t.C = i.C, i.C = t.R.C = !1, ir(this, i), n = this._;
                            break
                        }
                    } else if (t = i.L, t.C && (t.C = !1, i.C = !0, ur(this, i), t = i.L), t.L && t.L.C || t.R && t.R.C) {
                        t.L && t.L.C || (t.R.C = !1, t.C = !0, ir(this, t), t = i.L), t.C = i.C, i.C = t.L.C = !1, ur(this, i), n = this._;
                        break
                    }
                    t.C = !0, n = i, i = i.U
                } while (!n.C);
                n && (n.C = !1)
            }
        }
    }, ao.geom.voronoi = function(n) {
        function t(n) {
            var t = new Array(n.length),
                r = a[0][0],
                i = a[0][1],
                u = a[1][0],
                o = a[1][1];
            return ar(e(n), a).cells.forEach(function(e, a) {
                var l = e.edges,
                    c = e.site,
                    f = t[a] = l.length ? l.map(function(n) {
                        var t = n.start();
                        return [t.x, t.y]
                    }) : c.x >= r && c.x <= u && c.y >= i && c.y <= o ? [
                        [r, o],
                        [u, o],
                        [u, i],
                        [r, i]
                    ] : [];
                f.point = n[a]
            }), t
        }

        function e(n) {
            return n.map(function(n, t) {
                return {
                    x: Math.round(u(n, t) / Uo) * Uo,
                    y: Math.round(o(n, t) / Uo) * Uo,
                    i: t
                }
            })
        }
        var r = Ce,
            i = ze,
            u = r,
            o = i,
            a = sl;
        return n ? t(n) : (t.links = function(n) {
            return ar(e(n)).edges.filter(function(n) {
                return n.l && n.r
            }).map(function(t) {
                return {
                    source: n[t.l.i],
                    target: n[t.r.i]
                }
            })
        }, t.triangles = function(n) {
            var t = [];
            return ar(e(n)).cells.forEach(function(e, r) {
                for (var i, u, o = e.site, a = e.edges.sort(Ve), l = -1, c = a.length, f = a[c - 1].edge, s = f.l === o ? f.r : f.l; ++l < c;) i = f, u = s, f = a[l].edge, s = f.l === o ? f.r : f.l, r < u.i && r < s.i && cr(o, u, s) < 0 && t.push([n[r], n[u.i], n[s.i]])
            }), t
        }, t.x = function(n) {
            return arguments.length ? (u = En(r = n), t) : r
        }, t.y = function(n) {
            return arguments.length ? (o = En(i = n), t) : i
        }, t.clipExtent = function(n) {
            return arguments.length ? (a = null == n ? sl : n, t) : a === sl ? null : a
        }, t.size = function(n) {
            return arguments.length ? t.clipExtent(n && [
                [0, 0], n
            ]) : a === sl ? null : a && a[1]
        }, t)
    };
    var sl = [
        [-1e6, -1e6],
        [1e6, 1e6]
    ];
    ao.geom.delaunay = function(n) {
        return ao.geom.voronoi().triangles(n)
    }, ao.geom.quadtree = function(n, t, e, r, i) {
        function u(n) {
            function u(n, t, e, r, i, u, o, a) {
                if (!isNaN(e) && !isNaN(r))
                    if (n.leaf) {
                        var l = n.x,
                            f = n.y;
                        if (null != l)
                            if (xo(l - e) + xo(f - r) < .01) c(n, t, e, r, i, u, o, a);
                            else {
                                var s = n.point;
                                n.x = n.y = n.point = null, c(n, s, l, f, i, u, o, a), c(n, t, e, r, i, u, o, a)
                            } else n.x = e, n.y = r, n.point = t
                    } else c(n, t, e, r, i, u, o, a)
            }

            function c(n, t, e, r, i, o, a, l) {
                var c = .5 * (i + a),
                    f = .5 * (o + l),
                    s = e >= c,
                    h = r >= f,
                    p = h << 1 | s;
                n.leaf = !1, n = n.nodes[p] || (n.nodes[p] = hr()), s ? i = c : a = c, h ? o = f : l = f, u(n, t, e, r, i, o, a, l)
            }
            var f, s, h, p, g, v, d, y, m, M = En(a),
                x = En(l);
            if (null != t) v = t, d = e, y = r, m = i;
            else if (y = m = -(v = d = 1 / 0), s = [], h = [], g = n.length, o)
                for (p = 0; g > p; ++p) f = n[p], f.x < v && (v = f.x), f.y < d && (d = f.y), f.x > y && (y = f.x), f.y > m && (m = f.y), s.push(f.x), h.push(f.y);
            else
                for (p = 0; g > p; ++p) {
                    var b = +M(f = n[p], p),
                        _ = +x(f, p);
                    v > b && (v = b), d > _ && (d = _), b > y && (y = b), _ > m && (m = _), s.push(b), h.push(_)
                }
            var w = y - v,
                S = m - d;
            w > S ? m = d + w : y = v + S;
            var k = hr();
            if (k.add = function(n) {
                    u(k, n, +M(n, ++p), +x(n, p), v, d, y, m)
                }, k.visit = function(n) {
                    pr(n, k, v, d, y, m)
                }, k.find = function(n) {
                    return gr(k, n[0], n[1], v, d, y, m)
                }, p = -1, null == t) {
                for (; ++p < g;) u(k, n[p], s[p], h[p], v, d, y, m);
                --p
            } else n.forEach(k.add);
            return s = h = n = f = null, k
        }
        var o, a = Ce,
            l = ze;
        return (o = arguments.length) ? (a = fr, l = sr, 3 === o && (i = e, r = t, e = t = 0), u(n)) : (u.x = function(n) {
            return arguments.length ? (a = n, u) : a
        }, u.y = function(n) {
            return arguments.length ? (l = n, u) : l
        }, u.extent = function(n) {
            return arguments.length ? (null == n ? t = e = r = i = null : (t = +n[0][0], e = +n[0][1], r = +n[1][0], i = +n[1][1]), u) : null == t ? null : [
                [t, e],
                [r, i]
            ]
        }, u.size = function(n) {
            return arguments.length ? (null == n ? t = e = r = i = null : (t = e = 0, r = +n[0], i = +n[1]), u) : null == t ? null : [r - t, i - e]
        }, u)
    }, ao.interpolateRgb = vr, ao.interpolateObject = dr, ao.interpolateNumber = yr, ao.interpolateString = mr;
    var hl = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,
        pl = new RegExp(hl.source, "g");
    ao.interpolate = Mr, ao.interpolators = [function(n, t) {
        var e = typeof t;
        return ("string" === e ? ua.has(t.toLowerCase()) || /^(#|rgb\(|hsl\()/i.test(t) ? vr : mr : t instanceof an ? vr : Array.isArray(t) ? xr : "object" === e && isNaN(t) ? dr : yr)(n, t)
    }], ao.interpolateArray = xr;
    var gl = function() {
            return m
        },
        vl = ao.map({
            linear: gl,
            poly: Er,
            quad: function() {
                return Sr
            },
            cubic: function() {
                return kr
            },
            sin: function() {
                return Ar
            },
            exp: function() {
                return Cr
            },
            circle: function() {
                return zr
            },
            elastic: Lr,
            back: qr,
            bounce: function() {
                return Tr
            }
        }),
        dl = ao.map({
            "in": m,
            out: _r,
            "in-out": wr,
            "out-in": function(n) {
                return wr(_r(n))
            }
        });
    ao.ease = function(n) {
        var t = n.indexOf("-"),
            e = t >= 0 ? n.slice(0, t) : n,
            r = t >= 0 ? n.slice(t + 1) : "in";
        return e = vl.get(e) || gl, r = dl.get(r) || m, br(r(e.apply(null, lo.call(arguments, 1))))
    }, ao.interpolateHcl = Rr, ao.interpolateHsl = Dr, ao.interpolateLab = Pr, ao.interpolateRound = Ur, ao.transform = function(n) {
        var t = fo.createElementNS(ao.ns.prefix.svg, "g");
        return (ao.transform = function(n) {
            if (null != n) {
                t.setAttribute("transform", n);
                var e = t.transform.baseVal.consolidate()
            }
            return new jr(e ? e.matrix : yl)
        })(n)
    }, jr.prototype.toString = function() {
        return "translate(" + this.translate + ")rotate(" + this.rotate + ")skewX(" + this.skew + ")scale(" + this.scale + ")"
    };
    var yl = {
        a: 1,
        b: 0,
        c: 0,
        d: 1,
        e: 0,
        f: 0
    };
    ao.interpolateTransform = $r, ao.layout = {}, ao.layout.bundle = function() {
        return function(n) {
            for (var t = [], e = -1, r = n.length; ++e < r;) t.push(Jr(n[e]));
            return t
        }
    }, ao.layout.chord = function() {
        function n() {
            var n, c, s, h, p, g = {},
                v = [],
                d = ao.range(u),
                y = [];
            for (e = [], r = [], n = 0, h = -1; ++h < u;) {
                for (c = 0, p = -1; ++p < u;) c += i[h][p];
                v.push(c), y.push(ao.range(u)), n += c
            }
            for (o && d.sort(function(n, t) {
                    return o(v[n], v[t])
                }), a && y.forEach(function(n, t) {
                    n.sort(function(n, e) {
                        return a(i[t][n], i[t][e])
                    })
                }), n = (Ho - f * u) / n, c = 0, h = -1; ++h < u;) {
                for (s = c, p = -1; ++p < u;) {
                    var m = d[h],
                        M = y[m][p],
                        x = i[m][M],
                        b = c,
                        _ = c += x * n;
                    g[m + "-" + M] = {
                        index: m,
                        subindex: M,
                        startAngle: b,
                        endAngle: _,
                        value: x
                    }
                }
                r[m] = {
                    index: m,
                    startAngle: s,
                    endAngle: c,
                    value: v[m]
                }, c += f
            }
            for (h = -1; ++h < u;)
                for (p = h - 1; ++p < u;) {
                    var w = g[h + "-" + p],
                        S = g[p + "-" + h];
                    (w.value || S.value) && e.push(w.value < S.value ? {
                        source: S,
                        target: w
                    } : {
                        source: w,
                        target: S
                    })
                }
            l && t()
        }

        function t() {
            e.sort(function(n, t) {
                return l((n.source.value + n.target.value) / 2, (t.source.value + t.target.value) / 2)
            })
        }
        var e, r, i, u, o, a, l, c = {},
            f = 0;
        return c.matrix = function(n) {
            return arguments.length ? (u = (i = n) && i.length, e = r = null, c) : i
        }, c.padding = function(n) {
            return arguments.length ? (f = n, e = r = null, c) : f
        }, c.sortGroups = function(n) {
            return arguments.length ? (o = n, e = r = null, c) : o
        }, c.sortSubgroups = function(n) {
            return arguments.length ? (a = n, e = null, c) : a
        }, c.sortChords = function(n) {
            return arguments.length ? (l = n, e && t(), c) : l
        }, c.chords = function() {
            return e || n(), e
        }, c.groups = function() {
            return r || n(), r
        }, c
    }, ao.layout.force = function() {
        function n(n) {
            return function(t, e, r, i) {
                if (t.point !== n) {
                    var u = t.cx - n.x,
                        o = t.cy - n.y,
                        a = i - e,
                        l = u * u + o * o;
                    if (l > a * a / y) {
                        if (v > l) {
                            var c = t.charge / l;
                            n.px -= u * c, n.py -= o * c
                        }
                        return !0
                    }
                    if (t.point && l && v > l) {
                        var c = t.pointCharge / l;
                        n.px -= u * c, n.py -= o * c
                    }
                }
                return !t.charge
            }
        }

        function t(n) {
            n.px = ao.event.x, n.py = ao.event.y, l.resume()
        }
        var e, r, i, u, o, a, l = {},
            c = ao.dispatch("start", "tick", "end"),
            f = [1, 1],
            s = .9,
            h = ml,
            p = Ml,
            g = -30,
            v = xl,
            d = .1,
            y = .64,
            M = [],
            x = [];
        return l.tick = function() {
            if ((i *= .99) < .005) return e = null, c.end({
                type: "end",
                alpha: i = 0
            }), !0;
            var t, r, l, h, p, v, y, m, b, _ = M.length,
                w = x.length;
            for (r = 0; w > r; ++r) l = x[r], h = l.source, p = l.target, m = p.x - h.x, b = p.y - h.y, (v = m * m + b * b) && (v = i * o[r] * ((v = Math.sqrt(v)) - u[r]) / v, m *= v, b *= v, p.x -= m * (y = h.weight + p.weight ? h.weight / (h.weight + p.weight) : .5), p.y -= b * y, h.x += m * (y = 1 - y), h.y += b * y);
            if ((y = i * d) && (m = f[0] / 2, b = f[1] / 2, r = -1, y))
                for (; ++r < _;) l = M[r], l.x += (m - l.x) * y, l.y += (b - l.y) * y;
            if (g)
                for (ri(t = ao.geom.quadtree(M), i, a), r = -1; ++r < _;)(l = M[r]).fixed || t.visit(n(l));
            for (r = -1; ++r < _;) l = M[r], l.fixed ? (l.x = l.px, l.y = l.py) : (l.x -= (l.px - (l.px = l.x)) * s, l.y -= (l.py - (l.py = l.y)) * s);
            c.tick({
                type: "tick",
                alpha: i
            })
        }, l.nodes = function(n) {
            return arguments.length ? (M = n, l) : M
        }, l.links = function(n) {
            return arguments.length ? (x = n, l) : x
        }, l.size = function(n) {
            return arguments.length ? (f = n, l) : f
        }, l.linkDistance = function(n) {
            return arguments.length ? (h = "function" == typeof n ? n : +n, l) : h
        }, l.distance = l.linkDistance, l.linkStrength = function(n) {
            return arguments.length ? (p = "function" == typeof n ? n : +n, l) : p
        }, l.friction = function(n) {
            return arguments.length ? (s = +n, l) : s
        }, l.charge = function(n) {
            return arguments.length ? (g = "function" == typeof n ? n : +n, l) : g
        }, l.chargeDistance = function(n) {
            return arguments.length ? (v = n * n, l) : Math.sqrt(v)
        }, l.gravity = function(n) {
            return arguments.length ? (d = +n, l) : d
        }, l.theta = function(n) {
            return arguments.length ? (y = n * n, l) : Math.sqrt(y)
        }, l.alpha = function(n) {
            return arguments.length ? (n = +n, i ? n > 0 ? i = n : (e.c = null, e.t = NaN, e = null, c.end({
                type: "end",
                alpha: i = 0
            })) : n > 0 && (c.start({
                type: "start",
                alpha: i = n
            }), e = qn(l.tick)), l) : i
        }, l.start = function() {
            function n(n, r) {
                if (!e) {
                    for (e = new Array(i), l = 0; i > l; ++l) e[l] = [];
                    for (l = 0; c > l; ++l) {
                        var u = x[l];
                        e[u.source.index].push(u.target), e[u.target.index].push(u.source)
                    }
                }
                for (var o, a = e[t], l = -1, f = a.length; ++l < f;)
                    if (!isNaN(o = a[l][n])) return o;
                return Math.random() * r
            }
            var t, e, r, i = M.length,
                c = x.length,
                s = f[0],
                v = f[1];
            for (t = 0; i > t; ++t)(r = M[t]).index = t, r.weight = 0;
            for (t = 0; c > t; ++t) r = x[t], "number" == typeof r.source && (r.source = M[r.source]), "number" == typeof r.target && (r.target = M[r.target]), ++r.source.weight, ++r.target.weight;
            for (t = 0; i > t; ++t) r = M[t], isNaN(r.x) && (r.x = n("x", s)), isNaN(r.y) && (r.y = n("y", v)), isNaN(r.px) && (r.px = r.x), isNaN(r.py) && (r.py = r.y);
            if (u = [], "function" == typeof h)
                for (t = 0; c > t; ++t) u[t] = +h.call(this, x[t], t);
            else
                for (t = 0; c > t; ++t) u[t] = h;
            if (o = [], "function" == typeof p)
                for (t = 0; c > t; ++t) o[t] = +p.call(this, x[t], t);
            else
                for (t = 0; c > t; ++t) o[t] = p;
            if (a = [], "function" == typeof g)
                for (t = 0; i > t; ++t) a[t] = +g.call(this, M[t], t);
            else
                for (t = 0; i > t; ++t) a[t] = g;
            return l.resume()
        }, l.resume = function() {
            return l.alpha(.1)
        }, l.stop = function() {
            return l.alpha(0)
        }, l.drag = function() {
            return r || (r = ao.behavior.drag().origin(m).on("dragstart.force", Qr).on("drag.force", t).on("dragend.force", ni)), arguments.length ? void this.on("mouseover.force", ti).on("mouseout.force", ei).call(r) : r
        }, ao.rebind(l, c, "on")
    };
    var ml = 20,
        Ml = 1,
        xl = 1 / 0;
    ao.layout.hierarchy = function() {
        function n(i) {
            var u, o = [i],
                a = [];
            for (i.depth = 0; null != (u = o.pop());)
                if (a.push(u), (c = e.call(n, u, u.depth)) && (l = c.length)) {
                    for (var l, c, f; --l >= 0;) o.push(f = c[l]), f.parent = u, f.depth = u.depth + 1;
                    r && (u.value = 0), u.children = c
                } else r && (u.value = +r.call(n, u, u.depth) || 0), delete u.children;
            return oi(i, function(n) {
                var e, i;
                t && (e = n.children) && e.sort(t), r && (i = n.parent) && (i.value += n.value)
            }), a
        }
        var t = ci,
            e = ai,
            r = li;
        return n.sort = function(e) {
            return arguments.length ? (t = e, n) : t
        }, n.children = function(t) {
            return arguments.length ? (e = t, n) : e
        }, n.value = function(t) {
            return arguments.length ? (r = t, n) : r
        }, n.revalue = function(t) {
            return r && (ui(t, function(n) {
                n.children && (n.value = 0)
            }), oi(t, function(t) {
                var e;
                t.children || (t.value = +r.call(n, t, t.depth) || 0), (e = t.parent) && (e.value += t.value)
            })), t
        }, n
    }, ao.layout.partition = function() {
        function n(t, e, r, i) {
            var u = t.children;
            if (t.x = e, t.y = t.depth * i, t.dx = r, t.dy = i, u && (o = u.length)) {
                var o, a, l, c = -1;
                for (r = t.value ? r / t.value : 0; ++c < o;) n(a = u[c], e, l = a.value * r, i), e += l
            }
        }

        function t(n) {
            var e = n.children,
                r = 0;
            if (e && (i = e.length))
                for (var i, u = -1; ++u < i;) r = Math.max(r, t(e[u]));
            return 1 + r
        }

        function e(e, u) {
            var o = r.call(this, e, u);
            return n(o[0], 0, i[0], i[1] / t(o[0])), o
        }
        var r = ao.layout.hierarchy(),
            i = [1, 1];
        return e.size = function(n) {
            return arguments.length ? (i = n, e) : i
        }, ii(e, r)
    }, ao.layout.pie = function() {
        function n(o) {
            var a, l = o.length,
                c = o.map(function(e, r) {
                    return +t.call(n, e, r)
                }),
                f = +("function" == typeof r ? r.apply(this, arguments) : r),
                s = ("function" == typeof i ? i.apply(this, arguments) : i) - f,
                h = Math.min(Math.abs(s) / l, +("function" == typeof u ? u.apply(this, arguments) : u)),
                p = h * (0 > s ? -1 : 1),
                g = ao.sum(c),
                v = g ? (s - l * p) / g : 0,
                d = ao.range(l),
                y = [];
            return null != e && d.sort(e === bl ? function(n, t) {
                return c[t] - c[n]
            } : function(n, t) {
                return e(o[n], o[t])
            }), d.forEach(function(n) {
                y[n] = {
                    data: o[n],
                    value: a = c[n],
                    startAngle: f,
                    endAngle: f += a * v + p,
                    padAngle: h
                }
            }), y
        }
        var t = Number,
            e = bl,
            r = 0,
            i = Ho,
            u = 0;
        return n.value = function(e) {
            return arguments.length ? (t = e, n) : t
        }, n.sort = function(t) {
            return arguments.length ? (e = t, n) : e
        }, n.startAngle = function(t) {
            return arguments.length ? (r = t, n) : r
        }, n.endAngle = function(t) {
            return arguments.length ? (i = t, n) : i
        }, n.padAngle = function(t) {
            return arguments.length ? (u = t, n) : u
        }, n
    };
    var bl = {};
    ao.layout.stack = function() {
        function n(a, l) {
            if (!(h = a.length)) return a;
            var c = a.map(function(e, r) {
                    return t.call(n, e, r)
                }),
                f = c.map(function(t) {
                    return t.map(function(t, e) {
                        return [u.call(n, t, e), o.call(n, t, e)]
                    })
                }),
                s = e.call(n, f, l);
            c = ao.permute(c, s), f = ao.permute(f, s);
            var h, p, g, v, d = r.call(n, f, l),
                y = c[0].length;
            for (g = 0; y > g; ++g)
                for (i.call(n, c[0][g], v = d[g], f[0][g][1]), p = 1; h > p; ++p) i.call(n, c[p][g], v += f[p - 1][g][1], f[p][g][1]);
            return a
        }
        var t = m,
            e = gi,
            r = vi,
            i = pi,
            u = si,
            o = hi;
        return n.values = function(e) {
            return arguments.length ? (t = e, n) : t
        }, n.order = function(t) {
            return arguments.length ? (e = "function" == typeof t ? t : _l.get(t) || gi, n) : e
        }, n.offset = function(t) {
            return arguments.length ? (r = "function" == typeof t ? t : wl.get(t) || vi, n) : r
        }, n.x = function(t) {
            return arguments.length ? (u = t, n) : u
        }, n.y = function(t) {
            return arguments.length ? (o = t, n) : o
        }, n.out = function(t) {
            return arguments.length ? (i = t, n) : i
        }, n
    };
    var _l = ao.map({
            "inside-out": function(n) {
                var t, e, r = n.length,
                    i = n.map(di),
                    u = n.map(yi),
                    o = ao.range(r).sort(function(n, t) {
                        return i[n] - i[t]
                    }),
                    a = 0,
                    l = 0,
                    c = [],
                    f = [];
                for (t = 0; r > t; ++t) e = o[t], l > a ? (a += u[e], c.push(e)) : (l += u[e], f.push(e));
                return f.reverse().concat(c)
            },
            reverse: function(n) {
                return ao.range(n.length).reverse()
            },
            "default": gi
        }),
        wl = ao.map({
            silhouette: function(n) {
                var t, e, r, i = n.length,
                    u = n[0].length,
                    o = [],
                    a = 0,
                    l = [];
                for (e = 0; u > e; ++e) {
                    for (t = 0, r = 0; i > t; t++) r += n[t][e][1];
                    r > a && (a = r), o.push(r)
                }
                for (e = 0; u > e; ++e) l[e] = (a - o[e]) / 2;
                return l
            },
            wiggle: function(n) {
                var t, e, r, i, u, o, a, l, c, f = n.length,
                    s = n[0],
                    h = s.length,
                    p = [];
                for (p[0] = l = c = 0, e = 1; h > e; ++e) {
                    for (t = 0, i = 0; f > t; ++t) i += n[t][e][1];
                    for (t = 0, u = 0, a = s[e][0] - s[e - 1][0]; f > t; ++t) {
                        for (r = 0, o = (n[t][e][1] - n[t][e - 1][1]) / (2 * a); t > r; ++r) o += (n[r][e][1] - n[r][e - 1][1]) / a;
                        u += o * n[t][e][1]
                    }
                    p[e] = l -= i ? u / i * a : 0, c > l && (c = l)
                }
                for (e = 0; h > e; ++e) p[e] -= c;
                return p
            },
            expand: function(n) {
                var t, e, r, i = n.length,
                    u = n[0].length,
                    o = 1 / i,
                    a = [];
                for (e = 0; u > e; ++e) {
                    for (t = 0, r = 0; i > t; t++) r += n[t][e][1];
                    if (r)
                        for (t = 0; i > t; t++) n[t][e][1] /= r;
                    else
                        for (t = 0; i > t; t++) n[t][e][1] = o
                }
                for (e = 0; u > e; ++e) a[e] = 0;
                return a
            },
            zero: vi
        });
    ao.layout.histogram = function() {
        function n(n, u) {
            for (var o, a, l = [], c = n.map(e, this), f = r.call(this, c, u), s = i.call(this, f, c, u), u = -1, h = c.length, p = s.length - 1, g = t ? 1 : 1 / h; ++u < p;) o = l[u] = [], o.dx = s[u + 1] - (o.x = s[u]), o.y = 0;
            if (p > 0)
                for (u = -1; ++u < h;) a = c[u], a >= f[0] && a <= f[1] && (o = l[ao.bisect(s, a, 1, p) - 1], o.y += g, o.push(n[u]));
            return l
        }
        var t = !0,
            e = Number,
            r = bi,
            i = Mi;
        return n.value = function(t) {
            return arguments.length ? (e = t, n) : e
        }, n.range = function(t) {
            return arguments.length ? (r = En(t), n) : r
        }, n.bins = function(t) {
            return arguments.length ? (i = "number" == typeof t ? function(n) {
                return xi(n, t)
            } : En(t), n) : i
        }, n.frequency = function(e) {
            return arguments.length ? (t = !!e, n) : t
        }, n
    }, ao.layout.pack = function() {
        function n(n, u) {
            var o = e.call(this, n, u),
                a = o[0],
                l = i[0],
                c = i[1],
                f = null == t ? Math.sqrt : "function" == typeof t ? t : function() {
                    return t
                };
            if (a.x = a.y = 0, oi(a, function(n) {
                    n.r = +f(n.value)
                }), oi(a, Ni), r) {
                var s = r * (t ? 1 : Math.max(2 * a.r / l, 2 * a.r / c)) / 2;
                oi(a, function(n) {
                    n.r += s
                }), oi(a, Ni), oi(a, function(n) {
                    n.r -= s
                })
            }
            return Ci(a, l / 2, c / 2, t ? 1 : 1 / Math.max(2 * a.r / l, 2 * a.r / c)), o
        }
        var t, e = ao.layout.hierarchy().sort(_i),
            r = 0,
            i = [1, 1];
        return n.size = function(t) {
            return arguments.length ? (i = t, n) : i
        }, n.radius = function(e) {
            return arguments.length ? (t = null == e || "function" == typeof e ? e : +e, n) : t
        }, n.padding = function(t) {
            return arguments.length ? (r = +t, n) : r
        }, ii(n, e)
    }, ao.layout.tree = function() {
        function n(n, i) {
            var f = o.call(this, n, i),
                s = f[0],
                h = t(s);
            if (oi(h, e), h.parent.m = -h.z, ui(h, r), c) ui(s, u);
            else {
                var p = s,
                    g = s,
                    v = s;
                ui(s, function(n) {
                    n.x < p.x && (p = n), n.x > g.x && (g = n), n.depth > v.depth && (v = n)
                });
                var d = a(p, g) / 2 - p.x,
                    y = l[0] / (g.x + a(g, p) / 2 + d),
                    m = l[1] / (v.depth || 1);
                ui(s, function(n) {
                    n.x = (n.x + d) * y, n.y = n.depth * m
                })
            }
            return f
        }

        function t(n) {
            for (var t, e = {
                    A: null,
                    children: [n]
                }, r = [e]; null != (t = r.pop());)
                for (var i, u = t.children, o = 0, a = u.length; a > o; ++o) r.push((u[o] = i = {
                    _: u[o],
                    parent: t,
                    children: (i = u[o].children) && i.slice() || [],
                    A: null,
                    a: null,
                    z: 0,
                    m: 0,
                    c: 0,
                    s: 0,
                    t: null,
                    i: o
                }).a = i);
            return e.children[0]
        }

        function e(n) {
            var t = n.children,
                e = n.parent.children,
                r = n.i ? e[n.i - 1] : null;
            if (t.length) {
                Di(n);
                var u = (t[0].z + t[t.length - 1].z) / 2;
                r ? (n.z = r.z + a(n._, r._), n.m = n.z - u) : n.z = u
            } else r && (n.z = r.z + a(n._, r._));
            n.parent.A = i(n, r, n.parent.A || e[0])
        }

        function r(n) {
            n._.x = n.z + n.parent.m, n.m += n.parent.m
        }

        function i(n, t, e) {
            if (t) {
                for (var r, i = n, u = n, o = t, l = i.parent.children[0], c = i.m, f = u.m, s = o.m, h = l.m; o = Ti(o), i = qi(i), o && i;) l = qi(l), u = Ti(u), u.a = n, r = o.z + s - i.z - c + a(o._, i._), r > 0 && (Ri(Pi(o, n, e), n, r), c += r, f += r), s += o.m, c += i.m, h += l.m, f += u.m;
                o && !Ti(u) && (u.t = o, u.m += s - f), i && !qi(l) && (l.t = i, l.m += c - h, e = n)
            }
            return e
        }

        function u(n) {
            n.x *= l[0], n.y = n.depth * l[1]
        }
        var o = ao.layout.hierarchy().sort(null).value(null),
            a = Li,
            l = [1, 1],
            c = null;
        return n.separation = function(t) {
            return arguments.length ? (a = t, n) : a
        }, n.size = function(t) {
            return arguments.length ? (c = null == (l = t) ? u : null, n) : c ? null : l
        }, n.nodeSize = function(t) {
            return arguments.length ? (c = null == (l = t) ? null : u, n) : c ? l : null
        }, ii(n, o)
    }, ao.layout.cluster = function() {
        function n(n, u) {
            var o, a = t.call(this, n, u),
                l = a[0],
                c = 0;
            oi(l, function(n) {
                var t = n.children;
                t && t.length ? (n.x = ji(t), n.y = Ui(t)) : (n.x = o ? c += e(n, o) : 0, n.y = 0, o = n)
            });
            var f = Fi(l),
                s = Hi(l),
                h = f.x - e(f, s) / 2,
                p = s.x + e(s, f) / 2;
            return oi(l, i ? function(n) {
                n.x = (n.x - l.x) * r[0], n.y = (l.y - n.y) * r[1]
            } : function(n) {
                n.x = (n.x - h) / (p - h) * r[0], n.y = (1 - (l.y ? n.y / l.y : 1)) * r[1]
            }), a
        }
        var t = ao.layout.hierarchy().sort(null).value(null),
            e = Li,
            r = [1, 1],
            i = !1;
        return n.separation = function(t) {
            return arguments.length ? (e = t, n) : e
        }, n.size = function(t) {
            return arguments.length ? (i = null == (r = t), n) : i ? null : r
        }, n.nodeSize = function(t) {
            return arguments.length ? (i = null != (r = t), n) : i ? r : null
        }, ii(n, t)
    }, ao.layout.treemap = function() {
        function n(n, t) {
            for (var e, r, i = -1, u = n.length; ++i < u;) r = (e = n[i]).value * (0 > t ? 0 : t), e.area = isNaN(r) || 0 >= r ? 0 : r
        }

        function t(e) {
            var u = e.children;
            if (u && u.length) {
                var o, a, l, c = s(e),
                    f = [],
                    h = u.slice(),
                    g = 1 / 0,
                    v = "slice" === p ? c.dx : "dice" === p ? c.dy : "slice-dice" === p ? 1 & e.depth ? c.dy : c.dx : Math.min(c.dx, c.dy);
                for (n(h, c.dx * c.dy / e.value), f.area = 0;
                    (l = h.length) > 0;) f.push(o = h[l - 1]), f.area += o.area, "squarify" !== p || (a = r(f, v)) <= g ? (h.pop(), g = a) : (f.area -= f.pop().area, i(f, v, c, !1), v = Math.min(c.dx, c.dy), f.length = f.area = 0, g = 1 / 0);
                f.length && (i(f, v, c, !0), f.length = f.area = 0), u.forEach(t)
            }
        }

        function e(t) {
            var r = t.children;
            if (r && r.length) {
                var u, o = s(t),
                    a = r.slice(),
                    l = [];
                for (n(a, o.dx * o.dy / t.value), l.area = 0; u = a.pop();) l.push(u), l.area += u.area, null != u.z && (i(l, u.z ? o.dx : o.dy, o, !a.length), l.length = l.area = 0);
                r.forEach(e)
            }
        }

        function r(n, t) {
            for (var e, r = n.area, i = 0, u = 1 / 0, o = -1, a = n.length; ++o < a;)(e = n[o].area) && (u > e && (u = e), e > i && (i = e));
            return r *= r, t *= t, r ? Math.max(t * i * g / r, r / (t * u * g)) : 1 / 0
        }

        function i(n, t, e, r) {
            var i, u = -1,
                o = n.length,
                a = e.x,
                c = e.y,
                f = t ? l(n.area / t) : 0;
            if (t == e.dx) {
                for ((r || f > e.dy) && (f = e.dy); ++u < o;) i = n[u], i.x = a, i.y = c, i.dy = f, a += i.dx = Math.min(e.x + e.dx - a, f ? l(i.area / f) : 0);
                i.z = !0, i.dx += e.x + e.dx - a, e.y += f, e.dy -= f
            } else {
                for ((r || f > e.dx) && (f = e.dx); ++u < o;) i = n[u], i.x = a, i.y = c, i.dx = f, c += i.dy = Math.min(e.y + e.dy - c, f ? l(i.area / f) : 0);
                i.z = !1, i.dy += e.y + e.dy - c, e.x += f, e.dx -= f
            }
        }

        function u(r) {
            var i = o || a(r),
                u = i[0];
            return u.x = u.y = 0, u.value ? (u.dx = c[0], u.dy = c[1]) : u.dx = u.dy = 0, o && a.revalue(u), n([u], u.dx * u.dy / u.value), (o ? e : t)(u), h && (o = i), i
        }
        var o, a = ao.layout.hierarchy(),
            l = Math.round,
            c = [1, 1],
            f = null,
            s = Oi,
            h = !1,
            p = "squarify",
            g = .5 * (1 + Math.sqrt(5));
        return u.size = function(n) {
            return arguments.length ? (c = n, u) : c
        }, u.padding = function(n) {
            function t(t) {
                var e = n.call(u, t, t.depth);
                return null == e ? Oi(t) : Ii(t, "number" == typeof e ? [e, e, e, e] : e)
            }

            function e(t) {
                return Ii(t, n)
            }
            if (!arguments.length) return f;
            var r;
            return s = null == (f = n) ? Oi : "function" == (r = typeof n) ? t : "number" === r ? (n = [n, n, n, n], e) : e, u
        }, u.round = function(n) {
            return arguments.length ? (l = n ? Math.round : Number, u) : l != Number
        }, u.sticky = function(n) {
            return arguments.length ? (h = n, o = null, u) : h
        }, u.ratio = function(n) {
            return arguments.length ? (g = n, u) : g
        }, u.mode = function(n) {
            return arguments.length ? (p = n + "", u) : p
        }, ii(u, a)
    }, ao.random = {
        normal: function(n, t) {
            var e = arguments.length;
            return 2 > e && (t = 1), 1 > e && (n = 0),
                function() {
                    var e, r, i;
                    do e = 2 * Math.random() - 1, r = 2 * Math.random() - 1, i = e * e + r * r; while (!i || i > 1);
                    return n + t * e * Math.sqrt(-2 * Math.log(i) / i)
                }
        },
        logNormal: function() {
            var n = ao.random.normal.apply(ao, arguments);
            return function() {
                return Math.exp(n())
            }
        },
        bates: function(n) {
            var t = ao.random.irwinHall(n);
            return function() {
                return t() / n
            }
        },
        irwinHall: function(n) {
            return function() {
                for (var t = 0, e = 0; n > e; e++) t += Math.random();
                return t
            }
        }
    }, ao.scale = {};
    var Sl = {
        floor: m,
        ceil: m
    };
    ao.scale.linear = function() {
        return Wi([0, 1], [0, 1], Mr, !1)
    };
    var kl = {
        s: 1,
        g: 1,
        p: 1,
        r: 1,
        e: 1
    };
    ao.scale.log = function() {
        return ru(ao.scale.linear().domain([0, 1]), 10, !0, [1, 10])
    };
    var Nl = ao.format(".0e"),
        El = {
            floor: function(n) {
                return -Math.ceil(-n)
            },
            ceil: function(n) {
                return -Math.floor(-n)
            }
        };
    ao.scale.pow = function() {
        return iu(ao.scale.linear(), 1, [0, 1])
    }, ao.scale.sqrt = function() {
        return ao.scale.pow().exponent(.5)
    }, ao.scale.ordinal = function() {
        return ou([], {
            t: "range",
            a: [
                []
            ]
        })
    }, ao.scale.category10 = function() {
        return ao.scale.ordinal().range(Al)
    }, ao.scale.category20 = function() {
        return ao.scale.ordinal().range(Cl)
    }, ao.scale.category20b = function() {
        return ao.scale.ordinal().range(zl)
    }, ao.scale.category20c = function() {
        return ao.scale.ordinal().range(Ll)
    };
    var Al = [2062260, 16744206, 2924588, 14034728, 9725885, 9197131, 14907330, 8355711, 12369186, 1556175].map(xn),
        Cl = [2062260, 11454440, 16744206, 16759672, 2924588, 10018698, 14034728, 16750742, 9725885, 12955861, 9197131, 12885140, 14907330, 16234194, 8355711, 13092807, 12369186, 14408589, 1556175, 10410725].map(xn),
        zl = [3750777, 5395619, 7040719, 10264286, 6519097, 9216594, 11915115, 13556636, 9202993, 12426809, 15186514, 15190932, 8666169, 11356490, 14049643, 15177372, 8077683, 10834324, 13528509, 14589654].map(xn),
        Ll = [3244733, 7057110, 10406625, 13032431, 15095053, 16616764, 16625259, 16634018, 3253076, 7652470, 10607003, 13101504, 7695281, 10394312, 12369372, 14342891, 6513507, 9868950, 12434877, 14277081].map(xn);
    ao.scale.quantile = function() {
        return au([], [])
    }, ao.scale.quantize = function() {
        return lu(0, 1, [0, 1])
    }, ao.scale.threshold = function() {
        return cu([.5], [0, 1])
    }, ao.scale.identity = function() {
        return fu([0, 1])
    }, ao.svg = {}, ao.svg.arc = function() {
        function n() {
            var n = Math.max(0, +e.apply(this, arguments)),
                c = Math.max(0, +r.apply(this, arguments)),
                f = o.apply(this, arguments) - Io,
                s = a.apply(this, arguments) - Io,
                h = Math.abs(s - f),
                p = f > s ? 0 : 1;
            if (n > c && (g = c, c = n, n = g), h >= Oo) return t(c, p) + (n ? t(n, 1 - p) : "") + "Z";
            var g, v, d, y, m, M, x, b, _, w, S, k, N = 0,
                E = 0,
                A = [];
            if ((y = (+l.apply(this, arguments) || 0) / 2) && (d = u === ql ? Math.sqrt(n * n + c * c) : +u.apply(this, arguments), p || (E *= -1), c && (E = tn(d / c * Math.sin(y))), n && (N = tn(d / n * Math.sin(y)))), c) {
                m = c * Math.cos(f + E), M = c * Math.sin(f + E), x = c * Math.cos(s - E), b = c * Math.sin(s - E);
                var C = Math.abs(s - f - 2 * E) <= Fo ? 0 : 1;
                if (E && yu(m, M, x, b) === p ^ C) {
                    var z = (f + s) / 2;
                    m = c * Math.cos(z), M = c * Math.sin(z), x = b = null
                }
            } else m = M = 0;
            if (n) {
                _ = n * Math.cos(s - N), w = n * Math.sin(s - N), S = n * Math.cos(f + N), k = n * Math.sin(f + N);
                var L = Math.abs(f - s + 2 * N) <= Fo ? 0 : 1;
                if (N && yu(_, w, S, k) === 1 - p ^ L) {
                    var q = (f + s) / 2;
                    _ = n * Math.cos(q), w = n * Math.sin(q), S = k = null
                }
            } else _ = w = 0;
            if (h > Uo && (g = Math.min(Math.abs(c - n) / 2, +i.apply(this, arguments))) > .001) {
                v = c > n ^ p ? 0 : 1;
                var T = g,
                    R = g;
                if (Fo > h) {
                    var D = null == S ? [_, w] : null == x ? [m, M] : Re([m, M], [S, k], [x, b], [_, w]),
                        P = m - D[0],
                        U = M - D[1],
                        j = x - D[0],
                        F = b - D[1],
                        H = 1 / Math.sin(Math.acos((P * j + U * F) / (Math.sqrt(P * P + U * U) * Math.sqrt(j * j + F * F))) / 2),
                        O = Math.sqrt(D[0] * D[0] + D[1] * D[1]);
                    R = Math.min(g, (n - O) / (H - 1)), T = Math.min(g, (c - O) / (H + 1))
                }
                if (null != x) {
                    var I = mu(null == S ? [_, w] : [S, k], [m, M], c, T, p),
                        Y = mu([x, b], [_, w], c, T, p);
                    g === T ? A.push("M", I[0], "A", T, ",", T, " 0 0,", v, " ", I[1], "A", c, ",", c, " 0 ", 1 - p ^ yu(I[1][0], I[1][1], Y[1][0], Y[1][1]), ",", p, " ", Y[1], "A", T, ",", T, " 0 0,", v, " ", Y[0]) : A.push("M", I[0], "A", T, ",", T, " 0 1,", v, " ", Y[0])
                } else A.push("M", m, ",", M);
                if (null != S) {
                    var Z = mu([m, M], [S, k], n, -R, p),
                        V = mu([_, w], null == x ? [m, M] : [x, b], n, -R, p);
                    g === R ? A.push("L", V[0], "A", R, ",", R, " 0 0,", v, " ", V[1], "A", n, ",", n, " 0 ", p ^ yu(V[1][0], V[1][1], Z[1][0], Z[1][1]), ",", 1 - p, " ", Z[1], "A", R, ",", R, " 0 0,", v, " ", Z[0]) : A.push("L", V[0], "A", R, ",", R, " 0 0,", v, " ", Z[0])
                } else A.push("L", _, ",", w)
            } else A.push("M", m, ",", M), null != x && A.push("A", c, ",", c, " 0 ", C, ",", p, " ", x, ",", b), A.push("L", _, ",", w), null != S && A.push("A", n, ",", n, " 0 ", L, ",", 1 - p, " ", S, ",", k);
            return A.push("Z"), A.join("")
        }

        function t(n, t) {
            return "M0," + n + "A" + n + "," + n + " 0 1," + t + " 0," + -n + "A" + n + "," + n + " 0 1," + t + " 0," + n
        }
        var e = hu,
            r = pu,
            i = su,
            u = ql,
            o = gu,
            a = vu,
            l = du;
        return n.innerRadius = function(t) {
            return arguments.length ? (e = En(t), n) : e
        }, n.outerRadius = function(t) {
            return arguments.length ? (r = En(t), n) : r
        }, n.cornerRadius = function(t) {
            return arguments.length ? (i = En(t), n) : i
        }, n.padRadius = function(t) {
            return arguments.length ? (u = t == ql ? ql : En(t), n) : u
        }, n.startAngle = function(t) {
            return arguments.length ? (o = En(t), n) : o
        }, n.endAngle = function(t) {
            return arguments.length ? (a = En(t), n) : a
        }, n.padAngle = function(t) {
            return arguments.length ? (l = En(t), n) : l
        }, n.centroid = function() {
            var n = (+e.apply(this, arguments) + +r.apply(this, arguments)) / 2,
                t = (+o.apply(this, arguments) + +a.apply(this, arguments)) / 2 - Io;
            return [Math.cos(t) * n, Math.sin(t) * n]
        }, n
    };
    var ql = "auto";
    ao.svg.line = function() {
        return Mu(m)
    };
    var Tl = ao.map({
        linear: xu,
        "linear-closed": bu,
        step: _u,
        "step-before": wu,
        "step-after": Su,
        basis: zu,
        "basis-open": Lu,
        "basis-closed": qu,
        bundle: Tu,
        cardinal: Eu,
        "cardinal-open": ku,
        "cardinal-closed": Nu,
        monotone: Fu
    });
    Tl.forEach(function(n, t) {
        t.key = n, t.closed = /-closed$/.test(n)
    });
    var Rl = [0, 2 / 3, 1 / 3, 0],
        Dl = [0, 1 / 3, 2 / 3, 0],
        Pl = [0, 1 / 6, 2 / 3, 1 / 6];
    ao.svg.line.radial = function() {
        var n = Mu(Hu);
        return n.radius = n.x, delete n.x, n.angle = n.y, delete n.y, n
    }, wu.reverse = Su, Su.reverse = wu, ao.svg.area = function() {
        return Ou(m)
    }, ao.svg.area.radial = function() {
        var n = Ou(Hu);
        return n.radius = n.x, delete n.x, n.innerRadius = n.x0, delete n.x0, n.outerRadius = n.x1, delete n.x1, n.angle = n.y, delete n.y, n.startAngle = n.y0, delete n.y0, n.endAngle = n.y1, delete n.y1, n
    }, ao.svg.chord = function() {
        function n(n, a) {
            var l = t(this, u, n, a),
                c = t(this, o, n, a);
            return "M" + l.p0 + r(l.r, l.p1, l.a1 - l.a0) + (e(l, c) ? i(l.r, l.p1, l.r, l.p0) : i(l.r, l.p1, c.r, c.p0) + r(c.r, c.p1, c.a1 - c.a0) + i(c.r, c.p1, l.r, l.p0)) + "Z"
        }

        function t(n, t, e, r) {
            var i = t.call(n, e, r),
                u = a.call(n, i, r),
                o = l.call(n, i, r) - Io,
                f = c.call(n, i, r) - Io;
            return {
                r: u,
                a0: o,
                a1: f,
                p0: [u * Math.cos(o), u * Math.sin(o)],
                p1: [u * Math.cos(f), u * Math.sin(f)]
            }
        }

        function e(n, t) {
            return n.a0 == t.a0 && n.a1 == t.a1
        }

        function r(n, t, e) {
            return "A" + n + "," + n + " 0 " + +(e > Fo) + ",1 " + t
        }

        function i(n, t, e, r) {
            return "Q 0,0 " + r
        }
        var u = Me,
            o = xe,
            a = Iu,
            l = gu,
            c = vu;
        return n.radius = function(t) {
            return arguments.length ? (a = En(t), n) : a
        }, n.source = function(t) {
            return arguments.length ? (u = En(t), n) : u
        }, n.target = function(t) {
            return arguments.length ? (o = En(t), n) : o
        }, n.startAngle = function(t) {
            return arguments.length ? (l = En(t), n) : l
        }, n.endAngle = function(t) {
            return arguments.length ? (c = En(t), n) : c
        }, n
    }, ao.svg.diagonal = function() {
        function n(n, i) {
            var u = t.call(this, n, i),
                o = e.call(this, n, i),
                a = (u.y + o.y) / 2,
                l = [u, {
                    x: u.x,
                    y: a
                }, {
                    x: o.x,
                    y: a
                }, o];
            return l = l.map(r), "M" + l[0] + "C" + l[1] + " " + l[2] + " " + l[3]
        }
        var t = Me,
            e = xe,
            r = Yu;
        return n.source = function(e) {
            return arguments.length ? (t = En(e), n) : t
        }, n.target = function(t) {
            return arguments.length ? (e = En(t), n) : e
        }, n.projection = function(t) {
            return arguments.length ? (r = t, n) : r
        }, n
    }, ao.svg.diagonal.radial = function() {
        var n = ao.svg.diagonal(),
            t = Yu,
            e = n.projection;
        return n.projection = function(n) {
            return arguments.length ? e(Zu(t = n)) : t
        }, n
    }, ao.svg.symbol = function() {
        function n(n, r) {
            return (Ul.get(t.call(this, n, r)) || $u)(e.call(this, n, r))
        }
        var t = Xu,
            e = Vu;
        return n.type = function(e) {
            return arguments.length ? (t = En(e), n) : t
        }, n.size = function(t) {
            return arguments.length ? (e = En(t), n) : e
        }, n
    };
    var Ul = ao.map({
        circle: $u,
        cross: function(n) {
            var t = Math.sqrt(n / 5) / 2;
            return "M" + -3 * t + "," + -t + "H" + -t + "V" + -3 * t + "H" + t + "V" + -t + "H" + 3 * t + "V" + t + "H" + t + "V" + 3 * t + "H" + -t + "V" + t + "H" + -3 * t + "Z"
        },
        diamond: function(n) {
            var t = Math.sqrt(n / (2 * Fl)),
                e = t * Fl;
            return "M0," + -t + "L" + e + ",0 0," + t + " " + -e + ",0Z"
        },
        square: function(n) {
            var t = Math.sqrt(n) / 2;
            return "M" + -t + "," + -t + "L" + t + "," + -t + " " + t + "," + t + " " + -t + "," + t + "Z"
        },
        "triangle-down": function(n) {
            var t = Math.sqrt(n / jl),
                e = t * jl / 2;
            return "M0," + e + "L" + t + "," + -e + " " + -t + "," + -e + "Z"
        },
        "triangle-up": function(n) {
            var t = Math.sqrt(n / jl),
                e = t * jl / 2;
            return "M0," + -e + "L" + t + "," + e + " " + -t + "," + e + "Z"
        }
    });
    ao.svg.symbolTypes = Ul.keys();
    var jl = Math.sqrt(3),
        Fl = Math.tan(30 * Yo);
    Co.transition = function(n) {
        for (var t, e, r = Hl || ++Zl, i = Ku(n), u = [], o = Ol || {
                time: Date.now(),
                ease: Nr,
                delay: 0,
                duration: 250
            }, a = -1, l = this.length; ++a < l;) {
            u.push(t = []);
            for (var c = this[a], f = -1, s = c.length; ++f < s;)(e = c[f]) && Qu(e, f, i, r, o), t.push(e)
        }
        return Wu(u, i, r)
    }, Co.interrupt = function(n) {
        return this.each(null == n ? Il : Bu(Ku(n)))
    };
    var Hl, Ol, Il = Bu(Ku()),
        Yl = [],
        Zl = 0;
    Yl.call = Co.call, Yl.empty = Co.empty, Yl.node = Co.node, Yl.size = Co.size, ao.transition = function(n, t) {
        return n && n.transition ? Hl ? n.transition(t) : n : ao.selection().transition(n)
    }, ao.transition.prototype = Yl, Yl.select = function(n) {
        var t, e, r, i = this.id,
            u = this.namespace,
            o = [];
        n = A(n);
        for (var a = -1, l = this.length; ++a < l;) {
            o.push(t = []);
            for (var c = this[a], f = -1, s = c.length; ++f < s;)(r = c[f]) && (e = n.call(r, r.__data__, f, a)) ? ("__data__" in r && (e.__data__ = r.__data__), Qu(e, f, u, i, r[u][i]), t.push(e)) : t.push(null)
        }
        return Wu(o, u, i)
    }, Yl.selectAll = function(n) {
        var t, e, r, i, u, o = this.id,
            a = this.namespace,
            l = [];
        n = C(n);
        for (var c = -1, f = this.length; ++c < f;)
            for (var s = this[c], h = -1, p = s.length; ++h < p;)
                if (r = s[h]) {
                    u = r[a][o], e = n.call(r, r.__data__, h, c), l.push(t = []);
                    for (var g = -1, v = e.length; ++g < v;)(i = e[g]) && Qu(i, g, a, o, u), t.push(i)
                }
        return Wu(l, a, o)
    }, Yl.filter = function(n) {
        var t, e, r, i = [];
        "function" != typeof n && (n = O(n));
        for (var u = 0, o = this.length; o > u; u++) {
            i.push(t = []);
            for (var e = this[u], a = 0, l = e.length; l > a; a++)(r = e[a]) && n.call(r, r.__data__, a, u) && t.push(r)
        }
        return Wu(i, this.namespace, this.id)
    }, Yl.tween = function(n, t) {
        var e = this.id,
            r = this.namespace;
        return arguments.length < 2 ? this.node()[r][e].tween.get(n) : Y(this, null == t ? function(t) {
            t[r][e].tween.remove(n)
        } : function(i) {
            i[r][e].tween.set(n, t)
        })
    }, Yl.attr = function(n, t) {
        function e() {
            this.removeAttribute(a)
        }

        function r() {
            this.removeAttributeNS(a.space, a.local)
        }

        function i(n) {
            return null == n ? e : (n += "", function() {
                var t, e = this.getAttribute(a);
                return e !== n && (t = o(e, n), function(n) {
                    this.setAttribute(a, t(n))
                })
            })
        }

        function u(n) {
            return null == n ? r : (n += "", function() {
                var t, e = this.getAttributeNS(a.space, a.local);
                return e !== n && (t = o(e, n), function(n) {
                    this.setAttributeNS(a.space, a.local, t(n))
                })
            })
        }
        if (arguments.length < 2) {
            for (t in n) this.attr(t, n[t]);
            return this
        }
        var o = "transform" == n ? $r : Mr,
            a = ao.ns.qualify(n);
        return Ju(this, "attr." + n, t, a.local ? u : i)
    }, Yl.attrTween = function(n, t) {
        function e(n, e) {
            var r = t.call(this, n, e, this.getAttribute(i));
            return r && function(n) {
                this.setAttribute(i, r(n))
            }
        }

        function r(n, e) {
            var r = t.call(this, n, e, this.getAttributeNS(i.space, i.local));
            return r && function(n) {
                this.setAttributeNS(i.space, i.local, r(n))
            }
        }
        var i = ao.ns.qualify(n);
        return this.tween("attr." + n, i.local ? r : e)
    }, Yl.style = function(n, e, r) {
        function i() {
            this.style.removeProperty(n)
        }

        function u(e) {
            return null == e ? i : (e += "", function() {
                var i, u = t(this).getComputedStyle(this, null).getPropertyValue(n);
                return u !== e && (i = Mr(u, e), function(t) {
                    this.style.setProperty(n, i(t), r)
                })
            })
        }
        var o = arguments.length;
        if (3 > o) {
            if ("string" != typeof n) {
                2 > o && (e = "");
                for (r in n) this.style(r, n[r], e);
                return this
            }
            r = ""
        }
        return Ju(this, "style." + n, e, u)
    }, Yl.styleTween = function(n, e, r) {
        function i(i, u) {
            var o = e.call(this, i, u, t(this).getComputedStyle(this, null).getPropertyValue(n));
            return o && function(t) {
                this.style.setProperty(n, o(t), r)
            }
        }
        return arguments.length < 3 && (r = ""), this.tween("style." + n, i)
    }, Yl.text = function(n) {
        return Ju(this, "text", n, Gu)
    }, Yl.remove = function() {
        var n = this.namespace;
        return this.each("end.transition", function() {
            var t;
            this[n].count < 2 && (t = this.parentNode) && t.removeChild(this)
        })
    }, Yl.ease = function(n) {
        var t = this.id,
            e = this.namespace;
        return arguments.length < 1 ? this.node()[e][t].ease : ("function" != typeof n && (n = ao.ease.apply(ao, arguments)), Y(this, function(r) {
            r[e][t].ease = n
        }))
    }, Yl.delay = function(n) {
        var t = this.id,
            e = this.namespace;
        return arguments.length < 1 ? this.node()[e][t].delay : Y(this, "function" == typeof n ? function(r, i, u) {
            r[e][t].delay = +n.call(r, r.__data__, i, u)
        } : (n = +n, function(r) {
            r[e][t].delay = n
        }))
    }, Yl.duration = function(n) {
        var t = this.id,
            e = this.namespace;
        return arguments.length < 1 ? this.node()[e][t].duration : Y(this, "function" == typeof n ? function(r, i, u) {
            r[e][t].duration = Math.max(1, n.call(r, r.__data__, i, u))
        } : (n = Math.max(1, n), function(r) {
            r[e][t].duration = n
        }))
    }, Yl.each = function(n, t) {
        var e = this.id,
            r = this.namespace;
        if (arguments.length < 2) {
            var i = Ol,
                u = Hl;
            try {
                Hl = e, Y(this, function(t, i, u) {
                    Ol = t[r][e], n.call(t, t.__data__, i, u)
                })
            } finally {
                Ol = i, Hl = u
            }
        } else Y(this, function(i) {
            var u = i[r][e];
            (u.event || (u.event = ao.dispatch("start", "end", "interrupt"))).on(n, t)
        });
        return this
    }, Yl.transition = function() {
        for (var n, t, e, r, i = this.id, u = ++Zl, o = this.namespace, a = [], l = 0, c = this.length; c > l; l++) {
            a.push(n = []);
            for (var t = this[l], f = 0, s = t.length; s > f; f++)(e = t[f]) && (r = e[o][i], Qu(e, f, o, u, {
                time: r.time,
                ease: r.ease,
                delay: r.delay + r.duration,
                duration: r.duration
            })), n.push(e)
        }
        return Wu(a, o, u)
    }, ao.svg.axis = function() {
        function n(n) {
            n.each(function() {
                var n, c = ao.select(this),
                    f = this.__chart__ || e,
                    s = this.__chart__ = e.copy(),
                    h = null == l ? s.ticks ? s.ticks.apply(s, a) : s.domain() : l,
                    p = null == t ? s.tickFormat ? s.tickFormat.apply(s, a) : m : t,
                    g = c.selectAll(".tick").data(h, s),
                    v = g.enter().insert("g", ".domain").attr("class", "tick").style("opacity", Uo),
                    d = ao.transition(g.exit()).style("opacity", Uo).remove(),
                    y = ao.transition(g.order()).style("opacity", 1),
                    M = Math.max(i, 0) + o,
                    x = Zi(s),
                    b = c.selectAll(".domain").data([0]),
                    _ = (b.enter().append("path").attr("class", "domain"), ao.transition(b));
                v.append("line"), v.append("text");
                var w, S, k, N, E = v.select("line"),
                    A = y.select("line"),
                    C = g.select("text").text(p),
                    z = v.select("text"),
                    L = y.select("text"),
                    q = "top" === r || "left" === r ? -1 : 1;
                if ("bottom" === r || "top" === r ? (n = no, w = "x", k = "y", S = "x2", N = "y2", C.attr("dy", 0 > q ? "0em" : ".71em").style("text-anchor", "middle"), _.attr("d", "M" + x[0] + "," + q * u + "V0H" + x[1] + "V" + q * u)) : (n = to, w = "y", k = "x", S = "y2", N = "x2", C.attr("dy", ".32em").style("text-anchor", 0 > q ? "end" : "start"), _.attr("d", "M" + q * u + "," + x[0] + "H0V" + x[1] + "H" + q * u)), E.attr(N, q * i), z.attr(k, q * M), A.attr(S, 0).attr(N, q * i), L.attr(w, 0).attr(k, q * M), s.rangeBand) {
                    var T = s,
                        R = T.rangeBand() / 2;
                    f = s = function(n) {
                        return T(n) + R
                    }
                } else f.rangeBand ? f = s : d.call(n, s, f);
                v.call(n, f, s), y.call(n, s, s)
            })
        }
        var t, e = ao.scale.linear(),
            r = Vl,
            i = 6,
            u = 6,
            o = 3,
            a = [10],
            l = null;
        return n.scale = function(t) {
            return arguments.length ? (e = t, n) : e
        }, n.orient = function(t) {
            return arguments.length ? (r = t in Xl ? t + "" : Vl, n) : r
        }, n.ticks = function() {
            return arguments.length ? (a = co(arguments), n) : a
        }, n.tickValues = function(t) {
            return arguments.length ? (l = t, n) : l
        }, n.tickFormat = function(e) {
            return arguments.length ? (t = e, n) : t
        }, n.tickSize = function(t) {
            var e = arguments.length;
            return e ? (i = +t, u = +arguments[e - 1], n) : i
        }, n.innerTickSize = function(t) {
            return arguments.length ? (i = +t, n) : i
        }, n.outerTickSize = function(t) {
            return arguments.length ? (u = +t, n) : u
        }, n.tickPadding = function(t) {
            return arguments.length ? (o = +t, n) : o
        }, n.tickSubdivide = function() {
            return arguments.length && n
        }, n
    };
    var Vl = "bottom",
        Xl = {
            top: 1,
            right: 1,
            bottom: 1,
            left: 1
        };
    ao.svg.brush = function() {
        function n(t) {
            t.each(function() {
                var t = ao.select(this).style("pointer-events", "all").style("-webkit-tap-highlight-color", "rgba(0,0,0,0)").on("mousedown.brush", u).on("touchstart.brush", u),
                    o = t.selectAll(".background").data([0]);
                o.enter().append("rect").attr("class", "background").style("visibility", "hidden").style("cursor", "crosshair"), t.selectAll(".extent").data([0]).enter().append("rect").attr("class", "extent").style("cursor", "move");
                var a = t.selectAll(".resize").data(v, m);
                a.exit().remove(), a.enter().append("g").attr("class", function(n) {
                    return "resize " + n
                }).style("cursor", function(n) {
                    return $l[n]
                }).append("rect").attr("x", function(n) {
                    return /[ew]$/.test(n) ? -3 : null
                }).attr("y", function(n) {
                    return /^[ns]/.test(n) ? -3 : null
                }).attr("width", 6).attr("height", 6).style("visibility", "hidden"), a.style("display", n.empty() ? "none" : null);
                var l, s = ao.transition(t),
                    h = ao.transition(o);
                c && (l = Zi(c), h.attr("x", l[0]).attr("width", l[1] - l[0]), r(s)), f && (l = Zi(f), h.attr("y", l[0]).attr("height", l[1] - l[0]), i(s)), e(s)
            })
        }

        function e(n) {
            n.selectAll(".resize").attr("transform", function(n) {
                return "translate(" + s[+/e$/.test(n)] + "," + h[+/^s/.test(n)] + ")"
            })
        }

        function r(n) {
            n.select(".extent").attr("x", s[0]), n.selectAll(".extent,.n>rect,.s>rect").attr("width", s[1] - s[0])
        }

        function i(n) {
            n.select(".extent").attr("y", h[0]), n.selectAll(".extent,.e>rect,.w>rect").attr("height", h[1] - h[0])
        }

        function u() {
            function u() {
                32 == ao.event.keyCode && (C || (M = null, L[0] -= s[1], L[1] -= h[1], C = 2), S())
            }

            function v() {
                32 == ao.event.keyCode && 2 == C && (L[0] += s[1], L[1] += h[1], C = 0, S())
            }

            function d() {
                var n = ao.mouse(b),
                    t = !1;
                x && (n[0] += x[0], n[1] += x[1]), C || (ao.event.altKey ? (M || (M = [(s[0] + s[1]) / 2, (h[0] + h[1]) / 2]), L[0] = s[+(n[0] < M[0])], L[1] = h[+(n[1] < M[1])]) : M = null), E && y(n, c, 0) && (r(k), t = !0), A && y(n, f, 1) && (i(k), t = !0), t && (e(k), w({
                    type: "brush",
                    mode: C ? "move" : "resize"
                }))
            }

            function y(n, t, e) {
                var r, i, u = Zi(t),
                    l = u[0],
                    c = u[1],
                    f = L[e],
                    v = e ? h : s,
                    d = v[1] - v[0];
                return C && (l -= f, c -= d + f), r = (e ? g : p) ? Math.max(l, Math.min(c, n[e])) : n[e], C ? i = (r += f) + d : (M && (f = Math.max(l, Math.min(c, 2 * M[e] - r))), r > f ? (i = r, r = f) : i = f), v[0] != r || v[1] != i ? (e ? a = null : o = null, v[0] = r, v[1] = i, !0) : void 0
            }

            function m() {
                d(), k.style("pointer-events", "all").selectAll(".resize").style("display", n.empty() ? "none" : null), ao.select("body").style("cursor", null), q.on("mousemove.brush", null).on("mouseup.brush", null).on("touchmove.brush", null).on("touchend.brush", null).on("keydown.brush", null).on("keyup.brush", null), z(), w({
                    type: "brushend"
                })
            }
            var M, x, b = this,
                _ = ao.select(ao.event.target),
                w = l.of(b, arguments),
                k = ao.select(b),
                N = _.datum(),
                E = !/^(n|s)$/.test(N) && c,
                A = !/^(e|w)$/.test(N) && f,
                C = _.classed("extent"),
                z = W(b),
                L = ao.mouse(b),
                q = ao.select(t(b)).on("keydown.brush", u).on("keyup.brush", v);
            if (ao.event.changedTouches ? q.on("touchmove.brush", d).on("touchend.brush", m) : q.on("mousemove.brush", d).on("mouseup.brush", m), k.interrupt().selectAll("*").interrupt(), C) L[0] = s[0] - L[0], L[1] = h[0] - L[1];
            else if (N) {
                var T = +/w$/.test(N),
                    R = +/^n/.test(N);
                x = [s[1 - T] - L[0], h[1 - R] - L[1]], L[0] = s[T], L[1] = h[R]
            } else ao.event.altKey && (M = L.slice());
            k.style("pointer-events", "none").selectAll(".resize").style("display", null), ao.select("body").style("cursor", _.style("cursor")), w({
                type: "brushstart"
            }), d()
        }
        var o, a, l = N(n, "brushstart", "brush", "brushend"),
            c = null,
            f = null,
            s = [0, 0],
            h = [0, 0],
            p = !0,
            g = !0,
            v = Bl[0];
        return n.event = function(n) {
            n.each(function() {
                var n = l.of(this, arguments),
                    t = {
                        x: s,
                        y: h,
                        i: o,
                        j: a
                    },
                    e = this.__chart__ || t;
                this.__chart__ = t, Hl ? ao.select(this).transition().each("start.brush", function() {
                    o = e.i, a = e.j, s = e.x, h = e.y, n({
                        type: "brushstart"
                    })
                }).tween("brush:brush", function() {
                    var e = xr(s, t.x),
                        r = xr(h, t.y);
                    return o = a = null,
                        function(i) {
                            s = t.x = e(i), h = t.y = r(i), n({
                                type: "brush",
                                mode: "resize"
                            })
                        }
                }).each("end.brush", function() {
                    o = t.i, a = t.j, n({
                        type: "brush",
                        mode: "resize"
                    }), n({
                        type: "brushend"
                    })
                }) : (n({
                    type: "brushstart"
                }), n({
                    type: "brush",
                    mode: "resize"
                }), n({
                    type: "brushend"
                }))
            })
        }, n.x = function(t) {
            return arguments.length ? (c = t, v = Bl[!c << 1 | !f], n) : c
        }, n.y = function(t) {
            return arguments.length ? (f = t, v = Bl[!c << 1 | !f], n) : f
        }, n.clamp = function(t) {
            return arguments.length ? (c && f ? (p = !!t[0], g = !!t[1]) : c ? p = !!t : f && (g = !!t), n) : c && f ? [p, g] : c ? p : f ? g : null
        }, n.extent = function(t) {
            var e, r, i, u, l;
            return arguments.length ? (c && (e = t[0], r = t[1], f && (e = e[0], r = r[0]), o = [e, r], c.invert && (e = c(e), r = c(r)), e > r && (l = e, e = r, r = l), e == s[0] && r == s[1] || (s = [e, r])), f && (i = t[0], u = t[1], c && (i = i[1], u = u[1]), a = [i, u], f.invert && (i = f(i), u = f(u)), i > u && (l = i, i = u, u = l), i == h[0] && u == h[1] || (h = [i, u])), n) : (c && (o ? (e = o[0], r = o[1]) : (e = s[0], r = s[1], c.invert && (e = c.invert(e), r = c.invert(r)), e > r && (l = e, e = r, r = l))), f && (a ? (i = a[0], u = a[1]) : (i = h[0], u = h[1], f.invert && (i = f.invert(i), u = f.invert(u)), i > u && (l = i, i = u, u = l))), c && f ? [
                [e, i],
                [r, u]
            ] : c ? [e, r] : f && [i, u])
        }, n.clear = function() {
            return n.empty() || (s = [0, 0], h = [0, 0], o = a = null), n
        }, n.empty = function() {
            return !!c && s[0] == s[1] || !!f && h[0] == h[1]
        }, ao.rebind(n, l, "on")
    };
    var $l = {
            n: "ns-resize",
            e: "ew-resize",
            s: "ns-resize",
            w: "ew-resize",
            nw: "nwse-resize",
            ne: "nesw-resize",
            se: "nwse-resize",
            sw: "nesw-resize"
        },
        Bl = [
            ["n", "e", "s", "w", "nw", "ne", "se", "sw"],
            ["e", "w"],
            ["n", "s"],
            []
        ],
        Wl = ga.format = xa.timeFormat,
        Jl = Wl.utc,
        Gl = Jl("%Y-%m-%dT%H:%M:%S.%LZ");
    Wl.iso = Date.prototype.toISOString && +new Date("2000-01-01T00:00:00.000Z") ? eo : Gl, eo.parse = function(n) {
        var t = new Date(n);
        return isNaN(t) ? null : t
    }, eo.toString = Gl.toString, ga.second = On(function(n) {
        return new va(1e3 * Math.floor(n / 1e3))
    }, function(n, t) {
        n.setTime(n.getTime() + 1e3 * Math.floor(t))
    }, function(n) {
        return n.getSeconds()
    }), ga.seconds = ga.second.range, ga.seconds.utc = ga.second.utc.range, ga.minute = On(function(n) {
        return new va(6e4 * Math.floor(n / 6e4))
    }, function(n, t) {
        n.setTime(n.getTime() + 6e4 * Math.floor(t))
    }, function(n) {
        return n.getMinutes()
    }), ga.minutes = ga.minute.range, ga.minutes.utc = ga.minute.utc.range, ga.hour = On(function(n) {
        var t = n.getTimezoneOffset() / 60;
        return new va(36e5 * (Math.floor(n / 36e5 - t) + t))
    }, function(n, t) {
        n.setTime(n.getTime() + 36e5 * Math.floor(t))
    }, function(n) {
        return n.getHours()
    }), ga.hours = ga.hour.range, ga.hours.utc = ga.hour.utc.range, ga.month = On(function(n) {
        return n = ga.day(n), n.setDate(1), n
    }, function(n, t) {
        n.setMonth(n.getMonth() + t)
    }, function(n) {
        return n.getMonth()
    }), ga.months = ga.month.range, ga.months.utc = ga.month.utc.range;
    var Kl = [1e3, 5e3, 15e3, 3e4, 6e4, 3e5, 9e5, 18e5, 36e5, 108e5, 216e5, 432e5, 864e5, 1728e5, 6048e5, 2592e6, 7776e6, 31536e6],
        Ql = [
            [ga.second, 1],
            [ga.second, 5],
            [ga.second, 15],
            [ga.second, 30],
            [ga.minute, 1],
            [ga.minute, 5],
            [ga.minute, 15],
            [ga.minute, 30],
            [ga.hour, 1],
            [ga.hour, 3],
            [ga.hour, 6],
            [ga.hour, 12],
            [ga.day, 1],
            [ga.day, 2],
            [ga.week, 1],
            [ga.month, 1],
            [ga.month, 3],
            [ga.year, 1]
        ],
        nc = Wl.multi([
            [".%L", function(n) {
                return n.getMilliseconds()
            }],
            [":%S", function(n) {
                return n.getSeconds()
            }],
            ["%I:%M", function(n) {
                return n.getMinutes()
            }],
            ["%I %p", function(n) {
                return n.getHours()
            }],
            ["%a %d", function(n) {
                return n.getDay() && 1 != n.getDate()
            }],
            ["%b %d", function(n) {
                return 1 != n.getDate()
            }],
            ["%B", function(n) {
                return n.getMonth()
            }],
            ["%Y", zt]
        ]),
        tc = {
            range: function(n, t, e) {
                return ao.range(Math.ceil(n / e) * e, +t, e).map(io)
            },
            floor: m,
            ceil: m
        };
    Ql.year = ga.year, ga.scale = function() {
        return ro(ao.scale.linear(), Ql, nc)
    };
    var ec = Ql.map(function(n) {
            return [n[0].utc, n[1]]
        }),
        rc = Jl.multi([
            [".%L", function(n) {
                return n.getUTCMilliseconds()
            }],
            [":%S", function(n) {
                return n.getUTCSeconds()
            }],
            ["%I:%M", function(n) {
                return n.getUTCMinutes()
            }],
            ["%I %p", function(n) {
                return n.getUTCHours()
            }],
            ["%a %d", function(n) {
                return n.getUTCDay() && 1 != n.getUTCDate()
            }],
            ["%b %d", function(n) {
                return 1 != n.getUTCDate()
            }],
            ["%B", function(n) {
                return n.getUTCMonth()
            }],
            ["%Y", zt]
        ]);
    ec.year = ga.year.utc, ga.scale.utc = function() {
        return ro(ao.scale.linear(), ec, rc)
    }, ao.text = An(function(n) {
        return n.responseText
    }), ao.json = function(n, t) {
        return Cn(n, "application/json", uo, t)
    }, ao.html = function(n, t) {
        return Cn(n, "text/html", oo, t)
    }, ao.xml = An(function(n) {
        return n.responseXML
    }), "function" == typeof define && define.amd ? (this.d3 = ao, define(ao)) : "object" == typeof module && module.exports ? module.exports = ao : this.d3 = ao
}();
                                    

#2 JavaScript::Eval (size: 2881, repeated: 1) - SHA256: 5ada68bba12f6e96babd97060072fab6b0317529657cbe5153635cd556b2ca9d

                                        $(document).ready(function() {
    if ($(window).width() < 445)
        var width = $(window).width() - 50;
    else
        var width = 445;

    var height = width * 0.65; //SLO

    $(window).on('resize', function() {

        var scale = Math.min(
            $('.map').width() / $('svg').attr('width'),
            $('.map').height() / $('svg').attr('height')
        );

        $('g.features').css({
            'transform': 'scale(' + scale + ')'
        });
        width = 445;
        height = width * 0.65;
        $('svg').css({
            'width': width,
            'height': height
        });
    });


    //Map projection
    var projection = d3.geo.mercator()
        .scale(height * 25)
        .center([14.983215810000003, 46.15802716341369])
        .translate([width / 2, height / 2]) //translate to center the map in view

    //Generate paths based on projection
    var path = d3.geo.path()
        .projection(projection);

    //Create an SVG
    var svg = d3.select("div.map").append("svg")
        .attr("width", width)
        .attr("height", height);

    //Group for the map features
    var features = svg.append("g")
        .attr("class", "features");

    //Create a tooltip, hidden at the start
    var tooltip = d3.select("div.map").append("div").attr("class", "tooltip");

    //Keeps track of currently zoomed feature
    var centered;

    d3.json("/ext/gadm_SVN.json", function(error, geodata) {
        if (error) return console.log(error); //unknown error, check the console
        var i = 0;
        //Create a path for each map feature in the data
        features.selectAll("path")
            .data(geodata.features)
            .enter()
            .append("path")
            .attr("d", path)
            .attr("class", initiate)
            .on("mouseover", showTooltip)
            .on("mousemove", moveTooltip)
            .on("mouseout", hideTooltip)
            .on("click", clicked);
    });

    function initiate(d, i) {
        if (d.id == 14) {
            return 'highlighted';
        }
    }

    // Add optional onClick events for features here
    // d.properties contains the attributes (e.g. d.properties.name, d.properties.population)
    function clicked(d, i) {
        if (document.documentElement.lang == 'sl')
            var text = 'Izbrana regija';
        else
            var text = 'Selected region';

        $('#NNsearch input:hidden[name=r]').val(d.id);
        get_ue(d.id);

        $('#regue .msgI').html(text + ': ' + d.properties.VARNAME_1);

        // Highlight the new feature
        features.selectAll("path")
            .classed("highlighted", function(a) {
                return a === d;
            })
    }


    //Position of the tooltip relative to the cursor
    var tooltipOffset = {
        x: -445,
        y: -290
    };

    //Create a tooltip, hidden at the start
    function showTooltip(d) {
        moveTooltip();

        tooltip.style("display", "block")
            .text(d.properties.VARNAME_1);
    }

    //Move the tooltip to track the mouse
    function moveTooltip() {
        $('.map').mousemove(function(e) {
            tooltip.style("top", (e.pageY + tooltipOffset.y) + "px")
                .style("left", (e.pageX + tooltipOffset.x) + "px");
        });

    }

    //Create a tooltip, hidden at the start
    function hideTooltip() {
        tooltip.style("display", "none");
    }
})
                                    

Executed Writes (7)

#1 JavaScript::Write (size: 18, repeated: 1) - SHA256: e0215c16fadbc057d1be3260dc2234924c46fa5579ac861f11b11d7dc5a736c7

                                        & amp;
charset = UTF - 8
                                    

#2 JavaScript::Write (size: 72, repeated: 1) - SHA256: b94ef965d87dedb2f3bc0bb8b2019f51ec289918d9c535e52a70c69abb4a5a81

                                        & amp;
loc = https % 3 A //www.nepremicnine.net/nepremicnine.html%3Fid%3D6507190
                                    

#3 JavaScript::Write (size: 11, repeated: 1) - SHA256: d778419b5397605c21f7bb7f0475e79b701b8f0875051b5f8bda9862c565a474

                                        '></script>
                                    

#4 JavaScript::Write (size: 1719, repeated: 1) - SHA256: 4ad9b6da10a05ae62085346e67b0198b2d635841619b37f539756f0c4467a2c4

                                        < script type = "text/javascript" >
    (_gdeaq = window._gdeaq || []).push(['nc', 'false']); < /script> < script type = "text/javascript" >
    (_gdeaq = window._gdeaq || []).push(['cmp', false]); < /script> < i id = "_gde_isndwl_noknnjrkof"
style = "display: none !important; visibility: hidden !important" > < /i> < script type = "text/javascript" >
    (_gdeaq = window._gdeaq || []).push(['hit', 'si', 'nAuVfYi0CQ3JXHzUTXC1DJRpP8JGNG__IBc37nBVfO3.w7', 'qndhkmhgpk', 'jxrafoqfktckkdeohqivmxklcsld'], ['viewable', 'si', 'nAuVfYi0CQ3JXHzUTXC1DJRpP8JGNG__IBc37nBVfO3.w7', 'noknnjrkof', '_gde_isndwl_noknnjrkof']); < /script> < script type = "text/javascript"
src = "https://si.hit.gemius.pl/gdejs/xgde.js" > < /script><a href='https:/ / nepremicnine.click / www / delivery / ck.php ? oaparams = 2 __bannerid = 4258 __zoneid = 30 __cb = ef1a3cbfea__oadest = https % 3 A % 2 F % 2 Fsi.hit.gemius.pl % 2 Flshitredir % 2 Fid % 3 DnAuVfYi0CQ3JXHzUTXC1DJRpP8JGNG__IBc37nBVfO3.w7 % 2 Ffastid % 3 Dmvzhlsxbyfeqzmnwkinyifeeasmv % 2 Fstparam % 3 Dkprtqwkpna % 2 Fnc % 3 D0 % 2 Fgdpr % 3 D0 % 2 Fgdpr_consent % 3 D % 2 Furl % 3 Dhttps % 3 A % 2 F % 2 Fwww.nlb.si % 2 Fstanovanjski - kredit % 3 Futm_source % 3 Dnepremicnine % 26 utm_medium % 3 Ddisplay % 26 utm_content % 3 Dzamenjava_ozadja_otroci % 26 utm_campaign % 3 Dstanovanjski_kredit_nepremicnine ' target='
_blank '><img src='
https: //nepremicnine.click/www/images/aa3a54088a1452678b6b3e5bec76c4b4.jpg' width='1920' height='950' alt='' title='' border='0' /></a><div id='beacon_ef1a3cbfea' style='position: absolute; left: 0px; top: 0px; visibility: hidden;'><img src='https://nepremicnine.click/www/delivery/lg.php?bannerid=4258&amp;campaignid=1957&amp;zoneid=30&amp;loc=https%3A%2F%2Fwww.nepremicnine.net%2Fnepremicnine.html%3Fid%3D6507190&amp;cb=ef1a3cbfea' width='0' height='0' alt='' style='width: 0px; height: 0px;' /></div>
                                    

#5 JavaScript::Write (size: 83, repeated: 1) - SHA256: 410fb7671ef3dba4f98836e3169b967ffd61003b5b8880286d66158917c198a0

                                        < script type = 'text/javascript'
src = 'https://nepremicnine.click/www/delivery/ajs.php
                                    

#6 JavaScript::Write (size: 93, repeated: 1) - SHA256: cefad00b26fb36a6788764ed2e0bbc0b515d5aacb389083e81e4d5a69eb83e3d

                                        ? zoneid = 30 & amp;
target = _blank & amp;
withtext = 1 & amp;
f1 = 0 & amp;
f2 = 0 & amp;
f3 = & amp;
f4 = 0 & amp;
f5 = & amp;
z =
                                    

#7 JavaScript::Write (size: 19, repeated: 1) - SHA256: 008499d99013e4dde425c67f2b358970e0cdddb77b92b54a20475c99bcd02116

                                        & amp;
cb = 16566899061
                                    


HTTP Transactions (74)


Request Response
                                        
                                            GET /v1/ HTTP/1.1 
Host: firefox.settings.services.mozilla.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         18.165.201.103
HTTP/1.1 200 OK
Content-Type: application/json
                                        
Content-Length: 939
Connection: keep-alive
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: Content-Length, Backoff, Content-Type, Retry-After, Alert
Cache-Control: max-age=3600
Content-Security-Policy: default-src 'none'; frame-ancestors 'none'; base-uri 'none';
Date: Sun, 02 Oct 2022 16:03:11 GMT
X-Content-Type-Options: nosniff
X-Cache: Hit from cloudfront
Via: 1.1 096e5ecae9d1cd03edf8411ad106b092.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: LHR50-P3
X-Amz-Cf-Id: -TN4HsoNQt25PrGSdpgQY6iVG20L1QJaRXQyRsOIidjUAXF_gDJ4vQ==
Age: 1453


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with very long lines (939), with no line terminators
Size:   939
Md5:    2d12f67fe57a87e7366b662d153a5582
Sha1:   d7b02d81cc74f24a251d9363e0f4b0a149264ec1
Sha256: 73c273c0b5a2de3cb970b8e8c187999d3b55e760dc7766dab4bb76428d19b551
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         23.36.76.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "763E2DADFDD286A51327CD2000CA335E30CD0B9B7267875D22CA33F7556BA200"
Last-Modified: Fri, 30 Sep 2022 09:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=5977
Expires: Sun, 02 Oct 2022 18:07:01 GMT
Date: Sun, 02 Oct 2022 16:27:24 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: ocsp.sectigo.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 84
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         172.64.155.188
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Sun, 02 Oct 2022 16:27:24 GMT
Content-Length: 472
Connection: keep-alive
Last-Modified: Thu, 29 Sep 2022 23:29:58 GMT
Expires: Thu, 06 Oct 2022 23:29:57 GMT
Etag: "658284a5f9eb036644f3d4054f9712a8f1f2a7b3"
Cache-Control: max-age=370352,s-maxage=1800,public,no-transform,must-revalidate
X-CCACDN-Proxy-ID: mcdpinlb1
X-Frame-Options: SAMEORIGIN
CF-Cache-Status: DYNAMIC
Server: cloudflare
CF-RAY: 753ece287fef0b65-OSL

                                        
                                            GET /chains/remote-settings.content-signature.mozilla.org-2022-10-30-18-47-44.chain HTTP/1.1 
Host: content-signature-2.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         108.156.28.39
HTTP/2 200 OK
content-type: binary/octet-stream
                                        
content-length: 5348
last-modified: Sat, 10 Sep 2022 18:47:45 GMT
content-disposition: attachment
accept-ranges: bytes
server: AmazonS3
date: Sun, 02 Oct 2022 03:33:17 GMT
etag: "6113f8408c59aebe188d6af273b90743"
x-cache: Hit from cloudfront
via: 1.1 9fedc4d43d76bf30a3fb8278d99d39aa.cloudfront.net (CloudFront)
x-amz-cf-pop: LHR50-P1
x-amz-cf-id: 0_pLoeuTCbeKYI2BDwwLPH-g9Ys1uz3gKnQq8LrUNJtOy-QjV1SU1w==
age: 46448
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  PEM certificate\012- , ASCII text
Size:   5348
Md5:    6113f8408c59aebe188d6af273b90743
Sha1:   7398873bf00f99944eaa77ad3ebc0d43c23dba6b
Sha256: b6e0cc9ad68306208a160f3835fb8da76acc5a82d8fde1da5a98e1de1c11a770
                                        
                                            GET /v1/tiles HTTP/1.1 
Host: contile.services.mozilla.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         34.117.237.239
HTTP/2 200 OK
content-type: application/json
                                        
server: nginx
date: Sun, 02 Oct 2022 16:27:24 GMT
content-length: 12
strict-transport-security: max-age=31536000
via: 1.1 google
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with no line terminators
Size:   12
Md5:    23e88fb7b99543fb33315b29b1fad9d6
Sha1:   a48926c4ec03c7c8a4e8dffcd31e5a6cdda417ce
Sha256: 7d8f1de8b7de7bc21dfb546a1d0c51bf31f16eee5fad49dbceae1e76da38e5c3
                                        
                                            GET /ajax/libs/font-awesome/4.6.1/css/font-awesome.min.css HTTP/1.1 
Host: cdnjs.cloudflare.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.nepremicnine.net/
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         104.17.24.14
HTTP/2 200 OK
content-type: text/css; charset=utf-8
                                        
date: Sun, 02 Oct 2022 16:27:25 GMT
content-length: 5268
access-control-allow-origin: *
cache-control: public, max-age=30672000
content-encoding: br
etag: "5eb03e5f-7057"
last-modified: Mon, 04 May 2020 16:10:07 GMT
cf-cdnjs-via: cfworker/kv
cross-origin-resource-policy: cross-origin
timing-allow-origin: *
x-content-type-options: nosniff
vary: Accept-Encoding
cf-cache-status: HIT
age: 2071416
expires: Fri, 22 Sep 2023 16:27:25 GMT
accept-ranges: bytes
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=sSgAMAbvvH0Pl5nMsLG9MrsJ76A%2FOu2LllhqE3rVZNFNEt3CaEshM8JepGDbpF9xUkq4WGHn2JFlvxLqhIZ%2BW8FjZmSjUJI2jnmKdGUwr40ZfaWwUjfe36vfjPE30azD5h0j1x%2F%2B"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}
strict-transport-security: max-age=15780000
server: cloudflare
cf-ray: 753ece2b1c6ab50c-OSL
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (28596)
Size:   5268
Md5:    4c6ce5adfc49bf2bf9ee231b35bde307
Sha1:   2f7c2320a4a2907dd899ed116c509451246c1ecf
Sha256: 3e4e0a1ed831cafbbb68e73fd93033bc9c15cf96e86ef1a54d9ac4682f5d4c9e
                                        
                                            GET /ui/1.12.1/themes/base/jquery-ui.min.css HTTP/1.1 
Host: code.jquery.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.nepremicnine.net/
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         69.16.175.10
HTTP/2 200 OK
content-type: text/css
                                        
date: Sun, 02 Oct 2022 16:27:25 GMT
content-encoding: gzip
content-length: 7543
last-modified: Fri, 20 Aug 2021 17:47:54 GMT
accept-ranges: bytes
server: nginx
etag: W/"611feaca-7804"
cache-control: max-age=315360000, public
access-control-allow-origin: *
vary: Accept-Encoding
x-hw: 1664728045.dop206.sk1.t,1664728045.cds214.sk1.hn,1664728045.cds066.sk1.c
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (29135)
Size:   7543
Md5:    3c017bdb5311c64579a8d46e1626a783
Sha1:   725e5d32cce8dffa4b0592e6fc99bf510b05415a
Sha256: 449aac1ff4c43641ad7b1ff9fa0365a2d7bef89147a27c60320a3e293253d3fd
                                        
                                            GET /ui/1.12.1/jquery-ui.min.js HTTP/1.1 
Host: code.jquery.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.nepremicnine.net/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         69.16.175.10
HTTP/2 200 OK
content-type: application/javascript; charset=utf-8
                                        
date: Sun, 02 Oct 2022 16:27:25 GMT
content-encoding: gzip
content-length: 67751
last-modified: Fri, 20 Aug 2021 17:47:54 GMT
accept-ranges: bytes
server: nginx
etag: W/"611feaca-3dee4"
cache-control: max-age=315360000, public
access-control-allow-origin: *
vary: Accept-Encoding
x-hw: 1664728045.dop206.sk1.t,1664728045.cds214.sk1.hn,1664728045.cds227.sk1.c
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (32073)
Size:   67751
Md5:    f0bace743f1df1ed27e2fe6611e39946
Sha1:   e5f42b8d964a6bf9962b8a5e68a2b7cdeb9e59e2
Sha256: ff0566efdda39b480ab9871deddb3358906449518c2db3c105aa0b461c3c742d
                                        
                                            GET /Scripts/iskanje.js HTTP/1.1 
Host: www.nepremicnine.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.nepremicnine.net/nepremicnine.html?id=6507190
Cookie: PHPSESSID=1rpkt96svsenrmgnvddj1hov7p; IP=91.90.42.154; saved_0=%1F%8B%08%00%00%00%00%00%00%03%F3%B3%06%00P%99%28%9E%02%00%00%00; ID0=nn-6339bbed03119
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         91.235.242.143
HTTP/2 200 OK
content-type: application/javascript
                                        
date: Sun, 02 Oct 2022 16:27:25 GMT
server: Apache
strict-transport-security: max-age=31536000; includeSubDomains; preload
last-modified: Wed, 10 Oct 2018 04:41:27 GMT
etag: "a2c-577d8779d6bc0-gzip"
accept-ranges: bytes
cache-control: max-age=31536000
expires: Mon, 02 Oct 2023 16:27:25 GMT
vary: Accept-Encoding
content-encoding: gzip
content-length: 660
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with CRLF line terminators
Size:   660
Md5:    d9bd1b19619f228547a0f544d5675077
Sha1:   7777a655e7079c4171cc1b6c0f214b1cd431332d
Sha256: 173cd60f6f7ffb8ed6d17be6973b30f4342b770e78d21872abd08b4442efb4be
                                        
                                            GET /nepremicnine.html?id=6507190 HTTP/1.1 
Host: www.nepremicnine.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1

                                         
                                         91.235.242.143
HTTP/2 404 Not Found
content-type: text/html; charset=UTF-8
                                        
date: Sun, 02 Oct 2022 16:27:24 GMT
server: Apache
cache-control: no-cache, no-store, must-revalidate
pragma: no-cache
expires: 0
content-encoding: gzip
vary: Accept-Encoding
set-cookie: PHPSESSID=1rpkt96svsenrmgnvddj1hov7p; path=/ IP=91.90.42.154; expires=Tue, 01-Nov-2022 16:27:24 GMT; Max-Age=2592000; path=/ saved_0=%1F%8B%08%00%00%00%00%00%00%03%F3%B3%06%00P%99%28%9E%02%00%00%00; path=/ ID0=nn-6339bbed03119; expires=Tue, 01-Nov-2022 16:27:25 GMT; Max-Age=2592000; path=/
strict-transport-security: max-age=31536000; includeSubDomains; preload
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  data
Size:   26646
Md5:    7c03e343fbea3ad1504c3e36128d6839
Sha1:   845a1c757287fbcb96def139866cf0b416b724cc
Sha256: c2834e7965bc798e48e3cc314cecdc72a91d202cc8c90ab693e3565e1d20b2e4
                                        
                                            GET /images/vector-flags/eu-rounded.png HTTP/1.1 
Host: www.nepremicnine.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.nepremicnine.net/nepremicnine.html?id=6507190
Cookie: PHPSESSID=1rpkt96svsenrmgnvddj1hov7p; IP=91.90.42.154; saved_0=%1F%8B%08%00%00%00%00%00%00%03%F3%B3%06%00P%99%28%9E%02%00%00%00; ID0=nn-6339bbed03119
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         91.235.242.143
HTTP/2 200 OK
content-type: image/webp
                                        
date: Sun, 02 Oct 2022 16:27:25 GMT
server: Apache
strict-transport-security: max-age=31536000; includeSubDomains; preload
vary: Accept
last-modified: Thu, 30 Apr 2020 10:05:03 GMT
etag: "316-5a47f32c311c0"
accept-ranges: bytes
content-length: 790
cache-control: max-age=2592000
expires: Tue, 01 Nov 2022 16:27:25 GMT
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  RIFF (little-endian) data, Web/P image\012- data
Size:   790
Md5:    d5d6b388c7920c5a3bc4f5506413453c
Sha1:   ab7ebd9be34635f3a6e5d7c1430c3b56a1034ec5
Sha256: 04328a449a0678d1c9125acb6f13ef6008a5643889401e881b99cbf8a2cfffba
                                        
                                            GET /images/vector-flags/si-rounded.png HTTP/1.1 
Host: www.nepremicnine.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.nepremicnine.net/nepremicnine.html?id=6507190
Cookie: PHPSESSID=1rpkt96svsenrmgnvddj1hov7p; IP=91.90.42.154; saved_0=%1F%8B%08%00%00%00%00%00%00%03%F3%B3%06%00P%99%28%9E%02%00%00%00; ID0=nn-6339bbed03119
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         91.235.242.143
HTTP/2 200 OK
content-type: image/webp
                                        
date: Sun, 02 Oct 2022 16:27:25 GMT
server: Apache
strict-transport-security: max-age=31536000; includeSubDomains; preload
vary: Accept
last-modified: Thu, 30 Apr 2020 10:05:03 GMT
etag: "2ec-5a47f32c311c0"
accept-ranges: bytes
content-length: 748
cache-control: max-age=2592000
expires: Tue, 01 Nov 2022 16:27:25 GMT
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  RIFF (little-endian) data, Web/P image\012- data
Size:   748
Md5:    b32af8bbe0ebcb9aba1390cd7494e76e
Sha1:   c463fa1abe88af64089dfcc2a5024d1a33ff3b37
Sha256: e2a69b9e6e1983c02ddfe5c3909d36b585b53302b9b9c333f0bc1741af383c06
                                        
                                            GET /images/n-1.jpg HTTP/1.1 
Host: www.nepremicnine.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.nepremicnine.net/nepremicnine.html?id=6507190
Cookie: PHPSESSID=1rpkt96svsenrmgnvddj1hov7p; IP=91.90.42.154; saved_0=%1F%8B%08%00%00%00%00%00%00%03%F3%B3%06%00P%99%28%9E%02%00%00%00; ID0=nn-6339bbed03119
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         91.235.242.143
HTTP/2 200 OK
content-type: image/webp
                                        
date: Sun, 02 Oct 2022 16:27:25 GMT
server: Apache
strict-transport-security: max-age=31536000; includeSubDomains; preload
vary: Accept
last-modified: Thu, 30 Apr 2020 10:05:00 GMT
etag: "672-5a47f32954b00"
accept-ranges: bytes
content-length: 1650
cache-control: max-age=2592000
expires: Tue, 01 Nov 2022 16:27:25 GMT
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  RIFF (little-endian) data, Web/P image, VP8 encoding, 640x480, Scaling: [none]x[none], YUV color, decoders should clamp\012- data
Size:   1650
Md5:    bdd84bd585037418d108c2f595d3ad37
Sha1:   15e9874f2171931582ac5b86825f86023e99d4c1
Sha256: 126bb76a4019f55d115300cfe8cdb135565ac00cda4506f4e149e77d2c865771
                                        
                                            GET /images/logo-m.png HTTP/1.1 
Host: www.nepremicnine.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.nepremicnine.net/nepremicnine.html?id=6507190
Cookie: PHPSESSID=1rpkt96svsenrmgnvddj1hov7p; IP=91.90.42.154; saved_0=%1F%8B%08%00%00%00%00%00%00%03%F3%B3%06%00P%99%28%9E%02%00%00%00; ID0=nn-6339bbed03119
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         91.235.242.143
HTTP/2 200 OK
content-type: image/webp
                                        
date: Sun, 02 Oct 2022 16:27:25 GMT
server: Apache
strict-transport-security: max-age=31536000; includeSubDomains; preload
vary: Accept
last-modified: Thu, 30 Apr 2020 10:05:02 GMT
etag: "87e-5a47f32b3cf80"
accept-ranges: bytes
content-length: 2174
cache-control: max-age=2592000
expires: Tue, 01 Nov 2022 16:27:25 GMT
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  RIFF (little-endian) data, Web/P image\012- data
Size:   2174
Md5:    860338c495cc9a7393a13e3b896197b9
Sha1:   e66e9b2a4fac4e792e6eac8ef0a5ac1b4ab39e74
Sha256: 66888530512695525d97b439654954bb6dd3a8e9d0ac6585251beb34120e381e
                                        
                                            GET /js/d3.v3.min.js HTTP/1.1 
Host: www.nepremicnine.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.nepremicnine.net/nepremicnine.html?id=6507190
Cookie: PHPSESSID=1rpkt96svsenrmgnvddj1hov7p; IP=91.90.42.154; saved_0=%1F%8B%08%00%00%00%00%00%00%03%F3%B3%06%00P%99%28%9E%02%00%00%00; ID0=nn-6339bbed03119
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         91.235.242.143
HTTP/2 200 OK
content-type: application/javascript
                                        
date: Sun, 02 Oct 2022 16:27:25 GMT
server: Apache
strict-transport-security: max-age=31536000; includeSubDomains; preload
last-modified: Thu, 04 Jul 2019 04:32:28 GMT
etag: "250ad-58cd3771e0f00-gzip"
accept-ranges: bytes
cache-control: max-age=31536000
expires: Mon, 02 Oct 2023 16:27:25 GMT
vary: Accept-Encoding
content-encoding: gzip
content-length: 53508
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (32047)
Size:   53508
Md5:    73b2c35d95ab25f6119ddf717e14790f
Sha1:   14d62e71c3626df7cdb47e3a8a996cf3abe00e4e
Sha256: 6d94a3c0ea01f1d5c432a9080b4be75500c0398ae3a5e6198da652f9797dc17a
                                        
                                            GET /v1/buckets/main/collections/ms-language-packs/records/cfr-v1-en-US HTTP/1.1 
Host: firefox.settings.services.mozilla.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: application/json
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/json
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         18.165.201.103
HTTP/1.1 200 OK
Content-Type: application/json
                                        
Content-Length: 329
Connection: keep-alive
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: Alert, Content-Type, Expires, Backoff, ETag, Last-Modified, Pragma, Cache-Control, Content-Length, Retry-After
Content-Security-Policy: default-src 'none'; frame-ancestors 'none'; base-uri 'none';
Last-Modified: Fri, 25 Mar 2022 17:45:46 GMT
X-Content-Type-Options: nosniff
Cache-Control: max-age=3600, max-age=3600
Date: Sun, 02 Oct 2022 15:32:56 GMT
Expires: Sun, 02 Oct 2022 15:54:01 GMT
ETag: "1648230346554"
X-Cache: Hit from cloudfront
Via: 1.1 182a59e089d675b68d266c3e1c14253c.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: LHR50-P3
X-Amz-Cf-Id: FfUwMotuQQymQgcCZ-rIYuziDvPbWyiUw-AYbzGzfYro-tmgHruJFA==
Age: 3269


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with very long lines (329), with no line terminators
Size:   329
Md5:    0333b0655111aa68de771adfcc4db243
Sha1:   63f295a144ac87a7c8e23417626724eeca68a7eb
Sha256: 60636eb1dc67c9ed000fe0b49f03777ad6f549cb1d2b9ff010cf198465ae6300
                                        
                                            GET /scripts.min.js?v=release_1.3.072&r=7 HTTP/1.1 
Host: www.nepremicnine.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.nepremicnine.net/nepremicnine.html?id=6507190
Cookie: PHPSESSID=1rpkt96svsenrmgnvddj1hov7p; IP=91.90.42.154; saved_0=%1F%8B%08%00%00%00%00%00%00%03%F3%B3%06%00P%99%28%9E%02%00%00%00; ID0=nn-6339bbed03119
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         91.235.242.143
HTTP/2 200 OK
content-type: application/javascript
                                        
date: Sun, 02 Oct 2022 16:27:25 GMT
server: Apache
strict-transport-security: max-age=31536000; includeSubDomains; preload
last-modified: Wed, 28 Sep 2022 11:32:49 GMT
etag: "9c5e8-5e9bb1edf5c38-gzip"
accept-ranges: bytes
cache-control: max-age=31536000
expires: Mon, 02 Oct 2023 16:27:25 GMT
vary: Accept-Encoding
content-encoding: gzip
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  data
Size:   186989
Md5:    67b14ff536f47d055651f711827b049e
Sha1:   4e04b25789283a4b7c190547216f5764d1d35153
Sha256: 8caef8010f903a5d2f573b94fd3b49cc970e54264e245998997c40bf046cbb46
                                        
                                            POST / HTTP/1.1 
Host: ocsp.digicert.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 83
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         93.184.220.29
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Accept-Ranges: bytes
Age: 4700
Cache-Control: 'max-age=158059'
Date: Sun, 02 Oct 2022 16:27:25 GMT
Last-Modified: Sun, 02 Oct 2022 15:09:05 GMT
Server: ECS (ska/F71A)
X-Cache: HIT
Content-Length: 471

                                        
                                            POST / HTTP/1.1 
Host: ocsp.sectigo.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 83
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         172.64.155.188
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Sun, 02 Oct 2022 16:27:25 GMT
Content-Length: 471
Connection: keep-alive
Last-Modified: Fri, 30 Sep 2022 15:21:41 GMT
Expires: Fri, 07 Oct 2022 15:21:40 GMT
Etag: "62d4e9992e045d8362c398318e260691438da16a"
Cache-Control: max-age=427454,s-maxage=1800,public,no-transform,must-revalidate
X-CCACDN-Proxy-ID: mcdpinlb1
X-Frame-Options: SAMEORIGIN
CF-Cache-Status: DYNAMIC
Server: cloudflare
CF-RAY: 753ece2c6ce30b65-OSL

                                        
                                            GET /images/iskalnik.png HTTP/1.1 
Host: www.nepremicnine.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.nepremicnine.net/nepremicnine.html?id=6507190
Cookie: PHPSESSID=1rpkt96svsenrmgnvddj1hov7p; IP=91.90.42.154; saved_0=%1F%8B%08%00%00%00%00%00%00%03%F3%B3%06%00P%99%28%9E%02%00%00%00; ID0=nn-6339bbed03119
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         91.235.242.143
HTTP/2 200 OK
content-type: image/webp
                                        
date: Sun, 02 Oct 2022 16:27:25 GMT
server: Apache
strict-transport-security: max-age=31536000; includeSubDomains; preload
vary: Accept
last-modified: Thu, 30 Apr 2020 10:05:01 GMT
etag: "39e-5a47f32a48d40"
accept-ranges: bytes
content-length: 926
cache-control: max-age=2592000
expires: Tue, 01 Nov 2022 16:27:25 GMT
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  RIFF (little-endian) data, Web/P image\012- data
Size:   926
Md5:    bd57dc23d5c7fbb31c98fdf6bd5d8dae
Sha1:   36f206010fc619d94bf03a2293120718a87676f9
Sha256: ce2963ae48ad689a9435b4248dc90b42dc1beddfa3fd8a8f364112c404a517d0
                                        
                                            GET /www/delivery/asyncjs.php HTTP/1.1 
Host: nepremicnine.click
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.nepremicnine.net/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         91.235.242.139
HTTP/2 200 OK
content-type: text/javascript;charset=UTF-8
                                        
date: Sun, 02 Oct 2022 16:27:25 GMT
server: Apache
expire: Sun, 02 Oct 2022 17:27:25 GMT
p3p: CP="CUR ADM OUR NOR STA NID"
strict-transport-security: max-age=31536000; includeSubDomains; preload
etag: 7699daf535ac952a605b8487b651c1ea
cache-control: private, max-age=3600, max-age=1296000
expires: Mon, 17 Oct 2022 16:27:25 GMT
vary: Accept-Encoding,User-Agent
content-encoding: gzip
content-length: 3545
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  HTML document text\012- C source text\012- HTML document text\012- HTML document text\012- exported SGML document, ASCII text, with very long lines (9894), with no line terminators
Size:   3545
Md5:    ee2190a60eece776c85486603ee32e09
Sha1:   b582d49909be370c2511df94f3997418e13a16cb
Sha256: b5b5dd3056225c014da3550deb4f0b20e183bfa728c03dc1f7dbdedecc6627fb
                                        
                                            GET /images/moje-nep-gumb.png HTTP/1.1 
Host: www.nepremicnine.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.nepremicnine.net/styles.min.css?v=release_1.3.072&r=0
Cookie: PHPSESSID=1rpkt96svsenrmgnvddj1hov7p; IP=91.90.42.154; saved_0=%1F%8B%08%00%00%00%00%00%00%03%F3%B3%06%00P%99%28%9E%02%00%00%00; ID0=nn-6339bbed03119
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         91.235.242.143
HTTP/2 200 OK
content-type: image/webp
                                        
date: Sun, 02 Oct 2022 16:27:25 GMT
server: Apache
strict-transport-security: max-age=31536000; includeSubDomains; preload
vary: Accept
last-modified: Thu, 30 Apr 2020 10:05:03 GMT
etag: "17c-5a47f32c311c0"
accept-ranges: bytes
content-length: 380
cache-control: max-age=2592000
expires: Tue, 01 Nov 2022 16:27:25 GMT
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  RIFF (little-endian) data, Web/P image\012- data
Size:   380
Md5:    a228e8fe1bb46f39d4743aa62e08bb4a
Sha1:   7348f35cf56b61e639706aef1344db5807d22569
Sha256: bb4d242e6408f16faed58d0f634c317be1bfb791741f03d063e6b73ca852267d
                                        
                                            GET /www/delivery/ajs.php?zoneid=30&target=_blank&withtext=1&f1=0&f2=0&f3=&f4=0&f5=&z=&cb=16566899061&charset=UTF-8&loc=https%3A//www.nepremicnine.net/nepremicnine.html%3Fid%3D6507190 HTTP/1.1 
Host: nepremicnine.click
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.nepremicnine.net/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         91.235.242.139
HTTP/2 200 OK
content-type: text/javascript; charset=UTF-8
                                        
date: Sun, 02 Oct 2022 16:27:25 GMT
server: Apache
pragma: no-cache
cache-control: no-cache, no-store, must-revalidate
expires: 0
access-control-allow-origin: *
p3p: CP="CUR ADM OUR NOR STA NID"
set-cookie: OAID=01000111010001000101000001010010; expires=Mon, 02-Oct-2023 16:27:25 GMT; Max-Age=31536000; path=/; secure; SameSite=none
strict-transport-security: max-age=31536000; includeSubDomains; preload
vary: Accept-Encoding,User-Agent
content-encoding: gzip
content-length: 891
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (1205)
Size:   891
Md5:    c219858cd34c1e73b6a8fa3052a65612
Sha1:   7fcc4e4cb83cb9d343ca46a0b789aa59d7d64894
Sha256: a88924fe05f95ab89800863898515fef737abcd62b2a09d0dd7d4d9be8ae4c45
                                        
                                            GET /www/delivery/lg.php?bannerid=4258&campaignid=1957&zoneid=30&loc=https%3A%2F%2Fwww.nepremicnine.net%2Fnepremicnine.html%3Fid%3D6507190&cb=ef1a3cbfea HTTP/1.1 
Host: nepremicnine.click
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.nepremicnine.net/
Cookie: OAID=01000111010001000101000001010010
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         91.235.242.139
HTTP/2 200 OK
content-type: image/gif
                                        
date: Sun, 02 Oct 2022 16:27:25 GMT
server: Apache
pragma: no-cache
cache-control: no-cache, no-store, must-revalidate
expires: 0
access-control-allow-origin: *
p3p: CP="CUR ADM OUR NOR STA NID"
set-cookie: OAID=01000111010001000101000001010010; expires=Mon, 02-Oct-2023 16:27:25 GMT; Max-Age=31536000; path=/; secure; SameSite=none
strict-transport-security: max-age=31536000; includeSubDomains; preload
vary: Accept-Encoding,User-Agent
content-encoding: gzip
content-length: 56
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  GIF image data, version 89a, 1 x 1\012- data
Size:   56
Md5:    15669dda86db3cbff7835fa202dc0b16
Sha1:   ce788cab9c1aa7e458a3971a59702c410b37e64d
Sha256: 5cc3f958039a8885c4e9526e22d454da47d579b9a02861e7a60b41fa0ba910df
                                        
                                            GET / HTTP/1.1 
Host: push.services.mozilla.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Sec-WebSocket-Version: 13
Origin: wss://push.services.mozilla.com/
Sec-WebSocket-Protocol: push-notification
Sec-WebSocket-Extensions: permessage-deflate
Sec-WebSocket-Key: 7gbtcw30X3Y41pWwSrN9sw==
Connection: keep-alive, Upgrade
Sec-Fetch-Dest: websocket
Sec-Fetch-Mode: websocket
Sec-Fetch-Site: cross-site
Pragma: no-cache
Cache-Control: no-cache
Upgrade: websocket

                                         
                                         54.148.77.40
HTTP/1.1 101 Switching Protocols
                                        
Connection: Upgrade
Upgrade: websocket
Sec-WebSocket-Accept: d3NcsvTb4aXevo9137zYj5q01xM=

                                        
                                            GET /www/images/aa3a54088a1452678b6b3e5bec76c4b4.jpg HTTP/1.1 
Host: nepremicnine.click
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.nepremicnine.net/
Cookie: OAID=01000111010001000101000001010010
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         91.235.242.139
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Sun, 02 Oct 2022 16:27:25 GMT
server: Apache
strict-transport-security: max-age=31536000; includeSubDomains; preload
last-modified: Thu, 15 Sep 2022 10:55:29 GMT
etag: "24c90-5e8b51569bdd0"
accept-ranges: bytes
content-length: 150672
cache-control: max-age=2592000
expires: Tue, 01 Nov 2022 16:27:25 GMT
vary: User-Agent
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, Exif standard: [TIFF image data, little-endian, direntries=0], baseline, precision 8, 1920x950, components 3\012- data
Size:   150672
Md5:    aa3a54088a1452678b6b3e5bec76c4b4
Sha1:   1ee3f0195b657d05ef6b562ff19c594b3694b379
Sha256: 396ac660b00f097128ab315816ddfc9e51cb137bfcb20d9edef85cd2121f63c8
                                        
                                            POST / HTTP/1.1 
Host: ocsp.sectigo.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 84
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         172.64.155.188
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Sun, 02 Oct 2022 16:27:27 GMT
Content-Length: 282
Connection: keep-alive
Last-Modified: Fri, 30 Sep 2022 06:32:37 GMT
Expires: Fri, 07 Oct 2022 06:32:36 GMT
Etag: "b91e41f94d7c7ed352783818500456ec5504dfe5"
Cache-Control: max-age=395709,s-maxage=1800,public,no-transform,must-revalidate
X-CCACDN-Proxy-ID: mcdpinlb3
X-Frame-Options: SAMEORIGIN
CF-Cache-Status: DYNAMIC
Server: cloudflare
CF-RAY: 753ece34aecd0b65-OSL

                                        
                                            GET /gdejs/xgde.js HTTP/1.1 
Host: si.hit.gemius.pl
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.nepremicnine.net/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         37.59.140.178
HTTP/2 200 OK
content-type: application/x-javascript
                                        
date: Sun, 02 Oct 2022 16:27:27 GMT
expires: Mon, 03 Oct 2022 16:27:27 GMT
server: GHC
accept-ranges: none
cache-control: public, max-age=86400
last-modified: Wed, 31 Aug 2022 06:49:43 GMT
etag: "630F04870000D964BC018988"
vary: Accept-Encoding,Origin
cross-origin-resource-policy: cross-origin
accept-ch: Sec-CH-UA-Arch, Sec-CH-UA-Bitness, Sec-CH-UA-Full-Version-List, Sec-CH-UA-Mobile, Sec-CH-UA-Model, Sec-CH-UA-Platform, Sec-CH-UA-Platform-Version, Sec-CH-UA-WoW64
p3p: CP="NOI DSP COR NID PSAo OUR IND"
content-length: 19348
content-encoding: gzip
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (1202)
Size:   19348
Md5:    9aa7eb9278e76072c921e6e462099a4f
Sha1:   aa02cc49999555344513f15e6e6e6fb2900ddfd7
Sha256: b9c2686e1b4861c3d4adc18f21797c43e5848ccb4a032d1f857700f5ffcda9a6
                                        
                                            GET /www/delivery/afr.php?zoneid=1&target=_blank&charset=UTF-8&cb=270473374&f1=0&f2=0&f3=&f4=0&f5=&z=0 HTTP/1.1 
Host: nepremicnine.click
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.nepremicnine.net/
Cookie: OAID=01000111010001000101000001010010
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         91.235.242.139
HTTP/2 200 OK
content-type: text/html; charset=UTF-8
                                        
date: Sun, 02 Oct 2022 16:27:27 GMT
server: Apache
pragma: no-cache
cache-control: no-cache, no-store, must-revalidate
expires: 0
access-control-allow-origin: *
p3p: CP="CUR ADM OUR NOR STA NID"
set-cookie: OAID=01000111010001000101000001010010; expires=Mon, 02-Oct-2023 16:27:27 GMT; Max-Age=31536000; path=/; secure; SameSite=none
strict-transport-security: max-age=31536000; includeSubDomains; preload
vary: Accept-Encoding,User-Agent
content-encoding: gzip
content-length: 602
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  HTML document text\012- HTML document text\012- HTML document text\012- HTML document text\012- HTML document text\012- HTML document text\012- exported SGML document, ASCII text, with very long lines (650)
Size:   602
Md5:    9af7a66afe5891e1248d585afd4f0b59
Sha1:   98f6855d6c68b748acda14ade7669e034c8c9f18
Sha256: 3785a5b2f06470cc6a33b0c2e0916ba75638874c1e2c87f521726ff5b15aa0f6
                                        
                                            GET /images/icon_n.png HTTP/1.1 
Host: www.nepremicnine.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.nepremicnine.net/nepremicnine.html?id=6507190
Cookie: PHPSESSID=1rpkt96svsenrmgnvddj1hov7p; IP=91.90.42.154; saved_0=%1F%8B%08%00%00%00%00%00%00%03%F3%B3%06%00P%99%28%9E%02%00%00%00; ID0=nn-6339bbed03119
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         91.235.242.143
HTTP/2 200 OK
content-type: image/webp
                                        
date: Sun, 02 Oct 2022 16:27:27 GMT
server: Apache
strict-transport-security: max-age=31536000; includeSubDomains; preload
vary: Accept
last-modified: Thu, 30 Apr 2020 10:05:02 GMT
etag: "20a-5a47f32b3cf80"
accept-ranges: bytes
content-length: 522
cache-control: max-age=2592000
expires: Tue, 01 Nov 2022 16:27:27 GMT
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  RIFF (little-endian) data, Web/P image\012- data
Size:   522
Md5:    747f3b5a5ffa5f08ef9001d421009e94
Sha1:   0c0e260f702b9a79c00fb80982b410f20d44ba1e
Sha256: fd2dcb7a9a1b2edb1adfdc276e5cb5422075c0622d75f6f71318f863f1fc05d6
                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 83
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         142.250.74.3
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Sun, 02 Oct 2022 16:27:27 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 471
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            POST / HTTP/1.1 
Host: ocsp.digicert.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 83
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         93.184.220.29
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Accept-Ranges: bytes
Age: 5954
Cache-Control: 'max-age=158059'
Date: Sun, 02 Oct 2022 16:27:27 GMT
Last-Modified: Sun, 02 Oct 2022 14:48:13 GMT
Server: ECS (ska/F71A)
X-Cache: HIT
Content-Length: 471

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         23.36.76.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "61BF2BDDECE68C7876AB5481C14ED1B1879343E55C86EE013B4F3A8D3353E6B4"
Last-Modified: Sat, 01 Oct 2022 12:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=5118
Expires: Sun, 02 Oct 2022 17:52:45 GMT
Date: Sun, 02 Oct 2022 16:27:27 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         23.36.76.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "61BF2BDDECE68C7876AB5481C14ED1B1879343E55C86EE013B4F3A8D3353E6B4"
Last-Modified: Sat, 01 Oct 2022 12:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=5118
Expires: Sun, 02 Oct 2022 17:52:45 GMT
Date: Sun, 02 Oct 2022 16:27:27 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         23.36.76.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "61BF2BDDECE68C7876AB5481C14ED1B1879343E55C86EE013B4F3A8D3353E6B4"
Last-Modified: Sat, 01 Oct 2022 12:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=5118
Expires: Sun, 02 Oct 2022 17:52:45 GMT
Date: Sun, 02 Oct 2022 16:27:27 GMT
Connection: keep-alive

                                        
                                            GET /images/naslov-blok.png HTTP/1.1 
Host: www.nepremicnine.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.nepremicnine.net/nepremicnine.html?id=6507190
Cookie: PHPSESSID=1rpkt96svsenrmgnvddj1hov7p; IP=91.90.42.154; saved_0=%1F%8B%08%00%00%00%00%00%00%03%F3%B3%06%00P%99%28%9E%02%00%00%00; ID0=nn-6339bbed03119
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         91.235.242.143
HTTP/2 200 OK
content-type: image/webp
                                        
date: Sun, 02 Oct 2022 16:27:27 GMT
server: Apache
strict-transport-security: max-age=31536000; includeSubDomains; preload
vary: Accept
last-modified: Thu, 30 Apr 2020 10:05:01 GMT
etag: "b4-5a47f32a48d40"
accept-ranges: bytes
content-length: 180
cache-control: max-age=2592000
expires: Tue, 01 Nov 2022 16:27:27 GMT
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  RIFF (little-endian) data, Web/P image\012- data
Size:   180
Md5:    a1933a97c9d6c28ae25d186de44ae770
Sha1:   165d222a90feafddaf55d9ad2d70876aafc7e7f6
Sha256: e76fe7f93660916e19218e4245f98ad6445b42bb5bde2fd2f34c37b27b0caa61
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         23.36.76.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "61BF2BDDECE68C7876AB5481C14ED1B1879343E55C86EE013B4F3A8D3353E6B4"
Last-Modified: Sat, 01 Oct 2022 12:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=5118
Expires: Sun, 02 Oct 2022 17:52:45 GMT
Date: Sun, 02 Oct 2022 16:27:27 GMT
Connection: keep-alive

                                        
                                            GET /ga.js HTTP/1.1 
Host: ssl.google-analytics.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.nepremicnine.net/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         142.250.74.40
HTTP/2 200 OK
content-type: text/javascript
                                        
strict-transport-security: max-age=10886400; includeSubDomains; preload
x-content-type-options: nosniff
vary: Accept-Encoding
content-encoding: gzip
cross-origin-resource-policy: cross-origin
server: Golfe2
content-length: 17168
date: Sun, 02 Oct 2022 14:29:20 GMT
expires: Sun, 02 Oct 2022 16:29:20 GMT
cache-control: public, max-age=7200
age: 7087
last-modified: Sun, 11 Sep 2022 13:50:09 GMT
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (1305)
Size:   17168
Md5:    01d5892e6e243b52998310c2925b9f3a
Sha1:   58180151b6a6ee4af73583a214b68efb9e8844d4
Sha256: 7e90efb4620a78e8869796d256bcddbde90b853c8c15c5cc116cb11d3d17bc4d
                                        
                                            GET /images/forms/ikone-trans.png HTTP/1.1 
Host: www.nepremicnine.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.nepremicnine.net/styles.min.css?v=release_1.3.072&r=0
Cookie: PHPSESSID=1rpkt96svsenrmgnvddj1hov7p; IP=91.90.42.154; saved_0=%1F%8B%08%00%00%00%00%00%00%03%F3%B3%06%00P%99%28%9E%02%00%00%00; ID0=nn-6339bbed03119
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         91.235.242.143
HTTP/2 200 OK
content-type: image/webp
                                        
date: Sun, 02 Oct 2022 16:27:27 GMT
server: Apache
strict-transport-security: max-age=31536000; includeSubDomains; preload
vary: Accept
last-modified: Thu, 30 Apr 2020 10:05:02 GMT
etag: "5f0-5a47f32b3cf80"
accept-ranges: bytes
content-length: 1520
cache-control: max-age=2592000
expires: Tue, 01 Nov 2022 16:27:27 GMT
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  RIFF (little-endian) data, Web/P image\012- data
Size:   1520
Md5:    0b27ce49b671ac43d2a4ef73144a8752
Sha1:   70fa5d4710df8377a258a5714d0274728eb0202d
Sha256: 845d70ab748d81ece1342c3d5e7bd2dad303a371ea582b03bf258e94b6430db6
                                        
                                            GET /sl_SI/sdk.js HTTP/1.1 
Host: connect.facebook.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.nepremicnine.net/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         157.240.221.16
HTTP/2 200 OK
content-type: application/x-javascript; charset=utf-8
                                        
vary: Accept-Encoding
content-encoding: gzip
access-control-expose-headers: X-FB-Content-MD5
x-fb-content-md5: b4f4dfd93757b9e3f83a1f585984032c
etag: "fa8dab5deb5b2e628e9c66f131a700bc"
timing-allow-origin: *
access-control-allow-origin: *
cross-origin-resource-policy: cross-origin
expires: Sun, 02 Oct 2022 16:39:30 GMT
cache-control: public,max-age=1200,stale-while-revalidate=3600
document-policy: force-load-at-top
cross-origin-opener-policy: same-origin-allow-popups
x-content-type-options: nosniff
x-fb-rlafr: 0
x-frame-options: DENY
strict-transport-security: max-age=31536000; preload; includeSubDomains
content-md5: qGj3hcuxoAZRvEkjGxzQqA==
x-fb-debug: 2Xl0mpTirn+62YgaMF6+YnNtECl5tI1hjotrQVWJibfi8POx1jvVbcJKro5VMiibYAa7GJsOXh6Dpgui38aqKw==
priority: u=3,i
content-length: 1687
x-fb-trip-id: 1679558926
date: Sun, 02 Oct 2022 16:27:27 GMT
alt-svc: h3=":443"; ma=86400,h3-29=":443"; ma=86400
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (1961)
Size:   1687
Md5:    a868f785cbb1a00651bc49231b1cd0a8
Sha1:   b40220b34f179b85e783210b9595be11f5d0e84c
Sha256: a8ab313d38f5d018e710bf66d64971712a3e3d2374e3ea42ec34dcbf0b638004
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F180dee10-1cde-4fbe-8a74-62b7b3bdb1e2.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 6315
x-amzn-requestid: 6aa75b16-32e4-48a7-9fb0-9e3d5528c2d5
x-xss-protection: 1; mode=block
access-control-allow-origin: *
strict-transport-security: max-age=63072000; includeSubdomains; preload
x-frame-options: DENY
content-security-policy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'
x-amz-apigw-id: ZWSdsHUnIAMFXtw=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-6338cabd-742d8a436403683e0cd9368f;Sampled=0
x-amzn-remapped-date: Sat, 01 Oct 2022 23:18:21 GMT
x-amz-cf-pop: SEA73-P1
x-cache: Miss from cloudfront
x-amz-cf-id: 5sAzc5Ewv4g6Wqq6JJiLylG3Jyy_nlWrr5Oteeo6ebEgq7Rvss4XaQ==
via: 1.1 f13aef0c4b52f6f681401f232d03eb68.cloudfront.net (CloudFront), 1.1 09331f0822fc98eebaf04130a83dbd44.cloudfront.net (CloudFront), 1.1 google
date: Sun, 02 Oct 2022 04:41:00 GMT
age: 42387
etag: "58ff0bf8ce7528b303d28bab01a80ad721705569"
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 296x148, components 3\012- data
Size:   6315
Md5:    206fb65e75dbadf119512f71e0b78402
Sha1:   58ff0bf8ce7528b303d28bab01a80ad721705569
Sha256: 56c8d5f3b3060ee54bf81995269b86c070855d8c33bf437161339a45b309703f
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         23.36.76.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "61BF2BDDECE68C7876AB5481C14ED1B1879343E55C86EE013B4F3A8D3353E6B4"
Last-Modified: Sat, 01 Oct 2022 12:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=5118
Expires: Sun, 02 Oct 2022 17:52:45 GMT
Date: Sun, 02 Oct 2022 16:27:27 GMT
Connection: keep-alive

                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2Fccb5f775-a073-47ba-b076-ad1c96659b64.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 11083
x-amzn-requestid: 53e2c961-bcc0-4977-8648-ee3c1aed9cde
x-xss-protection: 1; mode=block
access-control-allow-origin: *
strict-transport-security: max-age=63072000; includeSubdomains; preload
x-frame-options: DENY
content-security-policy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'
x-amz-apigw-id: ZWEHRFWfIAMFhlA=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-6338b3c7-070212d7386d5efa1b4aa8d3;Sampled=0
x-amzn-remapped-date: Sat, 01 Oct 2022 21:40:23 GMT
x-amz-cf-pop: HIO50-C1, SEA73-P1
x-cache: Miss from cloudfront
x-amz-cf-id: Z1KmxHJh9QNfg5x0enkqOjbmiqHvg7nlQiMnuDuCRNWQUBFEiKELbw==
via: 1.1 49b94a8674d6e86a841d6523f7dbaf14.cloudfront.net (CloudFront), 1.1 31119c39c5a6dc62dfa1fe940afd7be2.cloudfront.net (CloudFront), 1.1 google
date: Sat, 01 Oct 2022 21:48:36 GMT
etag: "d63b6ba630736d32c364b0e6a369274b2389b7ff"
age: 67131
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 296x148, components 3\012- data
Size:   11083
Md5:    edded48f558f739287a040151349ef67
Sha1:   d63b6ba630736d32c364b0e6a369274b2389b7ff
Sha256: 33b4a459df0ba7b36b907ba96d74e08660cc75640c42a5748b97d18ec2e9d533
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F59054e54-a013-42c5-98a5-abe2b6af4fc6.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 4987
x-amzn-requestid: 763edd04-7f8d-42ae-8864-482be3549958
x-xss-protection: 1; mode=block
access-control-allow-origin: *
strict-transport-security: max-age=63072000; includeSubdomains; preload
x-frame-options: DENY
content-security-policy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'
x-amz-apigw-id: ZWEHpFs4oAMFbqg=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-6338b3ca-2f7b67e85aa83b69183e62b5;Sampled=0
x-amzn-remapped-date: Sat, 01 Oct 2022 21:40:26 GMT
x-amz-cf-pop: SFO5-P2, SEA73-P1
x-cache: Miss from cloudfront
x-amz-cf-id: 2Zoggf30lA-Kvt5QYa-IdhGePHCNiphR7pfFiOaFvL8ZkWZIaiK4pA==
via: 1.1 f4367b41311e3e9a490d7461b7b85490.cloudfront.net (CloudFront), 1.1 32d624dbeb2a8b7f24dbe49007e37c90.cloudfront.net (CloudFront), 1.1 google
date: Sat, 01 Oct 2022 21:48:37 GMT
etag: "2e533332ee5c49143e58dad32ee3717a39179532"
age: 67130
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 296x148, components 3\012- data
Size:   4987
Md5:    463bdcfbec5426e18ecef83b1c373b71
Sha1:   2e533332ee5c49143e58dad32ee3717a39179532
Sha256: 2c40befd28781482b9be249a792571612d68d7045324083d2c832fa5ec42f04b
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F0d5b1efd-2ddc-4e8a-b89c-c9601bfeba68.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 7314
x-amzn-requestid: ba9e3b47-d9dd-49c1-9645-bac582351957
x-xss-protection: 1; mode=block
access-control-allow-origin: *
strict-transport-security: max-age=63072000; includeSubdomains; preload
x-frame-options: DENY
content-security-policy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'
x-amz-apigw-id: ZWDpnGqOoAMFUTA=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-6338b30a-0604dff004a5f6364f0fe11c;Sampled=0
x-amzn-remapped-date: Sat, 01 Oct 2022 21:37:14 GMT
x-amz-cf-pop: HIO50-C1, SEA19-C2
x-cache: Hit from cloudfront
x-amz-cf-id: ss4zz6K56bzf1oFauX5_GUyy77r5gwLUcEy2GHrxSbBlwaYNjPZuYA==
via: 1.1 95b0ac620fa3a80ee590ecf1cda1c698.cloudfront.net (CloudFront), 1.1 a3bd0eb50c22e4d5fbda56a30b96002c.cloudfront.net (CloudFront), 1.1 google
date: Sat, 01 Oct 2022 21:58:03 GMT
age: 66564
etag: "e06bd8868eff8c42f5d2e2deec9a361170c8d3ea"
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 296x148, components 3\012- data
Size:   7314
Md5:    ef85af3ef63e35a54bc15fbca5d7236b
Sha1:   e06bd8868eff8c42f5d2e2deec9a361170c8d3ea
Sha256: 0291104bb66ac4849ac5fd433fdf9cbbc7f4a2fcaa1f137aca08be2a4878f54c
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F7d657f8a-70bc-42c6-9aae-1127c4403047.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 8602
x-amzn-requestid: 89329169-bc7a-46b1-85fc-20383a85cae8
x-xss-protection: 1; mode=block
access-control-allow-origin: *
strict-transport-security: max-age=63072000; includeSubdomains; preload
x-frame-options: DENY
content-security-policy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'
x-amz-apigw-id: ZWDf9GxzoAMFg0A=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-6338b2cc-27952f8357fa25c956b1cd72;Sampled=0
x-amzn-remapped-date: Sat, 01 Oct 2022 21:36:12 GMT
x-amz-cf-pop: HIO50-C1, SEA73-P1
x-cache: Miss from cloudfront
x-amz-cf-id: YDfn3Xd8m6jaBrj_M9hs4dePku_eEhJbYv3NJSHjCdAWifhBkiKUhw==
via: 1.1 01c28b52813cd0e82f810c492808b142.cloudfront.net (CloudFront), 1.1 35575576af8067e30cfb17c6b9fde8e2.cloudfront.net (CloudFront), 1.1 google
date: Sat, 01 Oct 2022 22:21:15 GMT
age: 65172
etag: "5d3389a965cfa45dab2202d89b40264368674e8a"
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 296x148, components 3\012- data
Size:   8602
Md5:    94d82ad8d70761f6ee1384b4183335f3
Sha1:   5d3389a965cfa45dab2202d89b40264368674e8a
Sha256: ad495dc0ede3bfcbaebfd3bf2eb55fc5596cd7643a539e030ccce0b8a3bcf8dd
                                        
                                            GET /jq/c.php?_=1664728045562 HTTP/1.1 
Host: www.nepremicnine.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
X-Requested-With: XMLHttpRequest
Connection: keep-alive
Referer: https://www.nepremicnine.net/nepremicnine.html?id=6507190
Cookie: PHPSESSID=1rpkt96svsenrmgnvddj1hov7p; IP=91.90.42.154; saved_0=%1F%8B%08%00%00%00%00%00%00%03%F3%B3%06%00P%99%28%9E%02%00%00%00; ID0=nn-6339bbed03119
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         91.235.242.143
HTTP/2 200 OK
content-type: text/html; charset=UTF-8
                                        
date: Sun, 02 Oct 2022 16:27:27 GMT
server: Apache
strict-transport-security: max-age=31536000; includeSubDomains; preload
vary: Accept-Encoding
content-encoding: gzip
content-length: 32
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with no line terminators
Size:   32
Md5:    ea80b75e8bebcfc243feeafb6608d39f
Sha1:   05281b712a8e715056a238e36a4882ac994c9274
Sha256: 3ad95d5f5ea9efc6659006d0b7fb4f9ae059f8f8ff7c69b1fb48668968f282aa
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F18b1ba6d-ca56-4474-afa8-cd3b53cce28e.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 9340
x-amzn-requestid: e892265e-836d-4638-871f-0548eda57745
x-xss-protection: 1; mode=block
access-control-allow-origin: *
strict-transport-security: max-age=63072000; includeSubdomains; preload
x-frame-options: DENY
content-security-policy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'
x-amz-apigw-id: ZWDf8FCEoAMFyow=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-6338b2cc-7f39bb92066a75a90868dd03;Sampled=0
x-amzn-remapped-date: Sat, 01 Oct 2022 21:36:12 GMT
x-amz-cf-pop: HIO50-C1, SEA73-P1
x-cache: Miss from cloudfront
x-amz-cf-id: Sk1Dahp1gliiBIghSCZselE7-Fy45svrCk7TdmunOwNefSNqY1P1jA==
via: 1.1 9c60d6224ac0b44e908b5c9dcf70e9a4.cloudfront.net (CloudFront), 1.1 5fe5f2a3903f1378941d92eceaf3fa16.cloudfront.net (CloudFront), 1.1 google
date: Sat, 01 Oct 2022 21:48:34 GMT
etag: "6d6d52fb5024e7772dd45dd459bfe3ec90cb5ce4"
age: 67133
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 296x148, components 3\012- data
Size:   9340
Md5:    6047192460abf4afd600948abb5e6ee1
Sha1:   6d6d52fb5024e7772dd45dd459bfe3ec90cb5ce4
Sha256: d1fd21a5913f6831d2128c8e9e84767d9730bf9e779da5395dc31b82a10e32e9
                                        
                                            POST / HTTP/1.1 
Host: ocsp.digicert.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 83
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         93.184.220.29
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Accept-Ranges: bytes
Age: 5954
Cache-Control: 'max-age=158059'
Date: Sun, 02 Oct 2022 16:27:27 GMT
Last-Modified: Sun, 02 Oct 2022 14:48:13 GMT
Server: ECS (ska/F71A)
X-Cache: HIT
Content-Length: 471

                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 83
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         142.250.74.3
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Sun, 02 Oct 2022 16:27:27 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 471
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            GET /ext/cookieOK.php HTTP/1.1 
Host: www.nepremicnine.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/html, */*; q=0.01
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
X-Requested-With: XMLHttpRequest
Connection: keep-alive
Referer: https://www.nepremicnine.net/nepremicnine.html?id=6507190
Cookie: PHPSESSID=1rpkt96svsenrmgnvddj1hov7p; IP=91.90.42.154; saved_0=%1F%8B%08%00%00%00%00%00%00%03%F3%B3%06%00P%99%28%9E%02%00%00%00; ID0=nn-6339bbed03119
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         91.235.242.143
HTTP/2 200 OK
content-type: text/html; charset=UTF-8
                                        
date: Sun, 02 Oct 2022 16:27:27 GMT
server: Apache
strict-transport-security: max-age=31536000; includeSubDomains; preload
vary: Accept-Encoding
content-encoding: gzip
content-length: 474
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  HTML document text\012- HTML document text\012- HTML document text\012- HTML document text\012- HTML document text\012- exported SGML document, Unicode text, UTF-8 text, with CRLF line terminators
Size:   474
Md5:    457bc0e645bae33511903070a98fa1a7
Sha1:   8c10b6540ca238988459a42b10e1cc719b0c7845
Sha256: 86f1d5b5b97f021add43b6133fc44569907b630d241a529fe970d44f0e579751
                                        
                                            POST /jq/t-sel.php HTTP/1.1 
Host: www.nepremicnine.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Content-Length: 4
Origin: https://www.nepremicnine.net
Connection: keep-alive
Referer: https://www.nepremicnine.net/nepremicnine.html?id=6507190
Cookie: PHPSESSID=1rpkt96svsenrmgnvddj1hov7p; IP=91.90.42.154; saved_0=%1F%8B%08%00%00%00%00%00%00%03%F3%B3%06%00P%99%28%9E%02%00%00%00; ID0=nn-6339bbed03119
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         91.235.242.143
HTTP/2 200 OK
content-type: text/html; charset=UTF-8
                                        
date: Sun, 02 Oct 2022 16:27:27 GMT
server: Apache
expires: Thu, 19 Nov 1981 08:52:00 GMT
cache-control: no-store, no-cache, must-revalidate
pragma: no-cache
strict-transport-security: max-age=31536000; includeSubDomains; preload
vary: Accept-Encoding
content-encoding: br
content-length: 1
X-Firefox-Spdy: h2

                                        
                                            GET /inc/map-slo.php HTTP/1.1 
Host: www.nepremicnine.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/html, */*; q=0.01
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
X-Requested-With: XMLHttpRequest
Connection: keep-alive
Referer: https://www.nepremicnine.net/nepremicnine.html?id=6507190
Cookie: PHPSESSID=1rpkt96svsenrmgnvddj1hov7p; IP=91.90.42.154; saved_0=%1F%8B%08%00%00%00%00%00%00%03%F3%B3%06%00P%99%28%9E%02%00%00%00; ID0=nn-6339bbed03119
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         91.235.242.143
HTTP/2 200 OK
content-type: text/html; charset=UTF-8
                                        
date: Sun, 02 Oct 2022 16:27:27 GMT
server: Apache
strict-transport-security: max-age=31536000; includeSubDomains; preload
vary: Accept-Encoding
content-encoding: gzip
content-length: 1475
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  HTML document text\012- HTML document text\012- HTML document text\012- assembler source, ASCII text, with CRLF line terminators
Size:   1475
Md5:    898a7890a3ac03f2d31f2c881896a359
Sha1:   1def8feec5ab5d3ffe77b479fbcd963da9332db5
Sha256: d4c2a76195835885b080b53b297b9fc55813d10d365b5bc11680d09206567d2b
                                        
                                            GET /gdejs/xgde.html HTTP/1.1 
Host: si.hit.gemius.pl
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.nepremicnine.net/
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         37.59.140.178
HTTP/2 200 OK
content-type: text/html;charset=utf-8
                                        
date: Sun, 02 Oct 2022 16:27:27 GMT
expires: Mon, 03 Oct 2022 16:27:27 GMT
server: GHC
accept-ranges: none
cache-control: public, max-age=86400
last-modified: Fri, 18 Aug 2017 12:03:49 GMT
etag: "5996D7A50000012F9178E011"
vary: Accept-Encoding,Origin
cross-origin-resource-policy: cross-origin
accept-ch: Sec-CH-UA-Arch, Sec-CH-UA-Bitness, Sec-CH-UA-Full-Version-List, Sec-CH-UA-Mobile, Sec-CH-UA-Model, Sec-CH-UA-Platform, Sec-CH-UA-Platform-Version, Sec-CH-UA-WoW64
p3p: CP="NOI DSP COR NID PSAo OUR IND"
content-length: 215
content-encoding: gzip
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  HTML document text\012- HTML document text\012- HTML document text\012- HTML document text\012- exported SGML document, ASCII text
Size:   215
Md5:    55e60b35e679aae2decd8d7b37c2c310
Sha1:   cc934f43ee3d226c5f8f040e42343bfc26b26f01
Sha256: 72796c74c2c95fe9d62ecc1ea25b00b824c095fd955b5c67e82eb2dd0b50600f
                                        
                                            POST /jq/r-sel.php HTTP/1.1 
Host: www.nepremicnine.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Content-Length: 12
Origin: https://www.nepremicnine.net
Connection: keep-alive
Referer: https://www.nepremicnine.net/nepremicnine.html?id=6507190
Cookie: PHPSESSID=1rpkt96svsenrmgnvddj1hov7p; IP=91.90.42.154; saved_0=%1F%8B%08%00%00%00%00%00%00%03%F3%B3%06%00P%99%28%9E%02%00%00%00; ID0=nn-6339bbed03119
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         91.235.242.143
HTTP/2 200 OK
content-type: text/html; charset=UTF-8
                                        
date: Sun, 02 Oct 2022 16:27:27 GMT
server: Apache
expires: Thu, 19 Nov 1981 08:52:00 GMT
cache-control: no-store, no-cache, must-revalidate
pragma: no-cache
set-cookie: IP=91.90.42.154; expires=Tue, 01-Nov-2022 16:27:27 GMT; Max-Age=2592000; path=/ ID0=nn-6339bbed03119; expires=Tue, 01-Nov-2022 16:27:27 GMT; Max-Age=2592000; path=/
strict-transport-security: max-age=31536000; includeSubDomains; preload
vary: Accept-Encoding
content-encoding: gzip
content-length: 172
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  Unicode text, UTF-8 text, with very long lines (474), with no line terminators
Size:   172
Md5:    b20b8e22dad43c37b8a2f1e59e1f4f7d
Sha1:   1ebe2c18b317b95f9265cf6174c971f14b8f35e8
Sha256: a6aa6ff717c8eea96a4aaf7d68575e28a35ca4bdf77e234a2a102916e5684682
                                        
                                            POST /jq/isk-parc.php HTTP/1.1 
Host: www.nepremicnine.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Content-Length: 13
Origin: https://www.nepremicnine.net
Connection: keep-alive
Referer: https://www.nepremicnine.net/nepremicnine.html?id=6507190
Cookie: PHPSESSID=1rpkt96svsenrmgnvddj1hov7p; IP=91.90.42.154; saved_0=%1F%8B%08%00%00%00%00%00%00%03%F3%B3%06%00P%99%28%9E%02%00%00%00; ID0=nn-6339bbed03119
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         91.235.242.143
HTTP/2 200 OK
content-type: text/html; charset=UTF-8
                                        
date: Sun, 02 Oct 2022 16:27:27 GMT
server: Apache
strict-transport-security: max-age=31536000; includeSubDomains; preload
vary: Accept-Encoding
content-encoding: br
content-length: 1
X-Firefox-Spdy: h2

                                        
                                            GET /www/images/f579714322f114b405e401f1996b364a.png HTTP/1.1 
Host: nepremicnine.click
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://nepremicnine.click/www/delivery/afr.php?zoneid=1&target=_blank&charset=UTF-8&cb=270473374&f1=0&f2=0&f3=&f4=0&f5=&z=0
Cookie: OAID=01000111010001000101000001010010
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         91.235.242.139
HTTP/2 200 OK
content-type: image/png
                                        
date: Sun, 02 Oct 2022 16:27:27 GMT
server: Apache
strict-transport-security: max-age=31536000; includeSubDomains; preload
last-modified: Mon, 07 Jun 2021 12:27:21 GMT
etag: "25bc7-5c42c29b9ba94"
accept-ranges: bytes
content-length: 154567
cache-control: max-age=2592000
expires: Tue, 01 Nov 2022 16:27:27 GMT
vary: User-Agent
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  PNG image data, 960 x 150, 8-bit/color RGBA, non-interlaced\012- data
Size:   154567
Md5:    f579714322f114b405e401f1996b364a
Sha1:   797c9fb5b7f668303b4470f3865e8ec9bb6e4158
Sha256: 7c5b9b02fea1169068f036d16793006f5e637503ddf29e355979975c8a6f680f
                                        
                                            GET /www/delivery/lg.php?bannerid=3802&campaignid=2129&zoneid=1&loc=https%3A%2F%2Fwww.nepremicnine.net%2F&cb=a4fbc0e4e8 HTTP/1.1 
Host: nepremicnine.click
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://nepremicnine.click/www/delivery/afr.php?zoneid=1&target=_blank&charset=UTF-8&cb=270473374&f1=0&f2=0&f3=&f4=0&f5=&z=0
Cookie: OAID=01000111010001000101000001010010
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         91.235.242.139
HTTP/2 200 OK
content-type: image/gif
                                        
date: Sun, 02 Oct 2022 16:27:27 GMT
server: Apache
pragma: no-cache
cache-control: no-cache, no-store, must-revalidate
expires: 0
access-control-allow-origin: *
p3p: CP="CUR ADM OUR NOR STA NID"
set-cookie: OAID=01000111010001000101000001010010; expires=Mon, 02-Oct-2023 16:27:27 GMT; Max-Age=31536000; path=/; secure; SameSite=none
strict-transport-security: max-age=31536000; includeSubDomains; preload
vary: Accept-Encoding,User-Agent
content-encoding: gzip
content-length: 56
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  GIF image data, version 89a, 1 x 1\012- data
Size:   56
Md5:    15669dda86db3cbff7835fa202dc0b16
Sha1:   ce788cab9c1aa7e458a3971a59702c410b37e64d
Sha256: 5cc3f958039a8885c4e9526e22d454da47d579b9a02861e7a60b41fa0ba910df
                                        
                                            GET /ext/gadm_SVN.json HTTP/1.1 
Host: www.nepremicnine.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: application/json,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.nepremicnine.net/nepremicnine.html?id=6507190
Cookie: PHPSESSID=1rpkt96svsenrmgnvddj1hov7p; IP=91.90.42.154; saved_0=%1F%8B%08%00%00%00%00%00%00%03%F3%B3%06%00P%99%28%9E%02%00%00%00; ID0=nn-6339bbed03119
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         91.235.242.143
HTTP/2 200 OK
content-type: application/json
                                        
date: Sun, 02 Oct 2022 16:27:27 GMT
server: Apache
strict-transport-security: max-age=31536000; includeSubDomains; preload
last-modified: Thu, 04 Jul 2019 04:32:28 GMT
etag: "10626-58cd3771e0f00"
accept-ranges: bytes
content-length: 67110
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JSON data\012- , Unicode text, UTF-8 text, with very long lines (7761)
Size:   67110
Md5:    5396d68c16811a2e632d956a42aa0479
Sha1:   7da10ab3aad6e437c749631f5bcb1b81b3813d6e
Sha256: 833eb463f999fd1634345654ccfc1c0aaee806b0ab046002a7817c1022c0224c
                                        
                                            POST /jq/ue-sel.php HTTP/1.1 
Host: www.nepremicnine.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Content-Length: 5
Origin: https://www.nepremicnine.net
Connection: keep-alive
Referer: https://www.nepremicnine.net/nepremicnine.html?id=6507190
Cookie: PHPSESSID=1rpkt96svsenrmgnvddj1hov7p; IP=91.90.42.154; saved_0=%1F%8B%08%00%00%00%00%00%00%03%F3%B3%06%00P%99%28%9E%02%00%00%00; ID0=nn-6339bbed03119
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         91.235.242.143
HTTP/2 200 OK
content-type: text/html; charset=UTF-8
                                        
date: Sun, 02 Oct 2022 16:27:27 GMT
server: Apache
set-cookie: IP=91.90.42.154; expires=Tue, 01-Nov-2022 16:27:27 GMT; Max-Age=2592000; path=/ ID0=nn-6339bbed03119; expires=Tue, 01-Nov-2022 16:27:27 GMT; Max-Age=2592000; path=/
strict-transport-security: max-age=31536000; includeSubDomains; preload
vary: Accept-Encoding
content-encoding: gzip
content-length: 189
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  Unicode text, UTF-8 text, with very long lines (485), with no line terminators
Size:   189
Md5:    61f65595021f47b1c42b1bc581e6e023
Sha1:   2c96220637b1264829a97438782df776b7972a4d
Sha256: da89858f9f8058e3a45ad62696dc6ed0109d4e8064d146566a5dad6c9072897e
                                        
                                            POST /jq/t-sel.php HTTP/1.1 
Host: www.nepremicnine.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Content-Length: 4
Origin: https://www.nepremicnine.net
Connection: keep-alive
Referer: https://www.nepremicnine.net/nepremicnine.html?id=6507190
Cookie: PHPSESSID=1rpkt96svsenrmgnvddj1hov7p; IP=91.90.42.154; saved_0=%1F%8B%08%00%00%00%00%00%00%03%F3%B3%06%00P%99%28%9E%02%00%00%00; ID0=nn-6339bbed03119
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         91.235.242.143
HTTP/2 200 OK
content-type: text/html; charset=UTF-8
                                        
date: Sun, 02 Oct 2022 16:27:27 GMT
server: Apache
expires: Thu, 19 Nov 1981 08:52:00 GMT
cache-control: no-store, no-cache, must-revalidate
pragma: no-cache
strict-transport-security: max-age=31536000; includeSubDomains; preload
vary: Accept-Encoding
content-encoding: gzip
content-length: 252
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  Unicode text, UTF-8 text, with very long lines (1103), with no line terminators
Size:   252
Md5:    b49fd8d4bf8553a36d59d79f1f89f3af
Sha1:   10f57b8f93e2002c22dece134c9f096aba147d96
Sha256: 3d8f3daf13ccd1538f5f427a8e96a0090be455c0c82e22da242fcb1c6016b01d
                                        
                                            GET /gemius.js HTTP/1.1 
Host: si.hit.gemius.pl
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://si.hit.gemius.pl/gdejs/xgde.html
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         37.59.140.178
HTTP/2 200 OK
content-type: application/x-javascript
                                        
date: Sun, 02 Oct 2022 16:27:27 GMT
expires: Mon, 03 Oct 2022 04:27:27 GMT
server: GHC
accept-ranges: none
cache-control: max-age=43200
last-modified: Wed, 07 Sep 2022 10:13:48 GMT
vary: Accept-Encoding,Origin
cross-origin-resource-policy: cross-origin
accept-ch: Sec-CH-UA-Arch, Sec-CH-UA-Bitness, Sec-CH-UA-Full-Version-List, Sec-CH-UA-Mobile, Sec-CH-UA-Model, Sec-CH-UA-Platform, Sec-CH-UA-Platform-Version, Sec-CH-UA-WoW64
p3p: CP="NOI DSP COR NID PSAo OUR IND"
content-length: 15794
content-encoding: gzip
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (417)
Size:   15794
Md5:    7da907ed7e4d48691023693d1a219057
Sha1:   bb38f48a79af47121cc008289c1bc1a65dfe3535
Sha256: 79a747595d707187947f0f1cf05b831ff82bed529ab7f66fdc9e740c433cdbbc
                                        
                                            GET /js/d3.v3.min.js?_=1664728045563 HTTP/1.1 
Host: www.nepremicnine.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
X-Requested-With: XMLHttpRequest
Connection: keep-alive
Referer: https://www.nepremicnine.net/nepremicnine.html?id=6507190
Cookie: PHPSESSID=1rpkt96svsenrmgnvddj1hov7p; IP=91.90.42.154; saved_0=%1F%8B%08%00%00%00%00%00%00%03%F3%B3%06%00P%99%28%9E%02%00%00%00; ID0=nn-6339bbed03119; __utma=146903592.748384120.1664728047.1664728047.1664728047.1; __utmb=146903592.1.10.1664728047; __utmc=146903592; __utmz=146903592.1664728047.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utmt=1
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         91.235.242.143
HTTP/2 200 OK
content-type: application/javascript
                                        
date: Sun, 02 Oct 2022 16:27:27 GMT
server: Apache
strict-transport-security: max-age=31536000; includeSubDomains; preload
last-modified: Thu, 04 Jul 2019 04:32:28 GMT
etag: "250ad-58cd3771e0f00-gzip"
accept-ranges: bytes
cache-control: max-age=31536000
expires: Mon, 02 Oct 2023 16:27:27 GMT
vary: Accept-Encoding
content-encoding: gzip
content-length: 53508
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (32047)
Size:   53508
Md5:    73b2c35d95ab25f6119ddf717e14790f
Sha1:   14d62e71c3626df7cdb47e3a8a996cf3abe00e4e
Sha256: 6d94a3c0ea01f1d5c432a9080b4be75500c0398ae3a5e6198da652f9797dc17a
                                        
                                            POST /jq/search.php?wpg=nepremicnine&d=197&p=1&n=1&r=14&ue1%5B%5D=Vse+upravne+enote&c1=&c2=&cm2=0 HTTP/1.1 
Host: www.nepremicnine.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
X-Requested-With: XMLHttpRequest
Origin: https://www.nepremicnine.net
Connection: keep-alive
Referer: https://www.nepremicnine.net/nepremicnine.html?id=6507190
Cookie: PHPSESSID=1rpkt96svsenrmgnvddj1hov7p; IP=91.90.42.154; saved_0=%1F%8B%08%00%00%00%00%00%00%03%F3%B3%06%00P%99%28%9E%02%00%00%00; ID0=nn-6339bbed03119; __utma=146903592.748384120.1664728047.1664728047.1664728047.1; __utmb=146903592.1.10.1664728047; __utmc=146903592; __utmz=146903592.1664728047.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utmt=1
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
Content-Length: 0
TE: trailers

                                         
                                         91.235.242.143
HTTP/2 200 OK
content-type: text/html; charset=UTF-8
                                        
date: Sun, 02 Oct 2022 16:27:27 GMT
server: Apache
expires: Thu, 19 Nov 1981 08:52:00 GMT
cache-control: no-store, no-cache, must-revalidate
pragma: no-cache
strict-transport-security: max-age=31536000; includeSubDomains; preload
vary: Accept-Encoding
content-encoding: gzip
content-length: 61
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with no line terminators
Size:   61
Md5:    1b289e697bac747431ec9572b806d877
Sha1:   a786f9e690e8be35b738054b42ee0cf8dd4bd9b0
Sha256: 1833b96cdcb1b7d3d0ab82cab0a65b86a4f09077eddea6a9cad8a16e146629f8
                                        
                                            GET /_1664728047681/redot.js?id=nAuVfYi0CQ3JXHzUTXC1DJRpP8JGNG__IBc37nBVfO3.w7/fastid=jxrafoqfktckkdeohqivmxklcsld/stparam=qndhkmhgpk&extra=ls%3D1%7Cffx%3D1%7Ctpb%3D0%7Cifr%3D0%7Ctq%3D1%7Chct%3D669&lsdata=-TURNEDOFF&href=https%3A%2F%2Fwww.nepremicnine.net%2Fnepremicnine.html%3Fid%3D6507190 HTTP/1.1 
Host: si.hit.gemius.pl
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: https://www.nepremicnine.net
Connection: keep-alive
Referer: https://www.nepremicnine.net/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         37.59.140.178
HTTP/2 301 Moved Permanently
                                        
date: Sun, 02 Oct 2022 16:27:27 GMT
expires: Sat, 01 Oct 2022 16:27:27 GMT
server: GHC
accept-ranges: none
pragma: no-cache
cache-control: no-store, no-cache, must-revalidate, max-age=0
access-control-allow-origin: https://www.nepremicnine.net
access-control-allow-credentials: true
cross-origin-resource-policy: cross-origin
accept-ch: Sec-CH-UA-Arch, Sec-CH-UA-Bitness, Sec-CH-UA-Full-Version-List, Sec-CH-UA-Mobile, Sec-CH-UA-Model, Sec-CH-UA-Platform, Sec-CH-UA-Platform-Version, Sec-CH-UA-WoW64
set-cookie: Gtest=KlQViMaGQMGG0C3EaWm_e2EissGMXP8cERbG; Domain=hit.gemius.pl; Path=/; SameSite=None; Secure; Expires=Sun, 09 Oct 2022 16:27:27 GMT
p3p: CP="NOI DSP COR NID PSAo OUR IND"
location: /__/_1664728047681/redot.js?id=nAuVfYi0CQ3JXHzUTXC1DJRpP8JGNG__IBc37nBVfO3.w7/fastid=jxrafoqfktckkdeohqivmxklcsld/stparam=qndhkmhgpk&extra=ls%3D1%7Cffx%3D1%7Ctpb%3D0%7Cifr%3D0%7Ctq%3D1%7Chct%3D669&lsdata=-TURNEDOFF&href=https%3A%2F%2Fwww.nepremicnine.net%2Fnepremicnine.html%3Fid%3D6507190
content-length: 0
X-Firefox-Spdy: h2

                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 84
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         142.250.74.3
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Sun, 02 Oct 2022 16:27:27 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 472
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            GET /r/collect?v=1&aip=1&t=dc&_r=3&tid=UA-15972954-1&cid=748384120.1664728047&jid=1809428697&_v=5.7.2&z=1978433638 HTTP/1.1 
Host: stats.g.doubleclick.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://www.nepremicnine.net/
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         74.125.131.154
HTTP/2 200 OK
content-type: image/gif
                                        
access-control-allow-origin: *
strict-transport-security: max-age=10886400; includeSubDomains; preload
date: Sun, 02 Oct 2022 16:27:27 GMT
pragma: no-cache
expires: Fri, 01 Jan 1990 00:00:00 GMT
cache-control: no-cache, no-store, must-revalidate
last-modified: Sun, 17 May 1998 03:00:00 GMT
x-content-type-options: nosniff
cross-origin-resource-policy: cross-origin
server: Golfe2
content-length: 35
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  GIF image data, version 89a, 1 x 1\012- data
Size:   35
Md5:    28d6814f309ea289f847c69cf91194c6
Sha1:   0f4e929dd5bb2564f7ab9c76338e04e292a42ace
Sha256: 8337212354871836e6763a41e615916c89bac5b3f1f0adf60ba43c7c806e1015
                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 84
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         142.250.74.3
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Sun, 02 Oct 2022 16:27:27 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 472
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            GET /__/_1664728047681/redot.js?id=nAuVfYi0CQ3JXHzUTXC1DJRpP8JGNG__IBc37nBVfO3.w7/fastid=jxrafoqfktckkdeohqivmxklcsld/stparam=qndhkmhgpk&extra=ls%3D1%7Cffx%3D1%7Ctpb%3D0%7Cifr%3D0%7Ctq%3D1%7Chct%3D669&lsdata=-TURNEDOFF&href=https%3A%2F%2Fwww.nepremicnine.net%2Fnepremicnine.html%3Fid%3D6507190 HTTP/1.1 
Host: si.hit.gemius.pl
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: https://www.nepremicnine.net
Referer: https://www.nepremicnine.net/
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         37.59.140.178
HTTP/2 200 OK
content-type: application/x-javascript
                                        
date: Sun, 02 Oct 2022 16:27:27 GMT
expires: Sat, 01 Oct 2022 16:27:27 GMT
server: GHC
accept-ranges: none
pragma: no-cache
cache-control: no-store, no-cache, must-revalidate, max-age=0
access-control-allow-origin: https://www.nepremicnine.net
access-control-allow-credentials: true
cross-origin-resource-policy: cross-origin
accept-ch: Sec-CH-UA-Arch, Sec-CH-UA-Bitness, Sec-CH-UA-Full-Version-List, Sec-CH-UA-Mobile, Sec-CH-UA-Model, Sec-CH-UA-Platform, Sec-CH-UA-Platform-Version, Sec-CH-UA-WoW64
set-cookie: Gtest=Klx-cRaGQMGGRHh29WA_e2EissGMXP8cERbG; Domain=hit.gemius.pl; Path=/; SameSite=None; Secure; Expires=Sun, 09 Oct 2022 16:27:27 GMT
p3p: CP="NOI DSP COR NID PSAo OUR IND"
content-length: 2
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text
Size:   2
Md5:    e1c06d85ae7b8b032bef47e42e4c08f9
Sha1:   71853c6197a6a7f222db0f1978c7cb232b87c5ee
Sha256: 75a11da44c802486bc6f65640aa48a730f0f684c5c07a42ba3cd1735eb3fb070
                                        
                                            GET /slonep_oglasi2/9674157.jpg HTTP/1.1 
Host: img.onnepremicnine.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.nepremicnine.net/
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         104.26.1.132
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Sun, 02 Oct 2022 16:27:27 GMT
content-length: 116034
cf-bgj: h2pri
etag: "1c542-5e9b9800cb8cb"
last-modified: Wed, 28 Sep 2022 09:36:50 GMT
cache-control: max-age=14400
cf-cache-status: REVALIDATED
accept-ranges: bytes
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=MCRwYZ0ZvKUq8C3iqOuBCb3WNX9AqJDQ0skgRq9q%2F9I%2BEn6ADood8wTItOLVW5JqalaOqjELDRkYHULaQ564DCsX1WCEiyZ6nKE6k3K0wxzd9tmT9ztNwcON32aVHBepo3R%2Fswx%2B7Fs%3D"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
vary: Accept-Encoding
server: cloudflare
cf-ray: 753ece3b0cd90b45-OSL
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, resolution (DPI), density 96x96, segment length 16, baseline, precision 8, 1280x960, components 3\012- data
Size:   116034
Md5:    d340144028d44e7a7c67a379d4efc495
Sha1:   55e085e6b45c5f25b0ec34dd845261161df92f97
Sha256: 52caf063797826bf63e4553714ce51120eb1429efbcb06f3cb94b574bf42af16
                                        
                                            GET /v2.8/plugins/like.php?action=like&app_id=218433478210947&channel=https%3A%2F%2Fstaticxx.facebook.com%2Fx%2Fconnect%2Fxd_arbiter%2F%3Fversion%3D46%23cb%3Df1d09602672bfe%26domain%3Dwww.nepremicnine.net%26is_canvas%3Dfalse%26origin%3Dhttps%253A%252F%252Fwww.nepremicnine.net%252Ff123ac7857c6e44%26relation%3Dparent.parent&color_scheme=dark&container_width=210&href=https%3A%2F%2Fwww.facebook.com%2FnepremicnineNET&layout=standard&locale=sl_SI&sdk=joey&share=false&size=large&width=220 HTTP/1.1 
Host: www.facebook.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.nepremicnine.net/
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

                                         
                                         157.240.221.35
HTTP/2 200 OK
content-type: text/html;charset=utf-8
                                        
pragma: no-cache
cache-control: private, no-cache, no-store, must-revalidate
expires: Sat, 01 Jan 2000 00:00:00 GMT
content-security-policy-report-only: default-src data: blob: 'self' https://*.fbsbx.com 'unsafe-inline' *.facebook.com 'unsafe-eval' *.fbcdn.net;script-src *.facebook.com *.fbcdn.net *.facebook.net *.google-analytics.com *.google.com 127.0.0.1:* 'unsafe-inline' 'unsafe-eval' blob: data: 'self' connect.facebook.net;style-src fonts.googleapis.com *.fbcdn.net data: *.facebook.com 'unsafe-inline';connect-src *.facebook.com facebook.com *.fbcdn.net *.facebook.net wss://*.facebook.com:* wss://*.whatsapp.com:* wss://*.fbcdn.net attachment.fbsbx.com ws://localhost:* blob: *.cdninstagram.com 'self' wss://gateway.facebook.com wss://edge-chat.facebook.com wss://snaptu-d.facebook.com wss://kaios-d.facebook.com/ v.whatsapp.net *.fbsbx.com *.fb.com;font-src data: *.gstatic.com *.facebook.com *.fbcdn.net *.fbsbx.com;img-src *.fbcdn.net *.facebook.com data: https://*.fbsbx.com *.tenor.co media.tenor.com facebook.com *.cdninstagram.com fbsbx.com fbcdn.net *.giphy.com connect.facebook.net *.carriersignal.info blob: android-webview-video-poster: googleads.g.doubleclick.net www.googleadservices.com *.whatsapp.net *.fb.com *.oculuscdn.com;media-src *.cdninstagram.com blob: *.fbcdn.net *.fbsbx.com www.facebook.com *.facebook.com https://*.giphy.com data:;frame-src *.doubleclick.net *.google.com *.facebook.com www.googleadservices.com *.fbsbx.com fbsbx.com data: www.instagram.com *.fbcdn.net https://paywithmybank.com;worker-src blob: *.facebook.com data:;report-uri https://www.facebook.com/csp/reporting/?minimize=0;
content-security-policy: default-src data: blob: 'self' https://*.fbsbx.com 'unsafe-inline' *.facebook.com 'unsafe-eval' *.fbcdn.net;script-src *.facebook.com *.fbcdn.net *.facebook.net *.google-analytics.com *.google.com 127.0.0.1:* 'unsafe-inline' 'unsafe-eval' blob: data: 'self' connect.facebook.net;style-src fonts.googleapis.com *.fbcdn.net data: *.facebook.com 'unsafe-inline';connect-src *.facebook.com facebook.com *.fbcdn.net *.facebook.net wss://*.facebook.com:* wss://*.whatsapp.com:* wss://*.fbcdn.net attachment.fbsbx.com ws://localhost:* blob: *.cdninstagram.com 'self' wss://gateway.facebook.com wss://edge-chat.facebook.com wss://snaptu-d.facebook.com wss://kaios-d.facebook.com/ v.whatsapp.net *.fbsbx.com *.fb.com;font-src data: *.gstatic.com *.facebook.com *.fbcdn.net *.fbsbx.com;img-src *.fbcdn.net *.facebook.com data: https://*.fbsbx.com *.tenor.co media.tenor.com facebook.com *.cdninstagram.com fbsbx.com fbcdn.net *.giphy.com connect.facebook.net *.carriersignal.info blob: android-webview-video-poster: googleads.g.doubleclick.net www.googleadservices.com *.whatsapp.net *.fb.com *.oculuscdn.com;media-src *.cdninstagram.com blob: *.fbcdn.net *.fbsbx.com www.facebook.com *.facebook.com https://*.giphy.com data:;frame-src *.doubleclick.net *.google.com *.facebook.com www.googleadservices.com *.fbsbx.com fbsbx.com data: www.instagram.com *.fbcdn.net https://paywithmybank.com;worker-src blob: *.facebook.com data:;block-all-mixed-content;upgrade-insecure-requests;report-uri https://www.facebook.com/csp/reporting/?minimize=0;
report-to: {"max_age":259200,"endpoints":[{"url":"https:\/\/www.facebook.com\/ajax\/browser_error_reports\/?device_level=unknown"}]}
cross-origin-opener-policy: same-origin-allow-popups
x-content-type-options: nosniff
x-xss-protection: 0
x-fb-debug: rqgdp8k5x5ou7xE82rh6AawrXE+luHD25Xb6V1KWMCNUbVbSbSX9VYzlKNqBsQggIeJ+PunPp4BZO/Z56vs9mA==
content-length: 0
date: Sun, 02 Oct 2022 16:27:28 GMT
priority: u=3,i
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
X-Firefox-Spdy: h2

                                        
                                            GET /slonep_oglasi2/9628988.jpg HTTP/1.1 
Host: img.onnepremicnine.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.nepremicnine.net/
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

                                         
                                         104.26.1.132
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Sun, 02 Oct 2022 16:27:28 GMT
content-length: 124598
cf-bgj: h2pri
etag: "1e6b6-5e89582e27764"
last-modified: Tue, 13 Sep 2022 21:15:27 GMT
cache-control: max-age=14400
cf-cache-status: REVALIDATED
accept-ranges: bytes
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=DismuX6C0X9uTNo6R8PoWd6AnBu0BJzVGhNT6GHtPuKQfG8Ih0m%2FTR%2FULpzahegt%2FCVJYgdkaiZGinu7E41ITIkLyX8SrdD17PFZXFADDKMBbRKsWCAads0AD0ddTJRejEuUKVbxk8w%3D"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
vary: Accept-Encoding
server: cloudflare
cf-ray: 753ece3cee5f0b45-OSL
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, resolution (DPI), density 96x96, segment length 16, baseline, precision 8, 1280x956, components 3\012- data
Size:   124598
Md5:    0f12d4d4e301126af283236e7472d61a
Sha1:   0801b09d2c62b6bdde439584b5b0c69eb9f504b5
Sha256: d993dedffd6f2fc4a2bcc48d109a28ed46d75195af3c66f4310e0dff17126582
                                        
                                            GET /styles.min.css?v=release_1.3.072&r=0 HTTP/1.1 
Host: www.nepremicnine.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.nepremicnine.net/nepremicnine.html?id=6507190
Cookie: PHPSESSID=1rpkt96svsenrmgnvddj1hov7p; IP=91.90.42.154; saved_0=%1F%8B%08%00%00%00%00%00%00%03%F3%B3%06%00P%99%28%9E%02%00%00%00; ID0=nn-6339bbed03119
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         91.235.242.143
HTTP/2 200 OK
content-type: text/css
                                        
date: Sun, 02 Oct 2022 16:27:25 GMT
server: Apache
strict-transport-security: max-age=31536000; includeSubDomains; preload
last-modified: Tue, 26 Jul 2022 09:51:38 GMT
etag: "8a39b-5e4b23f2d2f80-gzip"
accept-ranges: bytes
cache-control: max-age=31536000
expires: Mon, 02 Oct 2023 16:27:25 GMT
vary: Accept-Encoding
content-encoding: gzip
X-Firefox-Spdy: h2


--- Additional Info ---
                                        
                                            GET /css2?family=Roboto:wght@300;400;500;700&display=swaps HTTP/1.1 
Host: fonts.googleapis.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.nepremicnine.net/
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         142.250.74.10
HTTP/2 200 OK
content-type: text/css; charset=utf-8
                                        
access-control-allow-origin: *
timing-allow-origin: *
link: <https://fonts.gstatic.com>; rel=preconnect; crossorigin
strict-transport-security: max-age=31536000
expires: Sun, 02 Oct 2022 16:27:25 GMT
date: Sun, 02 Oct 2022 16:27:25 GMT
cache-control: private, max-age=86400
cross-origin-resource-policy: cross-origin
cross-origin-opener-policy: same-origin-allow-popups
content-encoding: gzip
server: ESF
x-xss-protection: 0
x-frame-options: SAMEORIGIN
x-content-type-options: nosniff
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
X-Firefox-Spdy: h2


--- Additional Info ---