File "orderForm.js"

Full Path: /home/codejsmm/uxbridgewriters.com/js-20250518204700/orderForm.js
File size: 398.13 KB
MIME-type: text/plain
Charset: utf-8

! function(n) {
    var i = {};

    function r(e) {
        if (i[e]) return i[e].exports;
        var t = i[e] = {
            i: e,
            l: !1,
            exports: {}
        };
        return n[e].call(t.exports, t, t.exports, r), t.l = !0, t.exports
    }
    r.m = n, r.c = i, r.d = function(e, t, n) {
        r.o(e, t) || Object.defineProperty(e, t, {
            enumerable: !0,
            get: n
        })
    }, r.r = function(e) {
        "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {
            value: "Module"
        }), Object.defineProperty(e, "__esModule", {
            value: !0
        })
    }, r.t = function(t, e) {
        if (1 & e && (t = r(t)), 8 & e) return t;
        if (4 & e && "object" == typeof t && t && t.__esModule) return t;
        var n = Object.create(null);
        if (r.r(n), Object.defineProperty(n, "default", {
                enumerable: !0,
                value: t
            }), 2 & e && "string" != typeof t)
            for (var i in t) r.d(n, i, function(e) {
                return t[e]
            }.bind(null, i));
        return n
    }, r.n = function(e) {
        var t = e && e.__esModule ? function() {
            return e.default
        } : function() {
            return e
        };
        return r.d(t, "a", t), t
    }, r.o = function(e, t) {
        return Object.prototype.hasOwnProperty.call(e, t)
    }, r.p = "", r(r.s = 13)
}([function(Gt, Xt, e) {
    var Kt;
    ! function(e, t) {
        "use strict";
        "object" == typeof Gt.exports ? Gt.exports = e.document ? t(e, !0) : function(e) {
            if (!e.document) throw new Error("jQuery requires a window with a document");
            return t(e)
        } : t(e)
    }("undefined" != typeof window ? window : this, function(w, e) {
        "use strict";
        var t = [],
            C = w.document,
            i = Object.getPrototypeOf,
            s = t.slice,
            g = t.concat,
            l = t.push,
            r = t.indexOf,
            n = {},
            o = n.toString,
            m = n.hasOwnProperty,
            a = m.toString,
            u = a.call(Object),
            v = {},
            y = function(e) {
                return "function" == typeof e && "number" != typeof e.nodeType
            },
            b = function(e) {
                return null != e && e === e.window
            },
            c = {
                type: !0,
                src: !0,
                noModule: !0
            };

        function _(e, t, n) {
            var i, r = (t = t || C).createElement("script");
            if (r.text = e, n)
                for (i in c) n[i] && (r[i] = n[i]);
            t.head.appendChild(r).parentNode.removeChild(r)
        }

        function E(e) {
            return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? n[o.call(e)] || "object" : typeof e
        }
        var f = "3.3.1",
            D = function(e, t) {
                return new D.fn.init(e, t)
            },
            d = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;

        function h(e) {
            var t = !!e && "length" in e && e.length,
                n = E(e);
            return !y(e) && !b(e) && ("array" === n || 0 === t || "number" == typeof t && 0 < t && t - 1 in e)
        }
        D.fn = D.prototype = {
            jquery: f,
            constructor: D,
            length: 0,
            toArray: function() {
                return s.call(this)
            },
            get: function(e) {
                return null == e ? s.call(this) : e < 0 ? this[e + this.length] : this[e]
            },
            pushStack: function(e) {
                var t = D.merge(this.constructor(), e);
                return t.prevObject = this, t
            },
            each: function(e) {
                return D.each(this, e)
            },
            map: function(n) {
                return this.pushStack(D.map(this, function(e, t) {
                    return n.call(e, t, e)
                }))
            },
            slice: function() {
                return this.pushStack(s.apply(this, arguments))
            },
            first: function() {
                return this.eq(0)
            },
            last: function() {
                return this.eq(-1)
            },
            eq: function(e) {
                var t = this.length,
                    n = +e + (e < 0 ? t : 0);
                return this.pushStack(0 <= n && n < t ? [this[n]] : [])
            },
            end: function() {
                return this.prevObject || this.constructor()
            },
            push: l,
            sort: t.sort,
            splice: t.splice
        }, D.extend = D.fn.extend = function() {
            var e, t, n, i, r, o, a = arguments[0] || {},
                s = 1,
                l = arguments.length,
                u = !1;
            for ("boolean" == typeof a && (u = a, a = arguments[s] || {}, s++), "object" == typeof a || y(a) || (a = {}), s === l && (a = this, s--); s < l; s++)
                if (null != (e = arguments[s]))
                    for (t in e) n = a[t], a !== (i = e[t]) && (u && i && (D.isPlainObject(i) || (r = Array.isArray(i))) ? (o = r ? (r = !1, n && Array.isArray(n) ? n : []) : n && D.isPlainObject(n) ? n : {}, a[t] = D.extend(u, o, i)) : void 0 !== i && (a[t] = i));
            return a
        }, D.extend({
            expando: "jQuery" + (f + Math.random()).replace(/\D/g, ""),
            isReady: !0,
            error: function(e) {
                throw new Error(e)
            },
            noop: function() {},
            isPlainObject: function(e) {
                var t, n;
                return !(!e || "[object Object]" !== o.call(e)) && (!(t = i(e)) || "function" == typeof(n = m.call(t, "constructor") && t.constructor) && a.call(n) === u)
            },
            isEmptyObject: function(e) {
                var t;
                for (t in e) return !1;
                return !0
            },
            globalEval: function(e) {
                _(e)
            },
            each: function(e, t) {
                var n, i = 0;
                if (h(e))
                    for (n = e.length; i < n && !1 !== t.call(e[i], i, e[i]); i++);
                else
                    for (i in e)
                        if (!1 === t.call(e[i], i, e[i])) break; return e
            },
            trim: function(e) {
                return null == e ? "" : (e + "").replace(d, "")
            },
            makeArray: function(e, t) {
                var n = t || [];
                return null != e && (h(Object(e)) ? D.merge(n, "string" == typeof e ? [e] : e) : l.call(n, e)), n
            },
            inArray: function(e, t, n) {
                return null == t ? -1 : r.call(t, e, n)
            },
            merge: function(e, t) {
                for (var n = +t.length, i = 0, r = e.length; i < n; i++) e[r++] = t[i];
                return e.length = r, e
            },
            grep: function(e, t, n) {
                for (var i = [], r = 0, o = e.length, a = !n; r < o; r++) !t(e[r], r) !== a && i.push(e[r]);
                return i
            },
            map: function(e, t, n) {
                var i, r, o = 0,
                    a = [];
                if (h(e))
                    for (i = e.length; o < i; o++) null != (r = t(e[o], o, n)) && a.push(r);
                else
                    for (o in e) null != (r = t(e[o], o, n)) && a.push(r);
                return g.apply([], a)
            },
            guid: 1,
            support: v
        }), "function" == typeof Symbol && (D.fn[Symbol.iterator] = t[Symbol.iterator]), D.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function(e, t) {
            n["[object " + t + "]"] = t.toLowerCase()
        });
        var p = function(n) {
            var e, h, _, o, r, p, f, g, E, l, u, T, w, a, C, m, s, c, v, D = "sizzle" + 1 * new Date,
                y = n.document,
                x = 0,
                i = 0,
                d = ae(),
                b = ae(),
                S = ae(),
                A = function(e, t) {
                    return e === t && (u = !0), 0
                },
                O = {}.hasOwnProperty,
                t = [],
                I = t.pop,
                N = t.push,
                k = t.push,
                L = t.slice,
                P = function(e, t) {
                    for (var n = 0, i = e.length; n < i; n++)
                        if (e[n] === t) return n;
                    return -1
                },
                j = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
                H = "[\\x20\\t\\r\\n\\f]",
                M = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+",
                R = "\\[" + H + "*(" + M + ")(?:" + H + "*([*^$|!~]?=)" + H + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + M + "))|)" + H + "*\\]",
                F = ":(" + M + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + R + ")*)|.*)\\)|)",
                q = new RegExp(H + "+", "g"),
                W = new RegExp("^" + H + "+|((?:^|[^\\\\])(?:\\\\.)*)" + H + "+$", "g"),
                V = new RegExp("^" + H + "*," + H + "*"),
                B = new RegExp("^" + H + "*([>+~]|" + H + ")" + H + "*"),
                U = new RegExp("=" + H + "*([^\\]'\"]*?)" + H + "*\\]", "g"),
                G = new RegExp(F),
                X = new RegExp("^" + M + "$"),
                K = {
                    ID: new RegExp("^#(" + M + ")"),
                    CLASS: new RegExp("^\\.(" + M + ")"),
                    TAG: new RegExp("^(" + M + "|[*])"),
                    ATTR: new RegExp("^" + R),
                    PSEUDO: new RegExp("^" + F),
                    CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + H + "*(even|odd|(([+-]|)(\\d*)n|)" + H + "*(?:([+-]|)" + H + "*(\\d+)|))" + H + "*\\)|)", "i"),
                    bool: new RegExp("^(?:" + j + ")$", "i"),
                    needsContext: new RegExp("^" + H + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + H + "*((?:-\\d)?\\d*)" + H + "*\\)|)(?=[^-]|$)", "i")
                },
                z = /^(?:input|select|textarea|button)$/i,
                Q = /^h\d$/i,
                Y = /^[^{]+\{\s*\[native \w/,
                $ = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
                J = /[+~]/,
                Z = new RegExp("\\\\([\\da-f]{1,6}" + H + "?|(" + H + ")|.)", "ig"),
                ee = function(e, t, n) {
                    var i = "0x" + t - 65536;
                    return i != i || n ? t : i < 0 ? String.fromCharCode(i + 65536) : String.fromCharCode(i >> 10 | 55296, 1023 & i | 56320)
                },
                te = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
                ne = function(e, t) {
                    return t ? "\0" === e ? "�" : e.slice(0, -1) + "\\" + e.charCodeAt(e.length - 1).toString(16) + " " : "\\" + e
                },
                ie = function() {
                    T()
                },
                re = ye(function(e) {
                    return !0 === e.disabled && ("form" in e || "label" in e)
                }, {
                    dir: "parentNode",
                    next: "legend"
                });
            try {
                k.apply(t = L.call(y.childNodes), y.childNodes), t[y.childNodes.length].nodeType
            } catch (e) {
                k = {
                    apply: t.length ? function(e, t) {
                        N.apply(e, L.call(t))
                    } : function(e, t) {
                        for (var n = e.length, i = 0; e[n++] = t[i++];);
                        e.length = n - 1
                    }
                }
            }

            function oe(e, t, n, i) {
                var r, o, a, s, l, u, c, f = t && t.ownerDocument,
                    d = t ? t.nodeType : 9;
                if (n = n || [], "string" != typeof e || !e || 1 !== d && 9 !== d && 11 !== d) return n;
                if (!i && ((t ? t.ownerDocument || t : y) !== w && T(t), t = t || w, C)) {
                    if (11 !== d && (l = $.exec(e)))
                        if (r = l[1]) {
                            if (9 === d) {
                                if (!(a = t.getElementById(r))) return n;
                                if (a.id === r) return n.push(a), n
                            } else if (f && (a = f.getElementById(r)) && v(t, a) && a.id === r) return n.push(a), n
                        } else {
                            if (l[2]) return k.apply(n, t.getElementsByTagName(e)), n;
                            if ((r = l[3]) && h.getElementsByClassName && t.getElementsByClassName) return k.apply(n, t.getElementsByClassName(r)), n
                        }
                    if (h.qsa && !S[e + " "] && (!m || !m.test(e))) {
                        if (1 !== d) f = t, c = e;
                        else if ("object" !== t.nodeName.toLowerCase()) {
                            for ((s = t.getAttribute("id")) ? s = s.replace(te, ne) : t.setAttribute("id", s = D), o = (u = p(e)).length; o--;) u[o] = "#" + s + " " + ve(u[o]);
                            c = u.join(","), f = J.test(e) && ge(t.parentNode) || t
                        }
                        if (c) try {
                            return k.apply(n, f.querySelectorAll(c)), n
                        } catch (e) {} finally {
                            s === D && t.removeAttribute("id")
                        }
                    }
                }
                return g(e.replace(W, "$1"), t, n, i)
            }

            function ae() {
                var i = [];
                return function e(t, n) {
                    return i.push(t + " ") > _.cacheLength && delete e[i.shift()], e[t + " "] = n
                }
            }

            function se(e) {
                return e[D] = !0, e
            }

            function le(e) {
                var t = w.createElement("fieldset");
                try {
                    return !!e(t)
                } catch (e) {
                    return !1
                } finally {
                    t.parentNode && t.parentNode.removeChild(t), t = null
                }
            }

            function ue(e, t) {
                for (var n = e.split("|"), i = n.length; i--;) _.attrHandle[n[i]] = t
            }

            function ce(e, t) {
                var n = t && e,
                    i = n && 1 === e.nodeType && 1 === t.nodeType && e.sourceIndex - t.sourceIndex;
                if (i) return i;
                if (n)
                    for (; n = n.nextSibling;)
                        if (n === t) return -1;
                return e ? 1 : -1
            }

            function fe(t) {
                return function(e) {
                    return "input" === e.nodeName.toLowerCase() && e.type === t
                }
            }

            function de(n) {
                return function(e) {
                    var t = e.nodeName.toLowerCase();
                    return ("input" === t || "button" === t) && e.type === n
                }
            }

            function he(t) {
                return function(e) {
                    return "form" in e ? e.parentNode && !1 === e.disabled ? "label" in e ? "label" in e.parentNode ? e.parentNode.disabled === t : e.disabled === t : e.isDisabled === t || e.isDisabled !== !t && re(e) === t : e.disabled === t : "label" in e && e.disabled === t
                }
            }

            function pe(a) {
                return se(function(o) {
                    return o = +o, se(function(e, t) {
                        for (var n, i = a([], e.length, o), r = i.length; r--;) e[n = i[r]] && (e[n] = !(t[n] = e[n]))
                    })
                })
            }

            function ge(e) {
                return e && void 0 !== e.getElementsByTagName && e
            }
            for (e in h = oe.support = {}, r = oe.isXML = function(e) {
                    var t = e && (e.ownerDocument || e).documentElement;
                    return !!t && "HTML" !== t.nodeName
                }, T = oe.setDocument = function(e) {
                    var t, n, i = e ? e.ownerDocument || e : y;
                    return i !== w && 9 === i.nodeType && i.documentElement && (a = (w = i).documentElement, C = !r(w), y !== w && (n = w.defaultView) && n.top !== n && (n.addEventListener ? n.addEventListener("unload", ie, !1) : n.attachEvent && n.attachEvent("onunload", ie)), h.attributes = le(function(e) {
                        return e.className = "i", !e.getAttribute("className")
                    }), h.getElementsByTagName = le(function(e) {
                        return e.appendChild(w.createComment("")), !e.getElementsByTagName("*").length
                    }), h.getElementsByClassName = Y.test(w.getElementsByClassName), h.getById = le(function(e) {
                        return a.appendChild(e).id = D, !w.getElementsByName || !w.getElementsByName(D).length
                    }), h.getById ? (_.filter.ID = function(e) {
                        var t = e.replace(Z, ee);
                        return function(e) {
                            return e.getAttribute("id") === t
                        }
                    }, _.find.ID = function(e, t) {
                        if (void 0 !== t.getElementById && C) {
                            var n = t.getElementById(e);
                            return n ? [n] : []
                        }
                    }) : (_.filter.ID = function(e) {
                        var n = e.replace(Z, ee);
                        return function(e) {
                            var t = void 0 !== e.getAttributeNode && e.getAttributeNode("id");
                            return t && t.value === n
                        }
                    }, _.find.ID = function(e, t) {
                        if (void 0 !== t.getElementById && C) {
                            var n, i, r, o = t.getElementById(e);
                            if (o) {
                                if ((n = o.getAttributeNode("id")) && n.value === e) return [o];
                                for (r = t.getElementsByName(e), i = 0; o = r[i++];)
                                    if ((n = o.getAttributeNode("id")) && n.value === e) return [o]
                            }
                            return []
                        }
                    }), _.find.TAG = h.getElementsByTagName ? function(e, t) {
                        return void 0 !== t.getElementsByTagName ? t.getElementsByTagName(e) : h.qsa ? t.querySelectorAll(e) : void 0
                    } : function(e, t) {
                        var n, i = [],
                            r = 0,
                            o = t.getElementsByTagName(e);
                        if ("*" !== e) return o;
                        for (; n = o[r++];) 1 === n.nodeType && i.push(n);
                        return i
                    }, _.find.CLASS = h.getElementsByClassName && function(e, t) {
                        if (void 0 !== t.getElementsByClassName && C) return t.getElementsByClassName(e)
                    }, s = [], m = [], (h.qsa = Y.test(w.querySelectorAll)) && (le(function(e) {
                        a.appendChild(e).innerHTML = "<a id='" + D + "'></a><select id='" + D + "-\r\\' msallowcapture=''><option selected=''></option></select>", e.querySelectorAll("[msallowcapture^='']").length && m.push("[*^$]=" + H + "*(?:''|\"\")"), e.querySelectorAll("[selected]").length || m.push("\\[" + H + "*(?:value|" + j + ")"), e.querySelectorAll("[id~=" + D + "-]").length || m.push("~="), e.querySelectorAll(":checked").length || m.push(":checked"), e.querySelectorAll("a#" + D + "+*").length || m.push(".#.+[+~]")
                    }), le(function(e) {
                        e.innerHTML = "<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";
                        var t = w.createElement("input");
                        t.setAttribute("type", "hidden"), e.appendChild(t).setAttribute("name", "D"), e.querySelectorAll("[name=d]").length && m.push("name" + H + "*[*^$|!~]?="), 2 !== e.querySelectorAll(":enabled").length && m.push(":enabled", ":disabled"), a.appendChild(e).disabled = !0, 2 !== e.querySelectorAll(":disabled").length && m.push(":enabled", ":disabled"), e.querySelectorAll("*,:x"), m.push(",.*:")
                    })), (h.matchesSelector = Y.test(c = a.matches || a.webkitMatchesSelector || a.mozMatchesSelector || a.oMatchesSelector || a.msMatchesSelector)) && le(function(e) {
                        h.disconnectedMatch = c.call(e, "*"), c.call(e, "[s!='']:x"), s.push("!=", F)
                    }), m = m.length && new RegExp(m.join("|")), s = s.length && new RegExp(s.join("|")), t = Y.test(a.compareDocumentPosition), v = t || Y.test(a.contains) ? function(e, t) {
                        var n = 9 === e.nodeType ? e.documentElement : e,
                            i = t && t.parentNode;
                        return e === i || !(!i || 1 !== i.nodeType || !(n.contains ? n.contains(i) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(i)))
                    } : function(e, t) {
                        if (t)
                            for (; t = t.parentNode;)
                                if (t === e) return !0;
                        return !1
                    }, A = t ? function(e, t) {
                        if (e === t) return u = !0, 0;
                        var n = !e.compareDocumentPosition - !t.compareDocumentPosition;
                        return n || (1 & (n = (e.ownerDocument || e) === (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1) || !h.sortDetached && t.compareDocumentPosition(e) === n ? e === w || e.ownerDocument === y && v(y, e) ? -1 : t === w || t.ownerDocument === y && v(y, t) ? 1 : l ? P(l, e) - P(l, t) : 0 : 4 & n ? -1 : 1)
                    } : function(e, t) {
                        if (e === t) return u = !0, 0;
                        var n, i = 0,
                            r = e.parentNode,
                            o = t.parentNode,
                            a = [e],
                            s = [t];
                        if (!r || !o) return e === w ? -1 : t === w ? 1 : r ? -1 : o ? 1 : l ? P(l, e) - P(l, t) : 0;
                        if (r === o) return ce(e, t);
                        for (n = e; n = n.parentNode;) a.unshift(n);
                        for (n = t; n = n.parentNode;) s.unshift(n);
                        for (; a[i] === s[i];) i++;
                        return i ? ce(a[i], s[i]) : a[i] === y ? -1 : s[i] === y ? 1 : 0
                    }), w
                }, oe.matches = function(e, t) {
                    return oe(e, null, null, t)
                }, oe.matchesSelector = function(e, t) {
                    if ((e.ownerDocument || e) !== w && T(e), t = t.replace(U, "='$1']"), h.matchesSelector && C && !S[t + " "] && (!s || !s.test(t)) && (!m || !m.test(t))) try {
                        var n = c.call(e, t);
                        if (n || h.disconnectedMatch || e.document && 11 !== e.document.nodeType) return n
                    } catch (e) {}
                    return 0 < oe(t, w, null, [e]).length
                }, oe.contains = function(e, t) {
                    return (e.ownerDocument || e) !== w && T(e), v(e, t)
                }, oe.attr = function(e, t) {
                    (e.ownerDocument || e) !== w && T(e);
                    var n = _.attrHandle[t.toLowerCase()],
                        i = n && O.call(_.attrHandle, t.toLowerCase()) ? n(e, t, !C) : void 0;
                    return void 0 !== i ? i : h.attributes || !C ? e.getAttribute(t) : (i = e.getAttributeNode(t)) && i.specified ? i.value : null
                }, oe.escape = function(e) {
                    return (e + "").replace(te, ne)
                }, oe.error = function(e) {
                    throw new Error("Syntax error, unrecognized expression: " + e)
                }, oe.uniqueSort = function(e) {
                    var t, n = [],
                        i = 0,
                        r = 0;
                    if (u = !h.detectDuplicates, l = !h.sortStable && e.slice(0), e.sort(A), u) {
                        for (; t = e[r++];) t === e[r] && (i = n.push(r));
                        for (; i--;) e.splice(n[i], 1)
                    }
                    return l = null, e
                }, o = oe.getText = function(e) {
                    var t, n = "",
                        i = 0,
                        r = e.nodeType;
                    if (r) {
                        if (1 === r || 9 === r || 11 === r) {
                            if ("string" == typeof e.textContent) return e.textContent;
                            for (e = e.firstChild; e; e = e.nextSibling) n += o(e)
                        } else if (3 === r || 4 === r) return e.nodeValue
                    } else
                        for (; t = e[i++];) n += o(t);
                    return n
                }, (_ = oe.selectors = {
                    cacheLength: 50,
                    createPseudo: se,
                    match: K,
                    attrHandle: {},
                    find: {},
                    relative: {
                        ">": {
                            dir: "parentNode",
                            first: !0
                        },
                        " ": {
                            dir: "parentNode"
                        },
                        "+": {
                            dir: "previousSibling",
                            first: !0
                        },
                        "~": {
                            dir: "previousSibling"
                        }
                    },
                    preFilter: {
                        ATTR: function(e) {
                            return e[1] = e[1].replace(Z, ee), e[3] = (e[3] || e[4] || e[5] || "").replace(Z, ee), "~=" === e[2] && (e[3] = " " + e[3] + " "), e.slice(0, 4)
                        },
                        CHILD: function(e) {
                            return e[1] = e[1].toLowerCase(), "nth" === e[1].slice(0, 3) ? (e[3] || oe.error(e[0]), e[4] = +(e[4] ? e[5] + (e[6] || 1) : 2 * ("even" === e[3] || "odd" === e[3])), e[5] = +(e[7] + e[8] || "odd" === e[3])) : e[3] && oe.error(e[0]), e
                        },
                        PSEUDO: function(e) {
                            var t, n = !e[6] && e[2];
                            return K.CHILD.test(e[0]) ? null : (e[3] ? e[2] = e[4] || e[5] || "" : n && G.test(n) && (t = p(n, !0)) && (t = n.indexOf(")", n.length - t) - n.length) && (e[0] = e[0].slice(0, t), e[2] = n.slice(0, t)), e.slice(0, 3))
                        }
                    },
                    filter: {
                        TAG: function(e) {
                            var t = e.replace(Z, ee).toLowerCase();
                            return "*" === e ? function() {
                                return !0
                            } : function(e) {
                                return e.nodeName && e.nodeName.toLowerCase() === t
                            }
                        },
                        CLASS: function(e) {
                            var t = d[e + " "];
                            return t || (t = new RegExp("(^|" + H + ")" + e + "(" + H + "|$)")) && d(e, function(e) {
                                return t.test("string" == typeof e.className && e.className || void 0 !== e.getAttribute && e.getAttribute("class") || "")
                            })
                        },
                        ATTR: function(n, i, r) {
                            return function(e) {
                                var t = oe.attr(e, n);
                                return null == t ? "!=" === i : !i || (t += "", "=" === i ? t === r : "!=" === i ? t !== r : "^=" === i ? r && 0 === t.indexOf(r) : "*=" === i ? r && -1 < t.indexOf(r) : "$=" === i ? r && t.slice(-r.length) === r : "~=" === i ? -1 < (" " + t.replace(q, " ") + " ").indexOf(r) : "|=" === i && (t === r || t.slice(0, r.length + 1) === r + "-"))
                            }
                        },
                        CHILD: function(p, e, t, g, m) {
                            var v = "nth" !== p.slice(0, 3),
                                y = "last" !== p.slice(-4),
                                b = "of-type" === e;
                            return 1 === g && 0 === m ? function(e) {
                                return !!e.parentNode
                            } : function(e, t, n) {
                                var i, r, o, a, s, l, u = v !== y ? "nextSibling" : "previousSibling",
                                    c = e.parentNode,
                                    f = b && e.nodeName.toLowerCase(),
                                    d = !n && !b,
                                    h = !1;
                                if (c) {
                                    if (v) {
                                        for (; u;) {
                                            for (a = e; a = a[u];)
                                                if (b ? a.nodeName.toLowerCase() === f : 1 === a.nodeType) return !1;
                                            l = u = "only" === p && !l && "nextSibling"
                                        }
                                        return !0
                                    }
                                    if (l = [y ? c.firstChild : c.lastChild], y && d) {
                                        for (h = (s = (i = (r = (o = (a = c)[D] || (a[D] = {}))[a.uniqueID] || (o[a.uniqueID] = {}))[p] || [])[0] === x && i[1]) && i[2], a = s && c.childNodes[s]; a = ++s && a && a[u] || (h = s = 0) || l.pop();)
                                            if (1 === a.nodeType && ++h && a === e) {
                                                r[p] = [x, s, h];
                                                break
                                            }
                                    } else if (d && (h = s = (i = (r = (o = (a = e)[D] || (a[D] = {}))[a.uniqueID] || (o[a.uniqueID] = {}))[p] || [])[0] === x && i[1]), !1 === h)
                                        for (;
                                            (a = ++s && a && a[u] || (h = s = 0) || l.pop()) && ((b ? a.nodeName.toLowerCase() !== f : 1 !== a.nodeType) || !++h || (d && ((r = (o = a[D] || (a[D] = {}))[a.uniqueID] || (o[a.uniqueID] = {}))[p] = [x, h]), a !== e)););
                                    return (h -= m) === g || h % g == 0 && 0 <= h / g
                                }
                            }
                        },
                        PSEUDO: function(e, o) {
                            var t, a = _.pseudos[e] || _.setFilters[e.toLowerCase()] || oe.error("unsupported pseudo: " + e);
                            return a[D] ? a(o) : 1 < a.length ? (t = [e, e, "", o], _.setFilters.hasOwnProperty(e.toLowerCase()) ? se(function(e, t) {
                                for (var n, i = a(e, o), r = i.length; r--;) e[n = P(e, i[r])] = !(t[n] = i[r])
                            }) : function(e) {
                                return a(e, 0, t)
                            }) : a
                        }
                    },
                    pseudos: {
                        not: se(function(e) {
                            var i = [],
                                r = [],
                                s = f(e.replace(W, "$1"));
                            return s[D] ? se(function(e, t, n, i) {
                                for (var r, o = s(e, null, i, []), a = e.length; a--;)(r = o[a]) && (e[a] = !(t[a] = r))
                            }) : function(e, t, n) {
                                return i[0] = e, s(i, null, n, r), i[0] = null, !r.pop()
                            }
                        }),
                        has: se(function(t) {
                            return function(e) {
                                return 0 < oe(t, e).length
                            }
                        }),
                        contains: se(function(t) {
                            return t = t.replace(Z, ee),
                                function(e) {
                                    return -1 < (e.textContent || e.innerText || o(e)).indexOf(t)
                                }
                        }),
                        lang: se(function(n) {
                            return X.test(n || "") || oe.error("unsupported lang: " + n), n = n.replace(Z, ee).toLowerCase(),
                                function(e) {
                                    var t;
                                    do {
                                        if (t = C ? e.lang : e.getAttribute("xml:lang") || e.getAttribute("lang")) return (t = t.toLowerCase()) === n || 0 === t.indexOf(n + "-")
                                    } while ((e = e.parentNode) && 1 === e.nodeType);
                                    return !1
                                }
                        }),
                        target: function(e) {
                            var t = n.location && n.location.hash;
                            return t && t.slice(1) === e.id
                        },
                        root: function(e) {
                            return e === a
                        },
                        focus: function(e) {
                            return e === w.activeElement && (!w.hasFocus || w.hasFocus()) && !!(e.type || e.href || ~e.tabIndex)
                        },
                        enabled: he(!1),
                        disabled: he(!0),
                        checked: function(e) {
                            var t = e.nodeName.toLowerCase();
                            return "input" === t && !!e.checked || "option" === t && !!e.selected
                        },
                        selected: function(e) {
                            return e.parentNode && e.parentNode.selectedIndex, !0 === e.selected
                        },
                        empty: function(e) {
                            for (e = e.firstChild; e; e = e.nextSibling)
                                if (e.nodeType < 6) return !1;
                            return !0
                        },
                        parent: function(e) {
                            return !_.pseudos.empty(e)
                        },
                        header: function(e) {
                            return Q.test(e.nodeName)
                        },
                        input: function(e) {
                            return z.test(e.nodeName)
                        },
                        button: function(e) {
                            var t = e.nodeName.toLowerCase();
                            return "input" === t && "button" === e.type || "button" === t
                        },
                        text: function(e) {
                            var t;
                            return "input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (t = e.getAttribute("type")) || "text" === t.toLowerCase())
                        },
                        first: pe(function() {
                            return [0]
                        }),
                        last: pe(function(e, t) {
                            return [t - 1]
                        }),
                        eq: pe(function(e, t, n) {
                            return [n < 0 ? n + t : n]
                        }),
                        even: pe(function(e, t) {
                            for (var n = 0; n < t; n += 2) e.push(n);
                            return e
                        }),
                        odd: pe(function(e, t) {
                            for (var n = 1; n < t; n += 2) e.push(n);
                            return e
                        }),
                        lt: pe(function(e, t, n) {
                            for (var i = n < 0 ? n + t : n; 0 <= --i;) e.push(i);
                            return e
                        }),
                        gt: pe(function(e, t, n) {
                            for (var i = n < 0 ? n + t : n; ++i < t;) e.push(i);
                            return e
                        })
                    }
                }).pseudos.nth = _.pseudos.eq, {
                    radio: !0,
                    checkbox: !0,
                    file: !0,
                    password: !0,
                    image: !0
                }) _.pseudos[e] = fe(e);
            for (e in {
                    submit: !0,
                    reset: !0
                }) _.pseudos[e] = de(e);

            function me() {}

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

            function ye(s, e, t) {
                var l = e.dir,
                    u = e.next,
                    c = u || l,
                    f = t && "parentNode" === c,
                    d = i++;
                return e.first ? function(e, t, n) {
                    for (; e = e[l];)
                        if (1 === e.nodeType || f) return s(e, t, n);
                    return !1
                } : function(e, t, n) {
                    var i, r, o, a = [x, d];
                    if (n) {
                        for (; e = e[l];)
                            if ((1 === e.nodeType || f) && s(e, t, n)) return !0
                    } else
                        for (; e = e[l];)
                            if (1 === e.nodeType || f)
                                if (r = (o = e[D] || (e[D] = {}))[e.uniqueID] || (o[e.uniqueID] = {}), u && u === e.nodeName.toLowerCase()) e = e[l] || e;
                                else {
                                    if ((i = r[c]) && i[0] === x && i[1] === d) return a[2] = i[2];
                                    if ((r[c] = a)[2] = s(e, t, n)) return !0
                                } return !1
                }
            }

            function be(r) {
                return 1 < r.length ? function(e, t, n) {
                    for (var i = r.length; i--;)
                        if (!r[i](e, t, n)) return !1;
                    return !0
                } : r[0]
            }

            function _e(e, t, n, i, r) {
                for (var o, a = [], s = 0, l = e.length, u = null != t; s < l; s++)(o = e[s]) && (n && !n(o, i, r) || (a.push(o), u && t.push(s)));
                return a
            }

            function Ee(h, p, g, m, v, e) {
                return m && !m[D] && (m = Ee(m)), v && !v[D] && (v = Ee(v, e)), se(function(e, t, n, i) {
                    var r, o, a, s = [],
                        l = [],
                        u = t.length,
                        c = e || function(e, t, n) {
                            for (var i = 0, r = t.length; i < r; i++) oe(e, t[i], n);
                            return n
                        }(p || "*", n.nodeType ? [n] : n, []),
                        f = !h || !e && p ? c : _e(c, s, h, n, i),
                        d = g ? v || (e ? h : u || m) ? [] : t : f;
                    if (g && g(f, d, n, i), m)
                        for (r = _e(d, l), m(r, [], n, i), o = r.length; o--;)(a = r[o]) && (d[l[o]] = !(f[l[o]] = a));
                    if (e) {
                        if (v || h) {
                            if (v) {
                                for (r = [], o = d.length; o--;)(a = d[o]) && r.push(f[o] = a);
                                v(null, d = [], r, i)
                            }
                            for (o = d.length; o--;)(a = d[o]) && -1 < (r = v ? P(e, a) : s[o]) && (e[r] = !(t[r] = a))
                        }
                    } else d = _e(d === t ? d.splice(u, d.length) : d), v ? v(null, t, d, i) : k.apply(t, d)
                })
            }

            function Te(e) {
                for (var r, t, n, i = e.length, o = _.relative[e[0].type], a = o || _.relative[" "], s = o ? 1 : 0, l = ye(function(e) {
                        return e === r
                    }, a, !0), u = ye(function(e) {
                        return -1 < P(r, e)
                    }, a, !0), c = [function(e, t, n) {
                        var i = !o && (n || t !== E) || ((r = t).nodeType ? l(e, t, n) : u(e, t, n));
                        return r = null, i
                    }]; s < i; s++)
                    if (t = _.relative[e[s].type]) c = [ye(be(c), t)];
                    else {
                        if ((t = _.filter[e[s].type].apply(null, e[s].matches))[D]) {
                            for (n = ++s; n < i && !_.relative[e[n].type]; n++);
                            return Ee(1 < s && be(c), 1 < s && ve(e.slice(0, s - 1).concat({
                                value: " " === e[s - 2].type ? "*" : ""
                            })).replace(W, "$1"), t, s < n && Te(e.slice(s, n)), n < i && Te(e = e.slice(n)), n < i && ve(e))
                        }
                        c.push(t)
                    }
                return be(c)
            }
            return me.prototype = _.filters = _.pseudos, _.setFilters = new me, p = oe.tokenize = function(e, t) {
                var n, i, r, o, a, s, l, u = b[e + " "];
                if (u) return t ? 0 : u.slice(0);
                for (a = e, s = [], l = _.preFilter; a;) {
                    for (o in n && !(i = V.exec(a)) || (i && (a = a.slice(i[0].length) || a), s.push(r = [])), n = !1, (i = B.exec(a)) && (n = i.shift(), r.push({
                            value: n,
                            type: i[0].replace(W, " ")
                        }), a = a.slice(n.length)), _.filter) !(i = K[o].exec(a)) || l[o] && !(i = l[o](i)) || (n = i.shift(), r.push({
                        value: n,
                        type: o,
                        matches: i
                    }), a = a.slice(n.length));
                    if (!n) break
                }
                return t ? a.length : a ? oe.error(e) : b(e, s).slice(0)
            }, f = oe.compile = function(e, t) {
                var n, i = [],
                    r = [],
                    o = S[e + " "];
                if (!o) {
                    for (t || (t = p(e)), n = t.length; n--;)(o = Te(t[n]))[D] ? i.push(o) : r.push(o);
                    (o = S(e, function(m, v) {
                        var y = 0 < v.length,
                            b = 0 < m.length,
                            e = function(e, t, n, i, r) {
                                var o, a, s, l = 0,
                                    u = "0",
                                    c = e && [],
                                    f = [],
                                    d = E,
                                    h = e || b && _.find.TAG("*", r),
                                    p = x += null == d ? 1 : Math.random() || .1,
                                    g = h.length;
                                for (r && (E = t === w || t || r); u !== g && null != (o = h[u]); u++) {
                                    if (b && o) {
                                        for (a = 0, t || o.ownerDocument === w || (T(o), n = !C); s = m[a++];)
                                            if (s(o, t || w, n)) {
                                                i.push(o);
                                                break
                                            }
                                        r && (x = p)
                                    }
                                    y && ((o = !s && o) && l--, e && c.push(o))
                                }
                                if (l += u, y && u !== l) {
                                    for (a = 0; s = v[a++];) s(c, f, t, n);
                                    if (e) {
                                        if (0 < l)
                                            for (; u--;) c[u] || f[u] || (f[u] = I.call(i));
                                        f = _e(f)
                                    }
                                    k.apply(i, f), r && !e && 0 < f.length && 1 < l + v.length && oe.uniqueSort(i)
                                }
                                return r && (x = p, E = d), c
                            };
                        return y ? se(e) : e
                    }(r, i))).selector = e
                }
                return o
            }, g = oe.select = function(e, t, n, i) {
                var r, o, a, s, l, u = "function" == typeof e && e,
                    c = !i && p(e = u.selector || e);
                if (n = n || [], 1 === c.length) {
                    if (2 < (o = c[0] = c[0].slice(0)).length && "ID" === (a = o[0]).type && 9 === t.nodeType && C && _.relative[o[1].type]) {
                        if (!(t = (_.find.ID(a.matches[0].replace(Z, ee), t) || [])[0])) return n;
                        u && (t = t.parentNode), e = e.slice(o.shift().value.length)
                    }
                    for (r = K.needsContext.test(e) ? 0 : o.length; r-- && (a = o[r], !_.relative[s = a.type]);)
                        if ((l = _.find[s]) && (i = l(a.matches[0].replace(Z, ee), J.test(o[0].type) && ge(t.parentNode) || t))) {
                            if (o.splice(r, 1), !(e = i.length && ve(o))) return k.apply(n, i), n;
                            break
                        }
                }
                return (u || f(e, c))(i, t, !C, n, !t || J.test(e) && ge(t.parentNode) || t), n
            }, h.sortStable = D.split("").sort(A).join("") === D, h.detectDuplicates = !!u, T(), h.sortDetached = le(function(e) {
                return 1 & e.compareDocumentPosition(w.createElement("fieldset"))
            }), le(function(e) {
                return e.innerHTML = "<a href='#'></a>", "#" === e.firstChild.getAttribute("href")
            }) || ue("type|href|height|width", function(e, t, n) {
                if (!n) return e.getAttribute(t, "type" === t.toLowerCase() ? 1 : 2)
            }), h.attributes && le(function(e) {
                return e.innerHTML = "<input/>", e.firstChild.setAttribute("value", ""), "" === e.firstChild.getAttribute("value")
            }) || ue("value", function(e, t, n) {
                if (!n && "input" === e.nodeName.toLowerCase()) return e.defaultValue
            }), le(function(e) {
                return null == e.getAttribute("disabled")
            }) || ue(j, function(e, t, n) {
                var i;
                if (!n) return !0 === e[t] ? t.toLowerCase() : (i = e.getAttributeNode(t)) && i.specified ? i.value : null
            }), oe
        }(w);
        D.find = p, D.expr = p.selectors, D.expr[":"] = D.expr.pseudos, D.uniqueSort = D.unique = p.uniqueSort, D.text = p.getText, D.isXMLDoc = p.isXML, D.contains = p.contains, D.escapeSelector = p.escape;
        var T = function(e, t, n) {
                for (var i = [], r = void 0 !== n;
                    (e = e[t]) && 9 !== e.nodeType;)
                    if (1 === e.nodeType) {
                        if (r && D(e).is(n)) break;
                        i.push(e)
                    }
                return i
            },
            x = function(e, t) {
                for (var n = []; e; e = e.nextSibling) 1 === e.nodeType && e !== t && n.push(e);
                return n
            },
            S = D.expr.match.needsContext;

        function A(e, t) {
            return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase()
        }
        var O = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;

        function I(e, n, i) {
            return y(n) ? D.grep(e, function(e, t) {
                return !!n.call(e, t, e) !== i
            }) : n.nodeType ? D.grep(e, function(e) {
                return e === n !== i
            }) : "string" != typeof n ? D.grep(e, function(e) {
                return -1 < r.call(n, e) !== i
            }) : D.filter(n, e, i)
        }
        D.filter = function(e, t, n) {
            var i = t[0];
            return n && (e = ":not(" + e + ")"), 1 === t.length && 1 === i.nodeType ? D.find.matchesSelector(i, e) ? [i] : [] : D.find.matches(e, D.grep(t, function(e) {
                return 1 === e.nodeType
            }))
        }, D.fn.extend({
            find: function(e) {
                var t, n, i = this.length,
                    r = this;
                if ("string" != typeof e) return this.pushStack(D(e).filter(function() {
                    for (t = 0; t < i; t++)
                        if (D.contains(r[t], this)) return !0
                }));
                for (n = this.pushStack([]), t = 0; t < i; t++) D.find(e, r[t], n);
                return 1 < i ? D.uniqueSort(n) : n
            },
            filter: function(e) {
                return this.pushStack(I(this, e || [], !1))
            },
            not: function(e) {
                return this.pushStack(I(this, e || [], !0))
            },
            is: function(e) {
                return !!I(this, "string" == typeof e && S.test(e) ? D(e) : e || [], !1).length
            }
        });
        var N, k = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;
        (D.fn.init = function(e, t, n) {
            var i, r;
            if (!e) return this;
            if (n = n || N, "string" != typeof e) return e.nodeType ? (this[0] = e, this.length = 1, this) : y(e) ? void 0 !== n.ready ? n.ready(e) : e(D) : D.makeArray(e, this);
            if (!(i = "<" === e[0] && ">" === e[e.length - 1] && 3 <= e.length ? [null, e, null] : k.exec(e)) || !i[1] && t) return !t || t.jquery ? (t || n).find(e) : this.constructor(t).find(e);
            if (i[1]) {
                if (t = t instanceof D ? t[0] : t, D.merge(this, D.parseHTML(i[1], t && t.nodeType ? t.ownerDocument || t : C, !0)), O.test(i[1]) && D.isPlainObject(t))
                    for (i in t) y(this[i]) ? this[i](t[i]) : this.attr(i, t[i]);
                return this
            }
            return (r = C.getElementById(i[2])) && (this[0] = r, this.length = 1), this
        }).prototype = D.fn, N = D(C);
        var L = /^(?:parents|prev(?:Until|All))/,
            P = {
                children: !0,
                contents: !0,
                next: !0,
                prev: !0
            };

        function j(e, t) {
            for (;
                (e = e[t]) && 1 !== e.nodeType;);
            return e
        }
        D.fn.extend({
            has: function(e) {
                var t = D(e, this),
                    n = t.length;
                return this.filter(function() {
                    for (var e = 0; e < n; e++)
                        if (D.contains(this, t[e])) return !0
                })
            },
            closest: function(e, t) {
                var n, i = 0,
                    r = this.length,
                    o = [],
                    a = "string" != typeof e && D(e);
                if (!S.test(e))
                    for (; i < r; i++)
                        for (n = this[i]; n && n !== t; n = n.parentNode)
                            if (n.nodeType < 11 && (a ? -1 < a.index(n) : 1 === n.nodeType && D.find.matchesSelector(n, e))) {
                                o.push(n);
                                break
                            }
                return this.pushStack(1 < o.length ? D.uniqueSort(o) : o)
            },
            index: function(e) {
                return e ? "string" == typeof e ? r.call(D(e), this[0]) : r.call(this, e.jquery ? e[0] : e) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1
            },
            add: function(e, t) {
                return this.pushStack(D.uniqueSort(D.merge(this.get(), D(e, t))))
            },
            addBack: function(e) {
                return this.add(null == e ? this.prevObject : this.prevObject.filter(e))
            }
        }), D.each({
            parent: function(e) {
                var t = e.parentNode;
                return t && 11 !== t.nodeType ? t : null
            },
            parents: function(e) {
                return T(e, "parentNode")
            },
            parentsUntil: function(e, t, n) {
                return T(e, "parentNode", n)
            },
            next: function(e) {
                return j(e, "nextSibling")
            },
            prev: function(e) {
                return j(e, "previousSibling")
            },
            nextAll: function(e) {
                return T(e, "nextSibling")
            },
            prevAll: function(e) {
                return T(e, "previousSibling")
            },
            nextUntil: function(e, t, n) {
                return T(e, "nextSibling", n)
            },
            prevUntil: function(e, t, n) {
                return T(e, "previousSibling", n)
            },
            siblings: function(e) {
                return x((e.parentNode || {}).firstChild, e)
            },
            children: function(e) {
                return x(e.firstChild)
            },
            contents: function(e) {
                return A(e, "iframe") ? e.contentDocument : (A(e, "template") && (e = e.content || e), D.merge([], e.childNodes))
            }
        }, function(i, r) {
            D.fn[i] = function(e, t) {
                var n = D.map(this, r, e);
                return "Until" !== i.slice(-5) && (t = e), t && "string" == typeof t && (n = D.filter(t, n)), 1 < this.length && (P[i] || D.uniqueSort(n), L.test(i) && n.reverse()), this.pushStack(n)
            }
        });
        var H = /[^\x20\t\r\n\f]+/g;

        function M(e) {
            return e
        }

        function R(e) {
            throw e
        }

        function F(e, t, n, i) {
            var r;
            try {
                e && y(r = e.promise) ? r.call(e).done(t).fail(n) : e && y(r = e.then) ? r.call(e, t, n) : t.apply(void 0, [e].slice(i))
            } catch (e) {
                n.apply(void 0, [e])
            }
        }
        D.Callbacks = function(i) {
            i = "string" == typeof i ? function(e) {
                var n = {};
                return D.each(e.match(H) || [], function(e, t) {
                    n[t] = !0
                }), n
            }(i) : D.extend({}, i);
            var n, e, t, r, o = [],
                a = [],
                s = -1,
                l = function() {
                    for (r = r || i.once, t = n = !0; a.length; s = -1)
                        for (e = a.shift(); ++s < o.length;) !1 === o[s].apply(e[0], e[1]) && i.stopOnFalse && (s = o.length, e = !1);
                    i.memory || (e = !1), n = !1, r && (o = e ? [] : "")
                },
                u = {
                    add: function() {
                        return o && (e && !n && (s = o.length - 1, a.push(e)), function n(e) {
                            D.each(e, function(e, t) {
                                y(t) ? i.unique && u.has(t) || o.push(t) : t && t.length && "string" !== E(t) && n(t)
                            })
                        }(arguments), e && !n && l()), this
                    },
                    remove: function() {
                        return D.each(arguments, function(e, t) {
                            for (var n; - 1 < (n = D.inArray(t, o, n));) o.splice(n, 1), n <= s && s--
                        }), this
                    },
                    has: function(e) {
                        return e ? -1 < D.inArray(e, o) : 0 < o.length
                    },
                    empty: function() {
                        return o && (o = []), this
                    },
                    disable: function() {
                        return r = a = [], o = e = "", this
                    },
                    disabled: function() {
                        return !o
                    },
                    lock: function() {
                        return r = a = [], e || n || (o = e = ""), this
                    },
                    locked: function() {
                        return !!r
                    },
                    fireWith: function(e, t) {
                        return r || (t = [e, (t = t || []).slice ? t.slice() : t], a.push(t), n || l()), this
                    },
                    fire: function() {
                        return u.fireWith(this, arguments), this
                    },
                    fired: function() {
                        return !!t
                    }
                };
            return u
        }, D.extend({
            Deferred: function(e) {
                var o = [
                        ["notify", "progress", D.Callbacks("memory"), D.Callbacks("memory"), 2],
                        ["resolve", "done", D.Callbacks("once memory"), D.Callbacks("once memory"), 0, "resolved"],
                        ["reject", "fail", D.Callbacks("once memory"), D.Callbacks("once memory"), 1, "rejected"]
                    ],
                    r = "pending",
                    a = {
                        state: function() {
                            return r
                        },
                        always: function() {
                            return s.done(arguments).fail(arguments), this
                        },
                        catch: function(e) {
                            return a.then(null, e)
                        },
                        pipe: function() {
                            var r = arguments;
                            return D.Deferred(function(i) {
                                D.each(o, function(e, t) {
                                    var n = y(r[t[4]]) && r[t[4]];
                                    s[t[1]](function() {
                                        var e = n && n.apply(this, arguments);
                                        e && y(e.promise) ? e.promise().progress(i.notify).done(i.resolve).fail(i.reject) : i[t[0] + "With"](this, n ? [e] : arguments)
                                    })
                                }), r = null
                            }).promise()
                        },
                        then: function(t, n, i) {
                            var l = 0;

                            function u(r, o, a, s) {
                                return function() {
                                    var n = this,
                                        i = arguments,
                                        e = function() {
                                            var e, t;
                                            if (!(r < l)) {
                                                if ((e = a.apply(n, i)) === o.promise()) throw new TypeError("Thenable self-resolution");
                                                t = e && ("object" == typeof e || "function" == typeof e) && e.then, y(t) ? s ? t.call(e, u(l, o, M, s), u(l, o, R, s)) : (l++, t.call(e, u(l, o, M, s), u(l, o, R, s), u(l, o, M, o.notifyWith))) : (a !== M && (n = void 0, i = [e]), (s || o.resolveWith)(n, i))
                                            }
                                        },
                                        t = s ? e : function() {
                                            try {
                                                e()
                                            } catch (e) {
                                                D.Deferred.exceptionHook && D.Deferred.exceptionHook(e, t.stackTrace), l <= r + 1 && (a !== R && (n = void 0, i = [e]), o.rejectWith(n, i))
                                            }
                                        };
                                    r ? t() : (D.Deferred.getStackHook && (t.stackTrace = D.Deferred.getStackHook()), w.setTimeout(t))
                                }
                            }
                            return D.Deferred(function(e) {
                                o[0][3].add(u(0, e, y(i) ? i : M, e.notifyWith)), o[1][3].add(u(0, e, y(t) ? t : M)), o[2][3].add(u(0, e, y(n) ? n : R))
                            }).promise()
                        },
                        promise: function(e) {
                            return null != e ? D.extend(e, a) : a
                        }
                    },
                    s = {};
                return D.each(o, function(e, t) {
                    var n = t[2],
                        i = t[5];
                    a[t[1]] = n.add, i && n.add(function() {
                        r = i
                    }, o[3 - e][2].disable, o[3 - e][3].disable, o[0][2].lock, o[0][3].lock), n.add(t[3].fire), s[t[0]] = function() {
                        return s[t[0] + "With"](this === s ? void 0 : this, arguments), this
                    }, s[t[0] + "With"] = n.fireWith
                }), a.promise(s), e && e.call(s, s), s
            },
            when: function(e) {
                var n = arguments.length,
                    t = n,
                    i = Array(t),
                    r = s.call(arguments),
                    o = D.Deferred(),
                    a = function(t) {
                        return function(e) {
                            i[t] = this, r[t] = 1 < arguments.length ? s.call(arguments) : e, --n || o.resolveWith(i, r)
                        }
                    };
                if (n <= 1 && (F(e, o.done(a(t)).resolve, o.reject, !n), "pending" === o.state() || y(r[t] && r[t].then))) return o.then();
                for (; t--;) F(r[t], a(t), o.reject);
                return o.promise()
            }
        });
        var q = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
        D.Deferred.exceptionHook = function(e, t) {
            w.console && w.console.warn && e && q.test(e.name) && w.console.warn("jQuery.Deferred exception: " + e.message, e.stack, t)
        }, D.readyException = function(e) {
            w.setTimeout(function() {
                throw e
            })
        };
        var W = D.Deferred();

        function V() {
            C.removeEventListener("DOMContentLoaded", V), w.removeEventListener("load", V), D.ready()
        }
        D.fn.ready = function(e) {
            return W.then(e).catch(function(e) {
                D.readyException(e)
            }), this
        }, D.extend({
            isReady: !1,
            readyWait: 1,
            ready: function(e) {
                (!0 === e ? --D.readyWait : D.isReady) || (D.isReady = !0) !== e && 0 < --D.readyWait || W.resolveWith(C, [D])
            }
        }), D.ready.then = W.then, "complete" === C.readyState || "loading" !== C.readyState && !C.documentElement.doScroll ? w.setTimeout(D.ready) : (C.addEventListener("DOMContentLoaded", V), w.addEventListener("load", V));
        var B = function(e, t, n, i, r, o, a) {
                var s = 0,
                    l = e.length,
                    u = null == n;
                if ("object" === E(n))
                    for (s in r = !0, n) B(e, t, s, n[s], !0, o, a);
                else if (void 0 !== i && (r = !0, y(i) || (a = !0), u && (t = a ? (t.call(e, i), null) : (u = t, function(e, t, n) {
                        return u.call(D(e), n)
                    })), t))
                    for (; s < l; s++) t(e[s], n, a ? i : i.call(e[s], s, t(e[s], n)));
                return r ? e : u ? t.call(e) : l ? t(e[0], n) : o
            },
            U = /^-ms-/,
            G = /-([a-z])/g;

        function X(e, t) {
            return t.toUpperCase()
        }

        function K(e) {
            return e.replace(U, "ms-").replace(G, X)
        }
        var z = function(e) {
            return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType
        };

        function Q() {
            this.expando = D.expando + Q.uid++
        }
        Q.uid = 1, Q.prototype = {
            cache: function(e) {
                var t = e[this.expando];
                return t || (t = {}, z(e) && (e.nodeType ? e[this.expando] = t : Object.defineProperty(e, this.expando, {
                    value: t,
                    configurable: !0
                }))), t
            },
            set: function(e, t, n) {
                var i, r = this.cache(e);
                if ("string" == typeof t) r[K(t)] = n;
                else
                    for (i in t) r[K(i)] = t[i];
                return r
            },
            get: function(e, t) {
                return void 0 === t ? this.cache(e) : e[this.expando] && e[this.expando][K(t)]
            },
            access: function(e, t, n) {
                return void 0 === t || t && "string" == typeof t && void 0 === n ? this.get(e, t) : (this.set(e, t, n), void 0 !== n ? n : t)
            },
            remove: function(e, t) {
                var n, i = e[this.expando];
                if (void 0 !== i) {
                    if (void 0 !== t) {
                        n = (t = Array.isArray(t) ? t.map(K) : (t = K(t)) in i ? [t] : t.match(H) || []).length;
                        for (; n--;) delete i[t[n]]
                    }(void 0 === t || D.isEmptyObject(i)) && (e.nodeType ? e[this.expando] = void 0 : delete e[this.expando])
                }
            },
            hasData: function(e) {
                var t = e[this.expando];
                return void 0 !== t && !D.isEmptyObject(t)
            }
        };
        var Y = new Q,
            $ = new Q,
            J = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
            Z = /[A-Z]/g;

        function ee(e, t, n) {
            var i;
            if (void 0 === n && 1 === e.nodeType)
                if (i = "data-" + t.replace(Z, "-$&").toLowerCase(), "string" == typeof(n = e.getAttribute(i))) {
                    try {
                        n = function(e) {
                            return "true" === e || "false" !== e && ("null" === e ? null : e === +e + "" ? +e : J.test(e) ? JSON.parse(e) : e)
                        }(n)
                    } catch (e) {}
                    $.set(e, t, n)
                } else n = void 0;
            return n
        }
        D.extend({
            hasData: function(e) {
                return $.hasData(e) || Y.hasData(e)
            },
            data: function(e, t, n) {
                return $.access(e, t, n)
            },
            removeData: function(e, t) {
                $.remove(e, t)
            },
            _data: function(e, t, n) {
                return Y.access(e, t, n)
            },
            _removeData: function(e, t) {
                Y.remove(e, t)
            }
        }), D.fn.extend({
            data: function(n, e) {
                var t, i, r, o = this[0],
                    a = o && o.attributes;
                if (void 0 !== n) return "object" == typeof n ? this.each(function() {
                    $.set(this, n)
                }) : B(this, function(e) {
                    var t;
                    if (o && void 0 === e) return void 0 !== (t = $.get(o, n)) ? t : void 0 !== (t = ee(o, n)) ? t : void 0;
                    this.each(function() {
                        $.set(this, n, e)
                    })
                }, null, e, 1 < arguments.length, null, !0);
                if (this.length && (r = $.get(o), 1 === o.nodeType && !Y.get(o, "hasDataAttrs"))) {
                    for (t = a.length; t--;) a[t] && 0 === (i = a[t].name).indexOf("data-") && (i = K(i.slice(5)), ee(o, i, r[i]));
                    Y.set(o, "hasDataAttrs", !0)
                }
                return r
            },
            removeData: function(e) {
                return this.each(function() {
                    $.remove(this, e)
                })
            }
        }), D.extend({
            queue: function(e, t, n) {
                var i;
                if (e) return t = (t || "fx") + "queue", i = Y.get(e, t), n && (!i || Array.isArray(n) ? i = Y.access(e, t, D.makeArray(n)) : i.push(n)), i || []
            },
            dequeue: function(e, t) {
                t = t || "fx";
                var n = D.queue(e, t),
                    i = n.length,
                    r = n.shift(),
                    o = D._queueHooks(e, t);
                "inprogress" === r && (r = n.shift(), i--), r && ("fx" === t && n.unshift("inprogress"), delete o.stop, r.call(e, function() {
                    D.dequeue(e, t)
                }, o)), !i && o && o.empty.fire()
            },
            _queueHooks: function(e, t) {
                var n = t + "queueHooks";
                return Y.get(e, n) || Y.access(e, n, {
                    empty: D.Callbacks("once memory").add(function() {
                        Y.remove(e, [t + "queue", n])
                    })
                })
            }
        }), D.fn.extend({
            queue: function(t, n) {
                var e = 2;
                return "string" != typeof t && (n = t, t = "fx", e--), arguments.length < e ? D.queue(this[0], t) : void 0 === n ? this : this.each(function() {
                    var e = D.queue(this, t, n);
                    D._queueHooks(this, t), "fx" === t && "inprogress" !== e[0] && D.dequeue(this, t)
                })
            },
            dequeue: function(e) {
                return this.each(function() {
                    D.dequeue(this, e)
                })
            },
            clearQueue: function(e) {
                return this.queue(e || "fx", [])
            },
            promise: function(e, t) {
                var n, i = 1,
                    r = D.Deferred(),
                    o = this,
                    a = this.length,
                    s = function() {
                        --i || r.resolveWith(o, [o])
                    };
                for ("string" != typeof e && (t = e, e = void 0), e = e || "fx"; a--;)(n = Y.get(o[a], e + "queueHooks")) && n.empty && (i++, n.empty.add(s));
                return s(), r.promise(t)
            }
        });
        var te = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
            ne = new RegExp("^(?:([+-])=|)(" + te + ")([a-z%]*)$", "i"),
            ie = ["Top", "Right", "Bottom", "Left"],
            re = function(e, t) {
                return "none" === (e = t || e).style.display || "" === e.style.display && D.contains(e.ownerDocument, e) && "none" === D.css(e, "display")
            },
            oe = function(e, t, n, i) {
                var r, o, a = {};
                for (o in t) a[o] = e.style[o], e.style[o] = t[o];
                for (o in r = n.apply(e, i || []), t) e.style[o] = a[o];
                return r
            };

        function ae(e, t, n, i) {
            var r, o, a = 20,
                s = i ? function() {
                    return i.cur()
                } : function() {
                    return D.css(e, t, "")
                },
                l = s(),
                u = n && n[3] || (D.cssNumber[t] ? "" : "px"),
                c = (D.cssNumber[t] || "px" !== u && +l) && ne.exec(D.css(e, t));
            if (c && c[3] !== u) {
                for (l /= 2, u = u || c[3], c = +l || 1; a--;) D.style(e, t, c + u), (1 - o) * (1 - (o = s() / l || .5)) <= 0 && (a = 0), c /= o;
                c *= 2, D.style(e, t, c + u), n = n || []
            }
            return n && (c = +c || +l || 0, r = n[1] ? c + (n[1] + 1) * n[2] : +n[2], i && (i.unit = u, i.start = c, i.end = r)), r
        }
        var se = {};

        function le(e) {
            var t, n = e.ownerDocument,
                i = e.nodeName,
                r = se[i];
            return r || (t = n.body.appendChild(n.createElement(i)), r = D.css(t, "display"), t.parentNode.removeChild(t), "none" === r && (r = "block"), se[i] = r)
        }

        function ue(e, t) {
            for (var n, i, r = [], o = 0, a = e.length; o < a; o++)(i = e[o]).style && (n = i.style.display, t ? ("none" === n && (r[o] = Y.get(i, "display") || null, r[o] || (i.style.display = "")), "" === i.style.display && re(i) && (r[o] = le(i))) : "none" !== n && (r[o] = "none", Y.set(i, "display", n)));
            for (o = 0; o < a; o++) null != r[o] && (e[o].style.display = r[o]);
            return e
        }
        D.fn.extend({
            show: function() {
                return ue(this, !0)
            },
            hide: function() {
                return ue(this)
            },
            toggle: function(e) {
                return "boolean" == typeof e ? e ? this.show() : this.hide() : this.each(function() {
                    re(this) ? D(this).show() : D(this).hide()
                })
            }
        });
        var ce = /^(?:checkbox|radio)$/i,
            fe = /<([a-z][^\/\0>\x20\t\r\n\f]+)/i,
            de = /^$|^module$|\/(?:java|ecma)script/i,
            he = {
                option: [1, "<select multiple='multiple'>", "</select>"],
                thead: [1, "<table>", "</table>"],
                col: [2, "<table><colgroup>", "</colgroup></table>"],
                tr: [2, "<table><tbody>", "</tbody></table>"],
                td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
                _default: [0, "", ""]
            };

        function pe(e, t) {
            var n;
            return n = void 0 !== e.getElementsByTagName ? e.getElementsByTagName(t || "*") : void 0 !== e.querySelectorAll ? e.querySelectorAll(t || "*") : [], void 0 === t || t && A(e, t) ? D.merge([e], n) : n
        }

        function ge(e, t) {
            for (var n = 0, i = e.length; n < i; n++) Y.set(e[n], "globalEval", !t || Y.get(t[n], "globalEval"))
        }
        he.optgroup = he.option, he.tbody = he.tfoot = he.colgroup = he.caption = he.thead, he.th = he.td;
        var me = /<|&#?\w+;/;

        function ve(e, t, n, i, r) {
            for (var o, a, s, l, u, c, f = t.createDocumentFragment(), d = [], h = 0, p = e.length; h < p; h++)
                if ((o = e[h]) || 0 === o)
                    if ("object" === E(o)) D.merge(d, o.nodeType ? [o] : o);
                    else if (me.test(o)) {
                for (a = a || f.appendChild(t.createElement("div")), s = (fe.exec(o) || ["", ""])[1].toLowerCase(), l = he[s] || he._default, a.innerHTML = l[1] + D.htmlPrefilter(o) + l[2], c = l[0]; c--;) a = a.lastChild;
                D.merge(d, a.childNodes), (a = f.firstChild).textContent = ""
            } else d.push(t.createTextNode(o));
            for (f.textContent = "", h = 0; o = d[h++];)
                if (i && -1 < D.inArray(o, i)) r && r.push(o);
                else if (u = D.contains(o.ownerDocument, o), a = pe(f.appendChild(o), "script"), u && ge(a), n)
                for (c = 0; o = a[c++];) de.test(o.type || "") && n.push(o);
            return f
        }! function() {
            var e = C.createDocumentFragment().appendChild(C.createElement("div")),
                t = C.createElement("input");
            t.setAttribute("type", "radio"), t.setAttribute("checked", "checked"), t.setAttribute("name", "t"), e.appendChild(t), v.checkClone = e.cloneNode(!0).cloneNode(!0).lastChild.checked, e.innerHTML = "<textarea>x</textarea>", v.noCloneChecked = !!e.cloneNode(!0).lastChild.defaultValue
        }();
        var ye = C.documentElement,
            be = /^key/,
            _e = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
            Ee = /^([^.]*)(?:\.(.+)|)/;

        function Te() {
            return !0
        }

        function we() {
            return !1
        }

        function Ce() {
            try {
                return C.activeElement
            } catch (e) {}
        }

        function De(e, t, n, i, r, o) {
            var a, s;
            if ("object" == typeof t) {
                for (s in "string" != typeof n && (i = i || n, n = void 0), t) De(e, s, n, i, t[s], o);
                return e
            }
            if (null == i && null == r ? (r = n, i = n = void 0) : null == r && ("string" == typeof n ? (r = i, i = void 0) : (r = i, i = n, n = void 0)), !1 === r) r = we;
            else if (!r) return e;
            return 1 === o && (a = r, (r = function(e) {
                return D().off(e), a.apply(this, arguments)
            }).guid = a.guid || (a.guid = D.guid++)), e.each(function() {
                D.event.add(this, t, r, i, n)
            })
        }
        D.event = {
            global: {},
            add: function(t, e, n, i, r) {
                var o, a, s, l, u, c, f, d, h, p, g, m = Y.get(t);
                if (m)
                    for (n.handler && (n = (o = n).handler, r = o.selector), r && D.find.matchesSelector(ye, r), n.guid || (n.guid = D.guid++), (l = m.events) || (l = m.events = {}), (a = m.handle) || (a = m.handle = function(e) {
                            return void 0 !== D && D.event.triggered !== e.type ? D.event.dispatch.apply(t, arguments) : void 0
                        }), u = (e = (e || "").match(H) || [""]).length; u--;) h = g = (s = Ee.exec(e[u]) || [])[1], p = (s[2] || "").split(".").sort(), h && (f = D.event.special[h] || {}, h = (r ? f.delegateType : f.bindType) || h, f = D.event.special[h] || {}, c = D.extend({
                        type: h,
                        origType: g,
                        data: i,
                        handler: n,
                        guid: n.guid,
                        selector: r,
                        needsContext: r && D.expr.match.needsContext.test(r),
                        namespace: p.join(".")
                    }, o), (d = l[h]) || ((d = l[h] = []).delegateCount = 0, f.setup && !1 !== f.setup.call(t, i, p, a) || t.addEventListener && t.addEventListener(h, a)), f.add && (f.add.call(t, c), c.handler.guid || (c.handler.guid = n.guid)), r ? d.splice(d.delegateCount++, 0, c) : d.push(c), D.event.global[h] = !0)
            },
            remove: function(e, t, n, i, r) {
                var o, a, s, l, u, c, f, d, h, p, g, m = Y.hasData(e) && Y.get(e);
                if (m && (l = m.events)) {
                    for (u = (t = (t || "").match(H) || [""]).length; u--;)
                        if (h = g = (s = Ee.exec(t[u]) || [])[1], p = (s[2] || "").split(".").sort(), h) {
                            for (f = D.event.special[h] || {}, d = l[h = (i ? f.delegateType : f.bindType) || h] || [], s = s[2] && new RegExp("(^|\\.)" + p.join("\\.(?:.*\\.|)") + "(\\.|$)"), a = o = d.length; o--;) c = d[o], !r && g !== c.origType || n && n.guid !== c.guid || s && !s.test(c.namespace) || i && i !== c.selector && ("**" !== i || !c.selector) || (d.splice(o, 1), c.selector && d.delegateCount--, f.remove && f.remove.call(e, c));
                            a && !d.length && (f.teardown && !1 !== f.teardown.call(e, p, m.handle) || D.removeEvent(e, h, m.handle), delete l[h])
                        } else
                            for (h in l) D.event.remove(e, h + t[u], n, i, !0);
                    D.isEmptyObject(l) && Y.remove(e, "handle events")
                }
            },
            dispatch: function(e) {
                var t, n, i, r, o, a, s = D.event.fix(e),
                    l = new Array(arguments.length),
                    u = (Y.get(this, "events") || {})[s.type] || [],
                    c = D.event.special[s.type] || {};
                for (l[0] = s, t = 1; t < arguments.length; t++) l[t] = arguments[t];
                if (s.delegateTarget = this, !c.preDispatch || !1 !== c.preDispatch.call(this, s)) {
                    for (a = D.event.handlers.call(this, s, u), t = 0;
                        (r = a[t++]) && !s.isPropagationStopped();)
                        for (s.currentTarget = r.elem, n = 0;
                            (o = r.handlers[n++]) && !s.isImmediatePropagationStopped();) s.rnamespace && !s.rnamespace.test(o.namespace) || (s.handleObj = o, s.data = o.data, void 0 !== (i = ((D.event.special[o.origType] || {}).handle || o.handler).apply(r.elem, l)) && !1 === (s.result = i) && (s.preventDefault(), s.stopPropagation()));
                    return c.postDispatch && c.postDispatch.call(this, s), s.result
                }
            },
            handlers: function(e, t) {
                var n, i, r, o, a, s = [],
                    l = t.delegateCount,
                    u = e.target;
                if (l && u.nodeType && !("click" === e.type && 1 <= e.button))
                    for (; u !== this; u = u.parentNode || this)
                        if (1 === u.nodeType && ("click" !== e.type || !0 !== u.disabled)) {
                            for (o = [], a = {}, n = 0; n < l; n++) void 0 === a[r = (i = t[n]).selector + " "] && (a[r] = i.needsContext ? -1 < D(r, this).index(u) : D.find(r, this, null, [u]).length), a[r] && o.push(i);
                            o.length && s.push({
                                elem: u,
                                handlers: o
                            })
                        }
                return u = this, l < t.length && s.push({
                    elem: u,
                    handlers: t.slice(l)
                }), s
            },
            addProp: function(t, e) {
                Object.defineProperty(D.Event.prototype, t, {
                    enumerable: !0,
                    configurable: !0,
                    get: y(e) ? function() {
                        if (this.originalEvent) return e(this.originalEvent)
                    } : function() {
                        if (this.originalEvent) return this.originalEvent[t]
                    },
                    set: function(e) {
                        Object.defineProperty(this, t, {
                            enumerable: !0,
                            configurable: !0,
                            writable: !0,
                            value: e
                        })
                    }
                })
            },
            fix: function(e) {
                return e[D.expando] ? e : new D.Event(e)
            },
            special: {
                load: {
                    noBubble: !0
                },
                focus: {
                    trigger: function() {
                        if (this !== Ce() && this.focus) return this.focus(), !1
                    },
                    delegateType: "focusin"
                },
                blur: {
                    trigger: function() {
                        if (this === Ce() && this.blur) return this.blur(), !1
                    },
                    delegateType: "focusout"
                },
                click: {
                    trigger: function() {
                        if ("checkbox" === this.type && this.click && A(this, "input")) return this.click(), !1
                    },
                    _default: function(e) {
                        return A(e.target, "a")
                    }
                },
                beforeunload: {
                    postDispatch: function(e) {
                        void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result)
                    }
                }
            }
        }, D.removeEvent = function(e, t, n) {
            e.removeEventListener && e.removeEventListener(t, n)
        }, D.Event = function(e, t) {
            if (!(this instanceof D.Event)) return new D.Event(e, t);
            e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && !1 === e.returnValue ? Te : we, this.target = e.target && 3 === e.target.nodeType ? e.target.parentNode : e.target, this.currentTarget = e.currentTarget, this.relatedTarget = e.relatedTarget) : this.type = e, t && D.extend(this, t), this.timeStamp = e && e.timeStamp || Date.now(), this[D.expando] = !0
        }, D.Event.prototype = {
            constructor: D.Event,
            isDefaultPrevented: we,
            isPropagationStopped: we,
            isImmediatePropagationStopped: we,
            isSimulated: !1,
            preventDefault: function() {
                var e = this.originalEvent;
                this.isDefaultPrevented = Te, e && !this.isSimulated && e.preventDefault()
            },
            stopPropagation: function() {
                var e = this.originalEvent;
                this.isPropagationStopped = Te, e && !this.isSimulated && e.stopPropagation()
            },
            stopImmediatePropagation: function() {
                var e = this.originalEvent;
                this.isImmediatePropagationStopped = Te, e && !this.isSimulated && e.stopImmediatePropagation(), this.stopPropagation()
            }
        }, D.each({
            altKey: !0,
            bubbles: !0,
            cancelable: !0,
            changedTouches: !0,
            ctrlKey: !0,
            detail: !0,
            eventPhase: !0,
            metaKey: !0,
            pageX: !0,
            pageY: !0,
            shiftKey: !0,
            view: !0,
            char: !0,
            charCode: !0,
            key: !0,
            keyCode: !0,
            button: !0,
            buttons: !0,
            clientX: !0,
            clientY: !0,
            offsetX: !0,
            offsetY: !0,
            pointerId: !0,
            pointerType: !0,
            screenX: !0,
            screenY: !0,
            targetTouches: !0,
            toElement: !0,
            touches: !0,
            which: function(e) {
                var t = e.button;
                return null == e.which && be.test(e.type) ? null != e.charCode ? e.charCode : e.keyCode : !e.which && void 0 !== t && _e.test(e.type) ? 1 & t ? 1 : 2 & t ? 3 : 4 & t ? 2 : 0 : e.which
            }
        }, D.event.addProp), D.each({
            mouseenter: "mouseover",
            mouseleave: "mouseout",
            pointerenter: "pointerover",
            pointerleave: "pointerout"
        }, function(e, r) {
            D.event.special[e] = {
                delegateType: r,
                bindType: r,
                handle: function(e) {
                    var t, n = e.relatedTarget,
                        i = e.handleObj;
                    return n && (n === this || D.contains(this, n)) || (e.type = i.origType, t = i.handler.apply(this, arguments), e.type = r), t
                }
            }
        }), D.fn.extend({
            on: function(e, t, n, i) {
                return De(this, e, t, n, i)
            },
            one: function(e, t, n, i) {
                return De(this, e, t, n, i, 1)
            },
            off: function(e, t, n) {
                var i, r;
                if (e && e.preventDefault && e.handleObj) return i = e.handleObj, D(e.delegateTarget).off(i.namespace ? i.origType + "." + i.namespace : i.origType, i.selector, i.handler), this;
                if ("object" != typeof e) return !1 !== t && "function" != typeof t || (n = t, t = void 0), !1 === n && (n = we), this.each(function() {
                    D.event.remove(this, e, n, t)
                });
                for (r in e) this.off(r, t, e[r]);
                return this
            }
        });
        var xe = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,
            Se = /<script|<style|<link/i,
            Ae = /checked\s*(?:[^=]|=\s*.checked.)/i,
            Oe = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;

        function Ie(e, t) {
            return A(e, "table") && A(11 !== t.nodeType ? t : t.firstChild, "tr") && D(e).children("tbody")[0] || e
        }

        function Ne(e) {
            return e.type = (null !== e.getAttribute("type")) + "/" + e.type, e
        }

        function ke(e) {
            return "true/" === (e.type || "").slice(0, 5) ? e.type = e.type.slice(5) : e.removeAttribute("type"), e
        }

        function Le(e, t) {
            var n, i, r, o, a, s, l, u;
            if (1 === t.nodeType) {
                if (Y.hasData(e) && (o = Y.access(e), a = Y.set(t, o), u = o.events))
                    for (r in delete a.handle, a.events = {}, u)
                        for (n = 0, i = u[r].length; n < i; n++) D.event.add(t, r, u[r][n]);
                $.hasData(e) && (s = $.access(e), l = D.extend({}, s), $.set(t, l))
            }
        }

        function Pe(e, t) {
            var n = t.nodeName.toLowerCase();
            "input" === n && ce.test(e.type) ? t.checked = e.checked : "input" !== n && "textarea" !== n || (t.defaultValue = e.defaultValue)
        }

        function je(n, i, r, o) {
            i = g.apply([], i);
            var e, t, a, s, l, u, c = 0,
                f = n.length,
                d = f - 1,
                h = i[0],
                p = y(h);
            if (p || 1 < f && "string" == typeof h && !v.checkClone && Ae.test(h)) return n.each(function(e) {
                var t = n.eq(e);
                p && (i[0] = h.call(this, e, t.html())), je(t, i, r, o)
            });
            if (f && (t = (e = ve(i, n[0].ownerDocument, !1, n, o)).firstChild, 1 === e.childNodes.length && (e = t), t || o)) {
                for (s = (a = D.map(pe(e, "script"), Ne)).length; c < f; c++) l = e, c !== d && (l = D.clone(l, !0, !0), s && D.merge(a, pe(l, "script"))), r.call(n[c], l, c);
                if (s)
                    for (u = a[a.length - 1].ownerDocument, D.map(a, ke), c = 0; c < s; c++) l = a[c], de.test(l.type || "") && !Y.access(l, "globalEval") && D.contains(u, l) && (l.src && "module" !== (l.type || "").toLowerCase() ? D._evalUrl && D._evalUrl(l.src) : _(l.textContent.replace(Oe, ""), u, l))
            }
            return n
        }

        function He(e, t, n) {
            for (var i, r = t ? D.filter(t, e) : e, o = 0; null != (i = r[o]); o++) n || 1 !== i.nodeType || D.cleanData(pe(i)), i.parentNode && (n && D.contains(i.ownerDocument, i) && ge(pe(i, "script")), i.parentNode.removeChild(i));
            return e
        }
        D.extend({
            htmlPrefilter: function(e) {
                return e.replace(xe, "<$1></$2>")
            },
            clone: function(e, t, n) {
                var i, r, o, a, s = e.cloneNode(!0),
                    l = D.contains(e.ownerDocument, e);
                if (!(v.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || D.isXMLDoc(e)))
                    for (a = pe(s), i = 0, r = (o = pe(e)).length; i < r; i++) Pe(o[i], a[i]);
                if (t)
                    if (n)
                        for (o = o || pe(e), a = a || pe(s), i = 0, r = o.length; i < r; i++) Le(o[i], a[i]);
                    else Le(e, s);
                return 0 < (a = pe(s, "script")).length && ge(a, !l && pe(e, "script")), s
            },
            cleanData: function(e) {
                for (var t, n, i, r = D.event.special, o = 0; void 0 !== (n = e[o]); o++)
                    if (z(n)) {
                        if (t = n[Y.expando]) {
                            if (t.events)
                                for (i in t.events) r[i] ? D.event.remove(n, i) : D.removeEvent(n, i, t.handle);
                            n[Y.expando] = void 0
                        }
                        n[$.expando] && (n[$.expando] = void 0)
                    }
            }
        }), D.fn.extend({
            detach: function(e) {
                return He(this, e, !0)
            },
            remove: function(e) {
                return He(this, e)
            },
            text: function(e) {
                return B(this, function(e) {
                    return void 0 === e ? D.text(this) : this.empty().each(function() {
                        1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (this.textContent = e)
                    })
                }, null, e, arguments.length)
            },
            append: function() {
                return je(this, arguments, function(e) {
                    1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || Ie(this, e).appendChild(e)
                })
            },
            prepend: function() {
                return je(this, arguments, function(e) {
                    if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {
                        var t = Ie(this, e);
                        t.insertBefore(e, t.firstChild)
                    }
                })
            },
            before: function() {
                return je(this, arguments, function(e) {
                    this.parentNode && this.parentNode.insertBefore(e, this)
                })
            },
            after: function() {
                return je(this, arguments, function(e) {
                    this.parentNode && this.parentNode.insertBefore(e, this.nextSibling)
                })
            },
            empty: function() {
                for (var e, t = 0; null != (e = this[t]); t++) 1 === e.nodeType && (D.cleanData(pe(e, !1)), e.textContent = "");
                return this
            },
            clone: function(e, t) {
                return e = null != e && e, t = null == t ? e : t, this.map(function() {
                    return D.clone(this, e, t)
                })
            },
            html: function(e) {
                return B(this, function(e) {
                    var t = this[0] || {},
                        n = 0,
                        i = this.length;
                    if (void 0 === e && 1 === t.nodeType) return t.innerHTML;
                    if ("string" == typeof e && !Se.test(e) && !he[(fe.exec(e) || ["", ""])[1].toLowerCase()]) {
                        e = D.htmlPrefilter(e);
                        try {
                            for (; n < i; n++) 1 === (t = this[n] || {}).nodeType && (D.cleanData(pe(t, !1)), t.innerHTML = e);
                            t = 0
                        } catch (e) {}
                    }
                    t && this.empty().append(e)
                }, null, e, arguments.length)
            },
            replaceWith: function() {
                var n = [];
                return je(this, arguments, function(e) {
                    var t = this.parentNode;
                    D.inArray(this, n) < 0 && (D.cleanData(pe(this)), t && t.replaceChild(e, this))
                }, n)
            }
        }), D.each({
            appendTo: "append",
            prependTo: "prepend",
            insertBefore: "before",
            insertAfter: "after",
            replaceAll: "replaceWith"
        }, function(e, a) {
            D.fn[e] = function(e) {
                for (var t, n = [], i = D(e), r = i.length - 1, o = 0; o <= r; o++) t = o === r ? this : this.clone(!0), D(i[o])[a](t), l.apply(n, t.get());
                return this.pushStack(n)
            }
        });
        var Me = new RegExp("^(" + te + ")(?!px)[a-z%]+$", "i"),
            Re = function(e) {
                var t = e.ownerDocument.defaultView;
                return t && t.opener || (t = w), t.getComputedStyle(e)
            },
            Fe = new RegExp(ie.join("|"), "i");

        function qe(e, t, n) {
            var i, r, o, a, s = e.style;
            return (n = n || Re(e)) && ("" !== (a = n.getPropertyValue(t) || n[t]) || D.contains(e.ownerDocument, e) || (a = D.style(e, t)), !v.pixelBoxStyles() && Me.test(a) && Fe.test(t) && (i = s.width, r = s.minWidth, o = s.maxWidth, s.minWidth = s.maxWidth = s.width = a, a = n.width, s.width = i, s.minWidth = r, s.maxWidth = o)), void 0 !== a ? a + "" : a
        }

        function We(e, t) {
            return {
                get: function() {
                    if (!e()) return (this.get = t).apply(this, arguments);
                    delete this.get
                }
            }
        }! function() {
            function e() {
                if (l) {
                    s.style.cssText = "position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0", l.style.cssText = "position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%", ye.appendChild(s).appendChild(l);
                    var e = w.getComputedStyle(l);
                    n = "1%" !== e.top, a = 12 === t(e.marginLeft), l.style.right = "60%", o = 36 === t(e.right), i = 36 === t(e.width), l.style.position = "absolute", r = 36 === l.offsetWidth || "absolute", ye.removeChild(s), l = null
                }
            }

            function t(e) {
                return Math.round(parseFloat(e))
            }
            var n, i, r, o, a, s = C.createElement("div"),
                l = C.createElement("div");
            l.style && (l.style.backgroundClip = "content-box", l.cloneNode(!0).style.backgroundClip = "", v.clearCloneStyle = "content-box" === l.style.backgroundClip, D.extend(v, {
                boxSizingReliable: function() {
                    return e(), i
                },
                pixelBoxStyles: function() {
                    return e(), o
                },
                pixelPosition: function() {
                    return e(), n
                },
                reliableMarginLeft: function() {
                    return e(), a
                },
                scrollboxSize: function() {
                    return e(), r
                }
            }))
        }();
        var Ve = /^(none|table(?!-c[ea]).+)/,
            Be = /^--/,
            Ue = {
                position: "absolute",
                visibility: "hidden",
                display: "block"
            },
            Ge = {
                letterSpacing: "0",
                fontWeight: "400"
            },
            Xe = ["Webkit", "Moz", "ms"],
            Ke = C.createElement("div").style;

        function ze(e) {
            var t = D.cssProps[e];
            return t || (t = D.cssProps[e] = function(e) {
                if (e in Ke) return e;
                for (var t = e[0].toUpperCase() + e.slice(1), n = Xe.length; n--;)
                    if ((e = Xe[n] + t) in Ke) return e
            }(e) || e), t
        }

        function Qe(e, t, n) {
            var i = ne.exec(t);
            return i ? Math.max(0, i[2] - (n || 0)) + (i[3] || "px") : t
        }

        function Ye(e, t, n, i, r, o) {
            var a = "width" === t ? 1 : 0,
                s = 0,
                l = 0;
            if (n === (i ? "border" : "content")) return 0;
            for (; a < 4; a += 2) "margin" === n && (l += D.css(e, n + ie[a], !0, r)), i ? ("content" === n && (l -= D.css(e, "padding" + ie[a], !0, r)), "margin" !== n && (l -= D.css(e, "border" + ie[a] + "Width", !0, r))) : (l += D.css(e, "padding" + ie[a], !0, r), "padding" !== n ? l += D.css(e, "border" + ie[a] + "Width", !0, r) : s += D.css(e, "border" + ie[a] + "Width", !0, r));
            return !i && 0 <= o && (l += Math.max(0, Math.ceil(e["offset" + t[0].toUpperCase() + t.slice(1)] - o - l - s - .5))), l
        }

        function $e(e, t, n) {
            var i = Re(e),
                r = qe(e, t, i),
                o = "border-box" === D.css(e, "boxSizing", !1, i),
                a = o;
            if (Me.test(r)) {
                if (!n) return r;
                r = "auto"
            }
            return a = a && (v.boxSizingReliable() || r === e.style[t]), ("auto" === r || !parseFloat(r) && "inline" === D.css(e, "display", !1, i)) && (r = e["offset" + t[0].toUpperCase() + t.slice(1)], a = !0), (r = parseFloat(r) || 0) + Ye(e, t, n || (o ? "border" : "content"), a, i, r) + "px"
        }

        function Je(e, t, n, i, r) {
            return new Je.prototype.init(e, t, n, i, r)
        }
        D.extend({
            cssHooks: {
                opacity: {
                    get: function(e, t) {
                        if (t) {
                            var n = qe(e, "opacity");
                            return "" === n ? "1" : n
                        }
                    }
                }
            },
            cssNumber: {
                animationIterationCount: !0,
                columnCount: !0,
                fillOpacity: !0,
                flexGrow: !0,
                flexShrink: !0,
                fontWeight: !0,
                lineHeight: !0,
                opacity: !0,
                order: !0,
                orphans: !0,
                widows: !0,
                zIndex: !0,
                zoom: !0
            },
            cssProps: {},
            style: function(e, t, n, i) {
                if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) {
                    var r, o, a, s = K(t),
                        l = Be.test(t),
                        u = e.style;
                    if (l || (t = ze(s)), a = D.cssHooks[t] || D.cssHooks[s], void 0 === n) return a && "get" in a && void 0 !== (r = a.get(e, !1, i)) ? r : u[t];
                    "string" === (o = typeof n) && (r = ne.exec(n)) && r[1] && (n = ae(e, t, r), o = "number"), null != n && n == n && ("number" === o && (n += r && r[3] || (D.cssNumber[s] ? "" : "px")), v.clearCloneStyle || "" !== n || 0 !== t.indexOf("background") || (u[t] = "inherit"), a && "set" in a && void 0 === (n = a.set(e, n, i)) || (l ? u.setProperty(t, n) : u[t] = n))
                }
            },
            css: function(e, t, n, i) {
                var r, o, a, s = K(t);
                return Be.test(t) || (t = ze(s)), (a = D.cssHooks[t] || D.cssHooks[s]) && "get" in a && (r = a.get(e, !0, n)), void 0 === r && (r = qe(e, t, i)), "normal" === r && t in Ge && (r = Ge[t]), "" === n || n ? (o = parseFloat(r), !0 === n || isFinite(o) ? o || 0 : r) : r
            }
        }), D.each(["height", "width"], function(e, s) {
            D.cssHooks[s] = {
                get: function(e, t, n) {
                    if (t) return !Ve.test(D.css(e, "display")) || e.getClientRects().length && e.getBoundingClientRect().width ? $e(e, s, n) : oe(e, Ue, function() {
                        return $e(e, s, n)
                    })
                },
                set: function(e, t, n) {
                    var i, r = Re(e),
                        o = "border-box" === D.css(e, "boxSizing", !1, r),
                        a = n && Ye(e, s, n, o, r);
                    return o && v.scrollboxSize() === r.position && (a -= Math.ceil(e["offset" + s[0].toUpperCase() + s.slice(1)] - parseFloat(r[s]) - Ye(e, s, "border", !1, r) - .5)), a && (i = ne.exec(t)) && "px" !== (i[3] || "px") && (e.style[s] = t, t = D.css(e, s)), Qe(0, t, a)
                }
            }
        }), D.cssHooks.marginLeft = We(v.reliableMarginLeft, function(e, t) {
            if (t) return (parseFloat(qe(e, "marginLeft")) || e.getBoundingClientRect().left - oe(e, {
                marginLeft: 0
            }, function() {
                return e.getBoundingClientRect().left
            })) + "px"
        }), D.each({
            margin: "",
            padding: "",
            border: "Width"
        }, function(r, o) {
            D.cssHooks[r + o] = {
                expand: function(e) {
                    for (var t = 0, n = {}, i = "string" == typeof e ? e.split(" ") : [e]; t < 4; t++) n[r + ie[t] + o] = i[t] || i[t - 2] || i[0];
                    return n
                }
            }, "margin" !== r && (D.cssHooks[r + o].set = Qe)
        }), D.fn.extend({
            css: function(e, t) {
                return B(this, function(e, t, n) {
                    var i, r, o = {},
                        a = 0;
                    if (Array.isArray(t)) {
                        for (i = Re(e), r = t.length; a < r; a++) o[t[a]] = D.css(e, t[a], !1, i);
                        return o
                    }
                    return void 0 !== n ? D.style(e, t, n) : D.css(e, t)
                }, e, t, 1 < arguments.length)
            }
        }), ((D.Tween = Je).prototype = {
            constructor: Je,
            init: function(e, t, n, i, r, o) {
                this.elem = e, this.prop = n, this.easing = r || D.easing._default, this.options = t, this.start = this.now = this.cur(), this.end = i, this.unit = o || (D.cssNumber[n] ? "" : "px")
            },
            cur: function() {
                var e = Je.propHooks[this.prop];
                return e && e.get ? e.get(this) : Je.propHooks._default.get(this)
            },
            run: function(e) {
                var t, n = Je.propHooks[this.prop];
                return this.options.duration ? this.pos = t = D.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration) : this.pos = t = e, this.now = (this.end - this.start) * t + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), n && n.set ? n.set(this) : Je.propHooks._default.set(this), this
            }
        }).init.prototype = Je.prototype, (Je.propHooks = {
            _default: {
                get: function(e) {
                    var t;
                    return 1 !== e.elem.nodeType || null != e.elem[e.prop] && null == e.elem.style[e.prop] ? e.elem[e.prop] : (t = D.css(e.elem, e.prop, "")) && "auto" !== t ? t : 0
                },
                set: function(e) {
                    D.fx.step[e.prop] ? D.fx.step[e.prop](e) : 1 !== e.elem.nodeType || null == e.elem.style[D.cssProps[e.prop]] && !D.cssHooks[e.prop] ? e.elem[e.prop] = e.now : D.style(e.elem, e.prop, e.now + e.unit)
                }
            }
        }).scrollTop = Je.propHooks.scrollLeft = {
            set: function(e) {
                e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now)
            }
        }, D.easing = {
            linear: function(e) {
                return e
            },
            swing: function(e) {
                return .5 - Math.cos(e * Math.PI) / 2
            },
            _default: "swing"
        }, D.fx = Je.prototype.init, D.fx.step = {};
        var Ze, et, tt = /^(?:toggle|show|hide)$/,
            nt = /queueHooks$/;

        function it() {
            et && (!1 === C.hidden && w.requestAnimationFrame ? w.requestAnimationFrame(it) : w.setTimeout(it, D.fx.interval), D.fx.tick())
        }

        function rt() {
            return w.setTimeout(function() {
                Ze = void 0
            }), Ze = Date.now()
        }

        function ot(e, t) {
            var n, i = 0,
                r = {
                    height: e
                };
            for (t = t ? 1 : 0; i < 4; i += 2 - t) r["margin" + (n = ie[i])] = r["padding" + n] = e;
            return t && (r.opacity = r.width = e), r
        }

        function at(e, t, n) {
            for (var i, r = (st.tweeners[t] || []).concat(st.tweeners["*"]), o = 0, a = r.length; o < a; o++)
                if (i = r[o].call(n, t, e)) return i
        }

        function st(o, e, t) {
            var n, a, i = 0,
                r = st.prefilters.length,
                s = D.Deferred().always(function() {
                    delete l.elem
                }),
                l = function() {
                    if (a) return !1;
                    for (var e = Ze || rt(), t = Math.max(0, u.startTime + u.duration - e), n = 1 - (t / u.duration || 0), i = 0, r = u.tweens.length; i < r; i++) u.tweens[i].run(n);
                    return s.notifyWith(o, [u, n, t]), n < 1 && r ? t : (r || s.notifyWith(o, [u, 1, 0]), s.resolveWith(o, [u]), !1)
                },
                u = s.promise({
                    elem: o,
                    props: D.extend({}, e),
                    opts: D.extend(!0, {
                        specialEasing: {},
                        easing: D.easing._default
                    }, t),
                    originalProperties: e,
                    originalOptions: t,
                    startTime: Ze || rt(),
                    duration: t.duration,
                    tweens: [],
                    createTween: function(e, t) {
                        var n = D.Tween(o, u.opts, e, t, u.opts.specialEasing[e] || u.opts.easing);
                        return u.tweens.push(n), n
                    },
                    stop: function(e) {
                        var t = 0,
                            n = e ? u.tweens.length : 0;
                        if (a) return this;
                        for (a = !0; t < n; t++) u.tweens[t].run(1);
                        return e ? (s.notifyWith(o, [u, 1, 0]), s.resolveWith(o, [u, e])) : s.rejectWith(o, [u, e]), this
                    }
                }),
                c = u.props;
            for (! function(e, t) {
                    var n, i, r, o, a;
                    for (n in e)
                        if (r = t[i = K(n)], o = e[n], Array.isArray(o) && (r = o[1], o = e[n] = o[0]), n !== i && (e[i] = o, delete e[n]), (a = D.cssHooks[i]) && "expand" in a)
                            for (n in o = a.expand(o), delete e[i], o) n in e || (e[n] = o[n], t[n] = r);
                        else t[i] = r
                }(c, u.opts.specialEasing); i < r; i++)
                if (n = st.prefilters[i].call(u, o, c, u.opts)) return y(n.stop) && (D._queueHooks(u.elem, u.opts.queue).stop = n.stop.bind(n)), n;
            return D.map(c, at, u), y(u.opts.start) && u.opts.start.call(o, u), u.progress(u.opts.progress).done(u.opts.done, u.opts.complete).fail(u.opts.fail).always(u.opts.always), D.fx.timer(D.extend(l, {
                elem: o,
                anim: u,
                queue: u.opts.queue
            })), u
        }
        D.Animation = D.extend(st, {
                tweeners: {
                    "*": [function(e, t) {
                        var n = this.createTween(e, t);
                        return ae(n.elem, e, ne.exec(t), n), n
                    }]
                },
                tweener: function(e, t) {
                    for (var n, i = 0, r = (e = y(e) ? (t = e, ["*"]) : e.match(H)).length; i < r; i++) n = e[i], st.tweeners[n] = st.tweeners[n] || [], st.tweeners[n].unshift(t)
                },
                prefilters: [function(e, t, n) {
                    var i, r, o, a, s, l, u, c, f = "width" in t || "height" in t,
                        d = this,
                        h = {},
                        p = e.style,
                        g = e.nodeType && re(e),
                        m = Y.get(e, "fxshow");
                    for (i in n.queue || (null == (a = D._queueHooks(e, "fx")).unqueued && (a.unqueued = 0, s = a.empty.fire, a.empty.fire = function() {
                            a.unqueued || s()
                        }), a.unqueued++, d.always(function() {
                            d.always(function() {
                                a.unqueued--, D.queue(e, "fx").length || a.empty.fire()
                            })
                        })), t)
                        if (r = t[i], tt.test(r)) {
                            if (delete t[i], o = o || "toggle" === r, r === (g ? "hide" : "show")) {
                                if ("show" !== r || !m || void 0 === m[i]) continue;
                                g = !0
                            }
                            h[i] = m && m[i] || D.style(e, i)
                        }
                    if ((l = !D.isEmptyObject(t)) || !D.isEmptyObject(h))
                        for (i in f && 1 === e.nodeType && (n.overflow = [p.overflow, p.overflowX, p.overflowY], null == (u = m && m.display) && (u = Y.get(e, "display")), "none" === (c = D.css(e, "display")) && (u ? c = u : (ue([e], !0), u = e.style.display || u, c = D.css(e, "display"), ue([e]))), ("inline" === c || "inline-block" === c && null != u) && "none" === D.css(e, "float") && (l || (d.done(function() {
                                p.display = u
                            }), null == u && (c = p.display, u = "none" === c ? "" : c)), p.display = "inline-block")), n.overflow && (p.overflow = "hidden", d.always(function() {
                                p.overflow = n.overflow[0], p.overflowX = n.overflow[1], p.overflowY = n.overflow[2]
                            })), l = !1, h) l || (m ? "hidden" in m && (g = m.hidden) : m = Y.access(e, "fxshow", {
                            display: u
                        }), o && (m.hidden = !g), g && ue([e], !0), d.done(function() {
                            for (i in g || ue([e]), Y.remove(e, "fxshow"), h) D.style(e, i, h[i])
                        })), l = at(g ? m[i] : 0, i, d), i in m || (m[i] = l.start, g && (l.end = l.start, l.start = 0))
                }],
                prefilter: function(e, t) {
                    t ? st.prefilters.unshift(e) : st.prefilters.push(e)
                }
            }), D.speed = function(e, t, n) {
                var i = e && "object" == typeof e ? D.extend({}, e) : {
                    complete: n || !n && t || y(e) && e,
                    duration: e,
                    easing: n && t || t && !y(t) && t
                };
                return D.fx.off ? i.duration = 0 : "number" != typeof i.duration && (i.duration in D.fx.speeds ? i.duration = D.fx.speeds[i.duration] : i.duration = D.fx.speeds._default), null != i.queue && !0 !== i.queue || (i.queue = "fx"), i.old = i.complete, i.complete = function() {
                    y(i.old) && i.old.call(this), i.queue && D.dequeue(this, i.queue)
                }, i
            }, D.fn.extend({
                fadeTo: function(e, t, n, i) {
                    return this.filter(re).css("opacity", 0).show().end().animate({
                        opacity: t
                    }, e, n, i)
                },
                animate: function(t, e, n, i) {
                    var r = D.isEmptyObject(t),
                        o = D.speed(e, n, i),
                        a = function() {
                            var e = st(this, D.extend({}, t), o);
                            (r || Y.get(this, "finish")) && e.stop(!0)
                        };
                    return a.finish = a, r || !1 === o.queue ? this.each(a) : this.queue(o.queue, a)
                },
                stop: function(r, e, o) {
                    var a = function(e) {
                        var t = e.stop;
                        delete e.stop, t(o)
                    };
                    return "string" != typeof r && (o = e, e = r, r = void 0), e && !1 !== r && this.queue(r || "fx", []), this.each(function() {
                        var e = !0,
                            t = null != r && r + "queueHooks",
                            n = D.timers,
                            i = Y.get(this);
                        if (t) i[t] && i[t].stop && a(i[t]);
                        else
                            for (t in i) i[t] && i[t].stop && nt.test(t) && a(i[t]);
                        for (t = n.length; t--;) n[t].elem !== this || null != r && n[t].queue !== r || (n[t].anim.stop(o), e = !1, n.splice(t, 1));
                        !e && o || D.dequeue(this, r)
                    })
                },
                finish: function(a) {
                    return !1 !== a && (a = a || "fx"), this.each(function() {
                        var e, t = Y.get(this),
                            n = t[a + "queue"],
                            i = t[a + "queueHooks"],
                            r = D.timers,
                            o = n ? n.length : 0;
                        for (t.finish = !0, D.queue(this, a, []), i && i.stop && i.stop.call(this, !0), e = r.length; e--;) r[e].elem === this && r[e].queue === a && (r[e].anim.stop(!0), r.splice(e, 1));
                        for (e = 0; e < o; e++) n[e] && n[e].finish && n[e].finish.call(this);
                        delete t.finish
                    })
                }
            }), D.each(["toggle", "show", "hide"], function(e, i) {
                var r = D.fn[i];
                D.fn[i] = function(e, t, n) {
                    return null == e || "boolean" == typeof e ? r.apply(this, arguments) : this.animate(ot(i, !0), e, t, n)
                }
            }), D.each({
                slideDown: ot("show"),
                slideUp: ot("hide"),
                slideToggle: ot("toggle"),
                fadeIn: {
                    opacity: "show"
                },
                fadeOut: {
                    opacity: "hide"
                },
                fadeToggle: {
                    opacity: "toggle"
                }
            }, function(e, i) {
                D.fn[e] = function(e, t, n) {
                    return this.animate(i, e, t, n)
                }
            }), D.timers = [], D.fx.tick = function() {
                var e, t = 0,
                    n = D.timers;
                for (Ze = Date.now(); t < n.length; t++)(e = n[t])() || n[t] !== e || n.splice(t--, 1);
                n.length || D.fx.stop(), Ze = void 0
            }, D.fx.timer = function(e) {
                D.timers.push(e), D.fx.start()
            }, D.fx.interval = 13, D.fx.start = function() {
                et || (et = !0, it())
            }, D.fx.stop = function() {
                et = null
            }, D.fx.speeds = {
                slow: 600,
                fast: 200,
                _default: 400
            }, D.fn.delay = function(i, e) {
                return i = D.fx && D.fx.speeds[i] || i, e = e || "fx", this.queue(e, function(e, t) {
                    var n = w.setTimeout(e, i);
                    t.stop = function() {
                        w.clearTimeout(n)
                    }
                })
            },
            function() {
                var e = C.createElement("input"),
                    t = C.createElement("select").appendChild(C.createElement("option"));
                e.type = "checkbox", v.checkOn = "" !== e.value, v.optSelected = t.selected, (e = C.createElement("input")).value = "t", e.type = "radio", v.radioValue = "t" === e.value
            }();
        var lt, ut = D.expr.attrHandle;
        D.fn.extend({
            attr: function(e, t) {
                return B(this, D.attr, e, t, 1 < arguments.length)
            },
            removeAttr: function(e) {
                return this.each(function() {
                    D.removeAttr(this, e)
                })
            }
        }), D.extend({
            attr: function(e, t, n) {
                var i, r, o = e.nodeType;
                if (3 !== o && 8 !== o && 2 !== o) return void 0 === e.getAttribute ? D.prop(e, t, n) : (1 === o && D.isXMLDoc(e) || (r = D.attrHooks[t.toLowerCase()] || (D.expr.match.bool.test(t) ? lt : void 0)), void 0 !== n ? null === n ? void D.removeAttr(e, t) : r && "set" in r && void 0 !== (i = r.set(e, n, t)) ? i : (e.setAttribute(t, n + ""), n) : r && "get" in r && null !== (i = r.get(e, t)) ? i : null == (i = D.find.attr(e, t)) ? void 0 : i)
            },
            attrHooks: {
                type: {
                    set: function(e, t) {
                        if (!v.radioValue && "radio" === t && A(e, "input")) {
                            var n = e.value;
                            return e.setAttribute("type", t), n && (e.value = n), t
                        }
                    }
                }
            },
            removeAttr: function(e, t) {
                var n, i = 0,
                    r = t && t.match(H);
                if (r && 1 === e.nodeType)
                    for (; n = r[i++];) e.removeAttribute(n)
            }
        }), lt = {
            set: function(e, t, n) {
                return !1 === t ? D.removeAttr(e, n) : e.setAttribute(n, n), n
            }
        }, D.each(D.expr.match.bool.source.match(/\w+/g), function(e, t) {
            var a = ut[t] || D.find.attr;
            ut[t] = function(e, t, n) {
                var i, r, o = t.toLowerCase();
                return n || (r = ut[o], ut[o] = i, i = null != a(e, t, n) ? o : null, ut[o] = r), i
            }
        });
        var ct = /^(?:input|select|textarea|button)$/i,
            ft = /^(?:a|area)$/i;

        function dt(e) {
            return (e.match(H) || []).join(" ")
        }

        function ht(e) {
            return e.getAttribute && e.getAttribute("class") || ""
        }

        function pt(e) {
            return Array.isArray(e) ? e : "string" == typeof e && e.match(H) || []
        }
        D.fn.extend({
            prop: function(e, t) {
                return B(this, D.prop, e, t, 1 < arguments.length)
            },
            removeProp: function(e) {
                return this.each(function() {
                    delete this[D.propFix[e] || e]
                })
            }
        }), D.extend({
            prop: function(e, t, n) {
                var i, r, o = e.nodeType;
                if (3 !== o && 8 !== o && 2 !== o) return 1 === o && D.isXMLDoc(e) || (t = D.propFix[t] || t, r = D.propHooks[t]), void 0 !== n ? r && "set" in r && void 0 !== (i = r.set(e, n, t)) ? i : e[t] = n : r && "get" in r && null !== (i = r.get(e, t)) ? i : e[t]
            },
            propHooks: {
                tabIndex: {
                    get: function(e) {
                        var t = D.find.attr(e, "tabindex");
                        return t ? parseInt(t, 10) : ct.test(e.nodeName) || ft.test(e.nodeName) && e.href ? 0 : -1
                    }
                }
            },
            propFix: {
                for: "htmlFor",
                class: "className"
            }
        }), v.optSelected || (D.propHooks.selected = {
            get: function(e) {
                var t = e.parentNode;
                return t && t.parentNode && t.parentNode.selectedIndex, null
            },
            set: function(e) {
                var t = e.parentNode;
                t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex)
            }
        }), D.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function() {
            D.propFix[this.toLowerCase()] = this
        }), D.fn.extend({
            addClass: function(t) {
                var e, n, i, r, o, a, s, l = 0;
                if (y(t)) return this.each(function(e) {
                    D(this).addClass(t.call(this, e, ht(this)))
                });
                if ((e = pt(t)).length)
                    for (; n = this[l++];)
                        if (r = ht(n), i = 1 === n.nodeType && " " + dt(r) + " ") {
                            for (a = 0; o = e[a++];) i.indexOf(" " + o + " ") < 0 && (i += o + " ");
                            r !== (s = dt(i)) && n.setAttribute("class", s)
                        }
                return this
            },
            removeClass: function(t) {
                var e, n, i, r, o, a, s, l = 0;
                if (y(t)) return this.each(function(e) {
                    D(this).removeClass(t.call(this, e, ht(this)))
                });
                if (!arguments.length) return this.attr("class", "");
                if ((e = pt(t)).length)
                    for (; n = this[l++];)
                        if (r = ht(n), i = 1 === n.nodeType && " " + dt(r) + " ") {
                            for (a = 0; o = e[a++];)
                                for (; - 1 < i.indexOf(" " + o + " ");) i = i.replace(" " + o + " ", " ");
                            r !== (s = dt(i)) && n.setAttribute("class", s)
                        }
                return this
            },
            toggleClass: function(r, t) {
                var o = typeof r,
                    a = "string" === o || Array.isArray(r);
                return "boolean" == typeof t && a ? t ? this.addClass(r) : this.removeClass(r) : y(r) ? this.each(function(e) {
                    D(this).toggleClass(r.call(this, e, ht(this), t), t)
                }) : this.each(function() {
                    var e, t, n, i;
                    if (a)
                        for (t = 0, n = D(this), i = pt(r); e = i[t++];) n.hasClass(e) ? n.removeClass(e) : n.addClass(e);
                    else void 0 !== r && "boolean" !== o || ((e = ht(this)) && Y.set(this, "__className__", e), this.setAttribute && this.setAttribute("class", e || !1 === r ? "" : Y.get(this, "__className__") || ""))
                })
            },
            hasClass: function(e) {
                var t, n, i = 0;
                for (t = " " + e + " "; n = this[i++];)
                    if (1 === n.nodeType && -1 < (" " + dt(ht(n)) + " ").indexOf(t)) return !0;
                return !1
            }
        });
        var gt = /\r/g;
        D.fn.extend({
            val: function(n) {
                var i, e, r, t = this[0];
                return arguments.length ? (r = y(n), this.each(function(e) {
                    var t;
                    1 === this.nodeType && (null == (t = r ? n.call(this, e, D(this).val()) : n) ? t = "" : "number" == typeof t ? t += "" : Array.isArray(t) && (t = D.map(t, function(e) {
                        return null == e ? "" : e + ""
                    })), (i = D.valHooks[this.type] || D.valHooks[this.nodeName.toLowerCase()]) && "set" in i && void 0 !== i.set(this, t, "value") || (this.value = t))
                })) : t ? (i = D.valHooks[t.type] || D.valHooks[t.nodeName.toLowerCase()]) && "get" in i && void 0 !== (e = i.get(t, "value")) ? e : "string" == typeof(e = t.value) ? e.replace(gt, "") : null == e ? "" : e : void 0
            }
        }), D.extend({
            valHooks: {
                option: {
                    get: function(e) {
                        var t = D.find.attr(e, "value");
                        return null != t ? t : dt(D.text(e))
                    }
                },
                select: {
                    get: function(e) {
                        var t, n, i, r = e.options,
                            o = e.selectedIndex,
                            a = "select-one" === e.type,
                            s = a ? null : [],
                            l = a ? o + 1 : r.length;
                        for (i = o < 0 ? l : a ? o : 0; i < l; i++)
                            if (((n = r[i]).selected || i === o) && !n.disabled && (!n.parentNode.disabled || !A(n.parentNode, "optgroup"))) {
                                if (t = D(n).val(), a) return t;
                                s.push(t)
                            }
                        return s
                    },
                    set: function(e, t) {
                        for (var n, i, r = e.options, o = D.makeArray(t), a = r.length; a--;)((i = r[a]).selected = -1 < D.inArray(D.valHooks.option.get(i), o)) && (n = !0);
                        return n || (e.selectedIndex = -1), o
                    }
                }
            }
        }), D.each(["radio", "checkbox"], function() {
            D.valHooks[this] = {
                set: function(e, t) {
                    if (Array.isArray(t)) return e.checked = -1 < D.inArray(D(e).val(), t)
                }
            }, v.checkOn || (D.valHooks[this].get = function(e) {
                return null === e.getAttribute("value") ? "on" : e.value
            })
        }), v.focusin = "onfocusin" in w;
        var mt = /^(?:focusinfocus|focusoutblur)$/,
            vt = function(e) {
                e.stopPropagation()
            };
        D.extend(D.event, {
            trigger: function(e, t, n, i) {
                var r, o, a, s, l, u, c, f, d = [n || C],
                    h = m.call(e, "type") ? e.type : e,
                    p = m.call(e, "namespace") ? e.namespace.split(".") : [];
                if (o = f = a = n = n || C, 3 !== n.nodeType && 8 !== n.nodeType && !mt.test(h + D.event.triggered) && (-1 < h.indexOf(".") && (h = (p = h.split(".")).shift(), p.sort()), l = h.indexOf(":") < 0 && "on" + h, (e = e[D.expando] ? e : new D.Event(h, "object" == typeof e && e)).isTrigger = i ? 2 : 3, e.namespace = p.join("."), e.rnamespace = e.namespace ? new RegExp("(^|\\.)" + p.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, e.result = void 0, e.target || (e.target = n), t = null == t ? [e] : D.makeArray(t, [e]), c = D.event.special[h] || {}, i || !c.trigger || !1 !== c.trigger.apply(n, t))) {
                    if (!i && !c.noBubble && !b(n)) {
                        for (s = c.delegateType || h, mt.test(s + h) || (o = o.parentNode); o; o = o.parentNode) d.push(o), a = o;
                        a === (n.ownerDocument || C) && d.push(a.defaultView || a.parentWindow || w)
                    }
                    for (r = 0;
                        (o = d[r++]) && !e.isPropagationStopped();) f = o, e.type = 1 < r ? s : c.bindType || h, (u = (Y.get(o, "events") || {})[e.type] && Y.get(o, "handle")) && u.apply(o, t), (u = l && o[l]) && u.apply && z(o) && (e.result = u.apply(o, t), !1 === e.result && e.preventDefault());
                    return e.type = h, i || e.isDefaultPrevented() || c._default && !1 !== c._default.apply(d.pop(), t) || !z(n) || l && y(n[h]) && !b(n) && ((a = n[l]) && (n[l] = null), D.event.triggered = h, e.isPropagationStopped() && f.addEventListener(h, vt), n[h](), e.isPropagationStopped() && f.removeEventListener(h, vt), D.event.triggered = void 0, a && (n[l] = a)), e.result
                }
            },
            simulate: function(e, t, n) {
                var i = D.extend(new D.Event, n, {
                    type: e,
                    isSimulated: !0
                });
                D.event.trigger(i, null, t)
            }
        }), D.fn.extend({
            trigger: function(e, t) {
                return this.each(function() {
                    D.event.trigger(e, t, this)
                })
            },
            triggerHandler: function(e, t) {
                var n = this[0];
                if (n) return D.event.trigger(e, t, n, !0)
            }
        }), v.focusin || D.each({
            focus: "focusin",
            blur: "focusout"
        }, function(n, i) {
            var r = function(e) {
                D.event.simulate(i, e.target, D.event.fix(e))
            };
            D.event.special[i] = {
                setup: function() {
                    var e = this.ownerDocument || this,
                        t = Y.access(e, i);
                    t || e.addEventListener(n, r, !0), Y.access(e, i, (t || 0) + 1)
                },
                teardown: function() {
                    var e = this.ownerDocument || this,
                        t = Y.access(e, i) - 1;
                    t ? Y.access(e, i, t) : (e.removeEventListener(n, r, !0), Y.remove(e, i))
                }
            }
        });
        var yt = w.location,
            bt = Date.now(),
            _t = /\?/;
        D.parseXML = function(e) {
            var t;
            if (!e || "string" != typeof e) return null;
            try {
                t = (new w.DOMParser).parseFromString(e, "text/xml")
            } catch (e) {
                t = void 0
            }
            return t && !t.getElementsByTagName("parsererror").length || D.error("Invalid XML: " + e), t
        };
        var Et = /\[\]$/,
            Tt = /\r?\n/g,
            wt = /^(?:submit|button|image|reset|file)$/i,
            Ct = /^(?:input|select|textarea|keygen)/i;

        function Dt(n, e, i, r) {
            var t;
            if (Array.isArray(e)) D.each(e, function(e, t) {
                i || Et.test(n) ? r(n, t) : Dt(n + "[" + ("object" == typeof t && null != t ? e : "") + "]", t, i, r)
            });
            else if (i || "object" !== E(e)) r(n, e);
            else
                for (t in e) Dt(n + "[" + t + "]", e[t], i, r)
        }
        D.param = function(e, t) {
            var n, i = [],
                r = function(e, t) {
                    var n = y(t) ? t() : t;
                    i[i.length] = encodeURIComponent(e) + "=" + encodeURIComponent(null == n ? "" : n)
                };
            if (Array.isArray(e) || e.jquery && !D.isPlainObject(e)) D.each(e, function() {
                r(this.name, this.value)
            });
            else
                for (n in e) Dt(n, e[n], t, r);
            return i.join("&")
        }, D.fn.extend({
            serialize: function() {
                return D.param(this.serializeArray())
            },
            serializeArray: function() {
                return this.map(function() {
                    var e = D.prop(this, "elements");
                    return e ? D.makeArray(e) : this
                }).filter(function() {
                    var e = this.type;
                    return this.name && !D(this).is(":disabled") && Ct.test(this.nodeName) && !wt.test(e) && (this.checked || !ce.test(e))
                }).map(function(e, t) {
                    var n = D(this).val();
                    return null == n ? null : Array.isArray(n) ? D.map(n, function(e) {
                        return {
                            name: t.name,
                            value: e.replace(Tt, "\r\n")
                        }
                    }) : {
                        name: t.name,
                        value: n.replace(Tt, "\r\n")
                    }
                }).get()
            }
        });
        var xt = /%20/g,
            St = /#.*$/,
            At = /([?&])_=[^&]*/,
            Ot = /^(.*?):[ \t]*([^\r\n]*)$/gm,
            It = /^(?:GET|HEAD)$/,
            Nt = /^\/\//,
            kt = {},
            Lt = {},
            Pt = "*/".concat("*"),
            jt = C.createElement("a");

        function Ht(o) {
            return function(e, t) {
                "string" != typeof e && (t = e, e = "*");
                var n, i = 0,
                    r = e.toLowerCase().match(H) || [];
                if (y(t))
                    for (; n = r[i++];) "+" === n[0] ? (n = n.slice(1) || "*", (o[n] = o[n] || []).unshift(t)) : (o[n] = o[n] || []).push(t)
            }
        }

        function Mt(t, r, o, a) {
            var s = {},
                l = t === Lt;

            function u(e) {
                var i;
                return s[e] = !0, D.each(t[e] || [], function(e, t) {
                    var n = t(r, o, a);
                    return "string" != typeof n || l || s[n] ? l ? !(i = n) : void 0 : (r.dataTypes.unshift(n), u(n), !1)
                }), i
            }
            return u(r.dataTypes[0]) || !s["*"] && u("*")
        }

        function Rt(e, t) {
            var n, i, r = D.ajaxSettings.flatOptions || {};
            for (n in t) void 0 !== t[n] && ((r[n] ? e : i || (i = {}))[n] = t[n]);
            return i && D.extend(!0, e, i), e
        }
        jt.href = yt.href, D.extend({
            active: 0,
            lastModified: {},
            etag: {},
            ajaxSettings: {
                url: yt.href,
                type: "GET",
                isLocal: /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(yt.protocol),
                global: !0,
                processData: !0,
                async: !0,
                contentType: "application/x-www-form-urlencoded; charset=UTF-8",
                accepts: {
                    "*": Pt,
                    text: "text/plain",
                    html: "text/html",
                    xml: "application/xml, text/xml",
                    json: "application/json, text/javascript"
                },
                contents: {
                    xml: /\bxml\b/,
                    html: /\bhtml/,
                    json: /\bjson\b/
                },
                responseFields: {
                    xml: "responseXML",
                    text: "responseText",
                    json: "responseJSON"
                },
                converters: {
                    "* text": String,
                    "text html": !0,
                    "text json": JSON.parse,
                    "text xml": D.parseXML
                },
                flatOptions: {
                    url: !0,
                    context: !0
                }
            },
            ajaxSetup: function(e, t) {
                return t ? Rt(Rt(e, D.ajaxSettings), t) : Rt(D.ajaxSettings, e)
            },
            ajaxPrefilter: Ht(kt),
            ajaxTransport: Ht(Lt),
            ajax: function(e, t) {
                "object" == typeof e && (t = e, e = void 0), t = t || {};
                var c, f, d, n, h, i, p, g, r, o, m = D.ajaxSetup({}, t),
                    v = m.context || m,
                    y = m.context && (v.nodeType || v.jquery) ? D(v) : D.event,
                    b = D.Deferred(),
                    _ = D.Callbacks("once memory"),
                    E = m.statusCode || {},
                    a = {},
                    s = {},
                    l = "canceled",
                    T = {
                        readyState: 0,
                        getResponseHeader: function(e) {
                            var t;
                            if (p) {
                                if (!n)
                                    for (n = {}; t = Ot.exec(d);) n[t[1].toLowerCase()] = t[2];
                                t = n[e.toLowerCase()]
                            }
                            return null == t ? null : t
                        },
                        getAllResponseHeaders: function() {
                            return p ? d : null
                        },
                        setRequestHeader: function(e, t) {
                            return null == p && (e = s[e.toLowerCase()] = s[e.toLowerCase()] || e, a[e] = t), this
                        },
                        overrideMimeType: function(e) {
                            return null == p && (m.mimeType = e), this
                        },
                        statusCode: function(e) {
                            var t;
                            if (e)
                                if (p) T.always(e[T.status]);
                                else
                                    for (t in e) E[t] = [E[t], e[t]];
                            return this
                        },
                        abort: function(e) {
                            var t = e || l;
                            return c && c.abort(t), u(0, t), this
                        }
                    };
                if (b.promise(T), m.url = ((e || m.url || yt.href) + "").replace(Nt, yt.protocol + "//"), m.type = t.method || t.type || m.method || m.type, m.dataTypes = (m.dataType || "*").toLowerCase().match(H) || [""], null == m.crossDomain) {
                    i = C.createElement("a");
                    try {
                        i.href = m.url, i.href = i.href, m.crossDomain = jt.protocol + "//" + jt.host != i.protocol + "//" + i.host
                    } catch (e) {
                        m.crossDomain = !0
                    }
                }
                if (m.data && m.processData && "string" != typeof m.data && (m.data = D.param(m.data, m.traditional)), Mt(kt, m, t, T), p) return T;
                for (r in (g = D.event && m.global) && 0 == D.active++ && D.event.trigger("ajaxStart"), m.type = m.type.toUpperCase(), m.hasContent = !It.test(m.type), f = m.url.replace(St, ""), m.hasContent ? m.data && m.processData && 0 === (m.contentType || "").indexOf("application/x-www-form-urlencoded") && (m.data = m.data.replace(xt, "+")) : (o = m.url.slice(f.length), m.data && (m.processData || "string" == typeof m.data) && (f += (_t.test(f) ? "&" : "?") + m.data, delete m.data), !1 === m.cache && (f = f.replace(At, "$1"), o = (_t.test(f) ? "&" : "?") + "_=" + bt++ + o), m.url = f + o), m.ifModified && (D.lastModified[f] && T.setRequestHeader("If-Modified-Since", D.lastModified[f]), D.etag[f] && T.setRequestHeader("If-None-Match", D.etag[f])), (m.data && m.hasContent && !1 !== m.contentType || t.contentType) && T.setRequestHeader("Content-Type", m.contentType), T.setRequestHeader("Accept", m.dataTypes[0] && m.accepts[m.dataTypes[0]] ? m.accepts[m.dataTypes[0]] + ("*" !== m.dataTypes[0] ? ", " + Pt + "; q=0.01" : "") : m.accepts["*"]), m.headers) T.setRequestHeader(r, m.headers[r]);
                if (m.beforeSend && (!1 === m.beforeSend.call(v, T, m) || p)) return T.abort();
                if (l = "abort", _.add(m.complete), T.done(m.success), T.fail(m.error), c = Mt(Lt, m, t, T)) {
                    if (T.readyState = 1, g && y.trigger("ajaxSend", [T, m]), p) return T;
                    m.async && 0 < m.timeout && (h = w.setTimeout(function() {
                        T.abort("timeout")
                    }, m.timeout));
                    try {
                        p = !1, c.send(a, u)
                    } catch (e) {
                        if (p) throw e;
                        u(-1, e)
                    }
                } else u(-1, "No Transport");

                function u(e, t, n, i) {
                    var r, o, a, s, l, u = t;
                    p || (p = !0, h && w.clearTimeout(h), c = void 0, d = i || "", T.readyState = 0 < e ? 4 : 0, r = 200 <= e && e < 300 || 304 === e, n && (s = function(e, t, n) {
                        for (var i, r, o, a, s = e.contents, l = e.dataTypes;
                            "*" === l[0];) l.shift(), void 0 === i && (i = e.mimeType || t.getResponseHeader("Content-Type"));
                        if (i)
                            for (r in s)
                                if (s[r] && s[r].test(i)) {
                                    l.unshift(r);
                                    break
                                }
                        if (l[0] in n) o = l[0];
                        else {
                            for (r in n) {
                                if (!l[0] || e.converters[r + " " + l[0]]) {
                                    o = r;
                                    break
                                }
                                a || (a = r)
                            }
                            o = o || a
                        }
                        if (o) return o !== l[0] && l.unshift(o), n[o]
                    }(m, T, n)), s = function(e, t, n, i) {
                        var r, o, a, s, l, u = {},
                            c = e.dataTypes.slice();
                        if (c[1])
                            for (a in e.converters) u[a.toLowerCase()] = e.converters[a];
                        for (o = c.shift(); o;)
                            if (e.responseFields[o] && (n[e.responseFields[o]] = t), !l && i && e.dataFilter && (t = e.dataFilter(t, e.dataType)), l = o, o = c.shift())
                                if ("*" === o) o = l;
                                else if ("*" !== l && l !== o) {
                            if (!(a = u[l + " " + o] || u["* " + o]))
                                for (r in u)
                                    if ((s = r.split(" "))[1] === o && (a = u[l + " " + s[0]] || u["* " + s[0]])) {
                                        !0 === a ? a = u[r] : !0 !== u[r] && (o = s[0], c.unshift(s[1]));
                                        break
                                    }
                            if (!0 !== a)
                                if (a && e.throws) t = a(t);
                                else try {
                                    t = a(t)
                                } catch (e) {
                                    return {
                                        state: "parsererror",
                                        error: a ? e : "No conversion from " + l + " to " + o
                                    }
                                }
                        }
                        return {
                            state: "success",
                            data: t
                        }
                    }(m, s, T, r), r ? (m.ifModified && ((l = T.getResponseHeader("Last-Modified")) && (D.lastModified[f] = l), (l = T.getResponseHeader("etag")) && (D.etag[f] = l)), 204 === e || "HEAD" === m.type ? u = "nocontent" : 304 === e ? u = "notmodified" : (u = s.state, o = s.data, r = !(a = s.error))) : (a = u, !e && u || (u = "error", e < 0 && (e = 0))), T.status = e, T.statusText = (t || u) + "", r ? b.resolveWith(v, [o, u, T]) : b.rejectWith(v, [T, u, a]), T.statusCode(E), E = void 0, g && y.trigger(r ? "ajaxSuccess" : "ajaxError", [T, m, r ? o : a]), _.fireWith(v, [T, u]), g && (y.trigger("ajaxComplete", [T, m]), --D.active || D.event.trigger("ajaxStop")))
                }
                return T
            },
            getJSON: function(e, t, n) {
                return D.get(e, t, n, "json")
            },
            getScript: function(e, t) {
                return D.get(e, void 0, t, "script")
            }
        }), D.each(["get", "post"], function(e, r) {
            D[r] = function(e, t, n, i) {
                return y(t) && (i = i || n, n = t, t = void 0), D.ajax(D.extend({
                    url: e,
                    type: r,
                    dataType: i,
                    data: t,
                    success: n
                }, D.isPlainObject(e) && e))
            }
        }), D._evalUrl = function(e) {
            return D.ajax({
                url: e,
                type: "GET",
                dataType: "script",
                cache: !0,
                async: !1,
                global: !1,
                throws: !0
            })
        }, D.fn.extend({
            wrapAll: function(e) {
                var t;
                return this[0] && (y(e) && (e = e.call(this[0])), t = D(e, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && t.insertBefore(this[0]), t.map(function() {
                    for (var e = this; e.firstElementChild;) e = e.firstElementChild;
                    return e
                }).append(this)), this
            },
            wrapInner: function(n) {
                return y(n) ? this.each(function(e) {
                    D(this).wrapInner(n.call(this, e))
                }) : this.each(function() {
                    var e = D(this),
                        t = e.contents();
                    t.length ? t.wrapAll(n) : e.append(n)
                })
            },
            wrap: function(t) {
                var n = y(t);
                return this.each(function(e) {
                    D(this).wrapAll(n ? t.call(this, e) : t)
                })
            },
            unwrap: function(e) {
                return this.parent(e).not("body").each(function() {
                    D(this).replaceWith(this.childNodes)
                }), this
            }
        }), D.expr.pseudos.hidden = function(e) {
            return !D.expr.pseudos.visible(e)
        }, D.expr.pseudos.visible = function(e) {
            return !!(e.offsetWidth || e.offsetHeight || e.getClientRects().length)
        }, D.ajaxSettings.xhr = function() {
            try {
                return new w.XMLHttpRequest
            } catch (e) {}
        };





        var Ft = {
                0: 200,
                1223: 204
            },
            qt = D.ajaxSettings.xhr();
        v.cors = !!qt && "withCredentials" in qt, v.ajax = qt = !!qt, D.ajaxTransport(function(r) {
            var o, a;
            if (v.cors || qt && !r.crossDomain) return {
                send: function(e, t) {
                    var n, i = r.xhr();
                    if (i.open(r.type, r.url, r.async, r.username, r.password), r.xhrFields)
                        for (n in r.xhrFields) i[n] = r.xhrFields[n];
                    for (n in r.mimeType && i.overrideMimeType && i.overrideMimeType(r.mimeType), r.crossDomain || e["X-Requested-With"] || (e["X-Requested-With"] = "XMLHttpRequest"), e) i.setRequestHeader(n, e[n]);
                    o = function(e) {
                        return function() {
                            o && (o = a = i.onload = i.onerror = i.onabort = i.ontimeout = i.onreadystatechange = null, "abort" === e ? i.abort() : "error" === e ? "number" != typeof i.status ? t(0, "error") : t(i.status, i.statusText) : t(Ft[i.status] || i.status, i.statusText, "text" !== (i.responseType || "text") || "string" != typeof i.responseText ? {
                                binary: i.response
                            } : {
                                text: i.responseText
                            }, i.getAllResponseHeaders()))
                        }
                    }, i.onload = o(), a = i.onerror = i.ontimeout = o("error"), void 0 !== i.onabort ? i.onabort = a : i.onreadystatechange = function() {
                        4 === i.readyState && w.setTimeout(function() {
                            o && a()
                        })
                    }, o = o("abort");
                    try {
                        i.send(r.hasContent && r.data || null)
                    } catch (e) {
                        if (o) throw e
                    }
                },
                abort: function() {
                    o && o()
                }
            }
        }), D.ajaxPrefilter(function(e) {
            e.crossDomain && (e.contents.script = !1)
        }), D.ajaxSetup({
            accepts: {
                script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
            },
            contents: {
                script: /\b(?:java|ecma)script\b/
            },
            converters: {
                "text script": function(e) {
                    return D.globalEval(e), e
                }
            }
        }), D.ajaxPrefilter("script", function(e) {
            void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type = "GET")
        }), D.ajaxTransport("script", function(n) {
            var i, r;
            if (n.crossDomain) return {
                send: function(e, t) {
                    i = D("<script>").prop({
                        charset: n.scriptCharset,
                        src: n.url
                    }).on("load error", r = function(e) {
                        i.remove(), r = null, e && t("error" === e.type ? 404 : 200, e.type)
                    }), C.head.appendChild(i[0])
                },
                abort: function() {
                    r && r()
                }
            }
        });




      
        var Wt = [],
            Vt = /(=)\?(?=&|$)|\?\?/;
        D.ajaxSetup({
            jsonp: "callback",
            jsonpCallback: function() {
                var e = Wt.pop() || D.expando + "_" + bt++;
                return this[e] = !0, e
            }
        }), D.ajaxPrefilter("json jsonp", function(e, t, n) {
            var i, r, o, a = !1 !== e.jsonp && (Vt.test(e.url) ? "url" : "string" == typeof e.data && 0 === (e.contentType || "").indexOf("application/x-www-form-urlencoded") && Vt.test(e.data) && "data");
            if (a || "jsonp" === e.dataTypes[0]) return i = e.jsonpCallback = y(e.jsonpCallback) ? e.jsonpCallback() : e.jsonpCallback, a ? e[a] = e[a].replace(Vt, "$1" + i) : !1 !== e.jsonp && (e.url += (_t.test(e.url) ? "&" : "?") + e.jsonp + "=" + i), e.converters["script json"] = function() {
                return o || D.error(i + " was not called"), o[0]
            }, e.dataTypes[0] = "json", r = w[i], w[i] = function() {
                o = arguments
            }, n.always(function() {
                void 0 === r ? D(w).removeProp(i) : w[i] = r, e[i] && (e.jsonpCallback = t.jsonpCallback, Wt.push(i)), o && y(r) && r(o[0]), o = r = void 0
            }), "script"
        }), v.createHTMLDocument = function() {
            var e = C.implementation.createHTMLDocument("").body;
            return e.innerHTML = "<form></form><form></form>", 2 === e.childNodes.length
        }(), D.parseHTML = function(e, t, n) {
            return "string" != typeof e ? [] : ("boolean" == typeof t && (n = t, t = !1), t || (v.createHTMLDocument ? ((i = (t = C.implementation.createHTMLDocument("")).createElement("base")).href = C.location.href, t.head.appendChild(i)) : t = C), o = !n && [], (r = O.exec(e)) ? [t.createElement(r[1])] : (r = ve([e], t, o), o && o.length && D(o).remove(), D.merge([], r.childNodes)));
            var i, r, o
        }, D.fn.load = function(e, t, n) {
            var i, r, o, a = this,
                s = e.indexOf(" ");
            return -1 < s && (i = dt(e.slice(s)), e = e.slice(0, s)), y(t) ? (n = t, t = void 0) : t && "object" == typeof t && (r = "POST"), 0 < a.length && D.ajax({
                url: e,
                type: r || "GET",
                dataType: "html",
                data: t
            }).done(function(e) {
                o = arguments, a.html(i ? D("<div>").append(D.parseHTML(e)).find(i) : e)
            }).always(n && function(e, t) {
                a.each(function() {
                    n.apply(this, o || [e.responseText, t, e])
                })
            }), this
        }, D.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function(e, t) {
            D.fn[t] = function(e) {
                return this.on(t, e)
            }
        }), D.expr.pseudos.animated = function(t) {
            return D.grep(D.timers, function(e) {
                return t === e.elem
            }).length
        }, D.offset = {
            setOffset: function(e, t, n) {
                var i, r, o, a, s, l, u = D.css(e, "position"),
                    c = D(e),
                    f = {};
                "static" === u && (e.style.position = "relative"), s = c.offset(), o = D.css(e, "top"), l = D.css(e, "left"), r = ("absolute" === u || "fixed" === u) && -1 < (o + l).indexOf("auto") ? (a = (i = c.position()).top, i.left) : (a = parseFloat(o) || 0, parseFloat(l) || 0), y(t) && (t = t.call(e, n, D.extend({}, s))), null != t.top && (f.top = t.top - s.top + a), null != t.left && (f.left = t.left - s.left + r), "using" in t ? t.using.call(e, f) : c.css(f)
            }
        }, D.fn.extend({
            offset: function(t) {
                if (arguments.length) return void 0 === t ? this : this.each(function(e) {
                    D.offset.setOffset(this, t, e)
                });
                var e, n, i = this[0];
                return i ? i.getClientRects().length ? (e = i.getBoundingClientRect(), n = i.ownerDocument.defaultView, {
                    top: e.top + n.pageYOffset,
                    left: e.left + n.pageXOffset
                }) : {
                    top: 0,
                    left: 0
                } : void 0
            },
            position: function() {
                if (this[0]) {
                    var e, t, n, i = this[0],
                        r = {
                            top: 0,
                            left: 0
                        };
                    if ("fixed" === D.css(i, "position")) t = i.getBoundingClientRect();
                    else {
                        for (t = this.offset(), n = i.ownerDocument, e = i.offsetParent || n.documentElement; e && (e === n.body || e === n.documentElement) && "static" === D.css(e, "position");) e = e.parentNode;
                        e && e !== i && 1 === e.nodeType && ((r = D(e).offset()).top += D.css(e, "borderTopWidth", !0), r.left += D.css(e, "borderLeftWidth", !0))
                    }
                    return {
                        top: t.top - r.top - D.css(i, "marginTop", !0),
                        left: t.left - r.left - D.css(i, "marginLeft", !0)
                    }
                }
            },
            offsetParent: function() {
                return this.map(function() {
                    for (var e = this.offsetParent; e && "static" === D.css(e, "position");) e = e.offsetParent;
                    return e || ye
                })
            }
        }), D.each({
            scrollLeft: "pageXOffset",
            scrollTop: "pageYOffset"
        }, function(t, r) {
            var o = "pageYOffset" === r;
            D.fn[t] = function(e) {
                return B(this, function(e, t, n) {
                    var i;
                    if (b(e) ? i = e : 9 === e.nodeType && (i = e.defaultView), void 0 === n) return i ? i[r] : e[t];
                    i ? i.scrollTo(o ? i.pageXOffset : n, o ? n : i.pageYOffset) : e[t] = n
                }, t, e, arguments.length)
            }
        }), D.each(["top", "left"], function(e, n) {
            D.cssHooks[n] = We(v.pixelPosition, function(e, t) {
                if (t) return t = qe(e, n), Me.test(t) ? D(e).position()[n] + "px" : t
            })
        }), D.each({
            Height: "height",
            Width: "width"
        }, function(a, s) {
            D.each({
                padding: "inner" + a,
                content: s,
                "": "outer" + a
            }, function(i, o) {
                D.fn[o] = function(e, t) {
                    var n = arguments.length && (i || "boolean" != typeof e),
                        r = i || (!0 === e || !0 === t ? "margin" : "border");
                    return B(this, function(e, t, n) {
                        var i;
                        return b(e) ? 0 === o.indexOf("outer") ? e["inner" + a] : e.document.documentElement["client" + a] : 9 === e.nodeType ? (i = e.documentElement, Math.max(e.body["scroll" + a], i["scroll" + a], e.body["offset" + a], i["offset" + a], i["client" + a])) : void 0 === n ? D.css(e, t, r) : D.style(e, t, n, r)
                    }, s, n ? e : void 0, n)
                }
            })
        }), D.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "), function(e, n) {
            D.fn[n] = function(e, t) {
                return 0 < arguments.length ? this.on(n, null, e, t) : this.trigger(n)
            }
        }), D.fn.extend({
            hover: function(e, t) {
                return this.mouseenter(e).mouseleave(t || e)
            }
        }), D.fn.extend({
            bind: function(e, t, n) {
                return this.on(e, null, t, n)
            },
            unbind: function(e, t) {
                return this.off(e, null, t)
            },
            delegate: function(e, t, n, i) {
                return this.on(t, e, n, i)
            },
            undelegate: function(e, t, n) {
                return 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", n)
            }
        }), D.proxy = function(e, t) {
            var n, i, r;
            if ("string" == typeof t && (n = e[t], t = e, e = n), y(e)) return i = s.call(arguments, 2), (r = function() {
                return e.apply(t || this, i.concat(s.call(arguments)))
            }).guid = e.guid = e.guid || D.guid++, r
        }, D.holdReady = function(e) {
            e ? D.readyWait++ : D.ready(!0)
        }, D.isArray = Array.isArray, D.parseJSON = JSON.parse, D.nodeName = A, D.isFunction = y, D.isWindow = b, D.camelCase = K, D.type = E, D.now = Date.now, D.isNumeric = function(e) {
            var t = D.type(e);
            return ("number" === t || "string" === t) && !isNaN(e - parseFloat(e))
        }, void 0 === (Kt = function() {
            return D
        }.apply(Xt, [])) || (Gt.exports = Kt);
        var Bt = w.jQuery,
            Ut = w.$;
        return D.noConflict = function(e) {
            return w.$ === D && (w.$ = Ut), e && w.jQuery === D && (w.jQuery = Bt), D
        }, e || (w.jQuery = w.$ = D), D
    })
}, function(n, i, r) {
    var o, a, H = Object.assign || function(e) {
            for (var t = 1; t < arguments.length; t++) {
                var n = arguments[t];
                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (e[i] = n[i])
            }
            return e
        },
        s = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
            return typeof e
        } : function(e) {
            return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
        };
    ! function(e, t) {
        "object" === s(i) && void 0 !== n ? n.exports = t() : void 0 === (a = "function" == typeof(o = t) ? o.call(i, r, i, n) : o) || (n.exports = a)
    }(0, function() {
        "use strict";
        var s = function(e, t) {
                return t ? e.replace(/\.(jpe?g|png)/gi, ".webp") : e
            },
            e = "undefined" != typeof window,
            r = e && !("onscroll" in window) || "undefined" != typeof navigator && /(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent),
            t = e && "IntersectionObserver" in window,
            l = e && "classList" in document.createElement("p"),
            n = e && "createImageBitmap" in window,
            i = e && "fetch" in window,
            u = !1;
        ! function(t) {
            n && i ? fetch("data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAAAAAAfQ//73v/+BiOh/AAA=").then(function(e) {
                return e && void 0 !== e.blob ? e.blob() : t(!1)
            }).then(function(e) {
                return window.createImageBitmap(e) ? t(!0) : t(!1)
            }) : t(!1)
        }(function(e) {
            u = e
        });
        var o = {
                elements_selector: "img",
                container: r || e ? document : null,
                threshold: 300,
                thresholds: null,
                data_src: "src",
                data_srcset: "srcset",
                data_sizes: "sizes",
                data_bg: "bg",
                class_loading: "loading",
                class_loaded: "loaded",
                class_error: "error",
                load_delay: 0,
                callback_load: null,
                callback_error: null,
                callback_set: null,
                callback_enter: null,
                callback_finish: null,
                to_webp: !1
            },
            a = "was-processed",
            c = "ll-timeout",
            f = function(e, t) {
                return e.getAttribute("data-" + t)
            },
            d = function(e, t, n) {
                var i = "data-" + t;
                null !== n ? e.setAttribute(i, n) : e.removeAttribute(i)
            },
            h = function(e) {
                return "true" === f(e, a)
            },
            p = function(e, t) {
                return d(e, c, t)
            },
            g = function(e) {
                return f(e, c)
            },
            m = function(e, t) {
                var n, i = "LazyLoad::Initialized",
                    r = new e(t);
                try {
                    n = new CustomEvent(i, {
                        detail: {
                            instance: r
                        }
                    })
                } catch (e) {
                    (n = document.createEvent("CustomEvent")).initCustomEvent(i, !1, !1, {
                        instance: r
                    })
                }
                window.dispatchEvent(n)
            };
        var v = function(e) {
                for (var t, n = [], i = 0; t = e.children[i]; i += 1) "SOURCE" === t.tagName && n.push(t);
                return n
            },
            y = function(e, t, n, i) {
                n && e.setAttribute(t, s(n, i))
            },
            b = function(e, t, n) {
                y(e, "sizes", f(e, t.data_sizes)), y(e, "srcset", f(e, t.data_srcset), n), y(e, "src", f(e, t.data_src), n)
            },
            _ = {
                IMG: function(e, t) {
                    var n = t.to_webp && u,
                        i = e.parentNode;
                    i && "PICTURE" === i.tagName && v(i).forEach(function(e) {
                        b(e, t, n)
                    });
                    b(e, t, n)
                },
                IFRAME: function(e, t) {
                    y(e, "src", f(e, t.data_src))
                },
                VIDEO: function(e, t) {
                    v(e).forEach(function(e) {
                        y(e, "src", f(e, t.data_src))
                    }), y(e, "src", f(e, t.data_src)), e.load()
                }
            },
            E = function(e, t) {
                var n = t._settings,
                    i = e.tagName,
                    r = _[i];
                if (r) return r(e, n), t._updateLoadingCount(1), void(t._elements = function(e, t) {
                    return e.filter(function(e) {
                        return e !== t
                    })
                }(t._elements, e));
                ! function(e, t) {
                    var n = t.to_webp && u,
                        i = f(e, t.data_src),
                        r = f(e, t.data_bg);
                    if (i) {
                        var o = s(i, n);
                        e.style.backgroundImage = 'url("' + o + '")'
                    }
                    if (r) {
                        var a = s(r, n);
                        e.style.backgroundImage = a
                    }
                }(e, n)
            },
            T = function(e, t) {
                l ? e.classList.add(t) : e.className += (e.className ? " " : "") + t
            },
            w = function(e, t) {
                e && e(t)
            },
            C = "loadeddata",
            D = function(e, t, n) {
                e.addEventListener(t, n)
            },
            x = function(e, t, n) {
                e.removeEventListener(t, n)
            },
            S = function(e, t, n) {
                x(e, "load", t), x(e, C, t), x(e, "error", n)
            },
            A = function(e, t, n) {
                var i = n._settings,
                    r = t ? i.class_loaded : i.class_error,
                    o = t ? i.callback_load : i.callback_error,
                    a = e.target;
                ! function(e, t) {
                    l ? e.classList.remove(t) : e.className = e.className.replace(new RegExp("(^|\\s+)" + t + "(\\s+|$)"), " ").replace(/^\s+/, "").replace(/\s+$/, "")
                }(a, i.class_loading), T(a, r), w(o, a), n._updateLoadingCount(-1)
            },
            O = function(n, i) {
                var r = function e(t) {
                        A(t, !0, i), S(n, e, o)
                    },
                    o = function e(t) {
                        A(t, !1, i), S(n, r, e)
                    };
                ! function(e, t, n) {
                    D(e, "load", t), D(e, C, t), D(e, "error", n)
                }(n, r, o)
            },
            I = ["IMG", "IFRAME", "VIDEO"],
            N = function(e, t, n) {
                L(e, n), t.unobserve(e)
            },
            k = function(e) {
                var t = g(e);
                t && (clearTimeout(t), p(e, null))
            };

        function L(e, t, n) {
            var i = t._settings;
            !n && h(e) || (w(i.callback_enter, e), -1 < I.indexOf(e.tagName) && (O(e, t), T(e, i.class_loading)), E(e, t), function(e) {
                d(e, a, "true")
            }(e), w(i.callback_set, e))
        }
        var P = function(e) {
                return e.isIntersecting || 0 < e.intersectionRatio
            },
            j = function(e, t) {
                this._settings = function(e) {
                    return H({}, o, e)
                }(e), this._setObserver(), this._loadingCount = 0, this.update(t)
            };
        return j.prototype = {
            _manageIntersection: function(e) {
                var t = this._observer,
                    n = this._settings.load_delay,
                    i = e.target;
                n ? P(e) ? function(e, t, n) {
                    var i = n._settings.load_delay,
                        r = g(e);
                    r || (r = setTimeout(function() {
                        N(e, t, n), k(e)
                    }, i), p(e, r))
                }(i, t, this) : k(i) : P(e) && N(i, t, this)
            },
            _onIntersection: function(e) {
                e.forEach(this._manageIntersection.bind(this))
            },
            _setObserver: function() {
                t && (this._observer = new IntersectionObserver(this._onIntersection.bind(this), function(e) {
                    return {
                        root: e.container === document ? null : e.container,
                        rootMargin: e.thresholds || e.threshold + "px"
                    }
                }(this._settings)))
            },
            _updateLoadingCount: function(e) {
                this._loadingCount += e, 0 === this._elements.length && 0 === this._loadingCount && w(this._settings.callback_finish)
            },
            update: function(e) {
                var t = this,
                    n = this._settings,
                    i = e || n.container.querySelectorAll(n.elements_selector);
                this._elements = function(e) {
                    return e.filter(function(e) {
                        return !h(e)
                    })
                }(Array.prototype.slice.call(i)), !r && this._observer ? this._elements.forEach(function(e) {
                    t._observer.observe(e)
                }) : this.loadAll()
            },
            destroy: function() {
                var t = this;
                this._observer && (this._elements.forEach(function(e) {
                    t._observer.unobserve(e)
                }), this._observer = null), this._elements = null, this._settings = null
            },
            load: function(e, t) {
                L(e, this, t)
            },
            loadAll: function() {
                var t = this;
                this._elements.forEach(function(e) {
                    t.load(e)
                })
            }
        }, e && function(e, t) {
            if (t)
                if (t.length)
                    for (var n, i = 0; n = t[i]; i += 1) m(e, n);
                else m(e, t)
        }(j, window.lazyLoadOptions), j
    })
}, function(e, n, i) {
    ! function(e, t) {
        ! function(e, t, m) {
            "use strict";

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

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

            function r(e, t, n) {
                return t in e ? Object.defineProperty(e, t, {
                    value: n,
                    enumerable: !0,
                    configurable: !0,
                    writable: !0
                }) : e[t] = n, e
            }

            function _(t) {
                for (var e = 1; e < arguments.length; e++) {
                    var n = null != arguments[e] ? arguments[e] : {},
                        i = Object.keys(n);
                    "function" == typeof Object.getOwnPropertySymbols && (i = i.concat(Object.getOwnPropertySymbols(n).filter(function(e) {
                        return Object.getOwnPropertyDescriptor(n, e).enumerable
                    }))), i.forEach(function(e) {
                        r(t, e, n[e])
                    })
                }
                return t
            }
            t = t && t.hasOwnProperty("default") ? t.default : t, m = m && m.hasOwnProperty("default") ? m.default : m;
            var E = function(i) {
                    var t = "transitionend";

                    function s(e) {
                        return {}.toString.call(e).match(/\s([a-z]+)/i)[1].toLowerCase()
                    }

                    function e() {
                        return {
                            bindType: t,
                            delegateType: t,
                            handle: function(e) {
                                if (i(e.target).is(this)) return e.handleObj.handler.apply(this, arguments)
                            }
                        }
                    }

                    function n(e) {
                        var t = this,
                            n = !1;
                        return i(this).one(l.TRANSITION_END, function() {
                            n = !0
                        }), setTimeout(function() {
                            n || l.triggerTransitionEnd(t)
                        }, e), this
                    }
                    var l = {
                        TRANSITION_END: "bsTransitionEnd",
                        getUID: function(e) {
                            for (; e += ~~(1e6 * Math.random()), document.getElementById(e););
                            return e
                        },
                        getSelectorFromElement: function(e) {
                            var t = e.getAttribute("data-target");
                            t && "#" !== t || (t = e.getAttribute("href") || "");
                            try {
                                return document.querySelector(t) ? t : null
                            } catch (e) {
                                return null
                            }
                        },
                        getTransitionDurationFromElement: function(e) {
                            if (!e) return 0;
                            var t = i(e).css("transition-duration"),
                                n = parseFloat(t);
                            return n ? (t = t.split(",")[0], 1e3 * parseFloat(t)) : 0
                        },
                        reflow: function(e) {
                            return e.offsetHeight
                        },
                        triggerTransitionEnd: function(e) {
                            i(e).trigger(t)
                        },
                        supportsTransitionEnd: function() {
                            return Boolean(t)
                        },
                        isElement: function(e) {
                            return (e[0] || e).nodeType
                        },
                        typeCheckConfig: function(e, t, n) {
                            for (var i in n)
                                if (Object.prototype.hasOwnProperty.call(n, i)) {
                                    var r = n[i],
                                        o = t[i],
                                        a = o && l.isElement(o) ? "element" : s(o);
                                    if (!new RegExp(r).test(a)) throw new Error(e.toUpperCase() + ': Option "' + i + '" provided type "' + a + '" but expected type "' + r + '".')
                                }
                        }
                    };
                    return function() {
                        i.fn.emulateTransitionEnd = n, i.event.special[l.TRANSITION_END] = e()
                    }(), l
                }(t),
                n = function(r) {
                    var e = "alert",
                        o = "bs.alert",
                        t = "." + o,
                        n = r.fn[e],
                        a = {
                            CLOSE: "close" + t,
                            CLOSED: "closed" + t,
                            CLICK_DATA_API: "click" + t + ".data-api"
                        },
                        s = {
                            ALERT: "alert",
                            FADE: "fade",
                            SHOW: "show"
                        },
                        i = function() {
                            function i(e) {
                                this._element = e
                            }
                            var e = i.prototype;
                            return e.close = function(e) {
                                var t = this._element;
                                e && (t = this._getRootElement(e));
                                var n = this._triggerCloseEvent(t);
                                n.isDefaultPrevented() || this._removeElement(t)
                            }, e.dispose = function() {
                                r.removeData(this._element, o), this._element = null
                            }, e._getRootElement = function(e) {
                                var t = E.getSelectorFromElement(e),
                                    n = !1;
                                return t && (n = document.querySelector(t)), n || (n = r(e).closest("." + s.ALERT)[0]), n
                            }, e._triggerCloseEvent = function(e) {
                                var t = r.Event(a.CLOSE);
                                return r(e).trigger(t), t
                            }, e._removeElement = function(t) {
                                var n = this;
                                if (r(t).removeClass(s.SHOW), r(t).hasClass(s.FADE)) {
                                    var e = E.getTransitionDurationFromElement(t);
                                    r(t).one(E.TRANSITION_END, function(e) {
                                        return n._destroyElement(t, e)
                                    }).emulateTransitionEnd(e)
                                } else this._destroyElement(t)
                            }, e._destroyElement = function(e) {
                                r(e).detach().trigger(a.CLOSED).remove()
                            }, i._jQueryInterface = function(n) {
                                return this.each(function() {
                                    var e = r(this),
                                        t = e.data(o);
                                    t || (t = new i(this), e.data(o, t)), "close" === n && t[n](this)
                                })
                            }, i._handleDismiss = function(t) {
                                return function(e) {
                                    e && e.preventDefault(), t.close(this)
                                }
                            }, b(i, null, [{
                                key: "VERSION",
                                get: function() {
                                    return "4.1.2"
                                }
                            }]), i
                        }();
                    return r(document).on(a.CLICK_DATA_API, '[data-dismiss="alert"]', i._handleDismiss(new i)), r.fn[e] = i._jQueryInterface, r.fn[e].Constructor = i, r.fn[e].noConflict = function() {
                        return r.fn[e] = n, i._jQueryInterface
                    }, i
                }(t),
                o = function(o) {
                    var e = "button",
                        i = "bs.button",
                        t = "." + i,
                        n = ".data-api",
                        r = o.fn[e],
                        a = {
                            ACTIVE: "active",
                            BUTTON: "btn",
                            FOCUS: "focus"
                        },
                        s = {
                            DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
                            DATA_TOGGLE: '[data-toggle="buttons"]',
                            INPUT: "input",
                            ACTIVE: ".active",
                            BUTTON: ".btn"
                        },
                        l = {
                            CLICK_DATA_API: "click" + t + n,
                            FOCUS_BLUR_DATA_API: "focus" + t + n + " blur" + t + n
                        },
                        u = function() {
                            function n(e) {
                                this._element = e
                            }
                            var e = n.prototype;
                            return e.toggle = function() {
                                var e = !0,
                                    t = !0,
                                    n = o(this._element).closest(s.DATA_TOGGLE)[0];
                                if (n) {
                                    var i = this._element.querySelector(s.INPUT);
                                    if (i) {
                                        if ("radio" === i.type)
                                            if (i.checked && this._element.classList.contains(a.ACTIVE)) e = !1;
                                            else {
                                                var r = n.querySelector(s.ACTIVE);
                                                r && o(r).removeClass(a.ACTIVE)
                                            }
                                        if (e) {
                                            if (i.hasAttribute("disabled") || n.hasAttribute("disabled") || i.classList.contains("disabled") || n.classList.contains("disabled")) return;
                                            i.checked = !this._element.classList.contains(a.ACTIVE), o(i).trigger("change")
                                        }
                                        i.focus(), t = !1
                                    }
                                }
                                t && this._element.setAttribute("aria-pressed", !this._element.classList.contains(a.ACTIVE)), e && o(this._element).toggleClass(a.ACTIVE)
                            }, e.dispose = function() {
                                o.removeData(this._element, i), this._element = null
                            }, n._jQueryInterface = function(t) {
                                return this.each(function() {
                                    var e = o(this).data(i);
                                    e || (e = new n(this), o(this).data(i, e)), "toggle" === t && e[t]()
                                })
                            }, b(n, null, [{
                                key: "VERSION",
                                get: function() {
                                    return "4.1.2"
                                }
                            }]), n
                        }();
                    return o(document).on(l.CLICK_DATA_API, s.DATA_TOGGLE_CARROT, function(e) {
                        e.preventDefault();
                        var t = e.target;
                        o(t).hasClass(a.BUTTON) || (t = o(t).closest(s.BUTTON)), u._jQueryInterface.call(o(t), "toggle")
                    }).on(l.FOCUS_BLUR_DATA_API, s.DATA_TOGGLE_CARROT, function(e) {
                        var t = o(e.target).closest(s.BUTTON)[0];
                        o(t).toggleClass(a.FOCUS, /^focus(in)?$/.test(e.type))
                    }), o.fn[e] = u._jQueryInterface, o.fn[e].Constructor = u, o.fn[e].noConflict = function() {
                        return o.fn[e] = r, u._jQueryInterface
                    }, u
                }(t),
                a = function(p) {
                    var t = "carousel",
                        a = "bs.carousel",
                        n = "." + a,
                        e = ".data-api",
                        i = p.fn[t],
                        r = {
                            interval: 5e3,
                            keyboard: !0,
                            slide: !1,
                            pause: "hover",
                            wrap: !0
                        },
                        s = {
                            interval: "(number|boolean)",
                            keyboard: "boolean",
                            slide: "(boolean|string)",
                            pause: "(string|boolean)",
                            wrap: "boolean"
                        },
                        g = {
                            NEXT: "next",
                            PREV: "prev",
                            LEFT: "left",
                            RIGHT: "right"
                        },
                        m = {
                            SLIDE: "slide" + n,
                            SLID: "slid" + n,
                            KEYDOWN: "keydown" + n,
                            MOUSEENTER: "mouseenter" + n,
                            MOUSELEAVE: "mouseleave" + n,
                            TOUCHEND: "touchend" + n,
                            LOAD_DATA_API: "load" + n + e,
                            CLICK_DATA_API: "click" + n + e
                        },
                        v = {
                            CAROUSEL: "carousel",
                            ACTIVE: "active",
                            SLIDE: "slide",
                            RIGHT: "carousel-item-right",
                            LEFT: "carousel-item-left",
                            NEXT: "carousel-item-next",
                            PREV: "carousel-item-prev",
                            ITEM: "carousel-item"
                        },
                        y = {
                            ACTIVE: ".active",
                            ACTIVE_ITEM: ".active.carousel-item",
                            ITEM: ".carousel-item",
                            NEXT_PREV: ".carousel-item-next, .carousel-item-prev",
                            INDICATORS: ".carousel-indicators",
                            DATA_SLIDE: "[data-slide], [data-slide-to]",
                            DATA_RIDE: '[data-ride="carousel"]'
                        },
                        o = function() {
                            function o(e, t) {
                                this._items = null, this._interval = null, this._activeElement = null, this._isPaused = !1, this._isSliding = !1, this.touchTimeout = null, this._config = this._getConfig(t), this._element = p(e)[0], this._indicatorsElement = this._element.querySelector(y.INDICATORS), this._addEventListeners()
                            }
                            var e = o.prototype;
                            return e.next = function() {
                                this._isSliding || this._slide(g.NEXT)
                            }, e.nextWhenVisible = function() {
                                !document.hidden && p(this._element).is(":visible") && "hidden" !== p(this._element).css("visibility") && this.next()
                            }, e.prev = function() {
                                this._isSliding || this._slide(g.PREV)
                            }, e.pause = function(e) {
                                e || (this._isPaused = !0), this._element.querySelector(y.NEXT_PREV) && (E.triggerTransitionEnd(this._element), this.cycle(!0)), clearInterval(this._interval), this._interval = null
                            }, e.cycle = function(e) {
                                e || (this._isPaused = !1), this._interval && (clearInterval(this._interval), this._interval = null), this._config.interval && !this._isPaused && (this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval))
                            }, e.to = function(e) {
                                var t = this;
                                this._activeElement = this._element.querySelector(y.ACTIVE_ITEM);
                                var n = this._getItemIndex(this._activeElement);
                                if (!(e > this._items.length - 1 || e < 0))
                                    if (this._isSliding) p(this._element).one(m.SLID, function() {
                                        return t.to(e)
                                    });
                                    else {
                                        if (n === e) return this.pause(), void this.cycle();
                                        var i = n < e ? g.NEXT : g.PREV;
                                        this._slide(i, this._items[e])
                                    }
                            }, e.dispose = function() {
                                p(this._element).off(n), p.removeData(this._element, a), this._items = null, this._config = null, this._element = null, this._interval = null, this._isPaused = null, this._isSliding = null, this._activeElement = null, this._indicatorsElement = null
                            }, e._getConfig = function(e) {
                                return e = _({}, r, e), E.typeCheckConfig(t, e, s), e
                            }, e._addEventListeners = function() {
                                var t = this;
                                this._config.keyboard && p(this._element).on(m.KEYDOWN, function(e) {
                                    return t._keydown(e)
                                }), "hover" === this._config.pause && (p(this._element).on(m.MOUSEENTER, function(e) {
                                    return t.pause(e)
                                }).on(m.MOUSELEAVE, function(e) {
                                    return t.cycle(e)
                                }), "ontouchstart" in document.documentElement && p(this._element).on(m.TOUCHEND, function() {
                                    t.pause(), t.touchTimeout && clearTimeout(t.touchTimeout), t.touchTimeout = setTimeout(function(e) {
                                        return t.cycle(e)
                                    }, 500 + t._config.interval)
                                }))
                            }, e._keydown = function(e) {
                                if (!/input|textarea/i.test(e.target.tagName)) switch (e.which) {
                                    case 37:
                                        e.preventDefault(), this.prev();
                                        break;
                                    case 39:
                                        e.preventDefault(), this.next()
                                }
                            }, e._getItemIndex = function(e) {
                                return this._items = e && e.parentNode ? [].slice.call(e.parentNode.querySelectorAll(y.ITEM)) : [], this._items.indexOf(e)
                            }, e._getItemByDirection = function(e, t) {
                                var n = e === g.NEXT,
                                    i = e === g.PREV,
                                    r = this._getItemIndex(t),
                                    o = this._items.length - 1,
                                    a = i && 0 === r || n && r === o;
                                if (a && !this._config.wrap) return t;
                                var s = e === g.PREV ? -1 : 1,
                                    l = (r + s) % this._items.length;
                                return -1 === l ? this._items[this._items.length - 1] : this._items[l]
                            }, e._triggerSlideEvent = function(e, t) {
                                var n = this._getItemIndex(e),
                                    i = this._getItemIndex(this._element.querySelector(y.ACTIVE_ITEM)),
                                    r = p.Event(m.SLIDE, {
                                        relatedTarget: e,
                                        direction: t,
                                        from: i,
                                        to: n
                                    });
                                return p(this._element).trigger(r), r
                            }, e._setActiveIndicatorElement = function(e) {
                                if (this._indicatorsElement) {
                                    var t = [].slice.call(this._indicatorsElement.querySelectorAll(y.ACTIVE));
                                    p(t).removeClass(v.ACTIVE);
                                    var n = this._indicatorsElement.children[this._getItemIndex(e)];
                                    n && p(n).addClass(v.ACTIVE)
                                }
                            }, e._slide = function(e, t) {
                                var n, i, r, o = this,
                                    a = this._element.querySelector(y.ACTIVE_ITEM),
                                    s = this._getItemIndex(a),
                                    l = t || a && this._getItemByDirection(e, a),
                                    u = this._getItemIndex(l),
                                    c = Boolean(this._interval);
                                if (r = e === g.NEXT ? (n = v.LEFT, i = v.NEXT, g.LEFT) : (n = v.RIGHT, i = v.PREV, g.RIGHT), l && p(l).hasClass(v.ACTIVE)) this._isSliding = !1;
                                else {
                                    var f = this._triggerSlideEvent(l, r);
                                    if (!f.isDefaultPrevented() && a && l) {
                                        this._isSliding = !0, c && this.pause(), this._setActiveIndicatorElement(l);
                                        var d = p.Event(m.SLID, {
                                            relatedTarget: l,
                                            direction: r,
                                            from: s,
                                            to: u
                                        });
                                        if (p(this._element).hasClass(v.SLIDE)) {
                                            p(l).addClass(i), E.reflow(l), p(a).addClass(n), p(l).addClass(n);
                                            var h = E.getTransitionDurationFromElement(a);
                                            p(a).one(E.TRANSITION_END, function() {
                                                p(l).removeClass(n + " " + i).addClass(v.ACTIVE), p(a).removeClass(v.ACTIVE + " " + i + " " + n), o._isSliding = !1, setTimeout(function() {
                                                    return p(o._element).trigger(d)
                                                }, 0)
                                            }).emulateTransitionEnd(h)
                                        } else p(a).removeClass(v.ACTIVE), p(l).addClass(v.ACTIVE), this._isSliding = !1, p(this._element).trigger(d);
                                        c && this.cycle()
                                    }
                                }
                            }, o._jQueryInterface = function(i) {
                                return this.each(function() {
                                    var e = p(this).data(a),
                                        t = _({}, r, p(this).data());
                                    "object" == typeof i && (t = _({}, t, i));
                                    var n = "string" == typeof i ? i : t.slide;
                                    if (e || (e = new o(this, t), p(this).data(a, e)), "number" == typeof i) e.to(i);
                                    else if ("string" == typeof n) {
                                        if (void 0 === e[n]) throw new TypeError('No method named "' + n + '"');
                                        e[n]()
                                    } else t.interval && (e.pause(), e.cycle())
                                })
                            }, o._dataApiClickHandler = function(e) {
                                var t = E.getSelectorFromElement(this);
                                if (t) {
                                    var n = p(t)[0];
                                    if (n && p(n).hasClass(v.CAROUSEL)) {
                                        var i = _({}, p(n).data(), p(this).data()),
                                            r = this.getAttribute("data-slide-to");
                                        r && (i.interval = !1), o._jQueryInterface.call(p(n), i), r && p(n).data(a).to(r), e.preventDefault()
                                    }
                                }
                            }, b(o, null, [{
                                key: "VERSION",
                                get: function() {
                                    return "4.1.2"
                                }
                            }, {
                                key: "Default",
                                get: function() {
                                    return r
                                }
                            }]), o
                        }();
                    return p(document).on(m.CLICK_DATA_API, y.DATA_SLIDE, o._dataApiClickHandler), p(window).on(m.LOAD_DATA_API, function() {
                        for (var e = [].slice.call(document.querySelectorAll(y.DATA_RIDE)), t = 0, n = e.length; t < n; t++) {
                            var i = p(e[t]);
                            o._jQueryInterface.call(i, i.data())
                        }
                    }), p.fn[t] = o._jQueryInterface, p.fn[t].Constructor = o, p.fn[t].noConflict = function() {
                        return p.fn[t] = i, o._jQueryInterface
                    }, o
                }(t),


                
                s = function(u) {
                    var t = "collapse",
                        c = "bs.collapse",
                        e = "." + c,
                        n = u.fn[t],
                        r = {
                            toggle: !0,
                            parent: ""
                        },
                        i = {
                            toggle: "boolean",
                            parent: "(string|element)"
                        },
                        f = {
                            SHOW: "show" + e,
                            SHOWN: "shown" + e,
                            HIDE: "hide" + e,
                            HIDDEN: "hidden" + e,
                            CLICK_DATA_API: "click" + e + ".data-api"
                        },
                        d = {
                            SHOW: "show",
                            COLLAPSE: "collapse",
                            COLLAPSING: "collapsing",
                            COLLAPSED: "collapsed"
                        },
                        o = {
                            WIDTH: "width",
                            HEIGHT: "height"
                        },
                        h = {
                            ACTIVES: ".show, .collapsing",
                            DATA_TOGGLE: '[data-toggle="collapse"]'
                        },
                        a = function() {
                            function l(t, e) {
                                this._isTransitioning = !1, this._element = t, this._config = this._getConfig(e), this._triggerArray = u.makeArray(document.querySelectorAll('[data-toggle="collapse"][href="#' + t.id + '"],[data-toggle="collapse"][data-target="#' + t.id + '"]'));
                                for (var n = [].slice.call(document.querySelectorAll(h.DATA_TOGGLE)), i = 0, r = n.length; i < r; i++) {
                                    var o = n[i],
                                        a = E.getSelectorFromElement(o),
                                        s = [].slice.call(document.querySelectorAll(a)).filter(function(e) {
                                            return e === t
                                        });
                                    null !== a && 0 < s.length && (this._selector = a, this._triggerArray.push(o))
                                }
                                this._parent = this._config.parent ? this._getParent() : null, this._config.parent || this._addAriaAndCollapsedClass(this._element, this._triggerArray), this._config.toggle && this.toggle()
                            }
                            var e = l.prototype;
                            return e.toggle = function() {
                                u(this._element).hasClass(d.SHOW) ? this.hide() : this.show()
                            }, e.show = function() {
                                var e, t, n = this;
                                if (!this._isTransitioning && !u(this._element).hasClass(d.SHOW) && (this._parent && 0 === (e = [].slice.call(this._parent.querySelectorAll(h.ACTIVES)).filter(function(e) {
                                        return e.getAttribute("data-parent") === n._config.parent
                                    })).length && (e = null), !(e && (t = u(e).not(this._selector).data(c)) && t._isTransitioning))) {
                                    var i = u.Event(f.SHOW);
                                    if (u(this._element).trigger(i), !i.isDefaultPrevented()) {
                                        e && (l._jQueryInterface.call(u(e).not(this._selector), "hide"), t || u(e).data(c, null));
                                        var r = this._getDimension();
                                        u(this._element).removeClass(d.COLLAPSE).addClass(d.COLLAPSING), this._element.style[r] = 0, this._triggerArray.length && u(this._triggerArray).removeClass(d.COLLAPSED).attr("aria-expanded", !0), this.setTransitioning(!0);
                                        var o = r[0].toUpperCase() + r.slice(1),
                                            a = "scroll" + o,
                                            s = E.getTransitionDurationFromElement(this._element);
                                        u(this._element).one(E.TRANSITION_END, function() {
                                            u(n._element).removeClass(d.COLLAPSING).addClass(d.COLLAPSE).addClass(d.SHOW), n._element.style[r] = "", n.setTransitioning(!1), u(n._element).trigger(f.SHOWN)
                                        }).emulateTransitionEnd(s), this._element.style[r] = this._element[a] + "px"
                                    }
                                }
                            }, e.hide = function() {
                                var e = this;
                                if (!this._isTransitioning && u(this._element).hasClass(d.SHOW)) {
                                    var t = u.Event(f.HIDE);
                                    if (u(this._element).trigger(t), !t.isDefaultPrevented()) {
                                        var n = this._getDimension();
                                        this._element.style[n] = this._element.getBoundingClientRect()[n] + "px", E.reflow(this._element), u(this._element).addClass(d.COLLAPSING).removeClass(d.COLLAPSE).removeClass(d.SHOW);
                                        var i = this._triggerArray.length;
                                        if (0 < i)
                                            for (var r = 0; r < i; r++) {
                                                var o = this._triggerArray[r],
                                                    a = E.getSelectorFromElement(o);
                                                if (null !== a) {
                                                    var s = u([].slice.call(document.querySelectorAll(a)));
                                                    s.hasClass(d.SHOW) || u(o).addClass(d.COLLAPSED).attr("aria-expanded", !1)
                                                }
                                            }
                                        this.setTransitioning(!0);
                                        this._element.style[n] = "";
                                        var l = E.getTransitionDurationFromElement(this._element);
                                        u(this._element).one(E.TRANSITION_END, function() {
                                            e.setTransitioning(!1), u(e._element).removeClass(d.COLLAPSING).addClass(d.COLLAPSE).trigger(f.HIDDEN)
                                        }).emulateTransitionEnd(l)
                                    }
                                }
                            }, e.setTransitioning = function(e) {
                                this._isTransitioning = e
                            }, e.dispose = function() {
                                u.removeData(this._element, c), this._config = null, this._parent = null, this._element = null, this._triggerArray = null, this._isTransitioning = null
                            }, e._getConfig = function(e) {
                                return (e = _({}, r, e)).toggle = Boolean(e.toggle), E.typeCheckConfig(t, e, i), e
                            }, e._getDimension = function() {
                                var e = u(this._element).hasClass(o.WIDTH);
                                return e ? o.WIDTH : o.HEIGHT
                            }, e._getParent = function() {
                                var n = this,
                                    e = null;
                                E.isElement(this._config.parent) ? (e = this._config.parent, void 0 !== this._config.parent.jquery && (e = this._config.parent[0])) : e = document.querySelector(this._config.parent);
                                var t = '[data-toggle="collapse"][data-parent="' + this._config.parent + '"]',
                                    i = [].slice.call(e.querySelectorAll(t));
                                return u(i).each(function(e, t) {
                                    n._addAriaAndCollapsedClass(l._getTargetFromElement(t), [t])
                                }), e
                            }, e._addAriaAndCollapsedClass = function(e, t) {
                                if (e) {
                                    var n = u(e).hasClass(d.SHOW);
                                    t.length && u(t).toggleClass(d.COLLAPSED, !n).attr("aria-expanded", n)
                                }
                            }, l._getTargetFromElement = function(e) {
                                var t = E.getSelectorFromElement(e);
                                return t ? document.querySelector(t) : null
                            }, l._jQueryInterface = function(i) {
                                return this.each(function() {
                                    var e = u(this),
                                        t = e.data(c),
                                        n = _({}, r, e.data(), "object" == typeof i && i ? i : {});
                                    if (!t && n.toggle && /show|hide/.test(i) && (n.toggle = !1), t || (t = new l(this, n), e.data(c, t)), "string" == typeof i) {
                                        if (void 0 === t[i]) throw new TypeError('No method named "' + i + '"');
                                        t[i]()
                                    }
                                })
                            }, b(l, null, [{
                                key: "VERSION",
                                get: function() {
                                    return "4.1.2"
                                }
                            }, {
                                key: "Default",
                                get: function() {
                                    return r
                                }
                            }]), l
                        }();
                    return u(document).on(f.CLICK_DATA_API, h.DATA_TOGGLE, function(e) {
                        "A" === e.currentTarget.tagName && e.preventDefault();
                        var i = u(this),
                            t = E.getSelectorFromElement(this),
                            n = [].slice.call(document.querySelectorAll(t));
                        u(n).each(function() {
                            var e = u(this),
                                t = e.data(c),
                                n = t ? "toggle" : i.data();
                            a._jQueryInterface.call(e, n)
                        })
                    }), u.fn[t] = a._jQueryInterface, u.fn[t].Constructor = a, u.fn[t].noConflict = function() {
                        return u.fn[t] = n, a._jQueryInterface
                    }, a
                }(t),
                l = function(c) {
                    var t = "dropdown",
                        f = "bs.dropdown",
                        n = "." + f,
                        e = ".data-api",
                        i = c.fn[t],
                        a = new RegExp("38|40|27"),
                        d = {
                            HIDE: "hide" + n,
                            HIDDEN: "hidden" + n,
                            SHOW: "show" + n,
                            SHOWN: "shown" + n,
                            CLICK: "click" + n,
                            CLICK_DATA_API: "click" + n + e,
                            KEYDOWN_DATA_API: "keydown" + n + e,
                            KEYUP_DATA_API: "keyup" + n + e
                        },
                        h = {
                            DISABLED: "disabled",
                            SHOW: "show",
                            DROPUP: "dropup",
                            DROPRIGHT: "dropright",
                            DROPLEFT: "dropleft",
                            MENURIGHT: "dropdown-menu-right",
                            MENULEFT: "dropdown-menu-left",
                            POSITION_STATIC: "position-static"
                        },
                        p = {
                            DATA_TOGGLE: '[data-toggle="dropdown"]',
                            FORM_CHILD: ".dropdown form",
                            MENU: ".dropdown-menu",
                            NAVBAR_NAV: ".navbar-nav",
                            VISIBLE_ITEMS: ".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)"
                        },
                        r = {
                            TOP: "top-start",
                            TOPEND: "top-end",
                            BOTTOM: "bottom-start",
                            BOTTOMEND: "bottom-end",
                            RIGHT: "right-start",
                            RIGHTEND: "right-end",
                            LEFT: "left-start",
                            LEFTEND: "left-end"
                        },
                        o = {
                            offset: 0,
                            flip: !0,
                            boundary: "scrollParent",
                            reference: "toggle",
                            display: "dynamic"
                        },
                        s = {
                            offset: "(number|string|function)",
                            flip: "boolean",
                            boundary: "(string|element)",
                            reference: "(string|element)",
                            display: "string"
                        },
                        l = function() {
                            function u(e, t) {
                                this._element = e, this._popper = null, this._config = this._getConfig(t), this._menu = this._getMenuElement(), this._inNavbar = this._detectNavbar(), this._addEventListeners()
                            }
                            var e = u.prototype;
                            return e.toggle = function() {
                                if (!this._element.disabled && !c(this._element).hasClass(h.DISABLED)) {
                                    var e = u._getParentFromElement(this._element),
                                        t = c(this._menu).hasClass(h.SHOW);
                                    if (u._clearMenus(), !t) {
                                        var n = {
                                                relatedTarget: this._element
                                            },
                                            i = c.Event(d.SHOW, n);
                                        if (c(e).trigger(i), !i.isDefaultPrevented()) {
                                            if (!this._inNavbar) {
                                                if (void 0 === m) throw new TypeError("Bootstrap dropdown require Popper.js (https://popper.js.org)");
                                                var r = this._element;
                                                "parent" === this._config.reference ? r = e : E.isElement(this._config.reference) && (r = this._config.reference, void 0 !== this._config.reference.jquery && (r = this._config.reference[0])), "scrollParent" !== this._config.boundary && c(e).addClass(h.POSITION_STATIC), this._popper = new m(r, this._menu, this._getPopperConfig())
                                            }
                                            "ontouchstart" in document.documentElement && 0 === c(e).closest(p.NAVBAR_NAV).length && c(document.body).children().on("mouseover", null, c.noop), this._element.focus(), this._element.setAttribute("aria-expanded", !0), c(this._menu).toggleClass(h.SHOW), c(e).toggleClass(h.SHOW).trigger(c.Event(d.SHOWN, n))
                                        }
                                    }
                                }
                            }, e.dispose = function() {
                                c.removeData(this._element, f), c(this._element).off(n), this._element = null, (this._menu = null) !== this._popper && (this._popper.destroy(), this._popper = null)
                            }, e.update = function() {
                                this._inNavbar = this._detectNavbar(), null !== this._popper && this._popper.scheduleUpdate()
                            }, e._addEventListeners = function() {
                                var t = this;
                                c(this._element).on(d.CLICK, function(e) {
                                    e.preventDefault(), e.stopPropagation(), t.toggle()
                                })
                            }, e._getConfig = function(e) {
                                return e = _({}, this.constructor.Default, c(this._element).data(), e), E.typeCheckConfig(t, e, this.constructor.DefaultType), e
                            }, e._getMenuElement = function() {
                                if (!this._menu) {
                                    var e = u._getParentFromElement(this._element);
                                    e && (this._menu = e.querySelector(p.MENU))
                                }
                                return this._menu
                            }, e._getPlacement = function() {
                                var e = c(this._element.parentNode),
                                    t = r.BOTTOM;
                                return e.hasClass(h.DROPUP) ? (t = r.TOP, c(this._menu).hasClass(h.MENURIGHT) && (t = r.TOPEND)) : e.hasClass(h.DROPRIGHT) ? t = r.RIGHT : e.hasClass(h.DROPLEFT) ? t = r.LEFT : c(this._menu).hasClass(h.MENURIGHT) && (t = r.BOTTOMEND), t
                            }, e._detectNavbar = function() {
                                return 0 < c(this._element).closest(".navbar").length
                            }, e._getPopperConfig = function() {
                                var t = this,
                                    e = {};
                                "function" == typeof this._config.offset ? e.fn = function(e) {
                                    return e.offsets = _({}, e.offsets, t._config.offset(e.offsets) || {}), e
                                } : e.offset = this._config.offset;
                                var n = {
                                    placement: this._getPlacement(),
                                    modifiers: {
                                        offset: e,
                                        flip: {
                                            enabled: this._config.flip
                                        },
                                        preventOverflow: {
                                            boundariesElement: this._config.boundary
                                        }
                                    }
                                };
                                return "static" === this._config.display && (n.modifiers.applyStyle = {
                                    enabled: !1
                                }), n
                            }, u._jQueryInterface = function(n) {
                                return this.each(function() {
                                    var e = c(this).data(f),
                                        t = "object" == typeof n ? n : null;
                                    if (e || (e = new u(this, t), c(this).data(f, e)), "string" == typeof n) {
                                        if (void 0 === e[n]) throw new TypeError('No method named "' + n + '"');
                                        e[n]()
                                    }
                                })
                            }, u._clearMenus = function(e) {
                                if (!e || 3 !== e.which && ("keyup" !== e.type || 9 === e.which))
                                    for (var t = [].slice.call(document.querySelectorAll(p.DATA_TOGGLE)), n = 0, i = t.length; n < i; n++) {
                                        var r = u._getParentFromElement(t[n]),
                                            o = c(t[n]).data(f),
                                            a = {
                                                relatedTarget: t[n]
                                            };
                                        if (e && "click" === e.type && (a.clickEvent = e), o) {
                                            var s = o._menu;
                                            if (c(r).hasClass(h.SHOW) && !(e && ("click" === e.type && /input|textarea/i.test(e.target.tagName) || "keyup" === e.type && 9 === e.which) && c.contains(r, e.target))) {
                                                var l = c.Event(d.HIDE, a);
                                                c(r).trigger(l), l.isDefaultPrevented() || ("ontouchstart" in document.documentElement && c(document.body).children().off("mouseover", null, c.noop), t[n].setAttribute("aria-expanded", "false"), c(s).removeClass(h.SHOW), c(r).removeClass(h.SHOW).trigger(c.Event(d.HIDDEN, a)))
                                            }
                                        }
                                    }
                            }, u._getParentFromElement = function(e) {
                                var t, n = E.getSelectorFromElement(e);
                                return n && (t = document.querySelector(n)), t || e.parentNode
                            }, u._dataApiKeydownHandler = function(e) {
                                if ((/input|textarea/i.test(e.target.tagName) ? !(32 === e.which || 27 !== e.which && (40 !== e.which && 38 !== e.which || c(e.target).closest(p.MENU).length)) : a.test(e.which)) && (e.preventDefault(), e.stopPropagation(), !this.disabled && !c(this).hasClass(h.DISABLED))) {
                                    var t = u._getParentFromElement(this),
                                        n = c(t).hasClass(h.SHOW);
                                    if ((n || 27 === e.which && 32 === e.which) && (!n || 27 !== e.which && 32 !== e.which)) {
                                        var i = [].slice.call(t.querySelectorAll(p.VISIBLE_ITEMS));
                                        if (0 !== i.length) {
                                            var r = i.indexOf(e.target);
                                            38 === e.which && 0 < r && r--, 40 === e.which && r < i.length - 1 && r++, r < 0 && (r = 0), i[r].focus()
                                        }
                                    } else {
                                        if (27 === e.which) {
                                            var o = t.querySelector(p.DATA_TOGGLE);
                                            c(o).trigger("focus")
                                        }
                                        c(this).trigger("click")
                                    }
                                }
                            }, b(u, null, [{
                                key: "VERSION",
                                get: function() {
                                    return "4.1.2"
                                }
                            }, {
                                key: "Default",
                                get: function() {
                                    return o
                                }
                            }, {
                                key: "DefaultType",
                                get: function() {
                                    return s
                                }
                            }]), u
                        }();
                    return c(document).on(d.KEYDOWN_DATA_API, p.DATA_TOGGLE, l._dataApiKeydownHandler).on(d.KEYDOWN_DATA_API, p.MENU, l._dataApiKeydownHandler).on(d.CLICK_DATA_API + " " + d.KEYUP_DATA_API, l._clearMenus).on(d.CLICK_DATA_API, p.DATA_TOGGLE, function(e) {
                        e.preventDefault(), e.stopPropagation(), l._jQueryInterface.call(c(this), "toggle")
                    }).on(d.CLICK_DATA_API, p.FORM_CHILD, function(e) {
                        e.stopPropagation()
                    }), c.fn[t] = l._jQueryInterface, c.fn[t].Constructor = l, c.fn[t].noConflict = function() {
                        return c.fn[t] = i, l._jQueryInterface
                    }, l
                }(t),
                u = function(a) {
                    var t = "modal",
                        s = "bs.modal",
                        n = "." + s,
                        e = a.fn[t],
                        o = {
                            backdrop: !0,
                            keyboard: !0,
                            focus: !0,
                            show: !0
                        },
                        i = {
                            backdrop: "(boolean|string)",
                            keyboard: "boolean",
                            focus: "boolean",
                            show: "boolean"
                        },
                        l = {
                            HIDE: "hide" + n,
                            HIDDEN: "hidden" + n,
                            SHOW: "show" + n,
                            SHOWN: "shown" + n,
                            FOCUSIN: "focusin" + n,
                            RESIZE: "resize" + n,
                            CLICK_DISMISS: "click.dismiss" + n,
                            KEYDOWN_DISMISS: "keydown.dismiss" + n,
                            MOUSEUP_DISMISS: "mouseup.dismiss" + n,
                            MOUSEDOWN_DISMISS: "mousedown.dismiss" + n,
                            CLICK_DATA_API: "click" + n + ".data-api"
                        },
                        u = {
                            SCROLLBAR_MEASURER: "modal-scrollbar-measure",
                            BACKDROP: "modal-backdrop",
                            OPEN: "modal-open",
                            FADE: "fade",
                            SHOW: "show"
                        },
                        c = {
                            DIALOG: ".modal-dialog",
                            DATA_TOGGLE: '[data-toggle="modal"]',
                            DATA_DISMISS: '[data-dismiss="modal"]',
                            FIXED_CONTENT: ".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",
                            STICKY_CONTENT: ".sticky-top"
                        },
                        f = function() {
                            function r(e, t) {
                                this._config = this._getConfig(t), this._element = e, this._dialog = e.querySelector(c.DIALOG), this._backdrop = null, this._isShown = !1, this._isBodyOverflowing = !1, this._ignoreBackdropClick = !1, this._scrollbarWidth = 0
                            }
                            var e = r.prototype;
                            return e.toggle = function(e) {
                                return this._isShown ? this.hide() : this.show(e)
                            }, e.show = function(e) {
                                var t = this;
                                if (!this._isTransitioning && !this._isShown) {
                                    a(this._element).hasClass(u.FADE) && (this._isTransitioning = !0);
                                    var n = a.Event(l.SHOW, {
                                        relatedTarget: e
                                    });
                                    a(this._element).trigger(n), this._isShown || n.isDefaultPrevented() || (this._isShown = !0, this._checkScrollbar(), this._setScrollbar(), this._adjustDialog(), a(document.body).addClass(u.OPEN), this._setEscapeEvent(), this._setResizeEvent(), a(this._element).on(l.CLICK_DISMISS, c.DATA_DISMISS, function(e) {
                                        return t.hide(e)
                                    }), a(this._dialog).on(l.MOUSEDOWN_DISMISS, function() {
                                        a(t._element).one(l.MOUSEUP_DISMISS, function(e) {
                                            a(e.target).is(t._element) && (t._ignoreBackdropClick = !0)
                                        })
                                    }), this._showBackdrop(function() {
                                        return t._showElement(e)
                                    }))
                                }
                            }, e.hide = function(e) {
                                var t = this;
                                if (e && e.preventDefault(), !this._isTransitioning && this._isShown) {
                                    var n = a.Event(l.HIDE);
                                    if (a(this._element).trigger(n), this._isShown && !n.isDefaultPrevented()) {
                                        this._isShown = !1;
                                        var i = a(this._element).hasClass(u.FADE);
                                        if (i && (this._isTransitioning = !0), this._setEscapeEvent(), this._setResizeEvent(), a(document).off(l.FOCUSIN), a(this._element).removeClass(u.SHOW), a(this._element).off(l.CLICK_DISMISS), a(this._dialog).off(l.MOUSEDOWN_DISMISS), i) {
                                            var r = E.getTransitionDurationFromElement(this._element);
                                            a(this._element).one(E.TRANSITION_END, function(e) {
                                                return t._hideModal(e)
                                            }).emulateTransitionEnd(r)
                                        } else this._hideModal()
                                    }
                                }
                            }, e.dispose = function() {
                                a.removeData(this._element, s), a(window, document, this._element, this._backdrop).off(n), this._config = null, this._element = null, this._dialog = null, this._backdrop = null, this._isShown = null, this._isBodyOverflowing = null, this._ignoreBackdropClick = null, this._scrollbarWidth = null
                            }, e.handleUpdate = function() {
                                this._adjustDialog()
                            }, e._getConfig = function(e) {
                                return e = _({}, o, e), E.typeCheckConfig(t, e, i), e
                            }, e._showElement = function(e) {
                                var t = this,
                                    n = a(this._element).hasClass(u.FADE);
                                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.scrollTop = 0, n && E.reflow(this._element), a(this._element).addClass(u.SHOW), this._config.focus && this._enforceFocus();
                                var i = a.Event(l.SHOWN, {
                                        relatedTarget: e
                                    }),
                                    r = function() {
                                        t._config.focus && t._element.focus(), t._isTransitioning = !1, a(t._element).trigger(i)
                                    };
                                if (n) {
                                    var o = E.getTransitionDurationFromElement(this._element);
                                    a(this._dialog).one(E.TRANSITION_END, r).emulateTransitionEnd(o)
                                } else r()
                            }, e._enforceFocus = function() {
                                var t = this;
                                a(document).off(l.FOCUSIN).on(l.FOCUSIN, function(e) {
                                    document !== e.target && t._element !== e.target && 0 === a(t._element).has(e.target).length && t._element.focus()
                                })
                            }, e._setEscapeEvent = function() {
                                var t = this;
                                this._isShown && this._config.keyboard ? a(this._element).on(l.KEYDOWN_DISMISS, function(e) {
                                    27 === e.which && (e.preventDefault(), t.hide())
                                }) : this._isShown || a(this._element).off(l.KEYDOWN_DISMISS)
                            }, e._setResizeEvent = function() {
                                var t = this;
                                this._isShown ? a(window).on(l.RESIZE, function(e) {
                                    return t.handleUpdate(e)
                                }) : a(window).off(l.RESIZE)
                            }, e._hideModal = function() {
                                var e = this;
                                this._element.style.display = "none", this._element.setAttribute("aria-hidden", !0), this._isTransitioning = !1, this._showBackdrop(function() {
                                    a(document.body).removeClass(u.OPEN), e._resetAdjustments(), e._resetScrollbar(), a(e._element).trigger(l.HIDDEN)
                                })
                            }, e._removeBackdrop = function() {
                                this._backdrop && (a(this._backdrop).remove(), this._backdrop = null)
                            }, e._showBackdrop = function(e) {
                                var t = this,
                                    n = a(this._element).hasClass(u.FADE) ? u.FADE : "";
                                if (this._isShown && this._config.backdrop) {
                                    if (this._backdrop = document.createElement("div"), this._backdrop.className = u.BACKDROP, n && this._backdrop.classList.add(n), a(this._backdrop).appendTo(document.body), a(this._element).on(l.CLICK_DISMISS, function(e) {
                                            t._ignoreBackdropClick ? t._ignoreBackdropClick = !1 : e.target === e.currentTarget && ("static" === t._config.backdrop ? t._element.focus() : t.hide())
                                        }), n && E.reflow(this._backdrop), a(this._backdrop).addClass(u.SHOW), !e) return;
                                    if (!n) return void e();
                                    var i = E.getTransitionDurationFromElement(this._backdrop);
                                    a(this._backdrop).one(E.TRANSITION_END, e).emulateTransitionEnd(i)
                                } else if (!this._isShown && this._backdrop) {
                                    a(this._backdrop).removeClass(u.SHOW);
                                    var r = function() {
                                        t._removeBackdrop(), e && e()
                                    };
                                    if (a(this._element).hasClass(u.FADE)) {
                                        var o = E.getTransitionDurationFromElement(this._backdrop);
                                        a(this._backdrop).one(E.TRANSITION_END, r).emulateTransitionEnd(o)
                                    } else r()
                                } else e && e()
                            }, e._adjustDialog = function() {
                                var e = this._element.scrollHeight > document.documentElement.clientHeight;
                                !this._isBodyOverflowing && e && (this._element.style.paddingLeft = this._scrollbarWidth + "px"), this._isBodyOverflowing && !e && (this._element.style.paddingRight = this._scrollbarWidth + "px")
                            }, e._resetAdjustments = function() {
                                this._element.style.paddingLeft = "", this._element.style.paddingRight = ""
                            }, e._checkScrollbar = function() {
                                var e = document.body.getBoundingClientRect();
                                this._isBodyOverflowing = e.left + e.right < window.innerWidth, this._scrollbarWidth = this._getScrollbarWidth()
                            }, e._setScrollbar = function() {
                                var r = this;
                                if (this._isBodyOverflowing) {
                                    var e = [].slice.call(document.querySelectorAll(c.FIXED_CONTENT)),
                                        t = [].slice.call(document.querySelectorAll(c.STICKY_CONTENT));
                                    a(e).each(function(e, t) {
                                        var n = t.style.paddingRight,
                                            i = a(t).css("padding-right");
                                        a(t).data("padding-right", n).css("padding-right", parseFloat(i) + r._scrollbarWidth + "px")
                                    }), a(t).each(function(e, t) {
                                        var n = t.style.marginRight,
                                            i = a(t).css("margin-right");
                                        a(t).data("margin-right", n).css("margin-right", parseFloat(i) - r._scrollbarWidth + "px")
                                    });
                                    var n = document.body.style.paddingRight,
                                        i = a(document.body).css("padding-right");
                                    a(document.body).data("padding-right", n).css("padding-right", parseFloat(i) + this._scrollbarWidth + "px")
                                }
                            }, e._resetScrollbar = function() {
                                var e = [].slice.call(document.querySelectorAll(c.FIXED_CONTENT));
                                a(e).each(function(e, t) {
                                    var n = a(t).data("padding-right");
                                    a(t).removeData("padding-right"), t.style.paddingRight = n || ""
                                });
                                var t = [].slice.call(document.querySelectorAll("" + c.STICKY_CONTENT));
                                a(t).each(function(e, t) {
                                    var n = a(t).data("margin-right");
                                    void 0 !== n && a(t).css("margin-right", n).removeData("margin-right")
                                });
                                var n = a(document.body).data("padding-right");
                                a(document.body).removeData("padding-right"), document.body.style.paddingRight = n || ""
                            }, e._getScrollbarWidth = function() {
                                var e = document.createElement("div");
                                e.className = u.SCROLLBAR_MEASURER, document.body.appendChild(e);
                                var t = e.getBoundingClientRect().width - e.clientWidth;
                                return document.body.removeChild(e), t
                            }, r._jQueryInterface = function(n, i) {
                                return this.each(function() {
                                    var e = a(this).data(s),
                                        t = _({}, o, a(this).data(), "object" == typeof n && n ? n : {});
                                    if (e || (e = new r(this, t), a(this).data(s, e)), "string" == typeof n) {
                                        if (void 0 === e[n]) throw new TypeError('No method named "' + n + '"');
                                        e[n](i)
                                    } else t.show && e.show(i)
                                })
                            }, b(r, null, [{
                                key: "VERSION",
                                get: function() {
                                    return "4.1.2"
                                }
                            }, {
                                key: "Default",
                                get: function() {
                                    return o
                                }
                            }]), r
                        }();
                    return a(document).on(l.CLICK_DATA_API, c.DATA_TOGGLE, function(e) {
                        var t, n = this,
                            i = E.getSelectorFromElement(this);
                        i && (t = document.querySelector(i));
                        var r = a(t).data(s) ? "toggle" : _({}, a(t).data(), a(this).data());
                        "A" !== this.tagName && "AREA" !== this.tagName || e.preventDefault();
                        var o = a(t).one(l.SHOW, function(e) {
                            e.isDefaultPrevented() || o.one(l.HIDDEN, function() {
                                a(n).is(":visible") && n.focus()
                            })
                        });
                        f._jQueryInterface.call(a(t), r, this)
                    }), a.fn[t] = f._jQueryInterface, a.fn[t].Constructor = f, a.fn[t].noConflict = function() {
                        return a.fn[t] = e, f._jQueryInterface
                    }, f
                }(t),
                p = function(c) {
                    var t = "tooltip",
                        r = "bs.tooltip",
                        n = "." + r,
                        e = c.fn[t],
                        o = "bs-tooltip",
                        a = new RegExp("(^|\\s)" + o + "\\S+", "g"),
                        s = {
                            animation: "boolean",
                            template: "string",
                            title: "(string|element|function)",
                            trigger: "string",
                            delay: "(number|object)",
                            html: "boolean",
                            selector: "(string|boolean)",
                            placement: "(string|function)",
                            offset: "(number|string)",
                            container: "(string|element|boolean)",
                            fallbackPlacement: "(string|array)",
                            boundary: "(string|element)"
                        },
                        l = {
                            AUTO: "auto",
                            TOP: "top",
                            RIGHT: "right",
                            BOTTOM: "bottom",
                            LEFT: "left"
                        },
                        u = {
                            animation: !0,
                            template: '<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',
                            trigger: "hover focus",
                            title: "",
                            delay: 0,
                            html: !1,
                            selector: !1,
                            placement: "top",
                            offset: 0,
                            container: !1,
                            fallbackPlacement: "flip",
                            boundary: "scrollParent"
                        },
                        f = {
                            SHOW: "show",
                            OUT: "out"
                        },
                        d = {
                            HIDE: "hide" + n,
                            HIDDEN: "hidden" + n,
                            SHOW: "show" + n,
                            SHOWN: "shown" + n,
                            INSERTED: "inserted" + n,
                            CLICK: "click" + n,
                            FOCUSIN: "focusin" + n,
                            FOCUSOUT: "focusout" + n,
                            MOUSEENTER: "mouseenter" + n,
                            MOUSELEAVE: "mouseleave" + n
                        },
                        h = {
                            FADE: "fade",
                            SHOW: "show"
                        },
                        p = {
                            TOOLTIP: ".tooltip",
                            TOOLTIP_INNER: ".tooltip-inner",
                            ARROW: ".arrow"
                        },
                        g = {
                            HOVER: "hover",
                            FOCUS: "focus",
                            CLICK: "click",
                            MANUAL: "manual"
                        },
                        i = function() {
                            function i(e, t) {
                                if (void 0 === m) throw new TypeError("Bootstrap tooltips require Popper.js (https://popper.js.org)");
                                this._isEnabled = !0, this._timeout = 0, this._hoverState = "", this._activeTrigger = {}, this._popper = null, this.element = e, this.config = this._getConfig(t), this.tip = null, this._setListeners()
                            }
                            var e = i.prototype;
                            return e.enable = function() {
                                this._isEnabled = !0
                            }, e.disable = function() {
                                this._isEnabled = !1
                            }, e.toggleEnabled = function() {
                                this._isEnabled = !this._isEnabled
                            }, e.toggle = function(e) {
                                if (this._isEnabled)
                                    if (e) {
                                        var t = this.constructor.DATA_KEY,
                                            n = c(e.currentTarget).data(t);
                                        n || (n = new this.constructor(e.currentTarget, this._getDelegateConfig()), c(e.currentTarget).data(t, n)), n._activeTrigger.click = !n._activeTrigger.click, n._isWithActiveTrigger() ? n._enter(null, n) : n._leave(null, n)
                                    } else {
                                        if (c(this.getTipElement()).hasClass(h.SHOW)) return void this._leave(null, this);
                                        this._enter(null, this)
                                    }
                            }, e.dispose = function() {
                                clearTimeout(this._timeout), c.removeData(this.element, this.constructor.DATA_KEY), c(this.element).off(this.constructor.EVENT_KEY), c(this.element).closest(".modal").off("hide.bs.modal"), this.tip && c(this.tip).remove(), this._isEnabled = null, this._timeout = null, this._hoverState = null, (this._activeTrigger = null) !== this._popper && this._popper.destroy(), this._popper = null, this.element = null, this.config = null, this.tip = null
                            }, e.show = function() {
                                var t = this;
                                if ("none" === c(this.element).css("display")) throw new Error("Please use show on visible elements");
                                var e = c.Event(this.constructor.Event.SHOW);
                                if (this.isWithContent() && this._isEnabled) {
                                    c(this.element).trigger(e);
                                    var n = c.contains(this.element.ownerDocument.documentElement, this.element);
                                    if (e.isDefaultPrevented() || !n) return;
                                    var i = this.getTipElement(),
                                        r = E.getUID(this.constructor.NAME);
                                    i.setAttribute("id", r), this.element.setAttribute("aria-describedby", r), this.setContent(), this.config.animation && c(i).addClass(h.FADE);
                                    var o = "function" == typeof this.config.placement ? this.config.placement.call(this, i, this.element) : this.config.placement,
                                        a = this._getAttachment(o);
                                    this.addAttachmentClass(a);
                                    var s = !1 === this.config.container ? document.body : c(document).find(this.config.container);
                                    c(i).data(this.constructor.DATA_KEY, this), c.contains(this.element.ownerDocument.documentElement, this.tip) || c(i).appendTo(s), c(this.element).trigger(this.constructor.Event.INSERTED), this._popper = new m(this.element, i, {
                                        placement: a,
                                        modifiers: {
                                            offset: {
                                                offset: this.config.offset
                                            },
                                            flip: {
                                                behavior: this.config.fallbackPlacement
                                            },
                                            arrow: {
                                                element: p.ARROW
                                            },
                                            preventOverflow: {
                                                boundariesElement: this.config.boundary
                                            }
                                        },
                                        onCreate: function(e) {
                                            e.originalPlacement !== e.placement && t._handlePopperPlacementChange(e)
                                        },
                                        onUpdate: function(e) {
                                            t._handlePopperPlacementChange(e)
                                        }
                                    }), c(i).addClass(h.SHOW), "ontouchstart" in document.documentElement && c(document.body).children().on("mouseover", null, c.noop);
                                    var l = function() {
                                        t.config.animation && t._fixTransition();
                                        var e = t._hoverState;
                                        t._hoverState = null, c(t.element).trigger(t.constructor.Event.SHOWN), e === f.OUT && t._leave(null, t)
                                    };
                                    if (c(this.tip).hasClass(h.FADE)) {
                                        var u = E.getTransitionDurationFromElement(this.tip);
                                        c(this.tip).one(E.TRANSITION_END, l).emulateTransitionEnd(u)
                                    } else l()
                                }
                            }, e.hide = function(e) {
                                var t = this,
                                    n = this.getTipElement(),
                                    i = c.Event(this.constructor.Event.HIDE),
                                    r = function() {
                                        t._hoverState !== f.SHOW && n.parentNode && n.parentNode.removeChild(n), t._cleanTipClass(), t.element.removeAttribute("aria-describedby"), c(t.element).trigger(t.constructor.Event.HIDDEN), null !== t._popper && t._popper.destroy(), e && e()
                                    };
                                if (c(this.element).trigger(i), !i.isDefaultPrevented()) {
                                    if (c(n).removeClass(h.SHOW), "ontouchstart" in document.documentElement && c(document.body).children().off("mouseover", null, c.noop), this._activeTrigger[g.CLICK] = !1, this._activeTrigger[g.FOCUS] = !1, this._activeTrigger[g.HOVER] = !1, c(this.tip).hasClass(h.FADE)) {
                                        var o = E.getTransitionDurationFromElement(n);
                                        c(n).one(E.TRANSITION_END, r).emulateTransitionEnd(o)
                                    } else r();
                                    this._hoverState = ""
                                }
                            }, e.update = function() {
                                null !== this._popper && this._popper.scheduleUpdate()
                            }, e.isWithContent = function() {
                                return Boolean(this.getTitle())
                            }, e.addAttachmentClass = function(e) {
                                c(this.getTipElement()).addClass(o + "-" + e)
                            }, e.getTipElement = function() {
                                return this.tip = this.tip || c(this.config.template)[0], this.tip
                            }, e.setContent = function() {
                                var e = this.getTipElement();
                                this.setElementContent(c(e.querySelectorAll(p.TOOLTIP_INNER)), this.getTitle()), c(e).removeClass(h.FADE + " " + h.SHOW)
                            }, e.setElementContent = function(e, t) {
                                var n = this.config.html;
                                "object" == typeof t && (t.nodeType || t.jquery) ? n ? c(t).parent().is(e) || e.empty().append(t) : e.text(c(t).text()) : e[n ? "html" : "text"](t)
                            }, e.getTitle = function() {
                                var e = this.element.getAttribute("data-original-title");
                                return e || (e = "function" == typeof this.config.title ? this.config.title.call(this.element) : this.config.title), e
                            }, e._getAttachment = function(e) {
                                return l[e.toUpperCase()]
                            }, e._setListeners = function() {
                                var i = this,
                                    e = this.config.trigger.split(" ");
                                e.forEach(function(e) {
                                    if ("click" === e) c(i.element).on(i.constructor.Event.CLICK, i.config.selector, function(e) {
                                        return i.toggle(e)
                                    });
                                    else if (e !== g.MANUAL) {
                                        var t = e === g.HOVER ? i.constructor.Event.MOUSEENTER : i.constructor.Event.FOCUSIN,
                                            n = e === g.HOVER ? i.constructor.Event.MOUSELEAVE : i.constructor.Event.FOCUSOUT;
                                        c(i.element).on(t, i.config.selector, function(e) {
                                            return i._enter(e)
                                        }).on(n, i.config.selector, function(e) {
                                            return i._leave(e)
                                        })
                                    }
                                    c(i.element).closest(".modal").on("hide.bs.modal", function() {
                                        return i.hide()
                                    })
                                }), this.config.selector ? this.config = _({}, this.config, {
                                    trigger: "manual",
                                    selector: ""
                                }) : this._fixTitle()
                            }, e._fixTitle = function() {
                                var e = typeof this.element.getAttribute("data-original-title");
                                (this.element.getAttribute("title") || "string" !== e) && (this.element.setAttribute("data-original-title", this.element.getAttribute("title") || ""), this.element.setAttribute("title", ""))
                            }, e._enter = function(e, t) {
                                var n = this.constructor.DATA_KEY;
                                (t = t || c(e.currentTarget).data(n)) || (t = new this.constructor(e.currentTarget, this._getDelegateConfig()), c(e.currentTarget).data(n, t)), e && (t._activeTrigger["focusin" === e.type ? g.FOCUS : g.HOVER] = !0), c(t.getTipElement()).hasClass(h.SHOW) || t._hoverState === f.SHOW ? t._hoverState = f.SHOW : (clearTimeout(t._timeout), t._hoverState = f.SHOW, t.config.delay && t.config.delay.show ? t._timeout = setTimeout(function() {
                                    t._hoverState === f.SHOW && t.show()
                                }, t.config.delay.show) : t.show())
                            }, e._leave = function(e, t) {
                                var n = this.constructor.DATA_KEY;
                                (t = t || c(e.currentTarget).data(n)) || (t = new this.constructor(e.currentTarget, this._getDelegateConfig()), c(e.currentTarget).data(n, t)), e && (t._activeTrigger["focusout" === e.type ? g.FOCUS : g.HOVER] = !1), t._isWithActiveTrigger() || (clearTimeout(t._timeout), t._hoverState = f.OUT, t.config.delay && t.config.delay.hide ? t._timeout = setTimeout(function() {
                                    t._hoverState === f.OUT && t.hide()
                                }, t.config.delay.hide) : t.hide())
                            }, e._isWithActiveTrigger = function() {
                                for (var e in this._activeTrigger)
                                    if (this._activeTrigger[e]) return !0;
                                return !1
                            }, e._getConfig = function(e) {
                                return "number" == typeof(e = _({}, this.constructor.Default, c(this.element).data(), "object" == typeof e && e ? e : {})).delay && (e.delay = {
                                    show: e.delay,
                                    hide: e.delay
                                }), "number" == typeof e.title && (e.title = e.title.toString()), "number" == typeof e.content && (e.content = e.content.toString()), E.typeCheckConfig(t, e, this.constructor.DefaultType), e
                            }, e._getDelegateConfig = function() {
                                var e = {};
                                if (this.config)
                                    for (var t in this.config) this.constructor.Default[t] !== this.config[t] && (e[t] = this.config[t]);
                                return e
                            }, e._cleanTipClass = function() {
                                var e = c(this.getTipElement()),
                                    t = e.attr("class").match(a);
                                null !== t && t.length && e.removeClass(t.join(""))
                            }, e._handlePopperPlacementChange = function(e) {
                                var t = e.instance;
                                this.tip = t.popper, this._cleanTipClass(), this.addAttachmentClass(this._getAttachment(e.placement))
                            }, e._fixTransition = function() {
                                var e = this.getTipElement(),
                                    t = this.config.animation;
                                null === e.getAttribute("x-placement") && (c(e).removeClass(h.FADE), this.config.animation = !1, this.hide(), this.show(), this.config.animation = t)
                            }, i._jQueryInterface = function(n) {
                                return this.each(function() {
                                    var e = c(this).data(r),
                                        t = "object" == typeof n && n;
                                    if ((e || !/dispose|hide/.test(n)) && (e || (e = new i(this, t), c(this).data(r, e)), "string" == typeof n)) {
                                        if (void 0 === e[n]) throw new TypeError('No method named "' + n + '"');
                                        e[n]()
                                    }
                                })
                            }, b(i, null, [{
                                key: "VERSION",
                                get: function() {
                                    return "4.1.2"
                                }
                            }, {
                                key: "Default",
                                get: function() {
                                    return u
                                }
                            }, {
                                key: "NAME",
                                get: function() {
                                    return t
                                }
                            }, {
                                key: "DATA_KEY",
                                get: function() {
                                    return r
                                }
                            }, {
                                key: "Event",
                                get: function() {
                                    return d
                                }
                            }, {
                                key: "EVENT_KEY",
                                get: function() {
                                    return n
                                }
                            }, {
                                key: "DefaultType",
                                get: function() {
                                    return s
                                }
                            }]), i
                        }();
                    return c.fn[t] = i._jQueryInterface, c.fn[t].Constructor = i, c.fn[t].noConflict = function() {
                        return c.fn[t] = e, i._jQueryInterface
                    }, i
                }(t),
                c = function(r) {
                    var n = "popover",
                        o = "bs.popover",
                        a = "." + o,
                        e = r.fn[n],
                        s = "bs-popover",
                        l = new RegExp("(^|\\s)" + s + "\\S+", "g"),
                        u = _({}, p.Default, {
                            placement: "right",
                            trigger: "click",
                            content: "",
                            template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'
                        }),
                        c = _({}, p.DefaultType, {
                            content: "(string|element|function)"
                        }),
                        f = {
                            FADE: "fade",
                            SHOW: "show"
                        },
                        d = {
                            TITLE: ".popover-header",
                            CONTENT: ".popover-body"
                        },
                        h = {
                            HIDE: "hide" + a,
                            HIDDEN: "hidden" + a,
                            SHOW: "show" + a,
                            SHOWN: "shown" + a,
                            INSERTED: "inserted" + a,
                            CLICK: "click" + a,
                            FOCUSIN: "focusin" + a,
                            FOCUSOUT: "focusout" + a,
                            MOUSEENTER: "mouseenter" + a,
                            MOUSELEAVE: "mouseleave" + a
                        },
                        t = function(e) {
                            function i() {
                                return e.apply(this, arguments) || this
                            }! function(e, t) {
                                e.prototype = Object.create(t.prototype), (e.prototype.constructor = e).__proto__ = t
                            }(i, e);
                            var t = i.prototype;
                            return t.isWithContent = function() {
                                return this.getTitle() || this._getContent()
                            }, t.addAttachmentClass = function(e) {
                                r(this.getTipElement()).addClass(s + "-" + e)
                            }, t.getTipElement = function() {
                                return this.tip = this.tip || r(this.config.template)[0], this.tip
                            }, t.setContent = function() {
                                var e = r(this.getTipElement());
                                this.setElementContent(e.find(d.TITLE), this.getTitle());
                                var t = this._getContent();
                                "function" == typeof t && (t = t.call(this.element)), this.setElementContent(e.find(d.CONTENT), t), e.removeClass(f.FADE + " " + f.SHOW)
                            }, t._getContent = function() {
                                return this.element.getAttribute("data-content") || this.config.content
                            }, t._cleanTipClass = function() {
                                var e = r(this.getTipElement()),
                                    t = e.attr("class").match(l);
                                null !== t && 0 < t.length && e.removeClass(t.join(""))
                            }, i._jQueryInterface = function(n) {
                                return this.each(function() {
                                    var e = r(this).data(o),
                                        t = "object" == typeof n ? n : null;
                                    if ((e || !/destroy|hide/.test(n)) && (e || (e = new i(this, t), r(this).data(o, e)), "string" == typeof n)) {
                                        if (void 0 === e[n]) throw new TypeError('No method named "' + n + '"');
                                        e[n]()
                                    }
                                })
                            }, b(i, null, [{
                                key: "VERSION",
                                get: function() {
                                    return "4.1.2"
                                }
                            }, {
                                key: "Default",
                                get: function() {
                                    return u
                                }
                            }, {
                                key: "NAME",
                                get: function() {
                                    return n
                                }
                            }, {
                                key: "DATA_KEY",
                                get: function() {
                                    return o
                                }
                            }, {
                                key: "Event",
                                get: function() {
                                    return h
                                }
                            }, {
                                key: "EVENT_KEY",
                                get: function() {
                                    return a
                                }
                            }, {
                                key: "DefaultType",
                                get: function() {
                                    return c
                                }
                            }]), i
                        }(p);
                    return r.fn[n] = t._jQueryInterface, r.fn[n].Constructor = t, r.fn[n].noConflict = function() {
                        return r.fn[n] = e, t._jQueryInterface
                    }, t
                }(t),
                f = function(a) {
                    var n = "scrollspy",
                        r = "bs.scrollspy",
                        t = "." + r,
                        e = a.fn[n],
                        o = {
                            offset: 10,
                            method: "auto",
                            target: ""
                        },
                        s = {
                            offset: "number",
                            method: "string",
                            target: "(string|element)"
                        },
                        l = {
                            ACTIVATE: "activate" + t,
                            SCROLL: "scroll" + t,
                            LOAD_DATA_API: "load" + t + ".data-api"
                        },
                        u = {
                            DROPDOWN_ITEM: "dropdown-item",
                            DROPDOWN_MENU: "dropdown-menu",
                            ACTIVE: "active"
                        },
                        c = {
                            DATA_SPY: '[data-spy="scroll"]',
                            ACTIVE: ".active",
                            NAV_LIST_GROUP: ".nav, .list-group",
                            NAV_LINKS: ".nav-link",
                            NAV_ITEMS: ".nav-item",
                            LIST_ITEMS: ".list-group-item",
                            DROPDOWN: ".dropdown",
                            DROPDOWN_ITEMS: ".dropdown-item",
                            DROPDOWN_TOGGLE: ".dropdown-toggle"
                        },
                        f = {
                            OFFSET: "offset",
                            POSITION: "position"
                        },
                        d = function() {
                            function i(e, t) {
                                var n = this;
                                this._element = e, this._scrollElement = "BODY" === e.tagName ? window : e, this._config = this._getConfig(t), this._selector = this._config.target + " " + c.NAV_LINKS + "," + this._config.target + " " + c.LIST_ITEMS + "," + this._config.target + " " + c.DROPDOWN_ITEMS, this._offsets = [], this._targets = [], this._activeTarget = null, this._scrollHeight = 0, a(this._scrollElement).on(l.SCROLL, function(e) {
                                    return n._process(e)
                                }), this.refresh(), this._process()
                            }
                            var e = i.prototype;
                            return e.refresh = function() {
                                var t = this,
                                    e = this._scrollElement === this._scrollElement.window ? f.OFFSET : f.POSITION,
                                    r = "auto" === this._config.method ? e : this._config.method,
                                    o = r === f.POSITION ? this._getScrollTop() : 0;
                                this._offsets = [], this._targets = [], this._scrollHeight = this._getScrollHeight();
                                var n = [].slice.call(document.querySelectorAll(this._selector));
                                n.map(function(e) {
                                    var t, n = E.getSelectorFromElement(e);
                                    if (n && (t = document.querySelector(n)), t) {
                                        var i = t.getBoundingClientRect();
                                        if (i.width || i.height) return [a(t)[r]().top + o, n]
                                    }
                                    return null
                                }).filter(function(e) {
                                    return e
                                }).sort(function(e, t) {
                                    return e[0] - t[0]
                                }).forEach(function(e) {
                                    t._offsets.push(e[0]), t._targets.push(e[1])
                                })
                            }, e.dispose = function() {
                                a.removeData(this._element, r), a(this._scrollElement).off(t), this._element = null, this._scrollElement = null, this._config = null, this._selector = null, this._offsets = null, this._targets = null, this._activeTarget = null, this._scrollHeight = null
                            }, e._getConfig = function(e) {
                                if ("string" != typeof(e = _({}, o, "object" == typeof e && e ? e : {})).target) {
                                    var t = a(e.target).attr("id");
                                    t || (t = E.getUID(n), a(e.target).attr("id", t)), e.target = "#" + t
                                }
                                return E.typeCheckConfig(n, e, s), e
                            }, e._getScrollTop = function() {
                                return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop
                            }, e._getScrollHeight = function() {
                                return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight)
                            }, e._getOffsetHeight = function() {
                                return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height
                            }, e._process = function() {
                                var e = this._getScrollTop() + this._config.offset,
                                    t = this._getScrollHeight(),
                                    n = this._config.offset + t - this._getOffsetHeight();
                                if (this._scrollHeight !== t && this.refresh(), n <= e) {
                                    var i = this._targets[this._targets.length - 1];
                                    this._activeTarget !== i && this._activate(i)
                                } else {
                                    if (this._activeTarget && e < this._offsets[0] && 0 < this._offsets[0]) return this._activeTarget = null, void this._clear();
                                    for (var r = this._offsets.length, o = r; o--;) {
                                        var a = this._activeTarget !== this._targets[o] && e >= this._offsets[o] && (void 0 === this._offsets[o + 1] || e < this._offsets[o + 1]);
                                        a && this._activate(this._targets[o])
                                    }
                                }
                            }, e._activate = function(t) {
                                this._activeTarget = t, this._clear();
                                var e = this._selector.split(",");
                                e = e.map(function(e) {
                                    return e + '[data-target="' + t + '"],' + e + '[href="' + t + '"]'
                                });
                                var n = a([].slice.call(document.querySelectorAll(e.join(","))));
                                n.hasClass(u.DROPDOWN_ITEM) ? (n.closest(c.DROPDOWN).find(c.DROPDOWN_TOGGLE).addClass(u.ACTIVE), n.addClass(u.ACTIVE)) : (n.addClass(u.ACTIVE), n.parents(c.NAV_LIST_GROUP).prev(c.NAV_LINKS + ", " + c.LIST_ITEMS).addClass(u.ACTIVE), n.parents(c.NAV_LIST_GROUP).prev(c.NAV_ITEMS).children(c.NAV_LINKS).addClass(u.ACTIVE)), a(this._scrollElement).trigger(l.ACTIVATE, {
                                    relatedTarget: t
                                })
                            }, e._clear = function() {
                                var e = [].slice.call(document.querySelectorAll(this._selector));
                                a(e).filter(c.ACTIVE).removeClass(u.ACTIVE)
                            }, i._jQueryInterface = function(n) {
                                return this.each(function() {
                                    var e = a(this).data(r),
                                        t = "object" == typeof n && n;
                                    if (e || (e = new i(this, t), a(this).data(r, e)), "string" == typeof n) {
                                        if (void 0 === e[n]) throw new TypeError('No method named "' + n + '"');
                                        e[n]()
                                    }
                                })
                            }, b(i, null, [{
                                key: "VERSION",
                                get: function() {
                                    return "4.1.2"
                                }
                            }, {
                                key: "Default",
                                get: function() {
                                    return o
                                }
                            }]), i
                        }();
                    return a(window).on(l.LOAD_DATA_API, function() {
                        for (var e = [].slice.call(document.querySelectorAll(c.DATA_SPY)), t = e.length, n = t; n--;) {
                            var i = a(e[n]);
                            d._jQueryInterface.call(i, i.data())
                        }
                    }), a.fn[n] = d._jQueryInterface, a.fn[n].Constructor = d, a.fn[n].noConflict = function() {
                        return a.fn[n] = e, d._jQueryInterface
                    }, d
                }(t),
                d = function(u) {
                    var r = "bs.tab",
                        e = "." + r,
                        t = u.fn.tab,
                        c = {
                            HIDE: "hide" + e,
                            HIDDEN: "hidden" + e,
                            SHOW: "show" + e,
                            SHOWN: "shown" + e,
                            CLICK_DATA_API: "click" + e + ".data-api"
                        },
                        f = {
                            DROPDOWN_MENU: "dropdown-menu",
                            ACTIVE: "active",
                            DISABLED: "disabled",
                            FADE: "fade",
                            SHOW: "show"
                        },
                        d = {
                            DROPDOWN: ".dropdown",
                            NAV_LIST_GROUP: ".nav, .list-group",
                            ACTIVE: ".active",
                            ACTIVE_UL: "> li > .active",
                            DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
                            DROPDOWN_TOGGLE: ".dropdown-toggle",
                            DROPDOWN_ACTIVE_CHILD: "> .dropdown-menu .active"
                        },
                        n = function() {
                            function i(e) {
                                this._element = e
                            }
                            var e = i.prototype;
                            return e.show = function() {
                                var n = this;
                                if (!(this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && u(this._element).hasClass(f.ACTIVE) || u(this._element).hasClass(f.DISABLED))) {
                                    var e, i, t = u(this._element).closest(d.NAV_LIST_GROUP)[0],
                                        r = E.getSelectorFromElement(this._element);
                                    if (t) {
                                        var o = "UL" === t.nodeName ? d.ACTIVE_UL : d.ACTIVE;
                                        i = (i = u.makeArray(u(t).find(o)))[i.length - 1]
                                    }
                                    var a = u.Event(c.HIDE, {
                                            relatedTarget: this._element
                                        }),
                                        s = u.Event(c.SHOW, {
                                            relatedTarget: i
                                        });
                                    if (i && u(i).trigger(a), u(this._element).trigger(s), !s.isDefaultPrevented() && !a.isDefaultPrevented()) {
                                        r && (e = document.querySelector(r)), this._activate(this._element, t);
                                        var l = function() {
                                            var e = u.Event(c.HIDDEN, {
                                                    relatedTarget: n._element
                                                }),
                                                t = u.Event(c.SHOWN, {
                                                    relatedTarget: i
                                                });
                                            u(i).trigger(e), u(n._element).trigger(t)
                                        };
                                        e ? this._activate(e, e.parentNode, l) : l()
                                    }
                                }
                            }, e.dispose = function() {
                                u.removeData(this._element, r), this._element = null
                            }, e._activate = function(e, t, n) {
                                var i = this,
                                    r = ("UL" === t.nodeName ? u(t).find(d.ACTIVE_UL) : u(t).children(d.ACTIVE))[0],
                                    o = n && r && u(r).hasClass(f.FADE),
                                    a = function() {
                                        return i._transitionComplete(e, r, n)
                                    };
                                if (r && o) {
                                    var s = E.getTransitionDurationFromElement(r);
                                    u(r).one(E.TRANSITION_END, a).emulateTransitionEnd(s)
                                } else a()
                            }, e._transitionComplete = function(e, t, n) {
                                if (t) {
                                    u(t).removeClass(f.SHOW + " " + f.ACTIVE);
                                    var i = u(t.parentNode).find(d.DROPDOWN_ACTIVE_CHILD)[0];
                                    i && u(i).removeClass(f.ACTIVE), "tab" === t.getAttribute("role") && t.setAttribute("aria-selected", !1)
                                }
                                if (u(e).addClass(f.ACTIVE), "tab" === e.getAttribute("role") && e.setAttribute("aria-selected", !0), E.reflow(e), u(e).addClass(f.SHOW), e.parentNode && u(e.parentNode).hasClass(f.DROPDOWN_MENU)) {
                                    var r = u(e).closest(d.DROPDOWN)[0];
                                    if (r) {
                                        var o = [].slice.call(r.querySelectorAll(d.DROPDOWN_TOGGLE));
                                        u(o).addClass(f.ACTIVE)
                                    }
                                    e.setAttribute("aria-expanded", !0)
                                }
                                n && n()
                            }, i._jQueryInterface = function(n) {
                                return this.each(function() {
                                    var e = u(this),
                                        t = e.data(r);
                                    if (t || (t = new i(this), e.data(r, t)), "string" == typeof n) {
                                        if (void 0 === t[n]) throw new TypeError('No method named "' + n + '"');
                                        t[n]()
                                    }
                                })
                            }, b(i, null, [{
                                key: "VERSION",
                                get: function() {
                                    return "4.1.2"
                                }
                            }]), i
                        }();
                    return u(document).on(c.CLICK_DATA_API, d.DATA_TOGGLE, function(e) {
                        e.preventDefault(), n._jQueryInterface.call(u(this), "show")
                    }), u.fn.tab = n._jQueryInterface, u.fn.tab.Constructor = n, u.fn.tab.noConflict = function() {
                        return u.fn.tab = t, n._jQueryInterface
                    }, n
                }(t);
            (function(e) {
                if (void 0 === e) throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");
                var t = e.fn.jquery.split(" ")[0].split(".");
                if (t[0] < 2 && t[1] < 9 || 1 === t[0] && 9 === t[1] && t[2] < 1 || 4 <= t[0]) throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")
            })(t), e.Util = E, e.Alert = n, e.Button = o, e.Carousel = a, e.Collapse = s, e.Dropdown = l, e.Modal = u, e.Popover = c, e.Scrollspy = f, e.Tab = d, e.Tooltip = p, Object.defineProperty(e, "__esModule", {
                value: !0
            })
        }(n, i(0), i(3))
    }()
}, function(e, Z, t) {
    "use strict";
    t.r(Z),
        function(e) {
            for (var t = "undefined" != typeof window && "undefined" != typeof document, n = ["Edge", "Trident", "Firefox"], i = 0, r = 0; r < n.length; r += 1)
                if (t && 0 <= navigator.userAgent.indexOf(n[r])) {
                    i = 1;
                    break
                }
            var a = t && window.Promise ? function(e) {
                var t = !1;
                return function() {
                    t || (t = !0, window.Promise.resolve().then(function() {
                        t = !1, e()
                    }))
                }
            } : function(e) {
                var t = !1;
                return function() {
                    t || (t = !0, setTimeout(function() {
                        t = !1, e()
                    }, i))
                }
            };

            function s(e) {
                return e && "[object Function]" === {}.toString.call(e)
            }

            function _(e, t) {
                if (1 !== e.nodeType) return [];
                var n = e.ownerDocument.defaultView.getComputedStyle(e, null);
                return t ? n[t] : n
            }

            function h(e) {
                return "HTML" === e.nodeName ? e : e.parentNode || e.host
            }

            function p(e) {
                if (!e) return document.body;
                switch (e.nodeName) {
                    case "HTML":
                    case "BODY":
                        return e.ownerDocument.body;
                    case "#document":
                        return e.body
                }
                var t = _(e),
                    n = t.overflow,
                    i = t.overflowX,
                    r = t.overflowY;
                return /(auto|scroll|overlay)/.test(n + r + i) ? e : p(h(e))
            }
            var o = t && !(!window.MSInputMethodContext || !document.documentMode),
                l = t && /MSIE 10/.test(navigator.userAgent);

            function g(e) {
                return 11 === e ? o : 10 === e ? l : o || l
            }

            function b(e) {
                if (!e) return document.documentElement;
                for (var t = g(10) ? document.body : null, n = e.offsetParent || null; n === t && e.nextElementSibling;) n = (e = e.nextElementSibling).offsetParent;
                var i = n && n.nodeName;
                return i && "BODY" !== i && "HTML" !== i ? -1 !== ["TH", "TD", "TABLE"].indexOf(n.nodeName) && "static" === _(n, "position") ? b(n) : n : e ? e.ownerDocument.documentElement : document.documentElement
            }

            function u(e) {
                return null !== e.parentNode ? u(e.parentNode) : e
            }

            function m(e, t) {
                if (!(e && e.nodeType && t && t.nodeType)) return document.documentElement;
                var n = e.compareDocumentPosition(t) & Node.DOCUMENT_POSITION_FOLLOWING,
                    i = n ? e : t,
                    r = n ? t : e,
                    o = document.createRange();
                o.setStart(i, 0), o.setEnd(r, 0);
                var a = o.commonAncestorContainer;
                if (e !== a && t !== a || i.contains(r)) return function(e) {
                    var t = e.nodeName;
                    return "BODY" !== t && ("HTML" === t || b(e.firstElementChild) === e)
                }(a) ? a : b(a);
                var s = u(e);
                return s.host ? m(s.host, t) : m(e, u(t).host)
            }

            function v(e) {
                var t = "top" === (1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : "top") ? "scrollTop" : "scrollLeft",
                    n = e.nodeName;
                if ("BODY" !== n && "HTML" !== n) return e[t];
                var i = e.ownerDocument.documentElement;
                return (e.ownerDocument.scrollingElement || i)[t]
            }

            function f(e, t) {
                var n = "x" === t ? "Left" : "Top",
                    i = "Left" === n ? "Right" : "Bottom";
                return parseFloat(e["border" + n + "Width"], 10) + parseFloat(e["border" + i + "Width"], 10)
            }

            function c(e, t, n, i) {
                return Math.max(t["offset" + e], t["scroll" + e], n["client" + e], n["offset" + e], n["scroll" + e], g(10) ? parseInt(n["offset" + e]) + parseInt(i["margin" + ("Height" === e ? "Top" : "Left")]) + parseInt(i["margin" + ("Height" === e ? "Bottom" : "Right")]) : 0)
            }

            function y(e) {
                var t = e.body,
                    n = e.documentElement,
                    i = g(10) && getComputedStyle(n);
                return {
                    height: c("Height", t, n, i),
                    width: c("Width", t, n, i)
                }
            }
            var d = function() {
                    function i(e, t) {
                        for (var n = 0; n < t.length; n++) {
                            var i = t[n];
                            i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
                        }
                    }
                    return function(e, t, n) {
                        return t && i(e.prototype, t), n && i(e, n), e
                    }
                }(),
                E = function(e, t, n) {
                    return t in e ? Object.defineProperty(e, t, {
                        value: n,
                        enumerable: !0,
                        configurable: !0,
                        writable: !0
                    }) : e[t] = n, e
                },
                T = Object.assign || function(e) {
                    for (var t = 1; t < arguments.length; t++) {
                        var n = arguments[t];
                        for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (e[i] = n[i])
                    }
                    return e
                };

            function w(e) {
                return T({}, e, {
                    right: e.left + e.width,
                    bottom: e.top + e.height
                })
            }

            function C(e) {
                var t = {};
                try {
                    if (g(10)) {
                        t = e.getBoundingClientRect();
                        var n = v(e, "top"),
                            i = v(e, "left");
                        t.top += n, t.left += i, t.bottom += n, t.right += i
                    } else t = e.getBoundingClientRect()
                } catch (e) {}
                var r = {
                        left: t.left,
                        top: t.top,
                        width: t.right - t.left,
                        height: t.bottom - t.top
                    },
                    o = "HTML" === e.nodeName ? y(e.ownerDocument) : {},
                    a = o.width || e.clientWidth || r.right - r.left,
                    s = o.height || e.clientHeight || r.bottom - r.top,
                    l = e.offsetWidth - a,
                    u = e.offsetHeight - s;
                if (l || u) {
                    var c = _(e);
                    l -= f(c, "x"), u -= f(c, "y"), r.width -= l, r.height -= u
                }
                return w(r)
            }

            function D(e, t) {
                var n = 2 < arguments.length && void 0 !== arguments[2] && arguments[2],
                    i = g(10),
                    r = "HTML" === t.nodeName,
                    o = C(e),
                    a = C(t),
                    s = p(e),
                    l = _(t),
                    u = parseFloat(l.borderTopWidth, 10),
                    c = parseFloat(l.borderLeftWidth, 10);
                n && r && (a.top = Math.max(a.top, 0), a.left = Math.max(a.left, 0));
                var f = w({
                    top: o.top - a.top - u,
                    left: o.left - a.left - c,
                    width: o.width,
                    height: o.height
                });
                if (f.marginTop = 0, f.marginLeft = 0, !i && r) {
                    var d = parseFloat(l.marginTop, 10),
                        h = parseFloat(l.marginLeft, 10);
                    f.top -= u - d, f.bottom -= u - d, f.left -= c - h, f.right -= c - h, f.marginTop = d, f.marginLeft = h
                }
                return (i && !n ? t.contains(s) : t === s && "BODY" !== s.nodeName) && (f = function(e, t) {
                    var n = 2 < arguments.length && void 0 !== arguments[2] && arguments[2],
                        i = v(t, "top"),
                        r = v(t, "left"),
                        o = n ? -1 : 1;
                    return e.top += i * o, e.bottom += i * o, e.left += r * o, e.right += r * o, e
                }(f, t)), f
            }

            function x(e) {
                if (!e || !e.parentElement || g()) return document.documentElement;
                for (var t = e.parentElement; t && "none" === _(t, "transform");) t = t.parentElement;
                return t || document.documentElement
            }

            function S(e, t, n, i) {
                var r = 4 < arguments.length && void 0 !== arguments[4] && arguments[4],
                    o = {
                        top: 0,
                        left: 0
                    },
                    a = r ? x(e) : m(e, t);
                if ("viewport" === i) o = function(e) {
                    var t = 1 < arguments.length && void 0 !== arguments[1] && arguments[1],
                        n = e.ownerDocument.documentElement,
                        i = D(e, n),
                        r = Math.max(n.clientWidth, window.innerWidth || 0),
                        o = Math.max(n.clientHeight, window.innerHeight || 0),
                        a = t ? 0 : v(n),
                        s = t ? 0 : v(n, "left");
                    return w({
                        top: a - i.top + i.marginTop,
                        left: s - i.left + i.marginLeft,
                        width: r,
                        height: o
                    })
                }(a, r);
                else {
                    var s = void 0;
                    "scrollParent" === i ? "BODY" === (s = p(h(t))).nodeName && (s = e.ownerDocument.documentElement) : s = "window" === i ? e.ownerDocument.documentElement : i;
                    var l = D(s, a, r);
                    if ("HTML" !== s.nodeName || function e(t) {
                            var n = t.nodeName;
                            if ("BODY" === n || "HTML" === n) return !1;
                            if ("fixed" === _(t, "position")) return !0;
                            var i = h(t);
                            return !!i && e(i)
                        }(a)) o = l;
                    else {
                        var u = y(e.ownerDocument),
                            c = u.height,
                            f = u.width;
                        o.top += l.top - l.marginTop, o.bottom = c + l.top, o.left += l.left - l.marginLeft, o.right = f + l.left
                    }
                }
                var d = "number" == typeof(n = n || 0);
                return o.left += d ? n : n.left || 0, o.top += d ? n : n.top || 0, o.right -= d ? n : n.right || 0, o.bottom -= d ? n : n.bottom || 0, o
            }

            function A(e, t, i, n, r) {
                var o = 5 < arguments.length && void 0 !== arguments[5] ? arguments[5] : 0;
                if (-1 === e.indexOf("auto")) return e;
                var a = S(i, n, o, r),
                    s = {
                        top: {
                            width: a.width,
                            height: t.top - a.top
                        },
                        right: {
                            width: a.right - t.right,
                            height: a.height
                        },
                        bottom: {
                            width: a.width,
                            height: a.bottom - t.bottom
                        },
                        left: {
                            width: t.left - a.left,
                            height: a.height
                        }
                    },
                    l = Object.keys(s).map(function(e) {
                        return T({
                            key: e
                        }, s[e], {
                            area: function(e) {
                                return e.width * e.height
                            }(s[e])
                        })
                    }).sort(function(e, t) {
                        return t.area - e.area
                    }),
                    u = l.filter(function(e) {
                        var t = e.width,
                            n = e.height;
                        return t >= i.clientWidth && n >= i.clientHeight
                    }),
                    c = 0 < u.length ? u[0].key : l[0].key,
                    f = e.split("-")[1];
                return c + (f ? "-" + f : "")
            }

            function O(e, t, n) {
                var i = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;
                return D(n, i ? x(t) : m(t, n), i)
            }

            function I(e) {
                var t = e.ownerDocument.defaultView.getComputedStyle(e),
                    n = parseFloat(t.marginTop || 0) + parseFloat(t.marginBottom || 0),
                    i = parseFloat(t.marginLeft || 0) + parseFloat(t.marginRight || 0);
                return {
                    width: e.offsetWidth + i,
                    height: e.offsetHeight + n
                }
            }

            function N(e) {
                var t = {
                    left: "right",
                    right: "left",
                    bottom: "top",
                    top: "bottom"
                };
                return e.replace(/left|right|bottom|top/g, function(e) {
                    return t[e]
                })
            }

            function k(e, t, n) {
                n = n.split("-")[0];
                var i = I(e),
                    r = {
                        width: i.width,
                        height: i.height
                    },
                    o = -1 !== ["right", "left"].indexOf(n),
                    a = o ? "top" : "left",
                    s = o ? "left" : "top",
                    l = o ? "height" : "width",
                    u = o ? "width" : "height";
                return r[a] = t[a] + t[l] / 2 - i[l] / 2, r[s] = n === s ? t[s] - i[u] : t[N(s)], r
            }

            function L(e, t) {
                return Array.prototype.find ? e.find(t) : e.filter(t)[0]
            }

            function P(e, n, t) {
                return (void 0 === t ? e : e.slice(0, function(e, t, n) {
                    if (Array.prototype.findIndex) return e.findIndex(function(e) {
                        return e[t] === n
                    });
                    var i = L(e, function(e) {
                        return e[t] === n
                    });
                    return e.indexOf(i)
                }(e, "name", t))).forEach(function(e) {
                    e.function && console.warn("`modifier.function` is deprecated, use `modifier.fn`!");
                    var t = e.function || e.fn;
                    e.enabled && s(t) && (n.offsets.popper = w(n.offsets.popper), n.offsets.reference = w(n.offsets.reference), n = t(n, e))
                }), n
            }

            function j(e, n) {
                return e.some(function(e) {
                    var t = e.name;
                    return e.enabled && t === n
                })
            }

            function H(e) {
                for (var t = [!1, "ms", "Webkit", "Moz", "O"], n = e.charAt(0).toUpperCase() + e.slice(1), i = 0; i < t.length; i++) {
                    var r = t[i],
                        o = r ? "" + r + n : e;
                    if (void 0 !== document.body.style[o]) return o
                }
                return null
            }

            function M(e) {
                var t = e.ownerDocument;
                return t ? t.defaultView : window
            }

            function R(e, t, n, i) {
                n.updateBound = i, M(e).addEventListener("resize", n.updateBound, {
                    passive: !0
                });
                var r = p(e);
                return function e(t, n, i, r) {
                    var o = "BODY" === t.nodeName,
                        a = o ? t.ownerDocument.defaultView : t;
                    a.addEventListener(n, i, {
                        passive: !0
                    }), o || e(p(a.parentNode), n, i, r), r.push(a)
                }(r, "scroll", n.updateBound, n.scrollParents), n.scrollElement = r, n.eventsEnabled = !0, n
            }

            function F() {
                this.state.eventsEnabled && (cancelAnimationFrame(this.scheduleUpdate), this.state = function(e, t) {
                    return M(e).removeEventListener("resize", t.updateBound), t.scrollParents.forEach(function(e) {
                        e.removeEventListener("scroll", t.updateBound)
                    }), t.updateBound = null, t.scrollParents = [], t.scrollElement = null, t.eventsEnabled = !1, t
                }(this.reference, this.state))
            }

            function q(e) {
                return "" !== e && !isNaN(parseFloat(e)) && isFinite(e)
            }

            function W(n, i) {
                Object.keys(i).forEach(function(e) {
                    var t = ""; - 1 !== ["width", "height", "top", "right", "bottom", "left"].indexOf(e) && q(i[e]) && (t = "px"), n.style[e] = i[e] + t
                })
            }
            var V = t && /Firefox/i.test(navigator.userAgent);

            function B(e, t, n) {
                var i = L(e, function(e) {
                        return e.name === t
                    }),
                    r = !!i && e.some(function(e) {
                        return e.name === n && e.enabled && e.order < i.order
                    });
                if (!r) {
                    var o = "`" + t + "`",
                        a = "`" + n + "`";
                    console.warn(a + " modifier is required by " + o + " modifier in order to work, be sure to include it before " + o + "!")
                }
                return r
            }
            var U = ["auto-start", "auto", "auto-end", "top-start", "top", "top-end", "right-start", "right", "right-end", "bottom-end", "bottom", "bottom-start", "left-end", "left", "left-start"],
                G = U.slice(3);

            function X(e) {
                var t = 1 < arguments.length && void 0 !== arguments[1] && arguments[1],
                    n = G.indexOf(e),
                    i = G.slice(n + 1).concat(G.slice(0, n));
                return t ? i.reverse() : i
            }
            var K = "flip",
                z = "clockwise",
                Q = "counterclockwise";

            function Y(e, r, o, t) {
                var a = [0, 0],
                    s = -1 !== ["right", "left"].indexOf(t),
                    n = e.split(/(\+|\-)/).map(function(e) {
                        return e.trim()
                    }),
                    i = n.indexOf(L(n, function(e) {
                        return -1 !== e.search(/,|\s/)
                    }));
                n[i] && -1 === n[i].indexOf(",") && console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");
                var l = /\s*,\s*|\s+/,
                    u = -1 !== i ? [n.slice(0, i).concat([n[i].split(l)[0]]), [n[i].split(l)[1]].concat(n.slice(i + 1))] : [n];
                return (u = u.map(function(e, t) {
                    var n = (1 === t ? !s : s) ? "height" : "width",
                        i = !1;
                    return e.reduce(function(e, t) {
                        return "" === e[e.length - 1] && -1 !== ["+", "-"].indexOf(t) ? (e[e.length - 1] = t, i = !0, e) : i ? (e[e.length - 1] += t, i = !1, e) : e.concat(t)
                    }, []).map(function(e) {
                        return function(e, t, n, i) {
                            var r = e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),
                                o = +r[1],
                                a = r[2];
                            if (!o) return e;
                            if (0 !== a.indexOf("%")) return "vh" !== a && "vw" !== a ? o : ("vh" === a ? Math.max(document.documentElement.clientHeight, window.innerHeight || 0) : Math.max(document.documentElement.clientWidth, window.innerWidth || 0)) / 100 * o;
                            var s = void 0;
                            switch (a) {
                                case "%p":
                                    s = n;
                                    break;
                                case "%":
                                case "%r":
                                default:
                                    s = i
                            }
                            return w(s)[t] / 100 * o
                        }(e, n, r, o)
                    })
                })).forEach(function(n, i) {
                    n.forEach(function(e, t) {
                        q(e) && (a[i] += e * ("-" === n[t - 1] ? -1 : 1))
                    })
                }), a
            }
            var $ = {
                    placement: "bottom",
                    positionFixed: !1,
                    eventsEnabled: !0,
                    removeOnDestroy: !1,
                    onCreate: function() {},
                    onUpdate: function() {},
                    modifiers: {
                        shift: {
                            order: 100,
                            enabled: !0,
                            fn: function(e) {
                                var t = e.placement,
                                    n = t.split("-")[0],
                                    i = t.split("-")[1];
                                if (i) {
                                    var r = e.offsets,
                                        o = r.reference,
                                        a = r.popper,
                                        s = -1 !== ["bottom", "top"].indexOf(n),
                                        l = s ? "left" : "top",
                                        u = s ? "width" : "height",
                                        c = {
                                            start: E({}, l, o[l]),
                                            end: E({}, l, o[l] + o[u] - a[u])
                                        };
                                    e.offsets.popper = T({}, a, c[i])
                                }
                                return e
                            }
                        },
                        offset: {
                            order: 200,
                            enabled: !0,
                            fn: function(e, t) {
                                var n = t.offset,
                                    i = e.placement,
                                    r = e.offsets,
                                    o = r.popper,
                                    a = r.reference,
                                    s = i.split("-")[0],
                                    l = void 0;
                                return l = q(+n) ? [+n, 0] : Y(n, o, a, s), "left" === s ? (o.top += l[0], o.left -= l[1]) : "right" === s ? (o.top += l[0], o.left += l[1]) : "top" === s ? (o.left += l[0], o.top -= l[1]) : "bottom" === s && (o.left += l[0], o.top += l[1]), e.popper = o, e
                            },
                            offset: 0
                        },
                        preventOverflow: {
                            order: 300,
                            enabled: !0,
                            fn: function(e, i) {
                                var t = i.boundariesElement || b(e.instance.popper);
                                e.instance.reference === t && (t = b(t));
                                var n = H("transform"),
                                    r = e.instance.popper.style,
                                    o = r.top,
                                    a = r.left,
                                    s = r[n];
                                r.top = "", r.left = "", r[n] = "";
                                var l = S(e.instance.popper, e.instance.reference, i.padding, t, e.positionFixed);
                                r.top = o, r.left = a, r[n] = s, i.boundaries = l;
                                var u = i.priority,
                                    c = e.offsets.popper,
                                    f = {
                                        primary: function(e) {
                                            var t = c[e];
                                            return c[e] < l[e] && !i.escapeWithReference && (t = Math.max(c[e], l[e])), E({}, e, t)
                                        },
                                        secondary: function(e) {
                                            var t = "right" === e ? "left" : "top",
                                                n = c[t];
                                            return c[e] > l[e] && !i.escapeWithReference && (n = Math.min(c[t], l[e] - ("right" === e ? c.width : c.height))), E({}, t, n)
                                        }
                                    };
                                return u.forEach(function(e) {
                                    var t = -1 !== ["left", "top"].indexOf(e) ? "primary" : "secondary";
                                    c = T({}, c, f[t](e))
                                }), e.offsets.popper = c, e
                            },
                            priority: ["left", "right", "top", "bottom"],
                            padding: 5,
                            boundariesElement: "scrollParent"
                        },
                        keepTogether: {
                            order: 400,
                            enabled: !0,
                            fn: function(e) {
                                var t = e.offsets,
                                    n = t.popper,
                                    i = t.reference,
                                    r = e.placement.split("-")[0],
                                    o = Math.floor,
                                    a = -1 !== ["top", "bottom"].indexOf(r),
                                    s = a ? "right" : "bottom",
                                    l = a ? "left" : "top",
                                    u = a ? "width" : "height";
                                return n[s] < o(i[l]) && (e.offsets.popper[l] = o(i[l]) - n[u]), n[l] > o(i[s]) && (e.offsets.popper[l] = o(i[s])), e
                            }
                        },
                        arrow: {
                            order: 500,
                            enabled: !0,
                            fn: function(e, t) {
                                var n;
                                if (!B(e.instance.modifiers, "arrow", "keepTogether")) return e;
                                var i = t.element;
                                if ("string" == typeof i) {
                                    if (!(i = e.instance.popper.querySelector(i))) return e
                                } else if (!e.instance.popper.contains(i)) return console.warn("WARNING: `arrow.element` must be child of its popper element!"), e;
                                var r = e.placement.split("-")[0],
                                    o = e.offsets,
                                    a = o.popper,
                                    s = o.reference,
                                    l = -1 !== ["left", "right"].indexOf(r),
                                    u = l ? "height" : "width",
                                    c = l ? "Top" : "Left",
                                    f = c.toLowerCase(),
                                    d = l ? "left" : "top",
                                    h = l ? "bottom" : "right",
                                    p = I(i)[u];
                                s[h] - p < a[f] && (e.offsets.popper[f] -= a[f] - (s[h] - p)), s[f] + p > a[h] && (e.offsets.popper[f] += s[f] + p - a[h]), e.offsets.popper = w(e.offsets.popper);
                                var g = s[f] + s[u] / 2 - p / 2,
                                    m = _(e.instance.popper),
                                    v = parseFloat(m["margin" + c], 10),
                                    y = parseFloat(m["border" + c + "Width"], 10),
                                    b = g - e.offsets.popper[f] - v - y;
                                return b = Math.max(Math.min(a[u] - p, b), 0), e.arrowElement = i, e.offsets.arrow = (E(n = {}, f, Math.round(b)), E(n, d, ""), n), e
                            },
                            element: "[x-arrow]"
                        },
                        flip: {
                            order: 600,
                            enabled: !0,
                            fn: function(h, p) {
                                if (j(h.instance.modifiers, "inner")) return h;
                                if (h.flipped && h.placement === h.originalPlacement) return h;
                                var g = S(h.instance.popper, h.instance.reference, p.padding, p.boundariesElement, h.positionFixed),
                                    m = h.placement.split("-")[0],
                                    v = N(m),
                                    y = h.placement.split("-")[1] || "",
                                    b = [];
                                switch (p.behavior) {
                                    case K:
                                        b = [m, v];
                                        break;
                                    case z:
                                        b = X(m);
                                        break;
                                    case Q:
                                        b = X(m, !0);
                                        break;
                                    default:
                                        b = p.behavior
                                }
                                return b.forEach(function(e, t) {
                                    if (m !== e || b.length === t + 1) return h;
                                    m = h.placement.split("-")[0], v = N(m);
                                    var n = h.offsets.popper,
                                        i = h.offsets.reference,
                                        r = Math.floor,
                                        o = "left" === m && r(n.right) > r(i.left) || "right" === m && r(n.left) < r(i.right) || "top" === m && r(n.bottom) > r(i.top) || "bottom" === m && r(n.top) < r(i.bottom),
                                        a = r(n.left) < r(g.left),
                                        s = r(n.right) > r(g.right),
                                        l = r(n.top) < r(g.top),
                                        u = r(n.bottom) > r(g.bottom),
                                        c = "left" === m && a || "right" === m && s || "top" === m && l || "bottom" === m && u,
                                        f = -1 !== ["top", "bottom"].indexOf(m),
                                        d = !!p.flipVariations && (f && "start" === y && a || f && "end" === y && s || !f && "start" === y && l || !f && "end" === y && u);
                                    (o || c || d) && (h.flipped = !0, (o || c) && (m = b[t + 1]), d && (y = function(e) {
                                        return "end" === e ? "start" : "start" === e ? "end" : e
                                    }(y)), h.placement = m + (y ? "-" + y : ""), h.offsets.popper = T({}, h.offsets.popper, k(h.instance.popper, h.offsets.reference, h.placement)), h = P(h.instance.modifiers, h, "flip"))
                                }), h
                            },
                            behavior: "flip",
                            padding: 5,
                            boundariesElement: "viewport"
                        },
                        inner: {
                            order: 700,
                            enabled: !1,
                            fn: function(e) {
                                var t = e.placement,
                                    n = t.split("-")[0],
                                    i = e.offsets,
                                    r = i.popper,
                                    o = i.reference,
                                    a = -1 !== ["left", "right"].indexOf(n),
                                    s = -1 === ["top", "left"].indexOf(n);
                                return r[a ? "left" : "top"] = o[n] - (s ? r[a ? "width" : "height"] : 0), e.placement = N(t), e.offsets.popper = w(r), e
                            }
                        },
                        hide: {
                            order: 800,
                            enabled: !0,
                            fn: function(e) {
                                if (!B(e.instance.modifiers, "hide", "preventOverflow")) return e;
                                var t = e.offsets.reference,
                                    n = L(e.instance.modifiers, function(e) {
                                        return "preventOverflow" === e.name
                                    }).boundaries;
                                if (t.bottom < n.top || t.left > n.right || t.top > n.bottom || t.right < n.left) {
                                    if (!0 === e.hide) return e;
                                    e.hide = !0, e.attributes["x-out-of-boundaries"] = ""
                                } else {
                                    if (!1 === e.hide) return e;
                                    e.hide = !1, e.attributes["x-out-of-boundaries"] = !1
                                }
                                return e
                            }
                        },
                        computeStyle: {
                            order: 850,
                            enabled: !0,
                            fn: function(e, t) {
                                var n = t.x,
                                    i = t.y,
                                    r = e.offsets.popper,
                                    o = L(e.instance.modifiers, function(e) {
                                        return "applyStyle" === e.name
                                    }).gpuAcceleration;
                                void 0 !== o && console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");
                                var a = void 0 !== o ? o : t.gpuAcceleration,
                                    s = b(e.instance.popper),
                                    l = C(s),
                                    u = {
                                        position: r.position
                                    },
                                    c = function(e, t) {
                                        var n = e.offsets,
                                            i = n.popper,
                                            r = n.reference,
                                            o = Math.round,
                                            a = Math.floor,
                                            s = function(e) {
                                                return e
                                            },
                                            l = o(r.width),
                                            u = o(i.width),
                                            c = -1 !== ["left", "right"].indexOf(e.placement),
                                            f = -1 !== e.placement.indexOf("-"),
                                            d = t ? c || f || l % 2 == u % 2 ? o : a : s,
                                            h = t ? o : s;
                                        return {
                                            left: d(l % 2 == 1 && u % 2 == 1 && !f && t ? i.left - 1 : i.left),
                                            top: h(i.top),
                                            bottom: h(i.bottom),
                                            right: d(i.right)
                                        }
                                    }(e, window.devicePixelRatio < 2 || !V),
                                    f = "bottom" === n ? "top" : "bottom",
                                    d = "right" === i ? "left" : "right",
                                    h = H("transform"),
                                    p = void 0,
                                    g = void 0;
                                if (g = "bottom" === f ? "HTML" === s.nodeName ? -s.clientHeight + c.bottom : -l.height + c.bottom : c.top, p = "right" === d ? "HTML" === s.nodeName ? -s.clientWidth + c.right : -l.width + c.right : c.left, a && h) u[h] = "translate3d(" + p + "px, " + g + "px, 0)", u[f] = 0, u[d] = 0, u.willChange = "transform";
                                else {
                                    var m = "bottom" === f ? -1 : 1,
                                        v = "right" === d ? -1 : 1;
                                    u[f] = g * m, u[d] = p * v, u.willChange = f + ", " + d
                                }
                                var y = {
                                    "x-placement": e.placement
                                };
                                return e.attributes = T({}, y, e.attributes), e.styles = T({}, u, e.styles), e.arrowStyles = T({}, e.offsets.arrow, e.arrowStyles), e
                            },
                            gpuAcceleration: !0,
                            x: "bottom",
                            y: "right"
                        },
                        applyStyle: {
                            order: 900,
                            enabled: !0,
                            fn: function(e) {
                                return W(e.instance.popper, e.styles),
                                    function(t, n) {
                                        Object.keys(n).forEach(function(e) {
                                            !1 !== n[e] ? t.setAttribute(e, n[e]) : t.removeAttribute(e)
                                        })
                                    }(e.instance.popper, e.attributes), e.arrowElement && Object.keys(e.arrowStyles).length && W(e.arrowElement, e.arrowStyles), e
                            },
                            onLoad: function(e, t, n, i, r) {
                                var o = O(r, t, e, n.positionFixed),
                                    a = A(n.placement, o, t, e, n.modifiers.flip.boundariesElement, n.modifiers.flip.padding);
                                return t.setAttribute("x-placement", a), W(t, {
                                    position: n.positionFixed ? "fixed" : "absolute"
                                }), n
                            },
                            gpuAcceleration: void 0
                        }
                    }
                },
                J = function() {
                    function o(e, t) {
                        var n = this,
                            i = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : {};
                        ! function(e, t) {
                            if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                        }(this, o), this.scheduleUpdate = function() {
                            return requestAnimationFrame(n.update)
                        }, this.update = a(this.update.bind(this)), this.options = T({}, o.Defaults, i), this.state = {
                            isDestroyed: !1,
                            isCreated: !1,
                            scrollParents: []
                        }, this.reference = e && e.jquery ? e[0] : e, this.popper = t && t.jquery ? t[0] : t, this.options.modifiers = {}, Object.keys(T({}, o.Defaults.modifiers, i.modifiers)).forEach(function(e) {
                            n.options.modifiers[e] = T({}, o.Defaults.modifiers[e] || {}, i.modifiers ? i.modifiers[e] : {})
                        }), this.modifiers = Object.keys(this.options.modifiers).map(function(e) {
                            return T({
                                name: e
                            }, n.options.modifiers[e])
                        }).sort(function(e, t) {
                            return e.order - t.order
                        }), this.modifiers.forEach(function(e) {
                            e.enabled && s(e.onLoad) && e.onLoad(n.reference, n.popper, n.options, e, n.state)
                        }), this.update();
                        var r = this.options.eventsEnabled;
                        r && this.enableEventListeners(), this.state.eventsEnabled = r
                    }
                    return d(o, [{
                        key: "update",
                        value: function() {
                            return function() {
                                if (!this.state.isDestroyed) {
                                    var e = {
                                        instance: this,
                                        styles: {},
                                        arrowStyles: {},
                                        attributes: {},
                                        flipped: !1,
                                        offsets: {}
                                    };
                                    e.offsets.reference = O(this.state, this.popper, this.reference, this.options.positionFixed), e.placement = A(this.options.placement, e.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding), e.originalPlacement = e.placement, e.positionFixed = this.options.positionFixed, e.offsets.popper = k(this.popper, e.offsets.reference, e.placement), e.offsets.popper.position = this.options.positionFixed ? "fixed" : "absolute", e = P(this.modifiers, e), this.state.isCreated ? this.options.onUpdate(e) : (this.state.isCreated = !0, this.options.onCreate(e))
                                }
                            }.call(this)
                        }
                    }, {
                        key: "destroy",
                        value: function() {
                            return function() {
                                return this.state.isDestroyed = !0, j(this.modifiers, "applyStyle") && (this.popper.removeAttribute("x-placement"), this.popper.style.position = "", this.popper.style.top = "", this.popper.style.left = "", this.popper.style.right = "", this.popper.style.bottom = "", this.popper.style.willChange = "", this.popper.style[H("transform")] = ""), this.disableEventListeners(), this.options.removeOnDestroy && this.popper.parentNode.removeChild(this.popper), this
                            }.call(this)
                        }
                    }, {
                        key: "enableEventListeners",
                        value: function() {
                            return function() {
                                this.state.eventsEnabled || (this.state = R(this.reference, this.options, this.state, this.scheduleUpdate))
                            }.call(this)
                        }
                    }, {
                        key: "disableEventListeners",
                        value: function() {
                            return F.call(this)
                        }
                    }]), o
                }();
            J.Utils = ("undefined" != typeof window ? window : e).PopperUtils, J.placements = U, J.Defaults = $, Z.default = J
        }.call(this, t(4))
}, function(e, t) {
    var n;
    n = function() {
        return this
    }();
    try {
        n = n || new Function("return this")()
    } catch (e) {
        "object" == typeof window && (n = window)
    }
    e.exports = n
}, function(e, t, n) {}, function(e, t) {
    function c(e) {
        return (c = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
            return typeof e
        } : function(e) {
            return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
        })(e)
    }! function() {
        function w(e, t, n, i, r) {
            t = t || [], !Array.isArray(t) && (t = [t]);
            for (var o = document.createElement(e), a = t.length; a--; o.classList.add(t[a]));
            return r && (o.title = r), o.innerHTML = i || "", n instanceof Element && n.appendChild(o), o
        }

        function C(e) {
            return e = e || new Date, new Date(e.getFullYear(), e.getMonth(), e.getDate())
        }

        function t(r) {
            function v() {
                var e = b.minDate;
                return e instanceof HTMLInputElement && (e = null === (e = e.DatePickerX.getValue(!0)) ? b.minDate.DatePickerX.getMinDate() : new Date(e)).setDate(e.getDate() + 1), C(e)
            }

            function y() {
                var e = b.maxDate;
                return e instanceof HTMLInputElement && (e = null === (e = e.DatePickerX.getValue(!0)) ? b.maxDate.DatePickerX.getMaxDate() : new Date(e)).setDate(e.getDate() - 1), C(e)
            }

            function i(e, t) {
                var n = {
                    d: e.getDate(),
                    dd: e.getDate(),
                    D: e.getDay(),
                    m: e.getMonth() + 1,
                    mm: e.getMonth() + 1,
                    M: e.getMonth(),
                    MM: e.getMonth(),
                    yy: e.getFullYear().toString().substr(-2),
                    yyyy: e.getFullYear()
                };
                return n.dd < 10 && (n.dd = "0" + n.dd), n.mm < 10 && (n.mm = "0" + n.mm), n.D = b.weekDayLabels[n.D ? n.D - 1 : 6], n.M = b.shortMonthLabels[n.M], n.MM = b.singleMonthLabels[n.MM], t.replace(/(?:[dmM]{1,2}|D|yyyy|yy)/g, function(e) {
                    return void 0 !== n[e] ? n[e] : e
                })
            }

            function o() {
                return _.container.classList.contains("active")
            }

            function a(e) {
                _.content.innerHTML = "";
                var t = v(),
                    n = y(),
                    i = C();
                b.todayButton && _.today.classList[t <= i && i <= n ? "remove" : "add"]("dpx-disabled"), T < 2 && (t.setDate(1), n.setDate(1), T || (t.setMonth(0), n.setMonth(0))), t = t.getTime(), n = n.getTime(), (e = C(new Date(e || E || Date.now()))).getTime() < t ? e = new Date(t) : e.getTime() > n && (e = new Date(n));
                var r = e.getMonth(),
                    o = e.getFullYear(),
                    a = 10 * Math.floor(o / 10);
                if (e = new Date(T ? o : a, T < 2 ? 0 : r), _.title.innerHTML = T ? (2 === T ? b.singleMonthLabels[r] + " " : "") + o : a + " - " + (a + 9), _.title.dpxValue = e.getTime(), _.title.title = 2 === T ? o : a + " - " + (a + 9), _.prevTitle.classList[e.getTime() <= t ? "add" : "remove"]("dpx-disabled"), 2 === T ? e.setMonth(r - 1) : e.setFullYear(T ? o - 1 : a - 10), _.prevTitle.title = T ? (2 === T ? b.singleMonthLabels[e.getMonth()] + " " : "") + e.getFullYear() : a - 10 + " - " + (a - 1), _.prevTitle.dpxValue = e.getTime(), 2 === T ? e.setMonth(e.getMonth() + 2) : e.setFullYear(T ? o + 1 : a + 20), _.nextTitle.classList[e.getTime() > n ? "add" : "remove"]("dpx-disabled"), _.nextTitle.title = T ? (2 === T ? b.singleMonthLabels[e.getMonth()] + " " : "") + e.getFullYear() : a + 10 + " - " + (a + 19), _.nextTitle.dpxValue = e.getTime(), 2 === T ? e.setMonth(e.getMonth() - 1) : e.setFullYear(T ? o : a), 2 === T) {
                    var s = b.weekDayLabels.length;
                    !b.mondayFirst && --s && w("span", ["dpx-item", "dpx-weekday"], _.content, b.weekDayLabels[6]);
                    for (var l = 0; l < s; ++l) {
                        w("span", p = ["dpx-item", "dpx-weekday"], _.content, b.weekDayLabels[l])
                    }
                }
                if (2 === T) {
                    var u = e.getDay();
                    e.setDate(b.mondayFirst ? -(u ? u - 2 : 5) : 1 - u)
                } else T ? e.setMonth(e.getMonth() - 2) : e.setFullYear(a - 3);
                var c = E;
                T < 2 && (null !== c && ((c = new Date(c)).setDate(1), !T && c.setMonth(0), c = c.getTime()), i.setDate(1), !T && i.setMonth(0)), i = i.getTime(), _.container.setAttribute("data-dpx-type", ["year", "month", "day"][T]);
                for (var f = ["getFullYear", "getMonth", "getDate"][T], d = ["setFullYear", "setMonth", "setDate"][T], h = 2 === T ? 42 : 16; h--; e[d](e[f]() + 1)) {
                    var p = ["dpx-item"],
                        g = T ? b.singleMonthLabels[e.getMonth()] + " " : "";
                    2 === T && (g += e.getDate() + ", "), g += e.getFullYear(), (T ? 2 === T ? e.getMonth() !== r : e.getFullYear() !== o : e.getFullYear() < a || e.getFullYear() > a + 9) && p.push("dpx-out"), 2 === T && (6 === e.getDay() || e.getDay()), e.getTime() === i && p.push("dpx-current"), e.getTime() === E && p.push("dpx-selected"), (e.getTime() < t || e.getTime() > n) && p.push("dpx-disabled");
                    var m = T ? 2 === T ? e.getDate() : b.shortMonthLabels[e.getMonth()] : e.getFullYear();
                    w("span", p, _.content, m, g).dpxValue = e.getTime()
                }
            }

            function n(e, t) {
                if (void 0 === b[e]) return console.error("DatePickerX, setOption: Option doesn't exist.") && !1;
                if ("minDate" === e || "maxDate" === e) {
                    if (!(t instanceof HTMLInputElement) && (!(t instanceof Date) && (t = new Date(t)), isNaN(t))) return console.error("DatePickerX, setOption: Invalid date value.") && !1
                } else {
                    if (c(b[e]) != c(t)) return console.error("DatePickerX, setOption: Option has invalid type.") && !1;
                    if (Array.isArray(b[e])) {
                        if (t.length < b[e].length) return console.warn("DatePickerX, setOption: Invalid option length.") && !1;
                        t = t.slice(0, b[e].length)
                    }
                }
                b[e] = t
            }
            var b = {},
                _ = {},
                s = !1,
                E = null,
                T = 2;
            return {
                init: function(e) {
                    if (e = e || {}, s) return console.error("DatePickerX, init: Date picker have already inited.") && !1;
                    for (var t in s = !0, b = {}, l) b[t] = l[t];
                    if ("object" != c(e)) console.error("DatePickerX, init: Initial options must be an object.");
                    else
                        for (var t in e) n(t, e[t]);
                    return r.parentNode.classList.add("date-picker-x-container"), r.classList.add("date-picker-x-input"), r.readOnly = !0,
                        function() {
                            _.container = w("div", "date-picker-x");
                            var e = w("div", "dpx-title-box", _.container);
                            if (_.prevTitle = w("span", "dpx-prev", e, "&#x276e;"), _.title = w("span", "dpx-title", e), _.nextTitle = w("span", "dpx-next", e, "&#x276f;"), _.content = w("div", "dpx-content-box", _.container), r.nextElementSibling ? r.parentNode.insertBefore(_.container, r.nextElementSibling) : r.parentNode.appendChild(_.container), b.todayButton || b.clearButton) {
                                var t = w("div", "dpx-btns", _.container);
                                b.todayButton && (_.today = w("span", ["dpx-item", "dpx-today"], t, b.todayButtonLabel, b.todayButtonLabel)), b.clearButton && (_.clear = w("span", ["dpx-item", "dpx-clear"], t, b.clearButtonLabel, b.clearButtonLabel))
                            }
                        }(),
                        function(i) {
                            r.addEventListener("click", function(e) {
                                if (!o()) {
                                    e.stopPropagation(), T = 2, a(), _.container.classList.add("active"), _.container.classList.remove("to-top");
                                    var t = _.container.getBoundingClientRect();
                                    t.bottom > window.innerHeight && t.top + r.offsetHeight > _.container.offsetHeight && (_.container.classList.add("to-top"), _.container.getBoundingClientRect().top < 0 && _.container.classList.remove("to-top")), u && u !== _.container && u.classList.remove("active"), u = _.container
                                }
                            }), window.addEventListener("click", function() {
                                u && u.classList.remove("active")
                            }), _.container.addEventListener("click", function(e) {
                                e.stopPropagation(), e.preventDefault()
                            }), _.content.addEventListener("click", function(e) {
                                if (2 === T) i.setValue(e.target.dpxValue) && _.container.classList.remove("active");
                                else {
                                    var t = v(),
                                        n = y();
                                    t.setDate(1), n.setDate(1), T || (t.setMonth(0), n.setMonth(0)), e.target.dpxValue >= t.getTime() && e.target.dpxValue <= n.getTime() && ++T && a(e.target.dpxValue)
                                }
                            }), _.prevTitle.addEventListener("click", function() {
                                a(this.dpxValue)
                            }), _.nextTitle.addEventListener("click", function() {
                                a(this.dpxValue)
                            }), _.title.addEventListener("click", function() {
                                T && T-- && a(this.dpxValue)
                            }), _.today && _.today.addEventListener("click", function() {
                                !this.classList.contains("dpx-disabled") && i.setValue(C()) && _.container.classList.remove("active")
                            }), _.clear && _.clear.addEventListener("click", function() {
                                i.setValue(null) && _.container.classList.remove("active")
                            })
                        }(this), !0
                },
                remove: function() {
                    return s ? (r.parentNode.removeChild(_.container), r.classList.remove("date-picker-x-input"), r.readOnly = s = !1, !0) : console.error("DatePickerX, remove: Date picker doesn't init yet.") && !1
                },
                setValue: function(e, t) {
                    if (!s) return console.error("DatePickerX, remove: Date picker doesn't init yet.") && !1;
                    if (null === e) E = null, r.value = "";
                    else {
                        if (!(e instanceof Date) && (e = new Date(e)), isNaN(e)) return console.error("DatePickerX, setValue: Can't convert argument to date.") && !1;
                        if (!t && (e.getTime() < v().getTime() || e.getTime() > y().getTime())) return console.error("DatePickerX, setValue: Date out of acceptable range.") && !1;
                        E = e.getTime(), r.value = i(e, b.format)
                    }
                    var n = document.createEvent("Event");
                    return n.initEvent("change", !0, !0), r.dispatchEvent(n), o() && a(), !0
                },
                getValue: function(e) {
                    return !s && console.error("DatePickerX, getValue: Date picker doesn't init yet."), e ? E : null === E ? "" : i(new Date(E), b.format)
                },
                getMinDate: function() {
                    var e = b.minDate;
                    return e instanceof HTMLInputElement && (e = e.DatePickerX.getMinDate()), C(e)
                },
                getMaxDate: function() {
                    var e = b.maxDate;
                    return e instanceof HTMLInputElement && (e = e.DatePickerX.getMaxDate()), C(e)
                }
            }
        }
        var l = {
                mondayFirst: !0,
                format: "yyyy/mm/dd",
                minDate: new Date(0, 0),
                maxDate: new Date(9999, 11, 31),
                weekDayLabels: ["Mo", "Tu", "We", "Th", "Fr", "St", "Su"],
                shortMonthLabels: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
                singleMonthLabels: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
                todayButton: !0,
                todayButtonLabel: "Today",
                clearButton: !0,
                clearButtonLabel: "Clear"
            },
            u = null,
            n = [],
            i = [];
        Object.defineProperty(HTMLInputElement.prototype, "DatePickerX", {
            get: function() {
                var e = n.indexOf(this);
                return -1 === e && (e = n.push(this) - 1, i.push(new t(this))), i[e]
            },
            set: function() {}
        }), window.DatePickerX = {
            setDefaults: function(e) {
                if ("object" != c(e)) return console.error("DatePickerX, setDefaults: Invalid option type.") && !1;
                for (var t in e) c(e[t]) == c(l[t]) && (Array.isArray(l[t]) ? e[t].length >= l[t].length && (l[t] = e[t].slice(0, l[t].length)) : l[t] = e[t]);
                return !0
            }
        }
    }()
}, function(e, t, n) {}, function(e, t, n) {}, function(e, t, n) {}, function(e, t, n) {}, function(e, t, n) {}, function(e, t, n) {}, function(e, t, n) {
    "use strict";
    n.r(t);
    var i = n(0),
        N = n.n(i),
        r = (n(2), n(5), n(1)),
        o = n.n(r);
    n(6), n(7), n(8), n(9), n(10), n(11), n(12);

    function l(e) {
        return (l = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
            return typeof e
        } : function(e) {
            return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
        })(e)
    }
    var a = function(a) {
        return a.main = function(e, t) {
            var s, n = new a.Constans,
                h = new a.Configuration(t),
                l = new a.Logger,
                p = new a.Template(t.template),
                u = new a.ListBuilderService(h, a.proccess),
                c = h.equals,
                g = e,
                i = "",
                m = [],
                v = -1;

            function r() {
                function d(e, t) {
                    return h.get("highlightPhrase") && "" !== t ? function(e, t) {
                        var n = function(e) {
                            return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&")
                        }(t);
                        return (e + "").replace(new RegExp("(" + n + ")", "gi"), "<b>$1</b>")
                    }(e, t) : e
                }
                g.parent().hasClass(n.getValue("WRAPPER_CSS_CLASS")) && (function() {
                        g.next("." + n.getValue("CONTAINER_CLASS")).remove()
                    }(), function() {
                        g.unwrap()
                    }()),
                    function() {
                        var e = N()("<div>"),
                            t = n.getValue("WRAPPER_CSS_CLASS");
                        h.get("theme") && "" !== h.get("theme") && (t += " eac-" + h.get("theme"));
                        h.get("cssClasses") && "" !== h.get("cssClasses") && (t += " " + h.get("cssClasses"));
                        "" !== p.getTemplateClass() && (t += " " + p.getTemplateClass());
                        e.addClass(t), g.wrap(e), !0 === h.get("adjustWidth") && function() {
                            var e = g.outerWidth();
                            g.parent().css("width", e)
                        }()
                    }(),
                    function() {
                        var f = N()("<div>").addClass(n.getValue("CONTAINER_CLASS"));
                        f.attr("id", o()).prepend(N()("<ul>")),
                            function() {
                                f.on("show.eac", function() {
                                    switch (h.get("list").showAnimation.type) {
                                        case "slide":
                                            var e = h.get("list").showAnimation.time,
                                                t = h.get("list").showAnimation.callback;
                                            f.find("ul").slideDown(e, t);
                                            break;
                                        case "fade":
                                            var e = h.get("list").showAnimation.time,
                                                t = h.get("list").showAnimation.callback;
                                            f.find("ul").fadeIn(e);
                                            break;
                                        default:
                                            f.find("ul").show()
                                    }
                                    h.get("list").onShowListEvent()
                                }).on("hide.eac", function() {
                                    switch (h.get("list").hideAnimation.type) {
                                        case "slide":
                                            var e = h.get("list").hideAnimation.time,
                                                t = h.get("list").hideAnimation.callback;
                                            f.find("ul").slideUp(e, t);
                                            break;
                                        case "fade":
                                            var e = h.get("list").hideAnimation.time,
                                                t = h.get("list").hideAnimation.callback;
                                            f.find("ul").fadeOut(e, t);
                                            break;
                                        default:
                                            f.find("ul").hide()
                                    }
                                    h.get("list").onHideListEvent()
                                }).on("selectElement.eac", function() {
                                    f.find("ul li").removeClass("selected"), f.find("ul li").eq(v).addClass("selected"), h.get("list").onSelectItemEvent()
                                }).on("loadElements.eac", function(e, i, r) {
                                    var o = "",
                                        t = f.find("ul");
                                    t.empty().detach(), m = [];
                                    for (var a = 0, s = 0, n = i.length; s < n; s += 1) {
                                        var l = i[s].data;
                                        if (0 !== l.length) {
                                            void 0 !== i[s].header && 0 < i[s].header.length && t.append("<div class='eac-category' >" + i[s].header + "</div>");
                                            for (var u = 0, c = l.length; u < c && a < i[s].maxListSize; u += 1) o = N()("<li><div class='eac-item'></div></li>"),
                                                function() {
                                                    var e = u,
                                                        t = a,
                                                        n = i[s].getValue(l[e]);
                                                    o.find(" > div").on("click", function() {
                                                        g.val(n).trigger("change"), y(v = t), h.get("list").onClickEvent(), h.get("list").onChooseEvent()
                                                    }).mouseover(function() {
                                                        y(v = t), h.get("list").onMouseOverEvent()
                                                    }).mouseout(function() {
                                                        h.get("list").onMouseOutEvent()
                                                    }).html(p.build(d(n, r), l[e]))
                                                }(), t.append(o), m.push(l[u]), a += 1
                                        }
                                    }
                                    f.append(t), h.get("list").onLoadEvent()
                                })
                            }(), g.after(f)
                    }(), i = N()("#" + o()), h.get("placeholder") && g.attr("placeholder", h.get("placeholder"))
            }

            function o() {
                var e = g.attr("id");
                return e = n.getValue("CONTAINER_ID") + e
            }

            function f() {
                i.trigger("show.eac")
            }

            function d() {
                i.trigger("hide.eac")
            }

            function y(e) {
                i.trigger("selectElement.eac", e)
            }

            function b(e, t) {
                i.trigger("loadElements.eac", [e, t])
            }

            function _() {
                g.trigger("blur")
            }
            a.consts = n, this.getConstants = function() {
                return n
            }, this.getConfiguration = function() {
                return h
            }, this.getContainer = function() {
                return i
            }, this.getSelectedItemIndex = function() {
                return v
            }, this.getItems = function() {
                return m
            }, this.getItemData = function(e) {
                return m.length < e || void 0 === m[e] ? -1 : m[e]
            }, this.getSelectedItemData = function() {
                return this.getItemData(v)
            }, this.build = function() {
                r()
            }, this.init = function() {
                ! function() {
                    if (0 === g.length) return l.error("Input field doesn't exist.");
                    if (!h.checkDataUrlProperties()) return l.error("One of options variables 'data' or 'url' must be defined.");
                    if (!h.checkRequiredProperties()) return l.error("Will not work without mentioned properties.");
                    r(),
                        function() {
                            function e() {
                                g.focusout(function() {
                                    var e, t = g.val();
                                    h.get("list").match.caseSensitive || (t = t.toLowerCase());
                                    for (var n = 0, i = m.length; n < i; n += 1)
                                        if (e = h.get("getValue")(m[n]), h.get("list").match.caseSensitive || (e = e.toLowerCase()), e === t) return void y(v = n)
                                })
                            }

                            function t() {
                                g.off("keyup").keyup(function(e) {
                                    switch (e.keyCode) {
                                        case 27:
                                            d(), _();
                                            break;
                                        case 38:
                                            e.preventDefault(), 0 < m.length && 0 < v && (v -= 1, g.val(h.get("getValue")(m[v])), y(v));
                                            break;
                                        case 40:
                                            e.preventDefault(), 0 < m.length && v < m.length - 1 && (v += 1, g.val(h.get("getValue")(m[v])), y(v));
                                            break;
                                        default:
                                            if (40 < e.keyCode || 8 === e.keyCode) {
                                                var t = g.val();
                                                !0 !== h.get("list").hideOnEmptyPhrase || 8 !== e.keyCode || "" !== t ? 0 < h.get("requestDelay") ? (void 0 !== s && clearTimeout(s), s = setTimeout(function() {
                                                    n(t)
                                                }, h.get("requestDelay"))) : n(t) : d()
                                            }
                                    }

                                    function n(n) {
                                        if (!(n.length < h.get("minCharNumber"))) {
                                            if ("list-required" !== h.get("data")) {
                                                var e = h.get("data"),
                                                    t = u.init(e);
                                                t = u.updateCategories(t, e), b(t = u.processData(t, n), n), 0 < g.parent().find("li").length ? f() : d()
                                            }
                                            var i = r();
                                            void 0 !== i.url && "" !== i.url || (i.url = h.get("url")), void 0 !== i.dataType && "" !== i.dataType || (i.dataType = h.get("dataType")), void 0 !== i.url && "list-required" !== i.url && (i.url = i.url(n), i.data = h.get("preparePostData")(i.data, n), N.a.ajax(i).done(function(e) {
                                                var t = u.init(e);
                                                t = u.updateCategories(t, e), t = u.convertXml(t), o(n, e) && b(t = u.processData(t, n), n), u.checkIfDataExists(t) && 0 < g.parent().find("li").length ? f() : d(), h.get("ajaxCallback")()
                                            }).fail(function() {
                                                l.warning("Fail to load response data")
                                            }).always(function() {}))
                                        }

                                        function r() {
                                            var e = {},
                                                t = h.get("ajaxSettings") || {};
                                            for (var n in t) e[n] = t[n];
                                            return e
                                        }

                                        function o(e, t) {
                                            return !1 === h.get("matchResponseProperty") || ("string" == typeof h.get("matchResponseProperty") ? t[h.get("matchResponseProperty")] === e : "function" != typeof h.get("matchResponseProperty") || h.get("matchResponseProperty")(t) === e)
                                        }
                                    }
                                })
                            }

                            function n() {
                                g.on("keydown", function(e) {
                                    var t = (e = e || window.event).keyCode;
                                    if (38 === t) return !(suppressKeypress = !0)
                                }).keydown(function(e) {
                                    13 === e.keyCode && -1 < v && (g.val(h.get("getValue")(m[v])), h.get("list").onKeyEnterEvent(), h.get("list").onChooseEvent(), v = -1, d(), e.preventDefault())
                                })
                            }

                            function i() {
                                g.off("keypress")
                            }

                            function r() {
                                g.focus(function() {
                                    "" !== g.val() && 0 < m.length && (v = -1, f())
                                })
                            }

                            function o() {
                                g.blur(function() {
                                    setTimeout(function() {
                                        v = -1, d()
                                    }, 250)
                                })
                            }

                            function a() {
                                g.attr("autocomplete", "off")
                            }! function() {
                                c("autocompleteOff", !0) && a();
                                e(), t(), n(), i(), r(), o()
                            }()
                        }()
                }()
            }
        }, a.eacHandles = [], a.getHandle = function(e) {
            return a.eacHandles[e]
        }, a.inputHasId = function(e) {
            return void 0 !== N()(e).attr("id") && 0 < N()(e).attr("id").length
        }, a.assignRandomId = function(e) {
            for (var t = ""; t = "eac-" + Math.floor(1e4 * Math.random()), 0 !== N()("#" + t).length;);
            elementId = a.consts.getValue("CONTAINER_ID") + t, N()(e).attr("id", t)
        }, a.setHandle = function(e, t) {
            a.eacHandles[t] = e
        }, a
    }((a = function(e) {
        return e.Template = function(e) {
            var i = {
                basic: {
                    type: "basic",
                    method: function(e) {
                        return e
                    },
                    cssClass: ""
                },
                description: {
                    type: "description",
                    fields: {
                        description: "description"
                    },
                    method: function(e) {
                        return e + " - description"
                    },
                    cssClass: "eac-description"
                },
                iconLeft: {
                    type: "iconLeft",
                    fields: {
                        icon: ""
                    },
                    method: function(e) {
                        return e
                    },
                    cssClass: "eac-icon-left"
                },
                iconRight: {
                    type: "iconRight",
                    fields: {
                        iconSrc: ""
                    },
                    method: function(e) {
                        return e
                    },
                    cssClass: "eac-icon-right"
                },
                links: {
                    type: "links",
                    fields: {
                        link: ""
                    },
                    method: function(e) {
                        return e
                    },
                    cssClass: ""
                },
                custom: {
                    type: "custom",
                    method: function() {},
                    cssClass: ""
                }
            };
            this.getTemplateClass = function(t) {
                var e = function() {
                    return ""
                };
                return t && t.type && t.type && i[t.type] ? function() {
                    var e = i[t.type].cssClass;
                    return function() {
                        return e
                    }
                }() : e
            }(e), this.build = function(e) {
                return e && e.type && e.type && i[e.type] ? function(e) {
                    var t, n = e.fields;
                    return "description" === e.type ? (t = i.description.method, "string" == typeof n.description ? t = function(e, t) {
                        return e + " - <span>" + t[n.description] + "</span>"
                    } : "function" == typeof n.description && (t = function(e, t) {
                        return e + " - <span>" + n.description(t) + "</span>"
                    }), t) : "iconRight" === e.type ? ("string" == typeof n.iconSrc ? t = function(e, t) {
                        return e + "<img class='eac-icon' src='" + t[n.iconSrc] + "' />"
                    } : "function" == typeof n.iconSrc && (t = function(e, t) {
                        return e + "<img class='eac-icon' src='" + n.iconSrc(t) + "' />"
                    }), t) : "iconLeft" === e.type ? ("string" == typeof n.iconSrc ? t = function(e, t) {
                        return "<img class='eac-icon' src='" + t[n.iconSrc] + "' />" + e
                    } : "function" == typeof n.iconSrc && (t = function(e, t) {
                        return "<img class='eac-icon' src='" + n.iconSrc(t) + "' />" + e
                    }), t) : "links" === e.type ? ("string" == typeof n.link ? t = function(e, t) {
                        return "<a href='" + t[n.link] + "' >" + e + "</a>"
                    } : "function" == typeof n.link && (t = function(e, t) {
                        return "<a href='" + n.link(t) + "' >" + e + "</a>"
                    }), t) : "custom" === e.type ? e.method : i.basic.method
                }(e) : i.basic.method
            }(e)
        }, e
    }((a = function(i) {
        return i.proccess = function(o, t, e) {
            i.proccess.match = a;
            var n = t.data;
            return n = function(e) {
                o.get("list").sort.enabled && e.sort(o.get("list").sort.method);
                return e
            }(n = function(e) {
                void 0 !== t.maxNumberOfElements && e.length > t.maxNumberOfElements && (e = e.slice(0, t.maxNumberOfElements));
                return e
            }(n = function(e, t) {
                var n = [];
                if (o.get("list").match.enabled)
                    for (var i = 0, r = e.length; i < r; i += 1) a(o.get("getValue")(e[i]), t) && n.push(e[i]);
                else n = e;
                return n
            }(n, e)));

            function a(e, t) {
                return o.get("list").match.caseSensitive || ("string" == typeof e && (e = e.toLowerCase()), t = t.toLowerCase()), !!o.get("list").match.method(e, t)
            }
        }, i
    }((a = function(e) {
        return e.ListBuilderService = function(r, o) {
            function a(n, i) {
                var e = {};
                if (e = "XML" === r.get("dataType").toUpperCase() ? function() {
                        var e, t = {};
                        void 0 !== n.xmlElementName && (t.xmlElementName = n.xmlElementName);
                        void 0 !== n.listLocation ? e = n.listLocation : void 0 !== r.get("listLocation") && (e = r.get("listLocation"));
                        void 0 !== e ? "string" == typeof e ? t.data = N()(i).find(e) : "function" == typeof e && (t.data = e(i)) : t.data = i;
                        return t
                    }() : function() {
                        var e = {};
                        void 0 !== n.listLocation ? "string" == typeof n.listLocation ? e.data = i[n.listLocation] : "function" == typeof n.listLocation && (e.data = n.listLocation(i)) : e.data = i;
                        return e
                    }(), void 0 !== n.header && (e.header = n.header), void 0 !== n.maxNumberOfElements && (e.maxNumberOfElements = n.maxNumberOfElements), void 0 !== r.get("list").maxNumberOfElements && (e.maxListSize = r.get("list").maxNumberOfElements), void 0 !== n.getValue)
                    if ("string" == typeof n.getValue) {
                        var t = n.getValue;
                        e.getValue = function(e) {
                            return e[t]
                        }
                    } else "function" == typeof n.getValue && (e.getValue = n.getValue);
                else e.getValue = r.get("getValue");
                return e
            }

            function n(e) {
                var t = [];
                return void 0 === e.xmlElementName && (e.xmlElementName = r.get("xmlElementName")), N()(e.data).find(e.xmlElementName).each(function() {
                    t.push(this)
                }), t
            }
            this.init = function(e) {
                var t = [],
                    n = {};
                return n.data = r.get("listLocation")(e), n.getValue = r.get("getValue"), n.maxListSize = r.get("list").maxNumberOfElements, t.push(n), t
            }, this.updateCategories = function(e, t) {
                if (r.get("categoriesAssigned")) {
                    e = [];
                    for (var n = 0; n < r.get("categories").length; n += 1) {
                        var i = a(r.get("categories")[n], t);
                        e.push(i)
                    }
                }
                return e
            }, this.convertXml = function(e) {
                if ("XML" === r.get("dataType").toUpperCase())
                    for (var t = 0; t < e.length; t += 1) e[t].data = n(e[t]);
                return e
            }, this.processData = function(e, t) {
                for (var n = 0, i = e.length; n < i; n += 1) e[n].data = o(r, e[n], t);
                return e
            }, this.checkIfDataExists = function(e) {
                for (var t = 0, n = e.length; t < n; t += 1)
                    if (void 0 !== e[t].data && e[t].data instanceof Array && 0 < e[t].data.length) return !0;
                return !1
            }
        }, e
    }((a = function(e) {
        return e.Constans = function() {
            var t = {
                CONTAINER_CLASS: "easy-autocomplete-container",
                CONTAINER_ID: "eac-container-",
                WRAPPER_CSS_CLASS: "easy-autocomplete"
            };
            this.getValue = function(e) {
                return t[e]
            }
        }, e
    }((a = function(e) {
        return e.Logger = function() {
            this.error = function(e) {
                console.log("ERROR: " + e)
            }, this.warning = function(e) {
                console.log("WARNING: " + e)
            }
        }, e
    }((a = function(e) {
        return e.Configuration = function(o) {
            var a = {
                    data: "list-required",
                    url: "list-required",
                    dataType: "json",
                    listLocation: function(e) {
                        return e
                    },
                    xmlElementName: "",
                    getValue: function(e) {
                        return e
                    },
                    autocompleteOff: !0,
                    placeholder: !1,
                    ajaxCallback: function() {},
                    matchResponseProperty: !1,
                    list: {
                        sort: {
                            enabled: !1,
                            method: function(e, t) {
                                return (e = a.getValue(e)) < (t = a.getValue(t)) ? -1 : t < e ? 1 : 0
                            }
                        },
                        maxNumberOfElements: 6,
                        hideOnEmptyPhrase: !0,
                        match: {
                            enabled: !1,
                            caseSensitive: !1,
                            method: function(e, t) {
                                return -1 < e.search(t)
                            }
                        },
                        showAnimation: {
                            type: "normal",
                            time: 400,
                            callback: function() {}
                        },
                        hideAnimation: {
                            type: "normal",
                            time: 400,
                            callback: function() {}
                        },
                        onClickEvent: function() {},
                        onSelectItemEvent: function() {},
                        onLoadEvent: function() {},
                        onChooseEvent: function() {},
                        onKeyEnterEvent: function() {},
                        onMouseOverEvent: function() {},
                        onMouseOutEvent: function() {},
                        onShowListEvent: function() {},
                        onHideListEvent: function() {}
                    },
                    highlightPhrase: !0,
                    theme: "",
                    cssClasses: "",
                    minCharNumber: 0,
                    requestDelay: 0,
                    adjustWidth: !0,
                    ajaxSettings: {},
                    preparePostData: function(e, t) {
                        return e
                    },
                    loggerEnabled: !0,
                    template: "",
                    categoriesAssigned: !1,
                    categories: [{
                        maxNumberOfElements: 4
                    }]
                },
                s = ["ajaxSettings", "template"];

            function n(r, e) {
                ! function e(t, n) {
                    for (var i in n) void 0 === t[i] && r.log("Property '" + i + "' does not exist in EasyAutocomplete options API."), "object" === l(t[i]) && -1 === N.a.inArray(i, s) && e(t[i], n[i])
                }(a, e)
            }
            this.get = function(e) {
                    return a[e]
                }, this.equals = function(e, t) {
                    return !(! function(e) {
                        return void 0 !== a[e] && null !== a[e]
                    }(e) || a[e] !== t)
                }, this.checkDataUrlProperties = function() {
                    return "list-required" !== a.url || "list-required" !== a.data
                }, this.checkRequiredProperties = function() {
                    for (var e in a)
                        if ("required" === a[e]) return logger.error("Option " + e + " must be defined"), !1;
                    return !0
                }, this.printPropertiesThatDoesntExist = function(e, t) {
                    n(e, t)
                },
                function() {
                    "xml" === o.dataType && (o.getValue || (o.getValue = function(e) {
                        return N()(e).text()
                    }), o.list || (o.list = {}), o.list.sort || (o.list.sort = {}), o.list.sort.method = function(e, t) {
                        return e = o.getValue(e), t = o.getValue(t), e < t ? -1 : t < e ? 1 : 0
                    }, o.list.match || (o.list.match = {}), o.list.match.method = function(e, t) {
                        return -1 < e.search(t)
                    });
                    if (void 0 !== o.categories && o.categories instanceof Array) {
                        for (var e = [], t = 0, n = o.categories.length; t < n; t += 1) {
                            var i = o.categories[t];
                            for (var r in a.categories[0]) void 0 === i[r] && (i[r] = a.categories[0][r]);
                            e.push(i)
                        }
                        o.categories = e
                    }
                }(),
                function() {
                    a = function e(t, n) {
                        var i = t || {};
                        for (var r in t) void 0 !== n[r] && null !== n[r] && ("object" !== l(n[r]) || n[r] instanceof Array ? i[r] = n[r] : e(t[r], n[r]));
                        void 0 !== n.data && null !== n.data && "object" === l(n.data) && (i.data = n.data);
                        return i
                    }(a, o)
                }(), !0 === a.loggerEnabled && n(console, o),
                function() {
                    void 0 !== o.ajaxSettings && "object" === l(o.ajaxSettings) ? a.ajaxSettings = o.ajaxSettings : a.ajaxSettings = {}
                }(),
                function() {
                    if ("list-required" !== a.url && "function" != typeof a.url) {
                        var e = a.url;
                        a.url = function() {
                            return e
                        }
                    }
                    if (void 0 !== a.ajaxSettings.url && "function" != typeof a.ajaxSettings.url) {
                        var e = a.ajaxSettings.url;
                        a.ajaxSettings.url = function() {
                            return e
                        }
                    }
                    if ("string" == typeof a.listLocation) {
                        var t = a.listLocation;
                        "XML" === a.dataType.toUpperCase() ? a.listLocation = function(e) {
                            return N()(e).find(t)
                        } : a.listLocation = function(e) {
                            return e[t]
                        }
                    }
                    if ("string" == typeof a.getValue) {
                        var n = a.getValue;
                        a.getValue = function(e) {
                            return e[n]
                        }
                    }
                    void 0 !== o.categories && (a.categoriesAssigned = !0)
                }()
        }, e
    }(a || {})) || {})) || {})) || {})) || {})) || {})) || {});
    ! function(i) {
        i.fn.easyAutocomplete = function(n) {
            return this.each(function() {
                var e = i(this),
                    t = new a.main(e, n);
                a.inputHasId(e) || a.assignRandomId(e), t.init(), a.setHandle(t, e.attr("id"))
            })
        }, i.fn.getSelectedItemIndex = function() {
            var e = i(this).attr("id");
            return void 0 !== e ? a.getHandle(e).getSelectedItemIndex() : -1
        }, i.fn.getItems = function() {
            var e = i(this).attr("id");
            return void 0 !== e ? a.getHandle(e).getItems() : -1
        }, i.fn.getItemData = function(e) {
            var t = i(this).attr("id");
            return void 0 !== t && -1 < e ? a.getHandle(t).getItemData(e) : -1
        }, i.fn.getSelectedItemData = function() {
            var e = i(this).attr("id");
            return void 0 !== e ? a.getHandle(e).getSelectedItemData() : -1
        }
    }(N.a);




    var s = function(e, t) {
        e.forEach(function(e) {
            N()(e).easyAutocomplete(function(e) {
                return {
                    data: JSON.parse(window.localStorage.getItem(e)),
                    list: {
                        match: {
                            enabled: !0
                        }
                    }
                }
            }(t))
        })
    };



    /*
    ! function(o) {
        var r = "dmUploader",
            n = 0,
            a = 1,
            t = 2,
            i = 3,
            s = 4,
            l = {
                auto: !0,
                queue: !0,
                dnd: !0,
                hookDocument: !0,
                multiple: !0,
                url: document.URL,
                method: "POST",
                extraData: {},
                headers: {},
                dataType: null,
                fieldName: "files",
                maxFileSize: 0,
                allowedTypes: "*",
                extFilter: null,
                onInit: function() {},
                onComplete: function() {},
                onFallbackMode: function() {},
                onNewFile: function() {},
                onBeforeUpload: function() {},
                onUploadProgress: function() {},
                onUploadSuccess: function() {},
                onUploadCanceled: function() {},
                onUploadError: function() {},
                onUploadComplete: function() {},
                onFileTypeError: function() {},
                onFileSizeError: function() {},
                onFileExtError: function() {},
                onDragEnter: function() {},
                onDragLeave: function() {},
                onDocumentDragEnter: function() {},
                onDocumentDragLeave: function() {}
            },
            u = function(e, t) {
                this.data = e, this.widget = t, this.jqXHR = null, this.status = n, this.id = Math.random().toString(36).substr(2)
            };
        u.prototype.upload = function() {
            var i = this;
            if (!i.canUpload()) return i.widget.queueRunning && i.status !== a && i.widget.processQueue(), !1;
            var n = new FormData;
            n.append(i.widget.settings.fieldName, i.data);
            var e = i.widget.settings.extraData;
            return "function" == typeof e && (e = e.call(i.widget.element, i.id)), o.each(e, function(e, t) {
                n.append(e, t)
            }), i.status = a, i.widget.activeFiles++, i.widget.settings.onBeforeUpload.call(i.widget.element, i.id), i.jqXHR = o.ajax({
                url: i.widget.settings.url,
                type: i.widget.settings.method,
                dataType: i.widget.settings.dataType,
                data: n,
                headers: i.widget.settings.headers,
                cache: !1,
                contentType: !1,
                processData: !1,
                forceSync: !1,
                xhr: function() {
                    return i.getXhr()
                },
                success: function(e) {
                    i.onSuccess(e)
                },
                error: function(e, t, n) {
                    i.onError(e, t, n)
                },
                complete: function() {
                    i.onComplete()
                }
            }), !0
        }, u.prototype.onSuccess = function(e) {
            this.status = t, this.widget.settings.onUploadSuccess.call(this.widget.element, this.id, e)
        }, u.prototype.onError = function(e, t, n) {
            this.status !== s && (this.status = i, this.widget.settings.onUploadError.call(this.widget.element, this.id, e, t, n))
        }, u.prototype.onComplete = function() {
            this.widget.activeFiles--, this.status !== s && this.widget.settings.onUploadComplete.call(this.widget.element, this.id), this.widget.queueRunning ? this.widget.processQueue() : this.widget.settings.queue && 0 === this.widget.activeFiles && this.widget.settings.onComplete.call(this.element)
        }, u.prototype.getXhr = function() {
            var r = this,
                e = o.ajaxSettings.xhr();
            return e.upload && e.upload.addEventListener("progress", function(e) {
                var t = 0,
                    n = e.loaded || e.position,
                    i = e.total || e.totalSize;
                e.lengthComputable && (t = Math.ceil(n / i * 100)), r.widget.settings.onUploadProgress.call(r.widget.element, r.id, t)
            }, !1), e
        }, u.prototype.cancel = function(e) {
            e = void 0 !== e && e;
            var t = this.status;
            return !!(t === a || e && t === n) && (this.status = s, this.widget.settings.onUploadCanceled.call(this.widget.element, this.id), t === a && this.jqXHR.abort(), !0)
        }, u.prototype.canUpload = function() {
            return this.status === n || this.status === i
        };
        var c = function(e, t) {
            return this.element = o(e), this.settings = o.extend({}, l, t), this.checkSupport() ? (this.init(), this) : (o.error("Browser not supported by jQuery.dmUploader"), this.settings.onFallbackMode.call(this.element), !1)
        };
        c.prototype.checkSupport = function() {
            return void 0 !== window.FormData && (!new RegExp("/(Android (1.0|1.1|1.5|1.6|2.0|2.1))|(Windows Phone (OS 7|8.0))|(XBLWP)|(ZuneWP)|(w(eb)?OSBrowser)|(webOS)|(Kindle/(1.0|2.0|2.5|3.0))/").test(window.navigator.userAgent) && !o('<input type="files" />').prop("disabled"))
        }, c.prototype.init = function() {
            var n = this;
            this.queue = [], this.queuePos = -1, this.queueRunning = !1, this.activeFiles = 0, this.draggingOver = 0, this.draggingOverDoc = 0;
            var e = n.element.is("input[type=files]") ? n.element : n.element.find("input[type=files]");
            return 0 < e.length && (e.prop("multiple", this.settings.multiple), e.on("change." + r, function(e) {
                var t = e.target && e.target.files;
                t && t.length && (n.addFiles(t), o(this).val(""))
            })), this.settings.dnd && this.initDnD(), 0 !== e.length || this.settings.dnd ? (this.settings.onInit.call(this.element), this) : (o.error("Markup error found by jQuery.dmUploader"), null)
        }, c.prototype.initDnD = function() {
            var i = this;
            i.element.on("drop." + r, function(e) {
                e.preventDefault(), 0 < i.draggingOver && (i.draggingOver = 0, i.settings.onDragLeave.call(i.element));
                var t = e.originalEvent && e.originalEvent.dataTransfer;
                if (t && t.files && t.files.length) {
                    var n = [];
                    i.settings.multiple ? n = t.files : n.push(t.files[0]), i.addFiles(n)
                }
            }), i.element.on("dragenter." + r, function(e) {
                e.preventDefault(), 0 === i.draggingOver && i.settings.onDragEnter.call(i.element), i.draggingOver++
            }), i.element.on("dragleave." + r, function(e) {
                e.preventDefault(), i.draggingOver--, 0 === i.draggingOver && i.settings.onDragLeave.call(i.element)
            }), i.settings.hookDocument && (o(document).off("drop." + r).on("drop." + r, function(e) {
                e.preventDefault(), 0 < i.draggingOverDoc && (i.draggingOverDoc = 0, i.settings.onDocumentDragLeave.call(i.element))
            }), o(document).off("dragenter." + r).on("dragenter." + r, function(e) {
                e.preventDefault(), 0 === i.draggingOverDoc && i.settings.onDocumentDragEnter.call(i.element), i.draggingOverDoc++
            }), o(document).off("dragleave." + r).on("dragleave." + r, function(e) {
                e.preventDefault(), i.draggingOverDoc--, 0 === i.draggingOverDoc && i.settings.onDocumentDragLeave.call(i.element)
            }), o(document).off("dragover." + r).on("dragover." + r, function(e) {
                e.preventDefault()
            }))
        }, c.prototype.releaseEvents = function() {
            this.element.off("." + r), this.element.find("input[type=file]").off("." + r), this.settings.hookDocument && o(document).off("." + r)
        }, c.prototype.validateFile = function(e) {
            if (0 < this.settings.maxFileSize && e.size > this.settings.maxFileSize) return this.settings.onFileSizeError.call(this.element, e), !1;
            if ("*" !== this.settings.allowedTypes && !e.type.match(this.settings.allowedTypes)) return this.settings.onFileTypeError.call(this.element, e), !1;
            if (null !== this.settings.extFilter) {
                var t = e.name.toLowerCase().split(".").pop();
                if (o.inArray(t, this.settings.extFilter) < 0) return this.settings.onFileExtError.call(this.element, e), !1
            }
            return new u(e, this)
        }, c.prototype.addFiles = function(e) {
            for (var t = 0, n = 0; n < e.length; n++) {
                var i = this.validateFile(e[n]);
                if (i) !1 !== this.settings.onNewFile.call(this.element, i.id, i.data) && (this.settings.auto && !this.settings.queue && i.upload(), this.queue.push(i), t++)
            }
            return 0 === t || this.settings.auto && this.settings.queue && !this.queueRunning && this.processQueue(), this
        }, c.prototype.processQueue = function() {
            return this.queuePos++, this.queuePos >= this.queue.length ? (0 === this.activeFiles && this.settings.onComplete.call(this.element), this.queuePos = this.queue.length - 1, this.queueRunning = !1) : (this.queueRunning = !0, this.queue[this.queuePos].upload())
        }, c.prototype.restartQueue = function() {
            this.queuePos = -1, this.queueRunning = !1, this.processQueue()
        }, c.prototype.findById = function(e) {
            for (var t = !1, n = 0; n < this.queue.length; n++)
                if (this.queue[n].id === e) {
                    t = this.queue[n];
                    break
                }
            return t
        }, c.prototype.cancelAll = function() {
            var e = this.queueRunning;
            this.queueRunning = !1;
            for (var t = 0; t < this.queue.length; t++) this.queue[t].cancel();
            e && this.settings.onComplete.call(this.element)
        }, c.prototype.startAll = function() {
            if (this.settings.queue) this.restartQueue();
            else
                for (var e = 0; e < this.queue.length; e++) this.queue[e].upload()
        }, c.prototype.methods = {
            start: function(e) {
                if (this.queueRunning) return !1;
                var t = !1;
                return void 0 === e || (t = this.findById(e)) ? t ? (t.status === s && (t.status = n), t.upload()) : (this.startAll(), !0) : (o.error("File not found in jQuery.dmUploader"), !1)
            },
            cancel: function(e) {
                var t = !1;
                return void 0 === e || (t = this.findById(e)) ? t ? t.cancel(!0) : (this.cancelAll(), !0) : (o.error("File not found in jQuery.dmUploader"), !1)
            },
            reset: function() {
                return this.cancelAll(), this.queue = [], this.queuePos = -1, !(this.activeFiles = 0)
            },
            destroy: function() {
                this.cancelAll(), this.releaseEvents(), this.element.removeData(r)
            }
        }, o.fn.dmUploader = function(t) {
            var n = arguments;
            if ("string" != typeof t) return this.each(function() {
                o.data(this, r) || o.data(this, r, new c(this, t))
            });
            this.each(function() {
                var e = o.data(this, r);
                e instanceof c ? "function" == typeof e.methods[t] ? e.methods[t].apply(e, Array.prototype.slice.call(n, 1)) : o.error("Method " + t + " does not exist in jQuery.dmUploader") : o.error("Unknown plugin data found by jQuery.dmUploader")
            })
        }
    }(N.a);




*/



   
    N()(document).ready(function() {
        ! function(e) {
            if (e) {
                var t = (new Date).getHours(),
                    n = Math.ceil(t / 2) - 1,
                    i = t % 2 == 0,
                    r = e.querySelectorAll("option"),
                    o = 0 < n ? i ? n + 1 : n : r.length - 1;
                Array.prototype.forEach.call(r, function(e, t) {
                    t === o && (e.selected = "selected")
                })
            }
        }(document.getElementById("timepicker")), s(["#Subject_Name"], "orderSubjectList"),
            function() {
                var s = window.location.protocol + "//" + window.location.hostname;

                function O(e) {
                    return /(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))/.test(e)
                }

                function n(e, t, n) {
                    N()(e).html('<div class="progress file-progress"><div class="progress-bar bg-success progress-bar-striped progress-bar-animated" role="progressbar" style="width: ' + n + '" aria-valuenow="' + t + '" aria-valuemin="0" aria-valuemax="100"></div></div>')
                }

                function i(e, t, n, i) {
                    if (20 < n.name.replace(/[^a-zA-Z0-9.-]+/g, "").length) var r = n.name.replace(/[^a-zA-Z0-9.-]+/g, "").substring(0, 14) + "...";
                    else r = n.name.replace(/[^a-zA-Z0-9.-]+/g, "");
                    var o = '<li data-remove="0" class=""  id="demo-file' + t + '"><span class="demo-file-id"></span>' + r + '<a data-id="' + t + '" href="javascript:;" onclick="deleteFileAjax(this,\'/Home/ajax/file-delete.php\',\'Type=' + i + "&File=" + n.name.replace(/[^a-zA-Z0-9.-]+/g, "") + '\',\'\');" title="Remove" class="link file-close-btn"><img width="16" src="' + s + '/assets/img/order-form/delete-icon.svg"></a></li>';
                    N()(e).prepend(o)
                }

                function t(e) {
                    setTimeout('$("#demo-files2-error").hide()', 3e3), N()(e).css("display", "block")
                }

                function I(e) {
                    return e.replace(/<[^>]+>/g, "")
                }
                N()(document).ready(function() {
                    N()(document).on("keyup change", ".input-error", function() {
                        N()(this).removeClass("input-error")
                    })
                }),/* N()("#drag-and-drop-zone").dmUploader({
                    url: s + "/Home/files-upload.php?Type=orders",
                    maxFiles: 30,
                    extFilter: ["png", "gif", "jpg", "jpeg", "tif", "ai", "cdr", "pdf", "psd", "doc", "docx", "xls", "xlsx", "ppt", "pptx", "rtf", "txt", "zip", "odt", "csv"],
                    dataType: "json",
                    extraData: {
                        Type: JSON.stringify("orders")
                    },
                    onNewFile: function(e, t) {
                        i("#demo-files", e, t, "orders")
                    },
                    onComplete: function() {
                        N()("#btnstep2").prop("disabled", !1), N()("#demo-files2-error").html(""), N()("#fileprogressImage").html(""), N()("#desc-error1").html(" "), N()("ul#demo-files li").attr("data-remove", 1)
                    },
                    onUploadProgress: function(e, t) {
                        n("#fileprogressImage", t, t + "%"), N()("#btnstep2").prop("disabled", !0)
                    },
                    onFileTypeError: function(e) {
                        N()("#demo-files2-error").html(e.name + " cannot be added: file type is wrong"), t("#demo-files2-error")
                    },
                    onFileSizeError: function(e) {
                        N()("#demo-files2-error").html(e.name + " cannot be added: size excess limit"), t("#demo-files2-error")
                    },
                    onFileExtError: function(e) {
                        N()("#demo-files2-error").html(e.name + " cannot be added: file extension is wrong"), t("#demo-files2-error")
                    }
                }),*/ window.checkvalidation1 = function() {
                    var e = 0,
                        t = "",
                        n = 0,
                        i = N()("#Subject_Name"),
                        r = N()("#drag-and-drop-zone"),
                        o = N()("#Reference_Style_Id"),
                        a = N()("#Work_Level"),
                        s = N()("#datetimepicker"),
                        l = N()("#Pages"),
                        u = N()("#Phone"),
                        c = N()("#Call_Back_Time_Slot"),
                        f = i.val().trim(),
                        d = o.val(),
                        h = a.val(),
                        p = s.val(),
                        g = l.val(),
                        m = u.val(),
                        v = c.val();
                    N()(".input-error").hasClass("input-error") && N()(".input-error").removeClass("input-error animated shake"), i.removeClass("input-error animated shake"), ("" == f || O(f) || 20 < f.replace(/[^0-9]/g, "").length) && (t = e ? t : "Please enter valid subject name!", i.addClass("input-error animated shake"), setTimeout(function() {
                        i.removeClass("animated shake")
                    }, 5e3), n = e = 1), i.val(I(i.val())), s.removeClass("input-error animated shake"), "" == p && (t = e ? t : "Please select a valid Date!", s.addClass("input-error animated shake"), setTimeout(function() {
                        s.removeClass("animated shake")
                    }, 5e3), e = n = 1);
                    var y = N()("#timepicker-second"),
                        b = N()("#datetimepicker"),
                        _ = b.val(),
                        E = y.val(),
                        T = new Date,
                        w = T.getMonth() + 1,
                        C = T.getDate();
                    if ((C < 10 ? "0" : "") + C + "/" + (w < 10 ? "0" : "") + w + "/" + T.getFullYear() == _) {
                        var D = T.getHours(),
                            x = E.split(":");
                        if ("12" != x[0] && "00 PM" == x[1] || "59 PM" == x[1]) var S = parseInt(x[0]) + 12;
                        else S = parseInt(x[0]);
                        S <= D && (t = e ? t : "Please select a valid Date and Time!", n = e = 1, b.addClass("input-error animated shake"), setTimeout(function() {
                            b.removeClass("animated shake")
                        }, 5e3))
                    }
                    if (l.removeClass("input-error animated shake"), ("" == g || g <= 0) && (t = e ? t : "Please enter no. of pages/words!", l.addClass("input-error animated shake"), setTimeout(function() {
                            l.removeClass("animated shake")
                        }, 5e3), n = e = 1), a.removeClass("input-error animated shake"), ("" == h || a.val() <= 0) && (t = e ? t : "Please select study level!", a.addClass("input-error animated shake"), setTimeout(function() {
                            a.removeClass("animated shake")
                        }, 5e3), e = 1), o.removeClass("input-error animated shake"), "" == d && (t = e ? t : "Please select a Reference Style!", o.addClass("input-error animated shake"), setTimeout(function() {
                            o.removeClass("animated shake")
                        }, 5e3), e = 1), r.removeClass("input-error animated shake"), "" == N()("#Details").val().trim() && N()("ul#demo-files li").length < 1 && (t = e ? t : "Please enter Assignment description or Attach file!", r.addClass("input-error animated shake"), setTimeout(function() {
                            r.removeClass("animated shake")
                        }, 5e3), e = 1), N()("#PhoneError").removeClass("input-error animated shake"), "" != m) {
                        var A = m.replace(/[^\d]/g, "");
                        5 <= A.length && A.length <= 11 && /[0-9]/.test(A) ? N()("#PhoneError").removeClass("input-error animated shake") : (t = e ? t : "Please enter valid phone number!", e = 1, N()("#PhoneError").addClass("input-error animated shake"), setTimeout(function() {
                            N()("#PhoneError").removeClass("animated shake")
                        }, 5e3))
                    }
                    return c.removeClass("input-error animated shake"), "" != m && "" == v && (t = e ? t : "Please select callback time!", e = 1, c.addClass("input-error animated shake"), setTimeout(function() {
                        c.removeClass("animated shake")
                    }, 5e3)), null != N()("#errorValueBox") && N()("#errorValueBox").remove(), 0 < n ? N()("#scnd-from").collapse("show") : N()("#scnd-from").collapse("hide"), 0 < e ? (N()("#btnstep2").before('<div id="errorValueBox" class="col-md-12 text-danger" style="padding: 2% 4% 2% 4%;">' + t + "</div>"), N()("html,body").animate({
                        scrollTop: N()(".input-error").offset().top - 50
                    }, "slow"), !1) : (N()("#btnstep2").hide().next().show(), !0)
                }, window.stepvalidation = function(e) {
                    if (null != N()("#errorValueBox") && N()("#errorValueBox").remove(), 2 == e) {
                        var t = N()("#Subject_Name");
                        t.val(I(t.val()));
                        var n = t.val();
                        t.removeClass("input-error"), ("" == n || O(n) || 20 < n.replace(/[^0-9]/g, "").length) && t.addClass("input-error")
                    }
                    if (1 == e) {
                        var i = N()("#Email"),
                            r = i.val().trim();
                        i.removeClass("input-error"), "" == r && i.addClass("input-error")
                    }
                    if (3 == e) {
                        var o = N()("#Due_Date"),
                            a = o.val();
                        o.removeClass("input-error"), "" == a && o.addClass("input-error")
                    }
                }, window.emailValidation = function() {
                    var e = N()("#Email").val();
                    "" != (e = e.trim()) && function(e) {
                        return /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e)
                    }(e) ? N()("#email-error").html(" "): (N()(".email-check").addClass("hide"), N()("#Email").addClass("input-error"), setTimeout(function() {
                        N()("#Email").removeClass("animated shake")
                    }, 5e3))
                }, window.stripHtml = I, window.step2validation = function(e) {
                    if (null != N()("#errorValueBox") && N()("#errorValueBox").remove(), 2 == e) {
                        var t = N()("#Subject_Name");
                        t.val(I(t.val()));
                        var n = t.val();
                        t.removeClass("input-error animated shake"), ("" == n || O(n) || 20 < n.replace(/[^0-9]/g, "").length) && (t.addClass("input-error animated shake"), setTimeout(function() {
                            t.removeClass("animated shake")
                        }, 5e3))
                    }
                    if (6 == e) {
                        var i = N()("#Due_Date"),
                            r = i.val();
                        i.removeClass("input-error animated shake"), "" == r && (i.addClass("input-error animated shake"), setTimeout(function() {
                            i.removeClass("animated shake")
                        }, 5e3))
                    }
                    if (1 == e) {
                        var o = N()("#Details").val();
                        N()("#drag-and-drop-zone").removeClass("input-error animated shake"), "" == o.trim() && N()("ul#demo-files li").length < 1 && (N()("#drag-and-drop-zone").addClass("input-error animated shake"), setTimeout(function() {
                            N()("#drag-and-drop-zone").removeClass("animated shake")
                        }, 5e3))
                    }
                    if (4 == e) {
                        var a = N()("#Work_Level"),
                            s = a.val();
                        a.removeClass("input-error"), s <= 0 && (a.addClass("input-error"), error = 1)
                    }
                    if (5 == e) {
                        var l = N()("#Reference_Style_Id"),
                            u = l.val();
                        l.removeClass("input-error"), "" == u && l.addClass("input-error")
                    }
                    if (8 == e) {
                        var c = N()("#Call_Back_Time_Slot");
                        "" == c.val() && c.addClass("input-error")
                    }
                    if (3 == e) {
                        var f = N()("#Phone").val().replace(/[^\d]/g, "");
                        return 4 <= f.length && f.length <= 11 && /[0-9]/.test(f) ? (N()("#PhoneError").removeClass("input-error"), !0) : (N()("#PhoneError").addClass("input-error"), !1)
                    }
                }, window.file_new_add_progress_bar = n, window.new_add_file = i, window.error_message_hide = t, window.deleteFileAjax = function(t, e, n) {
                    var i = t.getAttribute("data-id").trim();
                    if (null != document.getElementById("demo-file" + i) && 0 < parseInt(document.getElementById("demo-file" + i).getAttribute("data-remove").trim())) {
                        var r = n.split("&"),
                            o = "",
                            a = {};
                        N.a.each(r, function(e, t) {
                            var n = t.split("=");
                            o = n[0], a[o] = n[1]
                        }), N.a.ajax({
                            type: "POST",
                            url: s + e,
                            data: a,
                            success: function(e) {
                                return console.log(e), N()(t).parent().remove(), !0
                            }
                        })
                    }
                }, window.isNumberAllowed = function(e) {
                    var t = e.which ? e.which : e.keyCode;
                    return !(46 != t && 31 < t && (t < 48 || 57 < t))
                }, window.wordOrPageCounter = function(e, t, n) {
                    e && (document.getElementById("wordConverter").value = e);
                    var i = N()(".order_pages"),
                        r = N()("#wordsCount"),
                        o = N()("#Pages");
                    if (parseFloat(i.val().trim()) <= 0 || isNaN(i.val().trim()) || "" == i.val().trim()) i.val(1 < e ? e : 1), N()("#Pages").val(1), r.val(250);
                    else if (250 == e) {
                        var a = Math.floor(parseFloat(o.val().trim()) * e);
                        a != parseInt(r.val()) ? (i.val(a), N()("#wordsCount").val(a)) : i.val(r.val())
                    } else i.val(Math.ceil(parseFloat(i.val().trim()) * e));
                    N()(t).prop("disabled", !0), N()("#" + n).prop("disabled", !1)
                }, window.wordsPageCount = function(e) {
                    250 == parseInt(document.getElementById("wordConverter").value) && N()("#wordsCount").val(N()(e).val())
                }
            }();
        var e = document.querySelectorAll(".datePicker");
        Array.prototype.forEach.call(e, function(e) {
            e.DatePickerX.init({
                mondayFirst: !0,
                format: "dd/mm/yyyy",
                minDate: new Date,
                maxDate: new Date(9999, 11, 31),
                weekDayLabels: ["Mo", "Tu", "We", "Th", "Fr", "St", "Su"],
                shortMonthLabels: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
                singleMonthLabels: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
                todayButton: !1,
                todayButtonLabel: "Today",
                clearButton: !1,
                clearButtonLabel: "Clear"
            })
        }), new o.a
    }), window.$ = N.a
}]);