var tns = function() {
    var t = window,
        Ai = t.requestAnimationFrame || t.webkitRequestAnimationFrame || t.mozRequestAnimationFrame || t.msRequestAnimationFrame || function(t) {
            return setTimeout(t, 16)
        },
        e = window,
        Ni = e.cancelAnimationFrame || e.mozCancelAnimationFrame || function(t) {
            clearTimeout(t)
        };

    function Li(t) {
        for (var e, n, i, a = t || {}, o = 1, r = arguments.length; o < r; o++)
            if (null !== (e = arguments[o]))
                for (n in e) a !== (i = e[n]) && void 0 !== i && (a[n] = i);
        return a
    }

    function Bi(t) {
        return 0 <= ["true", "false"].indexOf(t) ? JSON.parse(t) : t
    }

    function Si(t, e, n, i) {
        if (i) try {
            t.setItem(e, n)
        } catch (t) {}
        return n
    }

    function Hi() {
        var t = document,
            e = t.body;
        return e || ((e = t.createElement("body")).fake = !0), e
    }
    var n = document.documentElement;

    function Oi(t) {
        var e = "";
        return t.fake && (e = n.style.overflow, t.style.background = "", t.style.overflow = n.style.overflow = "hidden", n.appendChild(t)), e
    }

    function Di(t, e) {
        t.fake && (t.remove(), n.style.overflow = e, n.offsetHeight)
    }

    function ki(t, e, n, i) {
        "insertRule" in t ? t.insertRule(e + "{" + n + "}", i) : t.addRule(e, n, i)
    }

    function Ri(t) {
        return ("insertRule" in t ? t.cssRules : t.rules).length
    }

    function Ii(t, e, n) {
        for (var i = 0, a = t.length; i < a; i++) e.call(n, t[i], i)
    }
    var i = "classList" in document.createElement("_"),
        Pi = i ? function(t, e) {
            return t.classList.contains(e)
        } : function(t, e) {
            return 0 <= t.className.indexOf(e)
        },
        zi = i ? function(t, e) {
            Pi(t, e) || t.classList.add(e)
        } : function(t, e) {
            Pi(t, e) || (t.className += " " + e)
        },
        Wi = i ? function(t, e) {
            Pi(t, e) && t.classList.remove(e)
        } : function(t, e) {
            Pi(t, e) && (t.className = t.className.replace(e, ""))
        };

    function qi(t, e) {
        return t.hasAttribute(e)
    }

    function Fi(t, e) {
        return t.getAttribute(e)
    }

    function o(t) {
        return void 0 !== t.item
    }

    function ji(t, e) {
        if (t = o(t) || t instanceof Array ? t : [t], "[object Object]" === Object.prototype.toString.call(e))
            for (var n = t.length; n--;)
                for (var i in e) t[n].setAttribute(i, e[i])
    }

    function Vi(t, e) {
        t = o(t) || t instanceof Array ? t : [t];
        for (var n = (e = e instanceof Array ? e : [e]).length, i = t.length; i--;)
            for (var a = n; a--;) t[i].removeAttribute(e[a])
    }

    function Gi(t) {
        for (var e = [], n = 0, i = t.length; n < i; n++) e.push(t[n]);
        return e
    }

    function Qi(t, e) {
        "none" !== t.style.display && (t.style.display = "none")
    }

    function Xi(t, e) {
        "none" === t.style.display && (t.style.display = "")
    }

    function Yi(t) {
        return "none" !== window.getComputedStyle(t).display
    }

    function Ki(e) {
        var n, i;
        "string" == typeof e && (n = [e], i = e.charAt(0).toUpperCase() + e.substr(1), ["Webkit", "Moz", "ms", "O"].forEach(function(t) {
            "ms" === t && "transform" !== e || n.push(t + i)
        }), e = n);
        for (var t = document.createElement("fakeelement"), a = (e.length, 0); a < e.length; a++) {
            var o = e[a];
            if (void 0 !== t.style[o]) return o
        }
        return !1
    }

    function Ji(t, e) {
        var n = !1;
        return /^Webkit/.test(t) ? n = "webkit" + e + "End" : /^O/.test(t) ? n = "o" + e + "End" : t && (n = e.toLowerCase() + "end"), n
    }
    var a = !1;
    try {
        var r = Object.defineProperty({}, "passive", {
            get: function() {
                a = !0
            }
        });
        window.addEventListener("test", null, r)
    } catch (t) {}
    var u = !!a && {
        passive: !0
    };

    function Ui(t, e, n) {
        for (var i in e) {
            var a = 0 <= ["touchstart", "touchmove"].indexOf(i) && !n && u;
            t.addEventListener(i, e[i], a)
        }
    }

    function _i(t, e) {
        for (var n in e) {
            var i = 0 <= ["touchstart", "touchmove"].indexOf(n) && u;
            t.removeEventListener(n, e[n], i)
        }
    }

    function Zi() {
        return {
            topics: {},
            on: function(t, e) {
                this.topics[t] = this.topics[t] || [], this.topics[t].push(e)
            },
            off: function(t, e) {
                if (this.topics[t])
                    for (var n = 0; n < this.topics[t].length; n++)
                        if (this.topics[t][n] === e) {
                            this.topics[t].splice(n, 1);
                            break
                        }
            },
            emit: function(e, n) {
                n.type = e, this.topics[e] && this.topics[e].forEach(function(t) {
                    t(n, e)
                })
            }
        }
    }
    Object.keys || (Object.keys = function(t) {
        var e = [];
        for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && e.push(n);
        return e
    }), "remove" in Element.prototype || (Element.prototype.remove = function() {
        this.parentNode && this.parentNode.removeChild(this)
    });
    var $i = function(H) {
        H = Li({
            container: ".slider",
            mode: "carousel",
            axis: "horizontal",
            items: 1,
            gutter: 0,
            edgePadding: 0,
            fixedWidth: !1,
            autoWidth: !1,
            viewportMax: !1,
            slideBy: 1,
            center: !1,
            controls: !0,
            controlsPosition: "top",
            controlsText: ["prev", "next"],
            controlsContainer: !1,
            prevButton: !1,
            nextButton: !1,
            nav: !0,
            navPosition: "top",
            navContainer: !1,
            navAsThumbnails: !1,
            arrowKeys: !1,
            speed: 300,
            autoplay: !1,
            autoplayPosition: "top",
            autoplayTimeout: 5e3,
            autoplayDirection: "forward",
            autoplayText: ["start", "stop"],
            autoplayHoverPause: !1,
            autoplayButton: !1,
            autoplayButtonOutput: !0,
            autoplayResetOnVisibility: !0,
            animateIn: "tns-fadeIn",
            animateOut: "tns-fadeOut",
            animateNormal: "tns-normal",
            animateDelay: !1,
            loop: !0,
            rewind: !1,
            autoHeight: !1,
            responsive: !1,
            lazyload: !1,
            lazyloadSelector: ".tns-lazy-img",
            touch: !0,
            mouseDrag: !1,
            swipeAngle: 15,
            nested: !1,
            preventActionWhenRunning: !1,
            preventScrollOnTouch: !1,
            freezable: !0,
            onInit: !1,
            useLocalStorage: !0,
            nonce: !1
        }, H || {});
        var O = document,
            m = window,
            a = {
                ENTER: 13,
                SPACE: 32,
                LEFT: 37,
                RIGHT: 39
            },
            e = {},
            n = H.useLocalStorage;
        if (n) {
            var t = navigator.userAgent,
                i = new Date;
            try {
                (e = m.localStorage) ? (e.setItem(i, i), n = e.getItem(i) == i, e.removeItem(i)) : n = !1, n || (e = {})
            } catch (t) {
                n = !1
            }
            n && (e.tnsApp && e.tnsApp !== t && ["tC", "tPL", "tMQ", "tTf", "t3D", "tTDu", "tTDe", "tADu", "tADe", "tTE", "tAE"].forEach(function(t) {
                e.removeItem(t)
            }), localStorage.tnsApp = t)
        }
        var y = e.tC ? Bi(e.tC) : Si(e, "tC", function() {
                var t = document,
                    e = Hi(),
                    n = Oi(e),
                    i = t.createElement("div"),
                    a = !1;
                e.appendChild(i);
                try {
                    for (var o, r = "(10px * 10)", u = ["calc" + r, "-moz-calc" + r, "-webkit-calc" + r], l = 0; l < 3; l++)
                        if (o = u[l], i.style.width = o, 100 === i.offsetWidth) {
                            a = o.replace(r, "");
                            break
                        }
                } catch (t) {}
                return e.fake ? Di(e, n) : i.remove(), a
            }(), n),
            g = e.tPL ? Bi(e.tPL) : Si(e, "tPL", function() {
                var t, e = document,
                    n = Hi(),
                    i = Oi(n),
                    a = e.createElement("div"),
                    o = e.createElement("div"),
                    r = "";
                a.className = "tns-t-subp2", o.className = "tns-t-ct";
                for (var u = 0; u < 70; u++) r += "<div></div>";
                return o.innerHTML = r, a.appendChild(o), n.appendChild(a), t = Math.abs(a.getBoundingClientRect().left - o.children[67].getBoundingClientRect().left) < 2, n.fake ? Di(n, i) : a.remove(), t
            }(), n),
            D = e.tMQ ? Bi(e.tMQ) : Si(e, "tMQ", function() {
                if (window.matchMedia || window.msMatchMedia) return !0;
                var t, e = document,
                    n = Hi(),
                    i = Oi(n),
                    a = e.createElement("div"),
                    o = e.createElement("style"),
                    r = "@media all and (min-width:1px){.tns-mq-test{position:absolute}}";
                return o.type = "text/css", a.className = "tns-mq-test", n.appendChild(o), n.appendChild(a), o.styleSheet ? o.styleSheet.cssText = r : o.appendChild(e.createTextNode(r)), t = window.getComputedStyle ? window.getComputedStyle(a).position : a.currentStyle.position, n.fake ? Di(n, i) : a.remove(), "absolute" === t
            }(), n),
            o = e.tTf ? Bi(e.tTf) : Si(e, "tTf", Ki("transform"), n),
            r = e.t3D ? Bi(e.t3D) : Si(e, "t3D", function(t) {
                if (!t) return !1;
                if (!window.getComputedStyle) return !1;
                var e, n = document,
                    i = Hi(),
                    a = Oi(i),
                    o = n.createElement("p"),
                    r = 9 < t.length ? "-" + t.slice(0, -9).toLowerCase() + "-" : "";
                return r += "transform", i.insertBefore(o, null), o.style[t] = "translate3d(1px,1px,1px)", e = window.getComputedStyle(o).getPropertyValue(r), i.fake ? Di(i, a) : o.remove(), void 0 !== e && 0 < e.length && "none" !== e
            }(o), n),
            x = e.tTDu ? Bi(e.tTDu) : Si(e, "tTDu", Ki("transitionDuration"), n),
            u = e.tTDe ? Bi(e.tTDe) : Si(e, "tTDe", Ki("transitionDelay"), n),
            b = e.tADu ? Bi(e.tADu) : Si(e, "tADu", Ki("animationDuration"), n),
            l = e.tADe ? Bi(e.tADe) : Si(e, "tADe", Ki("animationDelay"), n),
            s = e.tTE ? Bi(e.tTE) : Si(e, "tTE", Ji(x, "Transition"), n),
            c = e.tAE ? Bi(e.tAE) : Si(e, "tAE", Ji(b, "Animation"), n),
            f = m.console && "function" == typeof m.console.warn,
            d = ["container", "controlsContainer", "prevButton", "nextButton", "navContainer", "autoplayButton"],
            p = {};
        if (d.forEach(function(t) {
                if ("string" == typeof H[t]) {
                    var e = H[t],
                        n = O.querySelector(e);
                    if (p[t] = e, !n || !n.nodeName) return void(f && console.warn("Can't find", H[t]));
                    H[t] = n
                }
            }), !(H.container.children.length < 1)) {
            var k, R, v, I, P = H.responsive,
                z = H.nested,
                W = "carousel" === H.mode;
            if (P) {
                0 in P && (H = Li(H, P[0]), delete P[0]);
                var h = {};
                for (var w in P) {
                    var C = "number" == typeof(C = P[w]) ? {
                        items: C
                    } : C;
                    h[w] = C
                }
                P = h, h = null
            }
            W || ! function t(e) {
                for (var n in e) W || ("slideBy" === n && (e[n] = "page"), "edgePadding" === n && (e[n] = !1), "autoHeight" === n && (e[n] = !1)), "responsive" === n && t(e[n])
            }(H), W || (H.axis = "horizontal", H.slideBy = "page", H.edgePadding = !1, k = H.animateIn, R = H.animateOut, v = H.animateDelay, I = H.animateNormal);
            var M, q, F = "horizontal" === H.axis,
                T = O.createElement("div"),
                j = O.createElement("div"),
                V = H.container,
                E = V.parentNode,
                A = V.outerHTML,
                G = V.children,
                Q = G.length,
                X = on(),
                Y = !1;
            P && En(), W && (V.className += " tns-vpfix");
            var N, L, B, S, K, J, U, _, Z, $, tt, et, nt, it, at, ot, rt, ut, lt, st, ct, ft, dt, pt, vt, ht, mt, yt, gt, xt, bt, wt, Ct, Mt, Tt, Et, At, Nt, Lt, Bt, St, Ht, Ot, Dt = H.autoWidth,
                kt = sn("fixedWidth"),
                Rt = sn("edgePadding"),
                It = sn("gutter"),
                Pt = un(),
                zt = sn("center"),
                Wt = Dt ? 1 : Math.floor(sn("items")),
                qt = sn("slideBy"),
                Ft = H.viewportMax || H.fixedWidthViewportWidth,
                jt = sn("arrowKeys"),
                Vt = sn("speed"),
                Gt = H.rewind,
                Qt = !Gt && H.loop,
                Xt = sn("autoHeight"),
                Yt = sn("controls"),
                Kt = sn("controlsText"),
                Jt = sn("nav"),
                Ut = sn("touch"),
                _t = sn("mouseDrag"),
                Zt = sn("autoplay"),
                $t = sn("autoplayTimeout"),
                te = sn("autoplayText"),
                ee = sn("autoplayHoverPause"),
                ne = sn("autoplayResetOnVisibility"),
                ie = (U = null, _ = sn("nonce"), Z = document.createElement("style"), U && Z.setAttribute("media", U), _ && Z.setAttribute("nonce", _), document.querySelector("head").appendChild(Z), Z.sheet ? Z.sheet : Z.styleSheet),
                ae = H.lazyload,
                oe = H.lazyloadSelector,
                re = [],
                ue = Qt ? (K = function() {
                    {
                        if (Dt || kt && !Ft) return Q - 1;
                        var t = kt ? "fixedWidth" : "items",
                            e = [];
                        if ((kt || H[t] < Q) && e.push(H[t]), P)
                            for (var n in P) {
                                var i = P[n][t];
                                i && (kt || i < Q) && e.push(i)
                            }
                        return e.length || e.push(0), Math.ceil(kt ? Ft / Math.min.apply(null, e) : Math.max.apply(null, e))
                    }
                }(), J = W ? Math.ceil((5 * K - Q) / 2) : 4 * K - Q, J = Math.max(K, J), ln("edgePadding") ? J + 1 : J) : 0,
                le = W ? Q + 2 * ue : Q + ue,
                se = !(!kt && !Dt || Qt),
                ce = kt ? _n() : null,
                fe = !W || !Qt,
                de = F ? "left" : "top",
                pe = "",
                ve = "",
                he = kt ? function() {
                    return zt && !Qt ? Q - 1 : Math.ceil(-ce / (kt + It))
                } : Dt ? function() {
                    for (var t = 0; t < le; t++)
                        if (N[t] >= -ce) return t
                } : function() {
                    return zt && W && !Qt ? Q - 1 : Qt || W ? Math.max(0, le - Math.ceil(Wt)) : le - 1
                },
                me = en(sn("startIndex")),
                ye = me,
                ge = (tn(), 0),
                xe = Dt ? null : he(),
                be = H.preventActionWhenRunning,
                we = H.swipeAngle,
                Ce = !we || "?",
                Me = !1,
                Te = H.onInit,
                Ee = new Zi,
                Ae = " tns-slider tns-" + H.mode,
                Ne = V.id || (S = window.tnsId, window.tnsId = S ? S + 1 : 1, "tns" + window.tnsId),
                Le = sn("disable"),
                Be = !1,
                Se = H.freezable,
                He = !(!Se || Dt) && Tn(),
                Oe = !1,
                De = {
                    click: ri,
                    keydown: function(t) {
                        t = vi(t);
                        var e = [a.LEFT, a.RIGHT].indexOf(t.keyCode);
                        0 <= e && (0 === e ? et.disabled || ri(t, -1) : nt.disabled || ri(t, 1))
                    }
                },
                ke = {
                    click: function(t) {
                        if (Me) {
                            if (be) return;
                            ai()
                        }
                        var e = hi(t = vi(t));
                        for (; e !== ut && !qi(e, "data-nav");) e = e.parentNode; {
                            var n, i;
                            qi(e, "data-nav") && (n = dt = Number(Fi(e, "data-nav")), i = kt || Dt ? n * Q / ct : n * Wt, oi(je ? n : Math.min(Math.ceil(i), Q - 1), t), pt === n && (Mt && fi(), dt = -1))
                        }
                    },
                    keydown: function(t) {
                        t = vi(t);
                        var e = O.activeElement;
                        if (!qi(e, "data-nav")) return;
                        var n = [a.LEFT, a.RIGHT, a.ENTER, a.SPACE].indexOf(t.keyCode),
                            i = Number(Fi(e, "data-nav"));
                        0 <= n && (0 === n ? 0 < i && pi(st[i - 1]) : 1 === n ? i < ct - 1 && pi(st[i + 1]) : oi(dt = i, t))
                    }
                },
                Re = {
                    mouseover: function() {
                        Mt && (li(), Tt = !0)
                    },
                    mouseout: function() {
                        Tt && (ui(), Tt = !1)
                    }
                },
                Ie = {
                    visibilitychange: function() {
                        O.hidden ? Mt && (li(), At = !0) : At && (ui(), At = !1)
                    }
                },
                Pe = {
                    keydown: function(t) {
                        t = vi(t);
                        var e = [a.LEFT, a.RIGHT].indexOf(t.keyCode);
                        0 <= e && ri(t, 0 === e ? -1 : 1)
                    }
                },
                ze = {
                    touchstart: xi,
                    touchmove: bi,
                    touchend: wi,
                    touchcancel: wi
                },
                We = {
                    mousedown: xi,
                    mousemove: bi,
                    mouseup: wi,
                    mouseleave: wi
                },
                qe = ln("controls"),
                Fe = ln("nav"),
                je = !!Dt || H.navAsThumbnails,
                Ve = ln("autoplay"),
                Ge = ln("touch"),
                Qe = ln("mouseDrag"),
                Xe = "tns-slide-active",
                Ye = "tns-slide-cloned",
                Ke = "tns-complete",
                Je = {
                    load: function(t) {
                        kn(hi(t))
                    },
                    error: function(t) {
                        ! function(t) {
                            zi(t, "failed"), Rn(t)
                        }(hi(t))
                    }
                },
                Ue = "force" === H.preventScrollOnTouch;
            qe && ($ = H.controlsContainer, tt = H.controlsContainer ? H.controlsContainer.outerHTML : "", et = H.prevButton, nt = H.nextButton, it = H.prevButton ? H.prevButton.outerHTML : "", at = H.nextButton ? H.nextButton.outerHTML : ""), Fe && (ut = H.navContainer, lt = H.navContainer ? H.navContainer.outerHTML : "", ct = Dt ? Q : Mi(), ft = 0, dt = -1, pt = an(), vt = pt, ht = "tns-nav-active", mt = "Carousel Page ", yt = " (Current Slide)"), Ve && (gt = "forward" === H.autoplayDirection ? 1 : -1, xt = H.autoplayButton, bt = H.autoplayButton ? H.autoplayButton.outerHTML : "", wt = ["<span class='tns-visually-hidden'>", " animation</span>"]), (Ge || Qe) && (Nt = {}, St = !(Lt = {}), Ot = F ? function(t, e) {
                    return t.x - e.x
                } : function(t, e) {
                    return t.y - e.y
                }), Dt || $e(Le || He), o && (de = o, pe = "translate", ve = r ? (pe += F ? "3d(" : "3d(0px, ", F ? ", 0px, 0px)" : ", 0px)") : (pe += F ? "X(" : "Y(", ")")), W && (V.className = V.className.replace("tns-vpfix", "")),
                function() {
                    ln("gutter");
                    T.className = "tns-outer", j.className = "tns-inner", T.id = Ne + "-ow", j.id = Ne + "-iw", "" === V.id && (V.id = Ne);
                    Ae += g || Dt ? " tns-subpixel" : " tns-no-subpixel", Ae += y ? " tns-calc" : " tns-no-calc", Dt && (Ae += " tns-autowidth");
                    Ae += " tns-" + H.axis, V.className += Ae, W ? ((M = O.createElement("div")).id = Ne + "-mw", M.className = "tns-ovh", T.appendChild(M), M.appendChild(j)) : T.appendChild(j); {
                        Xt && ((M || j).className += " tns-ah")
                    }
                    if (E.insertBefore(T, V), j.appendChild(V), Ii(G, function(t, e) {
                            zi(t, "tns-item"), t.id || (t.id = Ne + "-item" + e), !W && I && zi(t, I), ji(t, {
                                "aria-hidden": "true",
                                tabindex: "-1"
                            })
                        }), ue) {
                        for (var t = O.createDocumentFragment(), e = O.createDocumentFragment(), n = ue; n--;) {
                            var i, a = n % Q,
                                o = G[a].cloneNode(!0);
                            zi(o, Ye), Vi(o, "id"), e.insertBefore(o, e.firstChild), W && (i = G[Q - 1 - a].cloneNode(!0), zi(i, Ye), Vi(i, "id"), t.appendChild(i))
                        }
                        V.insertBefore(t, V.firstChild), V.appendChild(e), G = V.children
                    }
                }(),
                function() {
                    if (!W)
                        for (var t = me, e = me + Math.min(Q, Wt); t < e; t++) {
                            var n = G[t];
                            n.style.left = 100 * (t - me) / Wt + "%", zi(n, k), Wi(n, I)
                        }
                    F && (g || Dt ? (ki(ie, "#" + Ne + " > .tns-item", "font-size:" + m.getComputedStyle(G[0]).fontSize + ";", Ri(ie)), ki(ie, "#" + Ne, "font-size:0;", Ri(ie))) : W && Ii(G, function(t, e) {
                        var n;
                        t.style.marginLeft = (n = e, y ? y + "(" + 100 * n + "% / " + le + ")" : 100 * n / le + "%")
                    })); {
                        D ? (x && (o = M && H.autoHeight ? hn(H.speed) : "", ki(ie, "#" + Ne + "-mw", o, Ri(ie))), o = cn(H.edgePadding, H.gutter, H.fixedWidth, H.speed, H.autoHeight), ki(ie, "#" + Ne + "-iw", o, Ri(ie)), W && (o = F && !Dt ? "width:" + fn(H.fixedWidth, H.gutter, H.items) + ";" : "", x && (o += hn(Vt)), ki(ie, "#" + Ne, o, Ri(ie))), o = F && !Dt ? dn(H.fixedWidth, H.gutter, H.items) : "", H.gutter && (o += pn(H.gutter)), W || (x && (o += hn(Vt)), b && (o += mn(Vt)))) : (W && Xt && (M.style[x] = Vt / 1e3 + "s"), j.style.cssText = cn(Rt, It, kt, Xt), W && F && !Dt && (V.style.width = fn(kt, It, Wt)), o = F && !Dt ? dn(kt, It, Wt) : "", It && (o += pn(It))), o && ki(ie, "#" + Ne + " > .tns-item", o, Ri(ie))
                    }
                    if (P && D)
                        for (var i in P) {
                            i = parseInt(i);
                            var a = P[i],
                                o = "",
                                r = "",
                                u = "",
                                l = "",
                                s = "",
                                c = Dt ? null : sn("items", i),
                                f = sn("fixedWidth", i),
                                d = sn("speed", i),
                                p = sn("edgePadding", i),
                                v = sn("autoHeight", i),
                                h = sn("gutter", i);
                            x && M && sn("autoHeight", i) && "speed" in a && (r = "#" + Ne + "-mw{" + hn(d) + "}"), ("edgePadding" in a || "gutter" in a) && (u = "#" + Ne + "-iw{" + cn(p, h, f, d, v) + "}"), W && F && !Dt && ("fixedWidth" in a || "items" in a || kt && "gutter" in a) && (l = "width:" + fn(f, h, c) + ";"), x && "speed" in a && (l += hn(d)), l = l && "#" + Ne + "{" + l + "}", ("fixedWidth" in a || kt && "gutter" in a || !W && "items" in a) && (s += dn(f, h, c)), "gutter" in a && (s += pn(h)), !W && "speed" in a && (x && (s += hn(d)), b && (s += mn(d))), (o = r + u + l + (s = s && "#" + Ne + " > .tns-item{" + s + "}")) && ie.insertRule("@media (min-width: " + i / 16 + "em) {" + o + "}", ie.cssRules.length)
                        }
                }(), yn();
            var _e = Qt ? W ? function() {
                    var t = ge,
                        e = xe;
                    t += qt, e -= qt, Rt ? (t += 1, --e) : kt && (Pt + It) % (kt + It) && --e, ue && (e < me ? me -= Q : me < t && (me += Q))
                } : function() {
                    if (xe < me)
                        for (; ge + Q <= me;) me -= Q;
                    else if (me < ge)
                        for (; me <= xe - Q;) me += Q
                } : function() {
                    me = Math.max(ge, Math.min(xe, me))
                },
                Ze = W ? function() {
                    var e, n, i, a, t, o, r, u, l, s, c;
                    Jn(V, ""), x || !Vt ? (ti(), Vt && Yi(V) || ai()) : (e = V, n = de, i = pe, a = ve, t = Zn(), o = Vt, r = ai, u = Math.min(o, 10), l = 0 <= t.indexOf("%") ? "%" : "px", t = t.replace(l, ""), s = Number(e.style[n].replace(i, "").replace(a, "").replace(l, "")), c = (t - s) / o * u, setTimeout(function t() {
                        o -= u, s += c, e.style[n] = i + s + l + a, 0 < o ? setTimeout(t, u) : r()
                    }, u)), F || Ci()
                } : function() {
                    re = [];
                    var t = {};
                    t[s] = t[c] = ai, _i(G[ye], t), Ui(G[me], t), ei(ye, k, R, !0), ei(me, I, k), s && c && Vt && Yi(V) || ai()
                };
            return {
                version: "2.9.3",
                getInfo: Ei,
                events: Ee,
                goTo: oi,
                play: function() {
                    Zt && !Mt && (ci(), Et = !1)
                },
                pause: function() {
                    Mt && (fi(), Et = !0)
                },
                isOn: Y,
                updateSliderHeight: Fn,
                refresh: yn,
                destroy: function() {
                    var t;
                    ie.disabled = !0, ie.ownerNode && ie.ownerNode.remove(), _i(m, {
                        resize: Cn
                    }), jt && _i(O, Pe), $ && _i($, De), ut && _i(ut, ke), _i(V, Re), _i(V, Ie), xt && _i(xt, {
                        click: di
                    }), Zt && clearInterval(Ct), W && s && ((t = {})[s] = ai, _i(V, t)), Ut && _i(V, ze), _t && _i(V, We);
                    var o = [A, tt, it, at, lt, bt];
                    for (var e in d.forEach(function(t, e) {
                            var n, i, a = "container" === t ? T : H[t];
                            "object" == typeof a && a && (n = !!a.previousElementSibling && a.previousElementSibling, i = a.parentNode, a.outerHTML = o[e], H[t] = n ? n.nextElementSibling : i.firstElementChild)
                        }), d = k = R = v = I = F = T = j = V = E = A = G = Q = q = X = Dt = kt = Rt = It = Pt = Wt = qt = Ft = jt = Vt = Gt = Qt = Xt = ie = ae = N = re = ue = le = se = ce = fe = de = pe = ve = he = me = ye = ge = xe = we = Ce = Me = Te = Ee = Ae = Ne = Le = Be = Se = He = Oe = De = ke = Re = Ie = Pe = ze = We = qe = Fe = je = Ve = Ge = Qe = Xe = Ke = Je = L = Yt = Kt = $ = tt = et = nt = ot = rt = Jt = ut = lt = st = ct = ft = dt = pt = vt = ht = mt = yt = Zt = $t = gt = te = ee = xt = bt = ne = wt = Ct = Mt = Tt = Et = At = Nt = Lt = Bt = St = Ht = Ot = Ut = _t = null, this) "rebuild" !== e && (this[e] = null);
                    Y = !1
                },
                rebuild: function() {
                    return $i(Li(H, p))
                }
            }
        }

        function $e(t) {
            t && (Yt = Jt = Ut = _t = jt = Zt = ee = ne = !1)
        }

        function tn() {
            for (var t = W ? me - ue : me; t < 0;) t += Q;
            return t % Q + 1
        }

        function en(t) {
            return t = t ? Math.max(0, Math.min(Qt ? Q - 1 : Q - Wt, t)) : 0, W ? t + ue : t
        }

        function nn(t) {
            for (null == t && (t = me), W && (t -= ue); t < 0;) t += Q;
            return Math.floor(t % Q)
        }

        function an() {
            var t = nn(),
                e = je ? t : kt || Dt ? Math.ceil((t + 1) * ct / Q - 1) : Math.floor(t / Wt);
            return !Qt && W && me === xe && (e = ct - 1), e
        }

        function on() {
            return m.innerWidth || O.documentElement.clientWidth || O.body.clientWidth
        }

        function rn(t) {
            return "top" === t ? "afterbegin" : "beforeend"
        }

        function un() {
            var t = Rt ? 2 * Rt - It : 0;
            return function t(e) {
                if (null != e) {
                    var n, i, a = O.createElement("div");
                    return e.appendChild(a), i = (n = a.getBoundingClientRect()).right - n.left, a.remove(), i || t(e.parentNode)
                }
            }(E) - t
        }

        function ln(t) {
            if (H[t]) return !0;
            if (P)
                for (var e in P)
                    if (P[e][t]) return !0;
            return !1
        }

        function sn(t, e) {
            if (null == e && (e = X), "items" === t && kt) return Math.floor((Pt + It) / (kt + It)) || 1;
            var n = H[t];
            if (P)
                for (var i in P) e >= parseInt(i) && t in P[i] && (n = P[i][t]);
            return "slideBy" === t && "page" === n && (n = sn("items")), W || "slideBy" !== t && "items" !== t || (n = Math.floor(n)), n
        }

        function cn(t, e, n, i, a) {
            var o, r, u = "";
            return void 0 !== t ? (o = t, e && (o -= e), u = F ? "margin: 0 " + o + "px 0 " + t + "px;" : "margin: " + t + "px 0 " + o + "px 0;") : e && !n && (r = "-" + e + "px", u = "margin: 0 " + (F ? r + " 0 0" : "0 " + r + " 0") + ";"), !W && a && x && i && (u += hn(i)), u
        }

        function fn(t, e, n) {
            return t ? (t + e) * le + "px" : y ? y + "(" + 100 * le + "% / " + n + ")" : 100 * le / n + "%"
        }

        function dn(t, e, n) {
            var i, a;
            return a = "width:" + (a = t ? t + e + "px" : (W || (n = Math.floor(n)), i = W ? le : n, y ? y + "(100% / " + i + ")" : 100 / i + "%")), "inner" !== z ? a + ";" : a + " !important;"
        }

        function pn(t) {
            return !1 !== t ? (F ? "padding-" : "margin-") + (F ? "right" : "bottom") + ": " + t + "px;" : ""
        }

        function vn(t, e) {
            var n = t.substring(0, t.length - e).toLowerCase();
            return n = n && "-" + n + "-"
        }

        function hn(t) {
            return vn(x, 18) + "transition-duration:" + t / 1e3 + "s;"
        }

        function mn(t) {
            return vn(b, 17) + "animation-duration:" + t / 1e3 + "s;"
        }

        function yn() {
            var t;
            ln("autoHeight") || Dt || !F ? (Ii(t = V.querySelectorAll("img"), function(t) {
                var e = t.src;
                ae || (e && e.indexOf("data:image") < 0 ? (t.src = "", Ui(t, Je), zi(t, "loading"), t.src = e) : kn(t))
            }), Ai(function() {
                zn(Gi(t), function() {
                    L = !0
                })
            }), ln("autoHeight") && (t = In(me, Math.min(me + Wt - 1, le - 1))), ae ? gn() : Ai(function() {
                zn(Gi(t), gn)
            })) : (W && $n(), bn(), wn())
        }

        function gn() {
            var i;
            Dt && 1 < Q ? (i = Qt ? me : Q - 1, function t() {
                var e = G[i].getBoundingClientRect().left,
                    n = G[i - 1].getBoundingClientRect().right;
                Math.abs(e - n) <= 1 ? xn() : setTimeout(function() {
                    t()
                }, 16)
            }()) : xn()
        }

        function xn() {
            F && !Dt || (jn(), Dt ? (ce = _n(), Se && (He = Tn()), xe = he(), $e(Le || He)) : Ci()), W && $n(), bn(), wn()
        }

        function bn() {
            var t;
            if (Vn(), T.insertAdjacentHTML("afterbegin", '<div class="tns-liveregion tns-visually-hidden" aria-live="polite" aria-atomic="true">slide <span class="current">' + Hn() + "</span>  of " + Q + "</div>"), B = T.querySelector(".tns-liveregion .current"), Ve && (t = Zt ? "stop" : "start", xt ? ji(xt, {
                    "data-action": t
                }) : H.autoplayButtonOutput && (T.insertAdjacentHTML(rn(H.autoplayPosition), '<button type="button" data-action="' + t + '">' + wt[0] + t + wt[1] + te[0] + "</button>"), xt = T.querySelector("[data-action]")), xt && Ui(xt, {
                    click: di
                }), Zt && (ci(), ee && Ui(V, Re), ne && Ui(V, Ie))), Fe) {
                var e, n;
                if (ut) ji(ut, {
                    "aria-label": "Carousel Pagination"
                }), Ii(st = ut.children, function(t, e) {
                    ji(t, {
                        "data-nav": e,
                        tabindex: "-1",
                        "aria-label": mt + (e + 1),
                        "aria-controls": Ne
                    })
                });
                else {
                    for (var i = "", a = je ? "" : 'style="display:none"', o = 0; o < Q; o++) i += '<button type="button" data-nav="' + o + '" tabindex="-1" aria-controls="' + Ne + '" ' + a + ' aria-label="' + mt + (o + 1) + '"></button>';
                    i = '<div class="tns-nav" aria-label="Carousel Pagination">' + i + "</div>", T.insertAdjacentHTML(rn(H.navPosition), i), ut = T.querySelector(".tns-nav"), st = ut.children
                }
                Ti(), x && (e = x.substring(0, x.length - 18).toLowerCase(), n = "transition: all " + Vt / 1e3 + "s", e && (n = "-" + e + "-" + n), ki(ie, "[aria-controls^=" + Ne + "-item]", n, Ri(ie))), ji(st[pt], {
                    "aria-label": mt + (pt + 1) + yt
                }), Vi(st[pt], "tabindex"), zi(st[pt], ht), Ui(ut, ke)
            }
            qe && ($ || et && nt || (T.insertAdjacentHTML(rn(H.controlsPosition), '<div class="tns-controls" aria-label="Carousel Navigation" tabindex="0"><button type="button" data-controls="prev" tabindex="-1" aria-controls="' + Ne + '">' + Kt[0] + '</button><button type="button" data-controls="next" tabindex="-1" aria-controls="' + Ne + '">' + Kt[1] + "</button></div>"), $ = T.querySelector(".tns-controls")), et && nt || (et = $.children[0], nt = $.children[1]), H.controlsContainer && ji($, {
                "aria-label": "Carousel Navigation",
                tabindex: "0"
            }), (H.controlsContainer || H.prevButton && H.nextButton) && ji([et, nt], {
                "aria-controls": Ne,
                tabindex: "-1"
            }), (H.controlsContainer || H.prevButton && H.nextButton) && (ji(et, {
                "data-controls": "prev"
            }), ji(nt, {
                "data-controls": "next"
            })), ot = Qn(et), rt = Qn(nt), Kn(), $ ? Ui($, De) : (Ui(et, De), Ui(nt, De))), An()
        }

        function wn() {
            var t;
            W && s && ((t = {})[s] = ai, Ui(V, t)), Ut && Ui(V, ze, H.preventScrollOnTouch), _t && Ui(V, We), jt && Ui(O, Pe), "inner" === z ? Ee.on("outerResized", function() {
                Mn(), Ee.emit("innerLoaded", Ei())
            }) : (P || kt || Dt || Xt || !F) && Ui(m, {
                resize: Cn
            }), Xt && ("outer" === z ? Ee.on("innerLoaded", Pn) : Le || Pn()), Dn(), Le ? Bn() : He && Ln(), Ee.on("indexChanged", Wn), "inner" === z && Ee.emit("innerLoaded", Ei()), "function" == typeof Te && Te(Ei()), Y = !0
        }

        function Cn(t) {
            Ai(function() {
                Mn(vi(t))
            })
        }

        function Mn(t) {
            var e, n, i, a, o, r, u, l, s, c, f, d, p, v, h, m, y, g, x, b, w, C, M, T, E, A, N, L, B, S;
            Y && ("outer" === z && Ee.emit("outerResized", Ei(t)), X = on(), n = q, i = !1, P && (En(), (e = n !== q) && Ee.emit("newBreakpointStart", Ei(t))), r = Wt, u = Le, l = He, s = jt, c = Yt, f = Jt, d = Ut, p = _t, v = Zt, h = ee, m = ne, y = me, e && (g = kt, x = Xt, b = Kt, w = zt, C = te, D || (M = It, T = Rt)), jt = sn("arrowKeys"), Yt = sn("controls"), Jt = sn("nav"), Ut = sn("touch"), zt = sn("center"), _t = sn("mouseDrag"), Zt = sn("autoplay"), ee = sn("autoplayHoverPause"), ne = sn("autoplayResetOnVisibility"), e && (Le = sn("disable"), kt = sn("fixedWidth"), Vt = sn("speed"), Xt = sn("autoHeight"), Kt = sn("controlsText"), te = sn("autoplayText"), $t = sn("autoplayTimeout"), D || (Rt = sn("edgePadding"), It = sn("gutter"))), $e(Le), Pt = un(), F && !Dt || Le || (jn(), F || (Ci(), i = !0)), (kt || Dt) && (ce = _n(), xe = he()), (e || kt) && (Wt = sn("items"), qt = sn("slideBy"), (o = Wt !== r) && (kt || Dt || (xe = he()), _e())), e && Le !== u && (Le ? Bn : function() {
                if (!Be) return;
                if (ie.disabled = !1, V.className += Ae, $n(), Qt)
                    for (var t = ue; t--;) W && Xi(G[t]), Xi(G[le - t - 1]);
                if (!W)
                    for (var e = me, n = me + Q; e < n; e++) {
                        var i = G[e],
                            a = e < me + Wt ? k : I;
                        i.style.left = 100 * (e - me) / Wt + "%", zi(i, a)
                    }
                Nn(), Be = !1
            })(), Se && (e || kt || Dt) && (He = Tn()) !== l && (He ? (ti(Zn(en(0))), Ln()) : (function() {
                if (!Oe) return;
                Rt && D && (j.style.margin = "");
                if (ue)
                    for (var t = "tns-transparent", e = ue; e--;) W && Wi(G[e], t), Wi(G[le - e - 1], t);
                Nn(), Oe = !1
            }(), i = !0)), $e(Le || He), Zt || (ee = ne = !1), jt !== s && (jt ? Ui : _i)(O, Pe), Yt !== c && (Yt ? $ ? Xi($) : (et && Xi(et), nt && Xi(nt)) : $ ? Qi($) : (et && Qi(et), nt && Qi(nt))), Jt !== f && (Jt ? (Xi(ut), Ti()) : Qi(ut)), Ut !== d && (Ut ? Ui(V, ze, H.preventScrollOnTouch) : _i(V, ze)), _t !== p && (_t ? Ui : _i)(V, We), Zt !== v && (Zt ? (xt && Xi(xt), Mt || Et || ci()) : (xt && Qi(xt), Mt && fi())), ee !== h && (ee ? Ui : _i)(V, Re), ne !== m && (ne ? Ui : _i)(O, Ie), e ? (kt === g && zt === w || (i = !0), Xt !== x && (Xt || (j.style.height = "")), Yt && Kt !== b && (et.innerHTML = Kt[0], nt.innerHTML = Kt[1]), xt && te !== C && (E = Zt ? 1 : 0, N = (A = xt.innerHTML).length - C[E].length, A.substring(N) === C[E] && (xt.innerHTML = A.substring(0, N) + te[E]))) : zt && (kt || Dt) && (i = !0), (o || kt && !Dt) && (ct = Mi(), Ti()), (a = me !== y) ? (Ee.emit("indexChanged", Ei()), i = !0) : o ? a || Wn() : (kt || Dt) && (Dn(), Vn(), Sn()), o && !W && function() {
                for (var t = me + Math.min(Q, Wt), e = le; e--;) {
                    var n = G[e];
                    me <= e && e < t ? (zi(n, "tns-moving"), n.style.left = 100 * (e - me) / Wt + "%", zi(n, k), Wi(n, I)) : n.style.left && (n.style.left = "", zi(n, I), Wi(n, k)), Wi(n, R)
                }
                setTimeout(function() {
                    Ii(G, function(t) {
                        Wi(t, "tns-moving")
                    })
                }, 300)
            }(), Le || He || (e && !D && (Rt === T && It === M || (j.style.cssText = cn(Rt, It, kt, Vt, Xt)), F && (W && (V.style.width = fn(kt, It, Wt)), L = dn(kt, It, Wt) + pn(It), S = Ri(B = ie) - 1, "deleteRule" in B ? B.deleteRule(S) : B.removeRule(S), ki(ie, "#" + Ne + " > .tns-item", L, Ri(ie)))), Xt && Pn(), i && ($n(), ye = me)), e && Ee.emit("newBreakpointEnd", Ei(t)))
        }

        function Tn() {
            if (!kt && !Dt) return Q <= (zt ? Wt - (Wt - 1) / 2 : Wt);
            var t = kt ? (kt + It) * Q : N[Q],
                e = Rt ? Pt + 2 * Rt : Pt + It;
            return zt && (e -= kt ? (Pt - kt) / 2 : (Pt - (N[me + 1] - N[me] - It)) / 2), t <= e
        }

        function En() {
            for (var t in q = 0, P)(t = parseInt(t)) <= X && (q = t)
        }

        function An() {
            !Zt && xt && Qi(xt), !Jt && ut && Qi(ut), Yt || ($ ? Qi($) : (et && Qi(et), nt && Qi(nt)))
        }

        function Nn() {
            Zt && xt && Xi(xt), Jt && ut && Xi(ut), Yt && ($ ? Xi($) : (et && Xi(et), nt && Xi(nt)))
        }

        function Ln() {
            if (!Oe) {
                if (Rt && (j.style.margin = "0px"), ue)
                    for (var t = "tns-transparent", e = ue; e--;) W && zi(G[e], t), zi(G[le - e - 1], t);
                An(), Oe = !0
            }
        }

        function Bn() {
            if (!Be) {
                if (ie.disabled = !0, V.className = V.className.replace(Ae.substring(1), ""), Vi(V, ["style"]), Qt)
                    for (var t = ue; t--;) W && Qi(G[t]), Qi(G[le - t - 1]);
                if (F && W || Vi(j, ["style"]), !W)
                    for (var e = me, n = me + Q; e < n; e++) {
                        var i = G[e];
                        Vi(i, ["style"]), Wi(i, k), Wi(i, I)
                    }
                An(), Be = !0
            }
        }

        function Sn() {
            var t = Hn();
            B.innerHTML !== t && (B.innerHTML = t)
        }

        function Hn() {
            var t = On(),
                e = t[0] + 1,
                n = t[1] + 1;
            return e === n ? e + "" : e + " to " + n
        }

        function On(t) {
            null == t && (t = Zn());
            var n, i, e, a, o, r, u = me;
            return zt || Rt ? (Dt || kt) && (n = -(parseFloat(t) + Rt), i = n + Pt + 2 * Rt) : Dt && (n = N[me], i = n + Pt), Dt ? N.forEach(function(t, e) {
                e < le && ((zt || Rt) && t <= n + .5 && (u = e), .5 <= i - t && (a = e))
            }) : (a = kt ? (e = kt + It, zt || Rt ? (u = Math.floor(n / e), Math.ceil(i / e - 1)) : u + Math.ceil(Pt / e) - 1) : zt || Rt ? (o = Wt - 1, a = zt ? (u -= o / 2, me + o / 2) : me + o, Rt && (u -= r = Rt * Wt / Pt, a += r), u = Math.floor(u), Math.ceil(a)) : u + Wt - 1, u = Math.max(u, 0), a = Math.min(a, le - 1)), [u, a]
        }

        function Dn() {
            var t;
            ae && !Le && ((t = On()).push(oe), In.apply(null, t).forEach(function(t) {
                var e, n;
                Pi(t, Ke) || ((e = {})[s] = function(t) {
                    t.stopPropagation()
                }, Ui(t, e), Ui(t, Je), t.src = Fi(t, "data-src"), (n = Fi(t, "data-srcset")) && (t.srcset = n), zi(t, "loading"))
            }))
        }

        function kn(t) {
            zi(t, "loaded"), Rn(t)
        }

        function Rn(t) {
            zi(t, Ke), Wi(t, "loading"), _i(t, Je)
        }

        function In(t, e, n) {
            var i = [];
            for (n = n || "img"; t <= e;) Ii(G[t].querySelectorAll(n), function(t) {
                i.push(t)
            }), t++;
            return i
        }

        function Pn() {
            var t = In.apply(null, On());
            Ai(function() {
                zn(t, Fn)
            })
        }

        function zn(n, t) {
            return L ? t() : (n.forEach(function(t, e) {
                !ae && t.complete && Rn(t), Pi(t, Ke) && n.splice(e, 1)
            }), n.length ? void Ai(function() {
                zn(n, t)
            }) : t())
        }

        function Wn() {
            Dn(), Vn(), Sn(), Kn(),
                function() {
                    {
                        var t, e;
                        Jt && (pt = 0 <= dt ? dt : an(), dt = -1, pt !== vt && (t = st[vt], e = st[pt], ji(t, {
                            tabindex: "-1",
                            "aria-label": mt + (vt + 1)
                        }), Wi(t, ht), ji(e, {
                            "aria-label": mt + (pt + 1) + yt
                        }), Vi(e, "tabindex"), zi(e, ht), vt = pt))
                    }
                }()
        }

        function qn(t, e) {
            for (var n = [], i = t, a = Math.min(t + e, le); i < a; i++) n.push(G[i].offsetHeight);
            return Math.max.apply(null, n)
        }

        function Fn() {
            var t = Xt ? qn(me, Wt) : qn(ue, Q),
                e = M || j;
            e.style.height !== t && (e.style.height = t + "px")
        }

        function jn() {
            N = [0];
            var n = F ? "left" : "top",
                i = F ? "right" : "bottom",
                a = G[0].getBoundingClientRect()[n];
            Ii(G, function(t, e) {
                e && N.push(t.getBoundingClientRect()[n] - a), e === le - 1 && N.push(t.getBoundingClientRect()[i] - a)
            })
        }

        function Vn() {
            var t = On(),
                n = t[0],
                i = t[1];
            Ii(G, function(t, e) {
                n <= e && e <= i ? qi(t, "aria-hidden") && (Vi(t, ["aria-hidden", "tabindex"]), zi(t, Xe)) : qi(t, "aria-hidden") || (ji(t, {
                    "aria-hidden": "true",
                    tabindex: "-1"
                }), Wi(t, Xe))
            })
        }

        function Gn(t) {
            return t.nodeName.toLowerCase()
        }

        function Qn(t) {
            return "button" === Gn(t)
        }

        function Xn(t) {
            return "true" === t.getAttribute("aria-disabled")
        }

        function Yn(t, e, n) {
            t ? e.disabled = n : e.setAttribute("aria-disabled", n.toString())
        }

        function Kn() {
            var t, e, n, i;
            !Yt || Gt || Qt || (t = ot ? et.disabled : Xn(et), e = rt ? nt.disabled : Xn(nt), i = !Gt && xe <= me, (n = me <= ge) && !t && Yn(ot, et, !0), !n && t && Yn(ot, et, !1), i && !e && Yn(rt, nt, !0), !i && e && Yn(rt, nt, !1))
        }

        function Jn(t, e) {
            x && (t.style[x] = e)
        }

        function Un(t) {
            return null == t && (t = me), Dt ? (Pt - (Rt ? It : 0) - (N[t + 1] - N[t] - It)) / 2 : kt ? (Pt - kt) / 2 : (Wt - 1) / 2
        }

        function _n() {
            var t = Pt + (Rt ? It : 0) - (kt ? (kt + It) * le : N[le]);
            return zt && !Qt && (t = kt ? -(kt + It) * (le - 1) - Un() : Un(le - 1) - N[le - 1]), 0 < t && (t = 0), t
        }

        function Zn(t) {
            var e, n;
            return null == t && (t = me), F && !Dt ? kt ? (e = -(kt + It) * t, zt && (e += Un())) : (n = o ? le : Wt, zt && (t -= Un()), e = 100 * -t / n) : (e = -N[t], zt && Dt && (e += Un())), se && (e = Math.max(e, ce)), e += !F || Dt || kt ? "px" : "%"
        }

        function $n(t) {
            Jn(V, "0s"), ti(t)
        }

        function ti(t) {
            null == t && (t = Zn()), V.style[de] = pe + t + ve
        }

        function ei(t, e, n, i) {
            var a = t + Wt;
            Qt || (a = Math.min(a, le));
            for (var o = t; o < a; o++) {
                var r = G[o];
                i || (r.style.left = 100 * (o - me) / Wt + "%"), v && u && (r.style[u] = r.style[l] = v * (o - t) / 1e3 + "s"), Wi(r, e), zi(r, n), i && re.push(r)
            }
        }

        function ni(t, e) {
            fe && _e(), me === ye && !e || (Ee.emit("indexChanged", Ei()), Ee.emit("transitionStart", Ei()), Xt && Pn(), Mt && t && 0 <= ["click", "keydown"].indexOf(t.type) && fi(), Me = !0, Ze())
        }

        function ii(t) {
            return t.toLowerCase().replace(/-/g, "")
        }

        function ai(t) {
            if (W || Me) {
                if (Ee.emit("transitionEnd", Ei(t)), !W && 0 < re.length)
                    for (var e = 0; e < re.length; e++) {
                        var n = re[e];
                        n.style.left = "", l && u && (n.style[l] = "", n.style[u] = ""), Wi(n, R), zi(n, I)
                    }
                var i;
                (!t || !W && t.target.parentNode === V || t.target === V && ii(t.propertyName) === ii(de)) && (fe || (i = me, _e(), me !== i && (Ee.emit("indexChanged", Ei()), $n())), "inner" === z && Ee.emit("innerLoaded", Ei()), Me = !1, ye = me)
            }
        }

        function oi(t, e) {
            if (!He)
                if ("prev" === t) ri(e, -1);
                else if ("next" === t) ri(e, 1);
            else {
                if (Me) {
                    if (be) return;
                    ai()
                }
                var n, i = nn(),
                    a = 0;
                "first" === t ? a = -i : "last" === t ? a = W ? Q - Wt - i : Q - 1 - i : ("number" != typeof t && (t = parseInt(t)), isNaN(t) || (e || (t = Math.max(0, Math.min(Q - 1, t))), a = t - i)), !W && a && Math.abs(a) < Wt && (n = 0 < a ? 1 : -1, a += ge <= me + a - Q ? Q * n : 2 * Q * n * -1), me += a, W && Qt && (me < ge && (me += Q), xe < me && (me -= Q)), nn(me) !== nn(ye) && ni(e)
            }
        }

        function ri(t, e) {
            if (Me) {
                if (be) return;
                ai()
            }
            var n;
            if (!e) {
                for (var i = hi(t = vi(t)); i !== $ && [et, nt].indexOf(i) < 0;) i = i.parentNode;
                var a = [et, nt].indexOf(i);
                0 <= a && (n = !0, e = 0 === a ? -1 : 1)
            }
            if (Gt) {
                if (me === ge && -1 === e) return void oi("last", t);
                if (me === xe && 1 === e) return void oi("first", t)
            }
            e && (me += qt * e, Dt && (me = Math.floor(me)), ni(n || t && "keydown" === t.type ? t : null))
        }

        function ui() {
            Ct = setInterval(function() {
                ri(null, gt)
            }, $t), Mt = !0
        }

        function li() {
            clearInterval(Ct), Mt = !1
        }

        function si(t, e) {
            ji(xt, {
                "data-action": t
            }), xt.innerHTML = wt[0] + t + wt[1] + e
        }

        function ci() {
            ui(), xt && si("stop", te[1])
        }

        function fi() {
            li(), xt && si("start", te[0])
        }

        function di() {
            Et = Mt ? (fi(), !0) : (ci(), !1)
        }

        function pi(t) {
            t.focus()
        }

        function vi(t) {
            return mi(t = t || m.event) ? t.changedTouches[0] : t
        }

        function hi(t) {
            return t.target || m.event.srcElement
        }

        function mi(t) {
            return 0 <= t.type.indexOf("touch")
        }

        function yi(t) {
            t.preventDefault ? t.preventDefault() : t.returnValue = !1
        }

        function gi() {
            return a = Lt.y - Nt.y, o = Lt.x - Nt.x, t = Math.atan2(a, o) * (180 / Math.PI), e = we, n = !1, i = Math.abs(90 - Math.abs(t)), 90 - e <= i ? n = "horizontal" : i <= e && (n = "vertical"), n === H.axis;
            var t, e, n, i, a, o
        }

        function xi(t) {
            if (Me) {
                if (be) return;
                ai()
            }
            Zt && Mt && li(), St = !0, Ht && (Ni(Ht), Ht = null);
            var e = vi(t);
            Ee.emit(mi(t) ? "touchStart" : "dragStart", Ei(t)), !mi(t) && 0 <= ["img", "a"].indexOf(Gn(hi(t))) && yi(t), Lt.x = Nt.x = e.clientX, Lt.y = Nt.y = e.clientY, W && (Bt = parseFloat(V.style[de].replace(pe, "")), Jn(V, "0s"))
        }

        function bi(t) {
            var e;
            St && (e = vi(t), Lt.x = e.clientX, Lt.y = e.clientY, W ? Ht = Ht || Ai(function() {
                ! function t(e) {
                    if (!Ce) return void(St = !1);
                    Ni(Ht);
                    St && (Ht = Ai(function() {
                        t(e)
                    }));
                    "?" === Ce && (Ce = gi());
                    if (Ce) {
                        !Ue && mi(e) && (Ue = !0);
                        try {
                            e.type && Ee.emit(mi(e) ? "touchMove" : "dragMove", Ei(e))
                        } catch (t) {}
                        var n = Bt,
                            i = Ot(Lt, Nt);
                        !F || kt || Dt ? (n += i, n += "px") : (n += o ? i * Wt * 100 / ((Pt + It) * le) : 100 * i / (Pt + It), n += "%"), V.style[de] = pe + n + ve
                    }
                }(t)
            }) : ("?" === Ce && (Ce = gi()), Ce && (Ue = !0)), ("boolean" != typeof t.cancelable || t.cancelable) && Ue && t.preventDefault())
        }

        function wi(i) {
            var t, a, n;
            St && (Ht && (Ni(Ht), Ht = null), W && Jn(V, ""), St = !1, t = vi(i), Lt.x = t.clientX, Lt.y = t.clientY, a = Ot(Lt, Nt), Math.abs(a) && (mi(i) || Ui(n = hi(i), {
                click: function t(e) {
                    yi(e), _i(n, {
                        click: t
                    })
                }
            }), W ? Ht = Ai(function() {
                if (F && !Dt) {
                    var t = -a * Wt / (Pt + It),
                        t = 0 < a ? Math.floor(t) : Math.ceil(t);
                    me += t
                } else {
                    var e = -(Bt + a);
                    if (e <= 0) me = ge;
                    else if (e >= N[le - 1]) me = xe;
                    else
                        for (var n = 0; n < le && e >= N[n];) e > N[me = n] && a < 0 && (me += 1), n++
                }
                ni(i, a), Ee.emit(mi(i) ? "touchEnd" : "dragEnd", Ei(i))
            }) : Ce && ri(i, 0 < a ? -1 : 1))), "auto" === H.preventScrollOnTouch && (Ue = !1), we && (Ce = "?"), Zt && !Mt && ui()
        }

        function Ci() {
            (M || j).style.height = N[me + Wt] - N[me] + "px"
        }

        function Mi() {
            var t = kt ? (kt + It) * Q / Pt : Q / Wt;
            return Math.min(Math.ceil(t), Q)
        }

        function Ti() {
            if (Jt && !je && ct !== ft) {
                var t = ft,
                    e = ct,
                    n = Xi;
                for (ct < ft && (t = ct, e = ft, n = Qi); t < e;) n(st[t]), t++;
                ft = ct
            }
        }

        function Ei(t) {
            return {
                container: V,
                slideItems: G,
                navContainer: ut,
                navItems: st,
                controlsContainer: $,
                hasControls: qe,
                prevButton: et,
                nextButton: nt,
                items: Wt,
                slideBy: qt,
                cloneCount: ue,
                slideCount: Q,
                slideCountNew: le,
                index: me,
                indexCached: ye,
                displayIndex: tn(),
                navCurrentIndex: pt,
                navCurrentIndexCached: vt,
                pages: ct,
                pagesCached: ft,
                sheet: ie,
                isOn: Y,
                event: t || {}
            }
        }
        f && console.warn("No slides found in", H.container)
    };
    return $i
}();