ok

Mini Shell

Direktori : /proc/thread-self/root/proc/self/root/home2/selectio/public_html/subamangala/assets/js/
Upload File :
Current File : //proc/thread-self/root/proc/self/root/home2/selectio/public_html/subamangala/assets/js/app.min.js

/*!
 * Bootstrap v5.0.0-beta1 (https://getbootstrap.com/)
 * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
! function(t, e) {
    "object" == typeof exports && "undefined" != typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define(e) : (t = "undefined" != typeof globalThis ? globalThis : t || self).bootstrap = e()
}(this, (function() {
    "use strict";

    function t(t, e) {
        for (var i = 0; i < e.length; i++) {
            var n = e[i];
            n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n)
        }
    }

    function e(e, i, n) {
        return i && t(e.prototype, i), n && t(e, n), e
    }

    function i() {
        return (i = Object.assign || function(t) {
            for (var e = 1; e < arguments.length; e++) {
                var i = arguments[e];
                for (var n in i) Object.prototype.hasOwnProperty.call(i, n) && (t[n] = i[n])
            }
            return t
        }).apply(this, arguments)
    }

    function n(t, e) {
        t.prototype = Object.create(e.prototype), t.prototype.constructor = t, t.__proto__ = e
    }
    var o, s, r = function(t) {
            do {
                t += Math.floor(1e6 * Math.random())
            } while (document.getElementById(t));
            return t
        },
        a = function(t) {
            var e = t.getAttribute("data-bs-target");
            if (!e || "#" === e) {
                var i = t.getAttribute("href");
                e = i && "#" !== i ? i.trim() : null
            }
            return e
        },
        l = function(t) {
            var e = a(t);
            return e && document.querySelector(e) ? e : null
        },
        c = function(t) {
            var e = a(t);
            return e ? document.querySelector(e) : null
        },
        d = function(t) {
            if (!t) return 0;
            var e = window.getComputedStyle(t),
                i = e.transitionDuration,
                n = e.transitionDelay,
                o = Number.parseFloat(i),
                s = Number.parseFloat(n);
            return o || s ? (i = i.split(",")[0], n = n.split(",")[0], 1e3 * (Number.parseFloat(i) + Number.parseFloat(n))) : 0
        },
        u = function(t) {
            t.dispatchEvent(new Event("transitionend"))
        },
        h = function(t) {
            return (t[0] || t).nodeType
        },
        p = function(t, e) {
            var i = !1,
                n = e + 5;
            t.addEventListener("transitionend", (function e() {
                i = !0, t.removeEventListener("transitionend", e)
            })), setTimeout((function() {
                i || u(t)
            }), n)
        },
        f = function(t, e, i) {
            Object.keys(i).forEach((function(n) {
                var o, s = i[n],
                    r = e[n],
                    a = r && h(r) ? "element" : null == (o = r) ? "" + o : {}.toString.call(o).match(/\s([a-z]+)/i)[1].toLowerCase();
                if (!new RegExp(s).test(a)) throw new Error(t.toUpperCase() + ': Option "' + n + '" provided type "' + a + '" but expected type "' + s + '".')
            }))
        },
        m = function(t) {
            if (!t) return !1;
            if (t.style && t.parentNode && t.parentNode.style) {
                var e = getComputedStyle(t),
                    i = getComputedStyle(t.parentNode);
                return "none" !== e.display && "none" !== i.display && "hidden" !== e.visibility
            }
            return !1
        },
        g = function() {
            return function() {}
        },
        v = function(t) {
            return t.offsetHeight
        },
        y = function() {
            var t = window.jQuery;
            return t && !document.body.hasAttribute("data-bs-no-jquery") ? t : null
        },
        _ = function(t) {
            "loading" === document.readyState ? document.addEventListener("DOMContentLoaded", t) : t()
        },
        b = "rtl" === document.documentElement.dir,
        w = (o = {}, s = 1, {
            set: function(t, e, i) {
                void 0 === t.bsKey && (t.bsKey = {
                    key: e,
                    id: s
                }, s++), o[t.bsKey.id] = i
            },
            get: function(t, e) {
                if (!t || void 0 === t.bsKey) return null;
                var i = t.bsKey;
                return i.key === e ? o[i.id] : null
            },
            delete: function(t, e) {
                if (void 0 !== t.bsKey) {
                    var i = t.bsKey;
                    i.key === e && (delete o[i.id], delete t.bsKey)
                }
            }
        }),
        k = function(t, e, i) {
            w.set(t, e, i)
        },
        T = function(t, e) {
            return w.get(t, e)
        },
        C = /[^.]*(?=\..*)\.|.*/,
        S = /\..*/,
        x = /::\d+$/,
        E = {},
        O = 1,
        I = {
            mouseenter: "mouseover",
            mouseleave: "mouseout"
        },
        A = new Set(["click", "dblclick", "mouseup", "mousedown", "mousewheel", "DOMMouseScroll", "mouseover", "mouseout", "mousemove", "selectstart", "selectend", "keydown", "keypress", "keyup", "orientationchange", "touchstart", "touchmove", "touchend", "touchcancel", "pointerdown", "pointermove", "pointerup", "pointerleave", "pointercancel", "gesturestart", "gesturechange", "gestureend", "focus", "blur", "change", "reset", "select", "submit", "focusin", "focusout", "load", "unload", "beforeunload", "resize", "move", "DOMContentLoaded", "readystatechange", "error", "abort", "scroll"]);

    function L(t, e) {
        return e && e + "::" + O++ || t.uidEvent || O++
    }

    function D(t) {
        var e = L(t);
        return t.uidEvent = e, E[e] = E[e] || {}, E[e]
    }

    function z(t, e, i) {
        void 0 === i && (i = null);
        for (var n = Object.keys(t), o = 0, s = n.length; o < s; o++) {
            var r = t[n[o]];
            if (r.originalHandler === e && r.delegationSelector === i) return r
        }
        return null
    }

    function P(t, e, i) {
        var n = "string" == typeof e,
            o = n ? i : e,
            s = t.replace(S, ""),
            r = I[s];
        return r && (s = r), A.has(s) || (s = t), [n, o, s]
    }

    function M(t, e, i, n, o) {
        if ("string" == typeof e && t) {
            i || (i = n, n = null);
            var s = P(e, i, n),
                r = s[0],
                a = s[1],
                l = s[2],
                c = D(t),
                d = c[l] || (c[l] = {}),
                u = z(d, a, r ? i : null);
            if (u) u.oneOff = u.oneOff && o;
            else {
                var h = L(a, e.replace(C, "")),
                    p = r ? function(t, e, i) {
                        return function n(o) {
                            for (var s = t.querySelectorAll(e), r = o.target; r && r !== this; r = r.parentNode)
                                for (var a = s.length; a--;)
                                    if (s[a] === r) return o.delegateTarget = r, n.oneOff && $.off(t, o.type, i), i.apply(r, [o]);
                            return null
                        }
                    }(t, i, n) : function(t, e) {
                        return function i(n) {
                            return n.delegateTarget = t, i.oneOff && $.off(t, n.type, e), e.apply(t, [n])
                        }
                    }(t, i);
                p.delegationSelector = r ? i : null, p.originalHandler = a, p.oneOff = o, p.uidEvent = h, d[h] = p, t.addEventListener(l, p, r)
            }
        }
    }

    function j(t, e, i, n, o) {
        var s = z(e[i], n, o);
        s && (t.removeEventListener(i, s, Boolean(o)), delete e[i][s.uidEvent])
    }
    var $ = {
            on: function(t, e, i, n) {
                M(t, e, i, n, !1)
            },
            one: function(t, e, i, n) {
                M(t, e, i, n, !0)
            },
            off: function(t, e, i, n) {
                if ("string" == typeof e && t) {
                    var o = P(e, i, n),
                        s = o[0],
                        r = o[1],
                        a = o[2],
                        l = a !== e,
                        c = D(t),
                        d = e.startsWith(".");
                    if (void 0 === r) {
                        d && Object.keys(c).forEach((function(i) {
                            ! function(t, e, i, n) {
                                var o = e[i] || {};
                                Object.keys(o).forEach((function(s) {
                                    if (s.includes(n)) {
                                        var r = o[s];
                                        j(t, e, i, r.originalHandler, r.delegationSelector)
                                    }
                                }))
                            }(t, c, i, e.slice(1))
                        }));
                        var u = c[a] || {};
                        Object.keys(u).forEach((function(i) {
                            var n = i.replace(x, "");
                            if (!l || e.includes(n)) {
                                var o = u[i];
                                j(t, c, a, o.originalHandler, o.delegationSelector)
                            }
                        }))
                    } else {
                        if (!c || !c[a]) return;
                        j(t, c, a, r, s ? i : null)
                    }
                }
            },
            trigger: function(t, e, i) {
                if ("string" != typeof e || !t) return null;
                var n, o = y(),
                    s = e.replace(S, ""),
                    r = e !== s,
                    a = A.has(s),
                    l = !0,
                    c = !0,
                    d = !1,
                    u = null;
                return r && o && (n = o.Event(e, i), o(t).trigger(n), l = !n.isPropagationStopped(), c = !n.isImmediatePropagationStopped(), d = n.isDefaultPrevented()), a ? (u = document.createEvent("HTMLEvents")).initEvent(s, l, !0) : u = new CustomEvent(e, {
                    bubbles: l,
                    cancelable: !0
                }), void 0 !== i && Object.keys(i).forEach((function(t) {
                    Object.defineProperty(u, t, {
                        get: function() {
                            return i[t]
                        }
                    })
                })), d && u.preventDefault(), c && t.dispatchEvent(u), u.defaultPrevented && void 0 !== n && n.preventDefault(), u
            }
        },
        H = function() {
            function t(t) {
                t && (this._element = t, k(t, this.constructor.DATA_KEY, this))
            }
            return t.prototype.dispose = function() {
                (function(t, e) {
                    w.delete(t, e)
                })(this._element, this.constructor.DATA_KEY), this._element = null
            }, t.getInstance = function(t) {
                return T(t, this.DATA_KEY)
            }, e(t, null, [{
                key: "VERSION",
                get: function() {
                    return "5.0.0-beta1"
                }
            }]), t
        }(),
        N = "alert",
        W = function(t) {
            function i() {
                return t.apply(this, arguments) || this
            }
            n(i, t);
            var o = i.prototype;
            return o.close = function(t) {
                var e = t ? this._getRootElement(t) : this._element,
                    i = this._triggerCloseEvent(e);
                null === i || i.defaultPrevented || this._removeElement(e)
            }, o._getRootElement = function(t) {
                return c(t) || t.closest(".alert")
            }, o._triggerCloseEvent = function(t) {
                return $.trigger(t, "close.bs.alert")
            }, o._removeElement = function(t) {
                var e = this;
                if (t.classList.remove("show"), t.classList.contains("fade")) {
                    var i = d(t);
                    $.one(t, "transitionend", (function() {
                        return e._destroyElement(t)
                    })), p(t, i)
                } else this._destroyElement(t)
            }, o._destroyElement = function(t) {
                t.parentNode && t.parentNode.removeChild(t), $.trigger(t, "closed.bs.alert")
            }, i.jQueryInterface = function(t) {
                return this.each((function() {
                    var e = T(this, "bs.alert");
                    e || (e = new i(this)), "close" === t && e[t](this)
                }))
            }, i.handleDismiss = function(t) {
                return function(e) {
                    e && e.preventDefault(), t.close(this)
                }
            }, e(i, null, [{
                key: "DATA_KEY",
                get: function() {
                    return "bs.alert"
                }
            }]), i
        }(H);
    $.on(document, "click.bs.alert.data-api", '[data-bs-dismiss="alert"]', W.handleDismiss(new W)), _((function() {
        var t = y();
        if (t) {
            var e = t.fn[N];
            t.fn[N] = W.jQueryInterface, t.fn[N].Constructor = W, t.fn[N].noConflict = function() {
                return t.fn[N] = e, W.jQueryInterface
            }
        }
    }));
    var B = function(t) {
        function i() {
            return t.apply(this, arguments) || this
        }
        return n(i, t), i.prototype.toggle = function() {
            this._element.setAttribute("aria-pressed", this._element.classList.toggle("active"))
        }, i.jQueryInterface = function(t) {
            return this.each((function() {
                var e = T(this, "bs.button");
                e || (e = new i(this)), "toggle" === t && e[t]()
            }))
        }, e(i, null, [{
            key: "DATA_KEY",
            get: function() {
                return "bs.button"
            }
        }]), i
    }(H);

    function R(t) {
        return "true" === t || "false" !== t && (t === Number(t).toString() ? Number(t) : "" === t || "null" === t ? null : t)
    }

    function F(t) {
        return t.replace(/[A-Z]/g, (function(t) {
            return "-" + t.toLowerCase()
        }))
    }
    $.on(document, "click.bs.button.data-api", '[data-bs-toggle="button"]', (function(t) {
        t.preventDefault();
        var e = t.target.closest('[data-bs-toggle="button"]'),
            i = T(e, "bs.button");
        i || (i = new B(e)), i.toggle()
    })), _((function() {
        var t = y();
        if (t) {
            var e = t.fn.button;
            t.fn.button = B.jQueryInterface, t.fn.button.Constructor = B, t.fn.button.noConflict = function() {
                return t.fn.button = e, B.jQueryInterface
            }
        }
    }));
    var q = {
            setDataAttribute: function(t, e, i) {
                t.setAttribute("data-bs-" + F(e), i)
            },
            removeDataAttribute: function(t, e) {
                t.removeAttribute("data-bs-" + F(e))
            },
            getDataAttributes: function(t) {
                if (!t) return {};
                var e = {};
                return Object.keys(t.dataset).filter((function(t) {
                    return t.startsWith("bs")
                })).forEach((function(i) {
                    var n = i.replace(/^bs/, "");
                    n = n.charAt(0).toLowerCase() + n.slice(1, n.length), e[n] = R(t.dataset[i])
                })), e
            },
            getDataAttribute: function(t, e) {
                return R(t.getAttribute("data-bs-" + F(e)))
            },
            offset: function(t) {
                var e = t.getBoundingClientRect();
                return {
                    top: e.top + document.body.scrollTop,
                    left: e.left + document.body.scrollLeft
                }
            },
            position: function(t) {
                return {
                    top: t.offsetTop,
                    left: t.offsetLeft
                }
            }
        },
        U = {
            matches: function(t, e) {
                return t.matches(e)
            },
            find: function(t, e) {
                var i;
                return void 0 === e && (e = document.documentElement), (i = []).concat.apply(i, Element.prototype.querySelectorAll.call(e, t))
            },
            findOne: function(t, e) {
                return void 0 === e && (e = document.documentElement), Element.prototype.querySelector.call(e, t)
            },
            children: function(t, e) {
                var i;
                return (i = []).concat.apply(i, t.children).filter((function(t) {
                    return t.matches(e)
                }))
            },
            parents: function(t, e) {
                for (var i = [], n = t.parentNode; n && n.nodeType === Node.ELEMENT_NODE && 3 !== n.nodeType;) this.matches(n, e) && i.push(n), n = n.parentNode;
                return i
            },
            prev: function(t, e) {
                for (var i = t.previousElementSibling; i;) {
                    if (i.matches(e)) return [i];
                    i = i.previousElementSibling
                }
                return []
            },
            next: function(t, e) {
                for (var i = t.nextElementSibling; i;) {
                    if (this.matches(i, e)) return [i];
                    i = i.nextElementSibling
                }
                return []
            }
        },
        Y = "carousel",
        Q = {
            interval: 5e3,
            keyboard: !0,
            slide: !1,
            pause: "hover",
            wrap: !0,
            touch: !0
        },
        V = {
            interval: "(number|boolean)",
            keyboard: "boolean",
            slide: "(boolean|string)",
            pause: "(string|boolean)",
            wrap: "boolean",
            touch: "boolean"
        },
        K = {
            TOUCH: "touch",
            PEN: "pen"
        },
        X = function(t) {
            function o(e, i) {
                var n;
                return (n = t.call(this, e) || this)._items = null, n._interval = null, n._activeElement = null, n._isPaused = !1, n._isSliding = !1, n.touchTimeout = null, n.touchStartX = 0, n.touchDeltaX = 0, n._config = n._getConfig(i), n._indicatorsElement = U.findOne(".carousel-indicators", n._element), n._touchSupported = "ontouchstart" in document.documentElement || navigator.maxTouchPoints > 0, n._pointerEvent = Boolean(window.PointerEvent), n._addEventListeners(), n
            }
            n(o, t);
            var s = o.prototype;
            return s.next = function() {
                this._isSliding || this._slide("next")
            }, s.nextWhenVisible = function() {
                !document.hidden && m(this._element) && this.next()
            }, s.prev = function() {
                this._isSliding || this._slide("prev")
            }, s.pause = function(t) {
                t || (this._isPaused = !0), U.findOne(".carousel-item-next, .carousel-item-prev", this._element) && (u(this._element), this.cycle(!0)), clearInterval(this._interval), this._interval = null
            }, s.cycle = function(t) {
                t || (this._isPaused = !1), this._interval && (clearInterval(this._interval), this._interval = null), this._config && this._config.interval && !this._isPaused && (this._updateInterval(), this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval))
            }, s.to = function(t) {
                var e = this;
                this._activeElement = U.findOne(".active.carousel-item", this._element);
                var i = this._getItemIndex(this._activeElement);
                if (!(t > this._items.length - 1 || t < 0))
                    if (this._isSliding) $.one(this._element, "slid.bs.carousel", (function() {
                        return e.to(t)
                    }));
                    else {
                        if (i === t) return this.pause(), void this.cycle();
                        var n = t > i ? "next" : "prev";
                        this._slide(n, this._items[t])
                    }
            }, s.dispose = function() {
                t.prototype.dispose.call(this), $.off(this._element, ".bs.carousel"), this._items = null, this._config = null, this._interval = null, this._isPaused = null, this._isSliding = null, this._activeElement = null, this._indicatorsElement = null
            }, s._getConfig = function(t) {
                return t = i({}, Q, t), f(Y, t, V), t
            }, s._handleSwipe = function() {
                var t = Math.abs(this.touchDeltaX);
                if (!(t <= 40)) {
                    var e = t / this.touchDeltaX;
                    this.touchDeltaX = 0, e > 0 && this.prev(), e < 0 && this.next()
                }
            }, s._addEventListeners = function() {
                var t = this;
                this._config.keyboard && $.on(this._element, "keydown.bs.carousel", (function(e) {
                    return t._keydown(e)
                })), "hover" === this._config.pause && ($.on(this._element, "mouseenter.bs.carousel", (function(e) {
                    return t.pause(e)
                })), $.on(this._element, "mouseleave.bs.carousel", (function(e) {
                    return t.cycle(e)
                }))), this._config.touch && this._touchSupported && this._addTouchEventListeners()
            }, s._addTouchEventListeners = function() {
                var t = this,
                    e = function(e) {
                        t._pointerEvent && K[e.pointerType.toUpperCase()] ? t.touchStartX = e.clientX : t._pointerEvent || (t.touchStartX = e.touches[0].clientX)
                    },
                    i = function(e) {
                        t._pointerEvent && K[e.pointerType.toUpperCase()] && (t.touchDeltaX = e.clientX - t.touchStartX), t._handleSwipe(), "hover" === t._config.pause && (t.pause(), t.touchTimeout && clearTimeout(t.touchTimeout), t.touchTimeout = setTimeout((function(e) {
                            return t.cycle(e)
                        }), 500 + t._config.interval))
                    };
                U.find(".carousel-item img", this._element).forEach((function(t) {
                    $.on(t, "dragstart.bs.carousel", (function(t) {
                        return t.preventDefault()
                    }))
                })), this._pointerEvent ? ($.on(this._element, "pointerdown.bs.carousel", (function(t) {
                    return e(t)
                })), $.on(this._element, "pointerup.bs.carousel", (function(t) {
                    return i(t)
                })), this._element.classList.add("pointer-event")) : ($.on(this._element, "touchstart.bs.carousel", (function(t) {
                    return e(t)
                })), $.on(this._element, "touchmove.bs.carousel", (function(e) {
                    return function(e) {
                        e.touches && e.touches.length > 1 ? t.touchDeltaX = 0 : t.touchDeltaX = e.touches[0].clientX - t.touchStartX
                    }(e)
                })), $.on(this._element, "touchend.bs.carousel", (function(t) {
                    return i(t)
                })))
            }, s._keydown = function(t) {
                if (!/input|textarea/i.test(t.target.tagName)) switch (t.key) {
                    case "ArrowLeft":
                        t.preventDefault(), this.prev();
                        break;
                    case "ArrowRight":
                        t.preventDefault(), this.next()
                }
            }, s._getItemIndex = function(t) {
                return this._items = t && t.parentNode ? U.find(".carousel-item", t.parentNode) : [], this._items.indexOf(t)
            }, s._getItemByDirection = function(t, e) {
                var i = "next" === t,
                    n = "prev" === t,
                    o = this._getItemIndex(e),
                    s = this._items.length - 1;
                if ((n && 0 === o || i && o === s) && !this._config.wrap) return e;
                var r = (o + ("prev" === t ? -1 : 1)) % this._items.length;
                return -1 === r ? this._items[this._items.length - 1] : this._items[r]
            }, s._triggerSlideEvent = function(t, e) {
                var i = this._getItemIndex(t),
                    n = this._getItemIndex(U.findOne(".active.carousel-item", this._element));
                return $.trigger(this._element, "slide.bs.carousel", {
                    relatedTarget: t,
                    direction: e,
                    from: n,
                    to: i
                })
            }, s._setActiveIndicatorElement = function(t) {
                if (this._indicatorsElement) {
                    for (var e = U.find(".active", this._indicatorsElement), i = 0; i < e.length; i++) e[i].classList.remove("active");
                    var n = this._indicatorsElement.children[this._getItemIndex(t)];
                    n && n.classList.add("active")
                }
            }, s._updateInterval = function() {
                var t = this._activeElement || U.findOne(".active.carousel-item", this._element);
                if (t) {
                    var e = Number.parseInt(t.getAttribute("data-bs-interval"), 10);
                    e ? (this._config.defaultInterval = this._config.defaultInterval || this._config.interval, this._config.interval = e) : this._config.interval = this._config.defaultInterval || this._config.interval
                }
            }, s._slide = function(t, e) {
                var i, n, o, s = this,
                    r = U.findOne(".active.carousel-item", this._element),
                    a = this._getItemIndex(r),
                    l = e || r && this._getItemByDirection(t, r),
                    c = this._getItemIndex(l),
                    u = Boolean(this._interval);
                if ("next" === t ? (i = "carousel-item-start", n = "carousel-item-next", o = "left") : (i = "carousel-item-end", n = "carousel-item-prev", o = "right"), l && l.classList.contains("active")) this._isSliding = !1;
                else if (!this._triggerSlideEvent(l, o).defaultPrevented && r && l) {
                    if (this._isSliding = !0, u && this.pause(), this._setActiveIndicatorElement(l), this._activeElement = l, this._element.classList.contains("slide")) {
                        l.classList.add(n), v(l), r.classList.add(i), l.classList.add(i);
                        var h = d(r);
                        $.one(r, "transitionend", (function() {
                            l.classList.remove(i, n), l.classList.add("active"), r.classList.remove("active", n, i), s._isSliding = !1, setTimeout((function() {
                                $.trigger(s._element, "slid.bs.carousel", {
                                    relatedTarget: l,
                                    direction: o,
                                    from: a,
                                    to: c
                                })
                            }), 0)
                        })), p(r, h)
                    } else r.classList.remove("active"), l.classList.add("active"), this._isSliding = !1, $.trigger(this._element, "slid.bs.carousel", {
                        relatedTarget: l,
                        direction: o,
                        from: a,
                        to: c
                    });
                    u && this.cycle()
                }
            }, o.carouselInterface = function(t, e) {
                var n = T(t, "bs.carousel"),
                    s = i({}, Q, q.getDataAttributes(t));
                "object" == typeof e && (s = i({}, s, e));
                var r = "string" == typeof e ? e : s.slide;
                if (n || (n = new o(t, s)), "number" == typeof e) n.to(e);
                else if ("string" == typeof r) {
                    if (void 0 === n[r]) throw new TypeError('No method named "' + r + '"');
                    n[r]()
                } else s.interval && s.ride && (n.pause(), n.cycle())
            }, o.jQueryInterface = function(t) {
                return this.each((function() {
                    o.carouselInterface(this, t)
                }))
            }, o.dataApiClickHandler = function(t) {
                var e = c(this);
                if (e && e.classList.contains("carousel")) {
                    var n = i({}, q.getDataAttributes(e), q.getDataAttributes(this)),
                        s = this.getAttribute("data-bs-slide-to");
                    s && (n.interval = !1), o.carouselInterface(e, n), s && T(e, "bs.carousel").to(s), t.preventDefault()
                }
            }, e(o, null, [{
                key: "Default",
                get: function() {
                    return Q
                }
            }, {
                key: "DATA_KEY",
                get: function() {
                    return "bs.carousel"
                }
            }]), o
        }(H);
    $.on(document, "click.bs.carousel.data-api", "[data-bs-slide], [data-bs-slide-to]", X.dataApiClickHandler), $.on(window, "load.bs.carousel.data-api", (function() {
        for (var t = U.find('[data-bs-ride="carousel"]'), e = 0, i = t.length; e < i; e++) X.carouselInterface(t[e], T(t[e], "bs.carousel"))
    })), _((function() {
        var t = y();
        if (t) {
            var e = t.fn[Y];
            t.fn[Y] = X.jQueryInterface, t.fn[Y].Constructor = X, t.fn[Y].noConflict = function() {
                return t.fn[Y] = e, X.jQueryInterface
            }
        }
    }));
    var G = "collapse",
        Z = {
            toggle: !0,
            parent: ""
        },
        J = {
            toggle: "boolean",
            parent: "(string|element)"
        },
        tt = function(t) {
            function o(e, i) {
                var n;
                (n = t.call(this, e) || this)._isTransitioning = !1, n._config = n._getConfig(i), n._triggerArray = U.find('[data-bs-toggle="collapse"][href="#' + e.id + '"],[data-bs-toggle="collapse"][data-bs-target="#' + e.id + '"]');
                for (var o = U.find('[data-bs-toggle="collapse"]'), s = 0, r = o.length; s < r; s++) {
                    var a = o[s],
                        c = l(a),
                        d = U.find(c).filter((function(t) {
                            return t === e
                        }));
                    null !== c && d.length && (n._selector = c, n._triggerArray.push(a))
                }
                return n._parent = n._config.parent ? n._getParent() : null, n._config.parent || n._addAriaAndCollapsedClass(n._element, n._triggerArray), n._config.toggle && n.toggle(), n
            }
            n(o, t);
            var s = o.prototype;
            return s.toggle = function() {
                this._element.classList.contains("show") ? this.hide() : this.show()
            }, s.show = function() {
                var t = this;
                if (!this._isTransitioning && !this._element.classList.contains("show")) {
                    var e, i;
                    this._parent && 0 === (e = U.find(".show, .collapsing", this._parent).filter((function(e) {
                        return "string" == typeof t._config.parent ? e.getAttribute("data-bs-parent") === t._config.parent : e.classList.contains("collapse")
                    }))).length && (e = null);
                    var n = U.findOne(this._selector);
                    if (e) {
                        var s = e.find((function(t) {
                            return n !== t
                        }));
                        if ((i = s ? T(s, "bs.collapse") : null) && i._isTransitioning) return
                    }
                    if (!$.trigger(this._element, "show.bs.collapse").defaultPrevented) {
                        e && e.forEach((function(t) {
                            n !== t && o.collapseInterface(t, "hide"), i || k(t, "bs.collapse", null)
                        }));
                        var r = this._getDimension();
                        this._element.classList.remove("collapse"), this._element.classList.add("collapsing"), this._element.style[r] = 0, this._triggerArray.length && this._triggerArray.forEach((function(t) {
                            t.classList.remove("collapsed"), t.setAttribute("aria-expanded", !0)
                        })), this.setTransitioning(!0);
                        var a = "scroll" + (r[0].toUpperCase() + r.slice(1)),
                            l = d(this._element);
                        $.one(this._element, "transitionend", (function() {
                            t._element.classList.remove("collapsing"), t._element.classList.add("collapse", "show"), t._element.style[r] = "", t.setTransitioning(!1), $.trigger(t._element, "shown.bs.collapse")
                        })), p(this._element, l), this._element.style[r] = this._element[a] + "px"
                    }
                }
            }, s.hide = function() {
                var t = this;
                if (!this._isTransitioning && this._element.classList.contains("show") && !$.trigger(this._element, "hide.bs.collapse").defaultPrevented) {
                    var e = this._getDimension();
                    this._element.style[e] = this._element.getBoundingClientRect()[e] + "px", v(this._element), this._element.classList.add("collapsing"), this._element.classList.remove("collapse", "show");
                    var i = this._triggerArray.length;
                    if (i > 0)
                        for (var n = 0; n < i; n++) {
                            var o = this._triggerArray[n],
                                s = c(o);
                            s && !s.classList.contains("show") && (o.classList.add("collapsed"), o.setAttribute("aria-expanded", !1))
                        }
                    this.setTransitioning(!0), this._element.style[e] = "";
                    var r = d(this._element);
                    $.one(this._element, "transitionend", (function() {
                        t.setTransitioning(!1), t._element.classList.remove("collapsing"), t._element.classList.add("collapse"), $.trigger(t._element, "hidden.bs.collapse")
                    })), p(this._element, r)
                }
            }, s.setTransitioning = function(t) {
                this._isTransitioning = t
            }, s.dispose = function() {
                t.prototype.dispose.call(this), this._config = null, this._parent = null, this._triggerArray = null, this._isTransitioning = null
            }, s._getConfig = function(t) {
                return (t = i({}, Z, t)).toggle = Boolean(t.toggle), f(G, t, J), t
            }, s._getDimension = function() {
                return this._element.classList.contains("width") ? "width" : "height"
            }, s._getParent = function() {
                var t = this,
                    e = this._config.parent;
                h(e) ? void 0 === e.jquery && void 0 === e[0] || (e = e[0]) : e = U.findOne(e);
                var i = '[data-bs-toggle="collapse"][data-bs-parent="' + e + '"]';
                return U.find(i, e).forEach((function(e) {
                    var i = c(e);
                    t._addAriaAndCollapsedClass(i, [e])
                })), e
            }, s._addAriaAndCollapsedClass = function(t, e) {
                if (t && e.length) {
                    var i = t.classList.contains("show");
                    e.forEach((function(t) {
                        i ? t.classList.remove("collapsed") : t.classList.add("collapsed"), t.setAttribute("aria-expanded", i)
                    }))
                }
            }, o.collapseInterface = function(t, e) {
                var n = T(t, "bs.collapse"),
                    s = i({}, Z, q.getDataAttributes(t), "object" == typeof e && e ? e : {});
                if (!n && s.toggle && "string" == typeof e && /show|hide/.test(e) && (s.toggle = !1), n || (n = new o(t, s)), "string" == typeof e) {
                    if (void 0 === n[e]) throw new TypeError('No method named "' + e + '"');
                    n[e]()
                }
            }, o.jQueryInterface = function(t) {
                return this.each((function() {
                    o.collapseInterface(this, t)
                }))
            }, e(o, null, [{
                key: "Default",
                get: function() {
                    return Z
                }
            }, {
                key: "DATA_KEY",
                get: function() {
                    return "bs.collapse"
                }
            }]), o
        }(H);
    $.on(document, "click.bs.collapse.data-api", '[data-bs-toggle="collapse"]', (function(t) {
        "A" === t.target.tagName && t.preventDefault();
        var e = q.getDataAttributes(this),
            i = l(this);
        U.find(i).forEach((function(t) {
            var i, n = T(t, "bs.collapse");
            n ? (null === n._parent && "string" == typeof e.parent && (n._config.parent = e.parent, n._parent = n._getParent()), i = "toggle") : i = e, tt.collapseInterface(t, i)
        }))
    })), _((function() {
        var t = y();
        if (t) {
            var e = t.fn[G];
            t.fn[G] = tt.jQueryInterface, t.fn[G].Constructor = tt, t.fn[G].noConflict = function() {
                return t.fn[G] = e, tt.jQueryInterface
            }
        }
    }));
    var et = "top",
        it = "bottom",
        nt = "right",
        ot = "left",
        st = [et, it, nt, ot],
        rt = st.reduce((function(t, e) {
            return t.concat([e + "-start", e + "-end"])
        }), []),
        at = [].concat(st, ["auto"]).reduce((function(t, e) {
            return t.concat([e, e + "-start", e + "-end"])
        }), []),
        lt = ["beforeRead", "read", "afterRead", "beforeMain", "main", "afterMain", "beforeWrite", "write", "afterWrite"];

    function ct(t) {
        return t ? (t.nodeName || "").toLowerCase() : null
    }

    function dt(t) {
        if ("[object Window]" !== t.toString()) {
            var e = t.ownerDocument;
            return e && e.defaultView || window
        }
        return t
    }

    function ut(t) {
        return t instanceof dt(t).Element || t instanceof Element
    }

    function ht(t) {
        return t instanceof dt(t).HTMLElement || t instanceof HTMLElement
    }
    var pt = {
        name: "applyStyles",
        enabled: !0,
        phase: "write",
        fn: function(t) {
            var e = t.state;
            Object.keys(e.elements).forEach((function(t) {
                var i = e.styles[t] || {},
                    n = e.attributes[t] || {},
                    o = e.elements[t];
                ht(o) && ct(o) && (Object.assign(o.style, i), Object.keys(n).forEach((function(t) {
                    var e = n[t];
                    !1 === e ? o.removeAttribute(t) : o.setAttribute(t, !0 === e ? "" : e)
                })))
            }))
        },
        effect: function(t) {
            var e = t.state,
                i = {
                    popper: {
                        position: e.options.strategy,
                        left: "0",
                        top: "0",
                        margin: "0"
                    },
                    arrow: {
                        position: "absolute"
                    },
                    reference: {}
                };
            return Object.assign(e.elements.popper.style, i.popper), e.elements.arrow && Object.assign(e.elements.arrow.style, i.arrow),
                function() {
                    Object.keys(e.elements).forEach((function(t) {
                        var n = e.elements[t],
                            o = e.attributes[t] || {},
                            s = Object.keys(e.styles.hasOwnProperty(t) ? e.styles[t] : i[t]).reduce((function(t, e) {
                                return t[e] = "", t
                            }), {});
                        ht(n) && ct(n) && (Object.assign(n.style, s), Object.keys(o).forEach((function(t) {
                            n.removeAttribute(t)
                        })))
                    }))
                }
        },
        requires: ["computeStyles"]
    };

    function ft(t) {
        return t.split("-")[0]
    }

    function mt(t) {
        return {
            x: t.offsetLeft,
            y: t.offsetTop,
            width: t.offsetWidth,
            height: t.offsetHeight
        }
    }

    function gt(t, e) {
        var i, n = e.getRootNode && e.getRootNode();
        if (t.contains(e)) return !0;
        if (n && ((i = n) instanceof dt(i).ShadowRoot || i instanceof ShadowRoot)) {
            var o = e;
            do {
                if (o && t.isSameNode(o)) return !0;
                o = o.parentNode || o.host
            } while (o)
        }
        return !1
    }

    function vt(t) {
        return dt(t).getComputedStyle(t)
    }

    function yt(t) {
        return ["table", "td", "th"].indexOf(ct(t)) >= 0
    }

    function _t(t) {
        return ((ut(t) ? t.ownerDocument : t.document) || window.document).documentElement
    }

    function bt(t) {
        return "html" === ct(t) ? t : t.assignedSlot || t.parentNode || t.host || _t(t)
    }

    function wt(t) {
        if (!ht(t) || "fixed" === vt(t).position) return null;
        var e = t.offsetParent;
        if (e) {
            var i = _t(e);
            if ("body" === ct(e) && "static" === vt(e).position && "static" !== vt(i).position) return i
        }
        return e
    }

    function kt(t) {
        for (var e = dt(t), i = wt(t); i && yt(i) && "static" === vt(i).position;) i = wt(i);
        return i && "body" === ct(i) && "static" === vt(i).position ? e : i || function(t) {
            for (var e = bt(t); ht(e) && ["html", "body"].indexOf(ct(e)) < 0;) {
                var i = vt(e);
                if ("none" !== i.transform || "none" !== i.perspective || i.willChange && "auto" !== i.willChange) return e;
                e = e.parentNode
            }
            return null
        }(t) || e
    }

    function Tt(t) {
        return ["top", "bottom"].indexOf(t) >= 0 ? "x" : "y"
    }

    function Ct(t, e, i) {
        return Math.max(t, Math.min(e, i))
    }

    function St(t) {
        return Object.assign(Object.assign({}, {
            top: 0,
            right: 0,
            bottom: 0,
            left: 0
        }), t)
    }

    function xt(t, e) {
        return e.reduce((function(e, i) {
            return e[i] = t, e
        }), {})
    }
    var Et = {
            name: "arrow",
            enabled: !0,
            phase: "main",
            fn: function(t) {
                var e, i = t.state,
                    n = t.name,
                    o = i.elements.arrow,
                    s = i.modifiersData.popperOffsets,
                    r = ft(i.placement),
                    a = Tt(r),
                    l = [ot, nt].indexOf(r) >= 0 ? "height" : "width";
                if (o && s) {
                    var c = i.modifiersData[n + "#persistent"].padding,
                        d = mt(o),
                        u = "y" === a ? et : ot,
                        h = "y" === a ? it : nt,
                        p = i.rects.reference[l] + i.rects.reference[a] - s[a] - i.rects.popper[l],
                        f = s[a] - i.rects.reference[a],
                        m = kt(o),
                        g = m ? "y" === a ? m.clientHeight || 0 : m.clientWidth || 0 : 0,
                        v = p / 2 - f / 2,
                        y = c[u],
                        _ = g - d[l] - c[h],
                        b = g / 2 - d[l] / 2 + v,
                        w = Ct(y, b, _),
                        k = a;
                    i.modifiersData[n] = ((e = {})[k] = w, e.centerOffset = w - b, e)
                }
            },
            effect: function(t) {
                var e = t.state,
                    i = t.options,
                    n = t.name,
                    o = i.element,
                    s = void 0 === o ? "[data-popper-arrow]" : o,
                    r = i.padding,
                    a = void 0 === r ? 0 : r;
                null != s && ("string" != typeof s || (s = e.elements.popper.querySelector(s))) && gt(e.elements.popper, s) && (e.elements.arrow = s, e.modifiersData[n + "#persistent"] = {
                    padding: St("number" != typeof a ? a : xt(a, st))
                })
            },
            requires: ["popperOffsets"],
            requiresIfExists: ["preventOverflow"]
        },
        Ot = {
            top: "auto",
            right: "auto",
            bottom: "auto",
            left: "auto"
        };

    function It(t) {
        var e, i = t.popper,
            n = t.popperRect,
            o = t.placement,
            s = t.offsets,
            r = t.position,
            a = t.gpuAcceleration,
            l = t.adaptive,
            c = function(t) {
                var e = t.x,
                    i = t.y,
                    n = window.devicePixelRatio || 1;
                return {
                    x: Math.round(e * n) / n || 0,
                    y: Math.round(i * n) / n || 0
                }
            }(s),
            d = c.x,
            u = c.y,
            h = s.hasOwnProperty("x"),
            p = s.hasOwnProperty("y"),
            f = ot,
            m = et,
            g = window;
        if (l) {
            var v = kt(i);
            v === dt(i) && (v = _t(i)), o === et && (m = it, u -= v.clientHeight - n.height, u *= a ? 1 : -1), o === ot && (f = nt, d -= v.clientWidth - n.width, d *= a ? 1 : -1)
        }
        var y, _ = Object.assign({
            position: r
        }, l && Ot);
        return a ? Object.assign(Object.assign({}, _), {}, ((y = {})[m] = p ? "0" : "", y[f] = h ? "0" : "", y.transform = (g.devicePixelRatio || 1) < 2 ? "translate(" + d + "px, " + u + "px)" : "translate3d(" + d + "px, " + u + "px, 0)", y)) : Object.assign(Object.assign({}, _), {}, ((e = {})[m] = p ? u + "px" : "", e[f] = h ? d + "px" : "", e.transform = "", e))
    }
    var At = {
            name: "computeStyles",
            enabled: !0,
            phase: "beforeWrite",
            fn: function(t) {
                var e = t.state,
                    i = t.options,
                    n = i.gpuAcceleration,
                    o = void 0 === n || n,
                    s = i.adaptive,
                    r = void 0 === s || s,
                    a = {
                        placement: ft(e.placement),
                        popper: e.elements.popper,
                        popperRect: e.rects.popper,
                        gpuAcceleration: o
                    };
                null != e.modifiersData.popperOffsets && (e.styles.popper = Object.assign(Object.assign({}, e.styles.popper), It(Object.assign(Object.assign({}, a), {}, {
                    offsets: e.modifiersData.popperOffsets,
                    position: e.options.strategy,
                    adaptive: r
                })))), null != e.modifiersData.arrow && (e.styles.arrow = Object.assign(Object.assign({}, e.styles.arrow), It(Object.assign(Object.assign({}, a), {}, {
                    offsets: e.modifiersData.arrow,
                    position: "absolute",
                    adaptive: !1
                })))), e.attributes.popper = Object.assign(Object.assign({}, e.attributes.popper), {}, {
                    "data-popper-placement": e.placement
                })
            },
            data: {}
        },
        Lt = {
            passive: !0
        },
        Dt = {
            name: "eventListeners",
            enabled: !0,
            phase: "write",
            fn: function() {},
            effect: function(t) {
                var e = t.state,
                    i = t.instance,
                    n = t.options,
                    o = n.scroll,
                    s = void 0 === o || o,
                    r = n.resize,
                    a = void 0 === r || r,
                    l = dt(e.elements.popper),
                    c = [].concat(e.scrollParents.reference, e.scrollParents.popper);
                return s && c.forEach((function(t) {
                        t.addEventListener("scroll", i.update, Lt)
                    })), a && l.addEventListener("resize", i.update, Lt),
                    function() {
                        s && c.forEach((function(t) {
                            t.removeEventListener("scroll", i.update, Lt)
                        })), a && l.removeEventListener("resize", i.update, Lt)
                    }
            },
            data: {}
        },
        zt = {
            left: "right",
            right: "left",
            bottom: "top",
            top: "bottom"
        };

    function Pt(t) {
        return t.replace(/left|right|bottom|top/g, (function(t) {
            return zt[t]
        }))
    }
    var Mt = {
        start: "end",
        end: "start"
    };

    function jt(t) {
        return t.replace(/start|end/g, (function(t) {
            return Mt[t]
        }))
    }

    function $t(t) {
        var e = t.getBoundingClientRect();
        return {
            width: e.width,
            height: e.height,
            top: e.top,
            right: e.right,
            bottom: e.bottom,
            left: e.left,
            x: e.left,
            y: e.top
        }
    }

    function Ht(t) {
        var e = dt(t);
        return {
            scrollLeft: e.pageXOffset,
            scrollTop: e.pageYOffset
        }
    }

    function Nt(t) {
        return $t(_t(t)).left + Ht(t).scrollLeft
    }

    function Wt(t) {
        var e = vt(t),
            i = e.overflow,
            n = e.overflowX,
            o = e.overflowY;
        return /auto|scroll|overlay|hidden/.test(i + o + n)
    }

    function Bt(t, e) {
        void 0 === e && (e = []);
        var i = function t(e) {
                return ["html", "body", "#document"].indexOf(ct(e)) >= 0 ? e.ownerDocument.body : ht(e) && Wt(e) ? e : t(bt(e))
            }(t),
            n = "body" === ct(i),
            o = dt(i),
            s = n ? [o].concat(o.visualViewport || [], Wt(i) ? i : []) : i,
            r = e.concat(s);
        return n ? r : r.concat(Bt(bt(s)))
    }

    function Rt(t) {
        return Object.assign(Object.assign({}, t), {}, {
            left: t.x,
            top: t.y,
            right: t.x + t.width,
            bottom: t.y + t.height
        })
    }

    function Ft(t, e) {
        return "viewport" === e ? Rt(function(t) {
            var e = dt(t),
                i = _t(t),
                n = e.visualViewport,
                o = i.clientWidth,
                s = i.clientHeight,
                r = 0,
                a = 0;
            return n && (o = n.width, s = n.height, /^((?!chrome|android).)*safari/i.test(navigator.userAgent) || (r = n.offsetLeft, a = n.offsetTop)), {
                width: o,
                height: s,
                x: r + Nt(t),
                y: a
            }
        }(t)) : ht(e) ? function(t) {
            var e = $t(t);
            return e.top = e.top + t.clientTop, e.left = e.left + t.clientLeft, e.bottom = e.top + t.clientHeight, e.right = e.left + t.clientWidth, e.width = t.clientWidth, e.height = t.clientHeight, e.x = e.left, e.y = e.top, e
        }(e) : Rt(function(t) {
            var e = _t(t),
                i = Ht(t),
                n = t.ownerDocument.body,
                o = Math.max(e.scrollWidth, e.clientWidth, n ? n.scrollWidth : 0, n ? n.clientWidth : 0),
                s = Math.max(e.scrollHeight, e.clientHeight, n ? n.scrollHeight : 0, n ? n.clientHeight : 0),
                r = -i.scrollLeft + Nt(t),
                a = -i.scrollTop;
            return "rtl" === vt(n || e).direction && (r += Math.max(e.clientWidth, n ? n.clientWidth : 0) - o), {
                width: o,
                height: s,
                x: r,
                y: a
            }
        }(_t(t)))
    }

    function qt(t) {
        return t.split("-")[1]
    }

    function Ut(t) {
        var e, i = t.reference,
            n = t.element,
            o = t.placement,
            s = o ? ft(o) : null,
            r = o ? qt(o) : null,
            a = i.x + i.width / 2 - n.width / 2,
            l = i.y + i.height / 2 - n.height / 2;
        switch (s) {
            case et:
                e = {
                    x: a,
                    y: i.y - n.height
                };
                break;
            case it:
                e = {
                    x: a,
                    y: i.y + i.height
                };
                break;
            case nt:
                e = {
                    x: i.x + i.width,
                    y: l
                };
                break;
            case ot:
                e = {
                    x: i.x - n.width,
                    y: l
                };
                break;
            default:
                e = {
                    x: i.x,
                    y: i.y
                }
        }
        var c = s ? Tt(s) : null;
        if (null != c) {
            var d = "y" === c ? "height" : "width";
            switch (r) {
                case "start":
                    e[c] = Math.floor(e[c]) - Math.floor(i[d] / 2 - n[d] / 2);
                    break;
                case "end":
                    e[c] = Math.floor(e[c]) + Math.ceil(i[d] / 2 - n[d] / 2)
            }
        }
        return e
    }

    function Yt(t, e) {
        void 0 === e && (e = {});
        var i = e,
            n = i.placement,
            o = void 0 === n ? t.placement : n,
            s = i.boundary,
            r = void 0 === s ? "clippingParents" : s,
            a = i.rootBoundary,
            l = void 0 === a ? "viewport" : a,
            c = i.elementContext,
            d = void 0 === c ? "popper" : c,
            u = i.altBoundary,
            h = void 0 !== u && u,
            p = i.padding,
            f = void 0 === p ? 0 : p,
            m = St("number" != typeof f ? f : xt(f, st)),
            g = "popper" === d ? "reference" : "popper",
            v = t.elements.reference,
            y = t.rects.popper,
            _ = t.elements[h ? g : d],
            b = function(t, e, i) {
                var n = "clippingParents" === e ? function(t) {
                        var e = Bt(bt(t)),
                            i = ["absolute", "fixed"].indexOf(vt(t).position) >= 0 && ht(t) ? kt(t) : t;
                        return ut(i) ? e.filter((function(t) {
                            return ut(t) && gt(t, i) && "body" !== ct(t)
                        })) : []
                    }(t) : [].concat(e),
                    o = [].concat(n, [i]),
                    s = o[0],
                    r = o.reduce((function(e, i) {
                        var n = Ft(t, i);
                        return e.top = Math.max(n.top, e.top), e.right = Math.min(n.right, e.right), e.bottom = Math.min(n.bottom, e.bottom), e.left = Math.max(n.left, e.left), e
                    }), Ft(t, s));
                return r.width = r.right - r.left, r.height = r.bottom - r.top, r.x = r.left, r.y = r.top, r
            }(ut(_) ? _ : _.contextElement || _t(t.elements.popper), r, l),
            w = $t(v),
            k = Ut({
                reference: w,
                element: y,
                strategy: "absolute",
                placement: o
            }),
            T = Rt(Object.assign(Object.assign({}, y), k)),
            C = "popper" === d ? T : w,
            S = {
                top: b.top - C.top + m.top,
                bottom: C.bottom - b.bottom + m.bottom,
                left: b.left - C.left + m.left,
                right: C.right - b.right + m.right
            },
            x = t.modifiersData.offset;
        if ("popper" === d && x) {
            var E = x[o];
            Object.keys(S).forEach((function(t) {
                var e = [nt, it].indexOf(t) >= 0 ? 1 : -1,
                    i = [et, it].indexOf(t) >= 0 ? "y" : "x";
                S[t] += E[i] * e
            }))
        }
        return S
    }
    var Qt = {
        name: "flip",
        enabled: !0,
        phase: "main",
        fn: function(t) {
            var e = t.state,
                i = t.options,
                n = t.name;
            if (!e.modifiersData[n]._skip) {
                for (var o = i.mainAxis, s = void 0 === o || o, r = i.altAxis, a = void 0 === r || r, l = i.fallbackPlacements, c = i.padding, d = i.boundary, u = i.rootBoundary, h = i.altBoundary, p = i.flipVariations, f = void 0 === p || p, m = i.allowedAutoPlacements, g = e.options.placement, v = ft(g), y = l || (v !== g && f ? function(t) {
                        if ("auto" === ft(t)) return [];
                        var e = Pt(t);
                        return [jt(t), e, jt(e)]
                    }(g) : [Pt(g)]), _ = [g].concat(y).reduce((function(t, i) {
                        return t.concat("auto" === ft(i) ? function(t, e) {
                            void 0 === e && (e = {});
                            var i = e,
                                n = i.placement,
                                o = i.boundary,
                                s = i.rootBoundary,
                                r = i.padding,
                                a = i.flipVariations,
                                l = i.allowedAutoPlacements,
                                c = void 0 === l ? at : l,
                                d = qt(n),
                                u = d ? a ? rt : rt.filter((function(t) {
                                    return qt(t) === d
                                })) : st,
                                h = u.filter((function(t) {
                                    return c.indexOf(t) >= 0
                                }));
                            0 === h.length && (h = u);
                            var p = h.reduce((function(e, i) {
                                return e[i] = Yt(t, {
                                    placement: i,
                                    boundary: o,
                                    rootBoundary: s,
                                    padding: r
                                })[ft(i)], e
                            }), {});
                            return Object.keys(p).sort((function(t, e) {
                                return p[t] - p[e]
                            }))
                        }(e, {
                            placement: i,
                            boundary: d,
                            rootBoundary: u,
                            padding: c,
                            flipVariations: f,
                            allowedAutoPlacements: m
                        }) : i)
                    }), []), b = e.rects.reference, w = e.rects.popper, k = new Map, T = !0, C = _[0], S = 0; S < _.length; S++) {
                    var x = _[S],
                        E = ft(x),
                        O = "start" === qt(x),
                        I = [et, it].indexOf(E) >= 0,
                        A = I ? "width" : "height",
                        L = Yt(e, {
                            placement: x,
                            boundary: d,
                            rootBoundary: u,
                            altBoundary: h,
                            padding: c
                        }),
                        D = I ? O ? nt : ot : O ? it : et;
                    b[A] > w[A] && (D = Pt(D));
                    var z = Pt(D),
                        P = [];
                    if (s && P.push(L[E] <= 0), a && P.push(L[D] <= 0, L[z] <= 0), P.every((function(t) {
                            return t
                        }))) {
                        C = x, T = !1;
                        break
                    }
                    k.set(x, P)
                }
                if (T)
                    for (var M = function(t) {
                            var e = _.find((function(e) {
                                var i = k.get(e);
                                if (i) return i.slice(0, t).every((function(t) {
                                    return t
                                }))
                            }));
                            if (e) return C = e, "break"
                        }, j = f ? 3 : 1; j > 0 && "break" !== M(j); j--);
                e.placement !== C && (e.modifiersData[n]._skip = !0, e.placement = C, e.reset = !0)
            }
        },
        requiresIfExists: ["offset"],
        data: {
            _skip: !1
        }
    };

    function Vt(t, e, i) {
        return void 0 === i && (i = {
            x: 0,
            y: 0
        }), {
            top: t.top - e.height - i.y,
            right: t.right - e.width + i.x,
            bottom: t.bottom - e.height + i.y,
            left: t.left - e.width - i.x
        }
    }

    function Kt(t) {
        return [et, nt, it, ot].some((function(e) {
            return t[e] >= 0
        }))
    }
    var Xt = {
            name: "hide",
            enabled: !0,
            phase: "main",
            requiresIfExists: ["preventOverflow"],
            fn: function(t) {
                var e = t.state,
                    i = t.name,
                    n = e.rects.reference,
                    o = e.rects.popper,
                    s = e.modifiersData.preventOverflow,
                    r = Yt(e, {
                        elementContext: "reference"
                    }),
                    a = Yt(e, {
                        altBoundary: !0
                    }),
                    l = Vt(r, n),
                    c = Vt(a, o, s),
                    d = Kt(l),
                    u = Kt(c);
                e.modifiersData[i] = {
                    referenceClippingOffsets: l,
                    popperEscapeOffsets: c,
                    isReferenceHidden: d,
                    hasPopperEscaped: u
                }, e.attributes.popper = Object.assign(Object.assign({}, e.attributes.popper), {}, {
                    "data-popper-reference-hidden": d,
                    "data-popper-escaped": u
                })
            }
        },
        Gt = {
            name: "offset",
            enabled: !0,
            phase: "main",
            requires: ["popperOffsets"],
            fn: function(t) {
                var e = t.state,
                    i = t.options,
                    n = t.name,
                    o = i.offset,
                    s = void 0 === o ? [0, 0] : o,
                    r = at.reduce((function(t, i) {
                        return t[i] = function(t, e, i) {
                            var n = ft(t),
                                o = [ot, et].indexOf(n) >= 0 ? -1 : 1,
                                s = "function" == typeof i ? i(Object.assign(Object.assign({}, e), {}, {
                                    placement: t
                                })) : i,
                                r = s[0],
                                a = s[1];
                            return r = r || 0, a = (a || 0) * o, [ot, nt].indexOf(n) >= 0 ? {
                                x: a,
                                y: r
                            } : {
                                x: r,
                                y: a
                            }
                        }(i, e.rects, s), t
                    }), {}),
                    a = r[e.placement],
                    l = a.x,
                    c = a.y;
                null != e.modifiersData.popperOffsets && (e.modifiersData.popperOffsets.x += l, e.modifiersData.popperOffsets.y += c), e.modifiersData[n] = r
            }
        },
        Zt = {
            name: "popperOffsets",
            enabled: !0,
            phase: "read",
            fn: function(t) {
                var e = t.state,
                    i = t.name;
                e.modifiersData[i] = Ut({
                    reference: e.rects.reference,
                    element: e.rects.popper,
                    strategy: "absolute",
                    placement: e.placement
                })
            },
            data: {}
        },
        Jt = {
            name: "preventOverflow",
            enabled: !0,
            phase: "main",
            fn: function(t) {
                var e = t.state,
                    i = t.options,
                    n = t.name,
                    o = i.mainAxis,
                    s = void 0 === o || o,
                    r = i.altAxis,
                    a = void 0 !== r && r,
                    l = i.boundary,
                    c = i.rootBoundary,
                    d = i.altBoundary,
                    u = i.padding,
                    h = i.tether,
                    p = void 0 === h || h,
                    f = i.tetherOffset,
                    m = void 0 === f ? 0 : f,
                    g = Yt(e, {
                        boundary: l,
                        rootBoundary: c,
                        padding: u,
                        altBoundary: d
                    }),
                    v = ft(e.placement),
                    y = qt(e.placement),
                    _ = !y,
                    b = Tt(v),
                    w = "x" === b ? "y" : "x",
                    k = e.modifiersData.popperOffsets,
                    T = e.rects.reference,
                    C = e.rects.popper,
                    S = "function" == typeof m ? m(Object.assign(Object.assign({}, e.rects), {}, {
                        placement: e.placement
                    })) : m,
                    x = {
                        x: 0,
                        y: 0
                    };
                if (k) {
                    if (s) {
                        var E = "y" === b ? et : ot,
                            O = "y" === b ? it : nt,
                            I = "y" === b ? "height" : "width",
                            A = k[b],
                            L = k[b] + g[E],
                            D = k[b] - g[O],
                            z = p ? -C[I] / 2 : 0,
                            P = "start" === y ? T[I] : C[I],
                            M = "start" === y ? -C[I] : -T[I],
                            j = e.elements.arrow,
                            $ = p && j ? mt(j) : {
                                width: 0,
                                height: 0
                            },
                            H = e.modifiersData["arrow#persistent"] ? e.modifiersData["arrow#persistent"].padding : {
                                top: 0,
                                right: 0,
                                bottom: 0,
                                left: 0
                            },
                            N = H[E],
                            W = H[O],
                            B = Ct(0, T[I], $[I]),
                            R = _ ? T[I] / 2 - z - B - N - S : P - B - N - S,
                            F = _ ? -T[I] / 2 + z + B + W + S : M + B + W + S,
                            q = e.elements.arrow && kt(e.elements.arrow),
                            U = q ? "y" === b ? q.clientTop || 0 : q.clientLeft || 0 : 0,
                            Y = e.modifiersData.offset ? e.modifiersData.offset[e.placement][b] : 0,
                            Q = k[b] + R - Y - U,
                            V = k[b] + F - Y,
                            K = Ct(p ? Math.min(L, Q) : L, A, p ? Math.max(D, V) : D);
                        k[b] = K, x[b] = K - A
                    }
                    if (a) {
                        var X = "x" === b ? et : ot,
                            G = "x" === b ? it : nt,
                            Z = k[w],
                            J = Ct(Z + g[X], Z, Z - g[G]);
                        k[w] = J, x[w] = J - Z
                    }
                    e.modifiersData[n] = x
                }
            },
            requiresIfExists: ["offset"]
        };

    function te(t, e, i) {
        void 0 === i && (i = !1);
        var n, o, s = _t(e),
            r = $t(t),
            a = ht(e),
            l = {
                scrollLeft: 0,
                scrollTop: 0
            },
            c = {
                x: 0,
                y: 0
            };
        return (a || !a && !i) && (("body" !== ct(e) || Wt(s)) && (l = (n = e) !== dt(n) && ht(n) ? {
            scrollLeft: (o = n).scrollLeft,
            scrollTop: o.scrollTop
        } : Ht(n)), ht(e) ? ((c = $t(e)).x += e.clientLeft, c.y += e.clientTop) : s && (c.x = Nt(s))), {
            x: r.left + l.scrollLeft - c.x,
            y: r.top + l.scrollTop - c.y,
            width: r.width,
            height: r.height
        }
    }
    var ee = {
        placement: "bottom",
        modifiers: [],
        strategy: "absolute"
    };

    function ie() {
        for (var t = arguments.length, e = new Array(t), i = 0; i < t; i++) e[i] = arguments[i];
        return !e.some((function(t) {
            return !(t && "function" == typeof t.getBoundingClientRect)
        }))
    }

    function ne(t) {
        void 0 === t && (t = {});
        var e = t,
            i = e.defaultModifiers,
            n = void 0 === i ? [] : i,
            o = e.defaultOptions,
            s = void 0 === o ? ee : o;
        return function(t, e, i) {
            void 0 === i && (i = s);
            var o, r, a = {
                    placement: "bottom",
                    orderedModifiers: [],
                    options: Object.assign(Object.assign({}, ee), s),
                    modifiersData: {},
                    elements: {
                        reference: t,
                        popper: e
                    },
                    attributes: {},
                    styles: {}
                },
                l = [],
                c = !1,
                d = {
                    state: a,
                    setOptions: function(i) {
                        u(), a.options = Object.assign(Object.assign(Object.assign({}, s), a.options), i), a.scrollParents = {
                            reference: ut(t) ? Bt(t) : t.contextElement ? Bt(t.contextElement) : [],
                            popper: Bt(e)
                        };
                        var o, r, c = function(t) {
                            var e = function(t) {
                                var e = new Map,
                                    i = new Set,
                                    n = [];
                                return t.forEach((function(t) {
                                    e.set(t.name, t)
                                })), t.forEach((function(t) {
                                    i.has(t.name) || function t(o) {
                                        i.add(o.name), [].concat(o.requires || [], o.requiresIfExists || []).forEach((function(n) {
                                            if (!i.has(n)) {
                                                var o = e.get(n);
                                                o && t(o)
                                            }
                                        })), n.push(o)
                                    }(t)
                                })), n
                            }(t);
                            return lt.reduce((function(t, i) {
                                return t.concat(e.filter((function(t) {
                                    return t.phase === i
                                })))
                            }), [])
                        }((o = [].concat(n, a.options.modifiers), r = o.reduce((function(t, e) {
                            var i = t[e.name];
                            return t[e.name] = i ? Object.assign(Object.assign(Object.assign({}, i), e), {}, {
                                options: Object.assign(Object.assign({}, i.options), e.options),
                                data: Object.assign(Object.assign({}, i.data), e.data)
                            }) : e, t
                        }), {}), Object.keys(r).map((function(t) {
                            return r[t]
                        }))));
                        return a.orderedModifiers = c.filter((function(t) {
                            return t.enabled
                        })), a.orderedModifiers.forEach((function(t) {
                            var e = t.name,
                                i = t.options,
                                n = void 0 === i ? {} : i,
                                o = t.effect;
                            if ("function" == typeof o) {
                                var s = o({
                                    state: a,
                                    name: e,
                                    instance: d,
                                    options: n
                                });
                                l.push(s || function() {})
                            }
                        })), d.update()
                    },
                    forceUpdate: function() {
                        if (!c) {
                            var t = a.elements,
                                e = t.reference,
                                i = t.popper;
                            if (ie(e, i)) {
                                a.rects = {
                                    reference: te(e, kt(i), "fixed" === a.options.strategy),
                                    popper: mt(i)
                                }, a.reset = !1, a.placement = a.options.placement, a.orderedModifiers.forEach((function(t) {
                                    return a.modifiersData[t.name] = Object.assign({}, t.data)
                                }));
                                for (var n = 0; n < a.orderedModifiers.length; n++)
                                    if (!0 !== a.reset) {
                                        var o = a.orderedModifiers[n],
                                            s = o.fn,
                                            r = o.options,
                                            l = void 0 === r ? {} : r,
                                            u = o.name;
                                        "function" == typeof s && (a = s({
                                            state: a,
                                            options: l,
                                            name: u,
                                            instance: d
                                        }) || a)
                                    } else a.reset = !1, n = -1
                            }
                        }
                    },
                    update: (o = function() {
                        return new Promise((function(t) {
                            d.forceUpdate(), t(a)
                        }))
                    }, function() {
                        return r || (r = new Promise((function(t) {
                            Promise.resolve().then((function() {
                                r = void 0, t(o())
                            }))
                        }))), r
                    }),
                    destroy: function() {
                        u(), c = !0
                    }
                };
            if (!ie(t, e)) return d;

            function u() {
                l.forEach((function(t) {
                    return t()
                })), l = []
            }
            return d.setOptions(i).then((function(t) {
                !c && i.onFirstUpdate && i.onFirstUpdate(t)
            })), d
        }
    }
    var oe = ne(),
        se = ne({
            defaultModifiers: [Dt, Zt, At, pt]
        }),
        re = ne({
            defaultModifiers: [Dt, Zt, At, pt, Gt, Qt, Jt, Et, Xt]
        }),
        ae = Object.freeze({
            __proto__: null,
            popperGenerator: ne,
            detectOverflow: Yt,
            createPopperBase: oe,
            createPopper: re,
            createPopperLite: se,
            top: et,
            bottom: it,
            right: nt,
            left: ot,
            auto: "auto",
            basePlacements: st,
            start: "start",
            end: "end",
            clippingParents: "clippingParents",
            viewport: "viewport",
            popper: "popper",
            reference: "reference",
            variationPlacements: rt,
            placements: at,
            beforeRead: "beforeRead",
            read: "read",
            afterRead: "afterRead",
            beforeMain: "beforeMain",
            main: "main",
            afterMain: "afterMain",
            beforeWrite: "beforeWrite",
            write: "write",
            afterWrite: "afterWrite",
            modifierPhases: lt,
            applyStyles: pt,
            arrow: Et,
            computeStyles: At,
            eventListeners: Dt,
            flip: Qt,
            hide: Xt,
            offset: Gt,
            popperOffsets: Zt,
            preventOverflow: Jt
        }),
        le = "dropdown",
        ce = new RegExp("ArrowUp|ArrowDown|Escape"),
        de = b ? "top-end" : "top-start",
        ue = b ? "top-start" : "top-end",
        he = b ? "bottom-end" : "bottom-start",
        pe = b ? "bottom-start" : "bottom-end",
        fe = b ? "left-start" : "right-start",
        me = b ? "right-start" : "left-start",
        ge = {
            offset: 0,
            flip: !0,
            boundary: "clippingParents",
            reference: "toggle",
            display: "dynamic",
            popperConfig: null
        },
        ve = {
            offset: "(number|string|function)",
            flip: "boolean",
            boundary: "(string|element)",
            reference: "(string|element)",
            display: "string",
            popperConfig: "(null|object)"
        },
        ye = function(t) {
            function o(e, i) {
                var n;
                return (n = t.call(this, e) || this)._popper = null, n._config = n._getConfig(i), n._menu = n._getMenuElement(), n._inNavbar = n._detectNavbar(), n._addEventListeners(), n
            }
            n(o, t);
            var s = o.prototype;
            return s.toggle = function() {
                if (!this._element.disabled && !this._element.classList.contains("disabled")) {
                    var t = this._element.classList.contains("show");
                    o.clearMenus(), t || this.show()
                }
            }, s.show = function() {
                if (!(this._element.disabled || this._element.classList.contains("disabled") || this._menu.classList.contains("show"))) {
                    var t = o.getParentFromElement(this._element),
                        e = {
                            relatedTarget: this._element
                        };
                    if (!$.trigger(this._element, "show.bs.dropdown", e).defaultPrevented) {
                        if (!this._inNavbar) {
                            if (void 0 === ae) throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");
                            var i = this._element;
                            "parent" === this._config.reference ? i = t : h(this._config.reference) && (i = this._config.reference, void 0 !== this._config.reference.jquery && (i = this._config.reference[0])), this._popper = re(i, this._menu, this._getPopperConfig())
                        }
                        var n;
                        "ontouchstart" in document.documentElement && !t.closest(".navbar-nav") && (n = []).concat.apply(n, document.body.children).forEach((function(t) {
                            return $.on(t, "mouseover", null, (function() {}))
                        })), this._element.focus(), this._element.setAttribute("aria-expanded", !0), this._menu.classList.toggle("show"), this._element.classList.toggle("show"), $.trigger(t, "shown.bs.dropdown", e)
                    }
                }
            }, s.hide = function() {
                if (!this._element.disabled && !this._element.classList.contains("disabled") && this._menu.classList.contains("show")) {
                    var t = o.getParentFromElement(this._element),
                        e = {
                            relatedTarget: this._element
                        };
                    $.trigger(t, "hide.bs.dropdown", e).defaultPrevented || (this._popper && this._popper.destroy(), this._menu.classList.toggle("show"), this._element.classList.toggle("show"), $.trigger(t, "hidden.bs.dropdown", e))
                }
            }, s.dispose = function() {
                t.prototype.dispose.call(this), $.off(this._element, ".bs.dropdown"), this._menu = null, this._popper && (this._popper.destroy(), this._popper = null)
            }, s.update = function() {
                this._inNavbar = this._detectNavbar(), this._popper && this._popper.update()
            }, s._addEventListeners = function() {
                var t = this;
                $.on(this._element, "click.bs.dropdown", (function(e) {
                    e.preventDefault(), e.stopPropagation(), t.toggle()
                }))
            }, s._getConfig = function(t) {
                return t = i({}, this.constructor.Default, q.getDataAttributes(this._element), t), f(le, t, this.constructor.DefaultType), t
            }, s._getMenuElement = function() {
                return U.next(this._element, ".dropdown-menu")[0]
            }, s._getPlacement = function() {
                var t = this._element.parentNode;
                if (t.classList.contains("dropend")) return fe;
                if (t.classList.contains("dropstart")) return me;
                var e = "end" === getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();
                return t.classList.contains("dropup") ? e ? ue : de : e ? pe : he
            }, s._detectNavbar = function() {
                return null !== this._element.closest(".navbar")
            }, s._getPopperConfig = function() {
                var t = {
                    placement: this._getPlacement(),
                    modifiers: [{
                        name: "preventOverflow",
                        options: {
                            altBoundary: this._config.flip,
                            rootBoundary: this._config.boundary
                        }
                    }]
                };
                return "static" === this._config.display && (t.modifiers = [{
                    name: "applyStyles",
                    enabled: !1
                }]), i({}, t, this._config.popperConfig)
            }, o.dropdownInterface = function(t, e) {
                var i = T(t, "bs.dropdown");
                if (i || (i = new o(t, "object" == typeof e ? e : null)), "string" == typeof e) {
                    if (void 0 === i[e]) throw new TypeError('No method named "' + e + '"');
                    i[e]()
                }
            }, o.jQueryInterface = function(t) {
                return this.each((function() {
                    o.dropdownInterface(this, t)
                }))
            }, o.clearMenus = function(t) {
                if (!t || 2 !== t.button && ("keyup" !== t.type || "Tab" === t.key))
                    for (var e = U.find('[data-bs-toggle="dropdown"]'), i = 0, n = e.length; i < n; i++) {
                        var s = o.getParentFromElement(e[i]),
                            r = T(e[i], "bs.dropdown"),
                            a = {
                                relatedTarget: e[i]
                            };
                        if (t && "click" === t.type && (a.clickEvent = t), r) {
                            var l, c = r._menu;
                            if (e[i].classList.contains("show") && !(t && ("click" === t.type && /input|textarea/i.test(t.target.tagName) || "keyup" === t.type && "Tab" === t.key) && c.contains(t.target) || $.trigger(s, "hide.bs.dropdown", a).defaultPrevented)) "ontouchstart" in document.documentElement && (l = []).concat.apply(l, document.body.children).forEach((function(t) {
                                return $.off(t, "mouseover", null, (function() {}))
                            })), e[i].setAttribute("aria-expanded", "false"), r._popper && r._popper.destroy(), c.classList.remove("show"), e[i].classList.remove("show"), $.trigger(s, "hidden.bs.dropdown", a)
                        }
                    }
            }, o.getParentFromElement = function(t) {
                return c(t) || t.parentNode
            }, o.dataApiKeydownHandler = function(t) {
                if (!(/input|textarea/i.test(t.target.tagName) ? "Space" === t.key || "Escape" !== t.key && ("ArrowDown" !== t.key && "ArrowUp" !== t.key || t.target.closest(".dropdown-menu")) : !ce.test(t.key)) && (t.preventDefault(), t.stopPropagation(), !this.disabled && !this.classList.contains("disabled"))) {
                    var e = o.getParentFromElement(this),
                        i = this.classList.contains("show");
                    if ("Escape" === t.key) return (this.matches('[data-bs-toggle="dropdown"]') ? this : U.prev(this, '[data-bs-toggle="dropdown"]')[0]).focus(), void o.clearMenus();
                    if (i && "Space" !== t.key) {
                        var n = U.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)", e).filter(m);
                        if (n.length) {
                            var s = n.indexOf(t.target);
                            "ArrowUp" === t.key && s > 0 && s--, "ArrowDown" === t.key && s < n.length - 1 && s++, n[s = -1 === s ? 0 : s].focus()
                        }
                    } else o.clearMenus()
                }
            }, e(o, null, [{
                key: "Default",
                get: function() {
                    return ge
                }
            }, {
                key: "DefaultType",
                get: function() {
                    return ve
                }
            }, {
                key: "DATA_KEY",
                get: function() {
                    return "bs.dropdown"
                }
            }]), o
        }(H);
    $.on(document, "keydown.bs.dropdown.data-api", '[data-bs-toggle="dropdown"]', ye.dataApiKeydownHandler), $.on(document, "keydown.bs.dropdown.data-api", ".dropdown-menu", ye.dataApiKeydownHandler), $.on(document, "click.bs.dropdown.data-api", ye.clearMenus), $.on(document, "keyup.bs.dropdown.data-api", ye.clearMenus), $.on(document, "click.bs.dropdown.data-api", '[data-bs-toggle="dropdown"]', (function(t) {
        t.preventDefault(), t.stopPropagation(), ye.dropdownInterface(this, "toggle")
    })), $.on(document, "click.bs.dropdown.data-api", ".dropdown form", (function(t) {
        return t.stopPropagation()
    })), _((function() {
        var t = y();
        if (t) {
            var e = t.fn[le];
            t.fn[le] = ye.jQueryInterface, t.fn[le].Constructor = ye, t.fn[le].noConflict = function() {
                return t.fn[le] = e, ye.jQueryInterface
            }
        }
    }));
    var _e = {
            backdrop: !0,
            keyboard: !0,
            focus: !0
        },
        be = {
            backdrop: "(boolean|string)",
            keyboard: "boolean",
            focus: "boolean"
        },
        we = function(t) {
            function o(e, i) {
                var n;
                return (n = t.call(this, e) || this)._config = n._getConfig(i), n._dialog = U.findOne(".modal-dialog", e), n._backdrop = null, n._isShown = !1, n._isBodyOverflowing = !1, n._ignoreBackdropClick = !1, n._isTransitioning = !1, n._scrollbarWidth = 0, n
            }
            n(o, t);
            var s = o.prototype;
            return s.toggle = function(t) {
                return this._isShown ? this.hide() : this.show(t)
            }, s.show = function(t) {
                var e = this;
                if (!this._isShown && !this._isTransitioning) {
                    this._element.classList.contains("fade") && (this._isTransitioning = !0);
                    var i = $.trigger(this._element, "show.bs.modal", {
                        relatedTarget: t
                    });
                    this._isShown || i.defaultPrevented || (this._isShown = !0, this._checkScrollbar(), this._setScrollbar(), this._adjustDialog(), this._setEscapeEvent(), this._setResizeEvent(), $.on(this._element, "click.dismiss.bs.modal", '[data-bs-dismiss="modal"]', (function(t) {
                        return e.hide(t)
                    })), $.on(this._dialog, "mousedown.dismiss.bs.modal", (function() {
                        $.one(e._element, "mouseup.dismiss.bs.modal", (function(t) {
                            t.target === e._element && (e._ignoreBackdropClick = !0)
                        }))
                    })), this._showBackdrop((function() {
                        return e._showElement(t)
                    })))
                }
            }, s.hide = function(t) {
                var e = this;
                if (t && t.preventDefault(), this._isShown && !this._isTransitioning && !$.trigger(this._element, "hide.bs.modal").defaultPrevented) {
                    this._isShown = !1;
                    var i = this._element.classList.contains("fade");
                    if (i && (this._isTransitioning = !0), this._setEscapeEvent(), this._setResizeEvent(), $.off(document, "focusin.bs.modal"), this._element.classList.remove("show"), $.off(this._element, "click.dismiss.bs.modal"), $.off(this._dialog, "mousedown.dismiss.bs.modal"), i) {
                        var n = d(this._element);
                        $.one(this._element, "transitionend", (function(t) {
                            return e._hideModal(t)
                        })), p(this._element, n)
                    } else this._hideModal()
                }
            }, s.dispose = function() {
                [window, this._element, this._dialog].forEach((function(t) {
                    return $.off(t, ".bs.modal")
                })), t.prototype.dispose.call(this), $.off(document, "focusin.bs.modal"), this._config = null, this._dialog = null, this._backdrop = null, this._isShown = null, this._isBodyOverflowing = null, this._ignoreBackdropClick = null, this._isTransitioning = null, this._scrollbarWidth = null
            }, s.handleUpdate = function() {
                this._adjustDialog()
            }, s._getConfig = function(t) {
                return t = i({}, _e, t), f("modal", t, be), t
            }, s._showElement = function(t) {
                var e = this,
                    i = this._element.classList.contains("fade"),
                    n = U.findOne(".modal-body", this._dialog);
                this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE || document.body.appendChild(this._element), this._element.style.display = "block", this._element.removeAttribute("aria-hidden"), this._element.setAttribute("aria-modal", !0), this._element.setAttribute("role", "dialog"), this._element.scrollTop = 0, n && (n.scrollTop = 0), i && v(this._element), this._element.classList.add("show"), this._config.focus && this._enforceFocus();
                var o = function() {
                    e._config.focus && e._element.focus(), e._isTransitioning = !1, $.trigger(e._element, "shown.bs.modal", {
                        relatedTarget: t
                    })
                };
                if (i) {
                    var s = d(this._dialog);
                    $.one(this._dialog, "transitionend", o), p(this._dialog, s)
                } else o()
            }, s._enforceFocus = function() {
                var t = this;
                $.off(document, "focusin.bs.modal"), $.on(document, "focusin.bs.modal", (function(e) {
                    document === e.target || t._element === e.target || t._element.contains(e.target) || t._element.focus()
                }))
            }, s._setEscapeEvent = function() {
                var t = this;
                this._isShown ? $.on(this._element, "keydown.dismiss.bs.modal", (function(e) {
                    t._config.keyboard && "Escape" === e.key ? (e.preventDefault(), t.hide()) : t._config.keyboard || "Escape" !== e.key || t._triggerBackdropTransition()
                })) : $.off(this._element, "keydown.dismiss.bs.modal")
            }, s._setResizeEvent = function() {
                var t = this;
                this._isShown ? $.on(window, "resize.bs.modal", (function() {
                    return t._adjustDialog()
                })) : $.off(window, "resize.bs.modal")
            }, s._hideModal = function() {
                var t = this;
                this._element.style.display = "none", this._element.setAttribute("aria-hidden", !0), this._element.removeAttribute("aria-modal"), this._element.removeAttribute("role"), this._isTransitioning = !1, this._showBackdrop((function() {
                    document.body.classList.remove("modal-open"), t._resetAdjustments(), t._resetScrollbar(), $.trigger(t._element, "hidden.bs.modal")
                }))
            }, s._removeBackdrop = function() {
                this._backdrop.parentNode.removeChild(this._backdrop), this._backdrop = null
            }, s._showBackdrop = function(t) {
                var e = this,
                    i = this._element.classList.contains("fade") ? "fade" : "";
                if (this._isShown && this._config.backdrop) {
                    if (this._backdrop = document.createElement("div"), this._backdrop.className = "modal-backdrop", i && this._backdrop.classList.add(i), document.body.appendChild(this._backdrop), $.on(this._element, "click.dismiss.bs.modal", (function(t) {
                            e._ignoreBackdropClick ? e._ignoreBackdropClick = !1 : t.target === t.currentTarget && ("static" === e._config.backdrop ? e._triggerBackdropTransition() : e.hide())
                        })), i && v(this._backdrop), this._backdrop.classList.add("show"), !i) return void t();
                    var n = d(this._backdrop);
                    $.one(this._backdrop, "transitionend", t), p(this._backdrop, n)
                } else if (!this._isShown && this._backdrop) {
                    this._backdrop.classList.remove("show");
                    var o = function() {
                        e._removeBackdrop(), t()
                    };
                    if (this._element.classList.contains("fade")) {
                        var s = d(this._backdrop);
                        $.one(this._backdrop, "transitionend", o), p(this._backdrop, s)
                    } else o()
                } else t()
            }, s._triggerBackdropTransition = function() {
                var t = this;
                if (!$.trigger(this._element, "hidePrevented.bs.modal").defaultPrevented) {
                    var e = this._element.scrollHeight > document.documentElement.clientHeight;
                    e || (this._element.style.overflowY = "hidden"), this._element.classList.add("modal-static");
                    var i = d(this._dialog);
                    $.off(this._element, "transitionend"), $.one(this._element, "transitionend", (function() {
                        t._element.classList.remove("modal-static"), e || ($.one(t._element, "transitionend", (function() {
                            t._element.style.overflowY = ""
                        })), p(t._element, i))
                    })), p(this._element, i), this._element.focus()
                }
            }, s._adjustDialog = function() {
                var t = this._element.scrollHeight > document.documentElement.clientHeight;
                (!this._isBodyOverflowing && t && !b || this._isBodyOverflowing && !t && b) && (this._element.style.paddingLeft = this._scrollbarWidth + "px"), (this._isBodyOverflowing && !t && !b || !this._isBodyOverflowing && t && b) && (this._element.style.paddingRight = this._scrollbarWidth + "px")
            }, s._resetAdjustments = function() {
                this._element.style.paddingLeft = "", this._element.style.paddingRight = ""
            }, s._checkScrollbar = function() {
                var t = document.body.getBoundingClientRect();
                this._isBodyOverflowing = Math.round(t.left + t.right) < window.innerWidth, this._scrollbarWidth = this._getScrollbarWidth()
            }, s._setScrollbar = function() {
                var t = this;
                if (this._isBodyOverflowing) {
                    U.find(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top").forEach((function(e) {
                        var i = e.style.paddingRight,
                            n = window.getComputedStyle(e)["padding-right"];
                        q.setDataAttribute(e, "padding-right", i), e.style.paddingRight = Number.parseFloat(n) + t._scrollbarWidth + "px"
                    })), U.find(".sticky-top").forEach((function(e) {
                        var i = e.style.marginRight,
                            n = window.getComputedStyle(e)["margin-right"];
                        q.setDataAttribute(e, "margin-right", i), e.style.marginRight = Number.parseFloat(n) - t._scrollbarWidth + "px"
                    }));
                    var e = document.body.style.paddingRight,
                        i = window.getComputedStyle(document.body)["padding-right"];
                    q.setDataAttribute(document.body, "padding-right", e), document.body.style.paddingRight = Number.parseFloat(i) + this._scrollbarWidth + "px"
                }
                document.body.classList.add("modal-open")
            }, s._resetScrollbar = function() {
                U.find(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top").forEach((function(t) {
                    var e = q.getDataAttribute(t, "padding-right");
                    void 0 !== e && (q.removeDataAttribute(t, "padding-right"), t.style.paddingRight = e)
                })), U.find(".sticky-top").forEach((function(t) {
                    var e = q.getDataAttribute(t, "margin-right");
                    void 0 !== e && (q.removeDataAttribute(t, "margin-right"), t.style.marginRight = e)
                }));
                var t = q.getDataAttribute(document.body, "padding-right");
                void 0 === t ? document.body.style.paddingRight = "" : (q.removeDataAttribute(document.body, "padding-right"), document.body.style.paddingRight = t)
            }, s._getScrollbarWidth = function() {
                var t = document.createElement("div");
                t.className = "modal-scrollbar-measure", document.body.appendChild(t);
                var e = t.getBoundingClientRect().width - t.clientWidth;
                return document.body.removeChild(t), e
            }, o.jQueryInterface = function(t, e) {
                return this.each((function() {
                    var n = T(this, "bs.modal"),
                        s = i({}, _e, q.getDataAttributes(this), "object" == typeof t && t ? t : {});
                    if (n || (n = new o(this, s)), "string" == typeof t) {
                        if (void 0 === n[t]) throw new TypeError('No method named "' + t + '"');
                        n[t](e)
                    }
                }))
            }, e(o, null, [{
                key: "Default",
                get: function() {
                    return _e
                }
            }, {
                key: "DATA_KEY",
                get: function() {
                    return "bs.modal"
                }
            }]), o
        }(H);
    $.on(document, "click.bs.modal.data-api", '[data-bs-toggle="modal"]', (function(t) {
        var e = this,
            n = c(this);
        "A" !== this.tagName && "AREA" !== this.tagName || t.preventDefault(), $.one(n, "show.bs.modal", (function(t) {
            t.defaultPrevented || $.one(n, "hidden.bs.modal", (function() {
                m(e) && e.focus()
            }))
        }));
        var o = T(n, "bs.modal");
        if (!o) {
            var s = i({}, q.getDataAttributes(n), q.getDataAttributes(this));
            o = new we(n, s)
        }
        o.show(this)
    })), _((function() {
        var t = y();
        if (t) {
            var e = t.fn.modal;
            t.fn.modal = we.jQueryInterface, t.fn.modal.Constructor = we, t.fn.modal.noConflict = function() {
                return t.fn.modal = e, we.jQueryInterface
            }
        }
    }));
    var ke = new Set(["background", "cite", "href", "itemtype", "longdesc", "poster", "src", "xlink:href"]),
        Te = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi,
        Ce = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i;

    function Se(t, e, i) {
        var n;
        if (!t.length) return t;
        if (i && "function" == typeof i) return i(t);
        for (var o = (new window.DOMParser).parseFromString(t, "text/html"), s = Object.keys(e), r = (n = []).concat.apply(n, o.body.querySelectorAll("*")), a = function(t, i) {
                var n, o = r[t],
                    a = o.nodeName.toLowerCase();
                if (!s.includes(a)) return o.parentNode.removeChild(o), "continue";
                var l = (n = []).concat.apply(n, o.attributes),
                    c = [].concat(e["*"] || [], e[a] || []);
                l.forEach((function(t) {
                    (function(t, e) {
                        var i = t.nodeName.toLowerCase();
                        if (e.includes(i)) return !ke.has(i) || Boolean(t.nodeValue.match(Te) || t.nodeValue.match(Ce));
                        for (var n = e.filter((function(t) {
                                return t instanceof RegExp
                            })), o = 0, s = n.length; o < s; o++)
                            if (i.match(n[o])) return !0;
                        return !1
                    })(t, c) || o.removeAttribute(t.nodeName)
                }))
            }, l = 0, c = r.length; l < c; l++) a(l);
        return o.body.innerHTML
    }
    var xe = "tooltip",
        Ee = new RegExp("(^|\\s)bs-tooltip\\S+", "g"),
        Oe = new Set(["sanitize", "allowList", "sanitizeFn"]),
        Ie = {
            animation: "boolean",
            template: "string",
            title: "(string|element|function)",
            trigger: "string",
            delay: "(number|object)",
            html: "boolean",
            selector: "(string|boolean)",
            placement: "(string|function)",
            container: "(string|element|boolean)",
            fallbackPlacements: "(null|array)",
            boundary: "(string|element)",
            customClass: "(string|function)",
            sanitize: "boolean",
            sanitizeFn: "(null|function)",
            allowList: "object",
            popperConfig: "(null|object)"
        },
        Ae = {
            AUTO: "auto",
            TOP: "top",
            RIGHT: b ? "left" : "right",
            BOTTOM: "bottom",
            LEFT: b ? "right" : "left"
        },
        Le = {
            animation: !0,
            template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
            trigger: "hover focus",
            title: "",
            delay: 0,
            html: !1,
            selector: !1,
            placement: "top",
            container: !1,
            fallbackPlacements: null,
            boundary: "clippingParents",
            customClass: "",
            sanitize: !0,
            sanitizeFn: null,
            allowList: {
                "*": ["class", "dir", "id", "lang", "role", /^aria-[\w-]*$/i],
                a: ["target", "href", "title", "rel"],
                area: [],
                b: [],
                br: [],
                col: [],
                code: [],
                div: [],
                em: [],
                hr: [],
                h1: [],
                h2: [],
                h3: [],
                h4: [],
                h5: [],
                h6: [],
                i: [],
                img: ["src", "srcset", "alt", "title", "width", "height"],
                li: [],
                ol: [],
                p: [],
                pre: [],
                s: [],
                small: [],
                span: [],
                sub: [],
                sup: [],
                strong: [],
                u: [],
                ul: []
            },
            popperConfig: null
        },
        De = {
            HIDE: "hide.bs.tooltip",
            HIDDEN: "hidden.bs.tooltip",
            SHOW: "show.bs.tooltip",
            SHOWN: "shown.bs.tooltip",
            INSERTED: "inserted.bs.tooltip",
            CLICK: "click.bs.tooltip",
            FOCUSIN: "focusin.bs.tooltip",
            FOCUSOUT: "focusout.bs.tooltip",
            MOUSEENTER: "mouseenter.bs.tooltip",
            MOUSELEAVE: "mouseleave.bs.tooltip"
        },
        ze = function(t) {
            function o(e, i) {
                var n;
                if (void 0 === ae) throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");
                return (n = t.call(this, e) || this)._isEnabled = !0, n._timeout = 0, n._hoverState = "", n._activeTrigger = {}, n._popper = null, n.config = n._getConfig(i), n.tip = null, n._setListeners(), n
            }
            n(o, t);
            var s = o.prototype;
            return s.enable = function() {
                this._isEnabled = !0
            }, s.disable = function() {
                this._isEnabled = !1
            }, s.toggleEnabled = function() {
                this._isEnabled = !this._isEnabled
            }, s.toggle = function(t) {
                if (this._isEnabled)
                    if (t) {
                        var e = this.constructor.DATA_KEY,
                            i = T(t.delegateTarget, e);
                        i || (i = new this.constructor(t.delegateTarget, this._getDelegateConfig()), k(t.delegateTarget, e, i)), i._activeTrigger.click = !i._activeTrigger.click, i._isWithActiveTrigger() ? i._enter(null, i) : i._leave(null, i)
                    } else {
                        if (this.getTipElement().classList.contains("show")) return void this._leave(null, this);
                        this._enter(null, this)
                    }
            }, s.dispose = function() {
                clearTimeout(this._timeout), $.off(this._element, this.constructor.EVENT_KEY), $.off(this._element.closest(".modal"), "hide.bs.modal", this._hideModalHandler), this.tip && this.tip.parentNode.removeChild(this.tip), this._isEnabled = null, this._timeout = null, this._hoverState = null, this._activeTrigger = null, this._popper && this._popper.destroy(), this._popper = null, this.config = null, this.tip = null, t.prototype.dispose.call(this)
            }, s.show = function() {
                var t = this;
                if ("none" === this._element.style.display) throw new Error("Please use show on visible elements");
                if (this.isWithContent() && this._isEnabled) {
                    var e = $.trigger(this._element, this.constructor.Event.SHOW),
                        i = function t(e) {
                            if (!document.documentElement.attachShadow) return null;
                            if ("function" == typeof e.getRootNode) {
                                var i = e.getRootNode();
                                return i instanceof ShadowRoot ? i : null
                            }
                            return e instanceof ShadowRoot ? e : e.parentNode ? t(e.parentNode) : null
                        }(this._element),
                        n = null === i ? this._element.ownerDocument.documentElement.contains(this._element) : i.contains(this._element);
                    if (e.defaultPrevented || !n) return;
                    var o = this.getTipElement(),
                        s = r(this.constructor.NAME);
                    o.setAttribute("id", s), this._element.setAttribute("aria-describedby", s), this.setContent(), this.config.animation && o.classList.add("fade");
                    var a = "function" == typeof this.config.placement ? this.config.placement.call(this, o, this._element) : this.config.placement,
                        l = this._getAttachment(a);
                    this._addAttachmentClass(l);
                    var c = this._getContainer();
                    k(o, this.constructor.DATA_KEY, this), this._element.ownerDocument.documentElement.contains(this.tip) || c.appendChild(o), $.trigger(this._element, this.constructor.Event.INSERTED), this._popper = re(this._element, o, this._getPopperConfig(l)), o.classList.add("show");
                    var u, h, f = "function" == typeof this.config.customClass ? this.config.customClass() : this.config.customClass;
                    f && (u = o.classList).add.apply(u, f.split(" ")), "ontouchstart" in document.documentElement && (h = []).concat.apply(h, document.body.children).forEach((function(t) {
                        $.on(t, "mouseover", (function() {}))
                    }));
                    var m = function() {
                        var e = t._hoverState;
                        t._hoverState = null, $.trigger(t._element, t.constructor.Event.SHOWN), "out" === e && t._leave(null, t)
                    };
                    if (this.tip.classList.contains("fade")) {
                        var g = d(this.tip);
                        $.one(this.tip, "transitionend", m), p(this.tip, g)
                    } else m()
                }
            }, s.hide = function() {
                var t = this;
                if (this._popper) {
                    var e = this.getTipElement(),
                        i = function() {
                            "show" !== t._hoverState && e.parentNode && e.parentNode.removeChild(e), t._cleanTipClass(), t._element.removeAttribute("aria-describedby"), $.trigger(t._element, t.constructor.Event.HIDDEN), t._popper && (t._popper.destroy(), t._popper = null)
                        };
                    if (!$.trigger(this._element, this.constructor.Event.HIDE).defaultPrevented) {
                        var n;
                        if (e.classList.remove("show"), "ontouchstart" in document.documentElement && (n = []).concat.apply(n, document.body.children).forEach((function(t) {
                                return $.off(t, "mouseover", g)
                            })), this._activeTrigger.click = !1, this._activeTrigger.focus = !1, this._activeTrigger.hover = !1, this.tip.classList.contains("fade")) {
                            var o = d(e);
                            $.one(e, "transitionend", i), p(e, o)
                        } else i();
                        this._hoverState = ""
                    }
                }
            }, s.update = function() {
                null !== this._popper && this._popper.update()
            }, s.isWithContent = function() {
                return Boolean(this.getTitle())
            }, s.getTipElement = function() {
                if (this.tip) return this.tip;
                var t = document.createElement("div");
                return t.innerHTML = this.config.template, this.tip = t.children[0], this.tip
            }, s.setContent = function() {
                var t = this.getTipElement();
                this.setElementContent(U.findOne(".tooltip-inner", t), this.getTitle()), t.classList.remove("fade", "show")
            }, s.setElementContent = function(t, e) {
                if (null !== t) return "object" == typeof e && h(e) ? (e.jquery && (e = e[0]), void(this.config.html ? e.parentNode !== t && (t.innerHTML = "", t.appendChild(e)) : t.textContent = e.textContent)) : void(this.config.html ? (this.config.sanitize && (e = Se(e, this.config.allowList, this.config.sanitizeFn)), t.innerHTML = e) : t.textContent = e)
            }, s.getTitle = function() {
                var t = this._element.getAttribute("data-bs-original-title");
                return t || (t = "function" == typeof this.config.title ? this.config.title.call(this._element) : this.config.title), t
            }, s.updateAttachment = function(t) {
                return "right" === t ? "end" : "left" === t ? "start" : t
            }, s._getPopperConfig = function(t) {
                var e = this,
                    n = {
                        name: "flip",
                        options: {
                            altBoundary: !0
                        }
                    };
                return this.config.fallbackPlacements && (n.options.fallbackPlacements = this.config.fallbackPlacements), i({}, {
                    placement: t,
                    modifiers: [n, {
                        name: "preventOverflow",
                        options: {
                            rootBoundary: this.config.boundary
                        }
                    }, {
                        name: "arrow",
                        options: {
                            element: "." + this.constructor.NAME + "-arrow"
                        }
                    }, {
                        name: "onChange",
                        enabled: !0,
                        phase: "afterWrite",
                        fn: function(t) {
                            return e._handlePopperPlacementChange(t)
                        }
                    }],
                    onFirstUpdate: function(t) {
                        t.options.placement !== t.placement && e._handlePopperPlacementChange(t)
                    }
                }, this.config.popperConfig)
            }, s._addAttachmentClass = function(t) {
                this.getTipElement().classList.add("bs-tooltip-" + this.updateAttachment(t))
            }, s._getContainer = function() {
                return !1 === this.config.container ? document.body : h(this.config.container) ? this.config.container : U.findOne(this.config.container)
            }, s._getAttachment = function(t) {
                return Ae[t.toUpperCase()]
            }, s._setListeners = function() {
                var t = this;
                this.config.trigger.split(" ").forEach((function(e) {
                    if ("click" === e) $.on(t._element, t.constructor.Event.CLICK, t.config.selector, (function(e) {
                        return t.toggle(e)
                    }));
                    else if ("manual" !== e) {
                        var i = "hover" === e ? t.constructor.Event.MOUSEENTER : t.constructor.Event.FOCUSIN,
                            n = "hover" === e ? t.constructor.Event.MOUSELEAVE : t.constructor.Event.FOCUSOUT;
                        $.on(t._element, i, t.config.selector, (function(e) {
                            return t._enter(e)
                        })), $.on(t._element, n, t.config.selector, (function(e) {
                            return t._leave(e)
                        }))
                    }
                })), this._hideModalHandler = function() {
                    t._element && t.hide()
                }, $.on(this._element.closest(".modal"), "hide.bs.modal", this._hideModalHandler), this.config.selector ? this.config = i({}, this.config, {
                    trigger: "manual",
                    selector: ""
                }) : this._fixTitle()
            }, s._fixTitle = function() {
                var t = this._element.getAttribute("title"),
                    e = typeof this._element.getAttribute("data-bs-original-title");
                (t || "string" !== e) && (this._element.setAttribute("data-bs-original-title", t || ""), !t || this._element.getAttribute("aria-label") || this._element.textContent || this._element.setAttribute("aria-label", t), this._element.setAttribute("title", ""))
            }, s._enter = function(t, e) {
                var i = this.constructor.DATA_KEY;
                (e = e || T(t.delegateTarget, i)) || (e = new this.constructor(t.delegateTarget, this._getDelegateConfig()), k(t.delegateTarget, i, e)), t && (e._activeTrigger["focusin" === t.type ? "focus" : "hover"] = !0), e.getTipElement().classList.contains("show") || "show" === e._hoverState ? e._hoverState = "show" : (clearTimeout(e._timeout), e._hoverState = "show", e.config.delay && e.config.delay.show ? e._timeout = setTimeout((function() {
                    "show" === e._hoverState && e.show()
                }), e.config.delay.show) : e.show())
            }, s._leave = function(t, e) {
                var i = this.constructor.DATA_KEY;
                (e = e || T(t.delegateTarget, i)) || (e = new this.constructor(t.delegateTarget, this._getDelegateConfig()), k(t.delegateTarget, i, e)), t && (e._activeTrigger["focusout" === t.type ? "focus" : "hover"] = !1), e._isWithActiveTrigger() || (clearTimeout(e._timeout), e._hoverState = "out", e.config.delay && e.config.delay.hide ? e._timeout = setTimeout((function() {
                    "out" === e._hoverState && e.hide()
                }), e.config.delay.hide) : e.hide())
            }, s._isWithActiveTrigger = function() {
                for (var t in this._activeTrigger)
                    if (this._activeTrigger[t]) return !0;
                return !1
            }, s._getConfig = function(t) {
                var e = q.getDataAttributes(this._element);
                return Object.keys(e).forEach((function(t) {
                    Oe.has(t) && delete e[t]
                })), t && "object" == typeof t.container && t.container.jquery && (t.container = t.container[0]), "number" == typeof(t = i({}, this.constructor.Default, e, "object" == typeof t && t ? t : {})).delay && (t.delay = {
                    show: t.delay,
                    hide: t.delay
                }), "number" == typeof t.title && (t.title = t.title.toString()), "number" == typeof t.content && (t.content = t.content.toString()), f(xe, t, this.constructor.DefaultType), t.sanitize && (t.template = Se(t.template, t.allowList, t.sanitizeFn)), t
            }, s._getDelegateConfig = function() {
                var t = {};
                if (this.config)
                    for (var e in this.config) this.constructor.Default[e] !== this.config[e] && (t[e] = this.config[e]);
                return t
            }, s._cleanTipClass = function() {
                var t = this.getTipElement(),
                    e = t.getAttribute("class").match(Ee);
                null !== e && e.length > 0 && e.map((function(t) {
                    return t.trim()
                })).forEach((function(e) {
                    return t.classList.remove(e)
                }))
            }, s._handlePopperPlacementChange = function(t) {
                var e = t.state;
                e && (this.tip = e.elements.popper, this._cleanTipClass(), this._addAttachmentClass(this._getAttachment(e.placement)))
            }, o.jQueryInterface = function(t) {
                return this.each((function() {
                    var e = T(this, "bs.tooltip"),
                        i = "object" == typeof t && t;
                    if ((e || !/dispose|hide/.test(t)) && (e || (e = new o(this, i)), "string" == typeof t)) {
                        if (void 0 === e[t]) throw new TypeError('No method named "' + t + '"');
                        e[t]()
                    }
                }))
            }, e(o, null, [{
                key: "Default",
                get: function() {
                    return Le
                }
            }, {
                key: "NAME",
                get: function() {
                    return xe
                }
            }, {
                key: "DATA_KEY",
                get: function() {
                    return "bs.tooltip"
                }
            }, {
                key: "Event",
                get: function() {
                    return De
                }
            }, {
                key: "EVENT_KEY",
                get: function() {
                    return ".bs.tooltip"
                }
            }, {
                key: "DefaultType",
                get: function() {
                    return Ie
                }
            }]), o
        }(H);
    _((function() {
        var t = y();
        if (t) {
            var e = t.fn[xe];
            t.fn[xe] = ze.jQueryInterface, t.fn[xe].Constructor = ze, t.fn[xe].noConflict = function() {
                return t.fn[xe] = e, ze.jQueryInterface
            }
        }
    }));
    var Pe = "popover",
        Me = new RegExp("(^|\\s)bs-popover\\S+", "g"),
        je = i({}, ze.Default, {
            placement: "right",
            trigger: "click",
            content: "",
            template: '<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'
        }),
        $e = i({}, ze.DefaultType, {
            content: "(string|element|function)"
        }),
        He = {
            HIDE: "hide.bs.popover",
            HIDDEN: "hidden.bs.popover",
            SHOW: "show.bs.popover",
            SHOWN: "shown.bs.popover",
            INSERTED: "inserted.bs.popover",
            CLICK: "click.bs.popover",
            FOCUSIN: "focusin.bs.popover",
            FOCUSOUT: "focusout.bs.popover",
            MOUSEENTER: "mouseenter.bs.popover",
            MOUSELEAVE: "mouseleave.bs.popover"
        },
        Ne = function(t) {
            function i() {
                return t.apply(this, arguments) || this
            }
            n(i, t);
            var o = i.prototype;
            return o.isWithContent = function() {
                return this.getTitle() || this._getContent()
            }, o.setContent = function() {
                var t = this.getTipElement();
                this.setElementContent(U.findOne(".popover-header", t), this.getTitle());
                var e = this._getContent();
                "function" == typeof e && (e = e.call(this._element)), this.setElementContent(U.findOne(".popover-body", t), e), t.classList.remove("fade", "show")
            }, o._addAttachmentClass = function(t) {
                this.getTipElement().classList.add("bs-popover-" + this.updateAttachment(t))
            }, o._getContent = function() {
                return this._element.getAttribute("data-bs-content") || this.config.content
            }, o._cleanTipClass = function() {
                var t = this.getTipElement(),
                    e = t.getAttribute("class").match(Me);
                null !== e && e.length > 0 && e.map((function(t) {
                    return t.trim()
                })).forEach((function(e) {
                    return t.classList.remove(e)
                }))
            }, i.jQueryInterface = function(t) {
                return this.each((function() {
                    var e = T(this, "bs.popover"),
                        n = "object" == typeof t ? t : null;
                    if ((e || !/dispose|hide/.test(t)) && (e || (e = new i(this, n), k(this, "bs.popover", e)), "string" == typeof t)) {
                        if (void 0 === e[t]) throw new TypeError('No method named "' + t + '"');
                        e[t]()
                    }
                }))
            }, e(i, null, [{
                key: "Default",
                get: function() {
                    return je
                }
            }, {
                key: "NAME",
                get: function() {
                    return Pe
                }
            }, {
                key: "DATA_KEY",
                get: function() {
                    return "bs.popover"
                }
            }, {
                key: "Event",
                get: function() {
                    return He
                }
            }, {
                key: "EVENT_KEY",
                get: function() {
                    return ".bs.popover"
                }
            }, {
                key: "DefaultType",
                get: function() {
                    return $e
                }
            }]), i
        }(ze);
    _((function() {
        var t = y();
        if (t) {
            var e = t.fn[Pe];
            t.fn[Pe] = Ne.jQueryInterface, t.fn[Pe].Constructor = Ne, t.fn[Pe].noConflict = function() {
                return t.fn[Pe] = e, Ne.jQueryInterface
            }
        }
    }));
    var We = "scrollspy",
        Be = {
            offset: 10,
            method: "auto",
            target: ""
        },
        Re = {
            offset: "number",
            method: "string",
            target: "(string|element)"
        },
        Fe = function(t) {
            function o(e, i) {
                var n;
                return (n = t.call(this, e) || this)._scrollElement = "BODY" === e.tagName ? window : e, n._config = n._getConfig(i), n._selector = n._config.target + " .nav-link, " + n._config.target + " .list-group-item, " + n._config.target + " .dropdown-item", n._offsets = [], n._targets = [], n._activeTarget = null, n._scrollHeight = 0, $.on(n._scrollElement, "scroll.bs.scrollspy", (function(t) {
                    return n._process(t)
                })), n.refresh(), n._process(), n
            }
            n(o, t);
            var s = o.prototype;
            return s.refresh = function() {
                var t = this,
                    e = this._scrollElement === this._scrollElement.window ? "offset" : "position",
                    i = "auto" === this._config.method ? e : this._config.method,
                    n = "position" === i ? this._getScrollTop() : 0;
                this._offsets = [], this._targets = [], this._scrollHeight = this._getScrollHeight(), U.find(this._selector).map((function(t) {
                    var e = l(t),
                        o = e ? U.findOne(e) : null;
                    if (o) {
                        var s = o.getBoundingClientRect();
                        if (s.width || s.height) return [q[i](o).top + n, e]
                    }
                    return null
                })).filter((function(t) {
                    return t
                })).sort((function(t, e) {
                    return t[0] - e[0]
                })).forEach((function(e) {
                    t._offsets.push(e[0]), t._targets.push(e[1])
                }))
            }, s.dispose = function() {
                t.prototype.dispose.call(this), $.off(this._scrollElement, ".bs.scrollspy"), this._scrollElement = null, this._config = null, this._selector = null, this._offsets = null, this._targets = null, this._activeTarget = null, this._scrollHeight = null
            }, s._getConfig = function(t) {
                if ("string" != typeof(t = i({}, Be, "object" == typeof t && t ? t : {})).target && h(t.target)) {
                    var e = t.target.id;
                    e || (e = r(We), t.target.id = e), t.target = "#" + e
                }
                return f(We, t, Re), t
            }, s._getScrollTop = function() {
                return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop
            }, s._getScrollHeight = function() {
                return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight)
            }, s._getOffsetHeight = function() {
                return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height
            }, s._process = function() {
                var t = this._getScrollTop() + this._config.offset,
                    e = this._getScrollHeight(),
                    i = this._config.offset + e - this._getOffsetHeight();
                if (this._scrollHeight !== e && this.refresh(), t >= i) {
                    var n = this._targets[this._targets.length - 1];
                    this._activeTarget !== n && this._activate(n)
                } else {
                    if (this._activeTarget && t < this._offsets[0] && this._offsets[0] > 0) return this._activeTarget = null, void this._clear();
                    for (var o = this._offsets.length; o--;) this._activeTarget !== this._targets[o] && t >= this._offsets[o] && (void 0 === this._offsets[o + 1] || t < this._offsets[o + 1]) && this._activate(this._targets[o])
                }
            }, s._activate = function(t) {
                this._activeTarget = t, this._clear();
                var e = this._selector.split(",").map((function(e) {
                        return e + '[data-bs-target="' + t + '"],' + e + '[href="' + t + '"]'
                    })),
                    i = U.findOne(e.join(","));
                i.classList.contains("dropdown-item") ? (U.findOne(".dropdown-toggle", i.closest(".dropdown")).classList.add("active"), i.classList.add("active")) : (i.classList.add("active"), U.parents(i, ".nav, .list-group").forEach((function(t) {
                    U.prev(t, ".nav-link, .list-group-item").forEach((function(t) {
                        return t.classList.add("active")
                    })), U.prev(t, ".nav-item").forEach((function(t) {
                        U.children(t, ".nav-link").forEach((function(t) {
                            return t.classList.add("active")
                        }))
                    }))
                }))), $.trigger(this._scrollElement, "activate.bs.scrollspy", {
                    relatedTarget: t
                })
            }, s._clear = function() {
                U.find(this._selector).filter((function(t) {
                    return t.classList.contains("active")
                })).forEach((function(t) {
                    return t.classList.remove("active")
                }))
            }, o.jQueryInterface = function(t) {
                return this.each((function() {
                    var e = T(this, "bs.scrollspy");
                    if (e || (e = new o(this, "object" == typeof t && t)), "string" == typeof t) {
                        if (void 0 === e[t]) throw new TypeError('No method named "' + t + '"');
                        e[t]()
                    }
                }))
            }, e(o, null, [{
                key: "Default",
                get: function() {
                    return Be
                }
            }, {
                key: "DATA_KEY",
                get: function() {
                    return "bs.scrollspy"
                }
            }]), o
        }(H);
    $.on(window, "load.bs.scrollspy.data-api", (function() {
        U.find('[data-bs-spy="scroll"]').forEach((function(t) {
            return new Fe(t, q.getDataAttributes(t))
        }))
    })), _((function() {
        var t = y();
        if (t) {
            var e = t.fn[We];
            t.fn[We] = Fe.jQueryInterface, t.fn[We].Constructor = Fe, t.fn[We].noConflict = function() {
                return t.fn[We] = e, Fe.jQueryInterface
            }
        }
    }));
    var qe = function(t) {
        function i() {
            return t.apply(this, arguments) || this
        }
        n(i, t);
        var o = i.prototype;
        return o.show = function() {
            var t = this;
            if (!(this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && this._element.classList.contains("active") || this._element.classList.contains("disabled"))) {
                var e, i = c(this._element),
                    n = this._element.closest(".nav, .list-group");
                if (n) {
                    var o = "UL" === n.nodeName || "OL" === n.nodeName ? ":scope > li > .active" : ".active";
                    e = (e = U.find(o, n))[e.length - 1]
                }
                var s = null;
                if (e && (s = $.trigger(e, "hide.bs.tab", {
                        relatedTarget: this._element
                    })), !($.trigger(this._element, "show.bs.tab", {
                        relatedTarget: e
                    }).defaultPrevented || null !== s && s.defaultPrevented)) {
                    this._activate(this._element, n);
                    var r = function() {
                        $.trigger(e, "hidden.bs.tab", {
                            relatedTarget: t._element
                        }), $.trigger(t._element, "shown.bs.tab", {
                            relatedTarget: e
                        })
                    };
                    i ? this._activate(i, i.parentNode, r) : r()
                }
            }
        }, o._activate = function(t, e, i) {
            var n = this,
                o = (!e || "UL" !== e.nodeName && "OL" !== e.nodeName ? U.children(e, ".active") : U.find(":scope > li > .active", e))[0],
                s = i && o && o.classList.contains("fade"),
                r = function() {
                    return n._transitionComplete(t, o, i)
                };
            if (o && s) {
                var a = d(o);
                o.classList.remove("show"), $.one(o, "transitionend", r), p(o, a)
            } else r()
        }, o._transitionComplete = function(t, e, i) {
            if (e) {
                e.classList.remove("active");
                var n = U.findOne(":scope > .dropdown-menu .active", e.parentNode);
                n && n.classList.remove("active"), "tab" === e.getAttribute("role") && e.setAttribute("aria-selected", !1)
            }
            t.classList.add("active"), "tab" === t.getAttribute("role") && t.setAttribute("aria-selected", !0), v(t), t.classList.contains("fade") && t.classList.add("show"), t.parentNode && t.parentNode.classList.contains("dropdown-menu") && (t.closest(".dropdown") && U.find(".dropdown-toggle").forEach((function(t) {
                return t.classList.add("active")
            })), t.setAttribute("aria-expanded", !0)), i && i()
        }, i.jQueryInterface = function(t) {
            return this.each((function() {
                var e = T(this, "bs.tab") || new i(this);
                if ("string" == typeof t) {
                    if (void 0 === e[t]) throw new TypeError('No method named "' + t + '"');
                    e[t]()
                }
            }))
        }, e(i, null, [{
            key: "DATA_KEY",
            get: function() {
                return "bs.tab"
            }
        }]), i
    }(H);
    $.on(document, "click.bs.tab.data-api", '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]', (function(t) {
        t.preventDefault(), (T(this, "bs.tab") || new qe(this)).show()
    })), _((function() {
        var t = y();
        if (t) {
            var e = t.fn.tab;
            t.fn.tab = qe.jQueryInterface, t.fn.tab.Constructor = qe, t.fn.tab.noConflict = function() {
                return t.fn.tab = e, qe.jQueryInterface
            }
        }
    }));
    var Ue = {
            animation: "boolean",
            autohide: "boolean",
            delay: "number"
        },
        Ye = {
            animation: !0,
            autohide: !0,
            delay: 5e3
        },
        Qe = function(t) {
            function o(e, i) {
                var n;
                return (n = t.call(this, e) || this)._config = n._getConfig(i), n._timeout = null, n._setListeners(), n
            }
            n(o, t);
            var s = o.prototype;
            return s.show = function() {
                var t = this;
                if (!$.trigger(this._element, "show.bs.toast").defaultPrevented) {
                    this._clearTimeout(), this._config.animation && this._element.classList.add("fade");
                    var e = function() {
                        t._element.classList.remove("showing"), t._element.classList.add("show"), $.trigger(t._element, "shown.bs.toast"), t._config.autohide && (t._timeout = setTimeout((function() {
                            t.hide()
                        }), t._config.delay))
                    };
                    if (this._element.classList.remove("hide"), v(this._element), this._element.classList.add("showing"), this._config.animation) {
                        var i = d(this._element);
                        $.one(this._element, "transitionend", e), p(this._element, i)
                    } else e()
                }
            }, s.hide = function() {
                var t = this;
                if (this._element.classList.contains("show") && !$.trigger(this._element, "hide.bs.toast").defaultPrevented) {
                    var e = function() {
                        t._element.classList.add("hide"), $.trigger(t._element, "hidden.bs.toast")
                    };
                    if (this._element.classList.remove("show"), this._config.animation) {
                        var i = d(this._element);
                        $.one(this._element, "transitionend", e), p(this._element, i)
                    } else e()
                }
            }, s.dispose = function() {
                this._clearTimeout(), this._element.classList.contains("show") && this._element.classList.remove("show"), $.off(this._element, "click.dismiss.bs.toast"), t.prototype.dispose.call(this), this._config = null
            }, s._getConfig = function(t) {
                return t = i({}, Ye, q.getDataAttributes(this._element), "object" == typeof t && t ? t : {}), f("toast", t, this.constructor.DefaultType), t
            }, s._setListeners = function() {
                var t = this;
                $.on(this._element, "click.dismiss.bs.toast", '[data-bs-dismiss="toast"]', (function() {
                    return t.hide()
                }))
            }, s._clearTimeout = function() {
                clearTimeout(this._timeout), this._timeout = null
            }, o.jQueryInterface = function(t) {
                return this.each((function() {
                    var e = T(this, "bs.toast");
                    if (e || (e = new o(this, "object" == typeof t && t)), "string" == typeof t) {
                        if (void 0 === e[t]) throw new TypeError('No method named "' + t + '"');
                        e[t](this)
                    }
                }))
            }, e(o, null, [{
                key: "DefaultType",
                get: function() {
                    return Ue
                }
            }, {
                key: "Default",
                get: function() {
                    return Ye
                }
            }, {
                key: "DATA_KEY",
                get: function() {
                    return "bs.toast"
                }
            }]), o
        }(H);
    return _((function() {
        var t = y();
        if (t) {
            var e = t.fn.toast;
            t.fn.toast = Qe.jQueryInterface, t.fn.toast.Constructor = Qe, t.fn.toast.noConflict = function() {
                return t.fn.toast = e, Qe.jQueryInterface
            }
        }
    })), {
        Alert: W,
        Button: B,
        Carousel: X,
        Collapse: tt,
        Dropdown: ye,
        Modal: we,
        Popover: Ne,
        ScrollSpy: Fe,
        Tab: qe,
        Toast: Qe,
        Tooltip: ze
    }
})),
function(t, e) {
    "function" == typeof define && define.amd ? define("ev-emitter/ev-emitter", e) : "object" == typeof module && module.exports ? module.exports = e() : t.EvEmitter = e()
}("undefined" != typeof window ? window : this, (function() {
    function t() {}
    var e = t.prototype;
    return e.on = function(t, e) {
        if (t && e) {
            var i = this._events = this._events || {},
                n = i[t] = i[t] || [];
            return -1 == n.indexOf(e) && n.push(e), this
        }
    }, e.once = function(t, e) {
        if (t && e) {
            this.on(t, e);
            var i = this._onceEvents = this._onceEvents || {};
            return (i[t] = i[t] || {})[e] = !0, this
        }
    }, e.off = function(t, e) {
        var i = this._events && this._events[t];
        if (i && i.length) {
            var n = i.indexOf(e);
            return -1 != n && i.splice(n, 1), this
        }
    }, e.emitEvent = function(t, e) {
        var i = this._events && this._events[t];
        if (i && i.length) {
            i = i.slice(0), e = e || [];
            for (var n = this._onceEvents && this._onceEvents[t], o = 0; o < i.length; o++) {
                var s = i[o];
                n && n[s] && (this.off(t, s), delete n[s]), s.apply(this, e)
            }
            return this
        }
    }, e.allOff = function() {
        delete this._events, delete this._onceEvents
    }, t
})),
function(t, e) {
    "use strict";
    "function" == typeof define && define.amd ? define(["ev-emitter/ev-emitter"], (function(i) {
        return e(t, i)
    })) : "object" == typeof module && module.exports ? module.exports = e(t, require("ev-emitter")) : t.imagesLoaded = e(t, t.EvEmitter)
}("undefined" != typeof window ? window : this, (function(t, e) {
    function i(t, e) {
        for (var i in e) t[i] = e[i];
        return t
    }

    function n(t, e, o) {
        if (!(this instanceof n)) return new n(t, e, o);
        var s, c = t;
        return "string" == typeof t && (c = document.querySelectorAll(t)), c ? (this.elements = (s = c, Array.isArray(s) ? s : "object" == typeof s && "number" == typeof s.length ? l.call(s) : [s]), this.options = i({}, this.options), "function" == typeof e ? o = e : i(this.options, e), o && this.on("always", o), this.getImages(), r && (this.jqDeferred = new r.Deferred), void setTimeout(this.check.bind(this))) : void a.error("Bad element for imagesLoaded " + (c || t))
    }

    function o(t) {
        this.img = t
    }

    function s(t, e) {
        this.url = t, this.element = e, this.img = new Image
    }
    var r = t.jQuery,
        a = t.console,
        l = Array.prototype.slice;
    (n.prototype = Object.create(e.prototype)).options = {}, n.prototype.getImages = function() {
        this.images = [], this.elements.forEach(this.addElementImages, this)
    }, n.prototype.addElementImages = function(t) {
        "IMG" == t.nodeName && this.addImage(t), !0 === this.options.background && this.addElementBackgroundImages(t);
        var e = t.nodeType;
        if (e && c[e]) {
            for (var i = t.querySelectorAll("img"), n = 0; n < i.length; n++) {
                var o = i[n];
                this.addImage(o)
            }
            if ("string" == typeof this.options.background) {
                var s = t.querySelectorAll(this.options.background);
                for (n = 0; n < s.length; n++) {
                    var r = s[n];
                    this.addElementBackgroundImages(r)
                }
            }
        }
    };
    var c = {
        1: !0,
        9: !0,
        11: !0
    };
    return n.prototype.addElementBackgroundImages = function(t) {
        var e = getComputedStyle(t);
        if (e)
            for (var i = /url\((['"])?(.*?)\1\)/gi, n = i.exec(e.backgroundImage); null !== n;) {
                var o = n && n[2];
                o && this.addBackground(o, t), n = i.exec(e.backgroundImage)
            }
    }, n.prototype.addImage = function(t) {
        var e = new o(t);
        this.images.push(e)
    }, n.prototype.addBackground = function(t, e) {
        var i = new s(t, e);
        this.images.push(i)
    }, n.prototype.check = function() {
        function t(t, i, n) {
            setTimeout((function() {
                e.progress(t, i, n)
            }))
        }
        var e = this;
        return this.progressedCount = 0, this.hasAnyBroken = !1, this.images.length ? void this.images.forEach((function(e) {
            e.once("progress", t), e.check()
        })) : void this.complete()
    }, n.prototype.progress = function(t, e, i) {
        this.progressedCount++, this.hasAnyBroken = this.hasAnyBroken || !t.isLoaded, this.emitEvent("progress", [this, t, e]), this.jqDeferred && this.jqDeferred.notify && this.jqDeferred.notify(this, t), this.progressedCount == this.images.length && this.complete(), this.options.debug && a && a.log("progress: " + i, t, e)
    }, n.prototype.complete = function() {
        var t = this.hasAnyBroken ? "fail" : "done";
        if (this.isComplete = !0, this.emitEvent(t, [this]), this.emitEvent("always", [this]), this.jqDeferred) {
            var e = this.hasAnyBroken ? "reject" : "resolve";
            this.jqDeferred[e](this)
        }
    }, (o.prototype = Object.create(e.prototype)).check = function() {
        return this.getIsImageComplete() ? void this.confirm(0 !== this.img.naturalWidth, "naturalWidth") : (this.proxyImage = new Image, this.proxyImage.addEventListener("load", this), this.proxyImage.addEventListener("error", this), this.img.addEventListener("load", this), this.img.addEventListener("error", this), void(this.proxyImage.src = this.img.src))
    }, o.prototype.getIsImageComplete = function() {
        return this.img.complete && this.img.naturalWidth
    }, o.prototype.confirm = function(t, e) {
        this.isLoaded = t, this.emitEvent("progress", [this, this.img, e])
    }, o.prototype.handleEvent = function(t) {
        var e = "on" + t.type;
        this[e] && this[e](t)
    }, o.prototype.onload = function() {
        this.confirm(!0, "onload"), this.unbindEvents()
    }, o.prototype.onerror = function() {
        this.confirm(!1, "onerror"), this.unbindEvents()
    }, o.prototype.unbindEvents = function() {
        this.proxyImage.removeEventListener("load", this), this.proxyImage.removeEventListener("error", this), this.img.removeEventListener("load", this), this.img.removeEventListener("error", this)
    }, (s.prototype = Object.create(o.prototype)).check = function() {
        this.img.addEventListener("load", this), this.img.addEventListener("error", this), this.img.src = this.url, this.getIsImageComplete() && (this.confirm(0 !== this.img.naturalWidth, "naturalWidth"), this.unbindEvents())
    }, s.prototype.unbindEvents = function() {
        this.img.removeEventListener("load", this), this.img.removeEventListener("error", this)
    }, s.prototype.confirm = function(t, e) {
        this.isLoaded = t, this.emitEvent("progress", [this, this.element, e])
    }, n.makeJQueryPlugin = function(e) {
        (e = e || t.jQuery) && ((r = e).fn.imagesLoaded = function(t, e) {
            return new n(this, t, e).jqDeferred.promise(r(this))
        })
    }, n.makeJQueryPlugin(), n
})),
function(t, e) {
    "function" == typeof define && define.amd ? define("jquery-bridget/jquery-bridget", ["jquery"], (function(i) {
        return e(t, i)
    })) : "object" == typeof module && module.exports ? module.exports = e(t, require("jquery")) : t.jQueryBridget = e(t, t.jQuery)
}(window, (function(t, e) {
    "use strict";

    function i(i, s, a) {
        (a = a || e || t.jQuery) && (s.prototype.option || (s.prototype.option = function(t) {
            a.isPlainObject(t) && (this.options = a.extend(!0, this.options, t))
        }), a.fn[i] = function(t) {
            if ("string" != typeof t) return u = t, this.each((function(t, e) {
                var n = a.data(e, i);
                n ? (n.option(u), n._init()) : (n = new s(e, u), a.data(e, i, n))
            })), this;
            var e, n, l, c, d, u, h = o.call(arguments, 1);
            return l = h, d = "$()." + i + '("' + (n = t) + '")', (e = this).each((function(t, e) {
                var o = a.data(e, i);
                if (o) {
                    var s = o[n];
                    if (s && "_" != n.charAt(0)) {
                        var u = s.apply(o, l);
                        c = void 0 === c ? u : c
                    } else r(d + " is not a valid method")
                } else r(i + " not initialized. Cannot call methods, i.e. " + d)
            })), void 0 !== c ? c : e
        }, n(a))
    }

    function n(t) {
        !t || t && t.bridget || (t.bridget = i)
    }
    var o = Array.prototype.slice,
        s = t.console,
        r = void 0 === s ? function() {} : function(t) {
            s.error(t)
        };
    return n(e || t.jQuery), i
})),
function(t, e) {
    "function" == typeof define && define.amd ? define("ev-emitter/ev-emitter", e) : "object" == typeof module && module.exports ? module.exports = e() : t.EvEmitter = e()
}("undefined" != typeof window ? window : this, (function() {
    function t() {}
    var e = t.prototype;
    return e.on = function(t, e) {
        if (t && e) {
            var i = this._events = this._events || {},
                n = i[t] = i[t] || [];
            return -1 == n.indexOf(e) && n.push(e), this
        }
    }, e.once = function(t, e) {
        if (t && e) {
            this.on(t, e);
            var i = this._onceEvents = this._onceEvents || {};
            return (i[t] = i[t] || {})[e] = !0, this
        }
    }, e.off = function(t, e) {
        var i = this._events && this._events[t];
        if (i && i.length) {
            var n = i.indexOf(e);
            return -1 != n && i.splice(n, 1), this
        }
    }, e.emitEvent = function(t, e) {
        var i = this._events && this._events[t];
        if (i && i.length) {
            i = i.slice(0), e = e || [];
            for (var n = this._onceEvents && this._onceEvents[t], o = 0; o < i.length; o++) {
                var s = i[o];
                n && n[s] && (this.off(t, s), delete n[s]), s.apply(this, e)
            }
            return this
        }
    }, e.allOff = function() {
        delete this._events, delete this._onceEvents
    }, t
})),
function(t, e) {
    "function" == typeof define && define.amd ? define("get-size/get-size", e) : "object" == typeof module && module.exports ? module.exports = e() : t.getSize = e()
}(window, (function() {
    "use strict";

    function t(t) {
        var e = parseFloat(t);
        return -1 == t.indexOf("%") && !isNaN(e) && e
    }

    function e(t) {
        var e = getComputedStyle(t);
        return e || n("Style returned " + e + ". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1"), e
    }
    var i, n = "undefined" == typeof console ? function() {} : function(t) {
            console.error(t)
        },
        o = ["paddingLeft", "paddingRight", "paddingTop", "paddingBottom", "marginLeft", "marginRight", "marginTop", "marginBottom", "borderLeftWidth", "borderRightWidth", "borderTopWidth", "borderBottomWidth"],
        s = o.length,
        r = !1;
    return function n(a) {
        if (function() {
                if (!r) {
                    r = !0;
                    var o = document.createElement("div");
                    o.style.width = "200px", o.style.padding = "1px 2px 3px 4px", o.style.borderStyle = "solid", o.style.borderWidth = "1px 2px 3px 4px", o.style.boxSizing = "border-box";
                    var s = document.body || document.documentElement;
                    s.appendChild(o);
                    var a = e(o);
                    i = 200 == Math.round(t(a.width)), n.isBoxSizeOuter = i, s.removeChild(o)
                }
            }(), "string" == typeof a && (a = document.querySelector(a)), a && "object" == typeof a && a.nodeType) {
            var l = e(a);
            if ("none" == l.display) return function() {
                for (var t = {
                        width: 0,
                        height: 0,
                        innerWidth: 0,
                        innerHeight: 0,
                        outerWidth: 0,
                        outerHeight: 0
                    }, e = 0; e < s; e++) t[o[e]] = 0;
                return t
            }();
            var c = {};
            c.width = a.offsetWidth, c.height = a.offsetHeight;
            for (var d = c.isBorderBox = "border-box" == l.boxSizing, u = 0; u < s; u++) {
                var h = o[u],
                    p = l[h],
                    f = parseFloat(p);
                c[h] = isNaN(f) ? 0 : f
            }
            var m = c.paddingLeft + c.paddingRight,
                g = c.paddingTop + c.paddingBottom,
                v = c.marginLeft + c.marginRight,
                y = c.marginTop + c.marginBottom,
                _ = c.borderLeftWidth + c.borderRightWidth,
                b = c.borderTopWidth + c.borderBottomWidth,
                w = d && i,
                k = t(l.width);
            !1 !== k && (c.width = k + (w ? 0 : m + _));
            var T = t(l.height);
            return !1 !== T && (c.height = T + (w ? 0 : g + b)), c.innerWidth = c.width - (m + _), c.innerHeight = c.height - (g + b), c.outerWidth = c.width + v, c.outerHeight = c.height + y, c
        }
    }
})),
function(t, e) {
    "use strict";
    "function" == typeof define && define.amd ? define("desandro-matches-selector/matches-selector", e) : "object" == typeof module && module.exports ? module.exports = e() : t.matchesSelector = e()
}(window, (function() {
    "use strict";
    var t = function() {
        var t = window.Element.prototype;
        if (t.matches) return "matches";
        if (t.matchesSelector) return "matchesSelector";
        for (var e = ["webkit", "moz", "ms", "o"], i = 0; i < e.length; i++) {
            var n = e[i] + "MatchesSelector";
            if (t[n]) return n
        }
    }();
    return function(e, i) {
        return e[t](i)
    }
})),
function(t, e) {
    "function" == typeof define && define.amd ? define("fizzy-ui-utils/utils", ["desandro-matches-selector/matches-selector"], (function(i) {
        return e(t, i)
    })) : "object" == typeof module && module.exports ? module.exports = e(t, require("desandro-matches-selector")) : t.fizzyUIUtils = e(t, t.matchesSelector)
}(window, (function(t, e) {
    var i = {
            extend: function(t, e) {
                for (var i in e) t[i] = e[i];
                return t
            },
            modulo: function(t, e) {
                return (t % e + e) % e
            }
        },
        n = Array.prototype.slice;
    i.makeArray = function(t) {
        return Array.isArray(t) ? t : null == t ? [] : "object" == typeof t && "number" == typeof t.length ? n.call(t) : [t]
    }, i.removeFrom = function(t, e) {
        var i = t.indexOf(e); - 1 != i && t.splice(i, 1)
    }, i.getParent = function(t, i) {
        for (; t.parentNode && t != document.body;)
            if (t = t.parentNode, e(t, i)) return t
    }, i.getQueryElement = function(t) {
        return "string" == typeof t ? document.querySelector(t) : t
    }, i.handleEvent = function(t) {
        var e = "on" + t.type;
        this[e] && this[e](t)
    }, i.filterFindElements = function(t, n) {
        t = i.makeArray(t);
        var o = [];
        return t.forEach((function(t) {
            if (t instanceof HTMLElement) {
                if (!n) return void o.push(t);
                e(t, n) && o.push(t);
                for (var i = t.querySelectorAll(n), s = 0; s < i.length; s++) o.push(i[s])
            }
        })), o
    }, i.debounceMethod = function(t, e, i) {
        i = i || 100;
        var n = t.prototype[e],
            o = e + "Timeout";
        t.prototype[e] = function() {
            var t = this[o];
            clearTimeout(t);
            var e = arguments,
                s = this;
            this[o] = setTimeout((function() {
                n.apply(s, e), delete s[o]
            }), i)
        }
    }, i.docReady = function(t) {
        var e = document.readyState;
        "complete" == e || "interactive" == e ? setTimeout(t) : document.addEventListener("DOMContentLoaded", t)
    }, i.toDashed = function(t) {
        return t.replace(/(.)([A-Z])/g, (function(t, e, i) {
            return e + "-" + i
        })).toLowerCase()
    };
    var o = t.console;
    return i.htmlInit = function(e, n) {
        i.docReady((function() {
            var s = i.toDashed(n),
                r = "data-" + s,
                a = document.querySelectorAll("[" + r + "]"),
                l = document.querySelectorAll(".js-" + s),
                c = i.makeArray(a).concat(i.makeArray(l)),
                d = r + "-options",
                u = t.jQuery;
            c.forEach((function(t) {
                var i, s = t.getAttribute(r) || t.getAttribute(d);
                try {
                    i = s && JSON.parse(s)
                } catch (i) {
                    return void(o && o.error("Error parsing " + r + " on " + t.className + ": " + i))
                }
                var a = new e(t, i);
                u && u.data(t, n, a)
            }))
        }))
    }, i
})),
function(t, e) {
    "function" == typeof define && define.amd ? define("outlayer/item", ["ev-emitter/ev-emitter", "get-size/get-size"], e) : "object" == typeof module && module.exports ? module.exports = e(require("ev-emitter"), require("get-size")) : (t.Outlayer = {}, t.Outlayer.Item = e(t.EvEmitter, t.getSize))
}(window, (function(t, e) {
    "use strict";

    function i(t, e) {
        t && (this.element = t, this.layout = e, this.position = {
            x: 0,
            y: 0
        }, this._create())
    }
    var n = document.documentElement.style,
        o = "string" == typeof n.transition ? "transition" : "WebkitTransition",
        s = "string" == typeof n.transform ? "transform" : "WebkitTransform",
        r = {
            WebkitTransition: "webkitTransitionEnd",
            transition: "transitionend"
        } [o],
        a = {
            transform: s,
            transition: o,
            transitionDuration: o + "Duration",
            transitionProperty: o + "Property",
            transitionDelay: o + "Delay"
        },
        l = i.prototype = Object.create(t.prototype);
    l.constructor = i, l._create = function() {
        this._transn = {
            ingProperties: {},
            clean: {},
            onEnd: {}
        }, this.css({
            position: "absolute"
        })
    }, l.handleEvent = function(t) {
        var e = "on" + t.type;
        this[e] && this[e](t)
    }, l.getSize = function() {
        this.size = e(this.element)
    }, l.css = function(t) {
        var e = this.element.style;
        for (var i in t) e[a[i] || i] = t[i]
    }, l.getPosition = function() {
        var t = getComputedStyle(this.element),
            e = this.layout._getOption("originLeft"),
            i = this.layout._getOption("originTop"),
            n = t[e ? "left" : "right"],
            o = t[i ? "top" : "bottom"],
            s = parseFloat(n),
            r = parseFloat(o),
            a = this.layout.size; - 1 != n.indexOf("%") && (s = s / 100 * a.width), -1 != o.indexOf("%") && (r = r / 100 * a.height), s = isNaN(s) ? 0 : s, r = isNaN(r) ? 0 : r, s -= e ? a.paddingLeft : a.paddingRight, r -= i ? a.paddingTop : a.paddingBottom, this.position.x = s, this.position.y = r
    }, l.layoutPosition = function() {
        var t = this.layout.size,
            e = {},
            i = this.layout._getOption("originLeft"),
            n = this.layout._getOption("originTop"),
            o = i ? "paddingLeft" : "paddingRight",
            s = i ? "left" : "right",
            r = i ? "right" : "left",
            a = this.position.x + t[o];
        e[s] = this.getXValue(a), e[r] = "";
        var l = n ? "paddingTop" : "paddingBottom",
            c = n ? "top" : "bottom",
            d = n ? "bottom" : "top",
            u = this.position.y + t[l];
        e[c] = this.getYValue(u), e[d] = "", this.css(e), this.emitEvent("layout", [this])
    }, l.getXValue = function(t) {
        var e = this.layout._getOption("horizontal");
        return this.layout.options.percentPosition && !e ? t / this.layout.size.width * 100 + "%" : t + "px"
    }, l.getYValue = function(t) {
        var e = this.layout._getOption("horizontal");
        return this.layout.options.percentPosition && e ? t / this.layout.size.height * 100 + "%" : t + "px"
    }, l._transitionTo = function(t, e) {
        this.getPosition();
        var i = this.position.x,
            n = this.position.y,
            o = t == this.position.x && e == this.position.y;
        if (this.setPosition(t, e), !o || this.isTransitioning) {
            var s = t - i,
                r = e - n,
                a = {};
            a.transform = this.getTranslate(s, r), this.transition({
                to: a,
                onTransitionEnd: {
                    transform: this.layoutPosition
                },
                isCleaning: !0
            })
        } else this.layoutPosition()
    }, l.getTranslate = function(t, e) {
        return "translate3d(" + (t = this.layout._getOption("originLeft") ? t : -t) + "px, " + (e = this.layout._getOption("originTop") ? e : -e) + "px, 0)"
    }, l.goTo = function(t, e) {
        this.setPosition(t, e), this.layoutPosition()
    }, l.moveTo = l._transitionTo, l.setPosition = function(t, e) {
        this.position.x = parseFloat(t), this.position.y = parseFloat(e)
    }, l._nonTransition = function(t) {
        for (var e in this.css(t.to), t.isCleaning && this._removeStyles(t.to), t.onTransitionEnd) t.onTransitionEnd[e].call(this)
    }, l.transition = function(t) {
        if (parseFloat(this.layout.options.transitionDuration)) {
            var e = this._transn;
            for (var i in t.onTransitionEnd) e.onEnd[i] = t.onTransitionEnd[i];
            for (i in t.to) e.ingProperties[i] = !0, t.isCleaning && (e.clean[i] = !0);
            t.from && (this.css(t.from), this.element.offsetHeight), this.enableTransition(t.to), this.css(t.to), this.isTransitioning = !0
        } else this._nonTransition(t)
    };
    var c = "opacity," + s.replace(/([A-Z])/g, (function(t) {
        return "-" + t.toLowerCase()
    }));
    l.enableTransition = function() {
        if (!this.isTransitioning) {
            var t = this.layout.options.transitionDuration;
            t = "number" == typeof t ? t + "ms" : t, this.css({
                transitionProperty: c,
                transitionDuration: t,
                transitionDelay: this.staggerDelay || 0
            }), this.element.addEventListener(r, this, !1)
        }
    }, l.onwebkitTransitionEnd = function(t) {
        this.ontransitionend(t)
    }, l.onotransitionend = function(t) {
        this.ontransitionend(t)
    };
    var d = {
        "-webkit-transform": "transform"
    };
    l.ontransitionend = function(t) {
        if (t.target === this.element) {
            var e = this._transn,
                i = d[t.propertyName] || t.propertyName;
            delete e.ingProperties[i],
                function(t) {
                    for (var e in t) return !1;
                    return !0
                }(e.ingProperties) && this.disableTransition(), i in e.clean && (this.element.style[t.propertyName] = "", delete e.clean[i]), i in e.onEnd && (e.onEnd[i].call(this), delete e.onEnd[i]), this.emitEvent("transitionEnd", [this])
        }
    }, l.disableTransition = function() {
        this.removeTransitionStyles(), this.element.removeEventListener(r, this, !1), this.isTransitioning = !1
    }, l._removeStyles = function(t) {
        var e = {};
        for (var i in t) e[i] = "";
        this.css(e)
    };
    var u = {
        transitionProperty: "",
        transitionDuration: "",
        transitionDelay: ""
    };
    return l.removeTransitionStyles = function() {
        this.css(u)
    }, l.stagger = function(t) {
        t = isNaN(t) ? 0 : t, this.staggerDelay = t + "ms"
    }, l.removeElem = function() {
        this.element.parentNode.removeChild(this.element), this.css({
            display: ""
        }), this.emitEvent("remove", [this])
    }, l.remove = function() {
        return o && parseFloat(this.layout.options.transitionDuration) ? (this.once("transitionEnd", (function() {
            this.removeElem()
        })), void this.hide()) : void this.removeElem()
    }, l.reveal = function() {
        delete this.isHidden, this.css({
            display: ""
        });
        var t = this.layout.options,
            e = {};
        e[this.getHideRevealTransitionEndProperty("visibleStyle")] = this.onRevealTransitionEnd, this.transition({
            from: t.hiddenStyle,
            to: t.visibleStyle,
            isCleaning: !0,
            onTransitionEnd: e
        })
    }, l.onRevealTransitionEnd = function() {
        this.isHidden || this.emitEvent("reveal")
    }, l.getHideRevealTransitionEndProperty = function(t) {
        var e = this.layout.options[t];
        if (e.opacity) return "opacity";
        for (var i in e) return i
    }, l.hide = function() {
        this.isHidden = !0, this.css({
            display: ""
        });
        var t = this.layout.options,
            e = {};
        e[this.getHideRevealTransitionEndProperty("hiddenStyle")] = this.onHideTransitionEnd, this.transition({
            from: t.visibleStyle,
            to: t.hiddenStyle,
            isCleaning: !0,
            onTransitionEnd: e
        })
    }, l.onHideTransitionEnd = function() {
        this.isHidden && (this.css({
            display: "none"
        }), this.emitEvent("hide"))
    }, l.destroy = function() {
        this.css({
            position: "",
            left: "",
            right: "",
            top: "",
            bottom: "",
            transition: "",
            transform: ""
        })
    }, i
})),
function(t, e) {
    "use strict";
    "function" == typeof define && define.amd ? define("outlayer/outlayer", ["ev-emitter/ev-emitter", "get-size/get-size", "fizzy-ui-utils/utils", "./item"], (function(i, n, o, s) {
        return e(t, i, n, o, s)
    })) : "object" == typeof module && module.exports ? module.exports = e(t, require("ev-emitter"), require("get-size"), require("fizzy-ui-utils"), require("./item")) : t.Outlayer = e(t, t.EvEmitter, t.getSize, t.fizzyUIUtils, t.Outlayer.Item)
}(window, (function(t, e, i, n, o) {
    "use strict";

    function s(t, e) {
        var i = n.getQueryElement(t);
        if (i) {
            this.element = i, l && (this.$element = l(this.element)), this.options = n.extend({}, this.constructor.defaults), this.option(e);
            var o = ++d;
            this.element.outlayerGUID = o, (u[o] = this)._create(), this._getOption("initLayout") && this.layout()
        } else a && a.error("Bad element for " + this.constructor.namespace + ": " + (i || t))
    }

    function r(t) {
        function e() {
            t.apply(this, arguments)
        }
        return (e.prototype = Object.create(t.prototype)).constructor = e
    }
    var a = t.console,
        l = t.jQuery,
        c = function() {},
        d = 0,
        u = {};
    s.namespace = "outlayer", s.Item = o, s.defaults = {
        containerStyle: {
            position: "relative"
        },
        initLayout: !0,
        originLeft: !0,
        originTop: !0,
        resize: !0,
        resizeContainer: !0,
        transitionDuration: "0.4s",
        hiddenStyle: {
            opacity: 0,
            transform: "scale(0.001)"
        },
        visibleStyle: {
            opacity: 1,
            transform: "scale(1)"
        }
    };
    var h = s.prototype;
    n.extend(h, e.prototype), h.option = function(t) {
        n.extend(this.options, t)
    }, h._getOption = function(t) {
        var e = this.constructor.compatOptions[t];
        return e && void 0 !== this.options[e] ? this.options[e] : this.options[t]
    }, s.compatOptions = {
        initLayout: "isInitLayout",
        horizontal: "isHorizontal",
        layoutInstant: "isLayoutInstant",
        originLeft: "isOriginLeft",
        originTop: "isOriginTop",
        resize: "isResizeBound",
        resizeContainer: "isResizingContainer"
    }, h._create = function() {
        this.reloadItems(), this.stamps = [], this.stamp(this.options.stamp), n.extend(this.element.style, this.options.containerStyle), this._getOption("resize") && this.bindResize()
    }, h.reloadItems = function() {
        this.items = this._itemize(this.element.children)
    }, h._itemize = function(t) {
        for (var e = this._filterFindItemElements(t), i = this.constructor.Item, n = [], o = 0; o < e.length; o++) {
            var s = new i(e[o], this);
            n.push(s)
        }
        return n
    }, h._filterFindItemElements = function(t) {
        return n.filterFindElements(t, this.options.itemSelector)
    }, h.getItemElements = function() {
        return this.items.map((function(t) {
            return t.element
        }))
    }, h.layout = function() {
        this._resetLayout(), this._manageStamps();
        var t = this._getOption("layoutInstant"),
            e = void 0 !== t ? t : !this._isLayoutInited;
        this.layoutItems(this.items, e), this._isLayoutInited = !0
    }, h._init = h.layout, h._resetLayout = function() {
        this.getSize()
    }, h.getSize = function() {
        this.size = i(this.element)
    }, h._getMeasurement = function(t, e) {
        var n, o = this.options[t];
        o ? ("string" == typeof o ? n = this.element.querySelector(o) : o instanceof HTMLElement && (n = o), this[t] = n ? i(n)[e] : o) : this[t] = 0
    }, h.layoutItems = function(t, e) {
        t = this._getItemsForLayout(t), this._layoutItems(t, e), this._postLayout()
    }, h._getItemsForLayout = function(t) {
        return t.filter((function(t) {
            return !t.isIgnored
        }))
    }, h._layoutItems = function(t, e) {
        if (this._emitCompleteOnItems("layout", t), t && t.length) {
            var i = [];
            t.forEach((function(t) {
                var n = this._getItemLayoutPosition(t);
                n.item = t, n.isInstant = e || t.isLayoutInstant, i.push(n)
            }), this), this._processLayoutQueue(i)
        }
    }, h._getItemLayoutPosition = function() {
        return {
            x: 0,
            y: 0
        }
    }, h._processLayoutQueue = function(t) {
        this.updateStagger(), t.forEach((function(t, e) {
            this._positionItem(t.item, t.x, t.y, t.isInstant, e)
        }), this)
    }, h.updateStagger = function() {
        var t = this.options.stagger;
        return null == t ? void(this.stagger = 0) : (this.stagger = function(t) {
            if ("number" == typeof t) return t;
            var e = t.match(/(^\d*\.?\d*)(\w*)/),
                i = e && e[1],
                n = e && e[2];
            return i.length ? (i = parseFloat(i)) * (p[n] || 1) : 0
        }(t), this.stagger)
    }, h._positionItem = function(t, e, i, n, o) {
        n ? t.goTo(e, i) : (t.stagger(o * this.stagger), t.moveTo(e, i))
    }, h._postLayout = function() {
        this.resizeContainer()
    }, h.resizeContainer = function() {
        if (this._getOption("resizeContainer")) {
            var t = this._getContainerSize();
            t && (this._setContainerMeasure(t.width, !0), this._setContainerMeasure(t.height, !1))
        }
    }, h._getContainerSize = c, h._setContainerMeasure = function(t, e) {
        if (void 0 !== t) {
            var i = this.size;
            i.isBorderBox && (t += e ? i.paddingLeft + i.paddingRight + i.borderLeftWidth + i.borderRightWidth : i.paddingBottom + i.paddingTop + i.borderTopWidth + i.borderBottomWidth), t = Math.max(t, 0), this.element.style[e ? "width" : "height"] = t + "px"
        }
    }, h._emitCompleteOnItems = function(t, e) {
        function i() {
            o.dispatchEvent(t + "Complete", null, [e])
        }

        function n() {
            ++r == s && i()
        }
        var o = this,
            s = e.length;
        if (e && s) {
            var r = 0;
            e.forEach((function(e) {
                e.once(t, n)
            }))
        } else i()
    }, h.dispatchEvent = function(t, e, i) {
        var n = e ? [e].concat(i) : i;
        if (this.emitEvent(t, n), l)
            if (this.$element = this.$element || l(this.element), e) {
                var o = l.Event(e);
                o.type = t, this.$element.trigger(o, i)
            } else this.$element.trigger(t, i)
    }, h.ignore = function(t) {
        var e = this.getItem(t);
        e && (e.isIgnored = !0)
    }, h.unignore = function(t) {
        var e = this.getItem(t);
        e && delete e.isIgnored
    }, h.stamp = function(t) {
        (t = this._find(t)) && (this.stamps = this.stamps.concat(t), t.forEach(this.ignore, this))
    }, h.unstamp = function(t) {
        (t = this._find(t)) && t.forEach((function(t) {
            n.removeFrom(this.stamps, t), this.unignore(t)
        }), this)
    }, h._find = function(t) {
        if (t) return "string" == typeof t && (t = this.element.querySelectorAll(t)), n.makeArray(t)
    }, h._manageStamps = function() {
        this.stamps && this.stamps.length && (this._getBoundingRect(), this.stamps.forEach(this._manageStamp, this))
    }, h._getBoundingRect = function() {
        var t = this.element.getBoundingClientRect(),
            e = this.size;
        this._boundingRect = {
            left: t.left + e.paddingLeft + e.borderLeftWidth,
            top: t.top + e.paddingTop + e.borderTopWidth,
            right: t.right - (e.paddingRight + e.borderRightWidth),
            bottom: t.bottom - (e.paddingBottom + e.borderBottomWidth)
        }
    }, h._manageStamp = c, h._getElementOffset = function(t) {
        var e = t.getBoundingClientRect(),
            n = this._boundingRect,
            o = i(t);
        return {
            left: e.left - n.left - o.marginLeft,
            top: e.top - n.top - o.marginTop,
            right: n.right - e.right - o.marginRight,
            bottom: n.bottom - e.bottom - o.marginBottom
        }
    }, h.handleEvent = n.handleEvent, h.bindResize = function() {
        t.addEventListener("resize", this), this.isResizeBound = !0
    }, h.unbindResize = function() {
        t.removeEventListener("resize", this), this.isResizeBound = !1
    }, h.onresize = function() {
        this.resize()
    }, n.debounceMethod(s, "onresize", 100), h.resize = function() {
        this.isResizeBound && this.needsResizeLayout() && this.layout()
    }, h.needsResizeLayout = function() {
        var t = i(this.element);
        return this.size && t && t.innerWidth !== this.size.innerWidth
    }, h.addItems = function(t) {
        var e = this._itemize(t);
        return e.length && (this.items = this.items.concat(e)), e
    }, h.appended = function(t) {
        var e = this.addItems(t);
        e.length && (this.layoutItems(e, !0), this.reveal(e))
    }, h.prepended = function(t) {
        var e = this._itemize(t);
        if (e.length) {
            var i = this.items.slice(0);
            this.items = e.concat(i), this._resetLayout(), this._manageStamps(), this.layoutItems(e, !0), this.reveal(e), this.layoutItems(i)
        }
    }, h.reveal = function(t) {
        if (this._emitCompleteOnItems("reveal", t), t && t.length) {
            var e = this.updateStagger();
            t.forEach((function(t, i) {
                t.stagger(i * e), t.reveal()
            }))
        }
    }, h.hide = function(t) {
        if (this._emitCompleteOnItems("hide", t), t && t.length) {
            var e = this.updateStagger();
            t.forEach((function(t, i) {
                t.stagger(i * e), t.hide()
            }))
        }
    }, h.revealItemElements = function(t) {
        var e = this.getItems(t);
        this.reveal(e)
    }, h.hideItemElements = function(t) {
        var e = this.getItems(t);
        this.hide(e)
    }, h.getItem = function(t) {
        for (var e = 0; e < this.items.length; e++) {
            var i = this.items[e];
            if (i.element == t) return i
        }
    }, h.getItems = function(t) {
        t = n.makeArray(t);
        var e = [];
        return t.forEach((function(t) {
            var i = this.getItem(t);
            i && e.push(i)
        }), this), e
    }, h.remove = function(t) {
        var e = this.getItems(t);
        this._emitCompleteOnItems("remove", e), e && e.length && e.forEach((function(t) {
            t.remove(), n.removeFrom(this.items, t)
        }), this)
    }, h.destroy = function() {
        var t = this.element.style;
        t.height = "", t.position = "", t.width = "", this.items.forEach((function(t) {
            t.destroy()
        })), this.unbindResize();
        var e = this.element.outlayerGUID;
        delete u[e], delete this.element.outlayerGUID, l && l.removeData(this.element, this.constructor.namespace)
    }, s.data = function(t) {
        var e = (t = n.getQueryElement(t)) && t.outlayerGUID;
        return e && u[e]
    }, s.create = function(t, e) {
        var i = r(s);
        return i.defaults = n.extend({}, s.defaults), n.extend(i.defaults, e), i.compatOptions = n.extend({}, s.compatOptions), i.namespace = t, i.data = s.data, i.Item = r(o), n.htmlInit(i, t), l && l.bridget && l.bridget(t, i), i
    };
    var p = {
        ms: 1,
        s: 1e3
    };
    return s.Item = o, s
})),
function(t, e) {
    "function" == typeof define && define.amd ? define("isotope-layout/js/item", ["outlayer/outlayer"], e) : "object" == typeof module && module.exports ? module.exports = e(require("outlayer")) : (t.Isotope = t.Isotope || {}, t.Isotope.Item = e(t.Outlayer))
}(window, (function(t) {
    "use strict";

    function e() {
        t.Item.apply(this, arguments)
    }
    var i = e.prototype = Object.create(t.Item.prototype),
        n = i._create;
    i._create = function() {
        this.id = this.layout.itemGUID++, n.call(this), this.sortData = {}
    }, i.updateSortData = function() {
        if (!this.isIgnored) {
            this.sortData.id = this.id, this.sortData["original-order"] = this.id, this.sortData.random = Math.random();
            var t = this.layout.options.getSortData,
                e = this.layout._sorters;
            for (var i in t) {
                var n = e[i];
                this.sortData[i] = n(this.element, this)
            }
        }
    };
    var o = i.destroy;
    return i.destroy = function() {
        o.apply(this, arguments), this.css({
            display: ""
        })
    }, e
})),
function(t, e) {
    "function" == typeof define && define.amd ? define("isotope-layout/js/layout-mode", ["get-size/get-size", "outlayer/outlayer"], e) : "object" == typeof module && module.exports ? module.exports = e(require("get-size"), require("outlayer")) : (t.Isotope = t.Isotope || {}, t.Isotope.LayoutMode = e(t.getSize, t.Outlayer))
}(window, (function(t, e) {
    "use strict";

    function i(t) {
        (this.isotope = t) && (this.options = t.options[this.namespace], this.element = t.element, this.items = t.filteredItems, this.size = t.size)
    }
    var n = i.prototype;
    return ["_resetLayout", "_getItemLayoutPosition", "_manageStamp", "_getContainerSize", "_getElementOffset", "needsResizeLayout", "_getOption"].forEach((function(t) {
        n[t] = function() {
            return e.prototype[t].apply(this.isotope, arguments)
        }
    })), n.needsVerticalResizeLayout = function() {
        var e = t(this.isotope.element);
        return this.isotope.size && e && e.innerHeight != this.isotope.size.innerHeight
    }, n._getMeasurement = function() {
        this.isotope._getMeasurement.apply(this, arguments)
    }, n.getColumnWidth = function() {
        this.getSegmentSize("column", "Width")
    }, n.getRowHeight = function() {
        this.getSegmentSize("row", "Height")
    }, n.getSegmentSize = function(t, e) {
        var i = t + e,
            n = "outer" + e;
        if (this._getMeasurement(i, n), !this[i]) {
            var o = this.getFirstItemSize();
            this[i] = o && o[n] || this.isotope.size["inner" + e]
        }
    }, n.getFirstItemSize = function() {
        var e = this.isotope.filteredItems[0];
        return e && e.element && t(e.element)
    }, n.layout = function() {
        this.isotope.layout.apply(this.isotope, arguments)
    }, n.getSize = function() {
        this.isotope.getSize(), this.size = this.isotope.size
    }, i.modes = {}, i.create = function(t, e) {
        function o() {
            i.apply(this, arguments)
        }
        return (o.prototype = Object.create(n)).constructor = o, e && (o.options = e), i.modes[o.prototype.namespace = t] = o
    }, i
})),
function(t, e) {
    "function" == typeof define && define.amd ? define("masonry-layout/masonry", ["outlayer/outlayer", "get-size/get-size"], e) : "object" == typeof module && module.exports ? module.exports = e(require("outlayer"), require("get-size")) : t.Masonry = e(t.Outlayer, t.getSize)
}(window, (function(t, e) {
    var i = t.create("masonry");
    i.compatOptions.fitWidth = "isFitWidth";
    var n = i.prototype;
    return n._resetLayout = function() {
        this.getSize(), this._getMeasurement("columnWidth", "outerWidth"), this._getMeasurement("gutter", "outerWidth"), this.measureColumns(), this.colYs = [];
        for (var t = 0; t < this.cols; t++) this.colYs.push(0);
        this.maxY = 0, this.horizontalColIndex = 0
    }, n.measureColumns = function() {
        if (this.getContainerWidth(), !this.columnWidth) {
            var t = this.items[0],
                i = t && t.element;
            this.columnWidth = i && e(i).outerWidth || this.containerWidth
        }
        var n = this.columnWidth += this.gutter,
            o = this.containerWidth + this.gutter,
            s = o / n,
            r = n - o % n;
        s = Math[r && r < 1 ? "round" : "floor"](s), this.cols = Math.max(s, 1)
    }, n.getContainerWidth = function() {
        var t = this._getOption("fitWidth") ? this.element.parentNode : this.element,
            i = e(t);
        this.containerWidth = i && i.innerWidth
    }, n._getItemLayoutPosition = function(t) {
        t.getSize();
        var e = t.size.outerWidth % this.columnWidth,
            i = Math[e && e < 1 ? "round" : "ceil"](t.size.outerWidth / this.columnWidth);
        i = Math.min(i, this.cols);
        for (var n = this[this.options.horizontalOrder ? "_getHorizontalColPosition" : "_getTopColPosition"](i, t), o = {
                x: this.columnWidth * n.col,
                y: n.y
            }, s = n.y + t.size.outerHeight, r = i + n.col, a = n.col; a < r; a++) this.colYs[a] = s;
        return o
    }, n._getTopColPosition = function(t) {
        var e = this._getTopColGroup(t),
            i = Math.min.apply(Math, e);
        return {
            col: e.indexOf(i),
            y: i
        }
    }, n._getTopColGroup = function(t) {
        if (t < 2) return this.colYs;
        for (var e = [], i = this.cols + 1 - t, n = 0; n < i; n++) e[n] = this._getColGroupY(n, t);
        return e
    }, n._getColGroupY = function(t, e) {
        if (e < 2) return this.colYs[t];
        var i = this.colYs.slice(t, t + e);
        return Math.max.apply(Math, i)
    }, n._getHorizontalColPosition = function(t, e) {
        var i = this.horizontalColIndex % this.cols;
        i = 1 < t && i + t > this.cols ? 0 : i;
        var n = e.size.outerWidth && e.size.outerHeight;
        return this.horizontalColIndex = n ? i + t : this.horizontalColIndex, {
            col: i,
            y: this._getColGroupY(i, t)
        }
    }, n._manageStamp = function(t) {
        var i = e(t),
            n = this._getElementOffset(t),
            o = this._getOption("originLeft") ? n.left : n.right,
            s = o + i.outerWidth,
            r = Math.floor(o / this.columnWidth);
        r = Math.max(0, r);
        var a = Math.floor(s / this.columnWidth);
        a -= s % this.columnWidth ? 0 : 1, a = Math.min(this.cols - 1, a);
        for (var l = (this._getOption("originTop") ? n.top : n.bottom) + i.outerHeight, c = r; c <= a; c++) this.colYs[c] = Math.max(l, this.colYs[c])
    }, n._getContainerSize = function() {
        this.maxY = Math.max.apply(Math, this.colYs);
        var t = {
            height: this.maxY
        };
        return this._getOption("fitWidth") && (t.width = this._getContainerFitWidth()), t
    }, n._getContainerFitWidth = function() {
        for (var t = 0, e = this.cols; --e && 0 === this.colYs[e];) t++;
        return (this.cols - t) * this.columnWidth - this.gutter
    }, n.needsResizeLayout = function() {
        var t = this.containerWidth;
        return this.getContainerWidth(), t != this.containerWidth
    }, i
})),
function(t, e) {
    "function" == typeof define && define.amd ? define("isotope-layout/js/layout-modes/masonry", ["../layout-mode", "masonry-layout/masonry"], e) : "object" == typeof module && module.exports ? module.exports = e(require("../layout-mode"), require("masonry-layout")) : e(t.Isotope.LayoutMode, t.Masonry)
}(window, (function(t, e) {
    "use strict";
    var i = t.create("masonry"),
        n = i.prototype,
        o = {
            _getElementOffset: !0,
            layout: !0,
            _getMeasurement: !0
        };
    for (var s in e.prototype) o[s] || (n[s] = e.prototype[s]);
    var r = n.measureColumns;
    n.measureColumns = function() {
        this.items = this.isotope.filteredItems, r.call(this)
    };
    var a = n._getOption;
    return n._getOption = function(t) {
        return "fitWidth" == t ? void 0 !== this.options.isFitWidth ? this.options.isFitWidth : this.options.fitWidth : a.apply(this.isotope, arguments)
    }, i
})),
function(t, e) {
    "function" == typeof define && define.amd ? define("isotope-layout/js/layout-modes/fit-rows", ["../layout-mode"], e) : "object" == typeof exports ? module.exports = e(require("../layout-mode")) : e(t.Isotope.LayoutMode)
}(window, (function(t) {
    "use strict";
    var e = t.create("fitRows"),
        i = e.prototype;
    return i._resetLayout = function() {
        this.x = 0, this.y = 0, this.maxY = 0, this._getMeasurement("gutter", "outerWidth")
    }, i._getItemLayoutPosition = function(t) {
        t.getSize();
        var e = t.size.outerWidth + this.gutter,
            i = this.isotope.size.innerWidth + this.gutter;
        0 !== this.x && e + this.x > i && (this.x = 0, this.y = this.maxY);
        var n = {
            x: this.x,
            y: this.y
        };
        return this.maxY = Math.max(this.maxY, this.y + t.size.outerHeight), this.x += e, n
    }, i._getContainerSize = function() {
        return {
            height: this.maxY
        }
    }, e
})),
function(t, e) {
    "function" == typeof define && define.amd ? define("isotope-layout/js/layout-modes/vertical", ["../layout-mode"], e) : "object" == typeof module && module.exports ? module.exports = e(require("../layout-mode")) : e(t.Isotope.LayoutMode)
}(window, (function(t) {
    "use strict";
    var e = t.create("vertical", {
            horizontalAlignment: 0
        }),
        i = e.prototype;
    return i._resetLayout = function() {
        this.y = 0
    }, i._getItemLayoutPosition = function(t) {
        t.getSize();
        var e = (this.isotope.size.innerWidth - t.size.outerWidth) * this.options.horizontalAlignment,
            i = this.y;
        return this.y += t.size.outerHeight, {
            x: e,
            y: i
        }
    }, i._getContainerSize = function() {
        return {
            height: this.y
        }
    }, e
})),
function(t, e) {
    "function" == typeof define && define.amd ? define(["outlayer/outlayer", "get-size/get-size", "desandro-matches-selector/matches-selector", "fizzy-ui-utils/utils", "isotope-layout/js/item", "isotope-layout/js/layout-mode", "isotope-layout/js/layout-modes/masonry", "isotope-layout/js/layout-modes/fit-rows", "isotope-layout/js/layout-modes/vertical"], (function(i, n, o, s, r, a) {
        return e(t, i, n, o, s, r, a)
    })) : "object" == typeof module && module.exports ? module.exports = e(t, require("outlayer"), require("get-size"), require("desandro-matches-selector"), require("fizzy-ui-utils"), require("isotope-layout/js/item"), require("isotope-layout/js/layout-mode"), require("isotope-layout/js/layout-modes/masonry"), require("isotope-layout/js/layout-modes/fit-rows"), require("isotope-layout/js/layout-modes/vertical")) : t.Isotope = e(t, t.Outlayer, t.getSize, t.matchesSelector, t.fizzyUIUtils, t.Isotope.Item, t.Isotope.LayoutMode)
}(window, (function(t, e, i, n, o, s, r) {
    var a = t.jQuery,
        l = String.prototype.trim ? function(t) {
            return t.trim()
        } : function(t) {
            return t.replace(/^\s+|\s+$/g, "")
        },
        c = e.create("isotope", {
            layoutMode: "masonry",
            isJQueryFiltering: !0,
            sortAscending: !0
        });
    c.Item = s, c.LayoutMode = r;
    var d = c.prototype;
    d._create = function() {
        for (var t in this.itemGUID = 0, this._sorters = {}, this._getSorters(), e.prototype._create.call(this), this.modes = {}, this.filteredItems = this.items, this.sortHistory = ["original-order"], r.modes) this._initLayoutMode(t)
    }, d.reloadItems = function() {
        this.itemGUID = 0, e.prototype.reloadItems.call(this)
    }, d._itemize = function() {
        for (var t = e.prototype._itemize.apply(this, arguments), i = 0; i < t.length; i++) t[i].id = this.itemGUID++;
        return this._updateItemsSortData(t), t
    }, d._initLayoutMode = function(t) {
        var e = r.modes[t],
            i = this.options[t] || {};
        this.options[t] = e.options ? o.extend(e.options, i) : i, this.modes[t] = new e(this)
    }, d.layout = function() {
        return !this._isLayoutInited && this._getOption("initLayout") ? void this.arrange() : void this._layout()
    }, d._layout = function() {
        var t = this._getIsInstant();
        this._resetLayout(), this._manageStamps(), this.layoutItems(this.filteredItems, t), this._isLayoutInited = !0
    }, d.arrange = function(t) {
        this.option(t), this._getIsInstant();
        var e = this._filter(this.items);
        this.filteredItems = e.matches, this._bindArrangeComplete(), this._isInstant ? this._noTransition(this._hideReveal, [e]) : this._hideReveal(e), this._sort(), this._layout()
    }, d._init = d.arrange, d._hideReveal = function(t) {
        this.reveal(t.needReveal), this.hide(t.needHide)
    }, d._getIsInstant = function() {
        var t = this._getOption("layoutInstant"),
            e = void 0 !== t ? t : !this._isLayoutInited;
        return this._isInstant = e
    }, d._bindArrangeComplete = function() {
        function t() {
            e && i && n && o.dispatchEvent("arrangeComplete", null, [o.filteredItems])
        }
        var e, i, n, o = this;
        this.once("layoutComplete", (function() {
            e = !0, t()
        })), this.once("hideComplete", (function() {
            i = !0, t()
        })), this.once("revealComplete", (function() {
            n = !0, t()
        }))
    }, d._filter = function(t) {
        var e = this.options.filter;
        e = e || "*";
        for (var i = [], n = [], o = [], s = this._getFilterTest(e), r = 0; r < t.length; r++) {
            var a = t[r];
            if (!a.isIgnored) {
                var l = s(a);
                l && i.push(a), l && a.isHidden ? n.push(a) : l || a.isHidden || o.push(a)
            }
        }
        return {
            matches: i,
            needReveal: n,
            needHide: o
        }
    }, d._getFilterTest = function(t) {
        return a && this.options.isJQueryFiltering ? function(e) {
            return a(e.element).is(t)
        } : "function" == typeof t ? function(e) {
            return t(e.element)
        } : function(e) {
            return n(e.element, t)
        }
    }, d.updateSortData = function(t) {
        var e;
        e = t ? (t = o.makeArray(t), this.getItems(t)) : this.items, this._getSorters(), this._updateItemsSortData(e)
    }, d._getSorters = function() {
        var t = this.options.getSortData;
        for (var e in t) {
            var i = t[e];
            this._sorters[e] = u(i)
        }
    }, d._updateItemsSortData = function(t) {
        for (var e = t && t.length, i = 0; e && i < e; i++) t[i].updateSortData()
    };
    var u = function(t) {
        if ("string" != typeof t) return t;
        var e, i, n = l(t).split(" "),
            o = n[0],
            s = o.match(/^\[(.+)\]$/),
            r = s && s[1],
            a = (i = o, (e = r) ? function(t) {
                return t.getAttribute(e)
            } : function(t) {
                var e = t.querySelector(i);
                return e && e.textContent
            }),
            d = c.sortDataParsers[n[1]];
        return d ? function(t) {
            return t && d(a(t))
        } : function(t) {
            return t && a(t)
        }
    };
    c.sortDataParsers = {
        parseInt: function(t) {
            return parseInt(t, 10)
        },
        parseFloat: function(t) {
            return parseFloat(t)
        }
    }, d._sort = function() {
        if (this.options.sortBy) {
            var t = o.makeArray(this.options.sortBy);
            this._getIsSameSortBy(t) || (this.sortHistory = t.concat(this.sortHistory));
            var e = (i = this.sortHistory, n = this.options.sortAscending, function(t, e) {
                for (var o = 0; o < i.length; o++) {
                    var s = i[o],
                        r = t.sortData[s],
                        a = e.sortData[s];
                    if (a < r || r < a) return (a < r ? 1 : -1) * ((void 0 !== n[s] ? n[s] : n) ? 1 : -1)
                }
                return 0
            });
            this.filteredItems.sort(e)
        }
        var i, n
    }, d._getIsSameSortBy = function(t) {
        for (var e = 0; e < t.length; e++)
            if (t[e] != this.sortHistory[e]) return !1;
        return !0
    }, d._mode = function() {
        var t = this.options.layoutMode,
            e = this.modes[t];
        if (!e) throw new Error("No layout mode: " + t);
        return e.options = this.options[t], e
    }, d._resetLayout = function() {
        e.prototype._resetLayout.call(this), this._mode()._resetLayout()
    }, d._getItemLayoutPosition = function(t) {
        return this._mode()._getItemLayoutPosition(t)
    }, d._manageStamp = function(t) {
        this._mode()._manageStamp(t)
    }, d._getContainerSize = function() {
        return this._mode()._getContainerSize()
    }, d.needsResizeLayout = function() {
        return this._mode().needsResizeLayout()
    }, d.appended = function(t) {
        var e = this.addItems(t);
        if (e.length) {
            var i = this._filterRevealAdded(e);
            this.filteredItems = this.filteredItems.concat(i)
        }
    }, d.prepended = function(t) {
        var e = this._itemize(t);
        if (e.length) {
            this._resetLayout(), this._manageStamps();
            var i = this._filterRevealAdded(e);
            this.layoutItems(this.filteredItems), this.filteredItems = i.concat(this.filteredItems), this.items = e.concat(this.items)
        }
    }, d._filterRevealAdded = function(t) {
        var e = this._filter(t);
        return this.hide(e.needHide), this.reveal(e.matches), this.layoutItems(e.matches, !0), e.matches
    }, d.insert = function(t) {
        var e = this.addItems(t);
        if (e.length) {
            var i, n, o = e.length;
            for (i = 0; i < o; i++) n = e[i], this.element.appendChild(n.element);
            var s = this._filter(e).matches;
            for (i = 0; i < o; i++) e[i].isLayoutInstant = !0;
            for (this.arrange(), i = 0; i < o; i++) delete e[i].isLayoutInstant;
            this.reveal(s)
        }
    };
    var h = d.remove;
    return d.remove = function(t) {
        t = o.makeArray(t);
        var e = this.getItems(t);
        h.call(this, t);
        for (var i = e && e.length, n = 0; i && n < i; n++) {
            var s = e[n];
            o.removeFrom(this.filteredItems, s)
        }
    }, d.shuffle = function() {
        for (var t = 0; t < this.items.length; t++) this.items[t].sortData.random = Math.random();
        this.options.sortBy = "random", this._sort(), this._layout()
    }, d._noTransition = function(t, e) {
        var i = this.options.transitionDuration;
        this.options.transitionDuration = 0;
        var n = t.apply(this, e);
        return this.options.transitionDuration = i, n
    }, d.getFilteredItemElements = function() {
        return this.filteredItems.map((function(t) {
            return t.element
        }))
    }, c
})),
function(t) {
    "function" == typeof define && define.amd ? define(["jquery"], t) : t(jQuery)
}((function(t) {
    t.ui = t.ui || {}, t.ui.version = "1.12.1";
    var e, i = 0,
        n = Array.prototype.slice;
    t.cleanData = (e = t.cleanData, function(i) {
        for (var n, o, s = 0; null != (o = i[s]); s++) try {
            (n = t._data(o, "events")) && n.remove && t(o).triggerHandler("remove")
        } catch (i) {}
        e(i)
    }), t.widget = function(e, i, n) {
        var o, s, r, a = {},
            l = e.split(".")[0],
            c = l + "-" + (e = e.split(".")[1]);
        return n || (n = i, i = t.Widget), t.isArray(n) && (n = t.extend.apply(null, [{}].concat(n))), t.expr[":"][c.toLowerCase()] = function(e) {
            return !!t.data(e, c)
        }, t[l] = t[l] || {}, o = t[l][e], s = t[l][e] = function(t, e) {
            if (!this._createWidget) return new s(t, e);
            arguments.length && this._createWidget(t, e)
        }, t.extend(s, o, {
            version: n.version,
            _proto: t.extend({}, n),
            _childConstructors: []
        }), (r = new i).options = t.widget.extend({}, r.options), t.each(n, (function(e, n) {
            function o() {
                return i.prototype[e].apply(this, arguments)
            }

            function s(t) {
                return i.prototype[e].apply(this, t)
            }
            t.isFunction(n) ? a[e] = function() {
                var t, e = this._super,
                    i = this._superApply;
                return this._super = o, this._superApply = s, t = n.apply(this, arguments), this._super = e, this._superApply = i, t
            } : a[e] = n
        })), s.prototype = t.widget.extend(r, {
            widgetEventPrefix: o && r.widgetEventPrefix || e
        }, a, {
            constructor: s,
            namespace: l,
            widgetName: e,
            widgetFullName: c
        }), o ? (t.each(o._childConstructors, (function(e, i) {
            var n = i.prototype;
            t.widget(n.namespace + "." + n.widgetName, s, i._proto)
        })), delete o._childConstructors) : i._childConstructors.push(s), t.widget.bridge(e, s), s
    }, t.widget.extend = function(e) {
        for (var i, o, s = n.call(arguments, 1), r = 0, a = s.length; r < a; r++)
            for (i in s[r]) o = s[r][i], s[r].hasOwnProperty(i) && void 0 !== o && (t.isPlainObject(o) ? e[i] = t.isPlainObject(e[i]) ? t.widget.extend({}, e[i], o) : t.widget.extend({}, o) : e[i] = o);
        return e
    }, t.widget.bridge = function(e, i) {
        var o = i.prototype.widgetFullName || e;
        t.fn[e] = function(s) {
            var r = "string" == typeof s,
                a = n.call(arguments, 1),
                l = this;
            return r ? this.length || "instance" !== s ? this.each((function() {
                var i, n = t.data(this, o);
                return "instance" === s ? (l = n, !1) : n ? t.isFunction(n[s]) && "_" !== s.charAt(0) ? (i = n[s].apply(n, a)) !== n && void 0 !== i ? (l = i && i.jquery ? l.pushStack(i.get()) : i, !1) : void 0 : t.error("no such method '" + s + "' for " + e + " widget instance") : t.error("cannot call methods on " + e + " prior to initialization; attempted to call method '" + s + "'")
            })) : l = void 0 : (a.length && (s = t.widget.extend.apply(null, [s].concat(a))), this.each((function() {
                var e = t.data(this, o);
                e ? (e.option(s || {}), e._init && e._init()) : t.data(this, o, new i(s, this))
            }))), l
        }
    }, t.Widget = function() {}, t.Widget._childConstructors = [], t.Widget.prototype = {
        widgetName: "widget",
        widgetEventPrefix: "",
        defaultElement: "<div>",
        options: {
            classes: {},
            disabled: !1,
            create: null
        },
        _createWidget: function(e, n) {
            n = t(n || this.defaultElement || this)[0], this.element = t(n), this.uuid = i++, this.eventNamespace = "." + this.widgetName + this.uuid, this.bindings = t(), this.hoverable = t(), this.focusable = t(), this.classesElementLookup = {}, n !== this && (t.data(n, this.widgetFullName, this), this._on(!0, this.element, {
                remove: function(t) {
                    t.target === n && this.destroy()
                }
            }), this.document = t(n.style ? n.ownerDocument : n.document || n), this.window = t(this.document[0].defaultView || this.document[0].parentWindow)), this.options = t.widget.extend({}, this.options, this._getCreateOptions(), e), this._create(), this.options.disabled && this._setOptionDisabled(this.options.disabled), this._trigger("create", null, this._getCreateEventData()), this._init()
        },
        _getCreateOptions: function() {
            return {}
        },
        _getCreateEventData: t.noop,
        _create: t.noop,
        _init: t.noop,
        destroy: function() {
            var e = this;
            this._destroy(), t.each(this.classesElementLookup, (function(t, i) {
                e._removeClass(i, t)
            })), this.element.off(this.eventNamespace).removeData(this.widgetFullName), this.widget().off(this.eventNamespace).removeAttr("aria-disabled"), this.bindings.off(this.eventNamespace)
        },
        _destroy: t.noop,
        widget: function() {
            return this.element
        },
        option: function(e, i) {
            var n, o, s, r = e;
            if (0 === arguments.length) return t.widget.extend({}, this.options);
            if ("string" == typeof e)
                if (r = {}, e = (n = e.split(".")).shift(), n.length) {
                    for (o = r[e] = t.widget.extend({}, this.options[e]), s = 0; s < n.length - 1; s++) o[n[s]] = o[n[s]] || {}, o = o[n[s]];
                    if (e = n.pop(), 1 === arguments.length) return void 0 === o[e] ? null : o[e];
                    o[e] = i
                } else {
                    if (1 === arguments.length) return void 0 === this.options[e] ? null : this.options[e];
                    r[e] = i
                } return this._setOptions(r), this
        },
        _setOptions: function(t) {
            for (var e in t) this._setOption(e, t[e]);
            return this
        },
        _setOption: function(t, e) {
            return "classes" === t && this._setOptionClasses(e), this.options[t] = e, "disabled" === t && this._setOptionDisabled(e), this
        },
        _setOptionClasses: function(e) {
            var i, n, o;
            for (i in e) o = this.classesElementLookup[i], e[i] !== this.options.classes[i] && o && o.length && (n = t(o.get()), this._removeClass(o, i), n.addClass(this._classes({
                element: n,
                keys: i,
                classes: e,
                add: !0
            })))
        },
        _setOptionDisabled: function(t) {
            this._toggleClass(this.widget(), this.widgetFullName + "-disabled", null, !!t), t && (this._removeClass(this.hoverable, null, "ui-state-hover"), this._removeClass(this.focusable, null, "ui-state-focus"))
        },
        enable: function() {
            return this._setOptions({
                disabled: !1
            })
        },
        disable: function() {
            return this._setOptions({
                disabled: !0
            })
        },
        _classes: function(e) {
            var i = [],
                n = this;

            function o(o, s) {
                for (var r, a = 0; a < o.length; a++) r = n.classesElementLookup[o[a]] || t(), r = e.add ? t(t.unique(r.get().concat(e.element.get()))) : t(r.not(e.element).get()), n.classesElementLookup[o[a]] = r, i.push(o[a]), s && e.classes[o[a]] && i.push(e.classes[o[a]])
            }
            return e = t.extend({
                element: this.element,
                classes: this.options.classes || {}
            }, e), this._on(e.element, {
                remove: "_untrackClassesElement"
            }), e.keys && o(e.keys.match(/\S+/g) || [], !0), e.extra && o(e.extra.match(/\S+/g) || []), i.join(" ")
        },
        _untrackClassesElement: function(e) {
            var i = this;
            t.each(i.classesElementLookup, (function(n, o) {
                -1 !== t.inArray(e.target, o) && (i.classesElementLookup[n] = t(o.not(e.target).get()))
            }))
        },
        _removeClass: function(t, e, i) {
            return this._toggleClass(t, e, i, !1)
        },
        _addClass: function(t, e, i) {
            return this._toggleClass(t, e, i, !0)
        },
        _toggleClass: function(t, e, i, n) {
            n = "boolean" == typeof n ? n : i;
            var o = "string" == typeof t || null === t;
            return (t = {
                extra: o ? e : i,
                keys: o ? t : e,
                element: o ? this.element : t,
                add: n
            }).element.toggleClass(this._classes(t), n), this
        },
        _on: function(e, i, n) {
            var o, s = this;
            "boolean" != typeof e && (n = i, i = e, e = !1), n ? (i = o = t(i), this.bindings = this.bindings.add(i)) : (n = i, i = this.element, o = this.widget()), t.each(n, (function(n, r) {
                function a() {
                    if (e || !0 !== s.options.disabled && !t(this).hasClass("ui-state-disabled")) return ("string" == typeof r ? s[r] : r).apply(s, arguments)
                }
                var l;
                "string" != typeof r && (a.guid = r.guid = r.guid || a.guid || t.guid++), n = (l = n.match(/^([\w:-]*)\s*(.*)$/))[1] + s.eventNamespace, (l = l[2]) ? o.on(n, l, a) : i.on(n, a)
            }))
        },
        _off: function(e, i) {
            i = (i || "").split(" ").join(this.eventNamespace + " ") + this.eventNamespace, e.off(i).off(i), this.bindings = t(this.bindings.not(e).get()), this.focusable = t(this.focusable.not(e).get()), this.hoverable = t(this.hoverable.not(e).get())
        },
        _delay: function(t, e) {
            var i = this;
            return setTimeout((function() {
                return ("string" == typeof t ? i[t] : t).apply(i, arguments)
            }), e || 0)
        },
        _hoverable: function(e) {
            this.hoverable = this.hoverable.add(e), this._on(e, {
                mouseenter: function(e) {
                    this._addClass(t(e.currentTarget), null, "ui-state-hover")
                },
                mouseleave: function(e) {
                    this._removeClass(t(e.currentTarget), null, "ui-state-hover")
                }
            })
        },
        _focusable: function(e) {
            this.focusable = this.focusable.add(e), this._on(e, {
                focusin: function(e) {
                    this._addClass(t(e.currentTarget), null, "ui-state-focus")
                },
                focusout: function(e) {
                    this._removeClass(t(e.currentTarget), null, "ui-state-focus")
                }
            })
        },
        _trigger: function(e, i, n) {
            var o, s, r = this.options[e];
            if (n = n || {}, (i = t.Event(i)).type = (e === this.widgetEventPrefix ? e : this.widgetEventPrefix + e).toLowerCase(), i.target = this.element[0], s = i.originalEvent)
                for (o in s) o in i || (i[o] = s[o]);
            return this.element.trigger(i, n), !(t.isFunction(r) && !1 === r.apply(this.element[0], [i].concat(n)) || i.isDefaultPrevented())
        }
    }, t.each({
        show: "fadeIn",
        hide: "fadeOut"
    }, (function(e, i) {
        t.Widget.prototype["_" + e] = function(n, o, s) {
            var r;
            "string" == typeof o && (o = {
                effect: o
            });
            var a = o ? !0 !== o && "number" != typeof o && o.effect || i : e;
            "number" == typeof(o = o || {}) && (o = {
                duration: o
            }), r = !t.isEmptyObject(o), o.complete = s, o.delay && n.delay(o.delay), r && t.effects && t.effects.effect[a] ? n[e](o) : a !== e && n[a] ? n[a](o.duration, o.easing, s) : n.queue((function(i) {
                t(this)[e](), s && s.call(n[0]), i()
            }))
        }
    })), t.widget, t.ui.keyCode = {
        BACKSPACE: 8,
        COMMA: 188,
        DELETE: 46,
        DOWN: 40,
        END: 35,
        ENTER: 13,
        ESCAPE: 27,
        HOME: 36,
        LEFT: 37,
        PAGE_DOWN: 34,
        PAGE_UP: 33,
        PERIOD: 190,
        RIGHT: 39,
        SPACE: 32,
        TAB: 9,
        UP: 38
    }, t.ui.ie = !!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());
    var o = !1;
    t(document).on("mouseup", (function() {
        o = !1
    })), t.widget("ui.mouse", {
        version: "1.12.1",
        options: {
            cancel: "input, textarea, button, select, option",
            distance: 1,
            delay: 0
        },
        _mouseInit: function() {
            var e = this;
            this.element.on("mousedown." + this.widgetName, (function(t) {
                return e._mouseDown(t)
            })).on("click." + this.widgetName, (function(i) {
                if (!0 === t.data(i.target, e.widgetName + ".preventClickEvent")) return t.removeData(i.target, e.widgetName + ".preventClickEvent"), i.stopImmediatePropagation(), !1
            })), this.started = !1
        },
        _mouseDestroy: function() {
            this.element.off("." + this.widgetName), this._mouseMoveDelegate && this.document.off("mousemove." + this.widgetName, this._mouseMoveDelegate).off("mouseup." + this.widgetName, this._mouseUpDelegate)
        },
        _mouseDown: function(e) {
            if (!o) {
                this._mouseMoved = !1, this._mouseStarted && this._mouseUp(e), this._mouseDownEvent = e;
                var i = this,
                    n = 1 === e.which,
                    s = !("string" != typeof this.options.cancel || !e.target.nodeName) && t(e.target).closest(this.options.cancel).length;
                return !(n && !s && this._mouseCapture(e)) || (this.mouseDelayMet = !this.options.delay, this.mouseDelayMet || (this._mouseDelayTimer = setTimeout((function() {
                    i.mouseDelayMet = !0
                }), this.options.delay)), this._mouseDistanceMet(e) && this._mouseDelayMet(e) && (this._mouseStarted = !1 !== this._mouseStart(e), !this._mouseStarted) ? (e.preventDefault(), !0) : (!0 === t.data(e.target, this.widgetName + ".preventClickEvent") && t.removeData(e.target, this.widgetName + ".preventClickEvent"), this._mouseMoveDelegate = function(t) {
                    return i._mouseMove(t)
                }, this._mouseUpDelegate = function(t) {
                    return i._mouseUp(t)
                }, this.document.on("mousemove." + this.widgetName, this._mouseMoveDelegate).on("mouseup." + this.widgetName, this._mouseUpDelegate), e.preventDefault(), o = !0))
            }
        },
        _mouseMove: function(e) {
            if (this._mouseMoved) {
                if (t.ui.ie && (!document.documentMode || document.documentMode < 9) && !e.button) return this._mouseUp(e);
                if (!e.which)
                    if (e.originalEvent.altKey || e.originalEvent.ctrlKey || e.originalEvent.metaKey || e.originalEvent.shiftKey) this.ignoreMissingWhich = !0;
                    else if (!this.ignoreMissingWhich) return this._mouseUp(e)
            }
            return (e.which || e.button) && (this._mouseMoved = !0), this._mouseStarted ? (this._mouseDrag(e), e.preventDefault()) : (this._mouseDistanceMet(e) && this._mouseDelayMet(e) && (this._mouseStarted = !1 !== this._mouseStart(this._mouseDownEvent, e), this._mouseStarted ? this._mouseDrag(e) : this._mouseUp(e)), !this._mouseStarted)
        },
        _mouseUp: function(e) {
            this.document.off("mousemove." + this.widgetName, this._mouseMoveDelegate).off("mouseup." + this.widgetName, this._mouseUpDelegate), this._mouseStarted && (this._mouseStarted = !1, e.target === this._mouseDownEvent.target && t.data(e.target, this.widgetName + ".preventClickEvent", !0), this._mouseStop(e)), this._mouseDelayTimer && (clearTimeout(this._mouseDelayTimer), delete this._mouseDelayTimer), this.ignoreMissingWhich = !1, o = !1, e.preventDefault()
        },
        _mouseDistanceMet: function(t) {
            return Math.max(Math.abs(this._mouseDownEvent.pageX - t.pageX), Math.abs(this._mouseDownEvent.pageY - t.pageY)) >= this.options.distance
        },
        _mouseDelayMet: function() {
            return this.mouseDelayMet
        },
        _mouseStart: function() {},
        _mouseDrag: function() {},
        _mouseStop: function() {},
        _mouseCapture: function() {
            return !0
        }
    }), t.widget("ui.slider", t.ui.mouse, {
        version: "1.12.1",
        widgetEventPrefix: "slide",
        options: {
            animate: !1,
            classes: {
                "ui-slider": "ui-corner-all",
                "ui-slider-handle": "ui-corner-all",
                "ui-slider-range": "ui-corner-all ui-widget-header"
            },
            distance: 0,
            max: 100,
            min: 0,
            orientation: "horizontal",
            range: !1,
            step: 1,
            value: 0,
            values: null,
            change: null,
            slide: null,
            start: null,
            stop: null
        },
        numPages: 5,
        _create: function() {
            this._keySliding = !1, this._mouseSliding = !1, this._animateOff = !0, this._handleIndex = null, this._detectOrientation(), this._mouseInit(), this._calculateNewMax(), this._addClass("ui-slider ui-slider-" + this.orientation, "ui-widget ui-widget-content"), this._refresh(), this._animateOff = !1
        },
        _refresh: function() {
            this._createRange(), this._createHandles(), this._setupEvents(), this._refreshValue()
        },
        _createHandles: function() {
            var e, i = this.options,
                n = this.element.find(".ui-slider-handle"),
                o = [],
                s = i.values && i.values.length || 1;
            for (n.length > s && (n.slice(s).remove(), n = n.slice(0, s)), e = n.length; e < s; e++) o.push("<span tabindex='0'></span>");
            this.handles = n.add(t(o.join("")).appendTo(this.element)), this._addClass(this.handles, "ui-slider-handle", "ui-state-default"), this.handle = this.handles.eq(0), this.handles.each((function(e) {
                t(this).data("ui-slider-handle-index", e).attr("tabIndex", 0)
            }))
        },
        _createRange: function() {
            var e = this.options;
            e.range ? (!0 === e.range && (e.values ? e.values.length && 2 !== e.values.length ? e.values = [e.values[0], e.values[0]] : t.isArray(e.values) && (e.values = e.values.slice(0)) : e.values = [this._valueMin(), this._valueMin()]), this.range && this.range.length ? (this._removeClass(this.range, "ui-slider-range-min ui-slider-range-max"), this.range.css({
                left: "",
                bottom: ""
            })) : (this.range = t("<div>").appendTo(this.element), this._addClass(this.range, "ui-slider-range")), "min" !== e.range && "max" !== e.range || this._addClass(this.range, "ui-slider-range-" + e.range)) : (this.range && this.range.remove(), this.range = null)
        },
        _setupEvents: function() {
            this._off(this.handles), this._on(this.handles, this._handleEvents), this._hoverable(this.handles), this._focusable(this.handles)
        },
        _destroy: function() {
            this.handles.remove(), this.range && this.range.remove(), this._mouseDestroy()
        },
        _mouseCapture: function(e) {
            var i, n, o, s, r, a, l = this,
                c = this.options;
            return !c.disabled && (this.elementSize = {
                width: this.element.outerWidth(),
                height: this.element.outerHeight()
            }, this.elementOffset = this.element.offset(), a = {
                x: e.pageX,
                y: e.pageY
            }, i = this._normValueFromMouse(a), n = this._valueMax() - this._valueMin() + 1, this.handles.each((function(e) {
                var r = Math.abs(i - l.values(e));
                (r < n || n === r && (e === l._lastChangedValue || l.values(e) === c.min)) && (n = r, o = t(this), s = e)
            })), !1 !== this._start(e, s) && (this._mouseSliding = !0, this._handleIndex = s, this._addClass(o, null, "ui-state-active"), o.trigger("focus"), r = o.offset(), a = !t(e.target).parents().addBack().is(".ui-slider-handle"), this._clickOffset = a ? {
                left: 0,
                top: 0
            } : {
                left: e.pageX - r.left - o.width() / 2,
                top: e.pageY - r.top - o.height() / 2 - (parseInt(o.css("borderTopWidth"), 10) || 0) - (parseInt(o.css("borderBottomWidth"), 10) || 0) + (parseInt(o.css("marginTop"), 10) || 0)
            }, this.handles.hasClass("ui-state-hover") || this._slide(e, s, i), this._animateOff = !0))
        },
        _mouseStart: function() {
            return !0
        },
        _mouseDrag: function(t) {
            var e = {
                x: t.pageX,
                y: t.pageY
            };
            return e = this._normValueFromMouse(e), this._slide(t, this._handleIndex, e), !1
        },
        _mouseStop: function(t) {
            return this._removeClass(this.handles, null, "ui-state-active"), this._mouseSliding = !1, this._stop(t, this._handleIndex), this._change(t, this._handleIndex), this._handleIndex = null, this._clickOffset = null, this._animateOff = !1
        },
        _detectOrientation: function() {
            this.orientation = "vertical" === this.options.orientation ? "vertical" : "horizontal"
        },
        _normValueFromMouse: function(t) {
            var e;
            return 1 < (t = (t = "horizontal" === this.orientation ? (e = this.elementSize.width, t.x - this.elementOffset.left - (this._clickOffset ? this._clickOffset.left : 0)) : (e = this.elementSize.height, t.y - this.elementOffset.top - (this._clickOffset ? this._clickOffset.top : 0))) / e) && (t = 1), t < 0 && (t = 0), "vertical" === this.orientation && (t = 1 - t), e = this._valueMax() - this._valueMin(), e = this._valueMin() + t * e, this._trimAlignValue(e)
        },
        _uiHash: function(t, e, i) {
            var n = {
                handle: this.handles[t],
                handleIndex: t,
                value: void 0 !== e ? e : this.value()
            };
            return this._hasMultipleValues() && (n.value = void 0 !== e ? e : this.values(t), n.values = i || this.values()), n
        },
        _hasMultipleValues: function() {
            return this.options.values && this.options.values.length
        },
        _start: function(t, e) {
            return this._trigger("start", t, this._uiHash(e))
        },
        _slide: function(t, e, i) {
            var n, o = this.value(),
                s = this.values();
            this._hasMultipleValues() && (n = this.values(e ? 0 : 1), o = this.values(e), 2 === this.options.values.length && !0 === this.options.range && (i = 0 === e ? Math.min(n, i) : Math.max(n, i)), s[e] = i), i !== o && !1 !== this._trigger("slide", t, this._uiHash(e, i, s)) && (this._hasMultipleValues() ? this.values(e, i) : this.value(i))
        },
        _stop: function(t, e) {
            this._trigger("stop", t, this._uiHash(e))
        },
        _change: function(t, e) {
            this._keySliding || this._mouseSliding || (this._lastChangedValue = e, this._trigger("change", t, this._uiHash(e)))
        },
        value: function(t) {
            return arguments.length ? (this.options.value = this._trimAlignValue(t), this._refreshValue(), void this._change(null, 0)) : this._value()
        },
        values: function(e, i) {
            var n, o, s;
            if (1 < arguments.length) return this.options.values[e] = this._trimAlignValue(i), this._refreshValue(), void this._change(null, e);
            if (!arguments.length) return this._values();
            if (!t.isArray(e)) return this._hasMultipleValues() ? this._values(e) : this.value();
            for (n = this.options.values, o = e, s = 0; s < n.length; s += 1) n[s] = this._trimAlignValue(o[s]), this._change(null, s);
            this._refreshValue()
        },
        _setOption: function(e, i) {
            var n, o = 0;
            switch ("range" === e && !0 === this.options.range && ("min" === i ? (this.options.value = this._values(0), this.options.values = null) : "max" === i && (this.options.value = this._values(this.options.values.length - 1), this.options.values = null)), t.isArray(this.options.values) && (o = this.options.values.length), this._super(e, i), e) {
                case "orientation":
                    this._detectOrientation(), this._removeClass("ui-slider-horizontal ui-slider-vertical")._addClass("ui-slider-" + this.orientation), this._refreshValue(), this.options.range && this._refreshRange(i), this.handles.css("horizontal" === i ? "bottom" : "left", "");
                    break;
                case "value":
                    this._animateOff = !0, this._refreshValue(), this._change(null, 0), this._animateOff = !1;
                    break;
                case "values":
                    for (this._animateOff = !0, this._refreshValue(), n = o - 1; 0 <= n; n--) this._change(null, n);
                    this._animateOff = !1;
                    break;
                case "step":
                case "min":
                case "max":
                    this._animateOff = !0, this._calculateNewMax(), this._refreshValue(), this._animateOff = !1;
                    break;
                case "range":
                    this._animateOff = !0, this._refresh(), this._animateOff = !1
            }
        },
        _setOptionDisabled: function(t) {
            this._super(t), this._toggleClass(null, "ui-state-disabled", !!t)
        },
        _value: function() {
            var t = this.options.value;
            return this._trimAlignValue(t)
        },
        _values: function(t) {
            var e, i, n;
            if (arguments.length) return e = this.options.values[t], this._trimAlignValue(e);
            if (this._hasMultipleValues()) {
                for (i = this.options.values.slice(), n = 0; n < i.length; n += 1) i[n] = this._trimAlignValue(i[n]);
                return i
            }
            return []
        },
        _trimAlignValue: function(t) {
            if (t <= this._valueMin()) return this._valueMin();
            if (t >= this._valueMax()) return this._valueMax();
            var e = 0 < this.options.step ? this.options.step : 1,
                i = (t - this._valueMin()) % e;
            return t -= i, 2 * Math.abs(i) >= e && (t += 0 < i ? e : -e), parseFloat(t.toFixed(5))
        },
        _calculateNewMax: function() {
            var t = this.options.max,
                e = this._valueMin(),
                i = this.options.step;
            (t = Math.round((t - e) / i) * i + e) > this.options.max && (t -= i), this.max = parseFloat(t.toFixed(this._precision()))
        },
        _precision: function() {
            var t = this._precisionOf(this.options.step);
            return null !== this.options.min && (t = Math.max(t, this._precisionOf(this.options.min))), t
        },
        _precisionOf: function(t) {
            var e = t.toString();
            return -1 === (t = e.indexOf(".")) ? 0 : e.length - t - 1
        },
        _valueMin: function() {
            return this.options.min
        },
        _valueMax: function() {
            return this.max
        },
        _refreshRange: function(t) {
            "vertical" === t && this.range.css({
                width: "",
                left: ""
            }), "horizontal" === t && this.range.css({
                height: "",
                bottom: ""
            })
        },
        _refreshValue: function() {
            var e, i, n, o, s, r = this.options.range,
                a = this.options,
                l = this,
                c = !this._animateOff && a.animate,
                d = {};
            this._hasMultipleValues() ? this.handles.each((function(n) {
                i = (l.values(n) - l._valueMin()) / (l._valueMax() - l._valueMin()) * 100, d["horizontal" === l.orientation ? "left" : "bottom"] = i + "%", t(this).stop(1, 1)[c ? "animate" : "css"](d, a.animate), !0 === l.options.range && ("horizontal" === l.orientation ? (0 === n && l.range.stop(1, 1)[c ? "animate" : "css"]({
                    left: i + "%"
                }, a.animate), 1 === n && l.range[c ? "animate" : "css"]({
                    width: i - e + "%"
                }, {
                    queue: !1,
                    duration: a.animate
                })) : (0 === n && l.range.stop(1, 1)[c ? "animate" : "css"]({
                    bottom: i + "%"
                }, a.animate), 1 === n && l.range[c ? "animate" : "css"]({
                    height: i - e + "%"
                }, {
                    queue: !1,
                    duration: a.animate
                }))), e = i
            })) : (n = this.value(), o = this._valueMin(), s = this._valueMax(), i = s !== o ? (n - o) / (s - o) * 100 : 0, d["horizontal" === this.orientation ? "left" : "bottom"] = i + "%", this.handle.stop(1, 1)[c ? "animate" : "css"](d, a.animate), "min" === r && "horizontal" === this.orientation && this.range.stop(1, 1)[c ? "animate" : "css"]({
                width: i + "%"
            }, a.animate), "max" === r && "horizontal" === this.orientation && this.range.stop(1, 1)[c ? "animate" : "css"]({
                width: 100 - i + "%"
            }, a.animate), "min" === r && "vertical" === this.orientation && this.range.stop(1, 1)[c ? "animate" : "css"]({
                height: i + "%"
            }, a.animate), "max" === r && "vertical" === this.orientation && this.range.stop(1, 1)[c ? "animate" : "css"]({
                height: 100 - i + "%"
            }, a.animate))
        },
        _handleEvents: {
            keydown: function(e) {
                var i, n, o, s = t(e.target).data("ui-slider-handle-index");
                switch (e.keyCode) {
                    case t.ui.keyCode.HOME:
                    case t.ui.keyCode.END:
                    case t.ui.keyCode.PAGE_UP:
                    case t.ui.keyCode.PAGE_DOWN:
                    case t.ui.keyCode.UP:
                    case t.ui.keyCode.RIGHT:
                    case t.ui.keyCode.DOWN:
                    case t.ui.keyCode.LEFT:
                        if (e.preventDefault(), !this._keySliding && (this._keySliding = !0, this._addClass(t(e.target), null, "ui-state-active"), !1 === this._start(e, s))) return
                }
                switch (o = this.options.step, i = n = this._hasMultipleValues() ? this.values(s) : this.value(), e.keyCode) {
                    case t.ui.keyCode.HOME:
                        n = this._valueMin();
                        break;
                    case t.ui.keyCode.END:
                        n = this._valueMax();
                        break;
                    case t.ui.keyCode.PAGE_UP:
                        n = this._trimAlignValue(i + (this._valueMax() - this._valueMin()) / this.numPages);
                        break;
                    case t.ui.keyCode.PAGE_DOWN:
                        n = this._trimAlignValue(i - (this._valueMax() - this._valueMin()) / this.numPages);
                        break;
                    case t.ui.keyCode.UP:
                    case t.ui.keyCode.RIGHT:
                        if (i === this._valueMax()) return;
                        n = this._trimAlignValue(i + o);
                        break;
                    case t.ui.keyCode.DOWN:
                    case t.ui.keyCode.LEFT:
                        if (i === this._valueMin()) return;
                        n = this._trimAlignValue(i - o)
                }
                this._slide(e, s, n)
            },
            keyup: function(e) {
                var i = t(e.target).data("ui-slider-handle-index");
                this._keySliding && (this._keySliding = !1, this._stop(e, i), this._change(e, i), this._removeClass(t(e.target), null, "ui-state-active"))
            }
        }
    })
})),
function() {
    "use strict";

    function t(n) {
        if (!n) throw new Error("No options passed to Waypoint constructor");
        if (!n.element) throw new Error("No element option passed to Waypoint constructor");
        if (!n.handler) throw new Error("No handler option passed to Waypoint constructor");
        this.key = "waypoint-" + e, this.options = t.Adapter.extend({}, t.defaults, n), this.element = this.options.element, this.adapter = new t.Adapter(this.element), this.callback = n.handler, this.axis = this.options.horizontal ? "horizontal" : "vertical", this.enabled = this.options.enabled, this.triggerPoint = null, this.group = t.Group.findOrCreate({
            name: this.options.group,
            axis: this.axis
        }), this.context = t.Context.findOrCreateByElement(this.options.context), t.offsetAliases[this.options.offset] && (this.options.offset = t.offsetAliases[this.options.offset]), this.group.add(this), this.context.add(this), i[this.key] = this, e += 1
    }
    var e = 0,
        i = {};
    t.prototype.queueTrigger = function(t) {
        this.group.queueTrigger(this, t)
    }, t.prototype.trigger = function(t) {
        this.enabled && this.callback && this.callback.apply(this, t)
    }, t.prototype.destroy = function() {
        this.context.remove(this), this.group.remove(this), delete i[this.key]
    }, t.prototype.disable = function() {
        return this.enabled = !1, this
    }, t.prototype.enable = function() {
        return this.context.refresh(), this.enabled = !0, this
    }, t.prototype.next = function() {
        return this.group.next(this)
    }, t.prototype.previous = function() {
        return this.group.previous(this)
    }, t.invokeAll = function(t) {
        var e = [];
        for (var n in i) e.push(i[n]);
        for (var o = 0, s = e.length; s > o; o++) e[o][t]()
    }, t.destroyAll = function() {
        t.invokeAll("destroy")
    }, t.disableAll = function() {
        t.invokeAll("disable")
    }, t.enableAll = function() {
        t.invokeAll("enable")
    }, t.refreshAll = function() {
        t.Context.refreshAll()
    }, t.viewportHeight = function() {
        return window.innerHeight || document.documentElement.clientHeight
    }, t.viewportWidth = function() {
        return document.documentElement.clientWidth
    }, t.adapters = [], t.defaults = {
        context: window,
        continuous: !0,
        enabled: !0,
        group: "default",
        horizontal: !1,
        offset: 0
    }, t.offsetAliases = {
        "bottom-in-view": function() {
            return this.context.innerHeight() - this.adapter.outerHeight()
        },
        "right-in-view": function() {
            return this.context.innerWidth() - this.adapter.outerWidth()
        }
    }, window.Waypoint = t
}(),
function() {
    "use strict";

    function t(t) {
        window.setTimeout(t, 1e3 / 60)
    }

    function e(t) {
        this.element = t, this.Adapter = o.Adapter, this.adapter = new this.Adapter(t), this.key = "waypoint-context-" + i, this.didScroll = !1, this.didResize = !1, this.oldScroll = {
            x: this.adapter.scrollLeft(),
            y: this.adapter.scrollTop()
        }, this.waypoints = {
            vertical: {},
            horizontal: {}
        }, t.waypointContextKey = this.key, n[t.waypointContextKey] = this, i += 1, this.createThrottledScrollHandler(), this.createThrottledResizeHandler()
    }
    var i = 0,
        n = {},
        o = window.Waypoint,
        s = window.onload;
    e.prototype.add = function(t) {
        var e = t.options.horizontal ? "horizontal" : "vertical";
        this.waypoints[e][t.key] = t, this.refresh()
    }, e.prototype.checkEmpty = function() {
        var t = this.Adapter.isEmptyObject(this.waypoints.horizontal),
            e = this.Adapter.isEmptyObject(this.waypoints.vertical);
        t && e && (this.adapter.off(".waypoints"), delete n[this.key])
    }, e.prototype.createThrottledResizeHandler = function() {
        function t() {
            e.handleResize(), e.didResize = !1
        }
        var e = this;
        this.adapter.on("resize.waypoints", (function() {
            e.didResize || (e.didResize = !0, o.requestAnimationFrame(t))
        }))
    }, e.prototype.createThrottledScrollHandler = function() {
        function t() {
            e.handleScroll(), e.didScroll = !1
        }
        var e = this;
        this.adapter.on("scroll.waypoints", (function() {
            (!e.didScroll || o.isTouch) && (e.didScroll = !0, o.requestAnimationFrame(t))
        }))
    }, e.prototype.handleResize = function() {
        o.Context.refreshAll()
    }, e.prototype.handleScroll = function() {
        var t = {},
            e = {
                horizontal: {
                    newScroll: this.adapter.scrollLeft(),
                    oldScroll: this.oldScroll.x,
                    forward: "right",
                    backward: "left"
                },
                vertical: {
                    newScroll: this.adapter.scrollTop(),
                    oldScroll: this.oldScroll.y,
                    forward: "down",
                    backward: "up"
                }
            };
        for (var i in e) {
            var n = e[i],
                o = n.newScroll > n.oldScroll ? n.forward : n.backward;
            for (var s in this.waypoints[i]) {
                var r = this.waypoints[i][s],
                    a = n.oldScroll < r.triggerPoint,
                    l = n.newScroll >= r.triggerPoint;
                (a && l || !a && !l) && (r.queueTrigger(o), t[r.group.id] = r.group)
            }
        }
        for (var c in t) t[c].flushTriggers();
        this.oldScroll = {
            x: e.horizontal.newScroll,
            y: e.vertical.newScroll
        }
    }, e.prototype.innerHeight = function() {
        return this.element == this.element.window ? o.viewportHeight() : this.adapter.innerHeight()
    }, e.prototype.remove = function(t) {
        delete this.waypoints[t.axis][t.key], this.checkEmpty()
    }, e.prototype.innerWidth = function() {
        return this.element == this.element.window ? o.viewportWidth() : this.adapter.innerWidth()
    }, e.prototype.destroy = function() {
        var t = [];
        for (var e in this.waypoints)
            for (var i in this.waypoints[e]) t.push(this.waypoints[e][i]);
        for (var n = 0, o = t.length; o > n; n++) t[n].destroy()
    }, e.prototype.refresh = function() {
        var t, e = this.element == this.element.window,
            i = e ? void 0 : this.adapter.offset(),
            n = {};
        for (var s in this.handleScroll(), t = {
                horizontal: {
                    contextOffset: e ? 0 : i.left,
                    contextScroll: e ? 0 : this.oldScroll.x,
                    contextDimension: this.innerWidth(),
                    oldScroll: this.oldScroll.x,
                    forward: "right",
                    backward: "left",
                    offsetProp: "left"
                },
                vertical: {
                    contextOffset: e ? 0 : i.top,
                    contextScroll: e ? 0 : this.oldScroll.y,
                    contextDimension: this.innerHeight(),
                    oldScroll: this.oldScroll.y,
                    forward: "down",
                    backward: "up",
                    offsetProp: "top"
                }
            }) {
            var r = t[s];
            for (var a in this.waypoints[s]) {
                var l, c, d, u, h = this.waypoints[s][a],
                    p = h.options.offset,
                    f = h.triggerPoint,
                    m = 0,
                    g = null == f;
                h.element !== h.element.window && (m = h.adapter.offset()[r.offsetProp]), "function" == typeof p ? p = p.apply(h) : "string" == typeof p && (p = parseFloat(p), h.options.offset.indexOf("%") > -1 && (p = Math.ceil(r.contextDimension * p / 100))), l = r.contextScroll - r.contextOffset, h.triggerPoint = m + l - p, c = f < r.oldScroll, d = h.triggerPoint >= r.oldScroll, u = !c && !d, !g && (c && d) ? (h.queueTrigger(r.backward), n[h.group.id] = h.group) : (!g && u || g && r.oldScroll >= h.triggerPoint) && (h.queueTrigger(r.forward), n[h.group.id] = h.group)
            }
        }
        return o.requestAnimationFrame((function() {
            for (var t in n) n[t].flushTriggers()
        })), this
    }, e.findOrCreateByElement = function(t) {
        return e.findByElement(t) || new e(t)
    }, e.refreshAll = function() {
        for (var t in n) n[t].refresh()
    }, e.findByElement = function(t) {
        return n[t.waypointContextKey]
    }, window.onload = function() {
        s && s(), e.refreshAll()
    }, o.requestAnimationFrame = function(e) {
        (window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || t).call(window, e)
    }, o.Context = e
}(),
function() {
    "use strict";

    function t(t, e) {
        return t.triggerPoint - e.triggerPoint
    }

    function e(t, e) {
        return e.triggerPoint - t.triggerPoint
    }

    function i(t) {
        this.name = t.name, this.axis = t.axis, this.id = this.name + "-" + this.axis, this.waypoints = [], this.clearTriggerQueues(), n[this.axis][this.name] = this
    }
    var n = {
            vertical: {},
            horizontal: {}
        },
        o = window.Waypoint;
    i.prototype.add = function(t) {
        this.waypoints.push(t)
    }, i.prototype.clearTriggerQueues = function() {
        this.triggerQueues = {
            up: [],
            down: [],
            left: [],
            right: []
        }
    }, i.prototype.flushTriggers = function() {
        for (var i in this.triggerQueues) {
            var n = this.triggerQueues[i],
                o = "up" === i || "left" === i;
            n.sort(o ? e : t);
            for (var s = 0, r = n.length; r > s; s += 1) {
                var a = n[s];
                (a.options.continuous || s === n.length - 1) && a.trigger([i])
            }
        }
        this.clearTriggerQueues()
    }, i.prototype.next = function(e) {
        this.waypoints.sort(t);
        var i = o.Adapter.inArray(e, this.waypoints);
        return i === this.waypoints.length - 1 ? null : this.waypoints[i + 1]
    }, i.prototype.previous = function(e) {
        this.waypoints.sort(t);
        var i = o.Adapter.inArray(e, this.waypoints);
        return i ? this.waypoints[i - 1] : null
    }, i.prototype.queueTrigger = function(t, e) {
        this.triggerQueues[e].push(t)
    }, i.prototype.remove = function(t) {
        var e = o.Adapter.inArray(t, this.waypoints);
        e > -1 && this.waypoints.splice(e, 1)
    }, i.prototype.first = function() {
        return this.waypoints[0]
    }, i.prototype.last = function() {
        return this.waypoints[this.waypoints.length - 1]
    }, i.findOrCreate = function(t) {
        return n[t.axis][t.name] || new i(t)
    }, o.Group = i
}(),
function() {
    "use strict";

    function t(t) {
        this.$element = e(t)
    }
    var e = window.jQuery,
        i = window.Waypoint;
    e.each(["innerHeight", "innerWidth", "off", "offset", "on", "outerHeight", "outerWidth", "scrollLeft", "scrollTop"], (function(e, i) {
        t.prototype[i] = function() {
            var t = Array.prototype.slice.call(arguments);
            return this.$element[i].apply(this.$element, t)
        }
    })), e.each(["extend", "inArray", "isEmptyObject"], (function(i, n) {
        t[n] = e[n]
    })), i.adapters.push({
        name: "jquery",
        Adapter: t
    }), i.Adapter = t
}(),
function() {
    "use strict";

    function t(t) {
        return function() {
            var i = [],
                n = arguments[0];
            return t.isFunction(arguments[0]) && ((n = t.extend({}, arguments[1])).handler = arguments[0]), this.each((function() {
                var o = t.extend({}, n, {
                    element: this
                });
                "string" == typeof o.context && (o.context = t(this).closest(o.context)[0]), i.push(new e(o))
            })), i
        }
    }
    var e = window.Waypoint;
    window.jQuery && (window.jQuery.fn.waypoint = t(window.jQuery)), window.Zepto && (window.Zepto.fn.waypoint = t(window.Zepto))
}(),
/*!
 * jquery.counterup.js 1.0
 *
 * Copyright 2013, Benjamin Intal http://gambit.ph @bfintal
 * Released under the GPL v2 License
 *
 * Date: Nov 26, 2013
 */
function(t) {
    "use strict";
    t.fn.counterUp = function(e) {
        var i, n = t.extend({
            time: 400,
            delay: 10,
            offset: 100,
            beginAt: 0,
            formatter: !1,
            context: "window",
            callback: function() {}
        }, e);
        return this.each((function() {
            var e = t(this),
                o = {
                    time: t(this).data("counterup-time") || n.time,
                    delay: t(this).data("counterup-delay") || n.delay,
                    offset: t(this).data("counterup-offset") || n.offset,
                    beginAt: t(this).data("counterup-beginat") || n.beginAt,
                    context: t(this).data("counterup-context") || n.context
                };
            e.waypoint((function(s) {
                ! function() {
                    var s = [],
                        r = o.time / o.delay,
                        a = t(this).attr("data-num") ? t(this).attr("data-num") : e.text(),
                        l = /[0-9]+,[0-9]+/.test(a),
                        c = ((a = a.replace(/,/g, "")).split(".")[1] || []).length;
                    o.beginAt > a && (o.beginAt = a);
                    var d = /[0-9]+:[0-9]+:[0-9]+/.test(a);
                    if (d) {
                        var u = a.split(":"),
                            h = 1;
                        for (i = 0; u.length > 0;) i += h * parseInt(u.pop(), 10), h *= 60
                    }
                    for (var p = r; p >= o.beginAt / a * r; p--) {
                        var f = parseFloat(a / r * p).toFixed(c);
                        if (d) {
                            f = parseInt(i / r * p);
                            var m = parseInt(f / 3600) % 24,
                                g = parseInt(f / 60) % 60,
                                v = parseInt(f % 60, 10);
                            f = (m < 10 ? "0" + m : m) + ":" + (g < 10 ? "0" + g : g) + ":" + (v < 10 ? "0" + v : v)
                        }
                        if (l)
                            for (;
                                /(\d+)(\d{3})/.test(f.toString());) f = f.toString().replace(/(\d+)(\d{3})/, "$1,$2");
                        n.formatter && (f = n.formatter.call(this, f)), s.unshift(f)
                    }
                    e.data("counterup-nums", s), e.text(o.beginAt);
                    e.data("counterup-func", (function() {
                        e.data("counterup-nums") ? (e.html(e.data("counterup-nums").shift()), e.data("counterup-nums").length ? setTimeout(e.data("counterup-func"), o.delay) : (e.data("counterup-nums", null), e.data("counterup-func", null), n.callback.call(this))) : n.callback.call(this)
                    })), setTimeout(e.data("counterup-func"), o.delay)
                }(), this.destroy()
            }), {
                offset: o.offset + "%",
                context: o.context
            })
        }))
    }
}(jQuery),
function(t, e, i) {
    "use strict";

    function n(t, e) {
        var i = null;
        return function() {
            var n = this,
                o = arguments;
            null === i && (i = setTimeout((function() {
                t.apply(n, o), i = null
            }), e))
        }
    }
    var o, s = (o = {}, function(t) {
            if (o[t] !== i) return o[t];
            var e = document.createElement("div").style,
                n = t.charAt(0).toUpperCase() + t.slice(1),
                s = (t + " " + ["webkit", "moz", "ms", "o"].join(n + " ") + n).split(" ");
            for (var r in s)
                if (s[r] in e) return o[t] = s[r];
            return o[t] = !1
        }),
        r = "http://www.w3.org/2000/svg",
        a = t(e),
        l = s("transform"),
        c = {
            itemContainer: "ul",
            itemSelector: "li",
            start: "center",
            fadeIn: 400,
            loop: !1,
            autoplay: !1,
            pauseOnHover: !0,
            style: "coverflow",
            spacing: -.6,
            click: !0,
            keyboard: !0,
            scrollwheel: !0,
            touch: !0,
            nav: !1,
            buttons: !1,
            buttonPrev: "Previous",
            buttonNext: "Next",
            onItemSwitch: !1
        },
        d = {
            main: "flipster",
            active: "flipster--active",
            container: "flipster__container",
            nav: "flipster__nav",
            navChild: "flipster__nav__child",
            navItem: "flipster__nav__item",
            navLink: "flipster__nav__link",
            navCurrent: "flipster__nav__item--current",
            navCategory: "flipster__nav__item--category",
            navCategoryLink: "flipster__nav__link--category",
            button: "flipster__button",
            buttonPrev: "flipster__button--prev",
            buttonNext: "flipster__button--next",
            item: "flipster__item",
            itemCurrent: "flipster__item--current",
            itemPast: "flipster__item--past",
            itemFuture: "flipster__item--future",
            itemContent: "flipster__item__content"
        },
        u = new RegExp("\\b(" + d.itemCurrent + "|" + d.itemPast + "|" + d.itemFuture + ")(.*?)(\\s|$)", "g"),
        h = new RegExp("\\s\\s+", "g");
    t.fn.flipster = function(e) {
        if ("string" == typeof e) {
            var o = Array.prototype.slice.call(arguments, 1);
            return this.each((function() {
                var i = t(this).data("methods");
                return i[e] ? i[e].apply(this, o) : this
            }))
        }
        var s = t.extend({}, c, e);
        return this.each((function() {
            var e, o, c, p, f, m, g, v, y, _ = t(this),
                b = [],
                w = 0,
                k = !1;

            function T(e) {
                return e = e || "next", t('<button class="' + d.button + " " + ("next" === e ? d.buttonNext : d.buttonPrev) + '" role="button" />').html((n = "next" === (i = e) ? s.buttonNext : s.buttonPrev, "custom" === s.buttons ? n : '<svg viewBox="0 0 13 20" xmlns="' + r + '" aria-labelledby="title"><title>' + n + '</title><polyline points="10,3 3,10 10,17"' + ("next" === i ? ' transform="rotate(180 6.5,10)"' : "") + "/></svg>")).on("click", (function(t) {
                    E(e), t.preventDefault()
                }));
                var i, n
            }

            function C() {
                _.css("transition", ""), o.css("transition", ""), f.css("transition", "")
            }

            function S(e) {
                var i, n;
                e && (_.css("transition", "none"), o.css("transition", "none"), f.css("transition", "none")), c = o.width(), o.height((n = 0, f.each((function() {
                    i = t(this).height(), n < i && (n = i)
                })), n)), c ? (p && (clearInterval(p), p = !1), f.each((function(i) {
                    var n, o, r = t(this);
                    r.attr("class", (function(t, e) {
                        return e && e.replace(u, "").replace(h, " ")
                    })), n = r.outerWidth(), 0 !== s.spacing && r.css("margin-right", n * s.spacing + "px"), o = r.position().left, b[i] = -1 * (o + n / 2 - c / 2), i === f.length - 1 && (x(), e && setTimeout(C, 1))
                }))) : p = p || setInterval((function() {
                    S(e)
                }), 500)
            }

            function x() {
                var e, n, r, a = f.length;
                f.each((function(i) {
                        e = t(this), n = " ", r = i === w ? (n += d.itemCurrent, a + 1) : i < w ? (n += d.itemPast + " " + d.itemPast + "-" + (w - i), a - (w - i)) : (n += d.itemFuture + " " + d.itemFuture + "-" + (i - w), a - (i - w)), e.css("z-index", r).attr("class", (function(t, e) {
                            return e && e.replace(u, "").replace(h, " ") + n
                        }))
                    })), 0 <= w && (c && b[w] !== i || S(!0), l ? o.css("transform", "translateX(" + b[w] + "px)") : o.css({
                        left: b[w] + "px"
                    })),
                    function() {
                        if (s.nav) {
                            var e = m.data("flip-category");
                            v.removeClass(d.navCurrent), y.filter((function() {
                                return t(this).data("index") === w || e && t(this).data("category") === e
                            })).parent().addClass(d.navCurrent)
                        }
                    }()
            }

            function E(t) {
                var e = w;
                if (!(f.length <= 1)) return "prev" === t ? 0 < w ? w-- : s.loop && (w = f.length - 1) : "next" === t ? w < f.length - 1 ? w++ : s.loop && (w = 0) : "number" == typeof t ? w = t : t !== i && (w = f.index(t), s.loop && e != w && (e == f.length - 1 && w != f.length - 2 && (w = 0), 0 == e && 1 != w && (w = f.length - 1))), m = f.eq(w), w !== e && s.onItemSwitch && s.onItemSwitch.call(_, f[w], f[e]), x(), _
            }

            function O(t) {
                return s.autoplay = t || s.autoplay, clearInterval(k), k = setInterval((function() {
                    var t = w;
                    E("next"), t !== w || s.loop || clearInterval(k)
                }), s.autoplay), _
            }

            function I() {
                return clearInterval(k), k = 0, _
            }

            function A(t) {
                return I(), s.autoplay && t && (k = -1), _
            }

            function L() {
                S(!0), _.hide().css("visibility", "").addClass(d.active).fadeIn(s.fadeIn)
            }

            function D() {
                var e;
                if (o = _.find(s.itemContainer).addClass(d.container), !((f = o.find(s.itemSelector)).length <= 1)) return f.addClass(d.item).each((function() {
                    var e = t(this);
                    e.children("." + d.itemContent).length || e.wrapInner('<div class="' + d.itemContent + '" />')
                })), s.click && f.on("click.flipster touchend.flipster", (function(e) {
                    t(this).hasClass(d.itemCurrent) || e.preventDefault(), E(this)
                })), s.buttons && 1 < f.length && (_.find("." + d.button).remove(), _.append(T("prev"), T("next"))), e = {}, !s.nav || f.length <= 1 || (g && g.remove(), g = t('<ul class="' + d.nav + '" role="navigation" />'), y = t(""), f.each((function(i) {
                    var n = t(this),
                        o = n.data("flip-category"),
                        s = n.data("flip-title") || n.attr("title") || i,
                        r = t('<a href="#" class="' + d.navLink + '">' + s + "</a>").data("index", i);
                    if (y = y.add(r), o) {
                        if (!e[o]) {
                            var a = t('<li class="' + d.navItem + " " + d.navCategory + '">'),
                                l = t('<a href="#" class="' + d.navLink + " " + d.navCategoryLink + '" data-flip-category="' + o + '">' + o + "</a>").data("category", o).data("index", i);
                            e[o] = t('<ul class="' + d.navChild + '" />'), y = y.add(l), a.append(l, e[o]).appendTo(g)
                        }
                        e[o].append(r)
                    } else g.append(r);
                    r.wrap('<li class="' + d.navItem + '">')
                })), g.on("click", "a", (function(e) {
                    var i = t(this).data("index");
                    0 <= i && (E(i), e.preventDefault())
                })), "after" === s.nav ? _.append(g) : _.prepend(g), v = g.find("." + d.navItem)), 0 <= w && E(w), _
            }
            e = {
                jump: E,
                next: function() {
                    return E("next")
                },
                prev: function() {
                    return E("prev")
                },
                play: O,
                stop: I,
                pause: A,
                index: D
            }, _.data("methods", e), _.hasClass(d.active) || function() {
                var t;
                if (_.css("visibility", "hidden"), D(), f.length <= 1) _.css("visibility", "");
                else {
                    t = !!s.style && "flipster--" + s.style.split(" ").join(" flipster--"), _.addClass([d.main, l ? "flipster--transform" : " flipster--no-transform", t, s.click ? "flipster--click" : ""].join(" ")), s.start && (w = "center" === s.start ? Math.floor(f.length / 2) : s.start), E(w);
                    var e, i, r, c, u, h, p, m, g = _.find("img");
                    if (g.length) {
                        var v = 0;
                        g.on("load", (function() {
                            ++v >= g.length && L()
                        })), setTimeout(L, 750)
                    } else L();
                    a.on("resize.flipster", n(S, 400)), s.autoplay && O(), s.pauseOnHover && o.on("mouseenter.flipster", (function() {
                            k ? A(!0) : I()
                        })).on("mouseleave.flipster", (function() {
                            -1 === k && O()
                        })), e = _, s.keyboard && (e[0].tabIndex = 0, e.on("keydown.flipster", n((function(t) {
                            var e = t.which;
                            37 !== e && 39 !== e || (E(37 === e ? "prev" : "next"), t.preventDefault())
                        }), 250))),
                        function(t) {
                            if (s.scrollwheel) {
                                var e, i, o = !1,
                                    r = 0,
                                    a = 0,
                                    l = 0,
                                    c = /mozilla/.test(navigator.userAgent.toLowerCase()) && !/webkit/.test(navigator.userAgent.toLowerCase());
                                t.on("mousewheel.flipster wheel.flipster", (function() {
                                    o = !0
                                })).on("mousewheel.flipster wheel.flipster", n((function(t) {
                                    clearTimeout(a), a = setTimeout((function() {
                                        l = r = 0
                                    }), 300), t = t.originalEvent, l += t.wheelDelta || -1 * (t.deltaY + t.deltaX), Math.abs(l) < 25 && !c || (r++, i !== (e = 0 < l ? "prev" : "next") && (r = 0), i = e, (r < 6 || r % 3 == 0) && E(e), l = 0)
                                }), 50)), t.on("mousewheel.flipster wheel.flipster", (function(t) {
                                    o && (t.preventDefault(), o = !1)
                                }))
                            }
                        }(o), i = o, s.touch && i.on({
                            "touchstart.flipster": function(t) {
                                t = t.originalEvent, r = t.touches ? t.touches[0].clientX : t.clientX, c = t.touches ? t.touches[0].clientY : t.clientY
                            },
                            "touchmove.flipster": function(t) {
                                t = t.originalEvent, u = t.touches ? t.touches[0].clientX : t.clientX, h = t.touches ? t.touches[0].clientY : t.clientY, m = u - r, p = h - c, 30 < Math.abs(m) && Math.abs(p) < 100 && t.preventDefault()
                            },
                            "touchend.flipster touchcancel.flipster ": function() {
                                m = u - r, p = h - c, 30 < Math.abs(m) && Math.abs(p) < 100 && E(0 < m ? "prev" : "next")
                            }
                        })
                }
            }()
        }))
    }
}(jQuery, window),
function(t) {
    "function" == typeof define && define.amd ? define(["jquery"], t) : t("object" == typeof exports ? require("jquery") : window.jQuery || window.Zepto)
}((function(t) {
    var e, i, n, o, s, r, a = "Close",
        l = "BeforeClose",
        c = "MarkupParse",
        d = "Open",
        u = "Change",
        h = "mfp",
        p = ".mfp",
        f = "mfp-ready",
        m = "mfp-removing",
        g = "mfp-prevent-close",
        v = function() {},
        y = !!window.jQuery,
        _ = t(window),
        b = function(t, i) {
            e.ev.on(h + t + p, i)
        },
        w = function(e, i, n, o) {
            var s = document.createElement("div");
            return s.className = "mfp-" + e, n && (s.innerHTML = n), o ? i && i.appendChild(s) : (s = t(s), i && s.appendTo(i)), s
        },
        k = function(i, n) {
            e.ev.triggerHandler(h + i, n), e.st.callbacks && (i = i.charAt(0).toLowerCase() + i.slice(1), e.st.callbacks[i] && e.st.callbacks[i].apply(e, t.isArray(n) ? n : [n]))
        },
        T = function(i) {
            return i === r && e.currTemplate.closeBtn || (e.currTemplate.closeBtn = t(e.st.closeMarkup.replace("%title%", e.st.tClose)), r = i), e.currTemplate.closeBtn
        },
        C = function() {
            t.magnificPopup.instance || ((e = new v).init(), t.magnificPopup.instance = e)
        };
    v.prototype = {
        constructor: v,
        init: function() {
            var i = navigator.appVersion;
            e.isLowIE = e.isIE8 = document.all && !document.addEventListener, e.isAndroid = /android/gi.test(i), e.isIOS = /iphone|ipad|ipod/gi.test(i), e.supportsTransition = function() {
                var t = document.createElement("p").style,
                    e = ["ms", "O", "Moz", "Webkit"];
                if (void 0 !== t.transition) return !0;
                for (; e.length;)
                    if (e.pop() + "Transition" in t) return !0;
                return !1
            }(), e.probablyMobile = e.isAndroid || e.isIOS || /(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent), n = t(document), e.popupsCache = {}
        },
        open: function(i) {
            var o;
            if (!1 === i.isObj) {
                e.items = i.items.toArray(), e.index = 0;
                var r, a = i.items;
                for (o = 0; o < a.length; o++)
                    if ((r = a[o]).parsed && (r = r.el[0]), r === i.el[0]) {
                        e.index = o;
                        break
                    }
            } else e.items = t.isArray(i.items) ? i.items : [i.items], e.index = i.index || 0;
            if (!e.isOpen) {
                e.types = [], s = "", i.mainEl && i.mainEl.length ? e.ev = i.mainEl.eq(0) : e.ev = n, i.key ? (e.popupsCache[i.key] || (e.popupsCache[i.key] = {}), e.currTemplate = e.popupsCache[i.key]) : e.currTemplate = {}, e.st = t.extend(!0, {}, t.magnificPopup.defaults, i), e.fixedContentPos = "auto" === e.st.fixedContentPos ? !e.probablyMobile : e.st.fixedContentPos, e.st.modal && (e.st.closeOnContentClick = !1, e.st.closeOnBgClick = !1, e.st.showCloseBtn = !1, e.st.enableEscapeKey = !1), e.bgOverlay || (e.bgOverlay = w("bg").on("click" + p, (function() {
                    e.close()
                })), e.wrap = w("wrap").attr("tabindex", -1).on("click" + p, (function(t) {
                    e._checkIfClose(t.target) && e.close()
                })), e.container = w("container", e.wrap)), e.contentContainer = w("content"), e.st.preloader && (e.preloader = w("preloader", e.container, e.st.tLoading));
                var l = t.magnificPopup.modules;
                for (o = 0; o < l.length; o++) {
                    var u = l[o];
                    u = u.charAt(0).toUpperCase() + u.slice(1), e["init" + u].call(e)
                }
                k("BeforeOpen"), e.st.showCloseBtn && (e.st.closeBtnInside ? (b(c, (function(t, e, i, n) {
                    i.close_replaceWith = T(n.type)
                })), s += " mfp-close-btn-in") : e.wrap.append(T())), e.st.alignTop && (s += " mfp-align-top"), e.fixedContentPos ? e.wrap.css({
                    overflow: e.st.overflowY,
                    overflowX: "hidden",
                    overflowY: e.st.overflowY
                }) : e.wrap.css({
                    top: _.scrollTop(),
                    position: "absolute"
                }), (!1 === e.st.fixedBgPos || "auto" === e.st.fixedBgPos && !e.fixedContentPos) && e.bgOverlay.css({
                    height: n.height(),
                    position: "absolute"
                }), e.st.enableEscapeKey && n.on("keyup" + p, (function(t) {
                    27 === t.keyCode && e.close()
                })), _.on("resize" + p, (function() {
                    e.updateSize()
                })), e.st.closeOnContentClick || (s += " mfp-auto-cursor"), s && e.wrap.addClass(s);
                var h = e.wH = _.height(),
                    m = {};
                if (e.fixedContentPos && e._hasScrollBar(h)) {
                    var g = e._getScrollbarSize();
                    g && (m.marginRight = g)
                }
                e.fixedContentPos && (e.isIE7 ? t("body, html").css("overflow", "hidden") : m.overflow = "hidden");
                var v = e.st.mainClass;
                return e.isIE7 && (v += " mfp-ie7"), v && e._addClassToMFP(v), e.updateItemHTML(), k("BuildControls"), t("html").css(m), e.bgOverlay.add(e.wrap).prependTo(e.st.prependTo || t(document.body)), e._lastFocusedEl = document.activeElement, setTimeout((function() {
                    e.content ? (e._addClassToMFP(f), e._setFocus()) : e.bgOverlay.addClass(f), n.on("focusin" + p, e._onFocusIn)
                }), 16), e.isOpen = !0, e.updateSize(h), k(d), i
            }
            e.updateItemHTML()
        },
        close: function() {
            e.isOpen && (k(l), e.isOpen = !1, e.st.removalDelay && !e.isLowIE && e.supportsTransition ? (e._addClassToMFP(m), setTimeout((function() {
                e._close()
            }), e.st.removalDelay)) : e._close())
        },
        _close: function() {
            k(a);
            var i = m + " " + f + " ";
            if (e.bgOverlay.detach(), e.wrap.detach(), e.container.empty(), e.st.mainClass && (i += e.st.mainClass + " "), e._removeClassFromMFP(i), e.fixedContentPos) {
                var o = {
                    marginRight: ""
                };
                e.isIE7 ? t("body, html").css("overflow", "") : o.overflow = "", t("html").css(o)
            }
            n.off("keyup.mfp focusin" + p), e.ev.off(p), e.wrap.attr("class", "mfp-wrap").removeAttr("style"), e.bgOverlay.attr("class", "mfp-bg"), e.container.attr("class", "mfp-container"), !e.st.showCloseBtn || e.st.closeBtnInside && !0 !== e.currTemplate[e.currItem.type] || e.currTemplate.closeBtn && e.currTemplate.closeBtn.detach(), e.st.autoFocusLast && e._lastFocusedEl && t(e._lastFocusedEl).focus(), e.currItem = null, e.content = null, e.currTemplate = null, e.prevHeight = 0, k("AfterClose")
        },
        updateSize: function(t) {
            if (e.isIOS) {
                var i = document.documentElement.clientWidth / window.innerWidth,
                    n = window.innerHeight * i;
                e.wrap.css("height", n), e.wH = n
            } else e.wH = t || _.height();
            e.fixedContentPos || e.wrap.css("height", e.wH), k("Resize")
        },
        updateItemHTML: function() {
            var i = e.items[e.index];
            e.contentContainer.detach(), e.content && e.content.detach(), i.parsed || (i = e.parseEl(e.index));
            var n = i.type;
            if (k("BeforeChange", [e.currItem ? e.currItem.type : "", n]), e.currItem = i, !e.currTemplate[n]) {
                var s = !!e.st[n] && e.st[n].markup;
                k("FirstMarkupParse", s), e.currTemplate[n] = !s || t(s)
            }
            o && o !== i.type && e.container.removeClass("mfp-" + o + "-holder");
            var r = e["get" + n.charAt(0).toUpperCase() + n.slice(1)](i, e.currTemplate[n]);
            e.appendContent(r, n), i.preloaded = !0, k(u, i), o = i.type, e.container.prepend(e.contentContainer), k("AfterChange")
        },
        appendContent: function(t, i) {
            e.content = t, t ? e.st.showCloseBtn && e.st.closeBtnInside && !0 === e.currTemplate[i] ? e.content.find(".mfp-close").length || e.content.append(T()) : e.content = t : e.content = "", k("BeforeAppend"), e.container.addClass("mfp-" + i + "-holder"), e.contentContainer.append(e.content)
        },
        parseEl: function(i) {
            var n, o = e.items[i];
            if (o.tagName ? o = {
                    el: t(o)
                } : (n = o.type, o = {
                    data: o,
                    src: o.src
                }), o.el) {
                for (var s = e.types, r = 0; r < s.length; r++)
                    if (o.el.hasClass("mfp-" + s[r])) {
                        n = s[r];
                        break
                    } o.src = o.el.attr("data-mfp-src"), o.src || (o.src = o.el.attr("href"))
            }
            return o.type = n || e.st.type || "inline", o.index = i, o.parsed = !0, e.items[i] = o, k("ElementParse", o), e.items[i]
        },
        addGroup: function(t, i) {
            var n = function(n) {
                n.mfpEl = this, e._openClick(n, t, i)
            };
            i || (i = {});
            var o = "click.magnificPopup";
            i.mainEl = t, i.items ? (i.isObj = !0, t.off(o).on(o, n)) : (i.isObj = !1, i.delegate ? t.off(o).on(o, i.delegate, n) : (i.items = t, t.off(o).on(o, n)))
        },
        _openClick: function(i, n, o) {
            if ((void 0 !== o.midClick ? o.midClick : t.magnificPopup.defaults.midClick) || !(2 === i.which || i.ctrlKey || i.metaKey || i.altKey || i.shiftKey)) {
                var s = void 0 !== o.disableOn ? o.disableOn : t.magnificPopup.defaults.disableOn;
                if (s)
                    if (t.isFunction(s)) {
                        if (!s.call(e)) return !0
                    } else if (_.width() < s) return !0;
                i.type && (i.preventDefault(), e.isOpen && i.stopPropagation()), o.el = t(i.mfpEl), o.delegate && (o.items = n.find(o.delegate)), e.open(o)
            }
        },
        updateStatus: function(t, n) {
            if (e.preloader) {
                i !== t && e.container.removeClass("mfp-s-" + i), n || "loading" !== t || (n = e.st.tLoading);
                var o = {
                    status: t,
                    text: n
                };
                k("UpdateStatus", o), t = o.status, n = o.text, e.preloader.html(n), e.preloader.find("a").on("click", (function(t) {
                    t.stopImmediatePropagation()
                })), e.container.addClass("mfp-s-" + t), i = t
            }
        },
        _checkIfClose: function(i) {
            if (!t(i).hasClass(g)) {
                var n = e.st.closeOnContentClick,
                    o = e.st.closeOnBgClick;
                if (n && o) return !0;
                if (!e.content || t(i).hasClass("mfp-close") || e.preloader && i === e.preloader[0]) return !0;
                if (i === e.content[0] || t.contains(e.content[0], i)) {
                    if (n) return !0
                } else if (o && t.contains(document, i)) return !0;
                return !1
            }
        },
        _addClassToMFP: function(t) {
            e.bgOverlay.addClass(t), e.wrap.addClass(t)
        },
        _removeClassFromMFP: function(t) {
            this.bgOverlay.removeClass(t), e.wrap.removeClass(t)
        },
        _hasScrollBar: function(t) {
            return (e.isIE7 ? n.height() : document.body.scrollHeight) > (t || _.height())
        },
        _setFocus: function() {
            (e.st.focus ? e.content.find(e.st.focus).eq(0) : e.wrap).focus()
        },
        _onFocusIn: function(i) {
            return i.target === e.wrap[0] || t.contains(e.wrap[0], i.target) ? void 0 : (e._setFocus(), !1)
        },
        _parseMarkup: function(e, i, n) {
            var o;
            n.data && (i = t.extend(n.data, i)), k(c, [e, i, n]), t.each(i, (function(i, n) {
                if (void 0 === n || !1 === n) return !0;
                if ((o = i.split("_")).length > 1) {
                    var s = e.find(p + "-" + o[0]);
                    if (s.length > 0) {
                        var r = o[1];
                        "replaceWith" === r ? s[0] !== n[0] && s.replaceWith(n) : "img" === r ? s.is("img") ? s.attr("src", n) : s.replaceWith(t("<img>").attr("src", n).attr("class", s.attr("class"))) : s.attr(o[1], n)
                    }
                } else e.find(p + "-" + i).html(n)
            }))
        },
        _getScrollbarSize: function() {
            if (void 0 === e.scrollbarSize) {
                var t = document.createElement("div");
                t.style.cssText = "width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;", document.body.appendChild(t), e.scrollbarSize = t.offsetWidth - t.clientWidth, document.body.removeChild(t)
            }
            return e.scrollbarSize
        }
    }, t.magnificPopup = {
        instance: null,
        proto: v.prototype,
        modules: [],
        open: function(e, i) {
            return C(), (e = e ? t.extend(!0, {}, e) : {}).isObj = !0, e.index = i || 0, this.instance.open(e)
        },
        close: function() {
            return t.magnificPopup.instance && t.magnificPopup.instance.close()
        },
        registerModule: function(e, i) {
            i.options && (t.magnificPopup.defaults[e] = i.options), t.extend(this.proto, i.proto), this.modules.push(e)
        },
        defaults: {
            disableOn: 0,
            key: null,
            midClick: !1,
            mainClass: "",
            preloader: !0,
            focus: "",
            closeOnContentClick: !1,
            closeOnBgClick: !0,
            closeBtnInside: !0,
            showCloseBtn: !0,
            enableEscapeKey: !0,
            modal: !1,
            alignTop: !1,
            removalDelay: 0,
            prependTo: null,
            fixedContentPos: "auto",
            fixedBgPos: "auto",
            overflowY: "auto",
            closeMarkup: '<button title="%title%" type="button" class="mfp-close">&#215;</button>',
            tClose: "Close (Esc)",
            tLoading: "Loading...",
            autoFocusLast: !0
        }
    }, t.fn.magnificPopup = function(i) {
        C();
        var n = t(this);
        if ("string" == typeof i)
            if ("open" === i) {
                var o, s = y ? n.data("magnificPopup") : n[0].magnificPopup,
                    r = parseInt(arguments[1], 10) || 0;
                s.items ? o = s.items[r] : (o = n, s.delegate && (o = o.find(s.delegate)), o = o.eq(r)), e._openClick({
                    mfpEl: o
                }, n, s)
            } else e.isOpen && e[i].apply(e, Array.prototype.slice.call(arguments, 1));
        else i = t.extend(!0, {}, i), y ? n.data("magnificPopup", i) : n[0].magnificPopup = i, e.addGroup(n, i);
        return n
    };
    var S, x, E, O = "inline",
        I = function() {
            E && (x.after(E.addClass(S)).detach(), E = null)
        };
    t.magnificPopup.registerModule(O, {
        options: {
            hiddenClass: "hide",
            markup: "",
            tNotFound: "Content not found"
        },
        proto: {
            initInline: function() {
                e.types.push(O), b(a + "." + O, (function() {
                    I()
                }))
            },
            getInline: function(i, n) {
                if (I(), i.src) {
                    var o = e.st.inline,
                        s = t(i.src);
                    if (s.length) {
                        var r = s[0].parentNode;
                        r && r.tagName && (x || (S = o.hiddenClass, x = w(S), S = "mfp-" + S), E = s.after(x).detach().removeClass(S)), e.updateStatus("ready")
                    } else e.updateStatus("error", o.tNotFound), s = t("<div>");
                    return i.inlineElement = s, s
                }
                return e.updateStatus("ready"), e._parseMarkup(n, {}, i), n
            }
        }
    });
    var A, L = "ajax",
        D = function() {
            A && t(document.body).removeClass(A)
        },
        z = function() {
            D(), e.req && e.req.abort()
        };
    t.magnificPopup.registerModule(L, {
        options: {
            settings: null,
            cursor: "mfp-ajax-cur",
            tError: '<a href="%url%">The content</a> could not be loaded.'
        },
        proto: {
            initAjax: function() {
                e.types.push(L), A = e.st.ajax.cursor, b(a + "." + L, z), b("BeforeChange." + L, z)
            },
            getAjax: function(i) {
                A && t(document.body).addClass(A), e.updateStatus("loading");
                var n = t.extend({
                    url: i.src,
                    success: function(n, o, s) {
                        var r = {
                            data: n,
                            xhr: s
                        };
                        k("ParseAjax", r), e.appendContent(t(r.data), L), i.finished = !0, D(), e._setFocus(), setTimeout((function() {
                            e.wrap.addClass(f)
                        }), 16), e.updateStatus("ready"), k("AjaxContentAdded")
                    },
                    error: function() {
                        D(), i.finished = i.loadError = !0, e.updateStatus("error", e.st.ajax.tError.replace("%url%", i.src))
                    }
                }, e.st.ajax.settings);
                return e.req = t.ajax(n), ""
            }
        }
    });
    var P, M = function(i) {
        if (i.data && void 0 !== i.data.title) return i.data.title;
        var n = e.st.image.titleSrc;
        if (n) {
            if (t.isFunction(n)) return n.call(e, i);
            if (i.el) return i.el.attr(n) || ""
        }
        return ""
    };
    t.magnificPopup.registerModule("image", {
        options: {
            markup: '<div class="mfp-figure"><div class="mfp-close"></div><figure><div class="mfp-img"></div><figcaption><div class="mfp-bottom-bar"><div class="mfp-title"></div><div class="mfp-counter"></div></div></figcaption></figure></div>',
            cursor: "mfp-zoom-out-cur",
            titleSrc: "title",
            verticalFit: !0,
            tError: '<a href="%url%">The image</a> could not be loaded.'
        },
        proto: {
            initImage: function() {
                var i = e.st.image,
                    n = ".image";
                e.types.push("image"), b(d + n, (function() {
                    "image" === e.currItem.type && i.cursor && t(document.body).addClass(i.cursor)
                })), b(a + n, (function() {
                    i.cursor && t(document.body).removeClass(i.cursor), _.off("resize" + p)
                })), b("Resize" + n, e.resizeImage), e.isLowIE && b("AfterChange", e.resizeImage)
            },
            resizeImage: function() {
                var t = e.currItem;
                if (t && t.img && e.st.image.verticalFit) {
                    var i = 0;
                    e.isLowIE && (i = parseInt(t.img.css("padding-top"), 10) + parseInt(t.img.css("padding-bottom"), 10)), t.img.css("max-height", e.wH - i)
                }
            },
            _onImageHasSize: function(t) {
                t.img && (t.hasSize = !0, P && clearInterval(P), t.isCheckingImgSize = !1, k("ImageHasSize", t), t.imgHidden && (e.content && e.content.removeClass("mfp-loading"), t.imgHidden = !1))
            },
            findImageSize: function(t) {
                var i = 0,
                    n = t.img[0],
                    o = function(s) {
                        P && clearInterval(P), P = setInterval((function() {
                            return n.naturalWidth > 0 ? void e._onImageHasSize(t) : (i > 200 && clearInterval(P), void(3 === ++i ? o(10) : 40 === i ? o(50) : 100 === i && o(500)))
                        }), s)
                    };
                o(1)
            },
            getImage: function(i, n) {
                var o = 0,
                    s = function() {
                        i && (i.img[0].complete ? (i.img.off(".mfploader"), i === e.currItem && (e._onImageHasSize(i), e.updateStatus("ready")), i.hasSize = !0, i.loaded = !0, k("ImageLoadComplete")) : 200 > ++o ? setTimeout(s, 100) : r())
                    },
                    r = function() {
                        i && (i.img.off(".mfploader"), i === e.currItem && (e._onImageHasSize(i), e.updateStatus("error", a.tError.replace("%url%", i.src))), i.hasSize = !0, i.loaded = !0, i.loadError = !0)
                    },
                    a = e.st.image,
                    l = n.find(".mfp-img");
                if (l.length) {
                    var c = document.createElement("img");
                    c.className = "mfp-img", i.el && i.el.find("img").length && (c.alt = i.el.find("img").attr("alt")), i.img = t(c).on("load.mfploader", s).on("error.mfploader", r), c.src = i.src, l.is("img") && (i.img = i.img.clone()), (c = i.img[0]).naturalWidth > 0 ? i.hasSize = !0 : c.width || (i.hasSize = !1)
                }
                return e._parseMarkup(n, {
                    title: M(i),
                    img_replaceWith: i.img
                }, i), e.resizeImage(), i.hasSize ? (P && clearInterval(P), i.loadError ? (n.addClass("mfp-loading"), e.updateStatus("error", a.tError.replace("%url%", i.src))) : (n.removeClass("mfp-loading"), e.updateStatus("ready")), n) : (e.updateStatus("loading"), i.loading = !0, i.hasSize || (i.imgHidden = !0, n.addClass("mfp-loading"), e.findImageSize(i)), n)
            }
        }
    });
    var j;
    t.magnificPopup.registerModule("zoom", {
        options: {
            enabled: !1,
            easing: "ease-in-out",
            duration: 300,
            opener: function(t) {
                return t.is("img") ? t : t.find("img")
            }
        },
        proto: {
            initZoom: function() {
                var t, i = e.st.zoom,
                    n = ".zoom";
                if (i.enabled && e.supportsTransition) {
                    var o, s, r = i.duration,
                        c = function(t) {
                            var e = t.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"),
                                n = "all " + i.duration / 1e3 + "s " + i.easing,
                                o = {
                                    position: "fixed",
                                    zIndex: 9999,
                                    left: 0,
                                    top: 0,
                                    "-webkit-backface-visibility": "hidden"
                                },
                                s = "transition";
                            return o["-webkit-" + s] = o["-moz-" + s] = o["-o-" + s] = o[s] = n, e.css(o), e
                        },
                        d = function() {
                            e.content.css("visibility", "visible")
                        };
                    b("BuildControls" + n, (function() {
                        if (e._allowZoom()) {
                            if (clearTimeout(o), e.content.css("visibility", "hidden"), !(t = e._getItemToZoom())) return void d();
                            (s = c(t)).css(e._getOffset()), e.wrap.append(s), o = setTimeout((function() {
                                s.css(e._getOffset(!0)), o = setTimeout((function() {
                                    d(), setTimeout((function() {
                                        s.remove(), t = s = null, k("ZoomAnimationEnded")
                                    }), 16)
                                }), r)
                            }), 16)
                        }
                    })), b(l + n, (function() {
                        if (e._allowZoom()) {
                            if (clearTimeout(o), e.st.removalDelay = r, !t) {
                                if (!(t = e._getItemToZoom())) return;
                                s = c(t)
                            }
                            s.css(e._getOffset(!0)), e.wrap.append(s), e.content.css("visibility", "hidden"), setTimeout((function() {
                                s.css(e._getOffset())
                            }), 16)
                        }
                    })), b(a + n, (function() {
                        e._allowZoom() && (d(), s && s.remove(), t = null)
                    }))
                }
            },
            _allowZoom: function() {
                return "image" === e.currItem.type
            },
            _getItemToZoom: function() {
                return !!e.currItem.hasSize && e.currItem.img
            },
            _getOffset: function(i) {
                var n, o = (n = i ? e.currItem.img : e.st.zoom.opener(e.currItem.el || e.currItem)).offset(),
                    s = parseInt(n.css("padding-top"), 10),
                    r = parseInt(n.css("padding-bottom"), 10);
                o.top -= t(window).scrollTop() - s;
                var a = {
                    width: n.width(),
                    height: (y ? n.innerHeight() : n[0].offsetHeight) - r - s
                };
                return void 0 === j && (j = void 0 !== document.createElement("p").style.MozTransform), j ? a["-moz-transform"] = a.transform = "translate(" + o.left + "px," + o.top + "px)" : (a.left = o.left, a.top = o.top), a
            }
        }
    });
    var $ = "iframe",
        H = function(t) {
            if (e.currTemplate[$]) {
                var i = e.currTemplate[$].find("iframe");
                i.length && (t || (i[0].src = "//about:blank"), e.isIE8 && i.css("display", t ? "block" : "none"))
            }
        };
    t.magnificPopup.registerModule($, {
        options: {
            markup: '<div class="mfp-iframe-scaler"><div class="mfp-close"></div><iframe class="mfp-iframe" src="//about:blank" frameborder="0" allowfullscreen></iframe></div>',
            srcAction: "iframe_src",
            patterns: {
                youtube: {
                    index: "youtube.com",
                    id: "v=",
                    src: "//www.youtube.com/embed/%id%?autoplay=1"
                },
                vimeo: {
                    index: "vimeo.com/",
                    id: "/",
                    src: "//player.vimeo.com/video/%id%?autoplay=1"
                },
                gmaps: {
                    index: "//maps.google.",
                    src: "%id%&output=embed"
                }
            }
        },
        proto: {
            initIframe: function() {
                e.types.push($), b("BeforeChange", (function(t, e, i) {
                    e !== i && (e === $ ? H() : i === $ && H(!0))
                })), b(a + "." + $, (function() {
                    H()
                }))
            },
            getIframe: function(i, n) {
                var o = i.src,
                    s = e.st.iframe;
                t.each(s.patterns, (function() {
                    return o.indexOf(this.index) > -1 ? (this.id && (o = "string" == typeof this.id ? o.substr(o.lastIndexOf(this.id) + this.id.length, o.length) : this.id.call(this, o)), o = this.src.replace("%id%", o), !1) : void 0
                }));
                var r = {};
                return s.srcAction && (r[s.srcAction] = o), e._parseMarkup(n, r, i), e.updateStatus("ready"), n
            }
        }
    });
    var N = function(t) {
            var i = e.items.length;
            return t > i - 1 ? t - i : 0 > t ? i + t : t
        },
        W = function(t, e, i) {
            return t.replace(/%curr%/gi, e + 1).replace(/%total%/gi, i)
        };
    t.magnificPopup.registerModule("gallery", {
        options: {
            enabled: !1,
            arrowMarkup: '<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>',
            preload: [0, 2],
            navigateByImgClick: !0,
            arrows: !0,
            tPrev: "Previous (Left arrow key)",
            tNext: "Next (Right arrow key)",
            tCounter: "%curr% of %total%"
        },
        proto: {
            initGallery: function() {
                var i = e.st.gallery,
                    o = ".mfp-gallery";
                return e.direction = !0, !(!i || !i.enabled) && (s += " mfp-gallery", b(d + o, (function() {
                    i.navigateByImgClick && e.wrap.on("click" + o, ".mfp-img", (function() {
                        return e.items.length > 1 ? (e.next(), !1) : void 0
                    })), n.on("keydown" + o, (function(t) {
                        37 === t.keyCode ? e.prev() : 39 === t.keyCode && e.next()
                    }))
                })), b("UpdateStatus" + o, (function(t, i) {
                    i.text && (i.text = W(i.text, e.currItem.index, e.items.length))
                })), b(c + o, (function(t, n, o, s) {
                    var r = e.items.length;
                    o.counter = r > 1 ? W(i.tCounter, s.index, r) : ""
                })), b("BuildControls" + o, (function() {
                    if (e.items.length > 1 && i.arrows && !e.arrowLeft) {
                        var n = i.arrowMarkup,
                            o = e.arrowLeft = t(n.replace(/%title%/gi, i.tPrev).replace(/%dir%/gi, "left")).addClass(g),
                            s = e.arrowRight = t(n.replace(/%title%/gi, i.tNext).replace(/%dir%/gi, "right")).addClass(g);
                        o.click((function() {
                            e.prev()
                        })), s.click((function() {
                            e.next()
                        })), e.container.append(o.add(s))
                    }
                })), b(u + o, (function() {
                    e._preloadTimeout && clearTimeout(e._preloadTimeout), e._preloadTimeout = setTimeout((function() {
                        e.preloadNearbyImages(), e._preloadTimeout = null
                    }), 16)
                })), void b(a + o, (function() {
                    n.off(o), e.wrap.off("click" + o), e.arrowRight = e.arrowLeft = null
                })))
            },
            next: function() {
                e.direction = !0, e.index = N(e.index + 1), e.updateItemHTML()
            },
            prev: function() {
                e.direction = !1, e.index = N(e.index - 1), e.updateItemHTML()
            },
            goTo: function(t) {
                e.direction = t >= e.index, e.index = t, e.updateItemHTML()
            },
            preloadNearbyImages: function() {
                var t, i = e.st.gallery.preload,
                    n = Math.min(i[0], e.items.length),
                    o = Math.min(i[1], e.items.length);
                for (t = 1; t <= (e.direction ? o : n); t++) e._preloadItem(e.index + t);
                for (t = 1; t <= (e.direction ? n : o); t++) e._preloadItem(e.index - t)
            },
            _preloadItem: function(i) {
                if (i = N(i), !e.items[i].preloaded) {
                    var n = e.items[i];
                    n.parsed || (n = e.parseEl(i)), k("LazyLoad", n), "image" === n.type && (n.img = t('<img class="mfp-img" />').on("load.mfploader", (function() {
                        n.hasSize = !0
                    })).on("error.mfploader", (function() {
                        n.hasSize = !0, n.loadError = !0, k("LazyLoadError", n)
                    })).attr("src", n.src)), n.preloaded = !0
                }
            }
        }
    });
    var B = "retina";
    t.magnificPopup.registerModule(B, {
        options: {
            replaceSrc: function(t) {
                return t.src.replace(/\.\w+$/, (function(t) {
                    return "@2x" + t
                }))
            },
            ratio: 1
        },
        proto: {
            initRetina: function() {
                if (window.devicePixelRatio > 1) {
                    var t = e.st.retina,
                        i = t.ratio;
                    (i = isNaN(i) ? i() : i) > 1 && (b("ImageHasSize." + B, (function(t, e) {
                        e.img.css({
                            "max-width": e.img[0].naturalWidth / i,
                            width: "100%"
                        })
                    })), b("ElementParse." + B, (function(e, n) {
                        n.src = t.replaceSrc(n, i)
                    })))
                }
            }
        }
    }), C()
})),
function(t) {
    "use strict";
    "function" == typeof define && define.amd ? define(["jquery"], t) : "undefined" != typeof exports ? module.exports = t(require("jquery")) : t(jQuery)
}((function(t) {
    "use strict";
    var e = window.Slick || {};
    (e = function() {
        var e = 0;
        return function(i, n) {
            var o, s = this;
            s.defaults = {
                accessibility: !0,
                adaptiveHeight: !1,
                appendArrows: t(i),
                appendDots: t(i),
                arrows: !0,
                asNavFor: null,
                prevArrow: '<button class="slick-prev" aria-label="Previous" type="button">Previous</button>',
                nextArrow: '<button class="slick-next" aria-label="Next" type="button">Next</button>',
                autoplay: !1,
                autoplaySpeed: 3e3,
                centerMode: !1,
                centerPadding: "50px",
                cssEase: "ease",
                customPaging: function(e, i) {
                    return t('<button type="button" />').text(i + 1)
                },
                dots: !1,
                dotsClass: "slick-dots",
                draggable: !0,
                easing: "linear",
                edgeFriction: .35,
                fade: !1,
                focusOnSelect: !1,
                focusOnChange: !1,
                infinite: !0,
                initialSlide: 0,
                lazyLoad: "ondemand",
                mobileFirst: !1,
                pauseOnHover: !0,
                pauseOnFocus: !0,
                pauseOnDotsHover: !1,
                respondTo: "window",
                responsive: null,
                rows: 1,
                rtl: !1,
                slide: "",
                slidesPerRow: 1,
                slidesToShow: 1,
                slidesToScroll: 1,
                speed: 500,
                swipe: !0,
                swipeToSlide: !1,
                touchMove: !0,
                touchThreshold: 5,
                useCSS: !0,
                useTransform: !0,
                variableWidth: !1,
                vertical: !1,
                verticalSwiping: !1,
                waitForAnimate: !0,
                zIndex: 1e3
            }, s.initials = {
                animating: !1,
                dragging: !1,
                autoPlayTimer: null,
                currentDirection: 0,
                currentLeft: null,
                currentSlide: 0,
                direction: 1,
                $dots: null,
                listWidth: null,
                listHeight: null,
                loadIndex: 0,
                $nextArrow: null,
                $prevArrow: null,
                scrolling: !1,
                slideCount: null,
                slideWidth: null,
                $slideTrack: null,
                $slides: null,
                sliding: !1,
                slideOffset: 0,
                swipeLeft: null,
                swiping: !1,
                $list: null,
                touchObject: {},
                transformsEnabled: !1,
                unslicked: !1
            }, t.extend(s, s.initials), s.activeBreakpoint = null, s.animType = null, s.animProp = null, s.breakpoints = [], s.breakpointSettings = [], s.cssTransitions = !1, s.focussed = !1, s.interrupted = !1, s.hidden = "hidden", s.paused = !0, s.positionProp = null, s.respondTo = null, s.rowCount = 1, s.shouldClick = !0, s.$slider = t(i), s.$slidesCache = null, s.transformType = null, s.transitionType = null, s.visibilityChange = "visibilitychange", s.windowWidth = 0, s.windowTimer = null, o = t(i).data("slick") || {}, s.options = t.extend({}, s.defaults, n, o), s.currentSlide = s.options.initialSlide, s.originalSettings = s.options, void 0 !== document.mozHidden ? (s.hidden = "mozHidden", s.visibilityChange = "mozvisibilitychange") : void 0 !== document.webkitHidden && (s.hidden = "webkitHidden", s.visibilityChange = "webkitvisibilitychange"), s.autoPlay = t.proxy(s.autoPlay, s), s.autoPlayClear = t.proxy(s.autoPlayClear, s), s.autoPlayIterator = t.proxy(s.autoPlayIterator, s), s.changeSlide = t.proxy(s.changeSlide, s), s.clickHandler = t.proxy(s.clickHandler, s), s.selectHandler = t.proxy(s.selectHandler, s), s.setPosition = t.proxy(s.setPosition, s), s.swipeHandler = t.proxy(s.swipeHandler, s), s.dragHandler = t.proxy(s.dragHandler, s), s.keyHandler = t.proxy(s.keyHandler, s), s.instanceUid = e++, s.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/, s.registerBreakpoints(), s.init(!0)
        }
    }()).prototype.activateADA = function() {
        this.$slideTrack.find(".slick-active").attr({
            "aria-hidden": "false"
        }).find("a, input, button, select").attr({
            tabindex: "0"
        })
    }, e.prototype.addSlide = e.prototype.slickAdd = function(e, i, n) {
        var o = this;
        if ("boolean" == typeof i) n = i, i = null;
        else if (i < 0 || i >= o.slideCount) return !1;
        o.unload(), "number" == typeof i ? 0 === i && 0 === o.$slides.length ? t(e).appendTo(o.$slideTrack) : n ? t(e).insertBefore(o.$slides.eq(i)) : t(e).insertAfter(o.$slides.eq(i)) : !0 === n ? t(e).prependTo(o.$slideTrack) : t(e).appendTo(o.$slideTrack), o.$slides = o.$slideTrack.children(this.options.slide), o.$slideTrack.children(this.options.slide).detach(), o.$slideTrack.append(o.$slides), o.$slides.each((function(e, i) {
            t(i).attr("data-slick-index", e)
        })), o.$slidesCache = o.$slides, o.reinit()
    }, e.prototype.animateHeight = function() {
        var t = this;
        if (1 === t.options.slidesToShow && !0 === t.options.adaptiveHeight && !1 === t.options.vertical) {
            var e = t.$slides.eq(t.currentSlide).outerHeight(!0);
            t.$list.animate({
                height: e
            }, t.options.speed)
        }
    }, e.prototype.animateSlide = function(e, i) {
        var n = {},
            o = this;
        o.animateHeight(), !0 === o.options.rtl && !1 === o.options.vertical && (e = -e), !1 === o.transformsEnabled ? !1 === o.options.vertical ? o.$slideTrack.animate({
            left: e
        }, o.options.speed, o.options.easing, i) : o.$slideTrack.animate({
            top: e
        }, o.options.speed, o.options.easing, i) : !1 === o.cssTransitions ? (!0 === o.options.rtl && (o.currentLeft = -o.currentLeft), t({
            animStart: o.currentLeft
        }).animate({
            animStart: e
        }, {
            duration: o.options.speed,
            easing: o.options.easing,
            step: function(t) {
                t = Math.ceil(t), !1 === o.options.vertical ? (n[o.animType] = "translate(" + t + "px, 0px)", o.$slideTrack.css(n)) : (n[o.animType] = "translate(0px," + t + "px)", o.$slideTrack.css(n))
            },
            complete: function() {
                i && i.call()
            }
        })) : (o.applyTransition(), e = Math.ceil(e), !1 === o.options.vertical ? n[o.animType] = "translate3d(" + e + "px, 0px, 0px)" : n[o.animType] = "translate3d(0px," + e + "px, 0px)", o.$slideTrack.css(n), i && setTimeout((function() {
            o.disableTransition(), i.call()
        }), o.options.speed))
    }, e.prototype.getNavTarget = function() {
        var e = this.options.asNavFor;
        return e && null !== e && (e = t(e).not(this.$slider)), e
    }, e.prototype.asNavFor = function(e) {
        var i = this.getNavTarget();
        null !== i && "object" == typeof i && i.each((function() {
            var i = t(this).slick("getSlick");
            i.unslicked || i.slideHandler(e, !0)
        }))
    }, e.prototype.applyTransition = function(t) {
        var e = this,
            i = {};
        !1 === e.options.fade ? i[e.transitionType] = e.transformType + " " + e.options.speed + "ms " + e.options.cssEase : i[e.transitionType] = "opacity " + e.options.speed + "ms " + e.options.cssEase, !1 === e.options.fade ? e.$slideTrack.css(i) : e.$slides.eq(t).css(i)
    }, e.prototype.autoPlay = function() {
        var t = this;
        t.autoPlayClear(), t.slideCount > t.options.slidesToShow && (t.autoPlayTimer = setInterval(t.autoPlayIterator, t.options.autoplaySpeed))
    }, e.prototype.autoPlayClear = function() {
        this.autoPlayTimer && clearInterval(this.autoPlayTimer)
    }, e.prototype.autoPlayIterator = function() {
        var t = this,
            e = t.currentSlide + t.options.slidesToScroll;
        t.paused || t.interrupted || t.focussed || (!1 === t.options.infinite && (1 === t.direction && t.currentSlide + 1 === t.slideCount - 1 ? t.direction = 0 : 0 === t.direction && (e = t.currentSlide - t.options.slidesToScroll, t.currentSlide - 1 == 0 && (t.direction = 1))), t.slideHandler(e))
    }, e.prototype.buildArrows = function() {
        var e = this;
        !0 === e.options.arrows && (e.$prevArrow = t(e.options.prevArrow).addClass("slick-arrow"), e.$nextArrow = t(e.options.nextArrow).addClass("slick-arrow"), e.slideCount > e.options.slidesToShow ? (e.$prevArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"), e.$nextArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"), e.htmlExpr.test(e.options.prevArrow) && e.$prevArrow.prependTo(e.options.appendArrows), e.htmlExpr.test(e.options.nextArrow) && e.$nextArrow.appendTo(e.options.appendArrows), !0 !== e.options.infinite && e.$prevArrow.addClass("slick-disabled").attr("aria-disabled", "true")) : e.$prevArrow.add(e.$nextArrow).addClass("slick-hidden").attr({
            "aria-disabled": "true",
            tabindex: "-1"
        }))
    }, e.prototype.buildDots = function() {
        var e, i, n = this;
        if (!0 === n.options.dots) {
            for (n.$slider.addClass("slick-dotted"), i = t("<ul />").addClass(n.options.dotsClass), e = 0; e <= n.getDotCount(); e += 1) i.append(t("<li />").append(n.options.customPaging.call(this, n, e)));
            n.$dots = i.appendTo(n.options.appendDots), n.$dots.find("li").first().addClass("slick-active")
        }
    }, e.prototype.buildOut = function() {
        var e = this;
        e.$slides = e.$slider.children(e.options.slide + ":not(.slick-cloned)").addClass("slick-slide"), e.slideCount = e.$slides.length, e.$slides.each((function(e, i) {
            t(i).attr("data-slick-index", e).data("originalStyling", t(i).attr("style") || "")
        })), e.$slider.addClass("slick-slider"), e.$slideTrack = 0 === e.slideCount ? t('<div class="slick-track"/>').appendTo(e.$slider) : e.$slides.wrapAll('<div class="slick-track"/>').parent(), e.$list = e.$slideTrack.wrap('<div class="slick-list"/>').parent(), e.$slideTrack.css("opacity", 0), !0 !== e.options.centerMode && !0 !== e.options.swipeToSlide || (e.options.slidesToScroll = 1), t("img[data-lazy]", e.$slider).not("[src]").addClass("slick-loading"), e.setupInfinite(), e.buildArrows(), e.buildDots(), e.updateDots(), e.setSlideClasses("number" == typeof e.currentSlide ? e.currentSlide : 0), !0 === e.options.draggable && e.$list.addClass("draggable")
    }, e.prototype.buildRows = function() {
        var t, e, i, n, o, s, r, a = this;
        if (n = document.createDocumentFragment(), s = a.$slider.children(), a.options.rows > 1) {
            for (r = a.options.slidesPerRow * a.options.rows, o = Math.ceil(s.length / r), t = 0; t < o; t++) {
                var l = document.createElement("div");
                for (e = 0; e < a.options.rows; e++) {
                    var c = document.createElement("div");
                    for (i = 0; i < a.options.slidesPerRow; i++) {
                        var d = t * r + (e * a.options.slidesPerRow + i);
                        s.get(d) && c.appendChild(s.get(d))
                    }
                    l.appendChild(c)
                }
                n.appendChild(l)
            }
            a.$slider.empty().append(n), a.$slider.children().children().children().css({
                width: 100 / a.options.slidesPerRow + "%",
                display: "inline-block"
            })
        }
    }, e.prototype.checkResponsive = function(e, i) {
        var n, o, s, r = this,
            a = !1,
            l = r.$slider.width(),
            c = window.innerWidth || t(window).width();
        if ("window" === r.respondTo ? s = c : "slider" === r.respondTo ? s = l : "min" === r.respondTo && (s = Math.min(c, l)), r.options.responsive && r.options.responsive.length && null !== r.options.responsive) {
            for (n in o = null, r.breakpoints) r.breakpoints.hasOwnProperty(n) && (!1 === r.originalSettings.mobileFirst ? s < r.breakpoints[n] && (o = r.breakpoints[n]) : s > r.breakpoints[n] && (o = r.breakpoints[n]));
            null !== o ? null !== r.activeBreakpoint ? (o !== r.activeBreakpoint || i) && (r.activeBreakpoint = o, "unslick" === r.breakpointSettings[o] ? r.unslick(o) : (r.options = t.extend({}, r.originalSettings, r.breakpointSettings[o]), !0 === e && (r.currentSlide = r.options.initialSlide), r.refresh(e)), a = o) : (r.activeBreakpoint = o, "unslick" === r.breakpointSettings[o] ? r.unslick(o) : (r.options = t.extend({}, r.originalSettings, r.breakpointSettings[o]), !0 === e && (r.currentSlide = r.options.initialSlide), r.refresh(e)), a = o) : null !== r.activeBreakpoint && (r.activeBreakpoint = null, r.options = r.originalSettings, !0 === e && (r.currentSlide = r.options.initialSlide), r.refresh(e), a = o), e || !1 === a || r.$slider.trigger("breakpoint", [r, a])
        }
    }, e.prototype.changeSlide = function(e, i) {
        var n, o, s = this,
            r = t(e.currentTarget);
        switch (r.is("a") && e.preventDefault(), r.is("li") || (r = r.closest("li")), n = s.slideCount % s.options.slidesToScroll != 0 ? 0 : (s.slideCount - s.currentSlide) % s.options.slidesToScroll, e.data.message) {
            case "previous":
                o = 0 === n ? s.options.slidesToScroll : s.options.slidesToShow - n, s.slideCount > s.options.slidesToShow && s.slideHandler(s.currentSlide - o, !1, i);
                break;
            case "next":
                o = 0 === n ? s.options.slidesToScroll : n, s.slideCount > s.options.slidesToShow && s.slideHandler(s.currentSlide + o, !1, i);
                break;
            case "index":
                var a = 0 === e.data.index ? 0 : e.data.index || r.index() * s.options.slidesToScroll;
                s.slideHandler(s.checkNavigable(a), !1, i), r.children().trigger("focus");
                break;
            default:
                return
        }
    }, e.prototype.checkNavigable = function(t) {
        var e, i;
        if (i = 0, t > (e = this.getNavigableIndexes())[e.length - 1]) t = e[e.length - 1];
        else
            for (var n in e) {
                if (t < e[n]) {
                    t = i;
                    break
                }
                i = e[n]
            }
        return t
    }, e.prototype.cleanUpEvents = function() {
        var e = this;
        e.options.dots && null !== e.$dots && (t("li", e.$dots).off("click.slick", e.changeSlide).off("mouseenter.slick", t.proxy(e.interrupt, e, !0)).off("mouseleave.slick", t.proxy(e.interrupt, e, !1)), !0 === e.options.accessibility && e.$dots.off("keydown.slick", e.keyHandler)), e.$slider.off("focus.slick blur.slick"), !0 === e.options.arrows && e.slideCount > e.options.slidesToShow && (e.$prevArrow && e.$prevArrow.off("click.slick", e.changeSlide), e.$nextArrow && e.$nextArrow.off("click.slick", e.changeSlide), !0 === e.options.accessibility && (e.$prevArrow && e.$prevArrow.off("keydown.slick", e.keyHandler), e.$nextArrow && e.$nextArrow.off("keydown.slick", e.keyHandler))), e.$list.off("touchstart.slick mousedown.slick", e.swipeHandler), e.$list.off("touchmove.slick mousemove.slick", e.swipeHandler), e.$list.off("touchend.slick mouseup.slick", e.swipeHandler), e.$list.off("touchcancel.slick mouseleave.slick", e.swipeHandler), e.$list.off("click.slick", e.clickHandler), t(document).off(e.visibilityChange, e.visibility), e.cleanUpSlideEvents(), !0 === e.options.accessibility && e.$list.off("keydown.slick", e.keyHandler), !0 === e.options.focusOnSelect && t(e.$slideTrack).children().off("click.slick", e.selectHandler), t(window).off("orientationchange.slick.slick-" + e.instanceUid, e.orientationChange), t(window).off("resize.slick.slick-" + e.instanceUid, e.resize), t("[draggable!=true]", e.$slideTrack).off("dragstart", e.preventDefault), t(window).off("load.slick.slick-" + e.instanceUid, e.setPosition)
    }, e.prototype.cleanUpSlideEvents = function() {
        var e = this;
        e.$list.off("mouseenter.slick", t.proxy(e.interrupt, e, !0)), e.$list.off("mouseleave.slick", t.proxy(e.interrupt, e, !1))
    }, e.prototype.cleanUpRows = function() {
        var t, e = this;
        e.options.rows > 1 && ((t = e.$slides.children().children()).removeAttr("style"), e.$slider.empty().append(t))
    }, e.prototype.clickHandler = function(t) {
        !1 === this.shouldClick && (t.stopImmediatePropagation(), t.stopPropagation(), t.preventDefault())
    }, e.prototype.destroy = function(e) {
        var i = this;
        i.autoPlayClear(), i.touchObject = {}, i.cleanUpEvents(), t(".slick-cloned", i.$slider).detach(), i.$dots && i.$dots.remove(), i.$prevArrow && i.$prevArrow.length && (i.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display", ""), i.htmlExpr.test(i.options.prevArrow) && i.$prevArrow.remove()), i.$nextArrow && i.$nextArrow.length && (i.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display", ""), i.htmlExpr.test(i.options.nextArrow) && i.$nextArrow.remove()), i.$slides && (i.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each((function() {
            t(this).attr("style", t(this).data("originalStyling"))
        })), i.$slideTrack.children(this.options.slide).detach(), i.$slideTrack.detach(), i.$list.detach(), i.$slider.append(i.$slides)), i.cleanUpRows(), i.$slider.removeClass("slick-slider"), i.$slider.removeClass("slick-initialized"), i.$slider.removeClass("slick-dotted"), i.unslicked = !0, e || i.$slider.trigger("destroy", [i])
    }, e.prototype.disableTransition = function(t) {
        var e = this,
            i = {};
        i[e.transitionType] = "", !1 === e.options.fade ? e.$slideTrack.css(i) : e.$slides.eq(t).css(i)
    }, e.prototype.fadeSlide = function(t, e) {
        var i = this;
        !1 === i.cssTransitions ? (i.$slides.eq(t).css({
            zIndex: i.options.zIndex
        }), i.$slides.eq(t).animate({
            opacity: 1
        }, i.options.speed, i.options.easing, e)) : (i.applyTransition(t), i.$slides.eq(t).css({
            opacity: 1,
            zIndex: i.options.zIndex
        }), e && setTimeout((function() {
            i.disableTransition(t), e.call()
        }), i.options.speed))
    }, e.prototype.fadeSlideOut = function(t) {
        var e = this;
        !1 === e.cssTransitions ? e.$slides.eq(t).animate({
            opacity: 0,
            zIndex: e.options.zIndex - 2
        }, e.options.speed, e.options.easing) : (e.applyTransition(t), e.$slides.eq(t).css({
            opacity: 0,
            zIndex: e.options.zIndex - 2
        }))
    }, e.prototype.filterSlides = e.prototype.slickFilter = function(t) {
        var e = this;
        null !== t && (e.$slidesCache = e.$slides, e.unload(), e.$slideTrack.children(this.options.slide).detach(), e.$slidesCache.filter(t).appendTo(e.$slideTrack), e.reinit())
    }, e.prototype.focusHandler = function() {
        var e = this;
        e.$slider.off("focus.slick blur.slick").on("focus.slick blur.slick", "*", (function(i) {
            i.stopImmediatePropagation();
            var n = t(this);
            setTimeout((function() {
                e.options.pauseOnFocus && (e.focussed = n.is(":focus"), e.autoPlay())
            }), 0)
        }))
    }, e.prototype.getCurrent = e.prototype.slickCurrentSlide = function() {
        return this.currentSlide
    }, e.prototype.getDotCount = function() {
        var t = this,
            e = 0,
            i = 0,
            n = 0;
        if (!0 === t.options.infinite)
            if (t.slideCount <= t.options.slidesToShow) ++n;
            else
                for (; e < t.slideCount;) ++n, e = i + t.options.slidesToScroll, i += t.options.slidesToScroll <= t.options.slidesToShow ? t.options.slidesToScroll : t.options.slidesToShow;
        else if (!0 === t.options.centerMode) n = t.slideCount;
        else if (t.options.asNavFor)
            for (; e < t.slideCount;) ++n, e = i + t.options.slidesToScroll, i += t.options.slidesToScroll <= t.options.slidesToShow ? t.options.slidesToScroll : t.options.slidesToShow;
        else n = 1 + Math.ceil((t.slideCount - t.options.slidesToShow) / t.options.slidesToScroll);
        return n - 1
    }, e.prototype.getLeft = function(t) {
        var e, i, n, o, s = this,
            r = 0;
        return s.slideOffset = 0, i = s.$slides.first().outerHeight(!0), !0 === s.options.infinite ? (s.slideCount > s.options.slidesToShow && (s.slideOffset = s.slideWidth * s.options.slidesToShow * -1, o = -1, !0 === s.options.vertical && !0 === s.options.centerMode && (2 === s.options.slidesToShow ? o = -1.5 : 1 === s.options.slidesToShow && (o = -2)), r = i * s.options.slidesToShow * o), s.slideCount % s.options.slidesToScroll != 0 && t + s.options.slidesToScroll > s.slideCount && s.slideCount > s.options.slidesToShow && (t > s.slideCount ? (s.slideOffset = (s.options.slidesToShow - (t - s.slideCount)) * s.slideWidth * -1, r = (s.options.slidesToShow - (t - s.slideCount)) * i * -1) : (s.slideOffset = s.slideCount % s.options.slidesToScroll * s.slideWidth * -1, r = s.slideCount % s.options.slidesToScroll * i * -1))) : t + s.options.slidesToShow > s.slideCount && (s.slideOffset = (t + s.options.slidesToShow - s.slideCount) * s.slideWidth, r = (t + s.options.slidesToShow - s.slideCount) * i), s.slideCount <= s.options.slidesToShow && (s.slideOffset = 0, r = 0), !0 === s.options.centerMode && s.slideCount <= s.options.slidesToShow ? s.slideOffset = s.slideWidth * Math.floor(s.options.slidesToShow) / 2 - s.slideWidth * s.slideCount / 2 : !0 === s.options.centerMode && !0 === s.options.infinite ? s.slideOffset += s.slideWidth * Math.floor(s.options.slidesToShow / 2) - s.slideWidth : !0 === s.options.centerMode && (s.slideOffset = 0, s.slideOffset += s.slideWidth * Math.floor(s.options.slidesToShow / 2)), e = !1 === s.options.vertical ? t * s.slideWidth * -1 + s.slideOffset : t * i * -1 + r, !0 === s.options.variableWidth && (n = s.slideCount <= s.options.slidesToShow || !1 === s.options.infinite ? s.$slideTrack.children(".slick-slide").eq(t) : s.$slideTrack.children(".slick-slide").eq(t + s.options.slidesToShow), e = !0 === s.options.rtl ? n[0] ? -1 * (s.$slideTrack.width() - n[0].offsetLeft - n.width()) : 0 : n[0] ? -1 * n[0].offsetLeft : 0, !0 === s.options.centerMode && (n = s.slideCount <= s.options.slidesToShow || !1 === s.options.infinite ? s.$slideTrack.children(".slick-slide").eq(t) : s.$slideTrack.children(".slick-slide").eq(t + s.options.slidesToShow + 1), e = !0 === s.options.rtl ? n[0] ? -1 * (s.$slideTrack.width() - n[0].offsetLeft - n.width()) : 0 : n[0] ? -1 * n[0].offsetLeft : 0, e += (s.$list.width() - n.outerWidth()) / 2)), e
    }, e.prototype.getOption = e.prototype.slickGetOption = function(t) {
        return this.options[t]
    }, e.prototype.getNavigableIndexes = function() {
        var t, e = this,
            i = 0,
            n = 0,
            o = [];
        for (!1 === e.options.infinite ? t = e.slideCount : (i = -1 * e.options.slidesToScroll, n = -1 * e.options.slidesToScroll, t = 2 * e.slideCount); i < t;) o.push(i), i = n + e.options.slidesToScroll, n += e.options.slidesToScroll <= e.options.slidesToShow ? e.options.slidesToScroll : e.options.slidesToShow;
        return o
    }, e.prototype.getSlick = function() {
        return this
    }, e.prototype.getSlideCount = function() {
        var e, i, n = this;
        return i = !0 === n.options.centerMode ? n.slideWidth * Math.floor(n.options.slidesToShow / 2) : 0, !0 === n.options.swipeToSlide ? (n.$slideTrack.find(".slick-slide").each((function(o, s) {
            if (s.offsetLeft - i + t(s).outerWidth() / 2 > -1 * n.swipeLeft) return e = s, !1
        })), Math.abs(t(e).attr("data-slick-index") - n.currentSlide) || 1) : n.options.slidesToScroll
    }, e.prototype.goTo = e.prototype.slickGoTo = function(t, e) {
        this.changeSlide({
            data: {
                message: "index",
                index: parseInt(t)
            }
        }, e)
    }, e.prototype.init = function(e) {
        var i = this;
        t(i.$slider).hasClass("slick-initialized") || (t(i.$slider).addClass("slick-initialized"), i.buildRows(), i.buildOut(), i.setProps(), i.startLoad(), i.loadSlider(), i.initializeEvents(), i.updateArrows(), i.updateDots(), i.checkResponsive(!0), i.focusHandler()), e && i.$slider.trigger("init", [i]), !0 === i.options.accessibility && i.initADA(), i.options.autoplay && (i.paused = !1, i.autoPlay())
    }, e.prototype.initADA = function() {
        var e = this,
            i = Math.ceil(e.slideCount / e.options.slidesToShow),
            n = e.getNavigableIndexes().filter((function(t) {
                return t >= 0 && t < e.slideCount
            }));
        e.$slides.add(e.$slideTrack.find(".slick-cloned")).attr({
            "aria-hidden": "true",
            tabindex: "-1"
        }).find("a, input, button, select").attr({
            tabindex: "-1"
        }), null !== e.$dots && (e.$slides.not(e.$slideTrack.find(".slick-cloned")).each((function(i) {
            var o = n.indexOf(i);
            t(this).attr({
                role: "tabpanel",
                id: "slick-slide" + e.instanceUid + i,
                tabindex: -1
            }), -1 !== o && t(this).attr({
                "aria-describedby": "slick-slide-control" + e.instanceUid + o
            })
        })), e.$dots.attr("role", "tablist").find("li").each((function(o) {
            var s = n[o];
            t(this).attr({
                role: "presentation"
            }), t(this).find("button").first().attr({
                role: "tab",
                id: "slick-slide-control" + e.instanceUid + o,
                "aria-controls": "slick-slide" + e.instanceUid + s,
                "aria-label": o + 1 + " of " + i,
                "aria-selected": null,
                tabindex: "-1"
            })
        })).eq(e.currentSlide).find("button").attr({
            "aria-selected": "true",
            tabindex: "0"
        }).end());
        for (var o = e.currentSlide, s = o + e.options.slidesToShow; o < s; o++) e.$slides.eq(o).attr("tabindex", 0);
        e.activateADA()
    }, e.prototype.initArrowEvents = function() {
        var t = this;
        !0 === t.options.arrows && t.slideCount > t.options.slidesToShow && (t.$prevArrow.off("click.slick").on("click.slick", {
            message: "previous"
        }, t.changeSlide), t.$nextArrow.off("click.slick").on("click.slick", {
            message: "next"
        }, t.changeSlide), !0 === t.options.accessibility && (t.$prevArrow.on("keydown.slick", t.keyHandler), t.$nextArrow.on("keydown.slick", t.keyHandler)))
    }, e.prototype.initDotEvents = function() {
        var e = this;
        !0 === e.options.dots && (t("li", e.$dots).on("click.slick", {
            message: "index"
        }, e.changeSlide), !0 === e.options.accessibility && e.$dots.on("keydown.slick", e.keyHandler)), !0 === e.options.dots && !0 === e.options.pauseOnDotsHover && t("li", e.$dots).on("mouseenter.slick", t.proxy(e.interrupt, e, !0)).on("mouseleave.slick", t.proxy(e.interrupt, e, !1))
    }, e.prototype.initSlideEvents = function() {
        var e = this;
        e.options.pauseOnHover && (e.$list.on("mouseenter.slick", t.proxy(e.interrupt, e, !0)), e.$list.on("mouseleave.slick", t.proxy(e.interrupt, e, !1)))
    }, e.prototype.initializeEvents = function() {
        var e = this;
        e.initArrowEvents(), e.initDotEvents(), e.initSlideEvents(), e.$list.on("touchstart.slick mousedown.slick", {
            action: "start"
        }, e.swipeHandler), e.$list.on("touchmove.slick mousemove.slick", {
            action: "move"
        }, e.swipeHandler), e.$list.on("touchend.slick mouseup.slick", {
            action: "end"
        }, e.swipeHandler), e.$list.on("touchcancel.slick mouseleave.slick", {
            action: "end"
        }, e.swipeHandler), e.$list.on("click.slick", e.clickHandler), t(document).on(e.visibilityChange, t.proxy(e.visibility, e)), !0 === e.options.accessibility && e.$list.on("keydown.slick", e.keyHandler), !0 === e.options.focusOnSelect && t(e.$slideTrack).children().on("click.slick", e.selectHandler), t(window).on("orientationchange.slick.slick-" + e.instanceUid, t.proxy(e.orientationChange, e)), t(window).on("resize.slick.slick-" + e.instanceUid, t.proxy(e.resize, e)), t("[draggable!=true]", e.$slideTrack).on("dragstart", e.preventDefault), t(window).on("load.slick.slick-" + e.instanceUid, e.setPosition), t(e.setPosition)
    }, e.prototype.initUI = function() {
        var t = this;
        !0 === t.options.arrows && t.slideCount > t.options.slidesToShow && (t.$prevArrow.show(), t.$nextArrow.show()), !0 === t.options.dots && t.slideCount > t.options.slidesToShow && t.$dots.show()
    }, e.prototype.keyHandler = function(t) {
        var e = this;
        t.target.tagName.match("TEXTAREA|INPUT|SELECT") || (37 === t.keyCode && !0 === e.options.accessibility ? e.changeSlide({
            data: {
                message: !0 === e.options.rtl ? "next" : "previous"
            }
        }) : 39 === t.keyCode && !0 === e.options.accessibility && e.changeSlide({
            data: {
                message: !0 === e.options.rtl ? "previous" : "next"
            }
        }))
    }, e.prototype.lazyLoad = function() {
        function e(e) {
            t("img[data-lazy]", e).each((function() {
                var e = t(this),
                    i = t(this).attr("data-lazy"),
                    n = t(this).attr("data-srcset"),
                    o = t(this).attr("data-sizes") || s.$slider.attr("data-sizes"),
                    r = document.createElement("img");
                r.onload = function() {
                    e.animate({
                        opacity: 0
                    }, 100, (function() {
                        n && (e.attr("srcset", n), o && e.attr("sizes", o)), e.attr("src", i).animate({
                            opacity: 1
                        }, 200, (function() {
                            e.removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading")
                        })), s.$slider.trigger("lazyLoaded", [s, e, i])
                    }))
                }, r.onerror = function() {
                    e.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"), s.$slider.trigger("lazyLoadError", [s, e, i])
                }, r.src = i
            }))
        }
        var i, n, o, s = this;
        if (!0 === s.options.centerMode ? !0 === s.options.infinite ? o = (n = s.currentSlide + (s.options.slidesToShow / 2 + 1)) + s.options.slidesToShow + 2 : (n = Math.max(0, s.currentSlide - (s.options.slidesToShow / 2 + 1)), o = s.options.slidesToShow / 2 + 1 + 2 + s.currentSlide) : (n = s.options.infinite ? s.options.slidesToShow + s.currentSlide : s.currentSlide, o = Math.ceil(n + s.options.slidesToShow), !0 === s.options.fade && (n > 0 && n--, o <= s.slideCount && o++)), i = s.$slider.find(".slick-slide").slice(n, o), "anticipated" === s.options.lazyLoad)
            for (var r = n - 1, a = o, l = s.$slider.find(".slick-slide"), c = 0; c < s.options.slidesToScroll; c++) r < 0 && (r = s.slideCount - 1), i = (i = i.add(l.eq(r))).add(l.eq(a)), r--, a++;
        e(i), s.slideCount <= s.options.slidesToShow ? e(s.$slider.find(".slick-slide")) : s.currentSlide >= s.slideCount - s.options.slidesToShow ? e(s.$slider.find(".slick-cloned").slice(0, s.options.slidesToShow)) : 0 === s.currentSlide && e(s.$slider.find(".slick-cloned").slice(-1 * s.options.slidesToShow))
    }, e.prototype.loadSlider = function() {
        var t = this;
        t.setPosition(), t.$slideTrack.css({
            opacity: 1
        }), t.$slider.removeClass("slick-loading"), t.initUI(), "progressive" === t.options.lazyLoad && t.progressiveLazyLoad()
    }, e.prototype.next = e.prototype.slickNext = function() {
        this.changeSlide({
            data: {
                message: "next"
            }
        })
    }, e.prototype.orientationChange = function() {
        this.checkResponsive(), this.setPosition()
    }, e.prototype.pause = e.prototype.slickPause = function() {
        this.autoPlayClear(), this.paused = !0
    }, e.prototype.play = e.prototype.slickPlay = function() {
        var t = this;
        t.autoPlay(), t.options.autoplay = !0, t.paused = !1, t.focussed = !1, t.interrupted = !1
    }, e.prototype.postSlide = function(e) {
        var i = this;
        i.unslicked || (i.$slider.trigger("afterChange", [i, e]), i.animating = !1, i.slideCount > i.options.slidesToShow && i.setPosition(), i.swipeLeft = null, i.options.autoplay && i.autoPlay(), !0 === i.options.accessibility && (i.initADA(), i.options.focusOnChange && t(i.$slides.get(i.currentSlide)).attr("tabindex", 0).focus()))
    }, e.prototype.prev = e.prototype.slickPrev = function() {
        this.changeSlide({
            data: {
                message: "previous"
            }
        })
    }, e.prototype.preventDefault = function(t) {
        t.preventDefault()
    }, e.prototype.progressiveLazyLoad = function(e) {
        e = e || 1;
        var i, n, o, s, r, a = this,
            l = t("img[data-lazy]", a.$slider);
        l.length ? (i = l.first(), n = i.attr("data-lazy"), o = i.attr("data-srcset"), s = i.attr("data-sizes") || a.$slider.attr("data-sizes"), (r = document.createElement("img")).onload = function() {
            o && (i.attr("srcset", o), s && i.attr("sizes", s)), i.attr("src", n).removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading"), !0 === a.options.adaptiveHeight && a.setPosition(), a.$slider.trigger("lazyLoaded", [a, i, n]), a.progressiveLazyLoad()
        }, r.onerror = function() {
            e < 3 ? setTimeout((function() {
                a.progressiveLazyLoad(e + 1)
            }), 500) : (i.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"), a.$slider.trigger("lazyLoadError", [a, i, n]), a.progressiveLazyLoad())
        }, r.src = n) : a.$slider.trigger("allImagesLoaded", [a])
    }, e.prototype.refresh = function(e) {
        var i, n, o = this;
        n = o.slideCount - o.options.slidesToShow, !o.options.infinite && o.currentSlide > n && (o.currentSlide = n), o.slideCount <= o.options.slidesToShow && (o.currentSlide = 0), i = o.currentSlide, o.destroy(!0), t.extend(o, o.initials, {
            currentSlide: i
        }), o.init(), e || o.changeSlide({
            data: {
                message: "index",
                index: i
            }
        }, !1)
    }, e.prototype.registerBreakpoints = function() {
        var e, i, n, o = this,
            s = o.options.responsive || null;
        if ("array" === t.type(s) && s.length) {
            for (e in o.respondTo = o.options.respondTo || "window", s)
                if (n = o.breakpoints.length - 1, s.hasOwnProperty(e)) {
                    for (i = s[e].breakpoint; n >= 0;) o.breakpoints[n] && o.breakpoints[n] === i && o.breakpoints.splice(n, 1), n--;
                    o.breakpoints.push(i), o.breakpointSettings[i] = s[e].settings
                } o.breakpoints.sort((function(t, e) {
                return o.options.mobileFirst ? t - e : e - t
            }))
        }
    }, e.prototype.reinit = function() {
        var e = this;
        e.$slides = e.$slideTrack.children(e.options.slide).addClass("slick-slide"), e.slideCount = e.$slides.length, e.currentSlide >= e.slideCount && 0 !== e.currentSlide && (e.currentSlide = e.currentSlide - e.options.slidesToScroll), e.slideCount <= e.options.slidesToShow && (e.currentSlide = 0), e.registerBreakpoints(), e.setProps(), e.setupInfinite(), e.buildArrows(), e.updateArrows(), e.initArrowEvents(), e.buildDots(), e.updateDots(), e.initDotEvents(), e.cleanUpSlideEvents(), e.initSlideEvents(), e.checkResponsive(!1, !0), !0 === e.options.focusOnSelect && t(e.$slideTrack).children().on("click.slick", e.selectHandler), e.setSlideClasses("number" == typeof e.currentSlide ? e.currentSlide : 0), e.setPosition(), e.focusHandler(), e.paused = !e.options.autoplay, e.autoPlay(), e.$slider.trigger("reInit", [e])
    }, e.prototype.resize = function() {
        var e = this;
        t(window).width() !== e.windowWidth && (clearTimeout(e.windowDelay), e.windowDelay = window.setTimeout((function() {
            e.windowWidth = t(window).width(), e.checkResponsive(), e.unslicked || e.setPosition()
        }), 50))
    }, e.prototype.removeSlide = e.prototype.slickRemove = function(t, e, i) {
        var n = this;
        if (t = "boolean" == typeof t ? !0 === (e = t) ? 0 : n.slideCount - 1 : !0 === e ? --t : t, n.slideCount < 1 || t < 0 || t > n.slideCount - 1) return !1;
        n.unload(), !0 === i ? n.$slideTrack.children().remove() : n.$slideTrack.children(this.options.slide).eq(t).remove(), n.$slides = n.$slideTrack.children(this.options.slide), n.$slideTrack.children(this.options.slide).detach(), n.$slideTrack.append(n.$slides), n.$slidesCache = n.$slides, n.reinit()
    }, e.prototype.setCSS = function(t) {
        var e, i, n = this,
            o = {};
        !0 === n.options.rtl && (t = -t), e = "left" == n.positionProp ? Math.ceil(t) + "px" : "0px", i = "top" == n.positionProp ? Math.ceil(t) + "px" : "0px", o[n.positionProp] = t, !1 === n.transformsEnabled ? n.$slideTrack.css(o) : (o = {}, !1 === n.cssTransitions ? (o[n.animType] = "translate(" + e + ", " + i + ")", n.$slideTrack.css(o)) : (o[n.animType] = "translate3d(" + e + ", " + i + ", 0px)", n.$slideTrack.css(o)))
    }, e.prototype.setDimensions = function() {
        var t = this;
        !1 === t.options.vertical ? !0 === t.options.centerMode && t.$list.css({
            padding: "0px " + t.options.centerPadding
        }) : (t.$list.height(t.$slides.first().outerHeight(!0) * t.options.slidesToShow), !0 === t.options.centerMode && t.$list.css({
            padding: t.options.centerPadding + " 0px"
        })), t.listWidth = t.$list.width(), t.listHeight = t.$list.height(), !1 === t.options.vertical && !1 === t.options.variableWidth ? (t.slideWidth = Math.ceil(t.listWidth / t.options.slidesToShow), t.$slideTrack.width(Math.ceil(t.slideWidth * t.$slideTrack.children(".slick-slide").length))) : !0 === t.options.variableWidth ? t.$slideTrack.width(5e3 * t.slideCount) : (t.slideWidth = Math.ceil(t.listWidth), t.$slideTrack.height(Math.ceil(t.$slides.first().outerHeight(!0) * t.$slideTrack.children(".slick-slide").length)));
        var e = t.$slides.first().outerWidth(!0) - t.$slides.first().width();
        !1 === t.options.variableWidth && t.$slideTrack.children(".slick-slide").width(t.slideWidth - e)
    }, e.prototype.setFade = function() {
        var e, i = this;
        i.$slides.each((function(n, o) {
            e = i.slideWidth * n * -1, !0 === i.options.rtl ? t(o).css({
                position: "relative",
                right: e,
                top: 0,
                zIndex: i.options.zIndex - 2,
                opacity: 0
            }) : t(o).css({
                position: "relative",
                left: e,
                top: 0,
                zIndex: i.options.zIndex - 2,
                opacity: 0
            })
        })), i.$slides.eq(i.currentSlide).css({
            zIndex: i.options.zIndex - 1,
            opacity: 1
        })
    }, e.prototype.setHeight = function() {
        var t = this;
        if (1 === t.options.slidesToShow && !0 === t.options.adaptiveHeight && !1 === t.options.vertical) {
            var e = t.$slides.eq(t.currentSlide).outerHeight(!0);
            t.$list.css("height", e)
        }
    }, e.prototype.setOption = e.prototype.slickSetOption = function() {
        var e, i, n, o, s, r = this,
            a = !1;
        if ("object" === t.type(arguments[0]) ? (n = arguments[0], a = arguments[1], s = "multiple") : "string" === t.type(arguments[0]) && (n = arguments[0], o = arguments[1], a = arguments[2], "responsive" === arguments[0] && "array" === t.type(arguments[1]) ? s = "responsive" : void 0 !== arguments[1] && (s = "single")), "single" === s) r.options[n] = o;
        else if ("multiple" === s) t.each(n, (function(t, e) {
            r.options[t] = e
        }));
        else if ("responsive" === s)
            for (i in o)
                if ("array" !== t.type(r.options.responsive)) r.options.responsive = [o[i]];
                else {
                    for (e = r.options.responsive.length - 1; e >= 0;) r.options.responsive[e].breakpoint === o[i].breakpoint && r.options.responsive.splice(e, 1), e--;
                    r.options.responsive.push(o[i])
                } a && (r.unload(), r.reinit())
    }, e.prototype.setPosition = function() {
        var t = this;
        t.setDimensions(), t.setHeight(), !1 === t.options.fade ? t.setCSS(t.getLeft(t.currentSlide)) : t.setFade(), t.$slider.trigger("setPosition", [t])
    }, e.prototype.setProps = function() {
        var t = this,
            e = document.body.style;
        t.positionProp = !0 === t.options.vertical ? "top" : "left", "top" === t.positionProp ? t.$slider.addClass("slick-vertical") : t.$slider.removeClass("slick-vertical"), void 0 === e.WebkitTransition && void 0 === e.MozTransition && void 0 === e.msTransition || !0 === t.options.useCSS && (t.cssTransitions = !0), t.options.fade && ("number" == typeof t.options.zIndex ? t.options.zIndex < 3 && (t.options.zIndex = 3) : t.options.zIndex = t.defaults.zIndex), void 0 !== e.OTransform && (t.animType = "OTransform", t.transformType = "-o-transform", t.transitionType = "OTransition", void 0 === e.perspectiveProperty && void 0 === e.webkitPerspective && (t.animType = !1)), void 0 !== e.MozTransform && (t.animType = "MozTransform", t.transformType = "-moz-transform", t.transitionType = "MozTransition", void 0 === e.perspectiveProperty && void 0 === e.MozPerspective && (t.animType = !1)), void 0 !== e.webkitTransform && (t.animType = "webkitTransform", t.transformType = "-webkit-transform", t.transitionType = "webkitTransition", void 0 === e.perspectiveProperty && void 0 === e.webkitPerspective && (t.animType = !1)), void 0 !== e.msTransform && (t.animType = "msTransform", t.transformType = "-ms-transform", t.transitionType = "msTransition", void 0 === e.msTransform && (t.animType = !1)), void 0 !== e.transform && !1 !== t.animType && (t.animType = "transform", t.transformType = "transform", t.transitionType = "transition"), t.transformsEnabled = t.options.useTransform && null !== t.animType && !1 !== t.animType
    }, e.prototype.setSlideClasses = function(t) {
        var e, i, n, o, s = this;
        if (i = s.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden", "true"), s.$slides.eq(t).addClass("slick-current"), !0 === s.options.centerMode) {
            var r = s.options.slidesToShow % 2 == 0 ? 1 : 0;
            e = Math.floor(s.options.slidesToShow / 2), !0 === s.options.infinite && (t >= e && t <= s.slideCount - 1 - e ? s.$slides.slice(t - e + r, t + e + 1).addClass("slick-active").attr("aria-hidden", "false") : (n = s.options.slidesToShow + t, i.slice(n - e + 1 + r, n + e + 2).addClass("slick-active").attr("aria-hidden", "false")), 0 === t ? i.eq(i.length - 1 - s.options.slidesToShow).addClass("slick-center") : t === s.slideCount - 1 && i.eq(s.options.slidesToShow).addClass("slick-center")), s.$slides.eq(t).addClass("slick-center")
        } else t >= 0 && t <= s.slideCount - s.options.slidesToShow ? s.$slides.slice(t, t + s.options.slidesToShow).addClass("slick-active").attr("aria-hidden", "false") : i.length <= s.options.slidesToShow ? i.addClass("slick-active").attr("aria-hidden", "false") : (o = s.slideCount % s.options.slidesToShow, n = !0 === s.options.infinite ? s.options.slidesToShow + t : t, s.options.slidesToShow == s.options.slidesToScroll && s.slideCount - t < s.options.slidesToShow ? i.slice(n - (s.options.slidesToShow - o), n + o).addClass("slick-active").attr("aria-hidden", "false") : i.slice(n, n + s.options.slidesToShow).addClass("slick-active").attr("aria-hidden", "false"));
        "ondemand" !== s.options.lazyLoad && "anticipated" !== s.options.lazyLoad || s.lazyLoad()
    }, e.prototype.setupInfinite = function() {
        var e, i, n, o = this;
        if (!0 === o.options.fade && (o.options.centerMode = !1), !0 === o.options.infinite && !1 === o.options.fade && (i = null, o.slideCount > o.options.slidesToShow)) {
            for (n = !0 === o.options.centerMode ? o.options.slidesToShow + 1 : o.options.slidesToShow, e = o.slideCount; e > o.slideCount - n; e -= 1) i = e - 1, t(o.$slides[i]).clone(!0).attr("id", "").attr("data-slick-index", i - o.slideCount).prependTo(o.$slideTrack).addClass("slick-cloned");
            for (e = 0; e < n + o.slideCount; e += 1) i = e, t(o.$slides[i]).clone(!0).attr("id", "").attr("data-slick-index", i + o.slideCount).appendTo(o.$slideTrack).addClass("slick-cloned");
            o.$slideTrack.find(".slick-cloned").find("[id]").each((function() {
                t(this).attr("id", "")
            }))
        }
    }, e.prototype.interrupt = function(t) {
        t || this.autoPlay(), this.interrupted = t
    }, e.prototype.selectHandler = function(e) {
        var i = this,
            n = t(e.target).is(".slick-slide") ? t(e.target) : t(e.target).parents(".slick-slide"),
            o = parseInt(n.attr("data-slick-index"));
        o || (o = 0), i.slideCount <= i.options.slidesToShow ? i.slideHandler(o, !1, !0) : i.slideHandler(o)
    }, e.prototype.slideHandler = function(t, e, i) {
        var n, o, s, r, a, l = null,
            c = this;
        if (e = e || !1, !(!0 === c.animating && !0 === c.options.waitForAnimate || !0 === c.options.fade && c.currentSlide === t))
            if (!1 === e && c.asNavFor(t), n = t, l = c.getLeft(n), r = c.getLeft(c.currentSlide), c.currentLeft = null === c.swipeLeft ? r : c.swipeLeft, !1 === c.options.infinite && !1 === c.options.centerMode && (t < 0 || t > c.getDotCount() * c.options.slidesToScroll)) !1 === c.options.fade && (n = c.currentSlide, !0 !== i ? c.animateSlide(r, (function() {
                c.postSlide(n)
            })) : c.postSlide(n));
            else if (!1 === c.options.infinite && !0 === c.options.centerMode && (t < 0 || t > c.slideCount - c.options.slidesToScroll)) !1 === c.options.fade && (n = c.currentSlide, !0 !== i ? c.animateSlide(r, (function() {
            c.postSlide(n)
        })) : c.postSlide(n));
        else {
            if (c.options.autoplay && clearInterval(c.autoPlayTimer), o = n < 0 ? c.slideCount % c.options.slidesToScroll != 0 ? c.slideCount - c.slideCount % c.options.slidesToScroll : c.slideCount + n : n >= c.slideCount ? c.slideCount % c.options.slidesToScroll != 0 ? 0 : n - c.slideCount : n, c.animating = !0, c.$slider.trigger("beforeChange", [c, c.currentSlide, o]), s = c.currentSlide, c.currentSlide = o, c.setSlideClasses(c.currentSlide), c.options.asNavFor && (a = (a = c.getNavTarget()).slick("getSlick")).slideCount <= a.options.slidesToShow && a.setSlideClasses(c.currentSlide), c.updateDots(), c.updateArrows(), !0 === c.options.fade) return !0 !== i ? (c.fadeSlideOut(s), c.fadeSlide(o, (function() {
                c.postSlide(o)
            }))) : c.postSlide(o), void c.animateHeight();
            !0 !== i ? c.animateSlide(l, (function() {
                c.postSlide(o)
            })) : c.postSlide(o)
        }
    }, e.prototype.startLoad = function() {
        var t = this;
        !0 === t.options.arrows && t.slideCount > t.options.slidesToShow && (t.$prevArrow.hide(), t.$nextArrow.hide()), !0 === t.options.dots && t.slideCount > t.options.slidesToShow && t.$dots.hide(), t.$slider.addClass("slick-loading")
    }, e.prototype.swipeDirection = function() {
        var t, e, i, n, o = this;
        return t = o.touchObject.startX - o.touchObject.curX, e = o.touchObject.startY - o.touchObject.curY, i = Math.atan2(e, t), (n = Math.round(180 * i / Math.PI)) < 0 && (n = 360 - Math.abs(n)), n <= 45 && n >= 0 || n <= 360 && n >= 315 ? !1 === o.options.rtl ? "left" : "right" : n >= 135 && n <= 225 ? !1 === o.options.rtl ? "right" : "left" : !0 === o.options.verticalSwiping ? n >= 35 && n <= 135 ? "down" : "up" : "vertical"
    }, e.prototype.swipeEnd = function(t) {
        var e, i, n = this;
        if (n.dragging = !1, n.swiping = !1, n.scrolling) return n.scrolling = !1, !1;
        if (n.interrupted = !1, n.shouldClick = !(n.touchObject.swipeLength > 10), void 0 === n.touchObject.curX) return !1;
        if (!0 === n.touchObject.edgeHit && n.$slider.trigger("edge", [n, n.swipeDirection()]), n.touchObject.swipeLength >= n.touchObject.minSwipe) {
            switch (i = n.swipeDirection()) {
                case "left":
                case "down":
                    e = n.options.swipeToSlide ? n.checkNavigable(n.currentSlide + n.getSlideCount()) : n.currentSlide + n.getSlideCount(), n.currentDirection = 0;
                    break;
                case "right":
                case "up":
                    e = n.options.swipeToSlide ? n.checkNavigable(n.currentSlide - n.getSlideCount()) : n.currentSlide - n.getSlideCount(), n.currentDirection = 1
            }
            "vertical" != i && (n.slideHandler(e), n.touchObject = {}, n.$slider.trigger("swipe", [n, i]))
        } else n.touchObject.startX !== n.touchObject.curX && (n.slideHandler(n.currentSlide), n.touchObject = {})
    }, e.prototype.swipeHandler = function(t) {
        var e = this;
        if (!(!1 === e.options.swipe || "ontouchend" in document && !1 === e.options.swipe || !1 === e.options.draggable && -1 !== t.type.indexOf("mouse"))) switch (e.touchObject.fingerCount = t.originalEvent && void 0 !== t.originalEvent.touches ? t.originalEvent.touches.length : 1, e.touchObject.minSwipe = e.listWidth / e.options.touchThreshold, !0 === e.options.verticalSwiping && (e.touchObject.minSwipe = e.listHeight / e.options.touchThreshold), t.data.action) {
            case "start":
                e.swipeStart(t);
                break;
            case "move":
                e.swipeMove(t);
                break;
            case "end":
                e.swipeEnd(t)
        }
    }, e.prototype.swipeMove = function(t) {
        var e, i, n, o, s, r, a = this;
        return s = void 0 !== t.originalEvent ? t.originalEvent.touches : null, !(!a.dragging || a.scrolling || s && 1 !== s.length) && (e = a.getLeft(a.currentSlide), a.touchObject.curX = void 0 !== s ? s[0].pageX : t.clientX, a.touchObject.curY = void 0 !== s ? s[0].pageY : t.clientY, a.touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(a.touchObject.curX - a.touchObject.startX, 2))), r = Math.round(Math.sqrt(Math.pow(a.touchObject.curY - a.touchObject.startY, 2))), !a.options.verticalSwiping && !a.swiping && r > 4 ? (a.scrolling = !0, !1) : (!0 === a.options.verticalSwiping && (a.touchObject.swipeLength = r), i = a.swipeDirection(), void 0 !== t.originalEvent && a.touchObject.swipeLength > 4 && (a.swiping = !0, t.preventDefault()), o = (!1 === a.options.rtl ? 1 : -1) * (a.touchObject.curX > a.touchObject.startX ? 1 : -1), !0 === a.options.verticalSwiping && (o = a.touchObject.curY > a.touchObject.startY ? 1 : -1), n = a.touchObject.swipeLength, a.touchObject.edgeHit = !1, !1 === a.options.infinite && (0 === a.currentSlide && "right" === i || a.currentSlide >= a.getDotCount() && "left" === i) && (n = a.touchObject.swipeLength * a.options.edgeFriction, a.touchObject.edgeHit = !0), !1 === a.options.vertical ? a.swipeLeft = e + n * o : a.swipeLeft = e + n * (a.$list.height() / a.listWidth) * o, !0 === a.options.verticalSwiping && (a.swipeLeft = e + n * o), !0 !== a.options.fade && !1 !== a.options.touchMove && (!0 === a.animating ? (a.swipeLeft = null, !1) : void a.setCSS(a.swipeLeft))))
    }, e.prototype.swipeStart = function(t) {
        var e, i = this;
        if (i.interrupted = !0, 1 !== i.touchObject.fingerCount || i.slideCount <= i.options.slidesToShow) return i.touchObject = {}, !1;
        void 0 !== t.originalEvent && void 0 !== t.originalEvent.touches && (e = t.originalEvent.touches[0]), i.touchObject.startX = i.touchObject.curX = void 0 !== e ? e.pageX : t.clientX, i.touchObject.startY = i.touchObject.curY = void 0 !== e ? e.pageY : t.clientY, i.dragging = !0
    }, e.prototype.unfilterSlides = e.prototype.slickUnfilter = function() {
        var t = this;
        null !== t.$slidesCache && (t.unload(), t.$slideTrack.children(this.options.slide).detach(), t.$slidesCache.appendTo(t.$slideTrack), t.reinit())
    }, e.prototype.unload = function() {
        var e = this;
        t(".slick-cloned", e.$slider).remove(), e.$dots && e.$dots.remove(), e.$prevArrow && e.htmlExpr.test(e.options.prevArrow) && e.$prevArrow.remove(), e.$nextArrow && e.htmlExpr.test(e.options.nextArrow) && e.$nextArrow.remove(), e.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden", "true").css("width", "")
    }, e.prototype.unslick = function(t) {
        var e = this;
        e.$slider.trigger("unslick", [e, t]), e.destroy()
    }, e.prototype.updateArrows = function() {
        var t = this;
        Math.floor(t.options.slidesToShow / 2), !0 === t.options.arrows && t.slideCount > t.options.slidesToShow && !t.options.infinite && (t.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false"), t.$nextArrow.removeClass("slick-disabled").attr("aria-disabled", "false"), 0 === t.currentSlide ? (t.$prevArrow.addClass("slick-disabled").attr("aria-disabled", "true"), t.$nextArrow.removeClass("slick-disabled").attr("aria-disabled", "false")) : (t.currentSlide >= t.slideCount - t.options.slidesToShow && !1 === t.options.centerMode || t.currentSlide >= t.slideCount - 1 && !0 === t.options.centerMode) && (t.$nextArrow.addClass("slick-disabled").attr("aria-disabled", "true"), t.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false")))
    }, e.prototype.updateDots = function() {
        var t = this;
        null !== t.$dots && (t.$dots.find("li").removeClass("slick-active").end(), t.$dots.find("li").eq(Math.floor(t.currentSlide / t.options.slidesToScroll)).addClass("slick-active"))
    }, e.prototype.visibility = function() {
        var t = this;
        t.options.autoplay && (document[t.hidden] ? t.interrupted = !0 : t.interrupted = !1)
    }, t.fn.slick = function() {
        var t, i, n = this,
            o = arguments[0],
            s = Array.prototype.slice.call(arguments, 1),
            r = n.length;
        for (t = 0; t < r; t++)
            if ("object" == typeof o || void 0 === o ? n[t].slick = new e(n[t], o) : i = n[t].slick[o].apply(n[t].slick, s), void 0 !== i) return i;
        return n
    }
}));

Zerion Mini Shell 1.0