! function(e) {
    function t(n) {
        if (r[n]) return r[n].exports;
        var o = r[n] = {
            exports: {},
            id: n,
            loaded: !1
        };
        return e[n].call(o.exports, o, o.exports, t), o.loaded = !0, o.exports
    }
    var n = window.webpackJsonp;
    window.webpackJsonp = function(r, i) {
        for (var a, s, u = 0, l = []; u < r.length; u++) s = r[u], o[s] && l.push.apply(l, o[s]), o[s] = 0;
        for (a in i) e[a] = i[a];
        for (n && n(r, i); l.length;) l.shift().call(null, t)
    };
    var r = {},
        o = {
            0: 0
        };
    return t.e = function(e, n) {
        if (0 === o[e]) return n.call(null, t);
        if (void 0 !== o[e]) o[e].push(n);
        else {
            o[e] = [n];
            var r = document.getElementsByTagName("head")[0],
                i = document.createElement("script");
            i.type = "text/javascript", i.charset = "utf-8", i.async = !0, i.src = t.p + "" + ({
                1: "png",
                3: "svg"
            } [e] || e) + ".js", r.appendChild(i)
        }
    }, t.m = e, t.c = r, t.p = "https://yastatic.net/share2/v-1.6.0/", t(0)
}([function(e, t, n) {
    "use strict";

    function r(e) {
        return e && e.__esModule ? e : {
            "default": e
        }
    }
    var o = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
            return typeof e
        } : function(e) {
            return e && "function" == typeof Symbol && e.constructor === Symbol ? "symbol" : typeof e
        },
        i = n(40),
        a = r(i),
        s = n(28),
        u = n(29),
        l = r(u),
        c = n(3),
        p = r(c),
        d = n(47),
        f = r(d),
        h = n(45),
        _ = r(h),
        m = n(44),
        y = r(m),
        g = (0, s.loadPlugins)(),
        b = (0, s.getFrameUrl)();
    Object.keys(g).forEach(function(e) {
        return g[e].config.shareUrl += "&utm_source=share2"
    });
    var v = new l["default"](window, "ya-share2"),
        k = new p["default"](window.document),
        w = new f["default"](window, a["default"].metrika.id),
        x = a["default"].defaults,
        M = (0, _["default"])({
            defaults: x,
            plugins: g,
            frameUrl: b,
            metrika: w,
            messenger: v
        });
    (0, y["default"])(window, function() {
        M(".ya-share2", {
            reinit: !1
        })
    }), w.inject(k), window.Ya = window.Ya || {}, window.Ya.share2 = function(e, t) {
        if ("object" === ("undefined" == typeof e ? "undefined" : o(e)) && 1 === e.nodeType) return M(e, t)[0];
        if ("string" == typeof e) return 0 === e.indexOf("#") && (console.log("DEPRECATION: use element id instead of query selector for initialization"), e = e.slice(1)), M("#" + e, t)[0];
        throw new TypeError("Neither element nor element id is provided")
    }
}, function(e, t) {
    "use strict";
    t.__esModule = !0;
    var n = {
        closest: function(e, t) {
            do
                if (n.hasClass(e, t)) return e; while (e = e.parentNode)
        },
        hasClass: function(e, t) {
            var r = n.getClassList(e);
            return r && -1 !== r.indexOf(t)
        },
        toArray: function(e) {
            for (var t = [], n = e.length, r = 0; n > r; r += 1) t.push(e[r]);
            return t
        },
        on: function(e, t, n) {
            e.addEventListener ? e.addEventListener(t, n, !1) : e.attachEvent("on" + t, n)
        },
        off: function(e, t, n) {
            e.removeEventListener ? e.removeEventListener(t, n, !1) : e.detachEvent("on" + t, n)
        },
        getTarget: function(e) {
            return e.target || e.srcElement
        },
        preventDefault: function(e) {
            e.preventDefault ? e.preventDefault() : e.returnValue = !1
        },
        getDataset: function(e) {
            if (e.dataset) return e.dataset;
            for (var t = {}, n = e.attributes, r = 0, o = n.length; o > r; r += 1) {
                var i = n[r].nodeName,
                    a = n[r].nodeValue;
                if (0 === i.indexOf("data-")) {
                    var s = i.replace(/^data-/, "").replace(/-([a-z])/g, function(e, t) {
                        return t.toUpperCase()
                    });
                    t[s] = a
                }
            }
            return t
        },
        getClassList: function(e) {
            return e.classList ? n.toArray(e.classList) : e.className ? e.className.split(" ") : void 0
        },
        getTextContent: function(e) {
            return "textContent" in e ? e.textContent : e.innerText
        },
        setTextContent: function(e, t) {
            "textContent" in e ? e.textContent = t : e.innerText = t
        },
        remove: function(e) {
            return e.parentNode.removeChild(e)
        }
    };
    t["default"] = n
}, function(e, t) {
    "use strict";
    var n = Object.prototype.hasOwnProperty,
        r = Object.prototype.toString,
        o = function(e) {
            return "function" == typeof Array.isArray ? Array.isArray(e) : "[object Array]" === r.call(e)
        },
        i = function(e) {
            if (!e || "[object Object]" !== r.call(e)) return !1;
            var t = n.call(e, "constructor"),
                o = e.constructor && e.constructor.prototype && n.call(e.constructor.prototype, "isPrototypeOf");
            if (e.constructor && !t && !o) return !1;
            var i;
            for (i in e);
            return "undefined" == typeof i || n.call(e, i)
        };
    e.exports = function a() {
        var e, t, n, r, s, u, l = arguments[0],
            c = 1,
            p = arguments.length,
            d = !1;
        for ("boolean" == typeof l ? (d = l, l = arguments[1] || {}, c = 2) : ("object" != typeof l && "function" != typeof l || null == l) && (l = {}); p > c; ++c)
            if (e = arguments[c], null != e)
                for (t in e) n = l[t], r = e[t], l !== r && (d && r && (i(r) || (s = o(r))) ? (s ? (s = !1, u = n && o(n) ? n : []) : u = n && i(n) ? n : {}, l[t] = a(d, u, r)) : "undefined" != typeof r && (l[t] = r));
        return l
    }
}, function(e, t) {
    "use strict";

    function n(e) {
        return e.getElementsByTagName("head")[0] || e.body
    }
    t.__esModule = !0;
    var r = function(e) {
        this._document = e
    };
    r.prototype.injectCss = function(e) {
        var t = n(this._document),
            r = this._document.createElement("style");
        r.type = "text/css";
        try {
            r.innerHTML = e
        } catch (o) {
            r.styleSheet.cssText = e
        }
        t.appendChild(r)
    }, r.prototype.injectJs = function(e) {
        var t = n(this._document),
            r = this._document.createElement("script");
        return r.src = e, r.defer = !0, t.appendChild(r), r
    }, r.prototype.injectJsInNonBlockingManner = function(e) {
        var t = e.map(function(e) {
            return "\n        var js = document.createElement('script');\n        js.src = '" + e + "';\n        document.body.appendChild(js);\n    "
        }).join("");
        this._document.open(), this._document.write('<body onload="' + t + '">'), this._document.close()
    }, r.prototype.supportsSvg = function() {
        return void 0 !== this._document.createElement("SVG").getAttributeNS
    }, t["default"] = r
}, function(e, t) {
    "use strict";

    function n(e) {
        return Array.isArray(e) ? e : Array.from(e)
    }
    t.__esModule = !0;
    var r = function() {};
    r.getParams = function(e) {
        var t = e.search.substring(1).split("&");
        return t.reduce(function(e, t) {
            var r = t.split("="),
                o = n(r),
                i = o[0],
                a = o.slice(1);
            return e[i] = decodeURIComponent(a.join("=")), e
        }, {})
    }, r.applyTemplate = function(e, t) {
        return e.replace(/{(\w+)}/g, function(e, n) {
            return void 0 !== t[n] ? encodeURIComponent(t[n]) : ""
        })
    }, r.serializeParams = function(e) {
        return Object.keys(e).map(function(t) {
            return t + "=" + encodeURIComponent(e[t])
        }).join("&")
    }, t["default"] = r
}, function(e, t) {
    "use strict";
    t.__esModule = !0, t["default"] = {
        config: {
            shareUrl: "https://www.blogger.com/blog-this.g?t={description}&u={url}&n={title}"
        },
        popupDimensions: [800, 320],
        i18n: {
            az: "Blogger",
            be: "Blogger",
            en: "Blogger",
            hy: "Blogger",
            ka: "Blogger",
            kk: "Blogger",
            ro: "Blogger",
            ru: "Blogger",
            tr: "Blogger",
            tt: "Blogger",
            uk: "Blogger"
        },
        color: "#fb8f3d"
    }
}, function(e, t) {
    "use strict";
    t.__esModule = !0, t["default"] = {
        config: {
            shareUrl: "https://www.delicious.com/save?v=5&noui&jump=close&url={url}&title={title}"
        },
        popupDimensions: [800, 520],
        i18n: {
            az: "Delicious",
            be: "Delicious",
            en: "Delicious",
            hy: "Delicious",
            ka: "Delicious",
            kk: "Delicious",
            ro: "Delicious",
            ru: "Delicious",
            tr: "Delicious",
            tt: "Delicious",
            uk: "Delicious"
        },
        color: "#31a9ff"
    }
}, function(e, t) {
    "use strict";
    t.__esModule = !0, t["default"] = {
        config: {
            shareUrl: "https://digg.com/submit?url={url}&title={title}&bodytext={description}"
        },
        popupDimensions: [800, 520],
        i18n: {
            az: "Digg",
            be: "Digg",
            en: "Digg",
            hy: "Digg",
            ka: "Digg",
            kk: "Digg",
            ro: "Digg",
            ru: "Digg",
            tr: "Digg",
            tt: "Digg",
            uk: "Digg"
        },
        color: "#000"
    }
}, function(e, t) {
    "use strict";
    t.__esModule = !0, t["default"] = {
        config: {
            shareUrl: "https://www.evernote.com/clip.action?title={title}&body={description}"
        },
        popupDimensions: [800, 520],
        i18n: {
            az: "Evernote",
            be: "Evernote",
            en: "Evernote",
            hy: "Evernote",
            ka: "Evernote",
            kk: "Evernote",
            ro: "Evernote",
            ru: "Evernote",
            tr: "Evernote",
            tt: "Evernote",
            uk: "Evernote"
        },
        color: "#24d666"
    }
}, function(e, t) {
    "use strict";
    t.__esModule = !0, t["default"] = {
        config: {
            shareUrl: "https://www.facebook.com/sharer.php?src=sp&u={url}",
            countUrl: "https://api.facebook.com/method/fql.query?query=select%20%20like_count%2C%20total_count%2C%20share_count%2C%20click_count%20from%20link_stat%20where%20url=%22{url}%22&format=json&callback={callback}",
            countCallback: function(e) {
                return parseInt((e[0] || e).total_count, 10)
            }
        },
        popupDimensions: [800, 520],
        i18n: {
            az: "Facebook",
            be: "Facebook",
            en: "Facebook",
            hy: "Facebook",
            ka: "Facebook",
            kk: "Facebook",
            ro: "Facebook",
            ru: "Facebook",
            tr: "Facebook",
            tt: "Facebook",
            uk: "Facebook"
        },
        color: "#3c5a98"
    }
}, function(e, t) {
    "use strict";
    t.__esModule = !0, t["default"] = {
        config: {
            shareUrl: "https://plus.google.com/share?url={url}",
            countUrl: "https://share.yandex.net/counter/gpp/?callback={callback}&url={url}",
            countCallback: function(e) {
                return parseInt(e.replace(/\s+/, ""), 10)
            }
        },
        popupDimensions: [560, 370],
        i18n: {
            az: "Google+",
            be: "Google+",
            en: "Google+",
            hy: "Google+",
            ka: "Google+",
            kk: "Google+",
            ro: "Google+",
            ru: "Google+",
            tr: "Google+",
            tt: "Google+",
            uk: "Google+"
        },
        color: "#db4437"
    }
}, function(e, t) {
    "use strict";
    t.__esModule = !0, t["default"] = {
        config: {
            shareUrl: "https://www.linkedin.com/shareArticle?mini=true&url={url}&title={title}&summary={description}",
            countUrl: "https://www.linkedin.com/countserv/count/share?url={url}&callback={callback}",
            countCallback: function(e) {
                return e.count
            }
        },
        popupDimensions: [800, 520],
        i18n: {
            az: "LinkedIn",
            be: "LinkedIn",
            en: "LinkedIn",
            hy: "LinkedIn",
            ka: "LinkedIn",
            kk: "LinkedIn",
            ro: "LinkedIn",
            ru: "LinkedIn",
            tr: "LinkedIn",
            tt: "LinkedIn",
            uk: "LinkedIn"
        },
        color: "#0083be"
    }
}, function(e, t) {
    "use strict";
    t.__esModule = !0, t["default"] = {
        config: {
            shareUrl: "https://www.livejournal.com/update.bml?subject={title}&event={url}%0A{description}"
        },
        popupDimensions: [800, 520],
        i18n: {
            az: "LiveJournal",
            be: "LiveJournal",
            en: "LiveJournal",
            hy: "LiveJournal",
            ka: "LiveJournal",
            kk: "LiveJournal",
            ro: "LiveJournal",
            ru: "LiveJournal",
            tr: "LiveJournal",
            tt: "LiveJournal",
            uk: "LiveJournal"
        },
        color: "#0d425a"
    }
}, function(e, t) {
    "use strict";
    t.__esModule = !0, t["default"] = {
        config: {
            shareUrl: "https://connect.mail.ru/share?url={url}&title={title}&description={description}",
            countUrl: "https://connect.mail.ru/share_count?func={callback}&callback=1&url_list={url}",
            countCallback: function(e) {
                var t = Object.keys(e)[0];
                return t ? parseInt(e[t].shares, 10) : 0
            }
        },
        popupDimensions: [560, 400],
        i18n: {
            az: "Moy Mir",
            be: "Мой Мир",
            en: "Moi Mir",
            hy: "Moi Mir",
            ka: "Moi Mir",
            kk: "Мой Мир",
            ro: "Moi Mir",
            ru: "Мой Мир",
            tr: "Moi Mir",
            tt: "Мой Мир",
            uk: "Мой Мир"
        },
        color: "#4776a6"
    }
}, function(e, t) {
    "use strict";
    t.__esModule = !0, t["default"] = {
        config: {
            shareUrl: "https://connect.ok.ru/dk?st.cmd=WidgetSharePreview&st.shareUrl={url}",
            countUrl: "https://connect.ok.ru/dk?st.cmd=extLike&uid=odklocs0&ref={url}",
            countCallback: function(e) {
                return parseInt(e || 0, 10)
            },
            countCallbackMount: function(e, t) {
                e.ODKL = {
                    updateCount: function(e, n) {
                        t(n)
                    }
                }
            }
        },
        popupDimensions: [800, 520],
        i18n: {
            az: "Odnoklassniki",
            be: "Одноклассники",
            en: "Odnoklassniki",
            hy: "Odnoklassniki",
            ka: "Odnoklasniki",
            kk: "Одноклассники",
            ro: "Odnoklassniki",
            ru: "Одноклассники",
            tr: "Odnoklasniki",
            tt: "Одноклассники",
            uk: "Однокласники"
        },
        color: "#ff9f4d"
    }
}, function(e, t) {
    "use strict";
    t.__esModule = !0, t["default"] = {
        config: {
            shareUrl: "https://pinterest.com/pin/create/button/?url={url}&media={image}&description={title}",
            countUrl: "https://api.pinterest.com/v1/urls/count.json?callback={callback}&url={url}",
            countCallback: function(e) {
                return parseInt(e.count || 0, 10)
            }
        },
        popupDimensions: [800, 520],
        i18n: {
            az: "Pinterest",
            be: "Pinterest",
            en: "Pinterest",
            hy: "Pinterest",
            ka: "Pinterest",
            kk: "Pinterest",
            ro: "Pinterest",
            ru: "Pinterest",
            tr: "Pinterest",
            tt: "Pinterest",
            uk: "Pinterest"
        },
        color: "#c20724"
    }
}, function(e, t) {
    "use strict";
    t.__esModule = !0, t["default"] = {
        config: {
            shareUrl: "https://getpocket.com/save?url={url}&title={title}"
        },
        popupDimensions: [800, 520],
        i18n: {
            az: "Pocket",
            be: "Pocket",
            en: "Pocket",
            hy: "Pocket",
            ka: "Pocket",
            kk: "Pocket",
            ro: "Pocket",
            ru: "Pocket",
            tr: "Pocket",
            tt: "Pocket",
            uk: "Pocket"
        },
        color: "#ee4056"
    }
}, function(e, t) {
    "use strict";
    t.__esModule = !0, t["default"] = {
        config: {
            shareUrl: "http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url={url}&title={title}&pics={image}"
        },
        popupDimensions: [800, 520],
        i18n: {
            az: "Qzone",
            be: "Qzone",
            en: "Qzone",
            hy: "Qzone",
            ka: "Qzone",
            kk: "Qzone",
            ro: "Qzone",
            ru: "Qzone",
            tr: "Qzone",
            tt: "Qzone",
            uk: "Qzone"
        },
        color: "#f5b53c"
    }
}, function(e, t) {
    "use strict";
    t.__esModule = !0, t["default"] = {
        config: {
            shareUrl: "https://www.reddit.com/submit?url={url}&title={title}"
        },
        popupDimensions: [800, 520],
        i18n: {
            az: "reddit",
            be: "reddit",
            en: "reddit",
            hy: "reddit",
            ka: "reddit",
            kk: "reddit",
            ro: "reddit",
            ru: "reddit",
            tr: "reddit",
            tt: "reddit",
            uk: "reddit"
        },
        color: "#ff4500"
    }
}, function(e, t) {
    "use strict";
    t.__esModule = !0, t["default"] = {
        config: {
            shareUrl: "http://widget.renren.com/dialog/share?resourceUrl={url}&srcUrl={url}&title={title}&pic={image}&description={description}"
        },
        popupDimensions: [800, 520],
        i18n: {
            az: "Renren",
            be: "Renren",
            en: "Renren",
            hy: "Renren",
            ka: "Renren",
            kk: "Renren",
            ro: "Renren",
            ru: "Renren",
            tr: "Renren",
            tt: "Renren",
            uk: "Renren"
        },
        color: "#1760a7"
    }
}, function(e, t) {
    "use strict";
    t.__esModule = !0, t["default"] = {
        config: {
            shareUrl: "http://service.weibo.com/share/share.php?url={url}&type=3&pic={image}&title={title}"
        },
        popupDimensions: [800, 520],
        i18n: {
            az: "Sina Weibo",
            be: "Sina Weibo",
            en: "Sina Weibo",
            hy: "Sina Weibo",
            ka: "Sina Weibo",
            kk: "Sina Weibo",
            ro: "Sina Weibo",
            ru: "Sina Weibo",
            tr: "Sina Weibo",
            tt: "Sina Weibo",
            uk: "Sina Weibo"
        },
        color: "#c53220"
    }
}, function(e, t) {
    "use strict";
    t.__esModule = !0, t["default"] = {
        config: {
            shareUrl: "https://surfingbird.ru/share?url={url}&title={title}&desc={description}"
        },
        popupDimensions: [500, 170],
        i18n: {
            az: "Surfingbird",
            be: "Surfingbird",
            en: "Surfingbird",
            hy: "Surfingbird",
            ka: "Surfingbird",
            kk: "Surfingbird",
            ro: "Surfingbird",
            ru: "Surfingbird",
            tr: "Surfingbird",
            tt: "Surfingbird",
            uk: "Surfingbird"
        },
        color: "#30baff"
    }
}, function(e, t) {
    "use strict";
    t.__esModule = !0, t["default"] = {
        config: {
            shareUrl: "http://share.v.t.qq.com/index.php?c=share&a=index&url={url}&title={title}&pic={image}"
        },
        popupDimensions: [800, 520],
        i18n: {
            az: "Tencent Weibo",
            be: "Tencent Weibo",
            en: "Tencent Weibo",
            hy: "Tencent Weibo",
            ka: "Tencent Weibo",
            kk: "Tencent Weibo",
            ro: "Tencent Weibo",
            ru: "Tencent Weibo",
            tr: "Tencent Weibo",
            tt: "Tencent Weibo",
            uk: "Tencent Weibo"
        },
        color: "#53a9d7"
    }
}, function(e, t) {
    "use strict";
    t.__esModule = !0, t["default"] = {
        config: {
            shareUrl: "https://www.tumblr.com/share/link?url={url}&description={description}"
        },
        popupDimensions: [800, 520],
        i18n: {
            az: "Tumblr",
            be: "Tumblr",
            en: "Tumblr",
            hy: "Tumblr",
            ka: "Tumblr",
            kk: "Tumblr",
            ro: "Tumblr",
            ru: "Tumblr",
            tr: "Tumblr",
            tt: "Tumblr",
            uk: "Tumblr"
        },
        color: "#547093"
    }
}, function(e, t) {
    "use strict";
    t.__esModule = !0, t["default"] = {
        config: {
            shareUrl: "https://twitter.com/intent/tweet?text={title}&url={url}"
        },
        popupDimensions: [550, 420],
        i18n: {
            az: "Twitter",
            be: "Twitter",
            en: "Twitter",
            hy: "Twitter",
            ka: "Twitter",
            kk: "Twitter",
            ro: "Twitter",
            ru: "Twitter",
            tr: "Twitter",
            tt: "Twitter",
            uk: "Twitter"
        },
        color: "#00aced"
    }
}, function(e, t) {
    "use strict";
    t.__esModule = !0, t["default"] = {
        config: {
            shareUrl: "viber://forward?text={title}%20{url}"
        },
        i18n: {
            az: "Viber",
            be: "Viber",
            en: "Viber",
            hy: "Viber",
            ka: "Viber",
            kk: "Viber",
            ro: "Viber",
            ru: "Viber",
            tr: "Viber",
            tt: "Viber",
            uk: "Viber"
        },
        color: "#7b519d"
    }
}, function(e, t) {
    "use strict";
    t.__esModule = !0, t["default"] = {
        config: {
            shareUrl: "http://vk.com/share.php?url={url}&title={title}&description={description}&image={image}",
            countUrl: "https://vk.com/share.php?act=count&index=0&url={url}",
            countCallback: function(e) {
                return parseInt(e, 10)
            },
            countCallbackMount: function(e, t) {
                e.VK = {
                    Share: {
                        count: function(e, n) {
                            t(n)
                        }
                    }
                }
            }
        },
        popupDimensions: [550, 420],
        i18n: {
            az: "ВКонтакте",
            be: "ВКонтакте",
            en: "VKontakte",
            hy: "VKontakte",
            ka: "VKontakte",
            kk: "ВКонтакте",
            ro: "VKontakte",
            ru: "ВКонтакте",
            tr: "VKontakte",
            tt: "ВКонтакте",
            uk: "ВКонтакті"
        },
        color: "#48729e"
    }
}, function(e, t) {
    "use strict";
    t.__esModule = !0, t["default"] = {
        config: {
            shareUrl: "whatsapp://send?text={title}%20{url}"
        },
        i18n: {
            az: "WhatsApp",
            be: "WhatsApp",
            en: "WhatsApp",
            hy: "WhatsApp",
            ka: "WhatsApp",
            kk: "WhatsApp",
            ro: "WhatsApp",
            ru: "WhatsApp",
            tr: "WhatsApp",
            tt: "WhatsApp",
            uk: "WhatsApp"
        },
        color: "#65bc54"
    }
}, function(e, t, n) {
    "use strict";

    function r() {
        var e = n(33);
        return e.keys().reduce(function(t, n) {
            var r = n.match(/^\.\/(\w+)\.js/);
            return r && (t[r[1]] = e(n)["default"]), t
        }, {})
    }

    function o() {
        return n(31)
    }
    t.__esModule = !0, t.loadPlugins = r, t.getFrameUrl = o
}, function(e, t, n) {
    (function(e) {
        "use strict";

        function r(e) {
            return e && e.__esModule ? e : {
                "default": e
            }
        }

        function o(e) {
            try {
                return JSON.parse(e)
            } catch (t) {
                return {}
            }
        }

        function i(e) {
            return e.parent != e && e.parent || e.opener || e.top
        }
        t.__esModule = !0;
        var a = n(1),
            s = r(a),
            u = function(t, n) {
                this._window = t, this._opener = i(t), this._namespace = n, this._subscriptions = new e
            };
        u.prototype.subscribe = function(e, t) {
            var n = this,
                r = function(e) {
                    var r = o(e.data);
                    r.namespace === n._namespace && t(r.payload)
                },
                i = this._subscriptions.get(e) || [];
            i.push(r), this._subscriptions.set(e, i), s["default"].on(this._window, "message", r)
        }, u.prototype.unsubscribe = function(e) {
            var t = this,
                n = this._subscriptions.get(e) || [];
            n.forEach(function(e) {
                return s["default"].off(t._window, "message", e)
            }), this._subscriptions["delete"](e)
        }, u.prototype.publish = function(e) {
            this._opener.postMessage(JSON.stringify({
                namespace: this._namespace,
                payload: e
            }), "*")
        }, t["default"] = u
    }).call(t, n(30))
}, function(e, t) {
    "use strict";

    function n() {
        var e = {};
        return function(t) {
            var n = t.valueOf(e);
            return void 0 !== n && n !== t && n.identity === e ? n : r(t, e)
        }
    }

    function r(e, t) {
        var n = {
                identity: t
            },
            r = e.valueOf,
            o = function(o) {
                return o !== t || this !== e ? r.apply(this, arguments) : n
            };
        return e.valueOf = o, n
    }

    function o(e) {
        if (e !== Object(e)) throw TypeError("value is not a non-null object");
        return e
    }
    e.exports = "WeakMap" in window ? window.WeakMap : function() {
        var e = n();
        return {
            get: function(t, n) {
                var r = e(o(t));
                return r.hasOwnProperty("value") ? r.value : n
            },
            set: function(t, n) {
                e(o(t)).value = n
            },
            has: function(t) {
                return "value" in e(t)
            },
            "delete": function(t) {
                return delete e(o(t)).value
            }
        }
    }
}, function(e, t, n) {
    e.exports = n.p + "frame.html"
}, , function(e, t, n) {
    function r(e) {
        return n(o(e))
    }

    function o(e) {
        return i[e] || function() {
            throw new Error("Cannot find module '" + e + "'.")
        }()
    }
    var i = {
        "./blogger.js": 5,
        "./delicious.js": 6,
        "./digg.js": 7,
        "./evernote.js": 8,
        "./facebook.js": 9,
        "./gplus.js": 10,
        "./linkedin.js": 11,
        "./lj.js": 12,
        "./moimir.js": 13,
        "./odnoklassniki.js": 14,
        "./pinterest.js": 15,
        "./pocket.js": 16,
        "./qzone.js": 17,
        "./reddit.js": 18,
        "./renren.js": 19,
        "./sinaWeibo.js": 20,
        "./surfingbird.js": 21,
        "./tencentWeibo.js": 22,
        "./tumblr.js": 23,
        "./twitter.js": 24,
        "./viber.js": 25,
        "./vkontakte.js": 26,
        "./whatsapp.js": 27
    };
    r.keys = function() {
        return Object.keys(i)
    }, r.resolve = o, e.exports = r, r.id = 33
}, function(e, t) {
    "use strict";

    function n(e) {
        return ("object" == typeof e || "function" == typeof e) && null !== e
    }
    e.exports.get = function(e, t) {
        if (!n(e) || "string" != typeof t) return e;
        for (var r = t.split("."), o = 0; o < r.length; o++) {
            for (var i = r[o];
                "\\" === i[i.length - 1];) i = i.slice(0, -1) + ".", i += r[++o];
            if (e = e[i], void 0 === e) break
        }
        return e
    }, e.exports.set = function(e, t, r) {
        if (n(e) && "string" == typeof t)
            for (var o = t.split("."), i = 0; i < o.length; i++) {
                for (var a = o[i];
                    "\\" === a[a.length - 1];) a = a.slice(0, -1) + ".", a += o[++i];
                n(e[a]) || (e[a] = {}), i === o.length - 1 && (e[a] = r), e = e[a]
            }
    }
}, , , function(e, t) {
    "use strict";

    function n(e) {
        return e in s || (s[e] = new RegExp("(^|\\s+)" + e + "(\\s+|$)", "")), s[e]
    }

    function r(e, t) {
        return n(t).test(e.className || "")
    }

    function o(e, t) {
        r(e, t) || (e.className += " " + t)
    }

    function i(e, t) {
        var n = new RegExp("((?:^|\\s+)" + t + "|" + t + "(?:\\s+|$))", "g");
        e && (e.className = e.className.replace(n, ""))
    }

    function a(e, t) {
        r(e, t) ? i(e, t) : o(e, t)
    }
    t.__esModule = !0, t.hasClass = r, t.addClass = o, t.removeClass = i, t.toggleClass = a;
    var s = {}
}, function(e, t, n) {
    var r;
    ! function(o) {
        function i(e) {
            e || (e = {}), this.elemDelim = e.elem || e.elemSeparator || "__", this.modDelim = e.mod || e.modSeparator || "_", this._wordPattern = e.wordPattern || e.literal && e.literal + "+" || "[a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)*", this._buildRegex()
        }
        var a = {
            BLOCK: "block",
            BLOCK_MOD: "blockMod",
            ELEM: "elem",
            ELEM_MOD: "elemMod"
        };
        i.prototype.validate = function(e) {
            return this._regex.test(e)
        }, i.prototype.typeOf = function(e) {
            if ("string" == typeof e && (e = this.parse(e)), e && e.block) {
                var t = e.modName,
                    n = t && (e.modVal || !e.hasOwnProperty("modVal"));
                if (e.elem) {
                    if (n) return a.ELEM_MOD;
                    if (!t) return a.ELEM
                }
                return n ? a.BLOCK_MOD : t ? void 0 : a.BLOCK
            }
        }, i.prototype.isBlock = function(e) {
            return this.typeOf(e) === a.BLOCK
        }, i.prototype.isBlockMod = function(e) {
            return this.typeOf(e) === a.BLOCK_MOD
        }, i.prototype.isElem = function(e) {
            return this.typeOf(e) === a.ELEM
        }, i.prototype.isElemMod = function(e) {
            return this.typeOf(e) === a.ELEM_MOD
        }, i.prototype.parse = function(e) {
            var t = this._regex.exec(e);
            if (t) {
                var n = {
                        block: t[1] || t[4]
                    },
                    r = t[5],
                    o = t[2] || t[6];
                if (r && (n.elem = r), o) {
                    var i = t[3] || t[7];
                    n.modName = o, n.modVal = i || !0
                }
                return n
            }
        }, i.prototype.stringify = function(e) {
            if (!e || !e.block) throw new Error("The field `block` is undefined. It is impossible to stringify BEM notation.");
            var t = e.block;
            if (e.elem && (t += this.elemDelim + e.elem), e.modName) {
                var n = e.modVal;
                (n || 0 === n || !e.hasOwnProperty("modVal")) && (t += this.modDelim + e.modName), n && n !== !0 && (t += this.modDelim + n)
            }
            return t
        }, i.prototype._buildRegex = function() {
            var e = this._wordPattern,
                t = "(" + e + ")",
                n = "(?:" + this.elemDelim + "(" + e + "))?",
                r = "(?:" + this.modDelim + "(" + e + "))?",
                o = r + r;
            this._regex = new RegExp("^" + t + o + "$|^" + t + n + o + "$")
        };
        var s = !0,
            u = {},
            l = function(e) {
                e || (e = {});
                var t = {
                        elem: e.elem || e.elemSeparator || "__",
                        mod: e.mod || e.modSeparator || "_",
                        wordPattern: e.wordPattern || e.literal && e.literal + "+" || "[a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)*"
                    },
                    n = JSON.stringify(t);
                return u[n] || (u[n] = new i(t))
            },
            c = l();
        l.BEMNaming = i, l.validate = function() {
            return c.validate.apply(c, arguments)
        }, l.parse = function() {
            return c.parse.apply(c, arguments)
        }, l.stringify = function() {
            return c.stringify.apply(c, arguments)
        }, l.typeOf = function() {
            return c.typeOf.apply(c, arguments)
        }, l.isBlock = function() {
            return c.isBlock.apply(c, arguments)
        }, l.isElem = function() {
            return c.isElem.apply(c, arguments)
        }, l.isBlockMod = function() {
            return c.isBlockMod.apply(c, arguments)
        }, l.isElemMod = function() {
            return c.isElemMod.apply(c, arguments)
        }, e.exports = l, s = !1, "object" == typeof modules && (modules.define("bem-naming", function(e) {
            e(l)
        }), s = !1), r = function(e, t, n) {
            n.exports = l
        }.call(t, n, t, e), !(void 0 !== r && (e.exports = r)), s = !1, s && (o.bemNaming = l)
    }(this)
}, function(e, t, n) {
    var r = function() {
        function e() {
            this._shortTags = {};
            for (var e = 0; e < t.length; e++) this._shortTags[t[e]] = 1;
            this._optJsAttrName = "onclick", this._optJsAttrIsJs = !0, this._optJsCls = "i-bem", this._optJsElem = !0, this._optEscapeContent = !0, this._optNobaseMods = !1, this._optDelimElem = "__", this._optDelimMod = "_"
        }
        e.prototype = {
            toHtml: function(e) {
                this._buf = "", this._html(e);
                var t = this._buf;
                return delete this._buf, t
            },
            _html: function(e) {
                var t, a, s;
                if (e !== !1 && null != e)
                    if ("object" != typeof e) this._buf += this._optEscapeContent ? n(e) : e;
                    else if (Array.isArray(e))
                    for (t = 0, a = e.length; a > t; t++) s = e[t], s !== !1 && null != s && this._html(s);
                else {
                    if (e.toHtml) {
                        var u = e.toHtml.call(this, e) || "";
                        return void(this._buf += u)
                    }
                    var l = e.bem !== !1;
                    if ("undefined" != typeof e.tag && !e.tag) return void(e.html ? this._buf += e.html : this._html(e.content));
                    e.mix && !Array.isArray(e.mix) && (e.mix = [e.mix]);
                    var c, p, d, f = "",
                        h = "",
                        _ = !1;
                    if (c = e.attrs)
                        for (t in c) p = c[t], p === !0 ? h += " " + t : p !== !1 && null !== p && void 0 !== p && (h += " " + t + '="' + r(p) + '"');
                    if (l) {
                        var m = e.block + (e.elem ? this._optDelimElem + e.elem : "");
                        e.block && (f = i(e, m, null, this._optNobaseMods, this._optDelimMod), e.js && ((d = {})[m] = e.js === !0 ? {} : e.js));
                        var y = this._optJsCls && (this._optJsElem || !e.elem),
                            g = e.mix;
                        if (g && g.length)
                            for (t = 0, a = g.length; a > t; t++) {
                                var b = g[t];
                                if (b && b.bem !== !1) {
                                    var v = b.block || e.block || "",
                                        k = b.elem || (b.block ? null : e.block && e.elem),
                                        w = v + (k ? this._optDelimElem + k : "");
                                    v && (f += i(b, w, m, this._optNobaseMods, this._optDelimMod), b.js && ((d = d || {})[w] = b.js === !0 ? {} : b.js, _ = !0, y || (y = v && this._optJsCls && (this._optJsElem || !k))))
                                }
                            }
                        if (d) {
                            y && (f += " " + this._optJsCls);
                            var x = _ || e.js !== !0 ? o(JSON.stringify(d)) : '{"' + m + '":{}}';
                            h += " " + (e.jsAttr || this._optJsAttrName) + "='" + (this._optJsAttrIsJs ? "return " + x : x) + "'"
                        }
                    }
                    e.cls && (f = (f ? f + " " : "") + r(e.cls).trim());
                    var M = e.tag || "div";
                    this._buf += "<" + M + (f ? ' class="' + f + '"' : "") + (h ? h : ""), this._shortTags[M] ? this._buf += "/>" : (this._buf += ">", e.html ? this._buf += e.html : this._html(e.content), this._buf += "</" + M + ">")
                }
            }
        };
        var t = "area base br col command embed hr img input keygen link menuitem meta param source track wbr".split(" "),
            n = e.prototype.xmlEscape = function(e) {
                return (e + "").replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;")
            },
            r = e.prototype.attrEscape = function(e) {
                return (e + "").replace(/&/g, "&amp;").replace(/"/g, "&quot;")
            },
            o = e.prototype.jsAttrEscape = function(e) {
                return (e + "").replace(/&/g, "&amp;").replace(/'/g, "&#39;")
            },
            i = function(e, t, n, r, o) {
                var i, a, s, u = "";
                if (n !== t && (n && (u += " "), u += t), i = e.elem && e.elemMods || e.mods)
                    for (s in i) a = i[s], (a || 0 === a) && (u += " " + (r ? o : t + o) + s + (a === !0 ? "" : o + a));
                return u
            };
        return e
    }();
    e.exports = r
}, function(e, t) {
    "use strict";
    t.__esModule = !0, t["default"] = {
        metrika: {
            id: 51209651
        },
        defaults: {
            hooks: {
                onready: function() {},
                onshare: function() {}
            },
            theme: {
                bare: !1,
                copy: "last",
                counter: !1,
                lang: "ru",
                limit: !1,
                services: "vkontakte,facebook,twitter",
                size: "m"
            },
            content: {
                description: "",
                image: "",
                title: window.document.title,
                url: window.location.href
            },
            contentByService: {}
        }
    }
}, function(e, t, n) {
    "use strict";

    function r(e) {
        return e && e.__esModule ? e : {
            "default": e
        }
    }
    t.__esModule = !0;
    var o = n(38),
        i = r(o),
        a = n(1),
        s = r(a),
        u = {
            findInside: function(e, t) {
                return e.querySelectorAll("." + i["default"].stringify(t))
            },
            findOutside: function(e, t) {
                return s["default"].closest(e, i["default"].stringify(t))
            },
            getMod: function(e, t) {
                for (var n = s["default"].getClassList(e), r = 0, o = n.length; o > r; r += 1) {
                    var a = i["default"].parse(n[r]);
                    if (a.modName === t) return a.modVal
                }
            }
        };
    t["default"] = u
}, function(e, t, n) {
    "use strict";

    function r(e, t) {
        var r = e.plugins,
            o = e.svg,
            i = function(e) {
                var n = e(r);
                t(n)
            };
        o ? n.e(3, function(e) {
            i(n(36)["default"])
        }) : n.e(1, function(e) {
            i(n(35)["default"])
        })
    }

    function o() {
        return n(54)
    }
    t.__esModule = !0, t.loadIconCss = r, t.getCommonCss = o
}, function(e, t, n) {
    "use strict";

    function r(e) {
        return e && e.__esModule ? e : {
            "default": e
        }
    }

    function o(e) {
        var t = document.createElement("input");
        return t.setAttribute("type", "text"), t.setAttribute("value", e), t.style.position = "absolute", t.style.left = "-9999px", document.body.appendChild(t), t
    }

    function i() {
        try {
            return document.execCommand("copy")
        } catch (e) {
            return !1
        }
    }

    function a(e, t) {
        var n = o(e);
        n.select();
        var r = i();
        u["default"].remove(n), r || t(e)
    }
    t.__esModule = !0, t.copy = i, t.clip = a;
    var s = n(1),
        u = r(s)
}, function(e, t) {
    "use strict";
    /*!
     * contentloaded.js
     *
     * Author: Diego Perini (diego.perini at gmail.com)
     * Summary: cross-browser wrapper for DOMContentLoaded
     * Updated: 20101020
     * License: MIT
     * Version: 1.2
     *
     * URL:
     * http://javascript.nwbox.com/ContentLoaded/
     * http://javascript.nwbox.com/ContentLoaded/MIT-LICENSE
     *
     */
    function n(e, t) {
        function n(r) {
            ("readystatechange" != r.type || "complete" == a.readyState) && (("load" == r.type ? e : a)[c](p + r.type, n, !1), o || (o = !0, t.call(e, r.type || r)))
        }

        function r() {
            try {
                s.doScroll("left")
            } catch (e) {
                return void setTimeout(r, 50)
            }
            n("poll")
        }
        var o = !1,
            i = !0,
            a = e.document,
            s = a.documentElement,
            u = a.addEventListener,
            l = u ? "addEventListener" : "attachEvent",
            c = u ? "removeEventListener" : "detachEvent",
            p = u ? "" : "on";
        if ("complete" == a.readyState) t.call(e, "lazy");
        else {
            if (!u && s.doScroll) {
                try {
                    i = !e.frameElement
                } catch (d) {}
                i && r()
            }
            a[l](p + "DOMContentLoaded", n, !1), a[l](p + "readystatechange", n, !1), e[l](p + "load", n, !1)
        }
    }
    t.__esModule = !0, t["default"] = n
}, function(e, t, n) {
    "use strict";

    function r(e) {
        return e && e.__esModule ? e : {
            "default": e
        }
    }

    function o(e) {
        return function(t) {
            var n = arguments.length <= 1 || void 0 === arguments[1] ? {} : arguments[1];
            return "string" == typeof t && (t = c["default"].toArray(document.querySelectorAll(t))), Array.isArray(t) || (t = [t]), n.reinit === !1 && (t = t.filter(function(e) {
                return !(0, h.hasClass)(e, "ya-share2_inited")
            })), t.map(function(t) {
                var r = new u["default"](t, (0, a["default"])({
                    options: n
                }, e));
                return r.isBare() || m || (_.injectCss((0, p.getCommonCss)()), (0, p.loadIconCss)({
                    plugins: e.plugins,
                    svg: _.supportsSvg()
                }, function(e) {
                    return _.injectCss(e)
                }), m = !0), r
            })
        }
    }
    t.__esModule = !0, t["default"] = o;
    var i = n(2),
        a = r(i),
        s = n(52),
        u = r(s),
        l = n(1),
        c = r(l),
        p = n(42),
        d = n(3),
        f = r(d),
        h = n(37),
        _ = new f["default"](window.document),
        m = !1
}, , function(e, t) {
    "use strict";
    t.__esModule = !0;
    var n = function(e, t) {
        this._window = e, this._namespace = "yandex_metrika_callbacks", this._id = t
    };
    n.prototype.inject = function(e) {
        var t = this,
            n = e.injectJs(""),
            r = "function" == typeof this._window.jQuery;
        this._window[this._namespace] = this._window[this._namespace] || [], this._window[this._namespace].push(function() {
            try {
                t._window["yaCounter" + t._id] = new Ya.Metrika({
                    id: t._id,
                    trackLinks: !0,
                    accurateTrackBounce: !0,
                    params: {
                        jquery: r,
                        version: r && t._window.jQuery().jquery,
                        shareVersion: 2
                    }
                }), n.parentNode.removeChild(n)
            } catch (e) {
                console.error(e)
            }
        })
    }, n.prototype.getCounter = function() {
        return this._window["yaCounter" + this._id]
    }, t["default"] = n
}, function(e, t, n) {
    "use strict";

    function r(e) {
        return e && e.__esModule ? e : {
            "default": e
        }
    }

    function o(e, t) {
        switch (l[e]) {
            case "boolean":
                return void 0 !== t;
            default:
                return t
        }
    }

    function i(e, t) {
        var n = {};
        return Object.keys(e).forEach(function(r) {
            var i = r.split(":"),
                s = a(i, 2),
                l = s[0],
                c = s[1],
                p = o(l, e[r]);
            return void 0 !== t[l] ? void(n[l] = p) : void Object.keys(t).filter(function(e) {
                return !e.match(/ByService$/)
            }).some(function(e) {
                if (void 0 !== t[e][l]) {
                    var r = c ? e + "ByService." + c + "." + l : e + "." + l;
                    return u["default"].set(n, r, p), !0
                }
            })
        }), n
    }
    var a = function() {
        function e(e, t) {
            var n = [],
                r = !0,
                o = !1,
                i = void 0;
            try {
                for (var a, s = e[Symbol.iterator](); !(r = (a = s.next()).done) && (n.push(a.value), !t || n.length !== t); r = !0);
            } catch (u) {
                o = !0, i = u
            } finally {
                try {
                    !r && s["return"] && s["return"]()
                } finally {
                    if (o) throw i
                }
            }
            return n
        }
        return function(t, n) {
            if (Array.isArray(t)) return t;
            if (Symbol.iterator in Object(t)) return e(t, n);
            throw new TypeError("Invalid attempt to destructure non-iterable instance")
        }
    }();
    t.__esModule = !0, t["default"] = i;
    var s = n(34),
        u = r(s),
        l = {
            bare: "boolean",
            counter: "boolean"
        }
}, function(e, t, n) {
    "use strict";

    function r(e) {
        return e && e.__esModule ? e : {
            "default": e
        }
    }

    function o(e, t) {
        var n = arguments.length <= 2 || void 0 === arguments[2] ? {} : arguments[2],
            r = new u["default"];
        return r.merge(e), r.merge((0, a["default"])(t, e)), r.merge(n), r
    }
    t.__esModule = !0, t["default"] = o;
    var i = n(48),
        a = r(i),
        s = n(50),
        u = r(s)
}, function(e, t, n) {
    "use strict";

    function r(e) {
        return e && e.__esModule ? e : {
            "default": e
        }
    }
    t.__esModule = !0;
    var o = n(34),
        i = r(o),
        a = n(2),
        s = r(a),
        u = function() {
            this._options = {}
        };
    u.prototype.merge = function(e) {
        (0, s["default"])(!0, this._options, e)
    }, u.prototype.get = function(e, t) {
        if (t) {
            var n = e.replace(".", "ByService." + t + "."),
                r = i["default"].get(this._options, n);
            if (void 0 !== r) return r
        }
        var o = i["default"].get(this._options, e);
        if (void 0 !== o) return o;
        throw new ReferenceError("config key " + e + " does not exist")
    }, t["default"] = u
}, function(e, t) {
    "use strict";
    var n = function() {
        function e(e, t) {
            var n = [],
                r = !0,
                o = !1,
                i = void 0;
            try {
                for (var a, s = e[Symbol.iterator](); !(r = (a = s.next()).done) && (n.push(a.value), !t || n.length !== t); r = !0);
            } catch (u) {
                o = !0, i = u
            } finally {
                try {
                    !r && s["return"] && s["return"]()
                } finally {
                    if (o) throw i
                }
            }
            return n
        }
        return function(t, n) {
            if (Array.isArray(t)) return t;
            if (Symbol.iterator in Object(t)) return e(t, n);
            throw new TypeError("Invalid attempt to destructure non-iterable instance")
        }
    }();
    t.__esModule = !0;
    var r = function(e, t) {
        this._window = e, this._screen = t
    };
    r.prototype.open = function(e, t, r) {
        var o = n(r, 2),
            i = o[0],
            a = o[1],
            s = {
                scrollbars: 1,
                resizable: 1,
                menubar: 0,
                toolbar: 0,
                status: 0,
                left: (this._screen.width - i) / 2,
                top: (this._screen.height - a) / 2,
                width: i,
                height: a
            },
            u = Object.keys(s).map(function(e) {
                return e + "=" + s[e]
            }).join(","),
            l = this._window.open(t, e + (new Date).valueOf(), u);
        l && l.focus()
    }, t["default"] = r
}, function(e, t, n) {
    "use strict";

    function r(e) {
        return e && e.__esModule ? e : {
            "default": e
        }
    }
    t.__esModule = !0;
    var o = n(53),
        i = r(o),
        a = n(4),
        s = r(a),
        u = n(51),
        l = r(u),
        c = n(41),
        p = r(c),
        d = n(43),
        f = n(1),
        h = r(f),
        _ = n(49),
        m = r(_),
        y = n(37),
        g = new l["default"](window, screen),
        b = function(e, t) {
            this._destroyed = !1, this._params = t, this._container = e, this._messenger = t.messenger, this._options = (0, m["default"])(t.defaults, h["default"].getDataset(this._container), t.options), this._initLayout(t.plugins, t.frameUrl), this._bindEvents(t.messenger, t.metrika), (0, y.addClass)(this._container, "ya-share2"), (0, y.addClass)(this._container, "ya-share2_inited"), this._options.get("hooks.onready").call(this)
        };
    b.prototype.updateContent = function(e) {
        if (this._destroyed) throw new Error("Could not operate on destroyed block.");
        this._options.merge({
            content: e
        }), this._initLayout(this._params.plugins, this._params.frameUrl)
    }, b.prototype.updateContentByService = function(e) {
        if (this._destroyed) throw new Error("Could not operate on destroyed block.");
        this._options.merge({
            contentByService: e
        }), this._initLayout(this._params.plugins, this._params.frameUrl)
    }, b.prototype.destroy = function() {
        this._destroyed = !0, (0, y.removeClass)(this._container, "ya-share2_inited"), this._container.innerHTML = "", this._container = null, this._messenger.unsubscribe(this), h["default"].off(document.body, "click", this._onBodyClick), h["default"].off(document.body, "keydown", this._onKeydown)
    }, b.prototype._initLayout = function(e, t) {
        var n = this;
        this._services = this._options.get("theme.services").split(",").filter(function(t) {
            return e[t]
        }).map(function(t) {
            return {
                name: t,
                title: e[t].i18n[n._options.get("theme.lang", t)],
                location: s["default"].applyTemplate(e[t].config.shareUrl, {
                    title: n._options.get("content.title", t),
                    description: n._options.get("content.description", t),
                    image: n._options.get("content.image", t),
                    url: n._options.get("content.url", t)
                }),
                hasCounter: Boolean(e[t].config.countUrl),
                popupDimensions: e[t].popupDimensions
            }
        }), i["default"].update(this._container, "container", [{
            urls: {
                content: this._options.get("content.url", name),
                frame: t
            },
            theme: this._options.get("theme"),
            services: this._services
        }])
    }, b.prototype._bindEvents = function(e, t) {
        var n = this;
        this._onBodyClick = this._onBodyClick.bind(this, t), this._onKeydown = this._onKeydown.bind(this), h["default"].on(document.body, "click", this._onBodyClick), h["default"].on(document.body, "keydown", this._onKeydown), e.subscribe(this, function(e) {
            n._options.get("content.url") === e.url && n.setCount(e.service, e.count)
        })
    }, b.prototype._onKeydown = function(e) {
        var t = e.which || e.keyCode;
        switch (t) {
            case 27:
                this._closePopup()
        }
    }, b.prototype._onBodyClick = function(e, t) {
        var n = h["default"].getTarget(t),
            r = p["default"].findOutside(n, {
                block: "ya-share2"
            });
        if (r !== this._container) return void this._closePopup();
        var o = p["default"].findOutside(n, {
            block: "ya-share2",
            elem: "item"
        });
        return o ? p["default"].getMod(o, "more") ? void this._onMoreClick(t, o) : p["default"].getMod(o, "copy") ? void this._onCopyClick(t) : void this._onServiceClick(t, o, e) : void 0
    }, b.prototype._onCopyClick = function(e) {
        var t = p["default"].findInside(this._container, {
            block: "ya-share2",
            elem: "popup"
        })[0];
        (0, y.hasClass)(t, "ya-share2__popup_clipboard") && (this._closePopup(), (0, d.clip)(this._options.get("content.url"), function(e) {
            prompt("Чтобы скопировать, нажмите ctrl+С и enter", e)
        })), h["default"].preventDefault(e)
    }, b.prototype._onMoreClick = function(e, t) {
        var n = p["default"].findInside(t, {
            block: "ya-share2",
            elem: "popup"
        })[0];
        (0, d.copy)() ? (0, y.addClass)(n, "ya-share2__popup_clipboard") : (0, y.removeClass)(n, "ya-share2__popup_clipboard"), (0, y.toggleClass)(n, "ya-share2__popup_visible"), h["default"].preventDefault(e)
    }, b.prototype._onServiceClick = function(e, t, n) {
        this._closePopup();
        var r = p["default"].getMod(t, "service");
        if (r) {
            var o = this._services.filter(function(e) {
                return e.name === r
            })[0];
            if (o) {
                if (this._options.get("hooks.onshare").call(this, o.name), this.setCount(o.name), o.popupDimensions) {
                    var i = p["default"].findInside(t, {
                        block: "ya-share2",
                        elem: "link"
                    })[0];
                    h["default"].preventDefault(e), g.open("yaShare2Popup", i.href, o.popupDimensions)
                }
                var a = p["default"].findInside(this._container, {
                        block: "ya-share2",
                        elem: "item"
                    }),
                    s = [].indexOf.call(a, t);
                n.getCounter().reachGoal("BUTTON_CLICK", {
                    serviceName: r,
                    buttonIndex: s
                })
            }
        }
    }, b.prototype.setCount = function(e, t) {
        if (this._options.get("theme.counter")) {
            var n = p["default"].findInside(this._container, {
                block: "ya-share2",
                elem: "item",
                modName: "service",
                modVal: e
            })[0];
            if (!n) return;
            var r = p["default"].findInside(n, {
                block: "ya-share2",
                elem: "counter"
            })[0];
            if (!r) return;
            if (void 0 === t) {
                var o = parseInt(h["default"].getTextContent(r) || 0, 10);
                isNaN(o) && (o = 0), t = o + 1
            }
            h["default"].setTextContent(r, t), t > 0 ? (0, y.addClass)(r, "ya-share2__counter_visible") : (0, y.removeClass)(r, "ya-share2__counter_visible")
        }
    }, b.prototype.isBare = function() {
        return Boolean(this._options.get("theme.bare"))
    }, b.prototype._closePopup = function() {
        var e = p["default"].findInside(this._container, {
            block: "ya-share2",
            elem: "popup"
        })[0];
        (0, y.removeClass)(e, "ya-share2__popup_visible")
    }, t["default"] = b
}, function(e, t, n) {
    "use strict";

    function r(e) {
        return e && e.__esModule ? e : {
            "default": e
        }
    }

    function o(e) {
        if (Array.isArray(e)) {
            for (var t = 0, n = Array(e.length); t < e.length; t++) n[t] = e[t];
            return n
        }
        return Array.from(e)
    }

    function i(e) {
        for (var t = arguments.length, n = Array(t > 1 ? t - 1 : 0), r = 1; t > r; r++) n[r - 1] = arguments[r];
        return (0, s["default"])({
            block: "ya-share2",
            elem: e
        }, f[e].apply(f, n))
    }
    t.__esModule = !0;
    var a = n(2),
        s = r(a),
        u = n(39),
        l = r(u),
        c = n(4),
        p = r(c),
        d = new l["default"],
        f = {
            container: function(e) {
                var t = e.urls,
                    n = e.theme,
                    r = e.services;
                return {
                    mods: {
                        size: n.size
                    },
                    content: [i("list", "horizontal", r, n.limit, t.content, n.copy), n.counter && i("iframe", t, r)]
                }
            },
            list: function(e, t) {
                var n = arguments.length <= 2 || void 0 === arguments[2] ? t.length : arguments[2],
                    r = arguments.length <= 3 || void 0 === arguments[3] ? "" : arguments[3],
                    o = arguments[4];
                n === !1 && (n = t.length);
                var a = t.slice(0, n),
                    s = t.slice(n);
                return {
                    tag: "ul",
                    mods: {
                        direction: e
                    },
                    content: [a.map(function(e) {
                        return i("item", e)
                    }), s.length > 0 && i("item_more", s, r, o)]
                }
            },
            item: function() {
                var e = arguments.length <= 0 || void 0 === arguments[0] ? {} : arguments[0];
                return {
                    tag: "li",
                    mods: {
                        service: e.name
                    },
                    content: i("link", e)
                }
            },
            link: function() {
                var e = arguments.length <= 0 || void 0 === arguments[0] ? {} : arguments[0],
                    t = e.location,
                    n = e.title,
                    r = e.hasCounter;
                return {
                    tag: "a",
                    attrs: {
                        href: t || "#",
                        rel: t && "nofollow",
                        target: t && "_blank",
                        title: n
                    },
                    content: [i("badge", r), i("title", n)]
                }
            },
            badge: function(e) {
                return {
                    tag: "span",
                    content: [i("icon"), e && i("counter")]
                }
            },
            icon: function() {
                return {
                    tag: "span"
                }
            },
            counter: function() {
                return {
                    tag: "span"
                }
            },
            title: function(e) {
                return {
                    tag: "span",
                    content: e
                }
            },
            item_more: function(e, t, n) {
                return (0, s["default"])(i("item"), {
                    mods: {
                        more: !0
                    },
                    content: [i("link_more"), i("popup", e, t, n)]
                })
            },
            link_more: function() {
                return (0, s["default"])(i("link"), {
                    mods: {
                        more: !0
                    },
                    content: i("badge_more")
                })
            },
            badge_more: function() {
                return (0, s["default"])(i("badge"), {
                    mods: {
                        more: !0
                    },
                    content: i("icon_more")
                })
            },
            icon_more: function() {
                return (0, s["default"])(i("icon"), {
                    mods: {
                        more: !0
                    }
                })
            },
            item_copy: function(e) {
                return (0, s["default"])(i("item"), {
                    mods: {
                        copy: !0
                    },
                    content: [i("link_copy"), i("input_copy", e)]
                })
            },
            link_copy: function() {
                return (0, s["default"])(i("link"), {
                    mods: {
                        copy: !0
                    },
                    content: i("title", "Скопировать ссылку")
                })
            },
            input_copy: function(e) {
                return {
                    tag: "input",
                    attrs: {
                        value: e
                    }
                }
            },
            popup: function(e, t) {
                var n = arguments.length <= 2 || void 0 === arguments[2] ? "last" : arguments[2],
                    r = i("list", "vertical", e);
                return "first" === n ? r.content.unshift(i("item_copy", t)) : "last" === n && r.content.push(i("item_copy", t)), {
                    content: r
                }
            },
            iframe: function(e, t) {
                var n = t.map(function(e) {
                    return e.name
                }).join(",");
                return {
                    tag: "iframe",
                    attrs: {
                        src: e.frame + "?" + p["default"].serializeParams({
                            url: e.content,
                            services: n
                        }),
                        style: "border: 0; display: none;position: absolute; left: -9999px;"
                    }
                }
            }
        };
    t["default"] = {
        update: function(e, t, n) {
            e.innerHTML = d.toHtml(i.apply(void 0, [t].concat(o(n))))
        }
    }
}, function(e, t) {
    e.exports = '.ya-share2,\n.ya-share2 * {\n  line-height: normal;\n}\n.ya-share2 :link:hover,\n.ya-share2 :visited:hover {\n  color: #000 !important;\n}\n.ya-share2 input {\n  color: inherit;\n  font: inherit;\n  margin: 0;\n  line-height: normal;\n}\n.ya-share2__container_size_m {\n  font-size: 13px;\n}\n.ya-share2__container_size_m .ya-share2__icon {\n  height: 24px;\n  width: 24px;\n  background-size: 24px 24px;\n}\n.ya-share2__container_size_m .ya-share2__title {\n  line-height: 24px;\n}\n.ya-share2__container_size_m .ya-share2__item {\n  margin: 5px 4px 5px 0;\n}\n.ya-share2__container_size_m .ya-share2__counter {\n  font-size: 12px;\n  padding: 5px 8px 0 8px;\n}\n.ya-share2__container_size_m .ya-share2__counter:before {\n  margin-left: -8px;\n}\n.ya-share2__container_size_m .ya-share2__icon_more:before {\n  line-height: 13px;\n}\n.ya-share2__container_size_m .ya-share2__popup {\n  top: 28px;\n  padding: 5px 10px;\n}\n.ya-share2__container_size_m .ya-share2__input_copy {\n  width: 140px;\n}\n.ya-share2__container_size_m .ya-share2__badge + .ya-share2__title {\n  margin-left: 10px;\n}\n.ya-share2__container_size_s {\n  font-size: 12px;\n}\n.ya-share2__container_size_s .ya-share2__icon {\n  height: 18px;\n  width: 18px;\n  background-size: 18px 18px;\n}\n.ya-share2__container_size_s .ya-share2__title {\n  line-height: 18px;\n}\n.ya-share2__container_size_s .ya-share2__item {\n  margin: 3px 4px 3px 0;\n}\n.ya-share2__container_size_s .ya-share2__counter {\n  font-size: 10px;\n  padding: 3px 6px 0 6px;\n}\n.ya-share2__container_size_s .ya-share2__counter:before {\n  margin-left: -6px;\n}\n.ya-share2__container_size_s .ya-share2__icon_more:before {\n  line-height: 10px;\n}\n.ya-share2__container_size_s .ya-share2__popup {\n  top: 22px;\n  padding: 3px 6px;\n}\n.ya-share2__container_size_s .ya-share2__input_copy {\n  width: 110px;\n}\n.ya-share2__container_size_s .ya-share2__badge + .ya-share2__title {\n  margin-left: 6px;\n}\n.ya-share2__list_direction_horizontal > .ya-share2__item {\n  display: inline-block;\n  vertical-align: top;\n  margin-top: 0;\n  margin-bottom: 0;\n}\n.ya-share2__list_direction_horizontal > .ya-share2__item > .ya-share2__link > .ya-share2__title {\n  display: none;\n}\n.ya-share2__list_direction_vertical > .ya-share2__item {\n  display: block;\n  margin-right: 0;\n}\n.ya-share2__list_direction_vertical > .ya-share2__item > .ya-share2__link > .ya-share2__badge > .ya-share2__counter {\n  display: none;\n}\n/* block must be invisible until png/svg\n   styles are loaded to prevent FOUC */\n.ya-share2 {\n  visibility: hidden;\n}\n.ya-share2__list {\n  display: inline-block;\n  vertical-align: top;\n  padding: 0;\n  margin: 0;\n  list-style-type: none;\n}\n.ya-share2__item {\n  font-family: Arial, sans;\n  display: inline-block;\n}\n.ya-share2__item:hover {\n  opacity: 0.9;\n}\n.ya-share2__link {\n  display: inline-block;\n  vertical-align: top;\n  text-decoration: none;\n  white-space: nowrap;\n}\n.ya-share2__badge {\n  display: inline-block;\n  vertical-align: top;\n  border-radius: 2px;\n  color: #fff;\n  overflow: hidden;\n  position: relative;\n}\n.ya-share2__icon {\n  display: inline-block;\n  vertical-align: top;\n}\n.ya-share2__icon:active {\n  box-shadow: inset 0 2px 0 0 rgba(0,0,0,0.1);\n}\n.ya-share2__counter {\n  display: none;\n}\n.ya-share2__counter:before {\n  content: "";\n  position: absolute;\n  width: 1px;\n  top: 2px;\n  bottom: 2px;\n  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEX///+nxBvIAAAAAXRSTlMz/za5cAAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=") 0 0 repeat-y;\n}\n.ya-share2__counter_visible {\n  display: inline-block;\n}\n.ya-share2__title {\n  display: inline-block;\n  color: #000;\n  vertical-align: bottom;\n}\n.ya-share2__title:hover {\n  color: #f00;\n}\n.ya-share2__item_more {\n  position: relative;\n}\n.ya-share2__item_more:hover {\n  opacity: 1;\n}\n.ya-share2__icon_more {\n  background-color: #fff;\n  border: 1px solid #cdcdcd;\n  box-sizing: border-box;\n  position: relative;\n}\n.ya-share2__icon_more:before {\n  content: \'…\';\n  color: #a0a0a0;\n  left: 0;\n  right: 0;\n  top: 0;\n  bottom: 0;\n  position: absolute;\n  text-align: center;\n}\n.ya-share2__popup {\n  position: absolute;\n  top: 0;\n  right: 0;\n  box-shadow: 0 10px 20px -5px rgba(0,0,0,0.4);\n  display: none;\n  border: 1px solid #e6e6e6;\n  z-index: 9999;\n  background-color: #fff;\n}\n.ya-share2__popup_visible {\n  display: block;\n}\n.ya-share2__popup_clipboard .ya-share2__input_copy,\n.ya-share2__link_copy {\n  display: none;\n}\n.ya-share2__popup_clipboard .ya-share2__link_copy {\n  display: inline-block;\n}\n'
}]);